aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobody <nobody@localhost>2005-03-16 18:13:16 +0800
committernobody <nobody@localhost>2005-03-16 18:13:16 +0800
commit31c890fe8cb7144b0a0351b9dc88c2ef94d74d5a (patch)
tree7e078e8c418146da288be01904d894b16faa691f
parent2f16f0202e677bd85e8362f450552b21966b317c (diff)
downloadgsoc2013-evolution-EVOLUTION_2_2_1.tar
gsoc2013-evolution-EVOLUTION_2_2_1.tar.gz
gsoc2013-evolution-EVOLUTION_2_2_1.tar.bz2
gsoc2013-evolution-EVOLUTION_2_2_1.tar.lz
gsoc2013-evolution-EVOLUTION_2_2_1.tar.xz
gsoc2013-evolution-EVOLUTION_2_2_1.tar.zst
gsoc2013-evolution-EVOLUTION_2_2_1.zip
This commit was manufactured by cvs2svn to create tagEVOLUTION_2_2_1
'EVOLUTION_2_2_1'. svn path=/tags/EVOLUTION_2_2_1/; revision=29036
-rw-r--r--ChangeLog12
-rw-r--r--NEWS64
-rw-r--r--a11y/e-table/.cvsignore4
-rw-r--r--a11y/e-table/gal-a11y-e-cell-popup.c145
-rw-r--r--a11y/e-table/gal-a11y-e-cell-popup.h64
-rw-r--r--a11y/e-table/gal-a11y-e-cell-registry.c132
-rw-r--r--a11y/e-table/gal-a11y-e-cell-registry.h58
-rw-r--r--a11y/e-table/gal-a11y-e-cell-text.c721
-rw-r--r--a11y/e-table/gal-a11y-e-cell-text.h50
-rw-r--r--a11y/e-table/gal-a11y-e-cell-toggle.c169
-rw-r--r--a11y/e-table/gal-a11y-e-cell-toggle.h47
-rw-r--r--a11y/e-table/gal-a11y-e-cell-tree.c210
-rw-r--r--a11y/e-table/gal-a11y-e-cell-tree.h50
-rw-r--r--a11y/e-table/gal-a11y-e-cell-vbox.c214
-rw-r--r--a11y/e-table/gal-a11y-e-cell-vbox.h64
-rw-r--r--a11y/e-table/gal-a11y-e-cell.c628
-rw-r--r--a11y/e-table/gal-a11y-e-cell.h99
-rw-r--r--a11y/e-table/gal-a11y-e-table-click-to-add-factory.c88
-rw-r--r--a11y/e-table/gal-a11y-e-table-click-to-add-factory.h34
-rw-r--r--a11y/e-table/gal-a11y-e-table-click-to-add.c327
-rw-r--r--a11y/e-table/gal-a11y-e-table-click-to-add.h36
-rw-r--r--a11y/e-table/gal-a11y-e-table-factory.c83
-rw-r--r--a11y/e-table/gal-a11y-e-table-factory.h36
-rw-r--r--a11y/e-table/gal-a11y-e-table-item-factory.c87
-rw-r--r--a11y/e-table/gal-a11y-e-table-item-factory.h34
-rw-r--r--a11y/e-table/gal-a11y-e-table-item.c1310
-rw-r--r--a11y/e-table/gal-a11y-e-table-item.h44
-rw-r--r--a11y/e-table/gal-a11y-e-table.c293
-rw-r--r--a11y/e-table/gal-a11y-e-table.h45
-rw-r--r--a11y/e-table/gal-a11y-e-tree-factory.c81
-rw-r--r--a11y/e-table/gal-a11y-e-tree-factory.h34
-rw-r--r--a11y/e-table/gal-a11y-e-tree.c176
-rw-r--r--a11y/e-table/gal-a11y-e-tree.h43
-rw-r--r--a11y/e-text/.cvsignore4
-rw-r--r--a11y/e-text/gal-a11y-e-text-factory.c87
-rw-r--r--a11y/e-text/gal-a11y-e-text-factory.h36
-rw-r--r--a11y/e-text/gal-a11y-e-text.c1133
-rw-r--r--a11y/e-text/gal-a11y-e-text.h42
-rw-r--r--a11y/gal-a11y-factory.h94
-rw-r--r--a11y/gal-a11y-util.c31
-rw-r--r--a11y/gal-a11y-util.h21
-rw-r--r--addressbook/ChangeLog8
-rw-r--r--calendar/ChangeLog23
-rw-r--r--calendar/gui/calendar-component.c11
-rw-r--r--calendar/gui/e-calendar-view.c4
-rw-r--r--calendar/gui/e-day-view.c13
-rw-r--r--calendar/gui/gnome-cal.c2
-rw-r--r--calendar/gui/tasks-component.c11
-rw-r--r--configure.in12
-rw-r--r--doc/devel/executive-summary/evolution-services.hierarchy7
-rw-r--r--doc/devel/importer/evolution-shell-importer.hierarchy7
-rw-r--r--e-util/ChangeLog8
-rw-r--r--e-util/e-bit-array.c429
-rw-r--r--e-util/e-bit-array.h104
-rw-r--r--e-util/e-i18n.h74
-rw-r--r--e-util/e-iconv.c614
-rw-r--r--e-util/e-iconv.h49
-rw-r--r--e-util/e-marshal.list52
-rw-r--r--e-util/e-sorter-array.c259
-rw-r--r--e-util/e-sorter-array.h77
-rw-r--r--e-util/e-sorter.c153
-rw-r--r--e-util/e-sorter.h82
-rw-r--r--e-util/e-text-event-processor-emacs-like.c495
-rw-r--r--e-util/e-text-event-processor-emacs-like.h70
-rw-r--r--e-util/e-text-event-processor-types.h132
-rw-r--r--e-util/e-text-event-processor.c148
-rw-r--r--e-util/e-text-event-processor.h77
-rw-r--r--e-util/e-util.c1230
-rw-r--r--e-util/e-util.h231
-rw-r--r--e-util/e-xml-utils.c502
-rw-r--r--e-util/e-xml-utils.h101
-rw-r--r--help/devel/executive-summary/evolution-services.hierarchy7
-rw-r--r--help/devel/importer/evolution-shell-importer.hierarchy7
-rw-r--r--mail/ChangeLog7
-rw-r--r--po/ChangeLog100
-rw-r--r--po/bg.po321
-rw-r--r--po/cs.po600
-rw-r--r--po/da.po403
-rw-r--r--po/de.po788
-rw-r--r--po/en_CA.po442
-rw-r--r--po/en_GB.po9947
-rw-r--r--po/es.po1038
-rw-r--r--po/fi.po613
-rw-r--r--po/fr.po879
-rw-r--r--po/gu.po590
-rw-r--r--po/hu.po30
-rw-r--r--po/ja.po1255
-rw-r--r--po/ko.po796
-rw-r--r--po/lt.po928
-rw-r--r--po/nl.po2442
-rw-r--r--po/pa.po342
-rw-r--r--po/pl.po1131
-rw-r--r--po/pt.po594
-rw-r--r--po/pt_BR.po4
-rw-r--r--po/sq.po8987
-rw-r--r--po/sr.po1615
-rw-r--r--po/sr@Latn.po1615
-rw-r--r--po/sv.po206
-rw-r--r--po/tr.po421
-rw-r--r--po/vi.po265
-rw-r--r--shell/ChangeLog5
-rw-r--r--shell/main.c16
-rw-r--r--widgets/menus/gal-define-views-dialog.c379
-rw-r--r--widgets/menus/gal-define-views-dialog.h78
-rw-r--r--widgets/menus/gal-define-views-model.c322
-rw-r--r--widgets/menus/gal-define-views-model.h72
-rw-r--r--widgets/menus/gal-define-views.glade192
-rw-r--r--widgets/menus/gal-view-collection.c823
-rw-r--r--widgets/menus/gal-view-collection.h151
-rw-r--r--widgets/menus/gal-view-etable.c305
-rw-r--r--widgets/menus/gal-view-etable.h78
-rw-r--r--widgets/menus/gal-view-factory-etable.c120
-rw-r--r--widgets/menus/gal-view-factory-etable.h62
-rw-r--r--widgets/menus/gal-view-factory.c107
-rw-r--r--widgets/menus/gal-view-factory.h79
-rw-r--r--widgets/menus/gal-view-instance-save-as-dialog.c307
-rw-r--r--widgets/menus/gal-view-instance-save-as-dialog.glade260
-rw-r--r--widgets/menus/gal-view-instance-save-as-dialog.h89
-rw-r--r--widgets/menus/gal-view-instance.c599
-rw-r--r--widgets/menus/gal-view-instance.h116
-rw-r--r--widgets/menus/gal-view-new-dialog.c285
-rw-r--r--widgets/menus/gal-view-new-dialog.glade175
-rw-r--r--widgets/menus/gal-view-new-dialog.h86
-rw-r--r--widgets/menus/gal-view.c206
-rw-r--r--widgets/menus/gal-view.h98
-rw-r--r--widgets/misc/e-canvas-background.c496
-rw-r--r--widgets/misc/e-canvas-background.h71
-rw-r--r--widgets/misc/e-canvas-utils.c171
-rw-r--r--widgets/misc/e-canvas-utils.h55
-rw-r--r--widgets/misc/e-canvas-vbox.c381
-rw-r--r--widgets/misc/e-canvas-vbox.h93
-rw-r--r--widgets/misc/e-canvas.c1096
-rw-r--r--widgets/misc/e-canvas.h157
-rw-r--r--widgets/misc/e-colors.c103
-rw-r--r--widgets/misc/e-colors.h44
-rw-r--r--widgets/misc/e-cursors.c156
-rw-r--r--widgets/misc/e-cursors.h68
-rw-r--r--widgets/misc/e-gui-utils.c238
-rw-r--r--widgets/misc/e-gui-utils.h58
-rw-r--r--widgets/misc/e-hsv-utils.c178
-rw-r--r--widgets/misc/e-hsv-utils.h52
-rw-r--r--widgets/misc/e-popup-menu.c240
-rw-r--r--widgets/misc/e-popup-menu.h142
-rw-r--r--widgets/misc/e-printable.c209
-rw-r--r--widgets/misc/e-printable.h90
-rw-r--r--widgets/misc/e-reflow-model.c355
-rw-r--r--widgets/misc/e-reflow-model.h112
-rw-r--r--widgets/misc/e-reflow.c1509
-rw-r--r--widgets/misc/e-reflow.h146
-rw-r--r--widgets/misc/e-selection-model-array.c557
-rw-r--r--widgets/misc/e-selection-model-array.h96
-rw-r--r--widgets/misc/e-selection-model-simple.c115
-rw-r--r--widgets/misc/e-selection-model-simple.h70
-rw-r--r--widgets/misc/e-selection-model.c689
-rw-r--r--widgets/misc/e-selection-model.h170
-rw-r--r--widgets/misc/e-unicode.c2055
-rw-r--r--widgets/misc/e-unicode.h115
-rw-r--r--widgets/misc/gal-categories.glade173
-rw-r--r--widgets/misc/gal-combo-box.c834
-rw-r--r--widgets/misc/gal-combo-box.h91
-rw-r--r--widgets/misc/gal-combo-text.c433
-rw-r--r--widgets/misc/gal-combo-text.h76
-rw-r--r--widgets/misc/pixmaps/.cvsignore2
-rw-r--r--widgets/misc/pixmaps/cursor_cross.xpm38
-rw-r--r--widgets/misc/pixmaps/cursor_hand_closed.xpm38
-rw-r--r--widgets/misc/pixmaps/cursor_hand_open.xpm38
-rw-r--r--widgets/misc/pixmaps/cursor_zoom_in.xpm37
-rw-r--r--widgets/misc/pixmaps/cursor_zoom_out.xpm37
-rw-r--r--widgets/misc/test-color.c76
-rw-r--r--widgets/table/.cvsignore13
-rw-r--r--widgets/table/add-col.xpm22
-rw-r--r--widgets/table/arrow-down.xpm21
-rw-r--r--widgets/table/arrow-up.xpm21
-rw-r--r--widgets/table/check-empty.xpm21
-rw-r--r--widgets/table/check-filled.xpm21
-rw-r--r--widgets/table/clip.pngbin192 -> 0 bytes
-rw-r--r--widgets/table/e-cell-checkbox.c67
-rw-r--r--widgets/table/e-cell-checkbox.h50
-rw-r--r--widgets/table/e-cell-combo.c703
-rw-r--r--widgets/table/e-cell-combo.h63
-rw-r--r--widgets/table/e-cell-date.c166
-rw-r--r--widgets/table/e-cell-date.h49
-rw-r--r--widgets/table/e-cell-float.c93
-rw-r--r--widgets/table/e-cell-float.h53
-rw-r--r--widgets/table/e-cell-number.c85
-rw-r--r--widgets/table/e-cell-number.h49
-rw-r--r--widgets/table/e-cell-pixbuf.c417
-rw-r--r--widgets/table/e-cell-pixbuf.h53
-rw-r--r--widgets/table/e-cell-popup.c519
-rw-r--r--widgets/table/e-cell-popup.h101
-rw-r--r--widgets/table/e-cell-progress.c456
-rw-r--r--widgets/table/e-cell-progress.h74
-rw-r--r--widgets/table/e-cell-size.c110
-rw-r--r--widgets/table/e-cell-size.h49
-rw-r--r--widgets/table/e-cell-spin-button.c670
-rw-r--r--widgets/table/e-cell-spin-button.h103
-rw-r--r--widgets/table/e-cell-text.c2865
-rw-r--r--widgets/table/e-cell-text.h129
-rw-r--r--widgets/table/e-cell-toggle.c489
-rw-r--r--widgets/table/e-cell-toggle.h62
-rw-r--r--widgets/table/e-cell-tree.c911
-rw-r--r--widgets/table/e-cell-tree.h77
-rw-r--r--widgets/table/e-cell-vbox.c486
-rw-r--r--widgets/table/e-cell-vbox.h72
-rw-r--r--widgets/table/e-cell.c499
-rw-r--r--widgets/table/e-cell.h224
-rw-r--r--widgets/table/e-table-click-to-add.c601
-rw-r--r--widgets/table/e-table-click-to-add.h78
-rw-r--r--widgets/table/e-table-col-dnd.h39
-rw-r--r--widgets/table/e-table-col.c236
-rw-r--r--widgets/table/e-table-col.h101
-rw-r--r--widgets/table/e-table-column-specification.c150
-rw-r--r--widgets/table/e-table-column-specification.h73
-rw-r--r--widgets/table/e-table-column.c291
-rw-r--r--widgets/table/e-table-config-field.c300
-rw-r--r--widgets/table/e-table-config-field.h69
-rw-r--r--widgets/table/e-table-config-no-group.glade2114
-rw-r--r--widgets/table/e-table-config.c1225
-rw-r--r--widgets/table/e-table-config.glade2183
-rw-r--r--widgets/table/e-table-config.h115
-rw-r--r--widgets/table/e-table-defines.h45
-rw-r--r--widgets/table/e-table-example-1.c308
-rw-r--r--widgets/table/e-table-example-2.c349
-rw-r--r--widgets/table/e-table-extras.c292
-rw-r--r--widgets/table/e-table-extras.h82
-rw-r--r--widgets/table/e-table-field-chooser-dialog.c224
-rw-r--r--widgets/table/e-table-field-chooser-dialog.h79
-rw-r--r--widgets/table/e-table-field-chooser-item.c711
-rw-r--r--widgets/table/e-table-field-chooser-item.h75
-rw-r--r--widgets/table/e-table-field-chooser.c302
-rw-r--r--widgets/table/e-table-field-chooser.glade123
-rw-r--r--widgets/table/e-table-field-chooser.h79
-rw-r--r--widgets/table/e-table-group-container.c1503
-rw-r--r--widgets/table/e-table-group-container.h108
-rw-r--r--widgets/table/e-table-group-leaf.c686
-rw-r--r--widgets/table/e-table-group-leaf.h90
-rw-r--r--widgets/table/e-table-group.c712
-rw-r--r--widgets/table/e-table-group.h178
-rw-r--r--widgets/table/e-table-header-item.c1910
-rw-r--r--widgets/table/e-table-header-item.h119
-rw-r--r--widgets/table/e-table-header-utils.c480
-rw-r--r--widgets/table/e-table-header-utils.h55
-rw-r--r--widgets/table/e-table-header.c952
-rw-r--r--widgets/table/e-table-header.h120
-rw-r--r--widgets/table/e-table-item.c3735
-rw-r--r--widgets/table/e-table-item.h231
-rw-r--r--widgets/table/e-table-memory-callbacks.c208
-rw-r--r--widgets/table/e-table-memory-callbacks.h91
-rw-r--r--widgets/table/e-table-memory-store.c583
-rw-r--r--widgets/table/e-table-memory-store.h138
-rw-r--r--widgets/table/e-table-memory.c277
-rw-r--r--widgets/table/e-table-memory.h76
-rw-r--r--widgets/table/e-table-model.c616
-rw-r--r--widgets/table/e-table-model.h173
-rw-r--r--widgets/table/e-table-one.c241
-rw-r--r--widgets/table/e-table-one.h57
-rw-r--r--widgets/table/e-table-scrolled.c229
-rw-r--r--widgets/table/e-table-scrolled.h76
-rw-r--r--widgets/table/e-table-search.c223
-rw-r--r--widgets/table/e-table-search.h71
-rw-r--r--widgets/table/e-table-selection-model.c347
-rw-r--r--widgets/table/e-table-selection-model.h76
-rw-r--r--widgets/table/e-table-simple.c289
-rw-r--r--widgets/table/e-table-simple.h122
-rw-r--r--widgets/table/e-table-size-test.c307
-rw-r--r--widgets/table/e-table-sort-info.c481
-rw-r--r--widgets/table/e-table-sort-info.h107
-rw-r--r--widgets/table/e-table-sorted-variable.c230
-rw-r--r--widgets/table/e-table-sorted-variable.h65
-rw-r--r--widgets/table/e-table-sorted.c310
-rw-r--r--widgets/table/e-table-sorted.h65
-rw-r--r--widgets/table/e-table-sorter.c462
-rw-r--r--widgets/table/e-table-sorter.h74
-rw-r--r--widgets/table/e-table-sorting-utils.c349
-rw-r--r--widgets/table/e-table-sorting-utils.h83
-rw-r--r--widgets/table/e-table-specification.c432
-rw-r--r--widgets/table/e-table-specification.h89
-rw-r--r--widgets/table/e-table-state.c299
-rw-r--r--widgets/table/e-table-state.h74
-rw-r--r--widgets/table/e-table-subset-variable.c250
-rw-r--r--widgets/table/e-table-subset-variable.h82
-rw-r--r--widgets/table/e-table-subset.c482
-rw-r--r--widgets/table/e-table-subset.h89
-rw-r--r--widgets/table/e-table-tooltip.h44
-rw-r--r--widgets/table/e-table-tree.h48
-rw-r--r--widgets/table/e-table-utils.c191
-rw-r--r--widgets/table/e-table-utils.h49
-rw-r--r--widgets/table/e-table-without.c392
-rw-r--r--widgets/table/e-table-without.h91
-rw-r--r--widgets/table/e-table.c3349
-rw-r--r--widgets/table/e-table.diabin4514 -> 0 bytes
-rw-r--r--widgets/table/e-table.h358
-rw-r--r--widgets/table/e-tree-memory-callbacks.c275
-rw-r--r--widgets/table/e-tree-memory-callbacks.h119
-rw-r--r--widgets/table/e-tree-memory.c717
-rw-r--r--widgets/table/e-tree-memory.h101
-rw-r--r--widgets/table/e-tree-model.c1098
-rw-r--r--widgets/table/e-tree-model.h227
-rw-r--r--widgets/table/e-tree-scrolled.c228
-rw-r--r--widgets/table/e-tree-scrolled.h75
-rw-r--r--widgets/table/e-tree-selection-model.c816
-rw-r--r--widgets/table/e-tree-selection-model.h79
-rw-r--r--widgets/table/e-tree-simple.c208
-rw-r--r--widgets/table/e-tree-simple.h85
-rw-r--r--widgets/table/e-tree-sorted-variable.c477
-rw-r--r--widgets/table/e-tree-sorted-variable.h85
-rw-r--r--widgets/table/e-tree-sorted.c1390
-rw-r--r--widgets/table/e-tree-sorted.h86
-rw-r--r--widgets/table/e-tree-table-adapter.c1174
-rw-r--r--widgets/table/e-tree-table-adapter.h95
-rw-r--r--widgets/table/e-tree.c3324
-rw-r--r--widgets/table/e-tree.h312
-rw-r--r--widgets/table/image1.pngbin1858 -> 0 bytes
-rw-r--r--widgets/table/image2.pngbin1987 -> 0 bytes
-rw-r--r--widgets/table/image3.pngbin2051 -> 0 bytes
-rw-r--r--widgets/table/remove-col.xpm22
-rw-r--r--widgets/table/sample.table45
-rw-r--r--widgets/table/spec.xml21
-rw-r--r--widgets/table/table-test.c62
-rw-r--r--widgets/table/table-test.h27
-rw-r--r--widgets/table/test-check.c221
-rw-r--r--widgets/table/test-cols.c265
-rw-r--r--widgets/table/test-table.c478
-rw-r--r--widgets/table/tree-expanded.xpm23
-rw-r--r--widgets/table/tree-unexpanded.xpm23
-rw-r--r--widgets/text/.cvsignore11
-rw-r--r--widgets/text/e-completion-callbacks.c98
-rw-r--r--widgets/text/e-completion-callbacks.h68
-rw-r--r--widgets/text/e-completion-match.c184
-rw-r--r--widgets/text/e-completion-match.h67
-rw-r--r--widgets/text/e-completion-view.c859
-rw-r--r--widgets/text/e-completion-view.h98
-rw-r--r--widgets/text/e-completion.c343
-rw-r--r--widgets/text/e-completion.h91
-rw-r--r--widgets/text/e-entry-test.c83
-rw-r--r--widgets/text/e-entry.c1392
-rw-r--r--widgets/text/e-entry.h87
-rw-r--r--widgets/text/e-table-text-model.c234
-rw-r--r--widgets/text/e-table-text-model.h64
-rw-r--r--widgets/text/e-text-model-repos.c87
-rw-r--r--widgets/text/e-text-model-repos.h69
-rw-r--r--widgets/text/e-text-model-test.c91
-rw-r--r--widgets/text/e-text-model-uri.c344
-rw-r--r--widgets/text/e-text-model-uri.h56
-rw-r--r--widgets/text/e-text-model.c600
-rw-r--r--widgets/text/e-text-model.h113
-rw-r--r--widgets/text/e-text-test.c168
-rw-r--r--widgets/text/e-text.c3867
-rw-r--r--widgets/text/e-text.h244
349 files changed, 17909 insertions, 112556 deletions
diff --git a/ChangeLog b/ChangeLog
index 381e930b62..e4871a7d5f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2005-03-15 JP Rosevear <jpr@novell.com>
+
+ * configure.in: bump version, requires
+
+2005-03-15 JP Rosevear <jpr@novell.com>
+
+ * configure.in: bump version, requires
+
+2005-03-15 JP Rosevear <jpr@novell.com>
+
+ * configure.in: define development as 0
+
2005-03-07 JP Rosevear <jpr@novell.com>
* configure.in: bump version, requires
diff --git a/NEWS b/NEWS
index 7b5d4b2d0e..1d5bd2c72a 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,67 @@
+Evolution 2.2.1, 2005-03-15
+---------------------------
+
+Bugzilla bugs fixed (see http://bugzilla.ximian.com/show_bug.cgi):
+
+ * Addressbook
+ #73206 - Evolution crashed when clicked on 'Cancel' of LDAP authentication (Siva)
+
+ * Calendar
+ #73563 - evolution-alarm-notify crashes after pressing snooze button (JP)
+ #72979 - Meeting is displayed as appointment in 'List view' (Chen)
+ #73501 - In 'Send Options' popup 'General Options' tab should be removed for exchange (Sush)
+
+ * Mail
+ #73293 - unread messages becoming read do not update menu items (Michael)
+ #73139 - Not able to see the icons of Shared Folders (Vivek)
+ #73100 - Unify Evolution license text check box messages in Evolution mailer (Michael)
+ #71733 - signature editor should set focus on title field (Harry Lu)
+ #73501 - In 'Send Options' popup 'General Options' tab should be removed (Sushma)
+
+ * Plugins
+ #72807 - Switching from gw account crashes Evolution (Siva)
+ #73201 -Sharing tab is not present in the properties of a folder which has a space in its name (Vivek)
+
+Other bugs
+
+ * Calendar
+ - Fix memory leak in calendar views (Michael)
+ - Fix forward as icalendar (JP)
+ - Fix default color and selection on first run (JP)
+
+ * Mail
+ - Improved Post-To handling (Michael)
+ - Fix To/CC/BCC cut and paste (Hans)
+
+ * Plugins
+ - Don't return an invisible item in gw account setup (Michael)
+ - Handle assigned tasks in itip formatter (JP)
+
+ * All
+ - Clean up debug spew (Michael)
+ - Fix memory leak for gal view menus (Michael)
+
+Updated translations:
+ -pl (GNOME PL Team)
+ -ja (Takeshi AIHANA)
+ -da (Martin Willemoes Hansen)
+ -fr (Christophe Merlet)
+ -ko (Changwoo Ryu)
+ -en_GB (David Lodge)
+ -tr (Baris Cicek)
+ -cs (Miloslav Trmac)
+ -de (Frank Arnold)
+ -sr (Danilo Segan)
+ -sr@Latn (Danilo Segan)
+ -es (Francisco Javier F. Serrador)
+ -pt_BR (Raphael Higino)
+ -sq (Laurent Dhima)
+ -fi (Hile Tuohela)
+ -gu (Ankit Patel)
+ -sv (Christian Rose)
+ -pt (Duarte Loreto)
+ -en_CA (Adam Weinberger)
+
Evolution 2.2.0, 2005-03-07
---------------------------
diff --git a/a11y/e-table/.cvsignore b/a11y/e-table/.cvsignore
deleted file mode 100644
index 5b48d3f593..0000000000
--- a/a11y/e-table/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-.libs
-Makefile.in
-Makefile
-*.la
diff --git a/a11y/e-table/gal-a11y-e-cell-popup.c b/a11y/e-table/gal-a11y-e-cell-popup.c
deleted file mode 100644
index 15cae2effb..0000000000
--- a/a11y/e-table/gal-a11y-e-cell-popup.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: gal-a11y-e-cell-popup.h
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Yang Wu <yang.wu@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#include <config.h>
-#include <gal/e-table/e-cell-popup.h>
-#include "gal-a11y-e-cell-popup.h"
-#include "gal-a11y-e-cell-registry.h"
-#include "gal-a11y-util.h"
-#include <atk/atkobject.h>
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtkwidget.h>
-#include <glib/gi18n.h>
-
-static AtkObjectClass *parent_class = NULL;
-#define PARENT_TYPE (gal_a11y_e_cell_get_type ())
-
-static void gal_a11y_e_cell_popup_class_init (GalA11yECellPopupClass *klass);
-static void popup_cell_action (GalA11yECell *cell);
-
-/**
- * gal_a11y_e_cell_popup_get_type:
- * @void:
- *
- * Registers the &GalA11yECellPopup class if necessary, and returns the type ID
- * associated to it.
- *
- * Return value: The type ID of the &GalA11yECellPopup class.
- **/
-GType
-gal_a11y_e_cell_popup_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- GTypeInfo info = {
- sizeof (GalA11yECellPopupClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) gal_a11y_e_cell_popup_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (GalA11yECellPopup),
- 0,
- (GInstanceInitFunc) NULL,
- NULL /* value_cell_popup */
- };
-
- type = g_type_register_static (PARENT_TYPE, "GalA11yECellPopup", &info, 0);
- gal_a11y_e_cell_type_add_action_interface (type);
- }
-
- return type;
-}
-
-static void
-gal_a11y_e_cell_popup_class_init (GalA11yECellPopupClass *klass)
-{
- parent_class = g_type_class_ref (PARENT_TYPE);
-}
-
-AtkObject *
-gal_a11y_e_cell_popup_new (ETableItem *item,
- ECellView *cell_view,
- AtkObject *parent,
- int model_col,
- int view_col,
- int row)
-{
- AtkObject *a11y;
- GalA11yECell *cell;
- ECellPopup *popupcell;
- ECellView* child_view = NULL;
-
- popupcell= E_CELL_POPUP(cell_view->ecell);
-
- if (popupcell && popupcell->popup_cell_view)
- child_view = popupcell->popup_cell_view->child_view;
-
- if (child_view && child_view->ecell) {
- a11y = gal_a11y_e_cell_registry_get_object (NULL,
- item,
- child_view,
- parent,
- model_col,
- view_col,
- row);
- } else {
- a11y = g_object_new (GAL_A11Y_TYPE_E_CELL_POPUP, NULL);
- gal_a11y_e_cell_construct (a11y,
- item,
- cell_view,
- parent,
- model_col,
- view_col,
- row);
- }
- g_return_val_if_fail (a11y != NULL, NULL);
- cell = GAL_A11Y_E_CELL(a11y);
- gal_a11y_e_cell_add_action (cell,
- _("popup"), /* action name*/
- _("popup a child"), /* action description */
- "<Alt>Down", /* action keybinding */
- popup_cell_action);
-
- a11y->role = ATK_ROLE_TABLE_CELL;
- return a11y;
-}
-
-static void
-popup_cell_action (GalA11yECell *cell)
-{
- gint finished;
- GdkEvent event;
-
- event.key.type = GDK_KEY_PRESS;
- event.key.window = GTK_LAYOUT(GNOME_CANVAS_ITEM(cell->item)->canvas)->bin_window;;
- event.key.send_event = TRUE;
- event.key.time = GDK_CURRENT_TIME;
- event.key.state = GDK_MOD1_MASK;
- event.key.keyval = GDK_Down;
-
- g_signal_emit_by_name (cell->item, "event", &event, &finished);
-}
diff --git a/a11y/e-table/gal-a11y-e-cell-popup.h b/a11y/e-table/gal-a11y-e-cell-popup.h
deleted file mode 100644
index 5809f9b4f4..0000000000
--- a/a11y/e-table/gal-a11y-e-cell-popup.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: gal-a11y-e-cell-popup.h
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Yang Wu <yang.wu@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#ifndef __GAL_A11Y_E_CELL_POPUP_H__
-#define __GAL_A11Y_E_CELL_POPUP_H__
-
-#include <glib-object.h>
-#include <gal/e-table/e-table-item.h>
-#include <a11y/e-table/gal-a11y-e-cell.h>
-#include <atk/atkgobjectaccessible.h>
-
-#define GAL_A11Y_TYPE_E_CELL_POPUP (gal_a11y_e_cell_popup_get_type ())
-#define GAL_A11Y_E_CELL_POPUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_A11Y_TYPE_E_CELL_POPUP, GalA11yECellPopup))
-#define GAL_A11Y_E_CELL_POPUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAL_A11Y_TYPE_E_CELL_POPUP, GalA11yECellPopupClass))
-#define GAL_A11Y_IS_E_CELL_POPUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAL_A11Y_TYPE_E_CELL_POPUP))
-#define GAL_A11Y_IS_E_CELL_POPUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAL_A11Y_TYPE_E_CELL_POPUP))
-
-typedef struct _GalA11yECellPopup GalA11yECellPopup;
-typedef struct _GalA11yECellPopupClass GalA11yECellPopupClass;
-
-/* This struct should actually be larger as this isn't what we derive from.
- * The GalA11yECellPopupPrivate comes right after the parent class structure.
- **/
-struct _GalA11yECellPopup {
- GalA11yECell object;
-};
-
-struct _GalA11yECellPopupClass {
- GalA11yECellClass parent_class;
-};
-
-
-/* Standard Glib function */
-GType gal_a11y_e_cell_popup_get_type (void);
-AtkObject *gal_a11y_e_cell_popup_new (ETableItem *item,
- ECellView *cell_view,
- AtkObject *parent,
- int model_col,
- int view_col,
- int row);
-
-#endif /* ! __GAL_A11Y_E_CELL_POPUP_H__ */
diff --git a/a11y/e-table/gal-a11y-e-cell-registry.c b/a11y/e-table/gal-a11y-e-cell-registry.c
deleted file mode 100644
index 7110179554..0000000000
--- a/a11y/e-table/gal-a11y-e-cell-registry.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Authors:
- * Christopher James Lahey <clahey@ximian.com>
- *
- * Copyright (C) 2002 Ximian, Inc.
- */
-
-#include <config.h>
-#include "gal-a11y-e-cell-registry.h"
-#include "gal-a11y-e-cell.h"
-
-static GObjectClass *parent_class;
-static GalA11yECellRegistry *default_registry;
-#define PARENT_TYPE (G_TYPE_OBJECT)
-
-struct _GalA11yECellRegistryPrivate {
- GHashTable *table;
-};
-
-/* Static functions */
-
-static void
-gal_a11y_e_cell_registry_finalize (GObject *obj)
-{
- GalA11yECellRegistry *registry = GAL_A11Y_E_CELL_REGISTRY (obj);
-
- g_hash_table_destroy (registry->priv->table);
- g_free (registry->priv);
-}
-
-static void
-gal_a11y_e_cell_registry_class_init (GalA11yECellRegistryClass *klass)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class->finalize = gal_a11y_e_cell_registry_finalize;
-}
-
-static void
-gal_a11y_e_cell_registry_init (GalA11yECellRegistry *registry)
-{
- registry->priv = g_new (GalA11yECellRegistryPrivate, 1);
- registry->priv->table = g_hash_table_new (NULL, NULL);
-}
-
-/**
- * gal_a11y_e_cell_registry_get_type:
- * @void:
- *
- * Registers the &GalA11yECellRegistry class if necessary, and returns the type ID
- * associated to it.
- *
- * Return value: The type ID of the &GalA11yECellRegistry class.
- **/
-GType
-gal_a11y_e_cell_registry_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- GTypeInfo info = {
- sizeof (GalA11yECellRegistryClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) gal_a11y_e_cell_registry_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (GalA11yECellRegistry),
- 0,
- (GInstanceInitFunc) gal_a11y_e_cell_registry_init,
- NULL /* value_cell */
- };
-
- type = g_type_register_static (PARENT_TYPE, "GalA11yECellRegistry", &info, 0);
- }
-
- return type;
-}
-
-static void
-init_default_registry (void)
-{
- if (default_registry == NULL) {
- default_registry = g_object_new (gal_a11y_e_cell_registry_get_type(), NULL);
- }
-}
-
-
-AtkObject *
-gal_a11y_e_cell_registry_get_object (GalA11yECellRegistry *registry,
- ETableItem *item,
- ECellView *cell_view,
- AtkObject *parent,
- int model_col,
- int view_col,
- int row)
-{
- GalA11yECellRegistryFunc func = NULL;
- GType type;
-
- if (registry == NULL) {
- init_default_registry ();
- registry = default_registry;
- }
-
- type = GTK_OBJECT_TYPE (cell_view->ecell);
- while (func == NULL && type != 0) {
- func = g_hash_table_lookup (registry->priv->table, GINT_TO_POINTER (type));
- type = g_type_parent (type);
- }
-
- if (func)
- return func (item, cell_view, parent, model_col, view_col, row);
- else
- return gal_a11y_e_cell_new (item, cell_view, parent, model_col, view_col, row);
-}
-
-void
-gal_a11y_e_cell_registry_add_cell_type (GalA11yECellRegistry *registry,
- GType type,
- GalA11yECellRegistryFunc func)
-{
- if (registry == NULL) {
- init_default_registry ();
- registry = default_registry;
- }
-
- g_hash_table_insert (registry->priv->table, GINT_TO_POINTER (type), func);
-}
diff --git a/a11y/e-table/gal-a11y-e-cell-registry.h b/a11y/e-table/gal-a11y-e-cell-registry.h
deleted file mode 100644
index eecd41139c..0000000000
--- a/a11y/e-table/gal-a11y-e-cell-registry.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Authors:
- * Christopher James Lahey <clahey@ximian.com>
- *
- * Copyright (C) 2001 Chris Lahey
- */
-
-#ifndef __GAL_A11Y_E_CELL_REGISTRY_H__
-#define __GAL_A11Y_E_CELL_REGISTRY_H__
-
-#include <glib-object.h>
-#include <atk/atkobject.h>
-#include <gal/e-table/e-table-item.h>
-#include <gal/e-table/e-cell.h>
-
-#define GAL_A11Y_TYPE_E_CELL_REGISTRY (gal_a11y_e_cell_registry_get_type ())
-#define GAL_A11Y_E_CELL_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_A11Y_TYPE_E_CELL_REGISTRY, GalA11yECellRegistry))
-#define GAL_A11Y_E_CELL_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAL_A11Y_TYPE_E_CELL_REGISTRY, GalA11yECellRegistryClass))
-#define GAL_A11Y_IS_E_CELL_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAL_A11Y_TYPE_E_CELL_REGISTRY))
-#define GAL_A11Y_IS_E_CELL_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAL_A11Y_TYPE_E_CELL_REGISTRY))
-
-typedef struct _GalA11yECellRegistry GalA11yECellRegistry;
-typedef struct _GalA11yECellRegistryClass GalA11yECellRegistryClass;
-typedef struct _GalA11yECellRegistryPrivate GalA11yECellRegistryPrivate;
-
-typedef AtkObject *(*GalA11yECellRegistryFunc) (ETableItem *item,
- ECellView *cell_view,
- AtkObject *parent,
- int model_col,
- int view_col,
- int row);
-
-struct _GalA11yECellRegistry {
- GObject object;
-
- GalA11yECellRegistryPrivate *priv;
-};
-
-struct _GalA11yECellRegistryClass {
- GObjectClass parent_class;
-};
-
-
-/* Standard Glib function */
-GType gal_a11y_e_cell_registry_get_type (void);
-AtkObject *gal_a11y_e_cell_registry_get_object (GalA11yECellRegistry *registry,
- ETableItem *item,
- ECellView *cell_view,
- AtkObject *parent,
- int model_col,
- int view_col,
- int row);
-void gal_a11y_e_cell_registry_add_cell_type (GalA11yECellRegistry *registry,
- GType type,
- GalA11yECellRegistryFunc func);
-
-#endif /* ! __GAL_A11Y_E_CELL_REGISTRY_H__ */
diff --git a/a11y/e-table/gal-a11y-e-cell-text.c b/a11y/e-table/gal-a11y-e-cell-text.c
deleted file mode 100644
index 89c1b3a813..0000000000
--- a/a11y/e-table/gal-a11y-e-cell-text.c
+++ /dev/null
@@ -1,721 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Authors:
- * Christopher James Lahey <clahey@ximian.com>
- *
- * Copyright (C) 2002 Ximian, Inc.
- */
-
-#include <config.h>
-#include <string.h>
-#include "gal-a11y-e-cell-text.h"
-#include "gal-a11y-util.h"
-#include <gal/e-table/e-cell-text.h>
-#include <atk/atkobject.h>
-#include <atk/atktext.h>
-#include <atk/atkeditabletext.h>
-#include <atk/atkaction.h>
-#include <atk/atkstateset.h>
-#include <glib/gi18n.h>
-
-#define CS_CLASS(a11y) (G_TYPE_INSTANCE_GET_CLASS ((a11y), C_TYPE_STREAM, GalA11yECellTextClass))
-static AtkObjectClass *parent_class;
-#define PARENT_TYPE (gal_a11y_e_cell_get_type ())
-
-/* Static functions */
-static void
-ect_dispose (GObject *object)
-{
- GObjectClass *g_class;
- GalA11yECell *gaec = GAL_A11Y_E_CELL (object);
- GalA11yECellText *gaet = GAL_A11Y_E_CELL_TEXT (object);
-
- if (gaet->inserted_id != 0) {
- ECellText *ect = E_CELL_TEXT (gaec->cell_view->ecell);
-
- if (ect) {
- g_signal_handler_disconnect (ect, gaet->inserted_id);
- g_signal_handler_disconnect (ect, gaet->deleted_id);
- }
-
- gaet->inserted_id = 0;
- gaet->deleted_id = 0;
- }
-
- g_class = (GObjectClass *)parent_class;
- if (g_class->dispose)
- g_class->dispose (object);
-
-}
-
-static gboolean
-ect_check (gpointer a11y)
-{
- GalA11yECell *gaec = GAL_A11Y_E_CELL (a11y);
- ETableItem *item = gaec->item;
-
- g_return_val_if_fail ((gaec->item != NULL), FALSE);
- g_return_val_if_fail ((gaec->cell_view != NULL), FALSE);
- g_return_val_if_fail ((gaec->cell_view->ecell != NULL), FALSE);
-
- if (atk_state_set_contains_state (gaec->state_set, ATK_STATE_DEFUNCT))
- return FALSE;
-
- if (gaec->row < 0 || gaec->row >= item->rows
- || gaec->view_col <0 || gaec->view_col >= item->cols
- || gaec->model_col <0 || gaec->model_col >= e_table_model_column_count (item->table_model))
- return FALSE;
-
- if (!E_IS_CELL_TEXT (gaec->cell_view->ecell))
- return FALSE;
-
- return TRUE;
-}
-
-static G_CONST_RETURN gchar*
-ect_get_name (AtkObject * a11y)
-{
- GalA11yECell *gaec;
- char *name;
-
- if (!ect_check (a11y))
- return NULL;
-
- gaec = GAL_A11Y_E_CELL (a11y);
- name = e_cell_text_get_text_by_view (gaec->cell_view, gaec->model_col, gaec->row);
- if (name != NULL) {
- ATK_OBJECT_CLASS (parent_class)->set_name (a11y, name);
- g_free (name);
- }
-
- if (a11y->name != NULL && strcmp (a11y->name, "")) {
- return a11y->name;
- } else {
- return parent_class->get_name (a11y);
- }
-}
-
-static gchar *
-ect_get_text (AtkText *text,
- gint start_offset,
- gint end_offset)
-{
- GalA11yECell *gaec = GAL_A11Y_E_CELL (text);
- gchar *full_text;
- gchar *ret_val;
-
- if (!ect_check (text))
- return NULL;
-
- full_text = e_cell_text_get_text_by_view (gaec->cell_view, gaec->model_col, gaec->row);
-
- if (end_offset == -1)
- end_offset = strlen (full_text);
- else
- end_offset = g_utf8_offset_to_pointer (full_text, end_offset) - full_text;
-
- start_offset = g_utf8_offset_to_pointer (full_text, start_offset) - full_text;
-
- ret_val = g_strndup (full_text + start_offset, end_offset - start_offset);
-
- g_free (full_text);
-
- return ret_val;
-}
-
-static gchar *
-ect_get_text_after_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- /* Unimplemented */
- return NULL;
-}
-
-static gchar *
-ect_get_text_at_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- /* Unimplemented */
- return NULL;
-}
-
-static gunichar
-ect_get_character_at_offset (AtkText *text,
- gint offset)
-{
- GalA11yECell *gaec = GAL_A11Y_E_CELL (text);
- gunichar ret_val;
- gchar *at_offset;
-
- if (!ect_check (text))
- return -1;
-
- gchar *full_text = e_cell_text_get_text_by_view (gaec->cell_view, gaec->model_col, gaec->row);
- at_offset = g_utf8_offset_to_pointer (full_text, offset);
- ret_val = g_utf8_get_char_validated (at_offset, -1);
- g_free (full_text);
-
- return ret_val;
-}
-
-
-static gchar*
-ect_get_text_before_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- /* Unimplemented */
- return NULL;
-}
-
-
-static gint
-ect_get_caret_offset (AtkText *text)
-{
- GalA11yECell *gaec = GAL_A11Y_E_CELL (text);
- gint start, end;
-
- if (!ect_check (text))
- return -1;
-
- if (e_cell_text_get_selection (gaec->cell_view,
- gaec->view_col, gaec->row,
- &start, &end)) {
- gchar *full_text = e_cell_text_get_text_by_view (gaec->cell_view, gaec->model_col, gaec->row);
- end = g_utf8_pointer_to_offset (full_text, full_text + end);
- g_free (full_text);
-
- return end;
- }
- else
- return -1;
-}
-
-static AtkAttributeSet*
-ect_get_run_attributes (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset)
-{
- /* Unimplemented */
- return NULL;
-}
-
-
-static AtkAttributeSet*
-ect_get_default_attributes (AtkText *text)
-{
- /* Unimplemented */
- return NULL;
-}
-
-
-static void
-ect_get_character_extents (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords)
-{
- /* Unimplemented */
-}
-
-
-static gint
-ect_get_character_count (AtkText *text)
-{
- GalA11yECell *gaec = GAL_A11Y_E_CELL (text);
- gint ret_val;
-
- if (!ect_check (text))
- return -1;
-
- gchar *full_text = e_cell_text_get_text_by_view (gaec->cell_view, gaec->model_col, gaec->row);
-
- ret_val = g_utf8_strlen (full_text, -1);
- g_free (full_text);
- return ret_val;
-}
-
-
-static gint
-ect_get_offset_at_point (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords)
-{
- /* Unimplemented */
- return 0;
-}
-
-
-static gint
-ect_get_n_selections (AtkText *text)
-{
- GalA11yECell *gaec = GAL_A11Y_E_CELL (text);
- gint selection_start, selection_end;
-
- if (!ect_check (text))
- return 0;
-
- if (e_cell_text_get_selection (gaec->cell_view,
- gaec->view_col, gaec->row,
- &selection_start,
- &selection_end)
- && selection_start != selection_end)
- return 1;
- return 0;
-}
-
-
-static gchar*
-ect_get_selection (AtkText *text,
- gint selection_num,
- gint *start_offset,
- gint *end_offset)
-{
- GalA11yECell *gaec = GAL_A11Y_E_CELL (text);
- gchar *ret_val;
- gint selection_start, selection_end;
-
- if (selection_num == 0
- && e_cell_text_get_selection (gaec->cell_view,
- gaec->view_col, gaec->row,
- &selection_start,
- &selection_end)
- && selection_start != selection_end) {
- gint real_start, real_end, len;
- gchar *full_text = e_cell_text_get_text_by_view (gaec->cell_view, gaec->model_col, gaec->row);
- len = strlen (full_text);
- real_start = MIN (selection_start, selection_end);
- real_end = MAX (selection_start, selection_end);
- real_start = MIN (MAX (0, real_start), len);
- real_end = MIN (MAX (0, real_end), len);
-
- ret_val = g_strndup (full_text + real_start, real_end - real_start);
-
- real_start = g_utf8_pointer_to_offset (full_text, full_text + real_start);
- real_end = g_utf8_pointer_to_offset (full_text, full_text + real_end);
-
- if (start_offset)
- *start_offset = real_start;
- if (end_offset)
- *end_offset = real_end;
- g_free (full_text);
- } else {
- if (start_offset)
- *start_offset = 0;
- if (end_offset)
- *end_offset = 0;
- ret_val = NULL;
- }
-
- return ret_val;
-}
-
-
-static gboolean
-ect_add_selection (AtkText *text,
- gint start_offset,
- gint end_offset)
-{
- GalA11yECell *gaec = GAL_A11Y_E_CELL (text);
-
- if (start_offset != end_offset) {
- gint real_start, real_end, len;
- gchar *full_text =
- e_cell_text_get_text_by_view (gaec->cell_view, gaec->model_col, gaec->row);
-
- len = g_utf8_strlen (full_text, -1);
- if (end_offset == -1)
- end_offset = len;
-
- real_start = MIN (start_offset, end_offset);
- real_end = MAX (start_offset, end_offset);
-
- real_start = MIN (MAX (0, real_start), len);
- real_end = MIN (MAX (0, real_end), len);
-
- real_start = g_utf8_offset_to_pointer (full_text, real_start) - full_text;
- real_end = g_utf8_offset_to_pointer (full_text, real_end) - full_text;
- g_free (full_text);
-
- if (e_cell_text_set_selection (gaec->cell_view,
- gaec->view_col, gaec->row,
- real_start, real_end)) {
- g_signal_emit_by_name (ATK_OBJECT(text), "text_selection_changed");
- return TRUE;
- }
- }
-
- return FALSE;
-}
-
-
-static gboolean
-ect_remove_selection (AtkText *text,
- gint selection_num)
-{
- GalA11yECell *gaec = GAL_A11Y_E_CELL (text);
- gint selection_start, selection_end;
-
- if (selection_num == 0
- && e_cell_text_get_selection (gaec->cell_view,
- gaec->view_col, gaec->row,
- &selection_start,
- &selection_end)
- && selection_start != selection_end
- && e_cell_text_set_selection (gaec->cell_view,
- gaec->view_col, gaec->row,
- selection_end, selection_end)) {
- g_signal_emit_by_name (ATK_OBJECT(text), "text_selection_changed");
- return TRUE;
- }
- else
- return FALSE;
-}
-
-
-static gboolean
-ect_set_selection (AtkText *text,
- gint selection_num,
- gint start_offset,
- gint end_offset)
-{
- if (selection_num == 0) {
- atk_text_add_selection (text, start_offset, end_offset);
- return TRUE;
- }
- else
- return FALSE;
-}
-
-
-static gboolean
-ect_set_caret_offset (AtkText *text,
- gint offset)
-{
- GalA11yECell *gaec = GAL_A11Y_E_CELL (text);
- gchar *full_text;
- gint len;
-
- full_text = e_cell_text_get_text_by_view (gaec->cell_view, gaec->model_col, gaec->row);
-
- len = g_utf8_strlen (full_text, -1);
- if (offset == -1)
- offset = len;
- else
- offset = MIN (MAX (0, offset), len);
-
- offset = g_utf8_offset_to_pointer (full_text, offset) - full_text;
-
- g_free (full_text);
-
- return e_cell_text_set_selection (gaec->cell_view,
- gaec->view_col, gaec->row,
- offset, offset);
-}
-
-static gboolean
-ect_set_run_attributes (AtkEditableText *text,
- AtkAttributeSet *attrib_set,
- gint start_offset,
- gint end_offset)
-{
- /* Unimplemented */
- return FALSE;
-}
-
-static void
-ect_set_text_contents (AtkEditableText *text,
- const gchar *string)
-{
- GalA11yECell *gaec = GAL_A11Y_E_CELL (text);
- ECellText *ect = E_CELL_TEXT (gaec->cell_view->ecell);
-
- e_cell_text_set_value (ect, gaec->item->table_model, gaec->model_col, gaec->row, string);
- e_table_item_enter_edit (gaec->item, gaec->view_col, gaec->row);
-}
-
-static void
-ect_insert_text (AtkEditableText *text,
- const gchar *string,
- gint length,
- gint *position)
-{
- /* Utf8 unimplemented */
- GalA11yECell *gaec = GAL_A11Y_E_CELL (text);
- ECellText *ect = E_CELL_TEXT (gaec->cell_view->ecell);
-
- gchar *full_text = e_cell_text_get_text_by_view (gaec->cell_view, gaec->model_col, gaec->row);
- gchar *result = g_strdup_printf ("%.*s%.*s%s", *position, full_text, length, string, full_text + *position);
-
- e_cell_text_set_value (ect, gaec->item->table_model, gaec->model_col, gaec->row, result);
-
- *position += length;
-
- g_free (result);
- g_free (full_text);
-}
-
-static void
-ect_copy_text (AtkEditableText *text,
- gint start_pos,
- gint end_pos)
-{
- GalA11yECell *gaec = GAL_A11Y_E_CELL (text);
- if (start_pos != end_pos
- && atk_text_set_selection (ATK_TEXT (text), 0, start_pos, end_pos))
- e_cell_text_copy_clipboard (gaec->cell_view,
- gaec->view_col, gaec->row);
-}
-
-static void
-ect_delete_text (AtkEditableText *text,
- gint start_pos,
- gint end_pos)
-{
- GalA11yECell *gaec = GAL_A11Y_E_CELL (text);
- if (start_pos != end_pos
- && atk_text_set_selection (ATK_TEXT (text), 0, start_pos, end_pos))
- e_cell_text_delete_selection (gaec->cell_view,
- gaec->view_col, gaec->row);
-}
-
-static void
-ect_cut_text (AtkEditableText *text,
- gint start_pos,
- gint end_pos)
-{
- ect_copy_text (text, start_pos, end_pos);
- ect_delete_text (text, start_pos, end_pos);
-}
-
-static void
-ect_paste_text (AtkEditableText *text,
- gint position)
-{
- GalA11yECell *gaec = GAL_A11Y_E_CELL (text);
-
- e_table_item_enter_edit (gaec->item, gaec->view_col, gaec->row);
-
- if (atk_text_set_caret_offset (ATK_TEXT (text), position))
- e_cell_text_paste_clipboard (gaec->cell_view,
- gaec->view_col, gaec->row);
-}
-
-static void
-ect_do_action_edit (AtkAction *action)
-{
- GalA11yECell *a11y = GAL_A11Y_E_CELL (action);
- ETableModel *e_table_model = a11y->item->table_model;
-
- if (e_table_model_is_cell_editable(e_table_model, a11y->model_col, a11y->row)) {
- e_table_item_enter_edit (a11y->item, a11y->view_col, a11y->row);
- }
-}
-
-/* text signal handlers */
-static void
-ect_text_inserted_cb (ECellText *text, ECellView *cell_view, int pos, int len, int row, int model_col, gpointer data)
-{
- GalA11yECellText *gaet;
- GalA11yECell *gaec;
-
- if (!ect_check (data))
- return;
- gaet = GAL_A11Y_E_CELL_TEXT (data);
- gaec = GAL_A11Y_E_CELL (data);
-
- if (cell_view == gaec->cell_view && row == gaec->row && model_col == gaec->model_col) {
- g_signal_emit_by_name (gaet, "text_changed::insert", pos, len);
-
- }
-}
-
-static void
-ect_text_deleted_cb (ECellText *text, ECellView *cell_view, int pos, int len, int row, int model_col, gpointer data)
-{
- GalA11yECellText *gaet;
- GalA11yECell *gaec;
- if (!ect_check (data))
- return;
- gaet = GAL_A11Y_E_CELL_TEXT (data);
- gaec = GAL_A11Y_E_CELL (data);
- if (cell_view == gaec->cell_view && row == gaec->row && model_col == gaec->model_col) {
- g_signal_emit_by_name (gaet, "text_changed::delete", pos, len);
- }
-}
-
-static void
-ect_atk_text_iface_init (AtkTextIface *iface)
-{
- iface->get_text = ect_get_text;
- iface->get_text_after_offset = ect_get_text_after_offset;
- iface->get_text_at_offset = ect_get_text_at_offset;
- iface->get_character_at_offset = ect_get_character_at_offset;
- iface->get_text_before_offset = ect_get_text_before_offset;
- iface->get_caret_offset = ect_get_caret_offset;
- iface->get_run_attributes = ect_get_run_attributes;
- iface->get_default_attributes = ect_get_default_attributes;
- iface->get_character_extents = ect_get_character_extents;
- iface->get_character_count = ect_get_character_count;
- iface->get_offset_at_point = ect_get_offset_at_point;
- iface->get_n_selections = ect_get_n_selections;
- iface->get_selection = ect_get_selection;
- iface->add_selection = ect_add_selection;
- iface->remove_selection = ect_remove_selection;
- iface->set_selection = ect_set_selection;
- iface->set_caret_offset = ect_set_caret_offset;
-}
-
-static void
-ect_atk_editable_text_iface_init (AtkEditableTextIface *iface)
-{
- iface->set_run_attributes = ect_set_run_attributes;
- iface->set_text_contents = ect_set_text_contents;
- iface->insert_text = ect_insert_text;
- iface->copy_text = ect_copy_text;
- iface->cut_text = ect_cut_text;
- iface->delete_text = ect_delete_text;
- iface->paste_text = ect_paste_text;
-}
-
-static void
-ect_class_init (GalA11yECellTextClass *klass)
-{
- AtkObjectClass *a11y = ATK_OBJECT_CLASS (klass);
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
- parent_class = g_type_class_ref (PARENT_TYPE);
- a11y->get_name = ect_get_name;
- object_class->dispose = ect_dispose;
-}
-
-static void
-ect_action_init (GalA11yECellText *a11y)
-{
- GalA11yECell *gaec = GAL_A11Y_E_CELL (a11y);
- ECellText *ect = E_CELL_TEXT (gaec->cell_view->ecell);
- if (ect->editable && e_table_model_is_cell_editable (gaec->cell_view->e_table_model, gaec->model_col, gaec->row))
- gal_a11y_e_cell_add_action (gaec,
- _("edit"),
- _("begin editing this cell"),
- NULL,
- (ACTION_FUNC) ect_do_action_edit);
-}
-
-/**
- * gal_a11y_e_cell_text_get_type:
- * @void:
- *
- * Registers the &GalA11yECellText class if necessary, and returns the type ID
- * associated to it.
- *
- * Return value: The type ID of the &GalA11yECellText class.
- **/
-GType
-gal_a11y_e_cell_text_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- GTypeInfo info = {
- sizeof (GalA11yECellTextClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) ect_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (GalA11yECellText),
- 0,
- (GInstanceInitFunc) NULL,
- NULL /* value_cell_text */
- };
-
- static const GInterfaceInfo atk_text_info = {
- (GInterfaceInitFunc) ect_atk_text_iface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- static const GInterfaceInfo atk_editable_text_info = {
- (GInterfaceInitFunc) ect_atk_editable_text_iface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- type = g_type_register_static (PARENT_TYPE, "GalA11yECellText", &info, 0);
- g_type_add_interface_static (type, ATK_TYPE_TEXT, &atk_text_info);
- g_type_add_interface_static (type, ATK_TYPE_EDITABLE_TEXT, &atk_editable_text_info);
- gal_a11y_e_cell_type_add_action_interface (type);
- }
-
- return type;
-}
-
-static void
-cell_text_destroyed (gpointer data)
-{
- g_return_if_fail (GAL_A11Y_IS_E_CELL_TEXT (data));
-
- g_object_unref (data);
-}
-
-AtkObject *
-gal_a11y_e_cell_text_new (ETableItem *item,
- ECellView *cell_view,
- AtkObject *parent,
- int model_col,
- int view_col,
- int row)
-{
- AtkObject *a11y;
- GalA11yECell *gaec;
- GalA11yECellText *gaet;
- ECellText *ect;
-
- a11y = g_object_new (gal_a11y_e_cell_text_get_type (), NULL);
-
- gal_a11y_e_cell_construct (a11y,
- item,
- cell_view,
- parent,
- model_col,
- view_col,
- row);
- gaet = GAL_A11Y_E_CELL_TEXT (a11y);
-
- /* will be unrefed in cell_text_destroyed */
- g_object_ref (a11y);
-
- gaet->inserted_id = g_signal_connect (E_CELL_TEXT (((ECellView *)cell_view)->ecell),
- "text_inserted", G_CALLBACK (ect_text_inserted_cb), a11y);
- gaet->deleted_id = g_signal_connect (E_CELL_TEXT (((ECellView *)cell_view)->ecell),
- "text_deleted", G_CALLBACK (ect_text_deleted_cb), a11y);
-
- g_object_weak_ref (G_OBJECT (((ECellView *)cell_view)->ecell),
- (GWeakNotify) cell_text_destroyed,
- a11y);
-
- ect_action_init (gaet);
-
- ect = E_CELL_TEXT (cell_view->ecell);
- gaec = GAL_A11Y_E_CELL (a11y);
- if (ect->editable && e_table_model_is_cell_editable (gaec->cell_view->e_table_model, gaec->model_col, gaec->row))
- gal_a11y_e_cell_add_state (gaec, ATK_STATE_EDITABLE, FALSE);
- else
- gal_a11y_e_cell_remove_state (gaec, ATK_STATE_EDITABLE, FALSE);
-
- return a11y;
-}
diff --git a/a11y/e-table/gal-a11y-e-cell-text.h b/a11y/e-table/gal-a11y-e-cell-text.h
deleted file mode 100644
index 50056476c3..0000000000
--- a/a11y/e-table/gal-a11y-e-cell-text.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Authors:
- * Christopher James Lahey <clahey@ximian.com>
- *
- * Copyright (C) 2001 Chris Lahey
- */
-
-#ifndef __GAL_A11Y_E_CELL_TEXT_H__
-#define __GAL_A11Y_E_CELL_TEXT_H__
-
-#include <glib-object.h>
-#include <gal/e-table/e-table-item.h>
-#include <gal/e-table/e-cell-text.h>
-#include <a11y/e-table/gal-a11y-e-cell.h>
-
-#define GAL_A11Y_TYPE_E_CELL_TEXT (gal_a11y_e_cell_text_get_type ())
-#define GAL_A11Y_E_CELL_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_A11Y_TYPE_E_CELL_TEXT, GalA11yECellText))
-#define GAL_A11Y_E_CELL_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAL_A11Y_TYPE_E_CELL_TEXT, GalA11yECellTextClass))
-#define GAL_A11Y_IS_E_CELL_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAL_A11Y_TYPE_E_CELL_TEXT))
-#define GAL_A11Y_IS_E_CELL_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAL_A11Y_TYPE_E_CELL_TEXT))
-
-typedef struct _GalA11yECellText GalA11yECellText;
-typedef struct _GalA11yECellTextClass GalA11yECellTextClass;
-typedef struct _GalA11yECellTextPrivate GalA11yECellTextPrivate;
-
-/* This struct should actually be larger as this isn't what we derive from.
- * The GalA11yECellTextPrivate comes right after the parent class structure.
- **/
-struct _GalA11yECellText {
- GalA11yECell object;
- gint inserted_id;
- gint deleted_id;
-};
-
-struct _GalA11yECellTextClass {
- GalA11yECellClass parent_class;
-};
-
-
-/* Standard Glib function */
-GType gal_a11y_e_cell_text_get_type (void);
-AtkObject *gal_a11y_e_cell_text_new (ETableItem *item,
- ECellView *cell_view,
- AtkObject *parent,
- int model_col,
- int view_col,
- int row);
-
-#endif /* ! __GAL_A11Y_E_CELL_TEXT_H__ */
diff --git a/a11y/e-table/gal-a11y-e-cell-toggle.c b/a11y/e-table/gal-a11y-e-cell-toggle.c
deleted file mode 100644
index 21f4955d1d..0000000000
--- a/a11y/e-table/gal-a11y-e-cell-toggle.c
+++ /dev/null
@@ -1,169 +0,0 @@
-#include <gtk/gtk.h>
-#include "gal-a11y-e-cell-toggle.h"
-#include <gal/e-table/e-cell-toggle.h>
-#include <gal/e-table/e-table-model.h>
-#include <atk/atkcomponent.h>
-#include <glib/gi18n.h>
-
-#define PARENT_TYPE (gal_a11y_e_cell_get_type ())
-static GObjectClass *parent_class;
-
-static void gal_a11y_e_cell_toggle_class_init (GalA11yECellToggleClass *klass);
-
-static void
-gal_a11y_e_cell_toggle_dispose (GObject *object)
-{
- GalA11yECellToggle *a11y = GAL_A11Y_E_CELL_TOGGLE (object);
-
- ETableModel *e_table_model = GAL_A11Y_E_CELL (a11y)->item->table_model;
-
- if (e_table_model && a11y->model_id > 0) {
- g_signal_handler_disconnect (e_table_model, a11y->model_id);
- a11y->model_id = 0;
- }
-
- if (parent_class->dispose)
- parent_class->dispose (object);
-}
-
-GType
-gal_a11y_e_cell_toggle_get_type (void)
-{
- static GType type = 0;
-
- if (!type)
- {
- static const GTypeInfo tinfo =
- {
- sizeof (GalA11yECellToggleClass),
- (GBaseInitFunc) NULL, /* base init */
- (GBaseFinalizeFunc) NULL, /* base finalize */
- (GClassInitFunc) gal_a11y_e_cell_toggle_class_init, /* class init */
- (GClassFinalizeFunc) NULL, /* class finalize */
- NULL, /* class data */
- sizeof (GalA11yECellToggle), /* instance size */
- 0, /* nb preallocs */
- NULL, /* instance init */
- NULL /* value table */
- };
-
-
- type = g_type_register_static (GAL_A11Y_TYPE_E_CELL,
- "GalA11yECellToggle", &tinfo, 0);
- gal_a11y_e_cell_type_add_action_interface (type);
-
- }
- return type;
-}
-
-
-static void
-gal_a11y_e_cell_toggle_class_init (GalA11yECellToggleClass *klass)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
- object_class->dispose = gal_a11y_e_cell_toggle_dispose;
- parent_class = g_type_class_ref (PARENT_TYPE);
-}
-
-static void
-toggle_cell_action (GalA11yECell *cell)
-{
- gint finished;
- GdkEventButton event;
- gint x, y, width, height;
- gint row, col;
-
- row = cell->row;
- col = cell->view_col;
-
- e_table_item_get_cell_geometry (cell->item, &row, &col,
- &x, &y, &width, &height);
-
- event.x = x + width / 2 + (int)(GNOME_CANVAS_ITEM (cell->item)->x1);
- event.y = y + height / 2 + (int)(GNOME_CANVAS_ITEM (cell->item)->y1);
-
- event.type = GDK_BUTTON_PRESS;
- event.window = GTK_LAYOUT(GNOME_CANVAS_ITEM(cell->item)->canvas)->bin_window;
- event.button = 1;
- event.send_event = TRUE;
- event.time = GDK_CURRENT_TIME;
- event.axes = NULL;
-
- g_signal_emit_by_name (cell->item, "event", &event, &finished);
-}
-
-static void
-model_change_cb (ETableModel *etm,
- gint col,
- gint row,
- GalA11yECell *cell)
-{
- gint value;
-
- if (col == cell->model_col && row == cell->row) {
-
- value = GPOINTER_TO_INT (
- e_table_model_value_at (cell->cell_view->e_table_model,
- cell->model_col, cell->row));
- /* Cheat gnopernicus, or it will ignore the state change signal */
- atk_focus_tracker_notify (ATK_OBJECT (cell));
-
- if (value)
- gal_a11y_e_cell_add_state (cell, ATK_STATE_CHECKED, TRUE);
- else
- gal_a11y_e_cell_remove_state (cell, ATK_STATE_CHECKED, TRUE);
- }
-}
-
-
-AtkObject*
-gal_a11y_e_cell_toggle_new (ETableItem *item,
- ECellView *cell_view,
- AtkObject *parent,
- int model_col,
- int view_col,
- int row)
-{
- AtkObject *a11y;
- GalA11yECell *cell;
- GalA11yECellToggle *toggle_cell;
- gint value;
-
- a11y = ATK_OBJECT(g_object_new (GAL_A11Y_TYPE_E_CELL_TOGGLE, NULL));
-
- g_return_val_if_fail (a11y != NULL, NULL);
-
- cell = GAL_A11Y_E_CELL(a11y);
- toggle_cell = GAL_A11Y_E_CELL_TOGGLE(a11y);
- a11y->role = ATK_ROLE_TABLE_CELL;
-
- gal_a11y_e_cell_construct (a11y,
- item,
- cell_view,
- parent,
- model_col,
- view_col,
- row);
-
- gal_a11y_e_cell_add_action (cell,
- _("toggle"), /* action name*/
- _("toggle the cell"), /* action description */
- NULL, /* action keybinding */
- toggle_cell_action);
-
- toggle_cell->model_id = g_signal_connect (item->table_model,
- "model_cell_changed",
- (GCallback) model_change_cb,
- a11y);
-
- value = GPOINTER_TO_INT (
- e_table_model_value_at (cell->cell_view->e_table_model,
- cell->model_col, cell->row));
- if (value)
- gal_a11y_e_cell_add_state (cell, ATK_STATE_CHECKED, FALSE);
- else
- gal_a11y_e_cell_remove_state (cell, ATK_STATE_CHECKED, FALSE);
-
- return a11y;
-}
diff --git a/a11y/e-table/gal-a11y-e-cell-toggle.h b/a11y/e-table/gal-a11y-e-cell-toggle.h
deleted file mode 100644
index 06f9448e02..0000000000
--- a/a11y/e-table/gal-a11y-e-cell-toggle.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef __GAL_A11Y_E_CELL_TOGGLE_H__
-#define __GAL_A11Y_E_CELL_TOGGLE_H__
-
-#include <atk/atk.h>
-#include "gal-a11y-e-cell.h"
-#include "gal-a11y-e-cell-toggle.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define GAL_A11Y_TYPE_E_CELL_TOGGLE (gal_a11y_e_cell_toggle_get_type ())
-#define GAL_A11Y_E_CELL_TOGGLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_A11Y_TYPE_E_CELL_TOGGLE, GalA11yECellToggle))
-#define GAL_A11Y_E_CELL_TOGGLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAL_A11Y_E_CELL_TOGGLE, GalA11yECellToggleClass))
-#define GAL_A11Y_IS_E_CELL_TOGGLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAL_A11Y_TYPE_E_CELL_TOGGLE))
-#define GAL_A11Y_IS_E_CELL_TOGGLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAL_A11Y_TYPE_E_CELL_TOGGLE))
-#define GAL_A11Y_E_CELL_TOGGLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAL_A11Y_TYPE_E_CELL_TOGGLE, GalA11yECellToggleClass))
-
-typedef struct _GalA11yECellToggle GalA11yECellToggle;
-typedef struct _GalA11yECellToggleClass GalA11yECellToggleClass;
-
-struct _GalA11yECellToggle
-{
- GalA11yECell parent;
- gint model_id;
-};
-
-GType gal_a11y_e_cell_toggle_get_type (void);
-
-struct _GalA11yECellToggleClass
-{
- GalA11yECellClass parent_class;
-};
-
-AtkObject *gal_a11y_e_cell_toggle_new (ETableItem *item,
- ECellView *cell_view,
- AtkObject *parent,
- int model_col,
- int view_col,
- int row);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* __GAL_A11Y_E_CELL_TOGGLE_H__ */
diff --git a/a11y/e-table/gal-a11y-e-cell-tree.c b/a11y/e-table/gal-a11y-e-cell-tree.c
deleted file mode 100644
index 126bbcfbe5..0000000000
--- a/a11y/e-table/gal-a11y-e-cell-tree.c
+++ /dev/null
@@ -1,210 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Authors:
- * Tim Wo <tim.wo@sun.com>, Sun Microsystem Inc. 2003.
- *
- * Copyright (C) 2002 Ximian, Inc.
- */
-
-#include <config.h>
-#include <atk/atk.h>
-#include "gal-a11y-e-cell-tree.h"
-#include "gal-a11y-e-cell-registry.h"
-#include "gal-a11y-util.h"
-#include "gal/e-table/e-cell-tree.h"
-#include "gal/e-table/e-table.h"
-#include "gal/e-table/e-tree-table-adapter.h"
-#include <glib/gi18n.h>
-
-#define CS_CLASS(a11y) (G_TYPE_INSTANCE_GET_CLASS ((a11y), C_TYPE_STREAM, GalA11yECellTreeClass))
-static AtkObjectClass *a11y_parent_class;
-#define A11Y_PARENT_TYPE (gal_a11y_e_cell_get_type ())
-
-static void
-ectr_model_row_changed_cb (ETableModel *etm,
- gint row,
- GalA11yECell *a11y)
-{
- ETreePath node;
- ETreeModel *tree_model;
- ETreeTableAdapter *tree_table_adapter;
-
- g_return_if_fail (a11y);
- if (a11y->row != row)
- return;
-
- node = e_table_model_value_at (etm, -1, a11y->row);
- tree_model = e_table_model_value_at (etm, -2, a11y->row);
- tree_table_adapter = e_table_model_value_at (etm, -3, a11y->row);
-
- if (e_tree_model_node_is_expandable (tree_model, node)) {
- gboolean is_exp = e_tree_table_adapter_node_is_expanded (tree_table_adapter, node);
- if (is_exp)
- gal_a11y_e_cell_add_state (a11y, ATK_STATE_EXPANDED, TRUE);
- else
- gal_a11y_e_cell_remove_state (a11y, ATK_STATE_EXPANDED, TRUE);
- }
-}
-
-static void
-ectr_subcell_weak_ref (GalA11yECellTree *a11y,
- GalA11yECell *subcell_a11y)
-{
- g_signal_handler_disconnect (GAL_A11Y_E_CELL (a11y)->item->table_model,
- a11y->model_row_changed_id);
- g_object_unref (a11y);
-}
-
-static void
-ectr_do_action_expand (AtkAction *action)
-{
- GalA11yECell *a11y;
- ETableModel *table_model;
- ETreePath node;
- ETreeModel *tree_model;
- ETreeTableAdapter *tree_table_adapter;
-
- a11y = GAL_A11Y_E_CELL (action);
- table_model = a11y->item->table_model;
- node = e_table_model_value_at (table_model, -1, a11y->row);
- tree_model = e_table_model_value_at (table_model, -2, a11y->row);
- tree_table_adapter = e_table_model_value_at (table_model, -3, a11y->row);
-
- if (e_tree_model_node_is_expandable (tree_model, node)) {
- e_tree_table_adapter_node_set_expanded (tree_table_adapter,
- node,
- TRUE);
- gal_a11y_e_cell_add_state (a11y, ATK_STATE_EXPANDED, TRUE);
- }
-}
-
-static void
-ectr_do_action_collapse (AtkAction *action)
-{
- GalA11yECell *a11y;
- ETableModel *table_model;
- ETreePath node;
- ETreeModel *tree_model;
- ETreeTableAdapter *tree_table_adapter;
-
- a11y = GAL_A11Y_E_CELL (action);
- table_model = a11y->item->table_model;
- node = e_table_model_value_at (table_model, -1, a11y->row);
- tree_model = e_table_model_value_at (table_model, -2, a11y->row);
- tree_table_adapter = e_table_model_value_at (table_model, -3, a11y->row);
-
- if (e_tree_model_node_is_expandable (tree_model, node)) {
- e_tree_table_adapter_node_set_expanded (tree_table_adapter,
- node,
- FALSE);
- gal_a11y_e_cell_remove_state (a11y, ATK_STATE_EXPANDED, TRUE);
- }
-}
-
-static void
-ectr_class_init (GalA11yECellTreeClass *klass)
-{
- a11y_parent_class = g_type_class_ref (A11Y_PARENT_TYPE);
-}
-
-static void
-ectr_init (GalA11yECellTree *a11y)
-{
-}
-
-GType
-gal_a11y_e_cell_tree_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- GTypeInfo info = {
- sizeof (GalA11yECellTreeClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) ectr_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (GalA11yECellTree),
- 0,
- (GInstanceInitFunc) ectr_init,
- NULL /* value_cell_text */
- };
-
- type = g_type_register_static (A11Y_PARENT_TYPE, "GalA11yECellTree", &info, 0);
- gal_a11y_e_cell_type_add_action_interface (type);
- }
-
- return type;
-}
-
-AtkObject *
-gal_a11y_e_cell_tree_new (ETableItem *item,
- ECellView *cell_view,
- AtkObject *parent,
- int model_col,
- int view_col,
- int row)
-{
- AtkObject *subcell_a11y;
- GalA11yECellTree *a11y;
-
- ETreePath node;
- ETreeModel *tree_model;
- ETreeTableAdapter *tree_table_adapter;
-
- ECellView *subcell_view;
- subcell_view = e_cell_tree_view_get_subcell_view (cell_view);
-
- if (subcell_view->ecell) {
- subcell_a11y = gal_a11y_e_cell_registry_get_object (NULL,
- item,
- subcell_view,
- parent,
- model_col,
- view_col,
- row);
- gal_a11y_e_cell_add_action (GAL_A11Y_E_CELL (subcell_a11y),
- _("expand"),
- _("expands the row in the ETree containing this cell"),
- NULL,
- (ACTION_FUNC)ectr_do_action_expand);
-
- gal_a11y_e_cell_add_action (GAL_A11Y_E_CELL (subcell_a11y),
- _("collapse"),
- _("collapses the row in the ETree containing this cell"),
- NULL,
- (ACTION_FUNC)ectr_do_action_collapse);
-
- /* init AtkStates for the cell's a11y object */
- node = e_table_model_value_at (item->table_model, -1, row);
- tree_model = e_table_model_value_at (item->table_model, -2, row);
- tree_table_adapter = e_table_model_value_at (item->table_model, -3, row);
- if (e_tree_model_node_is_expandable (tree_model, node)) {
- gal_a11y_e_cell_add_state (GAL_A11Y_E_CELL (subcell_a11y), ATK_STATE_EXPANDABLE, FALSE);
- if (e_tree_table_adapter_node_is_expanded (tree_table_adapter, node))
- gal_a11y_e_cell_add_state (GAL_A11Y_E_CELL (subcell_a11y), ATK_STATE_EXPANDED, FALSE);
- }
- }
- else
- subcell_a11y = NULL;
-
- /* create a companion a11y object, this object has type GalA11yECellTree
- and it connects to some signals to determine whether a tree cell is
- expanded or collapsed */
- a11y = g_object_new (gal_a11y_e_cell_tree_get_type (), NULL);
- gal_a11y_e_cell_construct (ATK_OBJECT (a11y),
- item,
- cell_view,
- parent,
- model_col,
- view_col,
- row);
- a11y->model_row_changed_id =
- g_signal_connect (item->table_model, "model_row_changed",
- G_CALLBACK (ectr_model_row_changed_cb),
- subcell_a11y);
- g_object_weak_ref (G_OBJECT (subcell_a11y), (GWeakNotify) ectr_subcell_weak_ref, a11y);
-
- return subcell_a11y;
-}
diff --git a/a11y/e-table/gal-a11y-e-cell-tree.h b/a11y/e-table/gal-a11y-e-cell-tree.h
deleted file mode 100644
index 355670b5a4..0000000000
--- a/a11y/e-table/gal-a11y-e-cell-tree.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Authors:
- * Tim Wo <tim.wo@sun.com>, Sun Microsystem Inc. 2003.
- *
- * Copyright (C) 2002 Ximian, Inc.
- */
-
-#ifndef __GAL_A11Y_E_CELL_TREE_H__
-#define __GAL_A11Y_E_CELL_TREE_H__
-
-#include <glib-object.h>
-#include <gal/e-table/e-table-item.h>
-#include <gal/e-table/e-cell-tree.h>
-#include "gal-a11y-e-cell.h"
-
-#define GAL_A11Y_TYPE_E_CELL_TREE (gal_a11y_e_cell_tree_get_type ())
-#define GAL_A11Y_E_CELL_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_A11Y_TYPE_E_CELL_TREE, GalA11yECellTree))
-#define GAL_A11Y_E_CELL_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAL_A11Y_TYPE_E_CELL_TREE, GalA11yECellTreeClass))
-#define GAL_A11Y_IS_E_CELL_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAL_A11Y_TYPE_E_CELL_TREE))
-#define GAL_A11Y_IS_E_CELL_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAL_A11Y_TYPE_E_CELL_TREE))
-
-typedef struct _GalA11yECellTree GalA11yECellTree;
-typedef struct _GalA11yECellTreeClass GalA11yECellTreeClass;
-typedef struct _GalA11yECellTreePrivate GalA11yECellTreePrivate;
-
-/* This struct should actually be larger as this isn't what we derive from.
- * The GalA11yECellTreePrivate comes right after the parent class structure.
- **/
-struct _GalA11yECellTree {
- GalA11yECell object;
-
- int model_row_changed_id;
-};
-
-struct _GalA11yECellTreeClass {
- GalA11yECellClass parent_class;
-};
-
-
-/* Standard Glib function */
-GType gal_a11y_e_cell_tree_get_type (void);
-AtkObject *gal_a11y_e_cell_tree_new (ETableItem *item,
- ECellView *cell_view,
- AtkObject *parent,
- int model_col,
- int view_col,
- int row);
-
-#endif /* ! __GAL_A11Y_E_CELL_TREE_H__ */
diff --git a/a11y/e-table/gal-a11y-e-cell-vbox.c b/a11y/e-table/gal-a11y-e-cell-vbox.c
deleted file mode 100644
index 4f2c156da8..0000000000
--- a/a11y/e-table/gal-a11y-e-cell-vbox.c
+++ /dev/null
@@ -1,214 +0,0 @@
-/* Evolution Accessibility: gal-a11y-e-cell-vbox.c
- *
- * Copyright (C) 2004 Sun Microsystem, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Eric Zhao <eric.zhao@sun.com> Sun Microsystem Inc., 2004
- *
- */
-#include "gal-a11y-e-cell-vbox.h"
-#include "gal-a11y-e-cell-registry.h"
-#include <gal/e-table/e-cell-vbox.h>
-#include <atk/atkcomponent.h>
-
-static GObjectClass *parent_class;
-static AtkComponentIface *component_parent_iface;
-#define PARENT_TYPE (gal_a11y_e_cell_get_type ())
-
-static gint
-ecv_get_n_children (AtkObject *a11y)
-{
- g_return_val_if_fail (GAL_A11Y_IS_E_CELL_VBOX (a11y), 0);
- GalA11yECellVbox *gaev = GAL_A11Y_E_CELL_VBOX (a11y);
- return (gaev->a11y_subcell_count);
-}
-
-static void
-subcell_destroyed (gpointer data)
-{
- GalA11yECell *cell;
- AtkObject *parent;
- GalA11yECellVbox *gaev;
-
- g_return_if_fail (GAL_A11Y_IS_E_CELL (data));
- cell = GAL_A11Y_E_CELL (data);
-
- parent = atk_object_get_parent (ATK_OBJECT (cell));
- g_return_if_fail (GAL_A11Y_IS_E_CELL_VBOX (parent));
- gaev = GAL_A11Y_E_CELL_VBOX (parent);
-
- if (cell->view_col < gaev->a11y_subcell_count)
- gaev->a11y_subcells[cell->view_col] = NULL;
-}
-
-static AtkObject*
-ecv_ref_child (AtkObject *a11y, gint i)
-{
- GalA11yECellVbox *gaev = GAL_A11Y_E_CELL_VBOX (a11y);
- GalA11yECell *gaec = GAL_A11Y_E_CELL (a11y);
- ECellVboxView *ecvv = (ECellVboxView *) (gaec->cell_view);
- AtkObject *ret;
- if (i < gaev->a11y_subcell_count) {
- if (gaev->a11y_subcells[i] == NULL) {
- gint model_col, row;
- row = gaec->row;
- model_col = ecvv->model_cols[i];
- ECellView *subcell_view = ecvv->subcell_views[i];
- ret = gal_a11y_e_cell_registry_get_object (NULL,
- gaec->item,
- subcell_view,
- a11y,
- model_col,
- gaec->view_col, /* FIXME should the view column use a fake one or the same as its parent? */
- row);
- gaev->a11y_subcells[i] = ret;
- g_object_ref (ret);
- g_object_weak_ref (G_OBJECT (ret),
- (GWeakNotify) subcell_destroyed,
- ret);
- } else {
- ret = (AtkObject *) gaev->a11y_subcells[i];
- if (ATK_IS_OBJECT (ret))
- g_object_ref (ret);
- else
- ret = NULL;
- }
- } else {
- ret = NULL;
- }
-
- return ret;
-}
-
-static void
-ecv_dispose (GObject *object)
-{
- GalA11yECellVbox *gaev = GAL_A11Y_E_CELL_VBOX (object);
- if (gaev->a11y_subcells)
- g_free (gaev->a11y_subcells);
-
- if (parent_class->dispose)
- parent_class->dispose (object);
-}
-
-/* AtkComponet interface */
-static AtkObject*
-ecv_ref_accessible_at_point (AtkComponent *component,
- gint x,
- gint y,
- AtkCoordType coord_type)
-{
- gint x0, y0, width, height;
- int subcell_height, i;
-
- GalA11yECell *gaec = GAL_A11Y_E_CELL (component);
- ECellVboxView *ecvv = (ECellVboxView *) (gaec->cell_view);
-
- atk_component_get_extents (component, &x0, &y0, &width, &height, coord_type);
- x -= x0;
- y -= y0;
- if (x < 0 || x > width || y < 0 || y > height)
- return NULL;
-
- for (i = 0; i < ecvv->subcell_view_count; i++) {
- subcell_height = e_cell_height (ecvv->subcell_views[i], ecvv->model_cols[i], gaec->view_col, gaec->row);
- if ( 0 <= y && y <= subcell_height) {
- return ecv_ref_child ((AtkObject *)component, i);
- } else
- y -= subcell_height;
- }
-
- return NULL;
-}
-
-static void
-ecv_class_init (GalA11yECellVboxClass *klass)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *a11y_class = ATK_OBJECT_CLASS (klass);
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class->dispose = ecv_dispose;
-
- a11y_class->get_n_children = ecv_get_n_children;
- a11y_class->ref_child = ecv_ref_child;
-}
-
-static void
-ecv_init (GalA11yECellVbox *a11y)
-{
-}
-
-static void
-ecv_atk_component_iface_init (AtkComponentIface *iface)
-{
- component_parent_iface = g_type_interface_peek_parent (iface);
-
- iface->ref_accessible_at_point = ecv_ref_accessible_at_point;
-}
-
-GType
-gal_a11y_e_cell_vbox_get_type (void)
-{
- static GType type = 0;
- if (!type) {
- GTypeInfo info = {
- sizeof (GalA11yECellVboxClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) ecv_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (GalA11yECellVbox),
- 0,
- (GInstanceInitFunc) ecv_init,
- NULL /* value_cell */
- };
-
- static const GInterfaceInfo atk_component_info = {
- (GInterfaceInitFunc) ecv_atk_component_iface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- type = g_type_register_static (PARENT_TYPE, "GalA11yECellVbox", &info, 0);
- gal_a11y_e_cell_type_add_action_interface (type);
- g_type_add_interface_static (type, ATK_TYPE_COMPONENT, &atk_component_info);
- }
-
- return type;
-}
-
-AtkObject *gal_a11y_e_cell_vbox_new (ETableItem *item,
- ECellView *cell_view,
- AtkObject *parent,
- int model_col,
- int view_col,
- int row)
-{
- AtkObject *a11y;
-
- a11y = g_object_new (gal_a11y_e_cell_vbox_get_type (), NULL);
-
- gal_a11y_e_cell_construct (a11y, item, cell_view, parent, model_col, view_col, row);
-
- GalA11yECell *gaec = GAL_A11Y_E_CELL (a11y);
- GalA11yECellVbox *gaev = GAL_A11Y_E_CELL_VBOX (a11y);
- ECellVboxView *ecvv = (ECellVboxView *) (gaec->cell_view);
- gaev->a11y_subcell_count = ecvv->subcell_view_count;
- gaev->a11y_subcells = g_malloc0 (sizeof(AtkObject *)*gaev->a11y_subcell_count);
- return a11y;
-}
diff --git a/a11y/e-table/gal-a11y-e-cell-vbox.h b/a11y/e-table/gal-a11y-e-cell-vbox.h
deleted file mode 100644
index ea0c9d8dc9..0000000000
--- a/a11y/e-table/gal-a11y-e-cell-vbox.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Evolution Accessibility: gal-a11y-e-cell-vbox.h
- *
- * Copyright (C) 2004 Sun Microsystem, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Eric Zhao <eric.zhao@sun.com> Sun Microsystem Inc., 2004
- *
- */
-#ifndef __GAL_A11Y_E_CELL_VBOX_H__
-#define __GAL_A11Y_E_CELL_VBOX_H__
-
-#include "gal-a11y-e-cell.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define GAL_A11Y_TYPE_E_CELL_VBOX (gal_a11y_e_cell_vbox_get_type ())
-#define GAL_A11Y_E_CELL_VBOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_A11Y_TYPE_E_CELL_VBOX, GalA11yECellVbox))
-#define GAL_A11Y_E_CELL_VBOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAL_A11Y_E_CELL_VBOX, GalA11yECellVboxClass))
-#define GAL_A11Y_IS_E_CELL_VBOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAL_A11Y_TYPE_E_CELL_VBOX))
-#define GAL_A11Y_IS_E_CELL_VBOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAL_A11Y_TYPE_E_CELL_VBOX))
-#define GAL_A11Y_E_CELL_VBOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAL_A11Y_TYPE_E_CELL_VBOX, GalA11yECellVboxClass))
-
-typedef struct _GalA11yECellVbox GalA11yECellVbox;
-typedef struct _GalA11yECellVboxClass GalA11yECellVboxClass;
-
-struct _GalA11yECellVbox
-{
- GalA11yECell object;
- int a11y_subcell_count;
- gpointer *a11y_subcells;
-};
-
-struct _GalA11yECellVboxClass
-{
- GalA11yECellClass parent_class;
-};
-
-GType gal_a11y_e_cell_vbox_get_type (void);
-AtkObject *gal_a11y_e_cell_vbox_new (ETableItem *item,
- ECellView *cell_view,
- AtkObject *parent,
- int model_col,
- int view_col,
- int row);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-#endif /* __GAL_A11Y_E_CELL_VBOX_H__ */
diff --git a/a11y/e-table/gal-a11y-e-cell.c b/a11y/e-table/gal-a11y-e-cell.c
deleted file mode 100644
index 8718713a44..0000000000
--- a/a11y/e-table/gal-a11y-e-cell.c
+++ /dev/null
@@ -1,628 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Authors:
- * Christopher James Lahey <clahey@ximian.com>
- *
- * Copyright (C) 2002 Ximian, Inc.
- */
-
-#include <config.h>
-#include <string.h>
-#include "gal/e-table/e-table.h"
-#include "gal/e-table/e-tree.h"
-#include "gal-a11y-e-table-item.h"
-#include "gal-a11y-e-cell.h"
-#include "gal-a11y-e-cell-vbox.h"
-#include "gal-a11y-util.h"
-#include <atk/atkobject.h>
-#include <atk/atkcomponent.h>
-#include <atk/atkaction.h>
-#include <atk/atkstateset.h>
-#include <gtk/gtkwindow.h>
-#include <glib/gi18n.h>
-
-#define CS_CLASS(a11y) (G_TYPE_INSTANCE_GET_CLASS ((a11y), C_TYPE_STREAM, GalA11yECellClass))
-static GObjectClass *parent_class;
-#define PARENT_TYPE (atk_object_get_type ())
-
-
-#if 0
-static void
-unref_item (gpointer user_data, GObject *obj_loc)
-{
- GalA11yECell *a11y = GAL_A11Y_E_CELL (user_data);
- a11y->item = NULL;
- g_object_unref (a11y);
-}
-
-static void
-unref_cell (gpointer user_data, GObject *obj_loc)
-{
- GalA11yECell *a11y = GAL_A11Y_E_CELL (user_data);
- a11y->cell_view = NULL;
- g_object_unref (a11y);
-}
-#endif
-
-static gboolean
-is_valid (AtkObject *cell)
-{
- GalA11yECell *a11y = GAL_A11Y_E_CELL (cell);
- GalA11yETableItem *a11yItem = GAL_A11Y_E_TABLE_ITEM (a11y->parent);
- AtkStateSet *item_ss;
- gboolean ret = TRUE;
-
- item_ss = atk_object_ref_state_set (ATK_OBJECT (a11yItem));
- if (atk_state_set_contains_state (item_ss, ATK_STATE_DEFUNCT))
- ret = FALSE;
-
- g_object_unref (item_ss);
-
- if (ret && atk_state_set_contains_state (a11y->state_set, ATK_STATE_DEFUNCT))
- ret = FALSE;
-
- return ret;
-}
-
-static void
-gal_a11y_e_cell_dispose (GObject *object)
-{
- GalA11yECell *a11y = GAL_A11Y_E_CELL (object);
-
-#if 0
- if (a11y->item)
- g_object_unref (G_OBJECT (a11y->item)); /*, unref_item, a11y); */
- if (a11y->cell_view)
- g_object_unref (G_OBJECT (a11y->cell_view)); /*, unref_cell, a11y); */
- if (a11y->parent)
- g_object_unref (a11y->parent);
-#endif
-
- if (a11y->state_set) {
- g_object_unref (a11y->state_set);
- a11y->state_set = NULL;
- }
-
- if (parent_class->dispose)
- parent_class->dispose (object);
-
-}
-
-/* Static functions */
-static G_CONST_RETURN gchar*
-gal_a11y_e_cell_get_name (AtkObject * a11y)
-{
- GalA11yECell *cell = GAL_A11Y_E_CELL (a11y);
- ETableCol *ecol;
-
- if (a11y->name != NULL && strcmp (a11y->name, ""))
- return a11y->name;
-
- if (cell->item != NULL) {
- ecol = e_table_header_get_column (cell->item->header, cell->view_col);
- if (ecol != NULL)
- return ecol->text;
- }
-
- return _("Table Cell");
-}
-
-static AtkStateSet *
-gal_a11y_e_cell_ref_state_set (AtkObject *accessible)
-{
- GalA11yECell *cell = GAL_A11Y_E_CELL (accessible);
-
- g_return_val_if_fail (cell->state_set, NULL);
-
- g_object_ref(cell->state_set);
-
- return cell->state_set;
-}
-
-static AtkObject*
-gal_a11y_e_cell_get_parent (AtkObject *accessible)
-{
- GalA11yECell *a11y = GAL_A11Y_E_CELL (accessible);
- return a11y->parent;
-}
-
-static gint
-gal_a11y_e_cell_get_index_in_parent (AtkObject *accessible)
-{
- GalA11yECell *a11y = GAL_A11Y_E_CELL (accessible);
-
- if (!is_valid (accessible))
- return -1;
-
- return a11y->row * a11y->item->cols + a11y->view_col;
-}
-
-
-/* Component IFace */
-static void
-gal_a11y_e_cell_get_extents (AtkComponent *component,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coord_type)
-{
- GalA11yECell *a11y = GAL_A11Y_E_CELL (component);
- GtkWidget *tableOrTree;
- int row;
- int col;
- int xval;
- int yval;
-
- row = a11y->row;
- col = a11y->view_col;
-
- tableOrTree = gtk_widget_get_parent (GTK_WIDGET (a11y->item->parent.canvas));
- if (E_IS_TREE (tableOrTree)) {
- e_tree_get_cell_geometry (E_TREE (tableOrTree),
- row, col, &xval, &yval,
- width, height);
- } else {
- e_table_get_cell_geometry (E_TABLE (tableOrTree),
- row, col, &xval, &yval,
- width, height);
- }
-
- atk_component_get_position (ATK_COMPONENT (a11y->parent),
- x, y, coord_type);
- if (x && *x != G_MININT)
- *x += xval;
- if (y && *y != G_MININT)
- *y += yval;
-}
-
-static gboolean
-gal_a11y_e_cell_grab_focus (AtkComponent *component)
-{
- GalA11yECell *a11y;
- gint index;
- GtkWidget *toplevel;
- GalA11yETableItem *a11yTableItem;
-
- a11y = GAL_A11Y_E_CELL (component);
-
- /* for e_cell_vbox's children, we just grab the e_cell_vbox */
- if (GAL_A11Y_IS_E_CELL_VBOX (a11y->parent)) {
- return atk_component_grab_focus (ATK_COMPONENT (a11y->parent));
- }
-
- a11yTableItem = GAL_A11Y_E_TABLE_ITEM (a11y->parent);
- index = atk_object_get_index_in_parent (ATK_OBJECT (a11y));
-
- atk_selection_clear_selection (ATK_SELECTION (a11yTableItem));
- atk_selection_add_selection (ATK_SELECTION (a11yTableItem), index);
-
- gtk_widget_grab_focus (GTK_WIDGET (GNOME_CANVAS_ITEM (a11y->item)->canvas));
- toplevel = gtk_widget_get_toplevel (GTK_WIDGET (GNOME_CANVAS_ITEM (a11y->item)->canvas));
- if (toplevel && GTK_WIDGET_TOPLEVEL (toplevel))
- gtk_window_present (GTK_WINDOW (toplevel));
-
- return TRUE;
-}
-
-/* Table IFace */
-
-static void
-gal_a11y_e_cell_atk_component_iface_init (AtkComponentIface *iface)
-{
- iface->get_extents = gal_a11y_e_cell_get_extents;
- iface->grab_focus = gal_a11y_e_cell_grab_focus;
-}
-
-static void
-gal_a11y_e_cell_class_init (GalA11yECellClass *klass)
-{
- AtkObjectClass *atk_object_class = ATK_OBJECT_CLASS (klass);
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class->dispose = gal_a11y_e_cell_dispose;
-
- atk_object_class->get_parent = gal_a11y_e_cell_get_parent;
- atk_object_class->get_index_in_parent = gal_a11y_e_cell_get_index_in_parent;
- atk_object_class->ref_state_set = gal_a11y_e_cell_ref_state_set;
- atk_object_class->get_name = gal_a11y_e_cell_get_name;
-}
-
-static void
-gal_a11y_e_cell_init (GalA11yECell *a11y)
-{
- a11y->item = NULL;
- a11y->cell_view = NULL;
- a11y->parent = NULL;
- a11y->model_col = -1;
- a11y->view_col = -1;
- a11y->row = -1;
-
- a11y->state_set = atk_state_set_new ();
- atk_state_set_add_state (a11y->state_set, ATK_STATE_TRANSIENT);
- atk_state_set_add_state (a11y->state_set, ATK_STATE_ENABLED);
- atk_state_set_add_state (a11y->state_set, ATK_STATE_SENSITIVE);
- atk_state_set_add_state (a11y->state_set, ATK_STATE_SELECTABLE);
- atk_state_set_add_state (a11y->state_set, ATK_STATE_SHOWING);
- atk_state_set_add_state (a11y->state_set, ATK_STATE_FOCUSABLE);
- atk_state_set_add_state (a11y->state_set, ATK_STATE_VISIBLE);
-}
-
-
-static ActionInfo *
-_gal_a11y_e_cell_get_action_info (GalA11yECell *cell,
- gint index)
-{
- GList *list_node;
-
- g_return_val_if_fail (GAL_A11Y_IS_E_CELL (cell), NULL);
- if (cell->action_list == NULL)
- return NULL;
- list_node = g_list_nth (cell->action_list, index);
- if (!list_node)
- return NULL;
- return (ActionInfo *) (list_node->data);
-}
-
-static void
-_gal_a11y_e_cell_destroy_action_info (gpointer action_info,
- gpointer user_data)
-{
- ActionInfo *info = (ActionInfo *)action_info;
-
- g_return_if_fail (info != NULL);
- g_free (info->name);
- g_free (info->description);
- g_free (info->keybinding);
- g_free (info);
-}
-
-
-gboolean
-gal_a11y_e_cell_add_action ( GalA11yECell * cell,
- const gchar *action_name,
- const gchar *action_description,
- const gchar *action_keybinding,
- ACTION_FUNC action_func)
-{
- ActionInfo *info;
- g_return_val_if_fail (GAL_A11Y_IS_E_CELL (cell), FALSE);
- info = g_new (ActionInfo, 1);
-
- if (action_name != NULL)
- info->name = g_strdup (action_name);
- else
- info->name = NULL;
-
- if (action_description != NULL)
- info->description = g_strdup (action_description);
- else
- info->description = NULL;
- if (action_keybinding != NULL)
- info->keybinding = g_strdup (action_keybinding);
- else
- info->keybinding = NULL;
- info->do_action_func = action_func;
-
- cell->action_list = g_list_append (cell->action_list, (gpointer) info);
- return TRUE;
-}
-
-gboolean
-gal_a11y_e_cell_remove_action (GalA11yECell *cell,
- gint action_index)
-{
- GList *list_node;
-
- g_return_val_if_fail (GAL_A11Y_IS_E_CELL (cell), FALSE);
- list_node = g_list_nth (cell->action_list, action_index);
- if (!list_node)
- return FALSE;
- g_return_val_if_fail (list_node->data != NULL, FALSE);
- _gal_a11y_e_cell_destroy_action_info (list_node->data, NULL);
- cell->action_list = g_list_remove_link (cell->action_list, list_node);
-
- return TRUE;
-}
-
-gboolean
-gal_a11y_e_cell_remove_action_by_name (GalA11yECell *cell,
- const gchar *action_name)
-{
- GList *list_node;
- gboolean action_found= FALSE;
-
- g_return_val_if_fail (GAL_A11Y_IS_E_CELL (cell), FALSE);
- for (list_node = cell->action_list; list_node && !action_found;
- list_node = list_node->next) {
- if (!g_strcasecmp (((ActionInfo *)(list_node->data))->name, action_name)) {
- action_found = TRUE;
- break;
- }
- }
-
- g_return_val_if_fail (action_found, FALSE);
- _gal_a11y_e_cell_destroy_action_info (list_node->data, NULL);
- cell->action_list = g_list_remove_link (cell->action_list, list_node);
-
- return TRUE;
-}
-
-static gint
-gal_a11y_e_cell_action_get_n_actions (AtkAction *action)
-{
- GalA11yECell *cell = GAL_A11Y_E_CELL(action);
- if (cell->action_list != NULL)
- return g_list_length (cell->action_list);
- else
- return 0;
-}
-
-static G_CONST_RETURN gchar *
-gal_a11y_e_cell_action_get_name (AtkAction *action,
- gint index)
-{
- GalA11yECell *cell = GAL_A11Y_E_CELL(action);
- ActionInfo *info = _gal_a11y_e_cell_get_action_info (cell, index);
-
- if (info == NULL)
- return NULL;
- return info->name;
-}
-
-static G_CONST_RETURN gchar *
-gal_a11y_e_cell_action_get_description (AtkAction *action,
- gint index)
-{
- GalA11yECell *cell = GAL_A11Y_E_CELL(action);
- ActionInfo *info = _gal_a11y_e_cell_get_action_info (cell, index);
-
- if (info == NULL)
- return NULL;
- return info->description;
-}
-
-static gboolean
-gal_a11y_e_cell_action_set_description (AtkAction *action,
- gint index,
- const gchar *desc)
-{
- GalA11yECell *cell = GAL_A11Y_E_CELL(action);
- ActionInfo *info = _gal_a11y_e_cell_get_action_info (cell, index);
-
- if (info == NULL)
- return FALSE;
- g_free (info->description);
- info->description = g_strdup (desc);
- return TRUE;
-}
-
-static G_CONST_RETURN gchar *
-gal_a11y_e_cell_action_get_keybinding (AtkAction *action,
- gint index)
-{
- GalA11yECell *cell = GAL_A11Y_E_CELL(action);
- ActionInfo *info = _gal_a11y_e_cell_get_action_info (cell, index);
- if (info == NULL)
- return NULL;
-
- return info->keybinding;
-}
-
-static gboolean
-idle_do_action (gpointer data)
-{
- GalA11yECell *cell;
-
- cell = GAL_A11Y_E_CELL (data);
-
- if (!is_valid (ATK_OBJECT (cell)))
- return FALSE;
-
- cell->action_idle_handler = 0;
- cell->action_func (cell);
-
- return FALSE;
-}
-
-static gboolean
-gal_a11y_e_cell_action_do_action (AtkAction *action,
- gint index)
-{
- GalA11yECell *cell = GAL_A11Y_E_CELL(action);
- ActionInfo *info = _gal_a11y_e_cell_get_action_info (cell, index);
-
- if (!is_valid (ATK_OBJECT (action)))
- return FALSE;
-
- if (info == NULL)
- return FALSE;
- g_return_val_if_fail (info->do_action_func, FALSE);
- if (cell->action_idle_handler)
- return FALSE;
- cell->action_func = info->do_action_func;
- cell->action_idle_handler = g_idle_add (idle_do_action, cell);
-
- return TRUE;
-}
-
-static void
-gal_a11y_e_cell_atk_action_interface_init (AtkActionIface *iface)
-{
- g_return_if_fail (iface != NULL);
-
- iface->get_n_actions = gal_a11y_e_cell_action_get_n_actions;
- iface->do_action = gal_a11y_e_cell_action_do_action;
- iface->get_name = gal_a11y_e_cell_action_get_name;
- iface->get_description = gal_a11y_e_cell_action_get_description;
- iface->set_description = gal_a11y_e_cell_action_set_description;
- iface->get_keybinding = gal_a11y_e_cell_action_get_keybinding;
-}
-
-void
-gal_a11y_e_cell_type_add_action_interface (GType type)
-{
- static const GInterfaceInfo atk_action_info =
- {
- (GInterfaceInitFunc) gal_a11y_e_cell_atk_action_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- g_type_add_interface_static (type, ATK_TYPE_ACTION,
- &atk_action_info);
-}
-
-gboolean
-gal_a11y_e_cell_add_state (GalA11yECell *cell,
- AtkStateType state_type,
- gboolean emit_signal)
-{
- if (!atk_state_set_contains_state (cell->state_set, state_type)) {
- gboolean rc;
-
- rc = atk_state_set_add_state (cell->state_set, state_type);
- /*
- * The signal should only be generated if the value changed,
- * not when the cell is set up. So states that are set
- * initially should pass FALSE as the emit_signal argument.
- */
-
- if (emit_signal) {
- atk_object_notify_state_change (ATK_OBJECT (cell), state_type, TRUE);
- /* If state_type is ATK_STATE_VISIBLE, additional
- notification */
- if (state_type == ATK_STATE_VISIBLE)
- g_signal_emit_by_name (cell, "visible_data_changed");
- }
-
- return rc;
- }
- else
- return FALSE;
-}
-
-gboolean
-gal_a11y_e_cell_remove_state (GalA11yECell *cell,
- AtkStateType state_type,
- gboolean emit_signal)
-{
- if (atk_state_set_contains_state (cell->state_set, state_type)) {
- gboolean rc;
-
- rc = atk_state_set_remove_state (cell->state_set, state_type);
- /*
- * The signal should only be generated if the value changed,
- * not when the cell is set up. So states that are set
- * initially should pass FALSE as the emit_signal argument.
- */
-
- if (emit_signal) {
- atk_object_notify_state_change (ATK_OBJECT (cell), state_type, FALSE);
- /* If state_type is ATK_STATE_VISIBLE, additional notification */
- if (state_type == ATK_STATE_VISIBLE)
- g_signal_emit_by_name (cell, "visible_data_changed");
- }
-
- return rc;
- }
- else
- return FALSE;
-}
-
-/**
- * gal_a11y_e_cell_get_type:
- * @void:
- *
- * Registers the &GalA11yECell class if necessary, and returns the type ID
- * associated to it.
- *
- * Return value: The type ID of the &GalA11yECell class.
- **/
-GType
-gal_a11y_e_cell_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- GTypeInfo info = {
- sizeof (GalA11yECellClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) gal_a11y_e_cell_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (GalA11yECell),
- 0,
- (GInstanceInitFunc) gal_a11y_e_cell_init,
- NULL /* value_cell */
- };
-
- static const GInterfaceInfo atk_component_info = {
- (GInterfaceInitFunc) gal_a11y_e_cell_atk_component_iface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- type = g_type_register_static (PARENT_TYPE, "GalA11yECell", &info, 0);
- g_type_add_interface_static (type, ATK_TYPE_COMPONENT, &atk_component_info);
- }
-
- return type;
-}
-
-AtkObject *
-gal_a11y_e_cell_new (ETableItem *item,
- ECellView *cell_view,
- AtkObject *parent,
- int model_col,
- int view_col,
- int row)
-{
- AtkObject *a11y;
-
- a11y = g_object_new (gal_a11y_e_cell_get_type (), NULL);
-
- gal_a11y_e_cell_construct (a11y,
- item,
- cell_view,
- parent,
- model_col,
- view_col,
- row);
- return a11y;
-}
-
-void
-gal_a11y_e_cell_construct (AtkObject *object,
- ETableItem *item,
- ECellView *cell_view,
- AtkObject *parent,
- int model_col,
- int view_col,
- int row)
-{
- GalA11yECell *a11y = GAL_A11Y_E_CELL (object);
- a11y->item = item;
- a11y->cell_view = cell_view;
- a11y->parent = parent;
- a11y->model_col = model_col;
- a11y->view_col = view_col;
- a11y->row = row;
- ATK_OBJECT (a11y) ->role = ATK_ROLE_TABLE_CELL;
-
- if (item)
- g_object_ref (G_OBJECT (item));
-
-#if 0
- if (parent)
- g_object_ref (parent);
-
- if (cell_view)
- g_object_ref (G_OBJECT (cell_view));
-
-
-#endif
-}
diff --git a/a11y/e-table/gal-a11y-e-cell.h b/a11y/e-table/gal-a11y-e-cell.h
deleted file mode 100644
index 53a6c0089d..0000000000
--- a/a11y/e-table/gal-a11y-e-cell.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Authors:
- * Christopher James Lahey <clahey@ximian.com>
- *
- * Copyright (C) 2001 Chris Lahey
- */
-
-#ifndef __GAL_A11Y_E_CELL_H__
-#define __GAL_A11Y_E_CELL_H__
-
-#include <glib-object.h>
-#include <gal/e-table/e-table-item.h>
-#include <gal/e-table/e-cell.h>
-
-#define GAL_A11Y_TYPE_E_CELL (gal_a11y_e_cell_get_type ())
-#define GAL_A11Y_E_CELL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_A11Y_TYPE_E_CELL, GalA11yECell))
-#define GAL_A11Y_E_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAL_A11Y_TYPE_E_CELL, GalA11yECellClass))
-#define GAL_A11Y_IS_E_CELL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAL_A11Y_TYPE_E_CELL))
-#define GAL_A11Y_IS_E_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAL_A11Y_TYPE_E_CELL))
-
-typedef struct _GalA11yECell GalA11yECell;
-typedef struct _GalA11yECellClass GalA11yECellClass;
-typedef struct _GalA11yECellPrivate GalA11yECellPrivate;
-typedef struct _ActionInfo ActionInfo;
-typedef void (*ACTION_FUNC) (GalA11yECell *cell);
-
-
-/* This struct should actually be larger as this isn't what we derive from.
- * The GalA11yECellPrivate comes right after the parent class structure.
- **/
-struct _GalA11yECell {
- AtkObject object;
-
- ETableItem *item;
- ECellView *cell_view;
- AtkObject *parent;
- int model_col;
- int view_col;
- int row;
- AtkStateSet *state_set;
- GList *action_list;
- gint action_idle_handler;
- ACTION_FUNC action_func;
-};
-
-struct _GalA11yECellClass {
- AtkObjectClass parent_class;
-};
-
-struct _ActionInfo {
- gchar *name;
- gchar *description;
- gchar *keybinding;
- ACTION_FUNC do_action_func;
-};
-
-
-
-/* Standard Glib function */
-GType gal_a11y_e_cell_get_type (void);
-AtkObject *gal_a11y_e_cell_new (ETableItem *item,
- ECellView *cell_view,
- AtkObject *parent,
- int model_col,
- int view_col,
- int row);
-void gal_a11y_e_cell_construct (AtkObject *object,
- ETableItem *item,
- ECellView *cell_view,
- AtkObject *parent,
- int model_col,
- int view_col,
- int row);
-
-void gal_a11y_e_cell_type_add_action_interface (GType type);
-
-gboolean gal_a11y_e_cell_add_action (GalA11yECell *cell,
- const gchar *action_name,
- const gchar *action_description,
- const gchar *action_keybinding,
- ACTION_FUNC action_func);
-
-gboolean gal_a11y_e_cell_remove_action (GalA11yECell *cell,
- gint action_id);
-
-gboolean gal_a11y_e_cell_remove_action_by_name (GalA11yECell *cell,
- const gchar *action_name);
-
-gboolean gal_a11y_e_cell_add_state (GalA11yECell *cell,
- AtkStateType state_type,
- gboolean emit_signal);
-
-gboolean gal_a11y_e_cell_remove_state (GalA11yECell *cell,
- AtkStateType state_type,
- gboolean emit_signal);
-
-
-#endif /* ! __GAL_A11Y_E_CELL_H__ */
diff --git a/a11y/e-table/gal-a11y-e-table-click-to-add-factory.c b/a11y/e-table/gal-a11y-e-table-click-to-add-factory.c
deleted file mode 100644
index 9c46b2badc..0000000000
--- a/a11y/e-table/gal-a11y-e-table-click-to-add-factory.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Authors: Yuedong Du <yuedong.du@sun.com>
- *
- * Copyright (C) 2003 Ximian, Inc.
- */
-
-#include <config.h>
-#include "gal-a11y-e-table-click-to-add-factory.h"
-#include "gal-a11y-e-table-click-to-add.h"
-#include "gal-a11y-e-table.h"
-#include <gal/e-table/e-table.h>
-#include <gal/e-table/e-table-click-to-add.h>
-#include <atk/atk.h>
-
-
-#define CS_CLASS(factory) (G_TYPE_INSTANCE_GET_CLASS ((factory), C_TYPE_STREAM, GalA11yETableClickToAddFactoryClass))
-static AtkObjectFactoryClass *parent_class;
-#define PARENT_TYPE (ATK_TYPE_OBJECT_FACTORY)
-
-/* Static functions */
-
-static GType
-gal_a11y_e_table_click_to_add_factory_get_accessible_type (void)
-{
- return GAL_A11Y_TYPE_E_TABLE_CLICK_TO_ADD;
-}
-
-static AtkObject*
-gal_a11y_e_table_click_to_add_factory_create_accessible (GObject *obj)
-{
- AtkObject * atk_object;
-
- g_return_val_if_fail (E_IS_TABLE_CLICK_TO_ADD(obj), NULL);
-
- atk_object = gal_a11y_e_table_click_to_add_new (obj);
-
- return atk_object;
-}
-
-static void
-gal_a11y_e_table_click_to_add_factory_class_init (GalA11yETableClickToAddFactoryClass *klass)
-{
- AtkObjectFactoryClass *factory_class = ATK_OBJECT_FACTORY_CLASS (klass);
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- factory_class->create_accessible = gal_a11y_e_table_click_to_add_factory_create_accessible;
- factory_class->get_accessible_type = gal_a11y_e_table_click_to_add_factory_get_accessible_type;
-}
-
-static void
-gal_a11y_e_table_click_to_add_factory_init (GalA11yETableClickToAddFactory *factory)
-{
-}
-
-/**
- * gal_a11y_e_table_factory_get_type:
- * @void:
- *
- * Registers the &GalA11yETableFactory class if necessary, and returns the type ID
- * associated to it.
- *
- * Return value: The type ID of the &GalA11yETableFactory class.
- **/
-GType
-gal_a11y_e_table_click_to_add_factory_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- GTypeInfo info = {
- sizeof (GalA11yETableClickToAddFactoryClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) gal_a11y_e_table_click_to_add_factory_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (GalA11yETableClickToAddFactory),
- 0,
- (GInstanceInitFunc) gal_a11y_e_table_click_to_add_factory_init,
- NULL /* value_table */
- };
-
- type = g_type_register_static (PARENT_TYPE, "GalA11yETableClickToAddFactory", &info, 0);
- }
-
- return type;
-}
diff --git a/a11y/e-table/gal-a11y-e-table-click-to-add-factory.h b/a11y/e-table/gal-a11y-e-table-click-to-add-factory.h
deleted file mode 100644
index d75453a780..0000000000
--- a/a11y/e-table/gal-a11y-e-table-click-to-add-factory.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Authors: * Yuedong Du <yuedong.du@sun.com>
- *
- * Copyright (C) 2003 Ximian, Inc.
- */
-
-#ifndef __GAL_A11Y_E_TABLE_CLICK_TO_ADD_FACTORY_H__
-#define __GAL_A11Y_E_TABLE_CLICK_TO_ADD_FACTORY_H__
-
-#include <glib-object.h>
-#include <atk/atkobjectfactory.h>
-
-#define GAL_A11Y_TYPE_E_TABLE_CLICK_TO_ADD_FACTORY (gal_a11y_e_table_item_factory_get_type ())
-#define GAL_A11Y_E_TABLE_CLICK_TO_ADD_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_A11Y_TYPE_E_TABLE_CLICK_TO_ADD_FACTORY, GalA11yETableClickToAddFactory))
-#define GAL_A11Y_E_TABLE_CLICK_TO_ADD_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAL_A11Y_TYPE_E_TABLE_CLICK_TO_ADD_FACTORY, GalA11yETableClickToAddFactoryClass))
-#define GAL_A11Y_IS_E_TABLE_CLICK_TO_ADD_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAL_A11Y_TYPE_E_TABLE_CLICK_TO_ADD_FACTORY))
-#define GAL_A11Y_IS_E_TABLE_CLICK_TO_ADD_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAL_A11Y_TYPE_E_TABLE_CLICK_TO_ADD_FACTORY))
-
-typedef struct _GalA11yETableClickToAddFactory GalA11yETableClickToAddFactory;
-typedef struct _GalA11yETableClickToAddFactoryClass GalA11yETableClickToAddFactoryClass;
-
-struct _GalA11yETableClickToAddFactory {
- AtkObject object;
-};
-
-struct _GalA11yETableClickToAddFactoryClass {
- AtkObjectClass parent_class;
-};
-
-
-/* Standard Glib function */
-GType gal_a11y_e_table_click_to_add_factory_get_type (void);
-
-#endif
diff --git a/a11y/e-table/gal-a11y-e-table-click-to-add.c b/a11y/e-table/gal-a11y-e-table-click-to-add.c
deleted file mode 100644
index da4933e647..0000000000
--- a/a11y/e-table/gal-a11y-e-table-click-to-add.c
+++ /dev/null
@@ -1,327 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Yuedong Du <yuedong.du@sun.com>
- *
- * Copyright (C) 2002 Ximian, Inc.
- */
-
-#include <config.h>
-#include "gal-a11y-util.h"
-#include "gal-a11y-e-table-click-to-add.h"
-#include "gal-a11y-e-table-click-to-add-factory.h"
-#include <gal/e-table/e-table-group.h>
-#include <gal/e-table/e-table-group-leaf.h>
-#include <gal/e-table/e-table-click-to-add.h>
-#include <atk/atkcomponent.h>
-#include <atk/atkaction.h>
-#include <glib/gi18n.h>
-
-static AtkObjectClass *parent_class;
-static GType parent_type;
-static gint priv_offset;
-#define GET_PRIVATE(object) ((GalA11yETableClickToAddPrivate *) (((char *) object) + priv_offset))
-#define PARENT_TYPE (parent_type)
-
-struct _GalA11yETableClickToAddPrivate {
- gpointer rect;
- gpointer row;
-};
-
-
-static gint
-etcta_get_n_actions (AtkAction *action)
-{
- return 1;
-}
-
-static G_CONST_RETURN gchar*
-etcta_get_description (AtkAction *action,
- gint i)
-{
- if (i == 0)
- return _("click to add");
-
- return NULL;
-}
-
-static G_CONST_RETURN gchar*
-etcta_action_get_name (AtkAction *action, gint i)
-{
- if (i == 0)
- return _("click");
-
- return NULL;
-}
-
-
-static gboolean
-idle_do_action (gpointer data)
-{
- GdkEventButton event;
- ETableClickToAdd * etcta;
- gint finished;
-
- g_return_val_if_fail ( data!= NULL, FALSE);
-
- etcta = E_TABLE_CLICK_TO_ADD (atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (data)));
- g_return_val_if_fail (etcta, FALSE);
-
- event.x = 0;
- event.y = 0;
-
- event.type = GDK_BUTTON_PRESS;
- event.window = GTK_LAYOUT(GNOME_CANVAS_ITEM(etcta)->canvas)->bin_window;
- event.button = 1;
- event.send_event = TRUE;
- event.time = GDK_CURRENT_TIME;
- event.axes = NULL;
-
- g_signal_emit_by_name (etcta, "event", &event, &finished);
-
- return FALSE;
-}
-
-static gboolean
-etcta_do_action (AtkAction * action, gint i)
-{
- g_return_val_if_fail (i == 0, FALSE);
-
- g_idle_add (idle_do_action, action);
-
- return TRUE;
-}
-
-static void
-atk_action_interface_init (AtkActionIface *iface)
-{
- g_return_if_fail (iface != NULL);
-
- iface->do_action = etcta_do_action;
- iface->get_n_actions = etcta_get_n_actions;
- iface->get_description = etcta_get_description;
- iface->get_name = etcta_action_get_name;
-}
-
-
-static G_CONST_RETURN gchar *
-etcta_get_name (AtkObject *obj)
-{
- ETableClickToAdd * etcta;
-
- g_return_val_if_fail (GAL_A11Y_IS_E_TABLE_CLICK_TO_ADD (obj), NULL);
-
- etcta = E_TABLE_CLICK_TO_ADD (atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE(obj)));
- if (etcta && etcta->message != NULL)
- return etcta->message;
-
- return _("click to add");
-}
-
-static gint
-etcta_get_n_children (AtkObject *accessible)
-{
- return 1;
-}
-
-static AtkObject*
-etcta_ref_child (AtkObject *accessible,
- gint i)
-{
- AtkObject * atk_obj = NULL;
- ETableClickToAdd * etcta;
-
- if ( i != 0 )
- return NULL;
-
- etcta = E_TABLE_CLICK_TO_ADD(atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (accessible)));
-
- g_return_val_if_fail (etcta, NULL);
-
- if (etcta->rect) {
- atk_obj = atk_gobject_accessible_for_object (G_OBJECT(etcta->rect));
- } else if (etcta->row) {
- atk_obj = atk_gobject_accessible_for_object (G_OBJECT(etcta->row));
- }
-
- g_object_ref (atk_obj);
-
- return atk_obj;
-}
-
-static AtkStateSet *
-etcta_ref_state_set (AtkObject *accessible)
-{
- AtkStateSet * state_set = NULL;
-
- state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (accessible);
- if (state_set != NULL) {
- atk_state_set_add_state (state_set, ATK_STATE_SENSITIVE);
- atk_state_set_add_state (state_set, ATK_STATE_SHOWING);
- }
-
- return state_set;
-}
-
-static void
-etcta_class_init (GalA11yETableClickToAddClass *klass)
-{
- AtkObjectClass *atk_object_class = ATK_OBJECT_CLASS (klass);
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- atk_object_class->get_name = etcta_get_name;
- atk_object_class->get_n_children = etcta_get_n_children;
- atk_object_class->ref_child = etcta_ref_child;
- atk_object_class->ref_state_set = etcta_ref_state_set;
-}
-
-static void
-etcta_init (GalA11yETableClickToAdd *a11y)
-{
-}
-
-/**
- * gal_a11y_e_table_click_to_add_get_type:
- * @void:
- *
- * Registers the &GalA11yETableClickToAdd class if necessary, and returns the type ID
- * associated to it.
- *
- * Return value: The type ID of the &GalA11yETableClickToAdd class.
- **/
-GType
-gal_a11y_e_table_click_to_add_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- AtkObjectFactory *factory;
-
- GTypeInfo info = {
- sizeof (GalA11yETableClickToAddClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) etcta_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (GalA11yETableClickToAdd),
- 0,
- (GInstanceInitFunc) etcta_init,
- NULL /* value_table */
- };
-
- static const GInterfaceInfo atk_action_info = {
- (GInterfaceInitFunc) atk_action_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- factory = atk_registry_get_factory (atk_get_default_registry (), GNOME_TYPE_CANVAS_ITEM);
-
- parent_type = atk_object_factory_get_accessible_type (factory);
- type = gal_a11y_type_register_static_with_private (PARENT_TYPE,
- "GalA11yETableClickToAdd", &info, 0,
- sizeof(GalA11yETableClickToAddPrivate), &priv_offset);
-
- g_type_add_interface_static (type, ATK_TYPE_ACTION, &atk_action_info);
-
- }
-
- return type;
-}
-
-static gboolean
-etcta_event (GnomeCanvasItem *item, GdkEvent *e, gpointer data)
-{
- ETableClickToAdd *etcta = E_TABLE_CLICK_TO_ADD (item);
- GalA11yETableClickToAdd *a11y;
- GalA11yETableClickToAddPrivate *priv;
-
- g_return_val_if_fail (item, TRUE);
-
- g_return_val_if_fail (GAL_A11Y_IS_E_TABLE_CLICK_TO_ADD(data), FALSE);
- a11y = GAL_A11Y_E_TABLE_CLICK_TO_ADD (data);
-
- priv = GET_PRIVATE (a11y);
-
- /* rect replaced by row. */
- if (etcta->rect == NULL && priv->rect != NULL) {
- g_signal_emit_by_name (a11y, "children_changed::remove", 0, NULL, NULL);
-
- }
- /* row inserted, and/or replaced by a new row. */
- if (etcta->row != NULL && priv->row == NULL) {
- g_signal_emit_by_name (a11y, "children_changed::add", 0, NULL, NULL);
- } else if (etcta->row != NULL && priv->row != NULL && etcta->row != priv->row) {
- g_signal_emit_by_name (a11y, "children_changed::remove", 0, NULL, NULL);
- g_signal_emit_by_name (a11y, "children_changed::add", 0, NULL, NULL);
- }
-
-
- priv->rect = etcta->rect;
- priv->row = etcta->row;
-
- return TRUE;
-}
-
-static void
-etcta_selection_cursor_changed (ESelectionModel *esm, gint row, gint col,
- GalA11yETableClickToAdd *a11y)
-{
- ETableClickToAdd *etcta;
- AtkObject *row_a11y;
-
- etcta = E_TABLE_CLICK_TO_ADD (atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE(a11y)));
-
- if (etcta == NULL || etcta->row == NULL)
- return;
-
- row_a11y = atk_gobject_accessible_for_object (G_OBJECT(etcta->row));
- if (row_a11y) {
- AtkObject *cell_a11y = g_object_get_data (G_OBJECT(row_a11y), "gail-focus-object");
- if (cell_a11y) {
- atk_focus_tracker_notify (cell_a11y);
- }
- }
-}
-
-AtkObject *
-gal_a11y_e_table_click_to_add_new (GObject *widget)
-{
- GalA11yETableClickToAdd *a11y;
- ETableClickToAdd * etcta;
- GalA11yETableClickToAddPrivate *priv;
-
- g_return_val_if_fail (widget != NULL, NULL);
-
- a11y = g_object_new (gal_a11y_e_table_click_to_add_get_type (), NULL);
- priv = GET_PRIVATE (a11y);
-
- etcta = E_TABLE_CLICK_TO_ADD(widget);
-
-
- atk_object_initialize (ATK_OBJECT (a11y), etcta);
-
- priv->rect = etcta->rect;
- priv->row = etcta->row;
-
-
- g_signal_connect_after (G_OBJECT(widget), "event",
- G_CALLBACK (etcta_event), a11y);
-
- g_signal_connect (etcta->selection, "cursor_changed",
- G_CALLBACK (etcta_selection_cursor_changed), a11y);
-
- return ATK_OBJECT (a11y);
-}
-
-void
-gal_a11y_e_table_click_to_add_init (void)
-{
- if (atk_get_root ())
- atk_registry_set_factory_type (atk_get_default_registry (),
- E_TABLE_CLICK_TO_ADD_TYPE,
- gal_a11y_e_table_click_to_add_factory_get_type ());
-
-}
-
diff --git a/a11y/e-table/gal-a11y-e-table-click-to-add.h b/a11y/e-table/gal-a11y-e-table-click-to-add.h
deleted file mode 100644
index ea31ff6ef6..0000000000
--- a/a11y/e-table/gal-a11y-e-table-click-to-add.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-
-#ifndef __GAL_A11Y_E_TABLE_CLICK_TO_ADD_H__
-#define __GAL_A11Y_E_TABLE_CLICK_TO_ADD_H__
-
-#include <glib-object.h>
-#include <gal/e-table/e-table-item.h>
-#include <atk/atkgobjectaccessible.h>
-
-#define GAL_A11Y_TYPE_E_TABLE_CLICK_TO_ADD (gal_a11y_e_table_click_to_add_get_type ())
-#define GAL_A11Y_E_TABLE_CLICK_TO_ADD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_A11Y_TYPE_E_TABLE_CLICK_TO_ADD, GalA11yETableClickToAdd))
-#define GAL_A11Y_E_TABLE_CLICK_TO_ADD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAL_A11Y_TYPE_E_TABLE_CLICK_TO_ADD, GalA11yETableClickToAddClass))
-#define GAL_A11Y_IS_E_TABLE_CLICK_TO_ADD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAL_A11Y_TYPE_E_TABLE_CLICK_TO_ADD))
-#define GAL_A11Y_IS_E_TABLE_CLICK_TO_ADD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAL_A11Y_TYPE_E_TABLE_CLICK_TO_ADD))
-
-typedef struct _GalA11yETableClickToAdd GalA11yETableClickToAdd;
-typedef struct _GalA11yETableClickToAddClass GalA11yETableClickToAddClass;
-typedef struct _GalA11yETableClickToAddPrivate GalA11yETableClickToAddPrivate;
-
-/* This struct should actually be larger as this isn't what we derive from.
- * The GalA11yETableClickToAddPrivate comes right after the parent class structure.
- **/
-struct _GalA11yETableClickToAdd {
- AtkGObjectAccessible parent;
-};
-
-struct _GalA11yETableClickToAddClass {
- AtkGObjectAccessibleClass parent_class;
-};
-
-/* Standard Glib function */
-GType gal_a11y_e_table_click_to_add_get_type (void);
-AtkObject *gal_a11y_e_table_click_to_add_new (GObject *widget);
-
-void gal_a11y_e_table_click_to_add_init (void);
-#endif /* ! __GAL_A11Y_E_TABLE_CLICK_TO_ADD_H__ */
diff --git a/a11y/e-table/gal-a11y-e-table-factory.c b/a11y/e-table/gal-a11y-e-table-factory.c
deleted file mode 100644
index 14eaca3d19..0000000000
--- a/a11y/e-table/gal-a11y-e-table-factory.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Authors:
- * Christopher James Lahey <clahey@ximian.com>
- *
- * Copyright (C) 2002 Ximian, Inc.
- */
-
-#include <config.h>
-#include "gal-a11y-e-table-factory.h"
-#include "gal-a11y-e-table.h"
-
-#define CS_CLASS(factory) (G_TYPE_INSTANCE_GET_CLASS ((factory), C_TYPE_STREAM, GalA11yETableFactoryClass))
-static AtkObjectFactoryClass *parent_class;
-#define PARENT_TYPE (ATK_TYPE_OBJECT_FACTORY)
-
-/* Static functions */
-
-static GType
-gal_a11y_e_table_factory_get_accessible_type (void)
-{
- return GAL_A11Y_TYPE_E_TABLE;
-}
-
-static AtkObject*
-gal_a11y_e_table_factory_create_accessible (GObject *obj)
-{
- AtkObject *accessible;
-
- accessible = gal_a11y_e_table_new (obj);
-
- return accessible;
-}
-
-static void
-gal_a11y_e_table_factory_class_init (GalA11yETableFactoryClass *klass)
-{
- AtkObjectFactoryClass *factory_class = ATK_OBJECT_FACTORY_CLASS (klass);
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- factory_class->create_accessible = gal_a11y_e_table_factory_create_accessible;
- factory_class->get_accessible_type = gal_a11y_e_table_factory_get_accessible_type;
-}
-
-static void
-gal_a11y_e_table_factory_init (GalA11yETableFactory *factory)
-{
-}
-
-/**
- * gal_a11y_e_table_factory_get_type:
- * @void:
- *
- * Registers the &GalA11yETableFactory class if necessary, and returns the type ID
- * associated to it.
- *
- * Return value: The type ID of the &GalA11yETableFactory class.
- **/
-GType
-gal_a11y_e_table_factory_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- GTypeInfo info = {
- sizeof (GalA11yETableFactoryClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) gal_a11y_e_table_factory_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (GalA11yETableFactory),
- 0,
- (GInstanceInitFunc) gal_a11y_e_table_factory_init,
- NULL /* value_table */
- };
-
- type = g_type_register_static (PARENT_TYPE, "GalA11yETableFactory", &info, 0);
- }
-
- return type;
-}
diff --git a/a11y/e-table/gal-a11y-e-table-factory.h b/a11y/e-table/gal-a11y-e-table-factory.h
deleted file mode 100644
index eb8eb55414..0000000000
--- a/a11y/e-table/gal-a11y-e-table-factory.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Authors:
- * Christopher James Lahey <clahey@ximian.com>
- *
- * Copyright (C) 2001 Chris Lahey
- */
-
-#ifndef __GAL_A11Y_E_TABLE_FACTORY_H__
-#define __GAL_A11Y_E_TABLE_FACTORY_H__
-
-#include <glib-object.h>
-#include <atk/atkobjectfactory.h>
-
-#define GAL_A11Y_TYPE_E_TABLE_FACTORY (gal_a11y_e_table_factory_get_type ())
-#define GAL_A11Y_E_TABLE_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_A11Y_TYPE_E_TABLE_FACTORY, GalA11yETableFactory))
-#define GAL_A11Y_E_TABLE_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAL_A11Y_TYPE_E_TABLE_FACTORY, GalA11yETableFactoryClass))
-#define GAL_A11Y_IS_E_TABLE_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAL_A11Y_TYPE_E_TABLE_FACTORY))
-#define GAL_A11Y_IS_E_TABLE_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAL_A11Y_TYPE_E_TABLE_FACTORY))
-
-typedef struct _GalA11yETableFactory GalA11yETableFactory;
-typedef struct _GalA11yETableFactoryClass GalA11yETableFactoryClass;
-
-struct _GalA11yETableFactory {
- AtkObject object;
-};
-
-struct _GalA11yETableFactoryClass {
- AtkObjectClass parent_class;
-};
-
-
-/* Standard Glib function */
-GType gal_a11y_e_table_factory_get_type (void);
-
-#endif /* ! __GAL_A11Y_E_TABLE_FACTORY_H__ */
diff --git a/a11y/e-table/gal-a11y-e-table-item-factory.c b/a11y/e-table/gal-a11y-e-table-item-factory.c
deleted file mode 100644
index 3c8e60a4bb..0000000000
--- a/a11y/e-table/gal-a11y-e-table-item-factory.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Authors: Yuedong Du <yuedong.du@sun.com>
- *
- * Copyright (C) 2003 Ximian, Inc.
- */
-
-#include <config.h>
-#include "gal-a11y-e-table-item-factory.h"
-#include "gal-a11y-e-table-item.h"
-#include "gal-a11y-e-table.h"
-#include <gal/e-table/e-table.h>
-#include <gal/e-table/e-tree.h>
-#include <atk/atk.h>
-
-
-#define CS_CLASS(factory) (G_TYPE_INSTANCE_GET_CLASS ((factory), C_TYPE_STREAM, GalA11yETableItemFactoryClass))
-static AtkObjectFactoryClass *parent_class;
-#define PARENT_TYPE (ATK_TYPE_OBJECT_FACTORY)
-
-/* Static functions */
-
-static GType
-gal_a11y_e_table_item_factory_get_accessible_type (void)
-{
- return GAL_A11Y_TYPE_E_TABLE_ITEM;
-}
-
-static AtkObject*
-gal_a11y_e_table_item_factory_create_accessible (GObject *obj)
-{
- AtkObject *accessible;
-
- g_return_val_if_fail (E_IS_TABLE_ITEM(obj), NULL);
- accessible = gal_a11y_e_table_item_new (E_TABLE_ITEM (obj));
-
- return accessible;
-}
-
-static void
-gal_a11y_e_table_item_factory_class_init (GalA11yETableItemFactoryClass *klass)
-{
- AtkObjectFactoryClass *factory_class = ATK_OBJECT_FACTORY_CLASS (klass);
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- factory_class->create_accessible = gal_a11y_e_table_item_factory_create_accessible;
- factory_class->get_accessible_type = gal_a11y_e_table_item_factory_get_accessible_type;
-}
-
-static void
-gal_a11y_e_table_item_factory_init (GalA11yETableItemFactory *factory)
-{
-}
-
-/**
- * gal_a11y_e_table_factory_get_type:
- * @void:
- *
- * Registers the &GalA11yETableFactory class if necessary, and returns the type ID
- * associated to it.
- *
- * Return value: The type ID of the &GalA11yETableFactory class.
- **/
-GType
-gal_a11y_e_table_item_factory_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- GTypeInfo info = {
- sizeof (GalA11yETableItemFactoryClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) gal_a11y_e_table_item_factory_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (GalA11yETableItemFactory),
- 0,
- (GInstanceInitFunc) gal_a11y_e_table_item_factory_init,
- NULL /* value_table */
- };
-
- type = g_type_register_static (PARENT_TYPE, "GalA11yETableItemFactory", &info, 0);
- }
-
- return type;
-}
diff --git a/a11y/e-table/gal-a11y-e-table-item-factory.h b/a11y/e-table/gal-a11y-e-table-item-factory.h
deleted file mode 100644
index cbbff9fb18..0000000000
--- a/a11y/e-table/gal-a11y-e-table-item-factory.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Authors: * Yuedong Du <yuedong.du@sun.com>
- *
- * Copyright (C) 2003 Ximian, Inc.
- */
-
-#ifndef __GAL_A11Y_E_TABLE_ITEM_FACTORY_H__
-#define __GAL_A11Y_E_TABLE_ITEM_FACTORY_H__
-
-#include <glib-object.h>
-#include <atk/atkobjectfactory.h>
-
-#define GAL_A11Y_TYPE_E_TABLE_ITEM_FACTORY (gal_a11y_e_table_item_factory_get_type ())
-#define GAL_A11Y_E_TABLE_ITEM_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_A11Y_TYPE_E_TABLE_ITEM_FACTORY, GalA11yETableItemFactory))
-#define GAL_A11Y_E_TABLE_ITEM_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAL_A11Y_TYPE_E_TABLE_ITEM_FACTORY, GalA11yETableItemFactoryClass))
-#define GAL_A11Y_IS_E_TABLE_ITEM_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAL_A11Y_TYPE_E_TABLE_ITEM_FACTORY))
-#define GAL_A11Y_IS_E_TABLE_ITEM_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAL_A11Y_TYPE_E_TABLE_ITEM_FACTORY))
-
-typedef struct _GalA11yETableItemFactory GalA11yETableItemFactory;
-typedef struct _GalA11yETableItemFactoryClass GalA11yETableItemFactoryClass;
-
-struct _GalA11yETableItemFactory {
- AtkObject object;
-};
-
-struct _GalA11yETableItemFactoryClass {
- AtkObjectClass parent_class;
-};
-
-
-/* Standard Glib function */
-GType gal_a11y_e_table_item_factory_get_type (void);
-
-#endif /* ! __GAL_A11Y_E_TABLE_FACTORY_H__ */
diff --git a/a11y/e-table/gal-a11y-e-table-item.c b/a11y/e-table/gal-a11y-e-table-item.c
deleted file mode 100644
index 2b45bfeef7..0000000000
--- a/a11y/e-table/gal-a11y-e-table-item.c
+++ /dev/null
@@ -1,1310 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Authors:
- * Christopher James Lahey <clahey@ximian.com>
- * Bolian Yin <bolian.yin@sun.com>
- *
- * Copyright (C) 2002 Ximian, Inc.
- */
-
-#include <config.h>
-#include <string.h>
-#include "gal-a11y-e-table-item.h"
-#include "gal-a11y-e-table-item-factory.h"
-#include "gal-a11y-e-table-click-to-add.h"
-#include "gal-a11y-e-cell-registry.h"
-#include "gal-a11y-e-cell.h"
-#include "gal-a11y-util.h"
-#include <gal/e-table/e-table-subset.h>
-#include <gal/widgets/e-selection-model.h>
-#include <gal/widgets/e-canvas.h>
-#include <gal/e-table/e-table.h>
-#include <gal/e-table/e-table-click-to-add.h>
-#include <gal/e-table/e-tree.h>
-
-#include <atk/atkobject.h>
-#include <atk/atktable.h>
-#include <atk/atkcomponent.h>
-#include <atk/atkobjectfactory.h>
-#include <atk/atkregistry.h>
-#include <atk/atkgobjectaccessible.h>
-
-#define CS_CLASS(a11y) (G_TYPE_INSTANCE_GET_CLASS ((a11y), C_TYPE_STREAM, GalA11yETableItemClass))
-static GObjectClass *parent_class;
-static AtkComponentIface *component_parent_iface;
-static GType parent_type;
-static gint priv_offset;
-static GQuark quark_accessible_object = 0;
-#define GET_PRIVATE(object) ((GalA11yETableItemPrivate *) (((char *) object) + priv_offset))
-#define PARENT_TYPE (parent_type)
-
-struct _GalA11yETableItemPrivate {
- gint cols;
- gint rows;
- int selection_change_id;
- int cursor_change_id;
- ETableCol ** columns;
- ESelectionModel *selection;
- AtkStateSet *state_set;
- GtkWidget *widget;
-};
-
-static gboolean gal_a11y_e_table_item_ref_selection (GalA11yETableItem *a11y,
- ESelectionModel *selection);
-static gboolean gal_a11y_e_table_item_unref_selection (GalA11yETableItem *a11y);
-
-static AtkObject* eti_ref_at (AtkTable *table, gint row, gint column);
-
-static void
-item_destroyed (GtkObject *item, gpointer user_data)
-{
- GalA11yETableItem *a11y = GAL_A11Y_E_TABLE_ITEM (user_data);
- GalA11yETableItemPrivate *priv = GET_PRIVATE (a11y);
-
- atk_state_set_add_state (priv->state_set, ATK_STATE_DEFUNCT);
- atk_object_notify_state_change (ATK_OBJECT (a11y), ATK_STATE_DEFUNCT, TRUE);
-
- if (priv->selection)
- gal_a11y_e_table_item_unref_selection (a11y);
-
-}
-
-static AtkStateSet *
-eti_ref_state_set (AtkObject *accessible)
-{
- GalA11yETableItemPrivate *priv = GET_PRIVATE (accessible);
-
- g_object_ref(priv->state_set);
-
- return priv->state_set;
-}
-
-inline static gint
-view_to_model_row(ETableItem *eti, int row)
-{
- if (eti->uses_source_model) {
- ETableSubset *etss = E_TABLE_SUBSET(eti->table_model);
- if (row >= 0 && row < etss->n_map) {
- eti->row_guess = row;
- return etss->map_table[row];
- } else
- return -1;
- } else
- return row;
-}
-
-inline static gint
-view_to_model_col(ETableItem *eti, int col)
-{
- ETableCol *ecol = e_table_header_get_column (eti->header, col);
- return ecol ? ecol->col_idx : -1;
-}
-
-inline static gint
-model_to_view_row(ETableItem *eti, int row)
-{
- int i;
- if (row == -1)
- return -1;
- if (eti->uses_source_model) {
- ETableSubset *etss = E_TABLE_SUBSET(eti->table_model);
- if (eti->row_guess >= 0 && eti->row_guess < etss->n_map) {
- if (etss->map_table[eti->row_guess] == row) {
- return eti->row_guess;
- }
- }
- for (i = 0; i < etss->n_map; i++) {
- if (etss->map_table[i] == row)
- return i;
- }
- return -1;
- } else
- return row;
-}
-
-inline static gint
-model_to_view_col(ETableItem *eti, int col)
-{
- int i;
- if (col == -1)
- return -1;
- for (i = 0; i < eti->cols; i++) {
- ETableCol *ecol = e_table_header_get_column (eti->header, i);
- if (ecol->col_idx == col)
- return i;
- }
- return -1;
-}
-
-inline static GObject *
-eti_a11y_get_gobject (AtkObject *accessible)
-{
- return atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (accessible));
-}
-
-static void
-eti_dispose (GObject *object)
-{
- GalA11yETableItem *a11y = GAL_A11Y_E_TABLE_ITEM (object);
- GalA11yETableItemPrivate *priv = GET_PRIVATE (a11y);
-
- if (priv->columns) {
- g_free(priv->columns);
- priv->columns = NULL;
- }
-
- if (parent_class->dispose)
- parent_class->dispose (object);
-}
-
-/* Static functions */
-static gint
-eti_get_n_children (AtkObject *accessible)
-{
- g_return_val_if_fail (GAL_A11Y_IS_E_TABLE_ITEM (accessible), 0);
- if (!eti_a11y_get_gobject (accessible))
- return 0;
-
- return atk_table_get_n_columns (ATK_TABLE (accessible)) *
- atk_table_get_n_rows (ATK_TABLE (accessible));
-}
-
-static AtkObject*
-eti_ref_child (AtkObject *accessible, gint index)
-{
- ETableItem *item;
- gint col, row;
-
- g_return_val_if_fail (GAL_A11Y_IS_E_TABLE_ITEM (accessible), NULL);
- item = E_TABLE_ITEM (eti_a11y_get_gobject (accessible));
- if (!item)
- return NULL;
-
- /* don't support column header now */
-
- col = index % item->cols;
- row = index / item->cols;
-
- return eti_ref_at (ATK_TABLE (accessible), row, col);
-}
-
-static void
-eti_get_extents (AtkComponent *component,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coord_type)
-{
- ETableItem *item;
- AtkObject *parent;
-
- item = E_TABLE_ITEM (eti_a11y_get_gobject (ATK_OBJECT (component)));
- if (!item)
- return;
-
- parent = ATK_OBJECT (component)->accessible_parent;
- if (parent && ATK_IS_COMPONENT (parent))
- atk_component_get_extents (ATK_COMPONENT (parent), x, y,
- width, height,
- coord_type);
-
- if (parent && GAL_A11Y_IS_E_TABLE_CLICK_TO_ADD (parent)) {
- ETableClickToAdd *etcta = E_TABLE_CLICK_TO_ADD (atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (parent)));
- if (etcta) {
- *width = etcta->width;
- *height = etcta->height;
- }
- }
-}
-
-static AtkObject*
-eti_ref_accessible_at_point (AtkComponent *component,
- gint x,
- gint y,
- AtkCoordType coord_type)
-{
- int row = -1;
- int col = -1;
- int x_origin, y_origin;
- ETableItem *item;
- GtkWidget *tableOrTree;
-
- item = E_TABLE_ITEM (eti_a11y_get_gobject (ATK_OBJECT (component)));
- if (!item)
- return NULL;
-
- atk_component_get_position (component,
- &x_origin,
- &y_origin,
- coord_type);
- x -= x_origin;
- y -= y_origin;
-
- tableOrTree = gtk_widget_get_parent (GTK_WIDGET (item->parent.canvas));
-
- if (E_IS_TREE(tableOrTree))
- e_tree_get_cell_at (E_TREE (tableOrTree), x, y, &row, &col);
- else
- e_table_get_cell_at (E_TABLE (tableOrTree), x, y, &row, &col);
-
- if (row != -1 && col != -1) {
- return eti_ref_at (ATK_TABLE (component), row, col);
- } else {
- return NULL;
- }
-}
-
-
-static void
-cell_destroyed (gpointer data)
-{
- GalA11yECell * cell;
-
- g_return_if_fail (GAL_A11Y_IS_E_CELL (data));
- cell = GAL_A11Y_E_CELL (data);
-
- g_return_if_fail (cell->item && G_IS_OBJECT (cell->item));
-
- if (cell->item) {
- g_object_unref (cell->item);
- cell->item = NULL;
- }
-
-}
-
-/* atk table */
-static AtkObject*
-eti_ref_at (AtkTable *table, gint row, gint column)
-{
- ETableItem *item;
- AtkObject* ret;
- GalA11yETableItemPrivate *priv = GET_PRIVATE (table);
-
- if (atk_state_set_contains_state (priv->state_set, ATK_STATE_DEFUNCT))
- return NULL;
-
-
- item = E_TABLE_ITEM (eti_a11y_get_gobject (ATK_OBJECT (table)));
- if (!item)
- return NULL;
-
- if (column >= 0 &&
- column < item->cols &&
- row >= 0 &&
- row < item->rows &&
- item->cell_views_realized) {
- ECellView *cell_view = item->cell_views[column];
- ETableCol *ecol = e_table_header_get_column (item->header, column);
- ret = gal_a11y_e_cell_registry_get_object (NULL,
- item,
- cell_view,
- ATK_OBJECT (table),
- ecol->col_idx,
- column,
- row);
- if (ATK_IS_OBJECT (ret)) {
- g_object_weak_ref (G_OBJECT (ret),
- (GWeakNotify) cell_destroyed,
- ret);
- /* if current cell is focused, add FOCUSED state */
- if (e_selection_model_cursor_row (item->selection) == GAL_A11Y_E_CELL (ret)->row &&
- e_selection_model_cursor_col (item->selection) == GAL_A11Y_E_CELL (ret)->model_col)
- gal_a11y_e_cell_add_state (GAL_A11Y_E_CELL (ret), ATK_STATE_FOCUSED, FALSE);
- } else
- ret = NULL;
-
- return ret;
- }
-
- return NULL;
-}
-
-static gint
-eti_get_index_at (AtkTable *table, gint row, gint column)
-{
- ETableItem *item;
-
- item = E_TABLE_ITEM (eti_a11y_get_gobject (ATK_OBJECT (table)));
- if (!item)
- return -1;
-
- return column + row * item->cols;
-}
-
-static gint
-eti_get_column_at_index (AtkTable *table, gint index)
-{
- ETableItem *item;
-
- item = E_TABLE_ITEM (eti_a11y_get_gobject (ATK_OBJECT (table)));
- if (!item)
- return -1;
-
- return index % item->cols;
-}
-
-static gint
-eti_get_row_at_index (AtkTable *table, gint index)
-{
- ETableItem *item;
-
- item = E_TABLE_ITEM (eti_a11y_get_gobject (ATK_OBJECT (table)));
- if (!item)
- return -1;
-
- return index / item->cols;
-}
-
-static gint
-eti_get_n_columns (AtkTable *table)
-{
- ETableItem *item;
-
- item = E_TABLE_ITEM (eti_a11y_get_gobject (ATK_OBJECT (table)));
- if (!item)
- return -1;
-
- return item->cols;
-}
-
-static gint
-eti_get_n_rows (AtkTable *table)
-{
- ETableItem *item;
-
- item = E_TABLE_ITEM (eti_a11y_get_gobject (ATK_OBJECT (table)));
- if (!item)
- return -1;
-
- return item->rows;
-}
-
-static gint
-eti_get_column_extent_at (AtkTable *table,
- gint row,
- gint column)
-{
- ETableItem *item;
- int width;
-
- item = E_TABLE_ITEM (eti_a11y_get_gobject (ATK_OBJECT (table)));
- if (!item)
- return -1;
-
- e_table_item_get_cell_geometry (item,
- &row,
- &column,
- NULL,
- NULL,
- &width,
- NULL);
-
- return width;
-}
-
-static gint
-eti_get_row_extent_at (AtkTable *table,
- gint row,
- gint column)
-{
- ETableItem *item;
- int height;
-
- item = E_TABLE_ITEM (eti_a11y_get_gobject (ATK_OBJECT (table)));
- if (!item)
- return -1;
-
- e_table_item_get_cell_geometry (item,
- &row,
- &column,
- NULL,
- NULL,
- NULL,
- &height);
-
- return height;
-}
-
-static AtkObject *
-eti_get_caption (AtkTable *table)
-{
- /* Unimplemented */
- return NULL;
-}
-
-static G_CONST_RETURN gchar *
-eti_get_column_description (AtkTable *table,
- gint column)
-{
- ETableItem *item;
- ETableCol *ecol;
-
- item = E_TABLE_ITEM (eti_a11y_get_gobject (ATK_OBJECT (table)));
- if (!item)
- return NULL;
-
- ecol = e_table_header_get_column (item->header, column);
-
- return ecol->text;
-}
-
-static AtkObject *
-eti_get_column_header (AtkTable *table, gint column)
-{
- ETableItem *item;
- ETableCol *ecol;
- AtkObject *atk_obj = NULL;
-
- item = E_TABLE_ITEM (eti_a11y_get_gobject (ATK_OBJECT (table)));
- if (!item)
- return NULL;
-
- ecol = e_table_header_get_column (item->header, column);
- if (ecol) {
- atk_obj = atk_gobject_accessible_for_object (G_OBJECT (ecol));
- if (atk_obj) {
- if (ecol->text)
- atk_object_set_name (atk_obj, ecol->text);
- atk_object_set_role (atk_obj, ATK_ROLE_TABLE_COLUMN_HEADER);
- }
- }
-
- return atk_obj;
-}
-
-static G_CONST_RETURN gchar *
-eti_get_row_description (AtkTable *table,
- gint row)
-{
- /* Unimplemented */
- return NULL;
-}
-
-static AtkObject *
-eti_get_row_header (AtkTable *table,
- gint row)
-{
- /* Unimplemented */
- return NULL;
-}
-
-static AtkObject *
-eti_get_summary (AtkTable *table)
-{
- /* Unimplemented */
- return NULL;
-}
-
-static gboolean
-table_is_row_selected (AtkTable *table, gint row)
-{
- ETableItem *item;
- GalA11yETableItemPrivate *priv = GET_PRIVATE (table);
-
- if (atk_state_set_contains_state (priv->state_set, ATK_STATE_DEFUNCT))
- return FALSE;
-
- item = E_TABLE_ITEM (eti_a11y_get_gobject (ATK_OBJECT (table)));
- if (!item)
- return FALSE;
-
- return e_selection_model_is_row_selected(item->selection, view_to_model_row (item, row));
-}
-
-static gboolean
-table_is_selected (AtkTable *table, gint row, gint column)
-{
- return table_is_row_selected (table, row);
-}
-
-static gint
-table_get_selected_rows (AtkTable *table, gint **rows_selected)
-{
- ETableItem *item;
- gint n_selected, row, index_selected;
- GalA11yETableItemPrivate *priv = GET_PRIVATE (table);
-
- if (atk_state_set_contains_state (priv->state_set, ATK_STATE_DEFUNCT))
- return 0;
-
- item = E_TABLE_ITEM (eti_a11y_get_gobject (ATK_OBJECT (table)));
- if (!item)
- return 0;
-
- n_selected = e_selection_model_selected_count (item->selection);
- if (rows_selected) {
- *rows_selected = (gint *) g_malloc (n_selected * sizeof (gint));
-
- index_selected = 0;
- for (row = 0; row < item->rows && index_selected < n_selected; ++row) {
- if (atk_table_is_row_selected (table, row)) {
- (*rows_selected)[index_selected] = row;
- ++index_selected;
- }
- }
- }
- return n_selected;
-}
-
-static gboolean
-table_add_row_selection (AtkTable *table, gint row)
-{
- ETableItem *item;
-
- item = E_TABLE_ITEM (eti_a11y_get_gobject (ATK_OBJECT (table)));
- if (!item)
- return FALSE;
-
- if (table_is_row_selected (table, row))
- return TRUE;
- e_selection_model_toggle_single_row (item->selection,
- view_to_model_row (item, row));
-
- return TRUE;
-}
-
-static gboolean
-table_remove_row_selection (AtkTable *table, gint row)
-{
- ETableItem *item;
- GalA11yETableItemPrivate *priv = GET_PRIVATE (table);
-
- if (atk_state_set_contains_state (priv->state_set, ATK_STATE_DEFUNCT))
- return FALSE;
-
- item = E_TABLE_ITEM (eti_a11y_get_gobject (ATK_OBJECT (table)));
- if (!item)
- return FALSE;
-
- if (!atk_table_is_row_selected (table, row))
- return TRUE;
- e_selection_model_toggle_single_row (item->selection, view_to_model_row (item, row));
- return TRUE;
-}
-
-static void
-eti_atk_table_iface_init (AtkTableIface *iface)
-{
- iface->ref_at = eti_ref_at;
- iface->get_index_at = eti_get_index_at;
- iface->get_column_at_index = eti_get_column_at_index;
- iface->get_row_at_index = eti_get_row_at_index;
- iface->get_n_columns = eti_get_n_columns;
- iface->get_n_rows = eti_get_n_rows;
- iface->get_column_extent_at = eti_get_column_extent_at;
- iface->get_row_extent_at = eti_get_row_extent_at;
- iface->get_caption = eti_get_caption;
- iface->get_column_description = eti_get_column_description;
- iface->get_column_header = eti_get_column_header;
- iface->get_row_description = eti_get_row_description;
- iface->get_row_header = eti_get_row_header;
- iface->get_summary = eti_get_summary;
-
- iface->is_row_selected = table_is_row_selected;
- iface->is_selected = table_is_selected;
- iface->get_selected_rows = table_get_selected_rows;
- iface->add_row_selection = table_add_row_selection;
- iface->remove_row_selection = table_remove_row_selection;
-}
-
-static void
-eti_atk_component_iface_init (AtkComponentIface *iface)
-{
- component_parent_iface = g_type_interface_peek_parent (iface);
-
- iface->ref_accessible_at_point = eti_ref_accessible_at_point;
- iface->get_extents = eti_get_extents;
-}
-
-static void
-eti_rows_inserted (ETableModel * model, int row, int count,
- AtkObject * table_item)
-{
- gint n_cols,n_rows,i,j;
- GalA11yETableItem * item_a11y;
- gint old_nrows;
-
- g_return_if_fail (table_item);
- item_a11y = GAL_A11Y_E_TABLE_ITEM (table_item);
-
- n_cols = atk_table_get_n_columns (ATK_TABLE(table_item));
- n_rows = atk_table_get_n_rows (ATK_TABLE(table_item));
-
- old_nrows = GET_PRIVATE(item_a11y)->rows;
-
- g_return_if_fail (n_cols > 0 && n_rows > 0);
- g_return_if_fail (old_nrows == n_rows - count);
-
- GET_PRIVATE(table_item)->rows = n_rows;
-
- g_signal_emit_by_name (table_item, "row-inserted", row,
- count, NULL);
-
- for (i = row; i < (row + count); i ++) {
- for (j = 0; j < n_cols; j ++) {
- g_signal_emit_by_name (table_item,
- "children_changed::add",
- ( (i*n_cols) + j), NULL, NULL);
- }
- }
-
- g_signal_emit_by_name (table_item, "visible-data-changed");
-}
-
-static void
-eti_rows_deleted (ETableModel * model, int row, int count,
- AtkObject * table_item)
-{
- gint i,j, n_rows, n_cols, old_nrows;
-
- n_rows = atk_table_get_n_rows (ATK_TABLE(table_item));
- n_cols = atk_table_get_n_columns (ATK_TABLE(table_item));
-
- old_nrows = GET_PRIVATE(table_item)->rows;
-
- g_return_if_fail ( row+count <= old_nrows);
- g_return_if_fail (old_nrows == n_rows + count);
- GET_PRIVATE(table_item)->rows = n_rows;
-
- g_signal_emit_by_name (table_item, "row-deleted", row,
- count, NULL);
-
- for (i = row; i < (row + count); i ++) {
- for (j = 0; j < n_cols; j ++) {
- g_signal_emit_by_name (table_item,
- "children_changed::remove",
- ( (i*n_cols) + j), NULL, NULL);
- }
- }
- g_signal_emit_by_name (table_item, "visible-data-changed");
-}
-
-static void
-eti_tree_model_node_changed_cb (ETreeModel *model, ETreePath node, ETableItem *eti)
-{
- AtkObject *atk_obj;
- GalA11yETableItem *a11y;
-
- g_return_if_fail (E_IS_TABLE_ITEM (eti));
-
- atk_obj = atk_gobject_accessible_for_object (G_OBJECT (eti));
- a11y = GAL_A11Y_E_TABLE_ITEM (atk_obj);
-
- /* we can't figure out which rows are changed, so just send out a signal ... */
- if (GET_PRIVATE (a11y)->rows > 0)
- g_signal_emit_by_name (a11y, "visible-data-changed");
-}
-
-enum {
- ETI_HEADER_UNCHANGED = 0,
- ETI_HEADER_REORDERED,
- ETI_HEADER_NEW_ADDED,
- ETI_HEADER_REMOVED,
-};
-
-/*
- * 1. Check what actually happened: column reorder, remove or add
- * 2. Update cache
- * 3. Emit signals
- */
-static void
-eti_header_structure_changed (ETableHeader *eth, AtkObject *a11y)
-{
-
- gboolean reorder_found=FALSE, added_found=FALSE, removed_found=FALSE;
- GalA11yETableItem * a11y_item;
- ETableCol ** cols, **prev_cols;
- GalA11yETableItemPrivate *priv;
- gint *state = NULL, *prev_state = NULL, *reorder = NULL;
- gint i,j,n_rows,n_cols, prev_n_cols;
-
- a11y_item = GAL_A11Y_E_TABLE_ITEM (a11y);
- priv = GET_PRIVATE (a11y_item);
-
- /* Assume rows do not changed. */
- n_rows = priv->rows;
-
- prev_n_cols = priv->cols;
- prev_cols = priv->columns;
-
- cols = e_table_header_get_columns (eth);
- n_cols = eth->col_count;
-
- g_return_if_fail (cols && prev_cols && n_cols > 0);
-
- /* Init to ETI_HEADER_UNCHANGED. */
- state = g_malloc0 (sizeof (gint) * n_cols);
- prev_state = g_malloc0 (sizeof (gint) * prev_n_cols);
- reorder = g_malloc0 (sizeof (gint) * n_cols);
-
- /* Compare with previously saved column headers. */
- for ( i = 0 ; i < n_cols && cols[i]; i ++ ) {
- for ( j = 0 ; j < prev_n_cols && prev_cols[j]; j ++ ) {
- if ( prev_cols [j] == cols[i] && i != j ) {
-
- reorder_found = TRUE;
- state [i] = ETI_HEADER_REORDERED;
- reorder [i] = j;
-
- break;
- } else if (prev_cols[j] == cols[i]) {
- /* OK, this column is not changed. */
- break;
- }
- }
-
- /* cols[i] is new added column. */
- if ( j == prev_n_cols ) {
- added_found = TRUE;
- state[i] = ETI_HEADER_NEW_ADDED;
- }
- }
-
- /* Now try to find if there are removed columns. */
- for (i = 0 ; i < prev_n_cols && prev_cols[i]; i ++) {
- for (j = 0 ; j < n_cols && cols[j]; j ++)
- if ( prev_cols [j] == cols[i] )
- break;
-
- /* Removed columns found. */
- if ( j == n_cols ) {
- removed_found = TRUE;
- prev_state[j] = ETI_HEADER_REMOVED;
- }
- }
-
- /* If nothing interesting just return. */
- if (!reorder_found && !added_found && !removed_found)
- return;
-
- /* Emit signals */
- if (reorder_found)
- g_signal_emit_by_name (G_OBJECT(a11y_item), "column_reordered");
-
-
- if (removed_found) {
- for (i = 0; i < prev_n_cols; i ++ ) {
- if (prev_state[i] == ETI_HEADER_REMOVED) {
- g_signal_emit_by_name (G_OBJECT(a11y_item), "column-deleted", i, 1);
- for (j = 0 ; j < n_rows; j ++)
- g_signal_emit_by_name (G_OBJECT(a11y_item), "children_changed::remove", (j*prev_n_cols+i), NULL, NULL);
- }
- }
- }
-
- if (added_found) {
- for ( i = 0; i < n_cols; i ++ ) {
- if (state[i] == ETI_HEADER_NEW_ADDED) {
- g_signal_emit_by_name (G_OBJECT(a11y_item), "column-inserted", i, 1);
- for (j = 0 ; j < n_rows; j ++)
- g_signal_emit_by_name (G_OBJECT(a11y_item), "children_changed::add", (j*n_cols+i), NULL, NULL);
- }
- }
- }
-
- priv->cols = n_cols;
-
- g_free (state);
- g_free (reorder);
- g_free (prev_state);
-
- g_free (priv->columns);
- priv->columns = cols;
-}
-
-
-static void
-eti_real_initialize (AtkObject *obj,
- gpointer data)
-{
- ETableItem * eti;
- ETableModel * model;
-
- ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
- eti = E_TABLE_ITEM (data);
-
- model = eti->table_model;
-
- g_signal_connect (model, "model-rows-inserted",
- G_CALLBACK (eti_rows_inserted),
- obj);
- g_signal_connect (model, "model-rows-deleted",
- G_CALLBACK (eti_rows_deleted),
- obj);
- g_signal_connect (G_OBJECT (eti->header), "structure_change",
- G_CALLBACK (eti_header_structure_changed), obj);
-
-}
-
-static void
-eti_class_init (GalA11yETableItemClass *klass)
-{
- AtkObjectClass *atk_object_class = ATK_OBJECT_CLASS (klass);
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
- quark_accessible_object = g_quark_from_static_string ("gtk-accessible-object");
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class->dispose = eti_dispose;
-
- atk_object_class->get_n_children = eti_get_n_children;
- atk_object_class->ref_child = eti_ref_child;
- atk_object_class->initialize = eti_real_initialize;
- atk_object_class->ref_state_set = eti_ref_state_set;
-}
-
-static void
-eti_init (GalA11yETableItem *a11y)
-{
- GalA11yETableItemPrivate *priv;
-
- priv = GET_PRIVATE (a11y);
-
- priv->selection_change_id = 0;
- priv->cursor_change_id = 0;
- priv->selection = NULL;
-}
-
-/* atk selection */
-
-static void atk_selection_interface_init (AtkSelectionIface *iface);
-static gboolean selection_add_selection (AtkSelection *selection,
- gint i);
-static gboolean selection_clear_selection (AtkSelection *selection);
-static AtkObject* selection_ref_selection (AtkSelection *selection,
- gint i);
-static gint selection_get_selection_count (AtkSelection *selection);
-static gboolean selection_is_child_selected (AtkSelection *selection,
- gint i);
-
-/* callbacks */
-static void eti_a11y_selection_model_removed_cb (ETableItem *eti,
- ESelectionModel *selection,
- gpointer data);
-static void eti_a11y_selection_model_added_cb (ETableItem *eti,
- ESelectionModel *selection,
- gpointer data);
-static void eti_a11y_selection_changed_cb (ESelectionModel *selection,
- GalA11yETableItem *a11y);
-static void eti_a11y_cursor_changed_cb (ESelectionModel *selection,
- int row, int col,
- GalA11yETableItem *a11y);
-
-/**
- * gal_a11y_e_table_item_get_type:
- * @void:
- *
- * Registers the &GalA11yETableItem class if necessary, and returns the type ID
- * associated to it.
- *
- * Return value: The type ID of the &GalA11yETableItem class.
- **/
-GType
-gal_a11y_e_table_item_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- AtkObjectFactory *factory;
-
- GTypeInfo info = {
- sizeof (GalA11yETableItemClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) eti_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (GalA11yETableItem),
- 0,
- (GInstanceInitFunc) eti_init,
- NULL /* value_table_item */
- };
-
- static const GInterfaceInfo atk_component_info = {
- (GInterfaceInitFunc) eti_atk_component_iface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
- static const GInterfaceInfo atk_table_info = {
- (GInterfaceInitFunc) eti_atk_table_iface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- static const GInterfaceInfo atk_selection_info = {
- (GInterfaceInitFunc) atk_selection_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
-
- factory = atk_registry_get_factory (atk_get_default_registry (), GNOME_TYPE_CANVAS_ITEM);
- parent_type = atk_object_factory_get_accessible_type (factory);
-
- type = gal_a11y_type_register_static_with_private (PARENT_TYPE, "GalA11yETableItem", &info, 0,
- sizeof (GalA11yETableItemPrivate), &priv_offset);
-
- g_type_add_interface_static (type, ATK_TYPE_COMPONENT, &atk_component_info);
- g_type_add_interface_static (type, ATK_TYPE_TABLE, &atk_table_info);
- g_type_add_interface_static (type, ATK_TYPE_SELECTION, &atk_selection_info);
- }
-
- return type;
-}
-
-AtkObject *
-gal_a11y_e_table_item_new (ETableItem *item)
-{
- GalA11yETableItem *a11y;
- AtkObject *accessible;
- int n;
- ESelectionModel * esm;
- AtkObject * cell;
- AtkObject *parent;
- const char *name;
-
- g_return_val_if_fail (item && item->cols >= 0 && item->rows >= 0, NULL);
- a11y = g_object_new (gal_a11y_e_table_item_get_type (), NULL);
-
- atk_object_initialize (ATK_OBJECT (a11y), item);
-
- GET_PRIVATE (a11y)->state_set = atk_state_set_new ();
-
- atk_state_set_add_state (GET_PRIVATE(a11y)->state_set, ATK_STATE_TRANSIENT);
- atk_state_set_add_state (GET_PRIVATE(a11y)->state_set, ATK_STATE_ENABLED);
- atk_state_set_add_state (GET_PRIVATE(a11y)->state_set, ATK_STATE_SENSITIVE);
- atk_state_set_add_state (GET_PRIVATE(a11y)->state_set, ATK_STATE_SHOWING);
- atk_state_set_add_state (GET_PRIVATE(a11y)->state_set, ATK_STATE_VISIBLE);
-
-
- accessible = ATK_OBJECT(a11y);
-
- /* Initialize cell data. */
- n = item->cols * item->rows;
- GET_PRIVATE (a11y)->cols = item->cols;
- GET_PRIVATE (a11y)->rows = item->rows;
-
- GET_PRIVATE (a11y)->columns = e_table_header_get_columns (item->header);
- if ( GET_PRIVATE (a11y)->columns == NULL)
- return NULL;
-
- if (item) {
- g_signal_connect (G_OBJECT(item), "selection_model_removed",
- G_CALLBACK (eti_a11y_selection_model_removed_cb), NULL);
- g_signal_connect (G_OBJECT(item), "selection_model_added",
- G_CALLBACK (eti_a11y_selection_model_added_cb), NULL);
- if (item->selection)
- gal_a11y_e_table_item_ref_selection (a11y,
- item->selection);
-
- /* find the TableItem's parent: table or tree */
- GET_PRIVATE (a11y)->widget = gtk_widget_get_parent (GTK_WIDGET (item->parent.canvas));
- parent = gtk_widget_get_accessible (GET_PRIVATE (a11y)->widget);
- name = atk_object_get_name (parent);
- if (name)
- atk_object_set_name (accessible, name);
- atk_object_set_parent (accessible, parent);
-
- if (E_IS_TREE (GET_PRIVATE (a11y)->widget)) {
- ETreeModel *model;
- model = e_tree_get_model (E_TREE (GET_PRIVATE (a11y)->widget));
- g_signal_connect (G_OBJECT(model), "node_changed",
- G_CALLBACK (eti_tree_model_node_changed_cb), item);
- accessible->role = ATK_ROLE_TREE_TABLE;
- } else if (E_IS_TABLE (GET_PRIVATE (a11y)->widget)) {
- accessible->role = ATK_ROLE_TABLE;
- }
- }
-
- if (item)
- g_signal_connect (G_OBJECT (item), "destroy",
- G_CALLBACK (item_destroyed),
- a11y);
- esm = item->selection;
-
- if (esm != NULL) {
- int cursor_row, cursor_col, view_row, view_col;
-
- cursor_row = e_selection_model_cursor_row(esm);
- cursor_col = e_selection_model_cursor_col(esm);
-
- view_row = model_to_view_row (item, cursor_row);
- view_col = model_to_view_col (item, cursor_col);
-
- if (view_row == -1)
- view_row = 0;
- if (view_col == -1)
- view_col = 0;
-
- cell = eti_ref_at (ATK_TABLE (a11y), view_row, view_col);
- if (cell != NULL) {
- g_object_set_data (G_OBJECT(a11y), "gail-focus-object", cell);
- gal_a11y_e_cell_add_state (GAL_A11Y_E_CELL (cell), ATK_STATE_FOCUSED, FALSE);
- }
- }
-
- return ATK_OBJECT (a11y);
-}
-
-static gboolean
-gal_a11y_e_table_item_ref_selection (GalA11yETableItem *a11y,
- ESelectionModel *selection)
-{
- GalA11yETableItemPrivate *priv;
-
- g_return_val_if_fail (a11y && selection, FALSE);
-
- priv = GET_PRIVATE (a11y);
- priv->selection_change_id = g_signal_connect (
- G_OBJECT(selection), "selection_changed",
- G_CALLBACK (eti_a11y_selection_changed_cb), a11y);
- priv->cursor_change_id = g_signal_connect (
- G_OBJECT(selection), "cursor_changed",
- G_CALLBACK (eti_a11y_cursor_changed_cb), a11y);
-
- priv->selection = selection;
- g_object_ref (selection);
-
- return TRUE;
-}
-
-static gboolean
-gal_a11y_e_table_item_unref_selection (GalA11yETableItem *a11y)
-{
- GalA11yETableItemPrivate *priv;
-
- g_return_val_if_fail (a11y, FALSE);
-
- priv = GET_PRIVATE (a11y);
-
- g_return_val_if_fail (priv->selection_change_id != 0, FALSE);
- g_return_val_if_fail (priv->cursor_change_id != 0, FALSE);
-
-
- g_signal_handler_disconnect (priv->selection,
- priv->selection_change_id);
- g_signal_handler_disconnect (priv->selection,
- priv->cursor_change_id);
- priv->cursor_change_id = 0;
- priv->selection_change_id = 0;
-
- g_object_unref (priv->selection);
- priv->selection = NULL;
-
- return TRUE;
-}
-
-/* callbacks */
-
-static void
-eti_a11y_selection_model_removed_cb (ETableItem *eti, ESelectionModel *selection,
- gpointer data)
-{
- AtkObject *atk_obj;
- GalA11yETableItem *a11y;
-
- g_return_if_fail (E_IS_TABLE_ITEM (eti));
- g_return_if_fail (E_IS_SELECTION_MODEL (selection));
-
- atk_obj = atk_gobject_accessible_for_object (G_OBJECT (eti));
- a11y = GAL_A11Y_E_TABLE_ITEM (atk_obj);
-
- if (selection == GET_PRIVATE (a11y)->selection)
- gal_a11y_e_table_item_unref_selection (a11y);
-}
-
-static void
-eti_a11y_selection_model_added_cb (ETableItem *eti, ESelectionModel *selection,
- gpointer data)
-{
- AtkObject *atk_obj;
- GalA11yETableItem *a11y;
-
- g_return_if_fail (E_IS_TABLE_ITEM (eti));
- g_return_if_fail (E_IS_SELECTION_MODEL (selection));
-
- atk_obj = atk_gobject_accessible_for_object (G_OBJECT (eti));
- a11y = GAL_A11Y_E_TABLE_ITEM (atk_obj);
-
- if (GET_PRIVATE (a11y)->selection)
- gal_a11y_e_table_item_unref_selection (a11y);
- gal_a11y_e_table_item_ref_selection (a11y, selection);
-}
-
-static void
-eti_a11y_selection_changed_cb (ESelectionModel *selection, GalA11yETableItem *a11y)
-{
- GalA11yETableItemPrivate *priv = GET_PRIVATE (a11y);
-
- if (atk_state_set_contains_state (priv->state_set, ATK_STATE_DEFUNCT))
- return;
-
- g_return_if_fail (GAL_A11Y_IS_E_TABLE_ITEM (a11y));
-
- g_signal_emit_by_name (a11y, "selection_changed");
-}
-
-static void
-eti_a11y_cursor_changed_cb (ESelectionModel *selection,
- int row, int col, GalA11yETableItem *a11y)
-{
- AtkObject * cell;
- int view_row, view_col;
- ETableItem *item;
- GalA11yETableItemPrivate *priv = GET_PRIVATE (a11y);
-
- g_return_if_fail (GAL_A11Y_IS_E_TABLE_ITEM (a11y));
-
- if (atk_state_set_contains_state (priv->state_set, ATK_STATE_DEFUNCT))
- return;
-
- item = E_TABLE_ITEM (eti_a11y_get_gobject (ATK_OBJECT (a11y)));
-
- g_return_if_fail (item);
-
- if (row == -1 && col == -1)
- return;
-
- view_row = model_to_view_row (item, row);
- view_col = model_to_view_col (item, col);
-
- if (view_col == -1)
- view_col = 0;
- cell = eti_ref_at (ATK_TABLE (a11y), view_row, view_col);
- if (cell != NULL) {
- AtkObject *old_cell = (AtkObject *)g_object_get_data (G_OBJECT(a11y), "gail-focus-object");
- if (old_cell && GAL_A11Y_IS_E_CELL (old_cell))
- gal_a11y_e_cell_remove_state (GAL_A11Y_E_CELL (old_cell), ATK_STATE_FOCUSED, FALSE);
- if (old_cell)
- g_object_unref (old_cell);
-
- g_object_set_data (G_OBJECT(a11y), "gail-focus-object", cell);
-
- if (ATK_IS_OBJECT (cell))
- g_signal_emit_by_name (a11y,
- "active-descendant-changed",
- cell);
- }
-
-}
-
-/* atk selection */
-
-static void atk_selection_interface_init (AtkSelectionIface *iface)
-{
- g_return_if_fail (iface != NULL);
- iface->add_selection = selection_add_selection;
- iface->clear_selection = selection_clear_selection;
- iface->ref_selection = selection_ref_selection;
- iface->get_selection_count = selection_get_selection_count;
- iface->is_child_selected = selection_is_child_selected;
-}
-
-static gboolean
-selection_add_selection (AtkSelection *selection, gint index)
-{
- AtkTable *table;
- gint row, col, cursor_row, cursor_col, model_row, model_col;
- ETableItem *item;
-
- item = E_TABLE_ITEM (eti_a11y_get_gobject (ATK_OBJECT (selection)));
- if (!item)
- return FALSE;
-
- table = ATK_TABLE (selection);
-
- row = atk_table_get_row_at_index (table, index);
- col = atk_table_get_column_at_index (table, index);
-
- model_row = view_to_model_row (item, row);
- model_col = view_to_model_col (item, col);
-
- cursor_row = e_selection_model_cursor_row (item->selection);
- cursor_col = e_selection_model_cursor_col (item->selection);
-
- /* check whether is selected already */
- if (model_row == cursor_row && model_col == cursor_col)
- return TRUE;
-
- if (model_row != cursor_row) {
- /* we need to make the item get focus */
- e_canvas_item_grab_focus (GNOME_CANVAS_ITEM (item), TRUE);
-
- /* FIXME, currently we only support single row selection */
- atk_selection_clear_selection (selection);
- atk_table_add_row_selection (table, row);
- }
-
- e_selection_model_change_cursor (item->selection,
- model_row,
- model_col);
- e_selection_model_cursor_changed (item->selection,
- model_row,
- model_col);
- e_selection_model_cursor_activated (item->selection,
- model_row,
- model_col);
- return TRUE;
-}
-
-static gboolean
-selection_clear_selection (AtkSelection *selection)
-{
- ETableItem *item;
-
- item = E_TABLE_ITEM (eti_a11y_get_gobject (ATK_OBJECT (selection)));
- if (!item)
- return FALSE;
-
- e_selection_model_clear (item->selection);
- return TRUE;
-}
-
-static AtkObject *
-selection_ref_selection (AtkSelection *selection, gint index)
-{
- AtkTable *table;
- gint row, col;
-
- table = ATK_TABLE (selection);
- row = atk_table_get_row_at_index (table, index);
- col = atk_table_get_column_at_index (table, index);
- if (!atk_table_is_row_selected (table, row))
- return NULL;
-
- return eti_ref_at (table, row, col);
-}
-
-static gint
-selection_get_selection_count (AtkSelection *selection)
-{
- AtkTable *table;
- gint n_selected;
-
- table = ATK_TABLE (selection);
- n_selected = atk_table_get_selected_rows (table, NULL);
- if (n_selected > 0)
- n_selected *= atk_table_get_n_columns (table);
- return n_selected;
-}
-
-static gboolean
-selection_is_child_selected (AtkSelection *selection, gint i)
-{
- gint row;
-
- row = atk_table_get_row_at_index (ATK_TABLE (selection), i);
- return atk_table_is_row_selected (ATK_TABLE (selection), row);
-}
-
-void
-gal_a11y_e_table_item_init (void)
-{
- if (atk_get_root ())
- atk_registry_set_factory_type (atk_get_default_registry (),
- E_TABLE_ITEM_TYPE,
- gal_a11y_e_table_item_factory_get_type ());
-}
-
diff --git a/a11y/e-table/gal-a11y-e-table-item.h b/a11y/e-table/gal-a11y-e-table-item.h
deleted file mode 100644
index 0317132804..0000000000
--- a/a11y/e-table/gal-a11y-e-table-item.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Authors:
- * Christopher James Lahey <clahey@ximian.com>
- *
- * Copyright (C) 2001 Chris Lahey
- */
-
-#ifndef __GAL_A11Y_E_TABLE_ITEM_H__
-#define __GAL_A11Y_E_TABLE_ITEM_H__
-
-#include <glib-object.h>
-#include <gal/e-table/e-table-item.h>
-#include <atk/atkgobjectaccessible.h>
-
-#define GAL_A11Y_TYPE_E_TABLE_ITEM (gal_a11y_e_table_item_get_type ())
-#define GAL_A11Y_E_TABLE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_A11Y_TYPE_E_TABLE_ITEM, GalA11yETableItem))
-#define GAL_A11Y_E_TABLE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAL_A11Y_TYPE_E_TABLE_ITEM, GalA11yETableItemClass))
-#define GAL_A11Y_IS_E_TABLE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAL_A11Y_TYPE_E_TABLE_ITEM))
-#define GAL_A11Y_IS_E_TABLE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAL_A11Y_TYPE_E_TABLE_ITEM))
-
-typedef struct _GalA11yETableItem GalA11yETableItem;
-typedef struct _GalA11yETableItemClass GalA11yETableItemClass;
-typedef struct _GalA11yETableItemPrivate GalA11yETableItemPrivate;
-
-/* This struct should actually be larger as this isn't what we derive from.
- * The GalA11yETableItemPrivate comes right after the parent class structure.
- **/
-struct _GalA11yETableItem {
- AtkGObjectAccessible parent;
-};
-
-struct _GalA11yETableItemClass {
- AtkGObjectAccessibleClass parent_class;
-};
-
-
-/* Standard Glib function */
-GType gal_a11y_e_table_item_get_type (void);
-AtkObject *gal_a11y_e_table_item_new (ETableItem *item);
-
-void gal_a11y_e_table_item_init (void);
-
-#endif /* ! __GAL_A11Y_E_TABLE_ITEM_H__ */
diff --git a/a11y/e-table/gal-a11y-e-table.c b/a11y/e-table/gal-a11y-e-table.c
deleted file mode 100644
index b49a8a653a..0000000000
--- a/a11y/e-table/gal-a11y-e-table.c
+++ /dev/null
@@ -1,293 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Authors:
- * Christopher James Lahey <clahey@ximian.com>
- *
- * Copyright (C) 2002 Ximian, Inc.
- */
-
-#include <config.h>
-#include "gal-a11y-e-table.h"
-#include "gal-a11y-e-table-factory.h"
-#include "gal-a11y-e-table-item.h"
-#include "gal-a11y-util.h"
-#include <gal/e-table/e-table.h>
-#include <gal/e-table/e-table-group.h>
-#include <gal/e-table/e-table-group-container.h>
-#include <gal/e-table/e-table-group-leaf.h>
-#include <gal/e-table/e-table-click-to-add.h>
-
-#define CS_CLASS(a11y) (G_TYPE_INSTANCE_GET_CLASS ((a11y), C_TYPE_STREAM, GalA11yETableClass))
-static AtkObjectClass *parent_class;
-static GType parent_type;
-static gint priv_offset;
-#define GET_PRIVATE(object) ((GalA11yETablePrivate *) (((char *) object) + priv_offset))
-#define PARENT_TYPE (parent_type)
-
-struct _GalA11yETablePrivate {
- AtkObject *child_item;
-};
-
-/* Static functions */
-static ETableItem *
-find_first_table_item (ETableGroup *group)
-{
- GnomeCanvasGroup *cgroup;
- GList *l;
-
- cgroup = GNOME_CANVAS_GROUP (group);
-
- for (l = cgroup->item_list; l; l = l->next) {
- GnomeCanvasItem *i;
-
- i = GNOME_CANVAS_ITEM (l->data);
-
- if (E_IS_TABLE_GROUP (i))
- return find_first_table_item (E_TABLE_GROUP (i));
- else if (E_IS_TABLE_ITEM (i)) {
- return E_TABLE_ITEM (i);
- }
- }
-
- return NULL;
-}
-
-static AtkObject*
-eti_get_accessible (ETableItem *eti, AtkObject *parent)
-{
- AtkObject *a11y = NULL;
-
- g_return_val_if_fail (eti, NULL);
-
- a11y = atk_gobject_accessible_for_object (G_OBJECT (eti));
- g_return_val_if_fail (a11y, NULL);
-
- return a11y;
-}
-
-static gboolean
-init_child_item (GalA11yETable *a11y)
-{
- ETable *table;
-
- if (!a11y || !GTK_IS_ACCESSIBLE (a11y))
- return FALSE;
-
- table = E_TABLE (GTK_ACCESSIBLE (a11y)->widget);
- if (table && GTK_WIDGET_MAPPED (GTK_WIDGET (table)) && table->group && E_IS_TABLE_GROUP_CONTAINER(table->group)) {
- ETableGroupContainer *etgc = (ETableGroupContainer *)table->group;
- GList *list;
-
- for (list = etgc->children; list; list = g_list_next (list)) {
- ETableGroupContainerChildNode *child_node = list->data;
- ETableGroup *child = child_node->child;
- ETableItem *eti = find_first_table_item (child);
-
- eti_get_accessible (eti, ATK_OBJECT (a11y));
- }
- }
- g_object_unref (a11y);
- g_object_unref (table);
-
- return FALSE;
-}
-
-static AtkObject*
-et_ref_accessible_at_point (AtkComponent *component,
- gint x,
- gint y,
- AtkCoordType coord_type)
-{
- GalA11yETable *a11y = GAL_A11Y_E_TABLE (component);
- if (GET_PRIVATE (a11y)->child_item)
- g_object_ref (GET_PRIVATE (a11y)->child_item);
- return GET_PRIVATE (a11y)->child_item;
-}
-
-static gint
-et_get_n_children (AtkObject *accessible)
-{
- GalA11yETable *a11y = GAL_A11Y_E_TABLE (accessible);
- ETable * et;
- int n = 0;
-
- et = E_TABLE(GTK_ACCESSIBLE (a11y)->widget);
-
- if (et->group) {
- if (E_IS_TABLE_GROUP_LEAF (et->group))
- n = 1;
- else if (E_IS_TABLE_GROUP_CONTAINER (et->group)) {
- ETableGroupContainer *etgc = (ETableGroupContainer *)et->group;
- n = g_list_length (etgc->children);
- }
- }
-
- if (et && et->use_click_to_add && et->click_to_add) {
- n++;
- }
- return n;
-}
-
-static AtkObject*
-et_ref_child (AtkObject *accessible,
- gint i)
-{
- GalA11yETable *a11y = GAL_A11Y_E_TABLE (accessible);
- ETable * et;
- gint child_no;
-
- et = E_TABLE(GTK_ACCESSIBLE (a11y)->widget);
-
- child_no = et_get_n_children (accessible);
- if (i == 0 || i < child_no - 1) {
- if (E_IS_TABLE_GROUP_LEAF (et->group)) {
- ETableItem *eti = find_first_table_item (et->group);
- AtkObject *aeti = eti_get_accessible (eti, accessible);
- if (aeti)
- g_object_ref (aeti);
- return aeti;
-
- } else if (E_IS_TABLE_GROUP_CONTAINER (et->group)) {
- ETableGroupContainer *etgc = (ETableGroupContainer *) et->group;
- ETableGroupContainerChildNode *child_node = g_list_nth_data (etgc->children, i);
- if (child_node) {
- ETableGroup *child = child_node->child;
- ETableItem * eti = find_first_table_item (child);
- AtkObject *aeti = eti_get_accessible (eti, accessible);
- if (aeti)
- g_object_ref (aeti);
- return aeti;
- }
- }
- } else if (i == child_no -1) {
- AtkObject * accessible;
- ETableClickToAdd * etcta;
-
- if (et && et->use_click_to_add && et->click_to_add) {
- etcta = E_TABLE_CLICK_TO_ADD(et->click_to_add);
- accessible = atk_gobject_accessible_for_object (G_OBJECT(etcta));
- if (accessible)
- g_object_ref (accessible);
- return accessible;
- }
- }
-
- return NULL;
-}
-
-static AtkLayer
-et_get_layer (AtkComponent *component)
-{
- return ATK_LAYER_WIDGET;
-}
-
-static void
-et_class_init (GalA11yETableClass *klass)
-{
- AtkObjectClass *atk_object_class = ATK_OBJECT_CLASS (klass);
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- atk_object_class->get_n_children = et_get_n_children;
- atk_object_class->ref_child = et_ref_child;
-}
-
-static void
-et_atk_component_iface_init (AtkComponentIface *iface)
-{
- iface->ref_accessible_at_point = et_ref_accessible_at_point;
- iface->get_layer = et_get_layer;
-}
-
-static void
-et_init (GalA11yETable *a11y)
-{
- GalA11yETablePrivate *priv;
-
- priv = GET_PRIVATE (a11y);
-
- priv->child_item = NULL;
-}
-
-/**
- * gal_a11y_e_table_get_type:
- * @void:
- *
- * Registers the &GalA11yETable class if necessary, and returns the type ID
- * associated to it.
- *
- * Return value: The type ID of the &GalA11yETable class.
- **/
-GType
-gal_a11y_e_table_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- AtkObjectFactory *factory;
-
- GTypeInfo info = {
- sizeof (GalA11yETableClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) et_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (GalA11yETable),
- 0,
- (GInstanceInitFunc) et_init,
- NULL /* value_table */
- };
-
- static const GInterfaceInfo atk_component_info = {
- (GInterfaceInitFunc) et_atk_component_iface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- factory = atk_registry_get_factory (atk_get_default_registry (), GTK_TYPE_WIDGET);
- parent_type = atk_object_factory_get_accessible_type (factory);
-
- type = gal_a11y_type_register_static_with_private (PARENT_TYPE, "GalA11yETable", &info, 0,
- sizeof (GalA11yETablePrivate), &priv_offset);
- g_type_add_interface_static (type, ATK_TYPE_COMPONENT, &atk_component_info);
- }
-
- return type;
-}
-
-AtkObject *
-gal_a11y_e_table_new (GObject *widget)
-{
- GalA11yETable *a11y;
- ETable *table;
-
- table = E_TABLE (widget);
-
- a11y = g_object_new (gal_a11y_e_table_get_type (), NULL);
-
- GTK_ACCESSIBLE (a11y)->widget = GTK_WIDGET (widget);
-
- /* we need to init all the children for multiple table items */
- if (table && GTK_WIDGET_MAPPED (GTK_WIDGET (table)) && table->group && E_IS_TABLE_GROUP_CONTAINER (table->group)) {
- /* Ref it here so that it is still valid in the idle function */
- /* It will be unrefed in the idle function */
- g_object_ref (a11y);
- g_object_ref (widget);
-
- g_idle_add ((GSourceFunc)init_child_item, a11y);
- }
-
- return ATK_OBJECT (a11y);
-}
-
-void
-gal_a11y_e_table_init (void)
-{
- if (atk_get_root ())
- atk_registry_set_factory_type (atk_get_default_registry (),
- E_TABLE_TYPE,
- gal_a11y_e_table_factory_get_type ());
-
-}
-
diff --git a/a11y/e-table/gal-a11y-e-table.h b/a11y/e-table/gal-a11y-e-table.h
deleted file mode 100644
index 780cff4509..0000000000
--- a/a11y/e-table/gal-a11y-e-table.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Authors:
- * Christopher James Lahey <clahey@ximian.com>
- *
- * Copyright (C) 2001 Chris Lahey
- */
-
-#ifndef __GAL_A11Y_E_TABLE_H__
-#define __GAL_A11Y_E_TABLE_H__
-
-#include <glib-object.h>
-#include <atk/atkobject.h>
-#include <atk/atkcomponent.h>
-#include <gtk/gtkaccessible.h>
-
-#define GAL_A11Y_TYPE_E_TABLE (gal_a11y_e_table_get_type ())
-#define GAL_A11Y_E_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_A11Y_TYPE_E_TABLE, GalA11yETable))
-#define GAL_A11Y_E_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAL_A11Y_TYPE_E_TABLE, GalA11yETableClass))
-#define GAL_A11Y_IS_E_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAL_A11Y_TYPE_E_TABLE))
-#define GAL_A11Y_IS_E_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAL_A11Y_TYPE_E_TABLE))
-
-typedef struct _GalA11yETable GalA11yETable;
-typedef struct _GalA11yETableClass GalA11yETableClass;
-typedef struct _GalA11yETablePrivate GalA11yETablePrivate;
-
-/* This struct should actually be larger as this isn't what we derive from.
- * The GalA11yETablePrivate comes right after the parent class structure.
- **/
-struct _GalA11yETable {
- GtkAccessible object;
-};
-
-struct _GalA11yETableClass {
- GtkAccessibleClass parent_class;
-};
-
-
-/* Standard Glib function */
-GType gal_a11y_e_table_get_type (void);
-AtkObject *gal_a11y_e_table_new (GObject *table);
-
-void gal_a11y_e_table_init (void);
-
-#endif /* ! __GAL_A11Y_E_TABLE_H__ */
diff --git a/a11y/e-table/gal-a11y-e-tree-factory.c b/a11y/e-table/gal-a11y-e-tree-factory.c
deleted file mode 100644
index 2fa34c5fbc..0000000000
--- a/a11y/e-table/gal-a11y-e-tree-factory.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Authors: Yuedong Du <yuedong.du@sun.com>
- *
- * Copyright (C) 2003 Ximian, Inc.
- */
-
-#include <config.h>
-#include "gal-a11y-e-tree-factory.h"
-#include "gal-a11y-e-tree.h"
-
-#define CS_CLASS(factory) (G_TYPE_INSTANCE_GET_CLASS ((factory), C_TYPE_STREAM, GalA11yETreeFactoryClass))
-static AtkObjectFactoryClass *parent_class;
-#define PARENT_TYPE (ATK_TYPE_OBJECT_FACTORY)
-
-/* Static functions */
-
-static GType
-gal_a11y_e_tree_factory_get_accessible_type (void)
-{
- return GAL_A11Y_TYPE_E_TREE;
-}
-
-static AtkObject*
-gal_a11y_e_tree_factory_create_accessible (GObject *obj)
-{
- AtkObject *accessible;
-
- accessible = gal_a11y_e_tree_new (obj);
-
- return accessible;
-}
-
-static void
-gal_a11y_e_tree_factory_class_init (GalA11yETreeFactoryClass *klass)
-{
- AtkObjectFactoryClass *factory_class = ATK_OBJECT_FACTORY_CLASS (klass);
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- factory_class->create_accessible = gal_a11y_e_tree_factory_create_accessible;
- factory_class->get_accessible_type = gal_a11y_e_tree_factory_get_accessible_type;
-}
-
-static void
-gal_a11y_e_tree_factory_init (GalA11yETreeFactory *factory)
-{
-}
-
-/**
- * gal_a11y_e_tree_factory_get_type:
- * @void:
- *
- * Registers the &GalA11yETreeFactory class if necessary, and returns the type ID
- * associated to it.
- *
- * Return value: The type ID of the &GalA11yETreeFactory class.
- **/
-GType
-gal_a11y_e_tree_factory_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- GTypeInfo info = {
- sizeof (GalA11yETreeFactoryClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) gal_a11y_e_tree_factory_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (GalA11yETreeFactory),
- 0,
- (GInstanceInitFunc) gal_a11y_e_tree_factory_init,
- NULL /* value_tree */
- };
-
- type = g_type_register_static (PARENT_TYPE, "GalA11yETreeFactory", &info, 0);
- }
-
- return type;
-}
diff --git a/a11y/e-table/gal-a11y-e-tree-factory.h b/a11y/e-table/gal-a11y-e-tree-factory.h
deleted file mode 100644
index 434e526db9..0000000000
--- a/a11y/e-table/gal-a11y-e-tree-factory.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Authors: Yuedong Du <yuedong.du@ximian.com>
- *
- * Copyright (C) 2003 Ximian, Inc.
- */
-
-#ifndef __GAL_A11Y_E_TREE_FACTORY_H__
-#define __GAL_A11Y_E_TREE_FACTORY_H__
-
-#include <glib-object.h>
-#include <atk/atkobjectfactory.h>
-
-#define GAL_A11Y_TYPE_E_TREE_FACTORY (gal_a11y_e_table_factory_get_type ())
-#define GAL_A11Y_E_TREE_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_A11Y_TYPE_E_TREE_FACTORY, GalA11yETreeFactory))
-#define GAL_A11Y_E_TREE_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAL_A11Y_TYPE_E_TREE_FACTORY, GalA11yETreeFactoryClass))
-#define GAL_A11Y_IS_E_TREE_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAL_A11Y_TYPE_E_TREE_FACTORY))
-#define GAL_A11Y_IS_E_TREE_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAL_A11Y_TYPE_E_TREE_FACTORY))
-
-typedef struct _GalA11yETreeFactory GalA11yETreeFactory;
-typedef struct _GalA11yETreeFactoryClass GalA11yETreeFactoryClass;
-
-struct _GalA11yETreeFactory {
- AtkObject object;
-};
-
-struct _GalA11yETreeFactoryClass {
- AtkObjectClass parent_class;
-};
-
-
-/* Standard Glib function */
-GType gal_a11y_e_tree_factory_get_type (void);
-
-#endif /* ! __GAL_A11Y_E_TREE_FACTORY_H__ */
diff --git a/a11y/e-table/gal-a11y-e-tree.c b/a11y/e-table/gal-a11y-e-tree.c
deleted file mode 100644
index de468398ea..0000000000
--- a/a11y/e-table/gal-a11y-e-tree.c
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Authors: Yuedong Du <yuedong.du@sun.com>
- *
- * Copyright (C) 2003 Ximian, Inc.
- */
-
-#include <config.h>
-#include "gal-a11y-e-tree.h"
-#include "gal-a11y-e-tree-factory.h"
-#include "gal-a11y-util.h"
-#include "gal-a11y-e-table-item.h"
-#include <gal/e-table/e-tree.h>
-#include <gal/e-table/e-table-item.h>
-
-#define CS_CLASS(a11y) (G_TYPE_INSTANCE_GET_CLASS ((a11y), C_TYPE_STREAM, GalA11yETreeClass))
-static AtkObjectClass *parent_class;
-static GType parent_type;
-static gint priv_offset;
-#define GET_PRIVATE(object) ((GalA11yETreePrivate *) (((char *) object) + priv_offset))
-#define PARENT_TYPE (parent_type)
-
-struct _GalA11yETreePrivate {
- AtkObject *child_item;
-};
-
-/* Static functions */
-
-static void
-init_child_item (GalA11yETree *a11y)
-{
- GalA11yETreePrivate *priv = GET_PRIVATE (a11y);
- ETree *tree = E_TREE (GTK_ACCESSIBLE (a11y)->widget);
- ETableItem * eti;
-
- g_return_if_fail (tree);
- eti = e_tree_get_item (tree);
- if (priv->child_item == NULL) {
- priv->child_item = atk_gobject_accessible_for_object (G_OBJECT (eti));
- }
-}
-
-static AtkObject*
-et_ref_accessible_at_point (AtkComponent *component,
- gint x,
- gint y,
- AtkCoordType coord_type)
-{
- GalA11yETree *a11y = GAL_A11Y_E_TREE (component);
- init_child_item (a11y);
- return GET_PRIVATE (a11y)->child_item;
-}
-
-static gint
-et_get_n_children (AtkObject *accessible)
-{
- return 1;
-}
-
-static AtkObject*
-et_ref_child (AtkObject *accessible,
- gint i)
-{
- GalA11yETree *a11y = GAL_A11Y_E_TREE (accessible);
- if (i != 0)
- return NULL;
- init_child_item (a11y);
- g_object_ref (GET_PRIVATE (a11y)->child_item);
- return GET_PRIVATE (a11y)->child_item;
-}
-
-static AtkLayer
-et_get_layer (AtkComponent *component)
-{
- return ATK_LAYER_WIDGET;
-}
-
-static void
-et_class_init (GalA11yETreeClass *klass)
-{
- AtkObjectClass *atk_object_class = ATK_OBJECT_CLASS (klass);
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- atk_object_class->get_n_children = et_get_n_children;
- atk_object_class->ref_child = et_ref_child;
-}
-
-static void
-et_atk_component_iface_init (AtkComponentIface *iface)
-{
- iface->ref_accessible_at_point = et_ref_accessible_at_point;
- iface->get_layer = et_get_layer;
-}
-
-static void
-et_init (GalA11yETree *a11y)
-{
- GalA11yETreePrivate *priv;
-
- priv = GET_PRIVATE (a11y);
-
- priv->child_item = NULL;
-}
-
-/**
- * gal_a11y_e_tree_get_type:
- * @void:
- *
- * Registers the &GalA11yETree class if necessary, and returns the type ID
- * associated to it.
- *
- * Return value: The type ID of the &GalA11yETree class.
- **/
-GType
-gal_a11y_e_tree_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- AtkObjectFactory *factory;
-
- GTypeInfo info = {
- sizeof (GalA11yETreeClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) et_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (GalA11yETree),
- 0,
- (GInstanceInitFunc) et_init,
- NULL /* value_tree */
- };
-
- static const GInterfaceInfo atk_component_info = {
- (GInterfaceInitFunc) et_atk_component_iface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- factory = atk_registry_get_factory (atk_get_default_registry (), GTK_TYPE_WIDGET);
- parent_type = atk_object_factory_get_accessible_type (factory);
-
- type = gal_a11y_type_register_static_with_private (PARENT_TYPE, "GalA11yETree", &info, 0,
- sizeof (GalA11yETreePrivate), &priv_offset);
- g_type_add_interface_static (type, ATK_TYPE_COMPONENT, &atk_component_info);
- }
-
- return type;
-}
-
-AtkObject *
-gal_a11y_e_tree_new (GObject *widget)
-{
- GalA11yETree *a11y;
- ETree *tree;
-
- tree = E_TREE (widget);
-
- a11y = g_object_new (gal_a11y_e_tree_get_type (), NULL);
-
- GTK_ACCESSIBLE (a11y)->widget = GTK_WIDGET (widget);
-
- return ATK_OBJECT (a11y);
-}
-
-void
-gal_a11y_e_tree_init (void)
-{
- if (atk_get_root ())
- atk_registry_set_factory_type (atk_get_default_registry (),
- E_TREE_TYPE,
- gal_a11y_e_tree_factory_get_type ());
-
-}
-
diff --git a/a11y/e-table/gal-a11y-e-tree.h b/a11y/e-table/gal-a11y-e-tree.h
deleted file mode 100644
index a9468ced54..0000000000
--- a/a11y/e-table/gal-a11y-e-tree.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Authors: Yuedong Du <yuedong.du@sun.com>
- *
- * Copyright (C) 2003 Ximian, Inc.
- */
-
-#ifndef __GAL_A11Y_E_TREE_H__
-#define __GAL_A11Y_E_TREE_H__
-
-#include <glib-object.h>
-#include <atk/atkobject.h>
-#include <atk/atkcomponent.h>
-#include <gtk/gtkaccessible.h>
-
-#define GAL_A11Y_TYPE_E_TREE (gal_a11y_e_tree_get_type ())
-#define GAL_A11Y_E_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_A11Y_TYPE_E_TREE, GalA11yETree))
-#define GAL_A11Y_E_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAL_A11Y_TYPE_E_TREE, GalA11yETreeClass))
-#define GAL_A11Y_IS_E_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAL_A11Y_TYPE_E_TREE))
-#define GAL_A11Y_IS_E_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAL_A11Y_TYPE_E_TREE))
-
-typedef struct _GalA11yETree GalA11yETree;
-typedef struct _GalA11yETreeClass GalA11yETreeClass;
-typedef struct _GalA11yETreePrivate GalA11yETreePrivate;
-
-/* This struct should actually be larger as this isn't what we derive from.
- * The GalA11yETablePrivate comes right after the parent class structure.
- **/
-struct _GalA11yETree {
- GtkAccessible object;
-};
-
-struct _GalA11yETreeClass {
- GtkAccessibleClass parent_class;
-};
-
-
-/* Standard Glib function */
-GType gal_a11y_e_tree_get_type (void);
-AtkObject *gal_a11y_e_tree_new (GObject *tree);
-
-void gal_a11y_e_tree_init (void);
-
-#endif /* ! __GAL_A11Y_E_TREE_H__ */
diff --git a/a11y/e-text/.cvsignore b/a11y/e-text/.cvsignore
deleted file mode 100644
index 5b48d3f593..0000000000
--- a/a11y/e-text/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-.libs
-Makefile.in
-Makefile
-*.la
diff --git a/a11y/e-text/gal-a11y-e-text-factory.c b/a11y/e-text/gal-a11y-e-text-factory.c
deleted file mode 100644
index 24e3c28116..0000000000
--- a/a11y/e-text/gal-a11y-e-text-factory.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Authors:
- * Christopher James Lahey <clahey@ximian.com>
- *
- * Copyright (C) 2002 Ximian, Inc.
- */
-
-#include <config.h>
-#include "gal/e-text/e-text.h"
-#include "gal-a11y-e-text-factory.h"
-#include "gal-a11y-e-text.h"
-
-#define CS_CLASS(factory) (G_TYPE_INSTANCE_GET_CLASS ((factory), C_TYPE_STREAM, GalA11yETextFactoryClass))
-static AtkObjectFactoryClass *parent_class;
-#define PARENT_TYPE (ATK_TYPE_OBJECT_FACTORY)
-
-/* Static functions */
-
-static GType
-gal_a11y_e_text_factory_get_accessible_type (void)
-{
- return GAL_A11Y_TYPE_E_TEXT;
-}
-
-static AtkObject*
-gal_a11y_e_text_factory_create_accessible (GObject *obj)
-{
- AtkObject *atk_object;
-
- g_return_val_if_fail (E_IS_TEXT (obj), NULL);
-
- atk_object = g_object_new (GAL_A11Y_TYPE_E_TEXT, NULL);
- atk_object_initialize (atk_object, obj);
-
- return atk_object;
-}
-
-static void
-gal_a11y_e_text_factory_class_init (GalA11yETextFactoryClass *klass)
-{
- AtkObjectFactoryClass *factory_class = ATK_OBJECT_FACTORY_CLASS (klass);
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- factory_class->create_accessible = gal_a11y_e_text_factory_create_accessible;
- factory_class->get_accessible_type = gal_a11y_e_text_factory_get_accessible_type;
-}
-
-static void
-gal_a11y_e_text_factory_init (GalA11yETextFactory *factory)
-{
-}
-
-/**
- * gal_a11y_e_text_factory_get_type:
- * @void:
- *
- * Registers the &GalA11yETextFactory class if necessary, and returns the type ID
- * associated to it.
- *
- * Return value: The type ID of the &GalA11yETextFactory class.
- **/
-GType
-gal_a11y_e_text_factory_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- GTypeInfo info = {
- sizeof (GalA11yETextFactoryClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) gal_a11y_e_text_factory_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (GalA11yETextFactory),
- 0,
- (GInstanceInitFunc) gal_a11y_e_text_factory_init,
- NULL /* value_text */
- };
-
- type = g_type_register_static (PARENT_TYPE, "GalA11yETextFactory", &info, 0);
- }
-
- return type;
-}
diff --git a/a11y/e-text/gal-a11y-e-text-factory.h b/a11y/e-text/gal-a11y-e-text-factory.h
deleted file mode 100644
index 56a8d29ab9..0000000000
--- a/a11y/e-text/gal-a11y-e-text-factory.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Authors:
- * Christopher James Lahey <clahey@ximian.com>
- *
- * Copyright (C) 2001 Chris Lahey
- */
-
-#ifndef __GAL_A11Y_E_TEXT_FACTORY_H__
-#define __GAL_A11Y_E_TEXT_FACTORY_H__
-
-#include <glib-object.h>
-#include <atk/atkobjectfactory.h>
-
-#define GAL_A11Y_TYPE_E_TEXT_FACTORY (gal_a11y_e_text_factory_get_type ())
-#define GAL_A11Y_E_TEXT_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_A11Y_TYPE_E_TEXT_FACTORY, GalA11yETextFactory))
-#define GAL_A11Y_E_TEXT_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAL_A11Y_TYPE_E_TEXT_FACTORY, GalA11yETextFactoryClass))
-#define GAL_A11Y_IS_E_TEXT_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAL_A11Y_TYPE_E_TEXT_FACTORY))
-#define GAL_A11Y_IS_E_TEXT_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAL_A11Y_TYPE_E_TEXT_FACTORY))
-
-typedef struct _GalA11yETextFactory GalA11yETextFactory;
-typedef struct _GalA11yETextFactoryClass GalA11yETextFactoryClass;
-
-struct _GalA11yETextFactory {
- AtkObjectFactory object;
-};
-
-struct _GalA11yETextFactoryClass {
- AtkObjectFactoryClass parent_class;
-};
-
-
-/* Standard Glib function */
-GType gal_a11y_e_text_factory_get_type (void);
-
-#endif /* ! __GAL_A11Y_E_TEXT_FACTORY_H__ */
diff --git a/a11y/e-text/gal-a11y-e-text.c b/a11y/e-text/gal-a11y-e-text.c
deleted file mode 100644
index 2463126afa..0000000000
--- a/a11y/e-text/gal-a11y-e-text.c
+++ /dev/null
@@ -1,1133 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Authors:
- * Christopher James Lahey <clahey@ximian.com>
- *
- * Copyright (C) 2002 Ximian, Inc.
- */
-
-#include <config.h>
-#include <string.h>
-#include "gal-a11y-e-text.h"
-#include "gal-a11y-e-text-factory.h"
-#include "gal-a11y-util.h"
-#include <atk/atkobject.h>
-#include <atk/atktable.h>
-#include <atk/atkcomponent.h>
-#include <atk/atkobjectfactory.h>
-#include <atk/atkregistry.h>
-#include <atk/atkgobjectaccessible.h>
-#include "gal/e-text/e-text.h"
-#include "gal/e-text/e-text-model-repos.h"
-#include <gtk/gtkmain.h>
-
-#define CS_CLASS(a11y) (G_TYPE_INSTANCE_GET_CLASS ((a11y), C_TYPE_STREAM, GalA11yETextClass))
-static GObjectClass *parent_class;
-static AtkComponentIface *component_parent_iface;
-static GType parent_type;
-static gint priv_offset;
-static GQuark quark_accessible_object = 0;
-#define GET_PRIVATE(object) ((GalA11yETextPrivate *) (((char *) object) + priv_offset))
-#define PARENT_TYPE (parent_type)
-
-struct _GalA11yETextPrivate {
- int dummy;
-};
-
-static void
-et_dispose (GObject *object)
-{
- if (parent_class->dispose)
- parent_class->dispose (object);
-}
-
-/* Static functions */
-
-static void
-et_get_extents (AtkComponent *component,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coord_type)
-{
- EText *item = E_TEXT (atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (component)));
- double real_width;
- double real_height;
- int fake_width;
- int fake_height;
-
- if (component_parent_iface &&
- component_parent_iface->get_extents)
- component_parent_iface->get_extents (component,
- x,
- y,
- &fake_width,
- &fake_height,
- coord_type);
-
- gtk_object_get (GTK_OBJECT (item),
- "text_width", &real_width,
- "text_height", &real_height,
- NULL);
-
- if (width)
- *width = real_width;
- if (height)
- *height = real_height;
-}
-
-static const gchar *
-et_get_full_text (AtkText *text)
-{
- EText *etext = E_TEXT (atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (text)));
- ETextModel *model;
- const char *full_text;
-
- gtk_object_get (GTK_OBJECT (etext),
- "model", &model,
- NULL);
-
- full_text = e_text_model_get_text (model);
-
- return full_text;
-}
-
-static void
-et_set_full_text (AtkEditableText *text,
- const char *full_text)
-{
- EText *etext = E_TEXT (atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (text)));
- ETextModel *model;
-
- gtk_object_get (GTK_OBJECT (etext),
- "model", &model,
- NULL);
-
- e_text_model_set_text (model, full_text);
-}
-
-static gchar *
-et_get_text (AtkText *text,
- gint start_offset,
- gint end_offset)
-{
- gint start, end, real_start, real_end, len;
- const char *full_text = et_get_full_text (text);
- if (full_text == NULL)
- return NULL;
- len = g_utf8_strlen (full_text, -1);
-
- start = MIN (MAX (0, start_offset), len);
- end = MIN (MAX (-1, end_offset), len);
-
- if (end_offset == -1)
- end = strlen (full_text);
- else
- end = g_utf8_offset_to_pointer (full_text, end) - full_text;
-
- start = g_utf8_offset_to_pointer (full_text, start) - full_text;
-
- real_start = MIN (start, end);
- real_end = MAX (start, end);
-
- return g_strndup (full_text + real_start, real_end - real_start);
-}
-
-static gboolean
-is_a_seperator (gunichar c)
-{
- return g_unichar_ispunct(c) || g_unichar_isspace(c);
-}
-
-static gint
-find_word_start (const char *text,
- gint begin_offset,
- gint step)
-{
- gint offset;
- char *at_offset;
- gunichar current, previous;
- gint len;
-
- offset = begin_offset;
- len = g_utf8_strlen (text, -1);
-
- while (offset > 0 && offset < len) {
- at_offset = g_utf8_offset_to_pointer (text, offset);
- current = g_utf8_get_char_validated (at_offset, -1);
- at_offset = g_utf8_offset_to_pointer (text, offset-1);
- previous = g_utf8_get_char_validated (at_offset, -1);
- if ((! is_a_seperator (current)) && is_a_seperator (previous))
- break;
- offset += step;
- }
-
- return offset;
-}
-
-static gint
-find_word_end (const char *text,
- gint begin_offset,
- gint step)
-{
- gint offset;
- char *at_offset;
- gunichar current, previous;
- gint len;
-
- offset = begin_offset;
- len = g_utf8_strlen (text, -1);
-
- while (offset > 0 && offset < len) {
- at_offset = g_utf8_offset_to_pointer (text, offset);
- current = g_utf8_get_char_validated (at_offset, -1);
- at_offset = g_utf8_offset_to_pointer (text, offset-1);
- previous = g_utf8_get_char_validated (at_offset, -1);
- if (is_a_seperator (current) && (! is_a_seperator (previous)))
- break;
- offset += step;
- }
-
- return offset;
-}
-
-static gint
-find_sentence_start (const char *text,
- gint begin_offset,
- gint step)
-{
- gint offset, last_word_end, len;
- char *at_offset;
- gunichar ch;
- int i;
-
- offset = find_word_start (text, begin_offset, step);
- len = g_utf8_strlen (text, -1);
-
- while (offset>0 && offset <len) {
- last_word_end = find_word_end (text, offset - 1, -1);
- if (last_word_end == 0)
- break;
- for (i = last_word_end; i < offset; i++) {
- at_offset = g_utf8_offset_to_pointer (text, i);
- ch = g_utf8_get_char_validated (at_offset, -1);
- if (ch == '.' || ch == '!' || ch == '?')
- return offset;
- }
-
- offset = find_word_start (text, offset + step, step);
- }
-
- return offset;
-}
-
-static gint
-find_sentence_end (const char *text,
- gint begin_offset,
- gint step)
-{
- gint offset;
- char *at_offset;
- gunichar previous;
- gint len;
-
- offset = begin_offset;
- len = g_utf8_strlen (text, -1);
-
- while (offset > 0 && offset < len) {
- at_offset = g_utf8_offset_to_pointer (text, offset - 1);
- previous = g_utf8_get_char_validated (at_offset, -1);
- if (previous == '.' || previous == '!' || previous == '?')
- break;
- offset += step;
- }
-
- return offset;
-}
-
-static gint
-find_line_start (const char *text,
- gint begin_offset,
- gint step)
-{
- gint offset;
- char *at_offset;
- gunichar previous;
- gint len;
-
- offset = begin_offset;
- len = g_utf8_strlen (text, -1);
-
- while (offset > 0 && offset < len) {
- at_offset = g_utf8_offset_to_pointer (text, offset - 1);
- previous = g_utf8_get_char_validated (at_offset, -1);
- if (previous == '\n' || previous == '\r')
- break;
- offset += step;
- }
-
- return offset;
-}
-
-static gint
-find_line_end (const char *text,
- gint begin_offset,
- gint step)
-{
- gint offset;
- char *at_offset;
- gunichar current;
- gint len;
-
- offset = begin_offset;
- len = g_utf8_strlen (text, -1);
-
- while (offset >= 0 && offset < len) {
- at_offset = g_utf8_offset_to_pointer (text, offset);
- current = g_utf8_get_char_validated (at_offset, -1);
- if (current == '\n' || current == '\r')
- break;
- offset += step;
- }
-
- return offset;
-}
-
-static gchar *
-et_get_text_after_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- gint start, end, len;
- const char *full_text = et_get_full_text (text);
- g_return_val_if_fail (full_text, NULL);
-
- switch (boundary_type)
- {
- case ATK_TEXT_BOUNDARY_CHAR:
- start = offset + 1;
- end = offset + 2;
- break;
- case ATK_TEXT_BOUNDARY_WORD_START:
- start = find_word_start (full_text, offset + 1, 1);
- end = find_word_start (full_text, start + 1, 1);
- break;
- case ATK_TEXT_BOUNDARY_WORD_END:
- start = find_word_end (full_text, offset + 1, 1);
- end = find_word_end (full_text, start + 1, 1);
- break;
- case ATK_TEXT_BOUNDARY_SENTENCE_START:
- start = find_sentence_start (full_text, offset + 1, 1);
- end = find_sentence_start (full_text, start + 1, 1);
- break;
- case ATK_TEXT_BOUNDARY_SENTENCE_END:
- start = find_sentence_end (full_text, offset + 1, 1);
- end = find_sentence_end (full_text, start + 1, 1);
- break;
- case ATK_TEXT_BOUNDARY_LINE_START:
- start = find_line_start (full_text, offset + 1, 1);
- end = find_line_start (full_text, start + 1, 1);
- break;
- case ATK_TEXT_BOUNDARY_LINE_END:
- start = find_line_end (full_text, offset + 1, 1);
- end = find_line_end (full_text, start + 1, 1);
- break;
- default:
- return NULL;
- }
-
- len = g_utf8_strlen (full_text, -1);
- if (start_offset)
- *start_offset = MIN (MAX (0, start), len);
- if (end_offset)
- *end_offset = MIN (MAX (0, end), len);
- return et_get_text (text, start, end);
-}
-
-static gchar *
-et_get_text_at_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- gint start, end, len;
- const char *full_text = et_get_full_text (text);
- g_return_val_if_fail (full_text, NULL);
-
- switch (boundary_type)
- {
- case ATK_TEXT_BOUNDARY_CHAR:
- start = offset;
- end = offset + 1;
- break;
- case ATK_TEXT_BOUNDARY_WORD_START:
- start = find_word_start (full_text, offset - 1, -1);
- end = find_word_start (full_text, offset, 1);
- break;
- case ATK_TEXT_BOUNDARY_WORD_END:
- start = find_word_end (full_text, offset, -1);
- end = find_word_end (full_text, offset + 1, 1);
- break;
- case ATK_TEXT_BOUNDARY_SENTENCE_START:
- start = find_sentence_start (full_text, offset - 1, -1);
- end = find_sentence_start (full_text, offset, 1);
- break;
- case ATK_TEXT_BOUNDARY_SENTENCE_END:
- start = find_sentence_end (full_text, offset, -1);
- end = find_sentence_end (full_text, offset + 1, 1);
- break;
- case ATK_TEXT_BOUNDARY_LINE_START:
- start = find_line_start (full_text, offset - 1, -1);
- end = find_line_start (full_text, offset, 1);
- break;
- case ATK_TEXT_BOUNDARY_LINE_END:
- start = find_line_end (full_text, offset, -1);
- end = find_line_end (full_text, offset + 1, 1);
- break;
- default:
- return NULL;
- }
-
- len = g_utf8_strlen (full_text, -1);
- if (start_offset)
- *start_offset = MIN (MAX (0, start), len);
- if (end_offset)
- *end_offset = MIN (MAX (0, end), len);
- return et_get_text (text, start, end);
-}
-
-static gunichar
-et_get_character_at_offset (AtkText *text,
- gint offset)
-{
- const char *full_text = et_get_full_text (text);
- char *at_offset;
-
- at_offset = g_utf8_offset_to_pointer (full_text, offset);
- return g_utf8_get_char_validated (at_offset, -1);
-}
-
-
-static gchar*
-et_get_text_before_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- gint start, end, len;
- const char *full_text = et_get_full_text (text);
- g_return_val_if_fail (full_text, NULL);
-
- switch (boundary_type)
- {
- case ATK_TEXT_BOUNDARY_CHAR:
- start = offset - 1;
- end = offset;
- break;
- case ATK_TEXT_BOUNDARY_WORD_START:
- end = find_word_start (full_text, offset - 1, -1);
- start = find_word_start (full_text, end - 1, -1) ;
- break;
- case ATK_TEXT_BOUNDARY_WORD_END:
- end = find_word_end (full_text, offset, -1);
- start = find_word_end (full_text, end - 1, -1);
- break;
- case ATK_TEXT_BOUNDARY_SENTENCE_START:
- end = find_sentence_start (full_text, offset, -1);
- start = find_sentence_start (full_text, end - 1, -1);
- break;
- case ATK_TEXT_BOUNDARY_SENTENCE_END:
- end = find_sentence_end (full_text, offset, -1);
- start = find_sentence_end (full_text, end - 1, -1);
- break;
- case ATK_TEXT_BOUNDARY_LINE_START:
- end = find_line_start (full_text, offset, -1);
- start = find_line_start (full_text, end - 1, -1);
- break;
- case ATK_TEXT_BOUNDARY_LINE_END:
- end = find_line_end (full_text, offset, -1);
- start = find_line_end (full_text, end - 1, -1);
- break;
- default:
- return NULL;
- }
-
- len = g_utf8_strlen (full_text, -1);
- if (start_offset)
- *start_offset = MIN (MAX (0, start), len);
- if (end_offset)
- *end_offset = MIN (MAX (0, end), len);
- return et_get_text (text, start, end);
-}
-
-static gint
-et_get_caret_offset (AtkText *text)
-{
- GObject *obj;
- EText *etext;
- int offset;
-
- g_return_val_if_fail (ATK_IS_GOBJECT_ACCESSIBLE(text), -1);
- obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (text));
- if (obj == NULL)
- return -1;
-
- g_return_val_if_fail (E_IS_TEXT (obj), -1);
- etext = E_TEXT (obj);
-
- gtk_object_get (GTK_OBJECT (etext),
- "cursor_pos", &offset,
- NULL);
- return offset;
-}
-
-
-static AtkAttributeSet*
-et_get_run_attributes (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset)
-{
- /* Unimplemented */
- return NULL;
-}
-
-
-static AtkAttributeSet*
-et_get_default_attributes (AtkText *text)
-{
- /* Unimplemented */
- return NULL;
-}
-
-
-static void
-et_get_character_extents (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords)
-{
- GObject *obj;
- EText *etext;
- GnomeCanvas *canvas;
- gint x_widget, y_widget, x_window, y_window;
- GdkWindow *window;
- GtkWidget *widget;
- PangoRectangle pango_pos;
-
- g_return_if_fail (ATK_IS_GOBJECT_ACCESSIBLE(text));
- obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (text));
- if (obj == NULL)
- return;
- g_return_if_fail (E_IS_TEXT (obj));
- etext = E_TEXT(obj);
- canvas = GNOME_CANVAS_ITEM(etext)->canvas;
- widget = GTK_WIDGET(canvas);
- window = widget->window;
- gdk_window_get_origin (window, &x_widget, &y_widget);
-
- pango_layout_index_to_pos (etext->layout, offset, &pango_pos);
- pango_pos.x = PANGO_PIXELS (pango_pos.x);
- pango_pos.y = PANGO_PIXELS (pango_pos.y);
- pango_pos.width = (pango_pos.width + PANGO_SCALE / 2) / PANGO_SCALE;
- pango_pos.height = (pango_pos.height + PANGO_SCALE / 2) / PANGO_SCALE;
-
- *x = pango_pos.x + x_widget;
- *y = pango_pos.y + y_widget;
-
- *width = pango_pos.width;
- *height = pango_pos.height;
-
- if (etext->draw_borders) {
- *x += 3; /*BORDER_INDENT;*/
- *y += 3; /*BORDER_INDENT;*/
- }
-
- *x += etext->xofs;
- *y += etext->yofs;
-
- if (etext->editing) {
- *x -= etext->xofs_edit;
- *y -= etext->yofs_edit;
- }
-
- *x += etext->cx;
- *y += etext->cy;
-
- if (coords == ATK_XY_WINDOW) {
- window = gdk_window_get_toplevel (window);
- gdk_window_get_origin (window, &x_window, &y_window);
- *x -= x_window;
- *y -= y_window;
- }
- else if (coords == ATK_XY_SCREEN) {
- }
- else {
- *x = 0;
- *y = 0;
- *height = 0;
- *width = 0;
- }
-}
-
-
-static gint
-et_get_character_count (AtkText *text)
-{
- const char *full_text = et_get_full_text (text);
-
- return g_utf8_strlen (full_text, -1);
-}
-
-
-static gint
-et_get_offset_at_point (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords)
-{
- GObject *obj;
- EText *etext;
- GnomeCanvas *canvas;
- gint x_widget, y_widget, x_window, y_window;
- GdkWindow *window;
- GtkWidget *widget;
- int index;
- int trailing;
-
- g_return_val_if_fail (ATK_IS_GOBJECT_ACCESSIBLE(text), -1);
- obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (text));
- if (obj == NULL)
- return -1;
- g_return_val_if_fail (E_IS_TEXT (obj), -1);
- etext = E_TEXT(obj);
- canvas = GNOME_CANVAS_ITEM(etext)->canvas;
- widget = GTK_WIDGET(canvas);
- window = widget->window;
- gdk_window_get_origin (window, &x_widget, &y_widget);
-
- if (coords == ATK_XY_SCREEN) {
- x = x - x_widget;
- y = y - y_widget;
- }
- else if (coords == ATK_XY_WINDOW) {
- window = gdk_window_get_toplevel (window);
- gdk_window_get_origin (window, &x_window, &y_window);
- x = x - x_widget + x_window;
- y = y - y_widget + y_window;
- }
- else
- return -1;
-
- if (etext->draw_borders) {
- x -= 3; /*BORDER_INDENT;*/
- y -= 3; /*BORDER_INDENT;*/
- }
-
- x -= etext->xofs;
- y -= etext->yofs;
-
- if (etext->editing) {
- x += etext->xofs_edit;
- y += etext->yofs_edit;
- }
-
- x -= etext->cx;
- y -= etext->cy;
-
- pango_layout_xy_to_index (etext->layout,
- x * PANGO_SCALE - PANGO_SCALE / 2,
- y * PANGO_SCALE - PANGO_SCALE / 2,
- &index,
- &trailing);
-
- return g_utf8_pointer_to_offset (etext->text, etext->text + index + trailing);
-}
-
-
-static gint
-et_get_n_selections (AtkText *text)
-{
- EText *etext = E_TEXT (atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (text)));
- if (etext->selection_start !=
- etext->selection_end)
- return 1;
- return 0;
-}
-
-
-static gchar*
-et_get_selection (AtkText *text,
- gint selection_num,
- gint *start_offset,
- gint *end_offset)
-{
- gint start, end, real_start, real_end, len;
- EText *etext;
- if (selection_num == 0) {
- const char *full_text = et_get_full_text (text);
- if (full_text == NULL)
- return NULL;
- len = g_utf8_strlen (full_text, -1);
- etext = E_TEXT (atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (text)));
- start = MIN (etext->selection_start, etext->selection_end);
- end = MAX (etext->selection_start, etext->selection_end);
- start = MIN (MAX (0, start), len);
- end = MIN (MAX (0, end), len);
- if (start != end) {
- if (start_offset)
- *start_offset = start;
- if (end_offset)
- *end_offset = end;
- real_start = g_utf8_offset_to_pointer (full_text, start) - full_text;
- real_end = g_utf8_offset_to_pointer (full_text, end) - full_text;
- return g_strndup (full_text + real_start, real_end - real_start);
- }
- }
-
- return NULL;
-}
-
-
-static gboolean
-et_add_selection (AtkText *text,
- gint start_offset,
- gint end_offset)
-{
- GObject *obj;
- EText *etext;
-
- g_return_val_if_fail (ATK_IS_GOBJECT_ACCESSIBLE (text), FALSE);
- obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (text));
- if (obj == NULL)
- return FALSE;
- g_return_val_if_fail (E_IS_TEXT (obj), FALSE);
- etext = E_TEXT (obj);
-
- g_return_val_if_fail (start_offset >= 0, FALSE);
- g_return_val_if_fail (start_offset >= -1, FALSE);
- if (end_offset == -1)
- end_offset = et_get_character_count (text);
-
- if (start_offset != end_offset) {
- gint real_start, real_end;
- real_start = MIN (start_offset, end_offset);
- real_end = MAX (start_offset, end_offset);
- etext->selection_start = real_start;
- etext->selection_end = real_end;
-
- gnome_canvas_item_grab_focus (GNOME_CANVAS_ITEM (etext));
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM (etext));
-
- g_signal_emit_by_name (ATK_OBJECT (text), "text_selection_changed");
-
- return TRUE;
- }
-
- return FALSE;
-}
-
-
-static gboolean
-et_remove_selection (AtkText *text,
- gint selection_num)
-{
- GObject *obj;
- EText *etext;
-
- g_return_val_if_fail (ATK_IS_GOBJECT_ACCESSIBLE (text), FALSE);
- obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (text));
- if (obj == NULL)
- return FALSE;
- g_return_val_if_fail (E_IS_TEXT (obj), FALSE);
- etext = E_TEXT (obj);
-
- if (selection_num == 0
- && etext->selection_start != etext->selection_end) {
- etext->selection_end = etext->selection_start;
- g_signal_emit_by_name (ATK_OBJECT(text), "text_selection_changed");
- return TRUE;
- }
-
- return FALSE;
-}
-
-
-static gboolean
-et_set_selection (AtkText *text,
- gint selection_num,
- gint start_offset,
- gint end_offset)
-{
- GObject *obj;
- EText *etext;
-
- g_return_val_if_fail (ATK_IS_GOBJECT_ACCESSIBLE (text), FALSE);
- obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (text));
- if (obj == NULL)
- return FALSE;
- g_return_val_if_fail (E_IS_TEXT (obj), FALSE);
- etext = E_TEXT (obj);
- if (selection_num == 0)
- return et_add_selection (text, start_offset, end_offset);
- return FALSE;
-}
-
-
-static gboolean
-et_set_caret_offset (AtkText *text,
- gint offset)
-{
- GObject *obj;
- EText *etext;
-
- g_return_val_if_fail (ATK_IS_GOBJECT_ACCESSIBLE (text), FALSE);
- obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (text));
- if (obj == NULL)
- return FALSE;
-
- g_return_val_if_fail (E_IS_TEXT (obj), FALSE);
- etext = E_TEXT (obj);
-
- if (offset < -1)
- return FALSE;
- else {
- ETextEventProcessorCommand command;
-
- if (offset == -1)
- offset = et_get_character_count (text);
-
- command.action = E_TEP_MOVE;
- command.position = E_TEP_VALUE;
- command.value = offset;
- command.time = GDK_CURRENT_TIME;
- g_signal_emit_by_name (etext->tep, "command", &command);
- return TRUE;
- }
-}
-
-static gboolean
-et_set_run_attributes (AtkEditableText *text,
- AtkAttributeSet *attrib_set,
- gint start_offset,
- gint end_offset)
-{
- /* Unimplemented */
- return FALSE;
-}
-
-static void
-et_set_text_contents (AtkEditableText *text,
- const gchar *string)
-{
- et_set_full_text (text, string);
-}
-
-static void
-et_insert_text (AtkEditableText *text,
- const gchar *string,
- gint length,
- gint *position)
-{
- /* Utf8 unimplemented */
- char *result;
-
- const char *full_text = et_get_full_text (ATK_TEXT (text));
- if (full_text == NULL)
- return;
-
- result = g_strdup_printf ("%.*s%.*s%s", *position, full_text, length, string, full_text + *position);
-
- et_set_full_text (text, result);
-
- *position += length;
-
- g_free (result);
-}
-
-static void
-et_copy_text (AtkEditableText *text,
- gint start_pos,
- gint end_pos)
-{
- GObject *obj;
- EText *etext;
-
- g_return_if_fail (ATK_IS_GOBJECT_ACCESSIBLE (text));
- obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (text));
- if (obj == NULL)
- return;
-
- g_return_if_fail (E_IS_TEXT (obj));
- etext = E_TEXT (obj);
-
- if (start_pos != end_pos) {
- etext->selection_start = start_pos;
- etext->selection_end = end_pos;
- e_text_copy_clipboard (etext);
- }
-}
-
-static void
-et_delete_text (AtkEditableText *text,
- gint start_pos,
- gint end_pos)
-{
- GObject *obj;
- EText *etext;
-
- g_return_if_fail (ATK_IS_GOBJECT_ACCESSIBLE(text));
- obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (text));
- if (obj == NULL)
- return;
-
- g_return_if_fail (E_IS_TEXT (obj));
- etext = E_TEXT (obj);
-
- etext->selection_start = start_pos;
- etext->selection_end = end_pos;
-
- e_text_delete_selection (etext);
-}
-
-static void
-et_cut_text (AtkEditableText *text,
- gint start_pos,
- gint end_pos)
-{
- et_copy_text (text, start_pos, end_pos);
- et_delete_text (text, start_pos, end_pos);
-}
-
-static void
-et_paste_text (AtkEditableText *text,
- gint position)
-{
- GObject *obj;
- EText *etext;
-
- g_return_if_fail (ATK_IS_GOBJECT_ACCESSIBLE (text));
- obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (text));
- if (obj == NULL)
- return;
-
- g_return_if_fail (E_IS_TEXT (obj));
- etext = E_TEXT (obj);
-
- gtk_object_set (GTK_OBJECT (etext),
- "cursor_pos", position,
- NULL);
- e_text_paste_clipboard (etext);
-}
-
-static void
-et_atk_component_iface_init (AtkComponentIface *iface)
-{
- iface->get_extents = et_get_extents;
-}
-
-static void
-et_atk_text_iface_init (AtkTextIface *iface)
-{
- iface->get_text = et_get_text;
- iface->get_text_after_offset = et_get_text_after_offset;
- iface->get_text_at_offset = et_get_text_at_offset;
- iface->get_character_at_offset = et_get_character_at_offset;
- iface->get_text_before_offset = et_get_text_before_offset;
- iface->get_caret_offset = et_get_caret_offset;
- iface->get_run_attributes = et_get_run_attributes;
- iface->get_default_attributes = et_get_default_attributes;
- iface->get_character_extents = et_get_character_extents;
- iface->get_character_count = et_get_character_count;
- iface->get_offset_at_point = et_get_offset_at_point;
- iface->get_n_selections = et_get_n_selections;
- iface->get_selection = et_get_selection;
- iface->add_selection = et_add_selection;
- iface->remove_selection = et_remove_selection;
- iface->set_selection = et_set_selection;
- iface->set_caret_offset = et_set_caret_offset;
-}
-
-static void
-et_atk_editable_text_iface_init (AtkEditableTextIface *iface)
-{
- iface->set_run_attributes = et_set_run_attributes;
- iface->set_text_contents = et_set_text_contents;
- iface->insert_text = et_insert_text;
- iface->copy_text = et_copy_text;
- iface->cut_text = et_cut_text;
- iface->delete_text = et_delete_text;
- iface->paste_text = et_paste_text;
-}
-
-static void
-_et_reposition_cb (ETextModel *model,
- ETextModelReposFn fn,
- gpointer repos_data,
- gpointer user_data)
-{
- AtkObject *accessible;
- AtkText *text;
-
- accessible = ATK_OBJECT (user_data);
- text = ATK_TEXT (accessible);
-
- if (fn == e_repos_delete_shift) {
- EReposDeleteShift *info = (EReposDeleteShift *) repos_data;
- g_signal_emit_by_name (text, "text-changed::delete", info->pos, info->len);
- }
- else if (fn == e_repos_insert_shift) {
- EReposInsertShift *info = (EReposInsertShift *) repos_data;
- g_signal_emit_by_name (text, "text-changed::insert", info->pos, info->len);
- }
-}
-
-static void
-_et_command_cb (ETextEventProcessor *tep,
- ETextEventProcessorCommand *command,
- gpointer user_data)
-{
- AtkObject *accessible;
- AtkText *text;
-
- accessible = ATK_OBJECT (user_data);
- text = ATK_TEXT (accessible);
-
- switch (command->action) {
- case E_TEP_MOVE:
- g_signal_emit_by_name (text, "text-caret-moved", et_get_caret_offset (text));
- break;
- case E_TEP_SELECT:
- g_signal_emit_by_name (text, "text-selection-changed");
- break;
- default:
- break;
- }
-}
-
-static void
-et_real_initialize (AtkObject *obj,
- gpointer data)
-{
- GalA11yEText *a11y;
- EText *etext;
-
- ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
-
- g_return_if_fail (GAL_A11Y_IS_E_TEXT (obj));
- g_return_if_fail (E_IS_TEXT (data));
-
- a11y = GAL_A11Y_E_TEXT (obj);
- etext = E_TEXT (data);
-
- /* Set up signal callbacks */
- g_signal_connect (etext->model, "reposition",
- G_CALLBACK (_et_reposition_cb), obj);
-
- g_signal_connect_after (etext->tep, "command",
- (GCallback) _et_command_cb, obj);
-
- obj->role = ATK_ROLE_TEXT;
-}
-
-static void
-et_class_init (GalA11yETextClass *klass)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *atk_class = ATK_OBJECT_CLASS (klass);
-
- quark_accessible_object = g_quark_from_static_string ("gtk-accessible-object");
- parent_class = g_type_class_ref (PARENT_TYPE);
- component_parent_iface = g_type_interface_peek(parent_class, ATK_TYPE_COMPONENT);
- object_class->dispose = et_dispose;
- atk_class->initialize = et_real_initialize;
-}
-
-static void
-et_init (GalA11yEText *a11y)
-{
-#if 0
- GalA11yETextPrivate *priv;
-
- priv = GET_PRIVATE (a11y);
-#endif
-}
-
-/**
- * gal_a11y_e_text_get_type:
- * @void:
- *
- * Registers the &GalA11yEText class if necessary, and returns the type ID
- * associated to it.
- *
- * Return value: The type ID of the &GalA11yEText class.
- **/
-GType
-gal_a11y_e_text_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- AtkObjectFactory *factory;
-
- GTypeInfo info = {
- sizeof (GalA11yETextClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) et_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (GalA11yEText),
- 0,
- (GInstanceInitFunc) et_init,
- NULL /* value_text */
- };
-
- static const GInterfaceInfo atk_component_info = {
- (GInterfaceInitFunc) et_atk_component_iface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
- static const GInterfaceInfo atk_text_info = {
- (GInterfaceInitFunc) et_atk_text_iface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
- static const GInterfaceInfo atk_editable_text_info = {
- (GInterfaceInitFunc) et_atk_editable_text_iface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- factory = atk_registry_get_factory (atk_get_default_registry (), GNOME_TYPE_CANVAS_ITEM);
- parent_type = atk_object_factory_get_accessible_type (factory);
-
- type = gal_a11y_type_register_static_with_private (PARENT_TYPE, "GalA11yEText", &info, 0,
- sizeof (GalA11yETextPrivate), &priv_offset);
-
- g_type_add_interface_static (type, ATK_TYPE_COMPONENT, &atk_component_info);
- g_type_add_interface_static (type, ATK_TYPE_TEXT, &atk_text_info);
- g_type_add_interface_static (type, ATK_TYPE_EDITABLE_TEXT, &atk_editable_text_info);
- }
-
- return type;
-}
-
-void
-gal_a11y_e_text_init (void)
-{
- if (atk_get_root ())
- atk_registry_set_factory_type (atk_get_default_registry (),
- E_TYPE_TEXT,
- gal_a11y_e_text_factory_get_type ());
-
-}
-
diff --git a/a11y/e-text/gal-a11y-e-text.h b/a11y/e-text/gal-a11y-e-text.h
deleted file mode 100644
index a4b204d296..0000000000
--- a/a11y/e-text/gal-a11y-e-text.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Authors:
- * Christopher James Lahey <clahey@ximian.com>
- *
- * Copyright (C) 2001 Chris Lahey
- */
-
-#ifndef __GAL_A11Y_E_TEXT_H__
-#define __GAL_A11Y_E_TEXT_H__
-
-#include <glib-object.h>
-#include <gal/e-table/e-table-item.h>
-
-#define GAL_A11Y_TYPE_E_TEXT (gal_a11y_e_text_get_type ())
-#define GAL_A11Y_E_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_A11Y_TYPE_E_TEXT, GalA11yEText))
-#define GAL_A11Y_E_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAL_A11Y_TYPE_E_TEXT, GalA11yETextClass))
-#define GAL_A11Y_IS_E_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAL_A11Y_TYPE_E_TEXT))
-#define GAL_A11Y_IS_E_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAL_A11Y_TYPE_E_TEXT))
-
-typedef struct _GalA11yEText GalA11yEText;
-typedef struct _GalA11yETextClass GalA11yETextClass;
-typedef struct _GalA11yETextPrivate GalA11yETextPrivate;
-
-/* This struct should actually be larger as this isn't what we derive from.
- * The GalA11yETextPrivate comes right after the parent class structure.
- **/
-struct _GalA11yEText {
- AtkObject object;
-};
-
-struct _GalA11yETextClass {
- AtkObject parent_class;
-};
-
-
-/* Standard Glib function */
-GType gal_a11y_e_text_get_type (void);
-
-void gal_a11y_e_text_init (void);
-
-#endif /* ! __GAL_A11Y_E_TEXT_H__ */
diff --git a/a11y/gal-a11y-factory.h b/a11y/gal-a11y-factory.h
deleted file mode 100644
index 22da85eca8..0000000000
--- a/a11y/gal-a11y-factory.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* GAL A11Y
- * gal-a11y-factory.h
- *
- * Copyright 2003 Ximian Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors:
- * Gilbert Fang <gilbert.fang@sun.com>, Sun Microsystem Inc. 2003.
- *
- * This file is mainly from the gailfactory.h of GAIL.
- */
-
-#ifndef _GAL_A11Y_FACTORY_H__
-#define _GAL_A11Y_FACTORY_H__
-
-#include <glib-object.h>
-#include <atk/atkobject.h>
-#include <atk/atkobjectfactory.h>
-
-#define GAL_A11Y_FACTORY(type, type_as_function, opt_create_accessible) \
- \
-static GType \
-type_as_function ## _factory_get_accessible_type (void) \
-{ \
- return type; \
-} \
- \
-static AtkObject* \
-type_as_function ## _factory_create_accessible (GObject *obj) \
-{ \
- GtkWidget *widget; \
- AtkObject *accessible; \
- \
- g_return_val_if_fail (GTK_IS_WIDGET (obj), NULL); \
- \
- widget = GTK_WIDGET (obj); \
- \
- accessible = opt_create_accessible (widget); \
- \
- return accessible; \
-} \
- \
-static void \
-type_as_function ## _factory_class_init (AtkObjectFactoryClass *klass) \
-{ \
- klass->create_accessible = type_as_function ## _factory_create_accessible; \
- klass->get_accessible_type = type_as_function ## _factory_get_accessible_type;\
-} \
- \
-static GType \
-type_as_function ## _factory_get_type (void) \
-{ \
- static GType t = 0; \
- \
- if (!t) \
- { \
- char *name; \
- static const GTypeInfo tinfo = \
- { \
- sizeof (AtkObjectFactoryClass), \
- NULL, NULL, (GClassInitFunc) type_as_function ## _factory_class_init, \
- NULL, NULL, sizeof (AtkObjectFactory), 0, NULL, NULL \
- }; \
- \
- name = g_strconcat (g_type_name (type), "Factory", NULL); \
- t = g_type_register_static ( \
- ATK_TYPE_OBJECT_FACTORY, name, &tinfo, 0); \
- g_free (name); \
- } \
- \
- return t; \
-}
-
-#define GAL_A11Y_WIDGET_SET_FACTORY(widget_type, type_as_function) \
- atk_registry_set_factory_type (atk_get_default_registry (), \
- widget_type, \
- type_as_function ## _factory_get_type ())
-
-#endif /* _GAL_A11Y_FACTORY_H__ */
diff --git a/a11y/gal-a11y-util.c b/a11y/gal-a11y-util.c
deleted file mode 100644
index 0cf7c69dbb..0000000000
--- a/a11y/gal-a11y-util.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Authors:
- * Christopher James Lahey <clahey@ximian.com>
- *
- * Copyright (C) 2002 Ximian, Inc.
- */
-
-#include <config.h>
-#include "gal-a11y-util.h"
-
-GType
-gal_a11y_type_register_static_with_private (GType parent_type,
- const gchar *type_name,
- GTypeInfo *info,
- GTypeFlags flags,
- gint priv_size,
- gint *priv_offset)
-{
- GTypeQuery query;
-
- g_type_query (parent_type, &query);
-
- info->class_size = query.class_size;
- info->instance_size = query.instance_size + priv_size;
-
- if (priv_offset)
- *priv_offset = query.instance_size;
-
- return g_type_register_static (parent_type, type_name, info, flags);
-}
diff --git a/a11y/gal-a11y-util.h b/a11y/gal-a11y-util.h
deleted file mode 100644
index b7f742b122..0000000000
--- a/a11y/gal-a11y-util.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Authors:
- * Christopher James Lahey <clahey@ximian.com>
- *
- * Copyright (C) 2001 Chris Lahey
- */
-
-#ifndef __GAL_A11Y_UTIL_H__
-#define __GAL_A11Y_UTIL_H__
-
-#include <glib-object.h>
-
-GType gal_a11y_type_register_static_with_private (GType parent_type,
- const gchar *type_name,
- GTypeInfo *info,
- GTypeFlags flags,
- int priv_size,
- gint *priv_offset);
-
-#endif /* ! __GAL_A11Y_UTIL_H__ */
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog
index f8613cb09c..22f4321402 100644
--- a/addressbook/ChangeLog
+++ b/addressbook/ChangeLog
@@ -1,11 +1,3 @@
-2005-03-16 Mengjie Yu <meng-jie.yu@sun.com>
-
- * gui/widgets/e-addressbook-view.c: (search_menu_activated):
- make the search field consistent with the Search Dialog.
-
- Fixes #73270
-
-
2005-03-03 Sivaiah Nallagatla <snallagatla@novell.com>
* gui/component/addressbook.c (load_source_auth_cb):
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index f77b6ba688..8907a503df 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,3 +1,26 @@
+2005-03-15 JP Rosevear <jpr@novell.com>
+
+ * gui/gnome-cal.c (default_client_cal_opened_cb): if its busy, try
+ again
+ (client_cal_opened_cb): ditto
+
+2005-03-15 JP Rosevear <jpr@novell.com>
+
+ * gui/e-day-view.c (e_day_view_on_main_canvas_drag_data_received):
+ abort sequence
+ (e_day_view_on_top_canvas_motion): prevent drag of recurring events
+ (e_day_view_on_main_canvas_motion): ditto
+
+ * gui/e-calendar-view.c (on_unrecur_appointment): clear recur id
+ on the existing and new before updating, modify ALL for the master
+
+2005-03-15 JP Rosevear <jpr@novell.com>
+
+ * gui/tasks-component.c (ensure_sources): ensure the color and
+ primary config are set on the personal source
+
+ * gui/calendar-component.c (ensure_sources): ditto
+
2005-03-15 JP Rosevear <jpr@novell.com>
* gui/itip-utils.c (itip_send_comp): when publishing, the to_list
diff --git a/calendar/gui/calendar-component.c b/calendar/gui/calendar-component.c
index ea227f3211..55c4200115 100644
--- a/calendar/gui/calendar-component.c
+++ b/calendar/gui/calendar-component.c
@@ -216,6 +216,17 @@ ensure_sources (CalendarComponent *component)
personal_source = e_source_new (_("Personal"), PERSONAL_RELATIVE_URI);
e_source_group_add_source (on_this_computer, personal_source, -1);
+ if (!calendar_config_get_primary_calendar () && !calendar_config_get_calendars_selected ()) {
+ GSList selected;
+
+ calendar_config_set_primary_calendar (e_source_peek_uid (personal_source));
+
+ selected.data = (gpointer)e_source_peek_uid (personal_source);
+ selected.next = NULL;
+ calendar_config_set_calendars_selected (&selected);
+ }
+
+ e_source_set_color (personal_source, 0xBECEDD);
}
if (!on_the_web) {
diff --git a/calendar/gui/e-calendar-view.c b/calendar/gui/e-calendar-view.c
index 6c03060dda..4cd6f4ec2b 100644
--- a/calendar/gui/e-calendar-view.c
+++ b/calendar/gui/e-calendar-view.c
@@ -1289,6 +1289,7 @@ on_unrecur_appointment (EPopup *ep, EPopupItem *pitem, void *data)
comp = e_cal_component_new ();
e_cal_component_set_icalcomponent (comp, icalcomponent_new_clone (event->comp_data->icalcomp));
+ e_cal_component_set_recurid (comp, NULL);
cal_comp_util_add_exdate (comp, event->comp_data->instance_start, e_calendar_view_get_timezone (cal_view));
e_cal_component_commit_sequence (comp);
@@ -1300,6 +1301,7 @@ on_unrecur_appointment (EPopup *ep, EPopupItem *pitem, void *data)
new_uid = e_cal_component_gen_uid ();
e_cal_component_set_uid (new_comp, new_uid);
g_free (new_uid);
+ e_cal_component_set_recurid (new_comp, NULL);
e_cal_component_set_rdate_list (new_comp, NULL);
e_cal_component_set_rrule_list (new_comp, NULL);
e_cal_component_set_exdate_list (new_comp, NULL);
@@ -1319,7 +1321,7 @@ on_unrecur_appointment (EPopup *ep, EPopupItem *pitem, void *data)
/* Now update both ECalComponents. Note that we do this last since at
* present the updates happen synchronously so our event may disappear.
*/
- if (!e_cal_modify_object (client, e_cal_component_get_icalcomponent (comp), CALOBJ_MOD_THIS, NULL))
+ if (!e_cal_modify_object (client, e_cal_component_get_icalcomponent (comp), CALOBJ_MOD_ALL, NULL))
g_message ("on_unrecur_appointment(): Could not update the object!");
g_object_unref (comp);
diff --git a/calendar/gui/e-day-view.c b/calendar/gui/e-day-view.c
index 860b9e4297..c5af654028 100644
--- a/calendar/gui/e-day-view.c
+++ b/calendar/gui/e-day-view.c
@@ -3458,8 +3458,7 @@ e_day_view_on_top_canvas_motion (GtkWidget *widget,
event = &g_array_index (day_view->long_events, EDayViewEvent,
day_view->pressed_event_num);
- if ((e_cal_util_component_is_instance (event->comp_data->icalcomp) ||
- !e_cal_util_component_has_recurrences (event->comp_data->icalcomp))
+ if (!e_cal_util_component_has_recurrences (event->comp_data->icalcomp)
&& (abs (canvas_x - day_view->drag_event_x)
> E_DAY_VIEW_DRAG_START_OFFSET
|| abs (canvas_y - day_view->drag_event_y)
@@ -3487,8 +3486,7 @@ e_day_view_on_top_canvas_motion (GtkWidget *widget,
cursor = day_view->normal_cursor;
/* Recurring events can't be resized. */
- if (event && (e_cal_util_component_is_instance (event->comp_data->icalcomp) ||
- !e_cal_util_component_has_recurrences (event->comp_data->icalcomp))) {
+ if (event && !e_cal_util_component_has_recurrences (event->comp_data->icalcomp)) {
switch (pos) {
case E_CALENDAR_VIEW_POS_LEFT_EDGE:
case E_CALENDAR_VIEW_POS_RIGHT_EDGE:
@@ -3564,8 +3562,7 @@ e_day_view_on_main_canvas_motion (GtkWidget *widget,
event = &g_array_index (day_view->events[day_view->pressed_event_day], EDayViewEvent, day_view->pressed_event_num);
- if ((e_cal_util_component_is_instance (event->comp_data->icalcomp) ||
- !e_cal_util_component_has_recurrences (event->comp_data->icalcomp))
+ if (!e_cal_util_component_has_recurrences (event->comp_data->icalcomp)
&& (abs (canvas_x - day_view->drag_event_x)
> E_DAY_VIEW_DRAG_START_OFFSET
|| abs (canvas_y - day_view->drag_event_y)
@@ -3593,8 +3590,7 @@ e_day_view_on_main_canvas_motion (GtkWidget *widget,
cursor = day_view->normal_cursor;
/* Recurring events can't be resized. */
- if (event && (e_cal_util_component_is_instance (event->comp_data->icalcomp) ||
- !e_cal_util_component_has_recurrences (event->comp_data->icalcomp))) {
+ if (event && !e_cal_util_component_has_recurrences (event->comp_data->icalcomp)) {
switch (pos) {
case E_CALENDAR_VIEW_POS_LEFT_EDGE:
cursor = day_view->move_cursor;
@@ -7317,6 +7313,7 @@ e_day_view_on_main_canvas_drag_data_received (GtkWidget *widget,
*date.value = icaltime_from_timet_with_zone (dt, FALSE,
e_calendar_view_get_timezone (E_CALENDAR_VIEW (day_view)));
e_cal_component_set_dtend (comp, &date);
+ e_cal_component_abort_sequence (comp);
gtk_drag_finish (context, TRUE, TRUE, time);
diff --git a/calendar/gui/gnome-cal.c b/calendar/gui/gnome-cal.c
index 3a85a4a89f..d8c9333fe3 100644
--- a/calendar/gui/gnome-cal.c
+++ b/calendar/gui/gnome-cal.c
@@ -2191,6 +2191,7 @@ client_cal_opened_cb (ECal *ecal, ECalendarStatus status, GnomeCalendar *gcal)
case E_CALENDAR_STATUS_OK:
break;
case E_CALENDAR_STATUS_BUSY:
+ e_cal_open_async (ecal, FALSE);
return;
case E_CALENDAR_STATUS_INVALID_SERVER_VERSION:
e_error_run (NULL, "calendar:server-version", NULL);
@@ -2281,6 +2282,7 @@ default_client_cal_opened_cb (ECal *ecal, ECalendarStatus status, GnomeCalendar
case E_CALENDAR_STATUS_OK:
break;
case E_CALENDAR_STATUS_BUSY:
+ e_cal_open_async (ecal, FALSE);
return;
case E_CALENDAR_STATUS_INVALID_SERVER_VERSION :
e_error_run (NULL, "calendar:server-version", NULL);
diff --git a/calendar/gui/tasks-component.c b/calendar/gui/tasks-component.c
index 1cb4dabef6..74ef16bd61 100644
--- a/calendar/gui/tasks-component.c
+++ b/calendar/gui/tasks-component.c
@@ -196,6 +196,17 @@ ensure_sources (TasksComponent *component)
ESource *source = e_source_new (_("Personal"), PERSONAL_RELATIVE_URI);
e_source_group_add_source (on_this_computer, source, -1);
+ if (!calendar_config_get_primary_tasks () && !calendar_config_get_tasks_selected ()) {
+ GSList selected;
+
+ calendar_config_set_primary_tasks (e_source_peek_uid (source));
+
+ selected.data = (gpointer)e_source_peek_uid (source);
+ selected.next = NULL;
+ calendar_config_set_tasks_selected (&selected);
+ }
+
+ e_source_set_color (source, 0xBECEDD);
personal_source = source;
}
diff --git a/configure.in b/configure.in
index 5dceebef26..ff4c7af9e3 100644
--- a/configure.in
+++ b/configure.in
@@ -1,7 +1,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.52)
-AC_INIT(evolution, 2.2.0, http://bugzilla.ximian.com/enter_bug.cgi?product=Evolution)
+AC_INIT(evolution, 2.2.1, http://bugzilla.ximian.com/enter_bug.cgi?product=Evolution)
AC_CONFIG_SRCDIR(README)
AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
@@ -45,7 +45,7 @@ dnl The controls whether things like the development warning in shell/main.c are
dnl
dnl This should be set to 0 for stable releases and 1 for unstable releases
dnl *************************************************************************************************
-AC_DEFINE(DEVELOPMENT, 1, [If we are in development mode or not])
+AC_DEFINE(DEVELOPMENT, 0, [If we are in development mode or not])
AC_SUBST(DEVELOPMENT)
AC_ISC_POSIX
@@ -1098,11 +1098,11 @@ fi
dnl --- Required version numbers
-GAL_REQUIRED=2.4.0
+GAL_REQUIRED=2.4.1
GAL_PACKAGE=2.4
-GTKHTML_REQUIRED=3.6.0
+GTKHTML_REQUIRED=3.6.1
GTKHTML_PACKAGE=3.6
-EDS_REQUIRED=1.2.0
+EDS_REQUIRED=1.2.1
EDS_PACKAGE=1.2
BONOBOUI_REQUIRED=2.4.2
GNOME_VFS_REQUIRED=2.4
@@ -1386,7 +1386,7 @@ then
fi
if echo ${plugins_enabled} | grep -q "new-mail-notify" ; then
- if ${PKG_CONFIG} --exists dbus-glib-1 ; then
+ if ${PKG_CONFIG} --max-version=0.23.4 dbus-glib-1 ; then
dnl **************************************************
dnl * New Mail Notify plugin
dnl **************************************************
diff --git a/doc/devel/executive-summary/evolution-services.hierarchy b/doc/devel/executive-summary/evolution-services.hierarchy
deleted file mode 100644
index 37559d819d..0000000000
--- a/doc/devel/executive-summary/evolution-services.hierarchy
+++ /dev/null
@@ -1,7 +0,0 @@
-GtkObject
- BonoboObject
- ExecutiveSummaryComponent
- ExecutiveSummaryComponentFactory
- Handle to remote Bonobo::Unknown
- ExecutiveSummaryComponentFactoryClient
- ExecutiveSummaryHtmlView
diff --git a/doc/devel/importer/evolution-shell-importer.hierarchy b/doc/devel/importer/evolution-shell-importer.hierarchy
deleted file mode 100644
index c46ebdf782..0000000000
--- a/doc/devel/importer/evolution-shell-importer.hierarchy
+++ /dev/null
@@ -1,7 +0,0 @@
-GtkObject
- BonoboObject
- BonoboXObject
- EvolutionImporter
- EvolutionImporterListener
- Handle to remote Bonobo::Unknown
- EvolutionImporterClient
diff --git a/e-util/ChangeLog b/e-util/ChangeLog
index ed6152ea56..293b8860d3 100644
--- a/e-util/ChangeLog
+++ b/e-util/ChangeLog
@@ -1,11 +1,3 @@
-2005-03-14 Not Zed <NotZed@Ximian.com>
-
- ** See bug #73550 (related for config pages)
-
- * e-config.c (ech_config_widget_factory): if we are disabled, then
- noop.
- (ech_config_factory, ech_commit, ech_abort): same.
-
2005-03-01 Not Zed <NotZed@Ximian.com>
* *.c: Remove/disable debug.
diff --git a/e-util/e-bit-array.c b/e-util/e-bit-array.c
deleted file mode 100644
index bb98a3f465..0000000000
--- a/e-util/e-bit-array.c
+++ /dev/null
@@ -1,429 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-bit-array.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <gtk/gtksignal.h>
-#include "e-bit-array.h"
-#include "gal/util/e-util.h"
-
-#define PARENT_TYPE G_TYPE_OBJECT
-
-#define ONES ((guint32) 0xffffffff)
-
-#define BOX(n) ((n) / 32)
-#define OFFSET(n) (31 - ((n) % 32))
-#define BITMASK(n) ((guint32)(((guint32) 0x1) << OFFSET((n))))
-#define BITMASK_LEFT(n) ((((n) % 32) == 0) ? 0 : (ONES << (32 - ((n) % 32))))
-#define BITMASK_RIGHT(n) ((guint32)(((guint32) ONES) >> ((n) % 32)))
-
-static GObjectClass *parent_class;
-
-static void
-e_bit_array_insert_real(EBitArray *eba, int row)
-{
- int box;
- int i;
- if(eba->bit_count >= 0) {
- /* Add another word if needed. */
- if ((eba->bit_count & 0x1f) == 0) {
- eba->data = g_renew(guint32, eba->data, (eba->bit_count >> 5) + 1);
- eba->data[eba->bit_count >> 5] = 0;
- }
-
- /* The box is the word that our row is in. */
- box = BOX(row);
- /* Shift all words to the right of our box right one bit. */
- for (i = eba->bit_count >> 5; i > box; i--) {
- eba->data[i] = (eba->data[i] >> 1) | (eba->data[i - 1] << 31);
- }
-
- /* Shift right half of box one bit to the right. */
- eba->data[box] = (eba->data[box] & BITMASK_LEFT(row)) | ((eba->data[box] & BITMASK_RIGHT(row)) >> 1);
- eba->bit_count ++;
- }
-}
-
-static void
-e_bit_array_delete_real(EBitArray *eba, int row, gboolean move_selection_mode)
-{
- int box;
- int i;
- int last;
- int selected = FALSE;
- if(eba->bit_count >= 0) {
- guint32 bitmask;
- box = row >> 5;
- last = eba->bit_count >> 5;
-
- /* Build bitmasks for the left and right half of the box */
- bitmask = BITMASK_RIGHT(row) >> 1;
- if (move_selection_mode)
- selected = e_bit_array_value_at(eba, row);
- /* Shift right half of box one bit to the left. */
- eba->data[box] = (eba->data[box] & BITMASK_LEFT(row))| ((eba->data[box] & bitmask) << 1);
-
- /* Shift all words to the right of our box left one bit. */
- if (box < last) {
- eba->data[box] &= eba->data[box + 1] >> 31;
-
- for (i = box + 1; i < last; i++) {
- eba->data[i] = (eba->data[i] << 1) | (eba->data[i + 1] >> 31);
- }
- /* this over-runs our memory! */
- /*eba->data[i] = eba->data[i] << 1; */
- }
- eba->bit_count --;
- /* Remove the last word if not needed. */
- if ((eba->bit_count & 0x1f) == 0) {
- eba->data = g_renew(guint32, eba->data, eba->bit_count >> 5);
- }
- if (move_selection_mode && selected && eba->bit_count > 0) {
- e_bit_array_select_single_row (eba, row == eba->bit_count ? row - 1 : row);
- }
- }
-}
-
-/* FIXME : Improve efficiency here. */
-void
-e_bit_array_delete(EBitArray *eba, int row, int count)
-{
- int i;
- for (i = 0; i < count; i++)
- e_bit_array_delete_real(eba, row, FALSE);
-}
-
-/* FIXME : Improve efficiency here. */
-void
-e_bit_array_delete_single_mode(EBitArray *eba, int row, int count)
-{
- int i;
- for (i = 0; i < count; i++)
- e_bit_array_delete_real(eba, row, TRUE);
-}
-
-/* FIXME : Improve efficiency here. */
-void
-e_bit_array_insert(EBitArray *eba, int row, int count)
-{
- int i;
- for (i = 0; i < count; i++)
- e_bit_array_insert_real(eba, row);
-}
-
-/* FIXME: Implement this more efficiently. */
-void
-e_bit_array_move_row(EBitArray *eba, int old_row, int new_row)
-{
- e_bit_array_delete_real(eba, old_row, FALSE);
- e_bit_array_insert_real(eba, new_row);
-}
-
-static void
-eba_dispose (GObject *object)
-{
- EBitArray *eba;
-
- eba = E_BIT_ARRAY (object);
-
- if (eba->data)
- g_free(eba->data);
- eba->data = NULL;
-
- if (G_OBJECT_CLASS (parent_class)->dispose)
- (* G_OBJECT_CLASS (parent_class)->dispose) (object);
-}
-
-/**
- * e_selection_model_is_row_selected
- * @selection: #EBitArray to check
- * @n: The row to check
- *
- * This routine calculates whether the given row is selected.
- *
- * Returns: %TRUE if the given row is selected
- */
-gboolean
-e_bit_array_value_at (EBitArray *eba,
- gint n)
-{
- if (eba->bit_count < n || eba->bit_count == 0)
- return 0;
- else
- return (eba->data[BOX(n)] >> OFFSET(n)) & 0x1;
-}
-
-/**
- * e_selection_model_foreach
- * @selection: #EBitArray to traverse
- * @callback: The callback function to call back.
- * @closure: The closure
- *
- * This routine calls the given callback function once for each
- * selected row, passing closure as the closure.
- */
-void
-e_bit_array_foreach (EBitArray *eba,
- EForeachFunc callback,
- gpointer closure)
-{
- int i;
- int last = (eba->bit_count + 31) / 32;
- for (i = 0; i < last; i++) {
- if (eba->data[i]) {
- int j;
- guint32 value = eba->data[i];
- for (j = 0; j < 32; j++) {
- if (value & 0x80000000) {
- callback(i * 32 + j, closure);
- }
- value <<= 1;
- }
- }
- }
-}
-
-/**
- * e_selection_model_clear
- * @selection: #EBitArray to clear
- *
- * This routine clears the selection to no rows selected.
- */
-void
-e_bit_array_clear(EBitArray *eba)
-{
- g_free(eba->data);
- eba->data = NULL;
- eba->bit_count = 0;
-}
-
-#define PART(x,n) (((x) & (0x01010101 << n)) >> n)
-#define SECTION(x, n) (((x) >> (n * 8)) & 0xff)
-
-/**
- * e_selection_model_selected_count
- * @selection: #EBitArray to count
- *
- * This routine calculates the number of rows selected.
- *
- * Returns: The number of rows selected in the given model.
- */
-gint
-e_bit_array_selected_count (EBitArray *eba)
-{
- gint count;
- int i;
- int last;
-
- if (!eba->data)
- return 0;
-
- count = 0;
-
- last = BOX(eba->bit_count - 1);
-
- for (i = 0; i <= last; i++) {
- int j;
- guint32 thiscount = 0;
- for (j = 0; j < 8; j++)
- thiscount += PART(eba->data[i], j);
- for (j = 0; j < 4; j++)
- count += SECTION(thiscount, j);
- }
-
- return count;
-}
-
-/**
- * e_selection_model_select_all
- * @selection: #EBitArray to select all
- *
- * This routine selects all the rows in the given
- * #EBitArray.
- */
-void
-e_bit_array_select_all (EBitArray *eba)
-{
- int i;
-
- if (!eba->data)
- eba->data = g_new0 (guint32, (eba->bit_count + 31) / 32);
-
- for (i = 0; i < (eba->bit_count + 31) / 32; i ++) {
- eba->data[i] = ONES;
- }
-
- /* need to zero out the bits corresponding to the rows not
- selected in the last full 32 bit mask */
- if (eba->bit_count % 32) {
- int unselected_mask = 0;
- int num_unselected_in_last_byte = 32 - eba->bit_count % 32;
-
- for (i = 0; i < num_unselected_in_last_byte; i ++)
- unselected_mask |= 1 << i;
-
- eba->data[(eba->bit_count + 31) / 32 - 1] &= ~unselected_mask;
- }
-}
-
-/**
- * e_selection_model_invert_selection
- * @selection: #EBitArray to invert
- *
- * This routine inverts all the rows in the given
- * #EBitArray.
- */
-void
-e_bit_array_invert_selection (EBitArray *eba)
-{
- int i;
-
- if (!eba->data)
- eba->data = g_new0 (guint32, (eba->bit_count + 31) / 32);
-
- for (i = 0; i < (eba->bit_count + 31) / 32; i ++) {
- eba->data[i] = ~eba->data[i];
- }
-}
-
-int
-e_bit_array_bit_count (EBitArray *eba)
-{
- return eba->bit_count;
-}
-
-gboolean
-e_bit_array_cross_and (EBitArray *eba)
-{
- int i;
- for (i = 0; i < eba->bit_count / 32; i++) {
- if (eba->data[i] != ONES)
- return FALSE;
- }
- if ((eba->bit_count % 32) && ((eba->data[i] & BITMASK_LEFT(eba->bit_count)) != BITMASK_LEFT(eba->bit_count)))
- return FALSE;
- return TRUE;
-}
-
-gboolean
-e_bit_array_cross_or (EBitArray *eba)
-{
- int i;
- for (i = 0; i < eba->bit_count / 32; i++) {
- if (eba->data[i] != 0)
- return TRUE;
- }
- if ((eba->bit_count % 32) && ((eba->data[i] & BITMASK_LEFT(eba->bit_count)) != 0))
- return TRUE;
- return FALSE;
-}
-
-#define OPERATE(object, i,mask,grow) ((grow) ? (((object)->data[(i)]) |= ((guint32) ~(mask))) : (((object)->data[(i)]) &= (mask)))
-
-void
-e_bit_array_change_one_row(EBitArray *eba, int row, gboolean grow)
-{
- int i;
- i = BOX(row);
-
- OPERATE(eba, i, ~BITMASK(row), grow);
-}
-
-void
-e_bit_array_change_range(EBitArray *eba, int start, int end, gboolean grow)
-{
- int i, last;
- if (start != end) {
- i = BOX(start);
- last = BOX(end);
-
- if (i == last) {
- OPERATE(eba, i, BITMASK_LEFT(start) | BITMASK_RIGHT(end), grow);
- } else {
- OPERATE(eba, i, BITMASK_LEFT(start), grow);
- if (grow)
- for (i ++; i < last; i++)
- eba->data[i] = ONES;
- else
- for (i ++; i < last; i++)
- eba->data[i] = 0;
- OPERATE(eba, i, BITMASK_RIGHT(end), grow);
- }
- }
-}
-
-void
-e_bit_array_select_single_row (EBitArray *eba, int row)
-{
- int i;
- for (i = 0; i < ((eba->bit_count + 31) / 32); i++) {
- if (!((i == BOX(row) && eba->data[i] == BITMASK(row)) ||
- (i != BOX(row) && eba->data[i] == 0))) {
- g_free(eba->data);
- eba->data = g_new0(guint32, (eba->bit_count + 31) / 32);
- eba->data[BOX(row)] = BITMASK(row);
-
- break;
- }
- }
-}
-
-void
-e_bit_array_toggle_single_row (EBitArray *eba, int row)
-{
- if (eba->data[BOX(row)] & BITMASK(row))
- eba->data[BOX(row)] &= ~BITMASK(row);
- else
- eba->data[BOX(row)] |= BITMASK(row);
-}
-
-
-static void
-e_bit_array_init (EBitArray *eba)
-{
- eba->data = NULL;
- eba->bit_count = 0;
-}
-
-static void
-e_bit_array_class_init (EBitArrayClass *klass)
-{
- GObjectClass *object_class;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class = G_OBJECT_CLASS(klass);
-
- object_class->dispose = eba_dispose;
-}
-
-E_MAKE_TYPE(e_bit_array, "EBitArray", EBitArray,
- e_bit_array_class_init, e_bit_array_init, PARENT_TYPE)
-
-EBitArray *
-e_bit_array_new (int count)
-{
- EBitArray *eba = g_object_new (E_BIT_ARRAY_TYPE, NULL);
- eba->bit_count = count;
- eba->data = g_new0(guint32, (eba->bit_count + 31) / 32);
- return eba;
-}
diff --git a/e-util/e-bit-array.h b/e-util/e-bit-array.h
deleted file mode 100644
index ebfe644da6..0000000000
--- a/e-util/e-bit-array.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-bit-array.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_BIT_ARRAY_H_
-#define _E_BIT_ARRAY_H_
-
-#include <glib-object.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define E_BIT_ARRAY_TYPE (e_bit_array_get_type ())
-#define E_BIT_ARRAY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_BIT_ARRAY_TYPE, EBitArray))
-#define E_BIT_ARRAY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_BIT_ARRAY_TYPE, EBitArrayClass))
-#define E_IS_BIT_ARRAY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_BIT_ARRAY_TYPE))
-#define E_IS_BIT_ARRAY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_BIT_ARRAY_TYPE))
-
-#ifndef _E_FOREACH_FUNC_H_
-#define _E_FOREACH_FUNC_H_
-typedef void (*EForeachFunc) (int model_row,
- gpointer closure);
-#endif
-
-typedef struct {
- GObject base;
-
- gint bit_count;
- guint32 *data;
-} EBitArray;
-
-typedef struct {
- GObjectClass parent_class;
-} EBitArrayClass;
-
-
-GType e_bit_array_get_type (void);
-EBitArray *e_bit_array_new (int count);
-
-gboolean e_bit_array_value_at (EBitArray *selection,
- gint n);
-void e_bit_array_foreach (EBitArray *selection,
- EForeachFunc callback,
- gpointer closure);
-void e_bit_array_clear (EBitArray *selection);
-gint e_bit_array_selected_count (EBitArray *selection);
-void e_bit_array_select_all (EBitArray *selection);
-void e_bit_array_invert_selection (EBitArray *selection);
-int e_bit_array_bit_count (EBitArray *selection);
-void e_bit_array_change_one_row (EBitArray *selection,
- int row,
- gboolean grow);
-void e_bit_array_change_range (EBitArray *selection,
- int start,
- int end,
- gboolean grow);
-void e_bit_array_select_single_row (EBitArray *eba,
- int row);
-void e_bit_array_toggle_single_row (EBitArray *eba,
- int row);
-
-void e_bit_array_insert (EBitArray *esm,
- int row,
- int count);
-void e_bit_array_delete (EBitArray *esm,
- int row,
- int count);
-void e_bit_array_delete_single_mode (EBitArray *esm,
- int row,
- int count);
-void e_bit_array_move_row (EBitArray *esm,
- int old_row,
- int new_row);
-gint e_bit_array_bit_count (EBitArray *esm);
-
-gboolean e_bit_array_cross_and (EBitArray *esm);
-gboolean e_bit_array_cross_or (EBitArray *esm);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* _E_BIT_ARRAY_H_ */
diff --git a/e-util/e-i18n.h b/e-util/e-i18n.h
deleted file mode 100644
index 829b2480aa..0000000000
--- a/e-util/e-i18n.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-i18n.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * Copied from gnome-i18nP.h, because this header is typically not installed
- *
- * This file has to be included before any file from the GNOME libraries
- * to have this override the definitions that are pulled from the gnome-i18n.h
- *
- * the difference is that gnome-i18n.h is used for applications, and this is
- * used by libraries (because libraries have to use dcgettext instead of
- * gettext and they need to provide the translation domain, unlike apps).
- *
- * So you can just put this after you include config.h
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef __E_I18N_H__
-#define __E_I18N_H__
-
-#include <libgnome/gnome-i18n.h>
-
-G_BEGIN_DECLS
-
-#ifdef ENABLE_NLS
- /* this function is defined in e-util.c */
- extern char *e_gettext (const char *msgid);
-# undef _
-# ifdef GNOME_EXPLICIT_TRANSLATION_DOMAIN
-/* No parentheses allowed here since that breaks string concatenation. */
-# define E_I18N_DOMAIN GNOME_EXPLICIT_TRANSLATION_DOMAIN
-# else
-/* No parentheses allowed here since that breaks string concatenation. */
-# define E_I18N_DOMAIN PACKAGE
-# endif
-# define _(String) e_gettext (String)
-# ifdef gettext_noop
-# define N_(String) gettext_noop (String)
-# else
-# define N_(String) (String)
-# endif
-#else
-/* Stubs that do something close enough. */
-# define textdomain(String) (String)
-# define gettext(String) (String)
-# define dgettext(Domain,Message) (Message)
-# define dcgettext(Domain,Message,Type) (Message)
-# define bindtextdomain(Domain,Directory) (Domain)
-# define _(String) (String)
-# define N_(String) (String)
-/* No parentheses allowed here since that breaks string concatenation. */
-# define E_I18N_DOMAIN ""
-#endif
-
-G_END_DECLS
-
-#endif /* __E_I18N_H__ */
diff --git a/e-util/e-iconv.c b/e-util/e-iconv.c
deleted file mode 100644
index 3236521438..0000000000
--- a/e-util/e-iconv.c
+++ /dev/null
@@ -1,614 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-iconv.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Michael Zucchi <notzed@ximian.com>
- * Jeffery Stedfast <fejj@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-
-#include <glib.h>
-#include "e-iconv.h"
-
-#include <locale.h>
-
-#ifdef HAVE_CODESET
-#include <langinfo.h>
-#endif
-
-#include "iconv-detect.h"
-
-#define cd(x)
-
-#ifdef G_THREADS_ENABLED
-static GStaticMutex lock = G_STATIC_MUTEX_INIT;
-#define LOCK() g_static_mutex_lock(&lock)
-#define UNLOCK() g_static_mutex_unlock(&lock)
-#else
-#define LOCK()
-#define UNLOCK()
-#endif
-
-typedef struct _EDListNode {
- struct _EDListNode *next;
- struct _EDListNode *prev;
-} EDListNode;
-
-typedef struct _EDList {
- struct _EDListNode *head;
- struct _EDListNode *tail;
- struct _EDListNode *tailpred;
-} EDList;
-
-#define E_DLIST_INITIALISER(l) { (EDListNode *)&l.tail, 0, (EDListNode *)&l.head }
-
-struct _iconv_cache_node {
- struct _iconv_cache_node *next;
- struct _iconv_cache_node *prev;
-
- struct _iconv_cache *parent;
-
- int busy;
- iconv_t ip;
-};
-
-struct _iconv_cache {
- struct _iconv_cache *next;
- struct _iconv_cache *prev;
-
- char *conv;
-
- EDList open; /* stores iconv_cache_nodes, busy ones up front */
-};
-
-#define E_ICONV_CACHE_SIZE (16)
-
-static EDList iconv_cache_list;
-static GHashTable *iconv_cache;
-static GHashTable *iconv_cache_open;
-static unsigned int iconv_cache_size = 0;
-
-static GHashTable *iconv_charsets = NULL;
-static char *locale_charset = NULL;
-static char *locale_lang = NULL;
-
-struct {
- char *charset;
- char *iconv_name;
-} known_iconv_charsets[] = {
-#if 0
- /* charset name, iconv-friendly charset name */
- { "iso-8859-1", "iso-8859-1" },
- { "iso8859-1", "iso-8859-1" },
- /* the above mostly serves as an example for iso-style charsets,
- but we have code that will populate the iso-*'s if/when they
- show up in e_iconv_charset_name() so I'm
- not going to bother putting them all in here... */
- { "windows-cp1251", "cp1251" },
- { "windows-1251", "cp1251" },
- { "cp1251", "cp1251" },
- /* the above mostly serves as an example for windows-style
- charsets, but we have code that will parse and convert them
- to their cp#### equivalents if/when they show up in
- e_iconv_charset_name() so I'm not going to bother
- putting them all in here either... */
-#endif
- /* charset name (lowercase!), iconv-friendly name (sometimes case sensitive) */
- { "utf-8", "UTF-8" },
-
- /* 10646 is a special case, its usually UCS-2 big endian */
- /* This might need some checking but should be ok for solaris/linux */
- { "iso-10646-1", "UCS-2BE" },
- { "iso_10646-1", "UCS-2BE" },
- { "iso10646-1", "UCS-2BE" },
- { "iso-10646", "UCS-2BE" },
- { "iso_10646", "UCS-2BE" },
- { "iso10646", "UCS-2BE" },
-
- { "ks_c_5601-1987", "EUC-KR" },
-
- /* FIXME: Japanese/Korean/Chinese stuff needs checking */
- { "euckr-0", "EUC-KR" },
- { "5601", "EUC-KR" },
- { "zh_TW-euc", "EUC-TW" },
- { "zh_CN.euc", "gb2312" },
- { "zh_TW-big5", "BIG5" },
- { "euc-cn", "gb2312" },
- { "big5-0", "BIG5" },
- { "big5.eten-0", "BIG5" },
- { "big5hkscs-0", "BIG5HKSCS" },
- { "gb2312-0", "gb2312" },
- { "gb2312.1980-0", "gb2312" },
- { "gb-2312", "gb2312" },
- { "gb18030-0", "gb18030" },
- { "gbk-0", "GBK" },
-
- { "eucjp-0", "eucJP" },
- { "ujis-0", "ujis" },
- { "jisx0208.1983-0","SJIS" },
- { "jisx0212.1990-0","SJIS" },
- { "pck", "SJIS" },
- { NULL, NULL }
-};
-
-
-
-/* Another copy of this trivial list implementation
- Why? This stuff gets called a lot (potentially), should run fast,
- and g_list's are f@@#$ed up to make this a hassle */
-static void e_dlist_init(EDList *v)
-{
- v->head = (EDListNode *)&v->tail;
- v->tail = 0;
- v->tailpred = (EDListNode *)&v->head;
-}
-
-static EDListNode *e_dlist_addhead(EDList *l, EDListNode *n)
-{
- n->next = l->head;
- n->prev = (EDListNode *)&l->head;
- l->head->prev = n;
- l->head = n;
- return n;
-}
-
-static EDListNode *e_dlist_addtail(EDList *l, EDListNode *n)
-{
- n->next = (EDListNode *)&l->tail;
- n->prev = l->tailpred;
- l->tailpred->next = n;
- l->tailpred = n;
- return n;
-}
-
-static EDListNode *e_dlist_remove(EDListNode *n)
-{
- n->next->prev = n->prev;
- n->prev->next = n->next;
- return n;
-}
-
-
-/* fucking glib... */
-static const char *
-e_strdown (char *str)
-{
- register char *s = str;
-
- while (*s) {
- if (*s >= 'A' && *s <= 'Z')
- *s += 0x20;
- s++;
- }
-
- return str;
-}
-
-static const char *
-e_strup (char *str)
-{
- register char *s = str;
-
- while (*s) {
- if (*s >= 'a' && *s <= 'z')
- *s -= 0x20;
- s++;
- }
-
- return str;
-}
-
-
-static void
-locale_parse_lang (const char *locale)
-{
- char *codeset, *lang;
-
- if ((codeset = strchr (locale, '.')))
- lang = g_strndup (locale, codeset - locale);
- else
- lang = g_strdup (locale);
-
- /* validate the language */
- if (strlen (lang) >= 2) {
- if (lang[2] == '-' || lang[2] == '_') {
- /* canonicalise the lang */
- e_strdown (lang);
-
- /* validate the country code */
- if (strlen (lang + 3) > 2) {
- /* invalid country code */
- lang[2] = '\0';
- } else {
- lang[2] = '-';
- e_strup (lang + 3);
- }
- } else if (lang[2] != '\0') {
- /* invalid language */
- g_free (lang);
- lang = NULL;
- }
-
- locale_lang = lang;
- } else {
- /* invalid language */
- locale_lang = NULL;
- g_free (lang);
- }
-}
-
-/* NOTE: Owns the lock on return if keep is TRUE ! */
-static void
-e_iconv_init(int keep)
-{
- char *from, *to, *locale;
- int i;
-
- LOCK();
-
- if (iconv_charsets != NULL) {
- if (!keep)
- UNLOCK();
- return;
- }
-
- iconv_charsets = g_hash_table_new(g_str_hash, g_str_equal);
-
- for (i = 0; known_iconv_charsets[i].charset != NULL; i++) {
- from = g_strdup(known_iconv_charsets[i].charset);
- to = g_strdup(known_iconv_charsets[i].iconv_name);
- e_strdown (from);
- g_hash_table_insert(iconv_charsets, from, to);
- }
-
- e_dlist_init(&iconv_cache_list);
- iconv_cache = g_hash_table_new(g_str_hash, g_str_equal);
- iconv_cache_open = g_hash_table_new(NULL, NULL);
-
- locale = setlocale (LC_ALL, NULL);
-
- if (!locale || !strcmp (locale, "C") || !strcmp (locale, "POSIX")) {
- /* The locale "C" or "POSIX" is a portable locale; its
- * LC_CTYPE part corresponds to the 7-bit ASCII character
- * set.
- */
-
- locale_charset = NULL;
- locale_lang = NULL;
- } else {
-#ifdef HAVE_CODESET
- locale_charset = g_strdup (nl_langinfo (CODESET));
- e_strdown (locale_charset);
-#else
- /* A locale name is typically of the form language[_terri-
- * tory][.codeset][@modifier], where language is an ISO 639
- * language code, territory is an ISO 3166 country code, and
- * codeset is a character set or encoding identifier like
- * ISO-8859-1 or UTF-8.
- */
- char *codeset, *p;
-
- codeset = strchr (locale, '.');
- if (codeset) {
- codeset++;
-
- /* ; is a hack for debian systems and / is a hack for Solaris systems */
- for (p = codeset; *p && !strchr ("@;/", *p); p++);
- locale_charset = g_strndup (codeset, p - codeset);
- e_strdown (locale_charset);
- } else {
- /* charset unknown */
- locale_charset = NULL;
- }
-#endif
-
- /* parse the locale lang */
- locale_parse_lang (locale);
-
- }
-
- if (!keep)
- UNLOCK();
-}
-
-const char *e_iconv_charset_name(const char *charset)
-{
- char *name, *ret, *tmp;
-
- if (charset == NULL)
- return NULL;
-
- name = g_alloca (strlen (charset) + 1);
- strcpy (name, charset);
- e_strdown (name);
-
- e_iconv_init(TRUE);
- ret = g_hash_table_lookup(iconv_charsets, name);
- if (ret != NULL) {
- UNLOCK();
- return ret;
- }
-
- /* Unknown, try canonicalise some basic charset types to something that should work */
- if (strncmp(name, "iso", 3) == 0) {
- /* Convert iso-nnnn-n or isonnnn-n or iso_nnnn-n to iso-nnnn-n or isonnnn-n */
- int iso, codepage;
- char *p;
-
- tmp = name + 3;
- if (*tmp == '-' || *tmp == '_')
- tmp++;
-
- iso = strtoul (tmp, &p, 10);
-
- if (iso == 10646) {
- /* they all become ICONV_10646 */
- ret = g_strdup (ICONV_10646);
- } else {
- tmp = p;
- if (*tmp == '-' || *tmp == '_')
- tmp++;
-
- codepage = strtoul (tmp, &p, 10);
-
- if (p > tmp) {
- /* codepage is numeric */
-#ifdef __aix__
- if (codepage == 13)
- ret = g_strdup ("IBM-921");
- else
-#endif /* __aix__ */
- ret = g_strdup_printf (ICONV_ISO_D_FORMAT, iso, codepage);
- } else {
- /* codepage is a string - probably iso-2022-jp or something */
- ret = g_strdup_printf (ICONV_ISO_S_FORMAT, iso, p);
- }
- }
- } else if (strncmp(name, "windows-", 8) == 0) {
- /* Convert windows-nnnnn or windows-cpnnnnn to cpnnnn */
- tmp = name+8;
- if (!strncmp(tmp, "cp", 2))
- tmp+=2;
- ret = g_strdup_printf("CP%s", tmp);
- } else if (strncmp(name, "microsoft-", 10) == 0) {
- /* Convert microsoft-nnnnn or microsoft-cpnnnnn to cpnnnn */
- tmp = name+10;
- if (!strncmp(tmp, "cp", 2))
- tmp+=2;
- ret = g_strdup_printf("CP%s", tmp);
- } else {
- /* Just assume its ok enough as is, case and all */
- ret = g_strdup(charset);
- }
-
- g_hash_table_insert(iconv_charsets, g_strdup(name), ret);
- UNLOCK();
-
- return ret;
-}
-
-static void
-flush_entry(struct _iconv_cache *ic)
-{
- struct _iconv_cache_node *in, *nn;
-
- in = (struct _iconv_cache_node *)ic->open.head;
- nn = in->next;
- while (nn) {
- if (in->ip != (iconv_t)-1) {
- g_hash_table_remove(iconv_cache_open, in->ip);
- iconv_close(in->ip);
- }
- g_free(in);
- in = nn;
- nn = in->next;
- }
- g_free(ic->conv);
- g_free(ic);
-}
-
-/* This should run pretty quick, its called a lot */
-iconv_t e_iconv_open(const char *oto, const char *ofrom)
-{
- const char *to, *from;
- char *tofrom;
- struct _iconv_cache *ic;
- struct _iconv_cache_node *in;
- int errnosav;
- iconv_t ip;
-
- if (oto == NULL || ofrom == NULL) {
- errno = EINVAL;
- return (iconv_t) -1;
- }
-
- to = e_iconv_charset_name (oto);
- from = e_iconv_charset_name (ofrom);
- tofrom = g_alloca (strlen (to) + strlen (from) + 2);
- sprintf(tofrom, "%s%%%s", to, from);
-
- LOCK();
-
- ic = g_hash_table_lookup(iconv_cache, tofrom);
- if (ic) {
- e_dlist_remove((EDListNode *)ic);
- } else {
- struct _iconv_cache *last = (struct _iconv_cache *)iconv_cache_list.tailpred;
- struct _iconv_cache *prev;
-
- prev = last->prev;
- while (prev && iconv_cache_size > E_ICONV_CACHE_SIZE) {
- in = (struct _iconv_cache_node *)last->open.head;
- if (in->next && !in->busy) {
- cd(printf("Flushing iconv converter '%s'\n", last->conv));
- e_dlist_remove((EDListNode *)last);
- g_hash_table_remove(iconv_cache, last->conv);
- flush_entry(last);
- iconv_cache_size--;
- }
- last = prev;
- prev = last->prev;
- }
-
- iconv_cache_size++;
-
- ic = g_malloc(sizeof(*ic));
- e_dlist_init(&ic->open);
- ic->conv = g_strdup(tofrom);
- g_hash_table_insert(iconv_cache, ic->conv, ic);
-
- cd(printf("Creating iconv converter '%s'\n", ic->conv));
- }
- e_dlist_addhead(&iconv_cache_list, (EDListNode *)ic);
-
- /* If we have a free iconv, use it */
- in = (struct _iconv_cache_node *)ic->open.tailpred;
- if (in->prev && !in->busy) {
- cd(printf("using existing iconv converter '%s'\n", ic->conv));
- ip = in->ip;
- if (ip != (iconv_t)-1) {
- /* work around some broken iconv implementations
- * that die if the length arguments are NULL
- */
- size_t buggy_iconv_len = 0;
- char *buggy_iconv_buf = NULL;
-
- /* resets the converter */
- iconv(ip, &buggy_iconv_buf, &buggy_iconv_len, &buggy_iconv_buf, &buggy_iconv_len);
- in->busy = TRUE;
- e_dlist_remove((EDListNode *)in);
- e_dlist_addhead(&ic->open, (EDListNode *)in);
- }
- } else {
- cd(printf("creating new iconv converter '%s'\n", ic->conv));
- ip = iconv_open(to, from);
- in = g_malloc(sizeof(*in));
- in->ip = ip;
- in->parent = ic;
- e_dlist_addhead(&ic->open, (EDListNode *)in);
- if (ip != (iconv_t)-1) {
- g_hash_table_insert(iconv_cache_open, ip, in);
- in->busy = TRUE;
- } else {
- errnosav = errno;
- g_warning("Could not open converter for '%s' to '%s' charset", from, to);
- in->busy = FALSE;
- errno = errnosav;
- }
- }
-
- UNLOCK();
-
- return ip;
-}
-
-size_t e_iconv(iconv_t cd, const char **inbuf, size_t *inbytesleft, char ** outbuf, size_t *outbytesleft)
-{
- return iconv(cd, (char **) inbuf, inbytesleft, outbuf, outbytesleft);
-}
-
-void
-e_iconv_close(iconv_t ip)
-{
- struct _iconv_cache_node *in;
-
- if (ip == (iconv_t)-1)
- return;
-
- LOCK();
- in = g_hash_table_lookup(iconv_cache_open, ip);
- if (in) {
- cd(printf("closing iconv converter '%s'\n", in->parent->conv));
- e_dlist_remove((EDListNode *)in);
- in->busy = FALSE;
- e_dlist_addtail(&in->parent->open, (EDListNode *)in);
- } else {
- g_warning("trying to close iconv i dont know about: %p", ip);
- iconv_close(ip);
- }
- UNLOCK();
-
-}
-
-const char *e_iconv_locale_charset(void)
-{
- e_iconv_init(FALSE);
-
- return locale_charset;
-}
-
-
-const char *
-e_iconv_locale_language (void)
-{
- e_iconv_init (FALSE);
-
- return locale_lang;
-}
-
-/* map CJKR charsets to their language code */
-/* NOTE: only support charset names that will be returned by
- * e_iconv_charset_name() so that we don't have to keep track of all
- * the aliases too. */
-static struct {
- char *charset;
- char *lang;
-} cjkr_lang_map[] = {
- { "Big5", "zh" },
- { "BIG5HKSCS", "zh" },
- { "gb2312", "zh" },
- { "gb18030", "zh" },
- { "gbk", "zh" },
- { "euc-tw", "zh" },
- { "iso-2022-jp", "ja" },
- { "sjis", "ja" },
- { "ujis", "ja" },
- { "eucJP", "ja" },
- { "euc-jp", "ja" },
- { "euc-kr", "ko" },
- { "koi8-r", "ru" },
- { "koi8-u", "uk" }
-};
-
-#define NUM_CJKR_LANGS (sizeof (cjkr_lang_map) / sizeof (cjkr_lang_map[0]))
-
-const char *
-e_iconv_charset_language (const char *charset)
-{
- int i;
-
- if (!charset)
- return NULL;
-
- charset = e_iconv_charset_name (charset);
- for (i = 0; i < NUM_CJKR_LANGS; i++) {
- if (!strcasecmp (cjkr_lang_map[i].charset, charset))
- return cjkr_lang_map[i].lang;
- }
-
- return NULL;
-}
diff --git a/e-util/e-iconv.h b/e-util/e-iconv.h
deleted file mode 100644
index 14b93853d5..0000000000
--- a/e-util/e-iconv.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-iconv.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Michael Zucchi <notzed@ximian.com>
- * Jeffrey Stedfast <fejj@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_ICONV_H_
-#define _E_ICONV_H_
-
-#include <iconv.h>
-
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
-
-const char *e_iconv_charset_name(const char *charset);
-iconv_t e_iconv_open(const char *oto, const char *ofrom);
-size_t e_iconv(iconv_t cd, const char **inbuf, size_t *inbytesleft, char ** outbuf, size_t *outbytesleft);
-void e_iconv_close(iconv_t ip);
-const char *e_iconv_locale_charset(void);
-
-/* languages */
-const char *e_iconv_locale_language (void);
-const char *e_iconv_charset_language (const char *charset);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* !_E_ICONV_H_ */
diff --git a/e-util/e-marshal.list b/e-util/e-marshal.list
deleted file mode 100644
index b478efb1ce..0000000000
--- a/e-util/e-marshal.list
+++ /dev/null
@@ -1,52 +0,0 @@
-BOOLEAN:INT,INT,OBJECT,INT,INT,UINT
-BOOLEAN:INT,POINTER,INT,OBJECT,INT,INT,UINT
-BOOLEAN:NONE
-BOOLEAN:OBJECT
-BOOLEAN:OBJECT,DOUBLE,DOUBLE,BOOLEAN
-BOOLEAN:POINTER,POINTER,INT,INT,INT
-BOOLEAN:POINTER,POINTER,POINTER,INT,INT,INT
-BOOLEAN:STRING,INT
-DOUBLE:OBJECT,DOUBLE,DOUBLE,BOOLEAN
-INT:BOXED
-INT:INT
-INT:INT,INT,BOXED
-INT:INT,POINTER,INT,BOXED
-INT:OBJECT,BOXED
-INT:POINTER
-NONE:BOXED
-NONE:BOXED,INT
-NONE:BOXED,INT,INT
-NONE:DOUBLE
-NONE:INT
-NONE:INT,INT
-NONE:INT,INT,BOXED
-NONE:INT,INT,OBJECT
-NONE:INT,INT,OBJECT,BOXED,UINT,UINT
-NONE:INT,INT,OBJECT,INT,INT,BOXED,UINT,UINT
-NONE:INT,INT,OBJECT,POINTER,UINT,UINT
-NONE:INT,INT,OBJECT,UINT
-NONE:INT,INT,STRING,STRING
-NONE:INT,INT,STRING,STRING,POINTER
-NONE:INT,POINTER
-NONE:INT,POINTER,INT,BOXED
-NONE:INT,POINTER,INT,OBJECT
-NONE:INT,POINTER,INT,OBJECT,BOXED,UINT,UINT
-NONE:INT,POINTER,INT,OBJECT,INT,INT,BOXED,UINT,UINT
-NONE:INT,POINTER,INT,OBJECT,UINT
-NONE:INT,STRING
-NONE:NONE
-NONE:OBJECT
-NONE:OBJECT,OBJECT
-NONE:OBJECT,DOUBLE,DOUBLE,BOOLEAN
-NONE:POINTER
-NONE:POINTER,BOOLEAN
-NONE:POINTER,BOOLEAN,BOOLEAN,BOOLEAN
-NONE:POINTER,INT
-NONE:POINTER,INT,INT
-NONE:POINTER,INT,INT,INT
-NONE:POINTER,INT,INT,INT,INT
-NONE:POINTER,INT,OBJECT
-NONE:POINTER,POINTER
-NONE:POINTER,POINTER,INT
-OBJECT:OBJECT,DOUBLE,DOUBLE,BOOLEAN
-POINTER:NONE
diff --git a/e-util/e-sorter-array.c b/e-util/e-sorter-array.c
deleted file mode 100644
index ab1e748d9a..0000000000
--- a/e-util/e-sorter-array.c
+++ /dev/null
@@ -1,259 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-sorter-array.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <stdlib.h>
-#include <string.h>
-#include "gal/util/e-util.h"
-#include "e-sorter-array.h"
-
-#define d(x)
-
-#define PARENT_TYPE E_SORTER_TYPE
-
-#define INCREMENT_AMOUNT 100
-
-static ESorterClass *parent_class;
-
-static void esa_sort (ESorterArray *esa);
-static void esa_backsort (ESorterArray *esa);
-
-static gint esa_model_to_sorted (ESorter *sorter, int row);
-static gint esa_sorted_to_model (ESorter *sorter, int row);
-static void esa_get_model_to_sorted_array (ESorter *sorter, int **array, int *count);
-static void esa_get_sorted_to_model_array (ESorter *sorter, int **array, int *count);
-static gboolean esa_needs_sorting (ESorter *esa);
-
-#define ESA_NEEDS_SORTING(esa) (((ESorterArray *) (esa))->compare != NULL)
-
-static int
-esort_callback(const void *data1, const void *data2, gpointer user_data)
-{
- ESorterArray *esa = user_data;
- int ret_val;
- int int1, int2;
-
- int1 = *(int *)data1;
- int2 = *(int *)data2;
-
- ret_val = esa->compare (int1, int2, esa->closure);
- if (ret_val != 0)
- return ret_val;
-
- if (int1 < int2)
- return -1;
- if (int1 > int2)
- return 1;
- return 0;
-}
-
-static void
-esa_sort(ESorterArray *esa)
-{
- int rows;
- int i;
-
- if (esa->sorted)
- return;
-
- rows = esa->rows;
-
- esa->sorted = g_new(int, rows);
- for (i = 0; i < rows; i++)
- esa->sorted[i] = i;
-
- if (esa->compare)
- e_sort (esa->sorted, rows, sizeof(int), esort_callback, esa);
-}
-
-static void
-esa_backsort(ESorterArray *esa)
-{
- int i, rows;
-
- if (esa->backsorted)
- return;
-
- esa_sort(esa);
-
- rows = esa->rows;
-
- esa->backsorted = g_new0(int, rows);
-
- for (i = 0; i < rows; i++) {
- esa->backsorted[esa->sorted[i]] = i;
- }
-}
-
-
-static gint
-esa_model_to_sorted (ESorter *es, int row)
-{
- ESorterArray *esa = E_SORTER_ARRAY(es);
-
- g_return_val_if_fail(row >= 0, -1);
- g_return_val_if_fail(row < esa->rows, -1);
-
- if (ESA_NEEDS_SORTING(es))
- esa_backsort(esa);
-
- if (esa->backsorted)
- return esa->backsorted[row];
- else
- return row;
-}
-
-static gint
-esa_sorted_to_model (ESorter *es, int row)
-{
- ESorterArray *esa = (ESorterArray *) es;
-
- g_return_val_if_fail(row >= 0, -1);
- g_return_val_if_fail(row < esa->rows, -1);
-
- if (ESA_NEEDS_SORTING(es))
- esa_sort(esa);
-
- if (esa->sorted)
- return esa->sorted[row];
- else
- return row;
-}
-
-static void
-esa_get_model_to_sorted_array (ESorter *es, int **array, int *count)
-{
- ESorterArray *esa = E_SORTER_ARRAY(es);
- if (array || count) {
- esa_backsort(esa);
-
- if (array)
- *array = esa->backsorted;
- if (count)
- *count = esa->rows;
- }
-}
-
-static void
-esa_get_sorted_to_model_array (ESorter *es, int **array, int *count)
-{
- ESorterArray *esa = E_SORTER_ARRAY(es);
- if (array || count) {
- esa_sort(esa);
-
- if (array)
- *array = esa->sorted;
- if (count)
- *count = esa->rows;
- }
-}
-
-static gboolean
-esa_needs_sorting(ESorter *es)
-{
- ESorterArray *esa = E_SORTER_ARRAY(es);
- return esa->compare != NULL;
-}
-
-void
-e_sorter_array_clean(ESorterArray *esa)
-{
- g_free(esa->sorted);
- esa->sorted = NULL;
-
- g_free(esa->backsorted);
- esa->backsorted = NULL;
-}
-
-void
-e_sorter_array_set_count (ESorterArray *esa, int count)
-{
- e_sorter_array_clean (esa);
- esa->rows = count;
-}
-
-void
-e_sorter_array_append (ESorterArray *esa, int count)
-{
- int i;
- g_free(esa->backsorted);
- esa->backsorted = NULL;
-
- if (esa->sorted) {
- esa->sorted = g_renew(int, esa->sorted, esa->rows + count);
- for (i = 0; i < count; i++) {
- int value = esa->rows;
- size_t pos;
- e_bsearch (&value, esa->sorted, esa->rows, sizeof (int), esort_callback, esa, &pos, NULL);
- memmove (esa->sorted + pos + 1, esa->sorted + pos, sizeof (int) * (esa->rows - pos));
- esa->sorted[pos] = value;
- esa->rows ++;
- }
- } else {
- esa->rows += count;
- }
-}
-
-ESorterArray *
-e_sorter_array_construct (ESorterArray *esa,
- ECompareRowsFunc compare,
- gpointer closure)
-{
- esa->compare = compare;
- esa->closure = closure;
- return esa;
-}
-
-ESorterArray *
-e_sorter_array_new (ECompareRowsFunc compare, gpointer closure)
-{
- ESorterArray *esa = g_object_new (E_SORTER_ARRAY_TYPE, NULL);
-
- return e_sorter_array_construct (esa, compare, closure);
-}
-
-static void
-esa_class_init (ESorterArrayClass *klass)
-{
- ESorterClass *sorter_class = E_SORTER_CLASS(klass);
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- sorter_class->model_to_sorted = esa_model_to_sorted ;
- sorter_class->sorted_to_model = esa_sorted_to_model ;
- sorter_class->get_model_to_sorted_array = esa_get_model_to_sorted_array ;
- sorter_class->get_sorted_to_model_array = esa_get_sorted_to_model_array ;
- sorter_class->needs_sorting = esa_needs_sorting ;
-}
-
-static void
-esa_init (ESorterArray *esa)
-{
- esa->rows = 0;
- esa->compare = NULL;
- esa->closure = NULL;
- esa->sorted = NULL;
- esa->backsorted = NULL;
-}
-
-E_MAKE_TYPE(e_sorter_array, "ESorterArray", ESorterArray, esa_class_init, esa_init, PARENT_TYPE)
diff --git a/e-util/e-sorter-array.h b/e-util/e-sorter-array.h
deleted file mode 100644
index 227e437443..0000000000
--- a/e-util/e-sorter-array.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-sorter-array.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_SORTER_ARRAY_H_
-#define _E_SORTER_ARRAY_H_
-
-#include <glib.h>
-#include <glib-object.h>
-#include <gal/util/e-sorter.h>
-
-G_BEGIN_DECLS
-
-#define E_SORTER_ARRAY_TYPE (e_sorter_array_get_type ())
-#define E_SORTER_ARRAY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_SORTER_ARRAY_TYPE, ESorterArray))
-#define E_SORTER_ARRAY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_SORTER_ARRAY_TYPE, ESorterArrayClass))
-#define E_IS_SORTER_ARRAY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_SORTER_ARRAY_TYPE))
-#define E_IS_SORTER_ARRAY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_SORTER_ARRAY_TYPE))
-
-#ifndef _E_COMPARE_ROWS_FUNC_H_
-#define _E_COMPARE_ROWS_FUNC_H_
-typedef int (*ECompareRowsFunc) (int row1,
- int row2,
- gpointer closure);
-#endif
-
-typedef struct {
- ESorter base;
-
- ECompareRowsFunc compare;
- gpointer closure;
-
- /* If needs_sorting is 0, then model_to_sorted and sorted_to_model are no-ops. */
- int *sorted;
- int *backsorted;
-
- int rows;
-} ESorterArray;
-
-typedef struct {
- ESorterClass parent_class;
-} ESorterArrayClass;
-
-GType e_sorter_array_get_type (void);
-ESorterArray *e_sorter_array_construct (ESorterArray *sorter,
- ECompareRowsFunc compare,
- gpointer closure);
-ESorterArray *e_sorter_array_new (ECompareRowsFunc compare,
- gpointer closure);
-void e_sorter_array_clean (ESorterArray *esa);
-void e_sorter_array_set_count (ESorterArray *esa,
- int count);
-void e_sorter_array_append (ESorterArray *esa,
- int count);
-
-G_END_DECLS
-
-#endif /* _E_SORTER_ARRAY_H_ */
diff --git a/e-util/e-sorter.c b/e-util/e-sorter.c
deleted file mode 100644
index adee6d0d98..0000000000
--- a/e-util/e-sorter.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-sorter.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <stdlib.h>
-#include <string.h>
-#include "gal/util/e-util.h"
-#include "e-sorter.h"
-
-#define d(x)
-
-#define PARENT_TYPE G_TYPE_OBJECT
-
-static GObjectClass *parent_class;
-
-static gint es_model_to_sorted (ESorter *es, int row);
-static gint es_sorted_to_model (ESorter *es, int row);
-static void es_get_model_to_sorted_array (ESorter *es, int **array, int *count);
-static void es_get_sorted_to_model_array (ESorter *es, int **array, int *count);
-static gboolean es_needs_sorting(ESorter *es);
-
-static void
-es_class_init (ESorterClass *klass)
-{
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- klass->model_to_sorted = es_model_to_sorted;
- klass->sorted_to_model = es_sorted_to_model;
- klass->get_model_to_sorted_array = es_get_model_to_sorted_array;
- klass->get_sorted_to_model_array = es_get_sorted_to_model_array;
- klass->needs_sorting = es_needs_sorting;
-}
-
-static void
-es_init (ESorter *es)
-{
-}
-
-E_MAKE_TYPE(e_sorter, "ESorter", ESorter, es_class_init, es_init, PARENT_TYPE)
-
-ESorter *
-e_sorter_new (void)
-{
- ESorter *es = g_object_new (E_SORTER_TYPE, NULL);
-
- return es;
-}
-
-
-static gint
-es_model_to_sorted (ESorter *es, int row)
-{
- return row;
-}
-
-static gint
-es_sorted_to_model (ESorter *es, int row)
-{
- return row;
-}
-
-
-static void
-es_get_model_to_sorted_array (ESorter *es, int **array, int *count)
-{
-}
-
-static void
-es_get_sorted_to_model_array (ESorter *es, int **array, int *count)
-{
-}
-
-
-static gboolean
-es_needs_sorting(ESorter *es)
-{
- return FALSE;
-}
-
-gint
-e_sorter_model_to_sorted (ESorter *es, int row)
-{
- g_return_val_if_fail(es != NULL, -1);
- g_return_val_if_fail(row >= 0, -1);
-
- if (E_SORTER_GET_CLASS(es)->model_to_sorted)
- return E_SORTER_GET_CLASS(es)->model_to_sorted (es, row);
- else
- return -1;
-}
-
-gint
-e_sorter_sorted_to_model (ESorter *es, int row)
-{
- g_return_val_if_fail(es != NULL, -1);
- g_return_val_if_fail(row >= 0, -1);
-
- if (E_SORTER_GET_CLASS(es)->sorted_to_model)
- return E_SORTER_GET_CLASS(es)->sorted_to_model (es, row);
- else
- return -1;
-}
-
-
-void
-e_sorter_get_model_to_sorted_array (ESorter *es, int **array, int *count)
-{
- g_return_if_fail(es != NULL);
-
- if (E_SORTER_GET_CLASS(es)->get_model_to_sorted_array)
- E_SORTER_GET_CLASS(es)->get_model_to_sorted_array (es, array, count);
-}
-
-void
-e_sorter_get_sorted_to_model_array (ESorter *es, int **array, int *count)
-{
- g_return_if_fail(es != NULL);
-
- if (E_SORTER_GET_CLASS(es)->get_sorted_to_model_array)
- E_SORTER_GET_CLASS(es)->get_sorted_to_model_array (es, array, count);
-}
-
-
-gboolean
-e_sorter_needs_sorting(ESorter *es)
-{
- g_return_val_if_fail (es != NULL, FALSE);
-
- if (E_SORTER_GET_CLASS(es)->needs_sorting)
- return E_SORTER_GET_CLASS(es)->needs_sorting (es);
- else
- return FALSE;
-}
diff --git a/e-util/e-sorter.h b/e-util/e-sorter.h
deleted file mode 100644
index a70c2bd2d7..0000000000
--- a/e-util/e-sorter.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-sorter.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_SORTER_H_
-#define _E_SORTER_H_
-
-#include <glib-object.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define E_SORTER_TYPE (e_sorter_get_type ())
-#define E_SORTER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_SORTER_TYPE, ESorter))
-#define E_SORTER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_SORTER_TYPE, ESorterClass))
-#define E_IS_SORTER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_SORTER_TYPE))
-#define E_IS_SORTER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_SORTER_TYPE))
-#define E_SORTER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), E_SORTER_TYPE, ESorterClass))
-
-typedef struct {
- GObject base;
-} ESorter;
-
-typedef struct {
- GObjectClass parent_class;
- gint (*model_to_sorted) (ESorter *sorter,
- int row);
- gint (*sorted_to_model) (ESorter *sorter,
- int row);
-
- void (*get_model_to_sorted_array) (ESorter *sorter,
- int **array,
- int *count);
- void (*get_sorted_to_model_array) (ESorter *sorter,
- int **array,
- int *count);
-
- gboolean (*needs_sorting) (ESorter *sorter);
-} ESorterClass;
-
-GType e_sorter_get_type (void);
-ESorter *e_sorter_new (void);
-
-gint e_sorter_model_to_sorted (ESorter *sorter,
- int row);
-gint e_sorter_sorted_to_model (ESorter *sorter,
- int row);
-
-void e_sorter_get_model_to_sorted_array (ESorter *sorter,
- int **array,
- int *count);
-void e_sorter_get_sorted_to_model_array (ESorter *sorter,
- int **array,
- int *count);
-
-gboolean e_sorter_needs_sorting (ESorter *sorter);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* _E_SORTER_H_ */
diff --git a/e-util/e-text-event-processor-emacs-like.c b/e-util/e-text-event-processor-emacs-like.c
deleted file mode 100644
index 478dc2d68b..0000000000
--- a/e-util/e-text-event-processor-emacs-like.c
+++ /dev/null
@@ -1,495 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-text-event-processor-emacs-like.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <string.h>
-#include <gdk/gdkkeysyms.h>
-#include <gal/util/e-util.h>
-#include "e-text-event-processor-emacs-like.h"
-
-static void e_text_event_processor_emacs_like_init (ETextEventProcessorEmacsLike *card);
-static void e_text_event_processor_emacs_like_class_init (ETextEventProcessorEmacsLikeClass *klass);
-static gint e_text_event_processor_emacs_like_event (ETextEventProcessor *tep, ETextEventProcessorEvent *event);
-
-#define PARENT_TYPE E_TEXT_EVENT_PROCESSOR_TYPE
-static ETextEventProcessorClass *parent_class = NULL;
-
-/* The arguments we take */
-enum {
- ARG_0
-};
-
-static const ETextEventProcessorCommand control_keys[26] =
-{
- { E_TEP_START_OF_LINE, E_TEP_MOVE, 0, "" }, /* a */
- { E_TEP_BACKWARD_CHARACTER, E_TEP_MOVE, 0, "" }, /* b */
- { E_TEP_SELECTION, E_TEP_COPY, 0, "" }, /* c */
- { E_TEP_FORWARD_CHARACTER, E_TEP_DELETE, 0, "" }, /* d */
- { E_TEP_END_OF_LINE, E_TEP_MOVE, 0, "" }, /* e */
- { E_TEP_FORWARD_CHARACTER, E_TEP_MOVE, 0, "" }, /* f */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* g */
- { E_TEP_BACKWARD_CHARACTER, E_TEP_DELETE, 0, "" }, /* h */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* i */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* j */
- { E_TEP_END_OF_LINE, E_TEP_DELETE, 0, "" }, /* k */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* l */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* m */
- { E_TEP_FORWARD_LINE, E_TEP_MOVE, 0, "" }, /* n */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* o */
- { E_TEP_BACKWARD_LINE, E_TEP_MOVE, 0, "" }, /* p */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* q */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* r */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* s */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* t */
- { E_TEP_START_OF_LINE, E_TEP_DELETE, 0, "" }, /* u */
- { E_TEP_SELECTION, E_TEP_PASTE, 0, "" }, /* v */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* w */
- { E_TEP_SELECTION, E_TEP_DELETE, 0, "" }, /* x */
- { E_TEP_SELECTION, E_TEP_PASTE, 0, "" }, /* y */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" } /* z */
-};
-
-static const ETextEventProcessorCommand alt_keys[26] =
-{
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* a */
- { E_TEP_BACKWARD_WORD, E_TEP_MOVE, 0, "" }, /* b */
- { E_TEP_SELECTION, E_TEP_CAPS, E_TEP_CAPS_TITLE, "" },/* c */
- { E_TEP_FORWARD_WORD, E_TEP_DELETE, 0, "" }, /* d */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* e */
- { E_TEP_FORWARD_WORD, E_TEP_MOVE, 0, "" }, /* f */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* g */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* h */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* i */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* j */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* k */
- { E_TEP_SELECTION, E_TEP_CAPS, E_TEP_CAPS_LOWER, "" }, /* l */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* m */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* n */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* o */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* p */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* q */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* r */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* s */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* t */
- { E_TEP_SELECTION, E_TEP_CAPS, E_TEP_CAPS_UPPER, "" }, /* u */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* v */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* w */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* x */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" }, /* y */
- { E_TEP_SELECTION, E_TEP_NOP, 0, "" } /* z */
-
-};
-
-E_MAKE_TYPE (e_text_event_processor_emacs_like,
- "ETextEventProcessorEmacsLike",
- ETextEventProcessorEmacsLike,
- e_text_event_processor_emacs_like_class_init,
- e_text_event_processor_emacs_like_init,
- PARENT_TYPE)
-
-static void
-e_text_event_processor_emacs_like_class_init (ETextEventProcessorEmacsLikeClass *klass)
-{
- ETextEventProcessorClass *processor_class;
-
- processor_class = (ETextEventProcessorClass*) klass;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- processor_class->event = e_text_event_processor_emacs_like_event;
-}
-
-static void
-e_text_event_processor_emacs_like_init (ETextEventProcessorEmacsLike *tep)
-{
-}
-
-static gint
-e_text_event_processor_emacs_like_event (ETextEventProcessor *tep, ETextEventProcessorEvent *event)
-{
- ETextEventProcessorCommand command;
- ETextEventProcessorEmacsLike *tep_el = E_TEXT_EVENT_PROCESSOR_EMACS_LIKE(tep);
- command.action = E_TEP_NOP;
- switch (event->type) {
- case GDK_BUTTON_PRESS:
- if (event->button.button == 1) {
- command.action = E_TEP_GRAB;
- command.time = event->button.time;
- g_signal_emit_by_name (tep, "command", &command);
- if (event->button.state & GDK_SHIFT_MASK)
- command.action = E_TEP_SELECT;
- else
- command.action = E_TEP_MOVE;
- command.position = E_TEP_VALUE;
- command.value = event->button.position;
- command.time = event->button.time;
- tep_el->mouse_down = TRUE;
- }
- break;
- case GDK_2BUTTON_PRESS:
- if (event->button.button == 1) {
- command.action = E_TEP_SELECT;
- command.position = E_TEP_SELECT_WORD;
- command.time = event->button.time;
- }
- break;
- case GDK_3BUTTON_PRESS:
- if (event->button.button == 1) {
- command.action = E_TEP_SELECT;
- command.position = E_TEP_SELECT_ALL;
- command.time = event->button.time;
- }
- break;
- case GDK_BUTTON_RELEASE:
- if (event->button.button == 1) {
- command.action = E_TEP_UNGRAB;
- command.time = event->button.time;
- tep_el->mouse_down = FALSE;
- } else if (event->button.button == 2) {
- command.action = E_TEP_MOVE;
- command.position = E_TEP_VALUE;
- command.value = event->button.position;
- command.time = event->button.time;
- g_signal_emit_by_name (tep, "command", &command);
-
- command.action = E_TEP_GET_SELECTION;
- command.position = E_TEP_SELECTION;
- command.value = 0;
- command.time = event->button.time;
- }
- break;
- case GDK_MOTION_NOTIFY:
- if (tep_el->mouse_down) {
- command.action = E_TEP_SELECT;
- command.position = E_TEP_VALUE;
- command.time = event->motion.time;
- command.value = event->motion.position;
- }
- break;
- case GDK_KEY_PRESS:
- {
- ETextEventProcessorEventKey key = event->key;
- command.time = event->key.time;
- if (key.state & GDK_SHIFT_MASK)
- command.action = E_TEP_SELECT;
- else if (key.state & GDK_MOD1_MASK)
- command.action = E_TEP_NOP;
- else
- command.action = E_TEP_MOVE;
- switch(key.keyval) {
- case GDK_Home:
- case GDK_KP_Home:
- if (key.state & GDK_CONTROL_MASK)
- command.position = E_TEP_START_OF_BUFFER;
- else
- command.position = E_TEP_START_OF_LINE;
- break;
- case GDK_End:
- case GDK_KP_End:
- if (key.state & GDK_CONTROL_MASK)
- command.position = E_TEP_END_OF_BUFFER;
- else
- command.position = E_TEP_END_OF_LINE;
- break;
- case GDK_Page_Up:
- case GDK_KP_Page_Up: command.position = E_TEP_BACKWARD_PAGE; break;
-
- case GDK_Page_Down:
- case GDK_KP_Page_Down: command.position = E_TEP_FORWARD_PAGE; break;
- /* CUA has Ctrl-Up/Ctrl-Down as paragraph up down */
- case GDK_Up:
- case GDK_KP_Up: command.position = E_TEP_BACKWARD_LINE; break;
-
- case GDK_Down:
- case GDK_KP_Down: command.position = E_TEP_FORWARD_LINE; break;
-
- case GDK_Left:
- case GDK_KP_Left:
- if (key.state & GDK_CONTROL_MASK)
- command.position = E_TEP_BACKWARD_WORD;
- else
- command.position = E_TEP_BACKWARD_CHARACTER;
- break;
- case GDK_Right:
- case GDK_KP_Right:
- if (key.state & GDK_CONTROL_MASK)
- command.position = E_TEP_FORWARD_WORD;
- else
- command.position = E_TEP_FORWARD_CHARACTER;
- break;
-
- case GDK_BackSpace:
- command.action = E_TEP_DELETE;
- if (key.state & GDK_CONTROL_MASK)
- command.position = E_TEP_BACKWARD_WORD;
- else
- command.position = E_TEP_BACKWARD_CHARACTER;
- break;
- case GDK_Clear:
- command.action = E_TEP_DELETE;
- command.position = E_TEP_END_OF_LINE;
- break;
- case GDK_Insert:
- case GDK_KP_Insert:
- if (key.state & GDK_SHIFT_MASK) {
- command.action = E_TEP_PASTE;
- command.position = E_TEP_SELECTION;
- } else if (key.state & GDK_CONTROL_MASK) {
- command.action = E_TEP_COPY;
- command.position = E_TEP_SELECTION;
- } else {
- /* gtk_toggle_insert(text) -- IMPLEMENT -- FIXME */
- }
- break;
- case GDK_Delete:
- case GDK_KP_Delete:
- if (key.state & GDK_CONTROL_MASK){
- command.action = E_TEP_DELETE;
- command.position = E_TEP_FORWARD_WORD;
- } else if (key.state & GDK_SHIFT_MASK) {
- command.action = E_TEP_COPY;
- command.position = E_TEP_SELECTION;
- g_signal_emit_by_name (tep, "command", &command);
-
- command.action = E_TEP_DELETE;
- command.position = E_TEP_SELECTION;
- } else {
- command.action = E_TEP_DELETE;
- command.position = E_TEP_FORWARD_CHARACTER;
- }
- break;
- case GDK_Tab:
- case GDK_KP_Tab:
- case GDK_ISO_Left_Tab:
- case GDK_3270_BackTab:
- /* Don't insert literally */
- command.action = E_TEP_NOP;
- command.position = E_TEP_SELECTION;
- break;
- case GDK_Return:
- case GDK_KP_Enter:
- if (tep->allow_newlines) {
- if (key.state & GDK_CONTROL_MASK) {
- command.action = E_TEP_ACTIVATE;
- command.position = E_TEP_SELECTION;
- } else {
- command.action = E_TEP_INSERT;
- command.position = E_TEP_SELECTION;
- command.value = 1;
- command.string = "\n";
- }
- } else {
- if (key.state & GDK_CONTROL_MASK) {
- command.action = E_TEP_NOP;
- command.position = E_TEP_SELECTION;
- } else {
- command.action = E_TEP_ACTIVATE;
- command.position = E_TEP_SELECTION;
- }
- }
- break;
- case GDK_Escape:
- /* Don't insert literally */
- command.action = E_TEP_NOP;
- command.position = E_TEP_SELECTION;
- break;
-
- case GDK_KP_Space:
- command.action = E_TEP_INSERT;
- command.position = E_TEP_SELECTION;
- command.value = 1;
- command.string = " ";
- break;
- case GDK_KP_Equal:
- command.action = E_TEP_INSERT;
- command.position = E_TEP_SELECTION;
- command.value = 1;
- command.string = "=";
- break;
- case GDK_KP_Multiply:
- command.action = E_TEP_INSERT;
- command.position = E_TEP_SELECTION;
- command.value = 1;
- command.string = "*";
- break;
- case GDK_KP_Add:
- command.action = E_TEP_INSERT;
- command.position = E_TEP_SELECTION;
- command.value = 1;
- command.string = "+";
- break;
- case GDK_KP_Subtract:
- command.action = E_TEP_INSERT;
- command.position = E_TEP_SELECTION;
- command.value = 1;
- command.string = "-";
- break;
- case GDK_KP_Decimal:
- command.action = E_TEP_INSERT;
- command.position = E_TEP_SELECTION;
- command.value = 1;
- command.string = ".";
- break;
- case GDK_KP_Divide:
- command.action = E_TEP_INSERT;
- command.position = E_TEP_SELECTION;
- command.value = 1;
- command.string = "/";
- break;
- case GDK_KP_0:
- command.action = E_TEP_INSERT;
- command.position = E_TEP_SELECTION;
- command.value = 1;
- command.string = "0";
- break;
- case GDK_KP_1:
- command.action = E_TEP_INSERT;
- command.position = E_TEP_SELECTION;
- command.value = 1;
- command.string = "1";
- break;
- case GDK_KP_2:
- command.action = E_TEP_INSERT;
- command.position = E_TEP_SELECTION;
- command.value = 1;
- command.string = "2";
- break;
- case GDK_KP_3:
- command.action = E_TEP_INSERT;
- command.position = E_TEP_SELECTION;
- command.value = 1;
- command.string = "3";
- break;
- case GDK_KP_4:
- command.action = E_TEP_INSERT;
- command.position = E_TEP_SELECTION;
- command.value = 1;
- command.string = "4";
- break;
- case GDK_KP_5:
- command.action = E_TEP_INSERT;
- command.position = E_TEP_SELECTION;
- command.value = 1;
- command.string = "5";
- break;
- case GDK_KP_6:
- command.action = E_TEP_INSERT;
- command.position = E_TEP_SELECTION;
- command.value = 1;
- command.string = "6";
- break;
- case GDK_KP_7:
- command.action = E_TEP_INSERT;
- command.position = E_TEP_SELECTION;
- command.value = 1;
- command.string = "7";
- break;
- case GDK_KP_8:
- command.action = E_TEP_INSERT;
- command.position = E_TEP_SELECTION;
- command.value = 1;
- command.string = "8";
- break;
- case GDK_KP_9:
- command.action = E_TEP_INSERT;
- command.position = E_TEP_SELECTION;
- command.value = 1;
- command.string = "9";
- break;
-
- default:
- if ((key.state & GDK_CONTROL_MASK) && !(key.state & GDK_MOD1_MASK)) {
- if ((key.keyval >= 'A') && (key.keyval <= 'Z'))
- key.keyval -= 'A' - 'a';
-
- if ((key.keyval >= 'a') && (key.keyval <= 'z')) {
- command.position = control_keys[(int) (key.keyval - 'a')].position;
- if (control_keys[(int) (key.keyval - 'a')].action != E_TEP_MOVE)
- command.action = control_keys[(int) (key.keyval - 'a')].action;
- command.value = control_keys[(int) (key.keyval - 'a')].value;
- command.string = control_keys[(int) (key.keyval - 'a')].string;
- }
-
- if (key.keyval == ' ') {
- command.action = E_TEP_NOP;
- }
-
- if (key.keyval == 'x') {
- command.action = E_TEP_COPY;
- command.position = E_TEP_SELECTION;
- g_signal_emit_by_name (tep, "command", &command);
-
- command.action = E_TEP_DELETE;
- command.position = E_TEP_SELECTION;
- }
-
- break;
- } else if ((key.state & GDK_MOD1_MASK) && !(key.state & GDK_CONTROL_MASK)) {
- if ((key.keyval >= 'A') && (key.keyval <= 'Z'))
- key.keyval -= 'A' - 'a';
-
- if ((key.keyval >= 'a') && (key.keyval <= 'z')) {
- command.position = alt_keys[(int) (key.keyval - 'a')].position;
- if (alt_keys[(int) (key.keyval - 'a')].action != E_TEP_MOVE)
- command.action = alt_keys[(int) (key.keyval - 'a')].action;
- command.value = alt_keys[(int) (key.keyval - 'a')].value;
- command.string = alt_keys[(int) (key.keyval - 'a')].string;
- }
- } else if (!(key.state & GDK_MOD1_MASK) && !(key.state & GDK_CONTROL_MASK) && key.length > 0) {
- if (key.keyval >= GDK_KP_0 && key.keyval <= GDK_KP_9) {
- key.keyval = '0';
- key.string = "0";
- }
- command.action = E_TEP_INSERT;
- command.position = E_TEP_SELECTION;
- command.value = strlen(key.string);
- command.string = key.string;
-
- } else {
- command.action = E_TEP_NOP;
- }
- }
- break;
- case GDK_KEY_RELEASE:
- command.time = event->key.time;
- command.action = E_TEP_NOP;
- break;
- default:
- command.action = E_TEP_NOP;
- break;
- }
- }
- if (command.action != E_TEP_NOP) {
- g_signal_emit_by_name (tep, "command", &command);
- return 1;
- }
- else
- return 0;
-}
-
-ETextEventProcessor *
-e_text_event_processor_emacs_like_new (void)
-{
- ETextEventProcessorEmacsLike *retval = g_object_new (E_TEXT_EVENT_PROCESSOR_EMACS_LIKE_TYPE, NULL);
- return E_TEXT_EVENT_PROCESSOR (retval);
-}
-
diff --git a/e-util/e-text-event-processor-emacs-like.h b/e-util/e-text-event-processor-emacs-like.h
deleted file mode 100644
index 1fd74dacfe..0000000000
--- a/e-util/e-text-event-processor-emacs-like.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-text-event-processor-emacs-like.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef __E_TEXT_EVENT_PROCESSOR_EMACS_LIKE_H__
-#define __E_TEXT_EVENT_PROCESSOR_EMACS_LIKE_H__
-
-#include <gal/util/e-text-event-processor.h>
-
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
-
-/* ETextEventProcessorEmacsLike - Turns events on a text widget into commands. Uses an emacs-ish interface.
- *
- */
-
-#define E_TEXT_EVENT_PROCESSOR_EMACS_LIKE_TYPE (e_text_event_processor_emacs_like_get_type ())
-#define E_TEXT_EVENT_PROCESSOR_EMACS_LIKE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TEXT_EVENT_PROCESSOR_EMACS_LIKE_TYPE, ETextEventProcessorEmacsLike))
-#define E_TEXT_EVENT_PROCESSOR_EMACS_LIKE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_TEXT_EVENT_PROCESSOR_EMACS_LIKE_TYPE, ETextEventProcessorEmacsLikeClass))
-#define E_IS_TEXT_EVENT_PROCESSOR_EMACS_LIKE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_TEXT_EVENT_PROCESSOR_EMACS_LIKE_TYPE))
-#define E_IS_TEXT_EVENT_PROCESSOR_EMACS_LIKE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), E_TEXT_EVENT_PROCESSOR_EMACS_LIKE_TYPE))
-
-
-typedef struct _ETextEventProcessorEmacsLike ETextEventProcessorEmacsLike;
-typedef struct _ETextEventProcessorEmacsLikeClass ETextEventProcessorEmacsLikeClass;
-
-struct _ETextEventProcessorEmacsLike
-{
- ETextEventProcessor parent;
-
- /* object specific fields */
- guint mouse_down : 1;
-};
-
-struct _ETextEventProcessorEmacsLikeClass
-{
- ETextEventProcessorClass parent_class;
-};
-
-
-GType e_text_event_processor_emacs_like_get_type (void);
-ETextEventProcessor *e_text_event_processor_emacs_like_new (void);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* __E_TEXT_EVENT_PROCESSOR_EMACS_LIKE_H__ */
diff --git a/e-util/e-text-event-processor-types.h b/e-util/e-text-event-processor-types.h
deleted file mode 100644
index 5cb3f198d7..0000000000
--- a/e-util/e-text-event-processor-types.h
+++ /dev/null
@@ -1,132 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-text-event-processor-types.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef __E_TEXT_EVENT_PROCESSOR_TYPES_H__
-#define __E_TEXT_EVENT_PROCESSOR_TYPES_H__
-
-#include <glib/gmacros.h>
-
-G_BEGIN_DECLS
-
-#include <gdk/gdkevents.h>
-
-typedef union _ETextEventProcessorEvent ETextEventProcessorEvent;
-
-typedef enum {
- E_TEP_VALUE,
- E_TEP_SELECTION,
-
- E_TEP_START_OF_BUFFER,
- E_TEP_END_OF_BUFFER,
-
- E_TEP_START_OF_LINE,
- E_TEP_END_OF_LINE,
-
- E_TEP_FORWARD_CHARACTER,
- E_TEP_BACKWARD_CHARACTER,
-
- E_TEP_FORWARD_WORD,
- E_TEP_BACKWARD_WORD,
-
- E_TEP_FORWARD_LINE,
- E_TEP_BACKWARD_LINE,
-
- E_TEP_FORWARD_PARAGRAPH,
- E_TEP_BACKWARD_PARAGRAPH,
-
- E_TEP_FORWARD_PAGE,
- E_TEP_BACKWARD_PAGE,
-
- E_TEP_SELECT_WORD,
- E_TEP_SELECT_ALL
-
-} ETextEventProcessorCommandPosition;
-
-typedef enum {
- E_TEP_MOVE,
- E_TEP_SELECT,
- E_TEP_DELETE,
- E_TEP_INSERT,
-
- E_TEP_CAPS,
-
- E_TEP_COPY,
- E_TEP_PASTE,
- E_TEP_GET_SELECTION,
- E_TEP_SET_SELECT_BY_WORD,
- E_TEP_ACTIVATE,
-
- E_TEP_GRAB,
- E_TEP_UNGRAB,
-
- E_TEP_NOP
-} ETextEventProcessorCommandAction;
-
-typedef struct {
- ETextEventProcessorCommandPosition position;
- ETextEventProcessorCommandAction action;
- int value;
- char *string;
- guint32 time;
-} ETextEventProcessorCommand;
-
-typedef struct {
- GdkEventType type;
- guint32 time;
- guint state;
- guint button;
- gint position;
-} ETextEventProcessorEventButton;
-
-typedef struct {
- GdkEventType type;
- guint32 time;
- guint state;
- guint keyval;
- gint length;
- gchar *string;
-} ETextEventProcessorEventKey;
-
-typedef struct {
- GdkEventType type;
- guint32 time;
- guint state;
- gint position;
-} ETextEventProcessorEventMotion;
-
-union _ETextEventProcessorEvent {
- GdkEventType type;
- ETextEventProcessorEventButton button;
- ETextEventProcessorEventKey key;
- ETextEventProcessorEventMotion motion;
-};
-
-typedef enum _ETextEventProcessorCaps {
- E_TEP_CAPS_UPPER,
- E_TEP_CAPS_LOWER,
- E_TEP_CAPS_TITLE
-} ETextEventProcessorCaps;
-
-G_END_DECLS
-
-#endif /* __E_TEXT_EVENT_PROCESSOR_TYPES_H__ */
diff --git a/e-util/e-text-event-processor.c b/e-util/e-text-event-processor.c
deleted file mode 100644
index 6b974d894e..0000000000
--- a/e-util/e-text-event-processor.c
+++ /dev/null
@@ -1,148 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-text-event-processor.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include "e-text-event-processor.h"
-#include <gal/util/e-util.h>
-#include <gal/util/e-i18n.h>
-#include "gal/util/e-marshal.h"
-
-static void e_text_event_processor_init (ETextEventProcessor *card);
-static void e_text_event_processor_class_init (ETextEventProcessorClass *klass);
-
-static void e_text_event_processor_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec);
-static void e_text_event_processor_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec);
-
-#define PARENT_TYPE G_TYPE_OBJECT
-static GObjectClass *parent_class = NULL;
-
-/* The arguments we take */
-enum {
- PROP_0,
- PROP_ALLOW_NEWLINES
-};
-
-enum {
- E_TEP_EVENT,
- E_TEP_LAST_SIGNAL
-};
-
-static guint e_tep_signals[E_TEP_LAST_SIGNAL] = { 0 };
-
-E_MAKE_TYPE (e_text_event_processor,
- "ETextEventProcessor",
- ETextEventProcessor,
- e_text_event_processor_class_init,
- e_text_event_processor_init,
- PARENT_TYPE)
-
-static void
-e_text_event_processor_class_init (ETextEventProcessorClass *klass)
-{
- GObjectClass *object_class;
-
- object_class = (GObjectClass*) klass;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class->set_property = e_text_event_processor_set_property;
- object_class->get_property = e_text_event_processor_get_property;
-
- e_tep_signals[E_TEP_EVENT] =
- g_signal_new ("command",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETextEventProcessorClass, command),
- NULL, NULL,
- e_marshal_NONE__POINTER,
- G_TYPE_NONE, 1,
- G_TYPE_POINTER);
-
- g_object_class_install_property (object_class, PROP_ALLOW_NEWLINES,
- g_param_spec_boolean ("allow_newlines",
- _( "Allow newlines" ),
- _( "Allow newlines" ),
- FALSE,
- G_PARAM_READWRITE));
-
- klass->event = NULL;
- klass->command = NULL;
-
-}
-
-static void
-e_text_event_processor_init (ETextEventProcessor *tep)
-{
- tep->allow_newlines = TRUE;
-}
-
-gint
-e_text_event_processor_handle_event (ETextEventProcessor *tep, ETextEventProcessorEvent *event)
-{
- if (E_TEXT_EVENT_PROCESSOR_GET_CLASS(tep)->event)
- return E_TEXT_EVENT_PROCESSOR_GET_CLASS(tep)->event(tep, event);
- else
- return 0;
-}
-
-/* Set_arg handler for the text item */
-static void
-e_text_event_processor_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- ETextEventProcessor *tep = E_TEXT_EVENT_PROCESSOR (object);
-
- switch (prop_id) {
- case PROP_ALLOW_NEWLINES:
- tep->allow_newlines = g_value_get_boolean (value);
- break;
- default:
- return;
- }
-}
-
-/* Get_arg handler for the text item */
-static void
-e_text_event_processor_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
- ETextEventProcessor *tep = E_TEXT_EVENT_PROCESSOR (object);
-
- switch (prop_id) {
- case PROP_ALLOW_NEWLINES:
- g_value_set_boolean (value, tep->allow_newlines);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
diff --git a/e-util/e-text-event-processor.h b/e-util/e-text-event-processor.h
deleted file mode 100644
index 21f2550fde..0000000000
--- a/e-util/e-text-event-processor.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-text-event-processor.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef __E_TEXT_EVENT_PROCESSOR_H__
-#define __E_TEXT_EVENT_PROCESSOR_H__
-
-#include <glib.h>
-#include <gtk/gtkobject.h>
-#include <gal/util/e-text-event-processor-types.h>
-
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
-
-/* ETextEventProcessor - Turns events on a text widget into commands.
- *
- */
-
-#define E_TEXT_EVENT_PROCESSOR_TYPE (e_text_event_processor_get_type ())
-#define E_TEXT_EVENT_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TEXT_EVENT_PROCESSOR_TYPE, ETextEventProcessor))
-#define E_TEXT_EVENT_PROCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_TEXT_EVENT_PROCESSOR_TYPE, ETextEventProcessorClass))
-#define E_IS_TEXT_EVENT_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_TEXT_EVENT_PROCESSOR_TYPE))
-#define E_IS_TEXT_EVENT_PROCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), E_TEXT_EVENT_PROCESSOR_TYPE))
-#define E_TEXT_EVENT_PROCESSOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), E_TEXT_EVENT_PROCESSOR_TYPE, ETextEventProcessorClass))
-typedef struct _ETextEventProcessor ETextEventProcessor;
-typedef struct _ETextEventProcessorClass ETextEventProcessorClass;
-
-struct _ETextEventProcessor
-{
- GObject parent;
-
- /* object specific fields */
- guint allow_newlines : 1;
-};
-
-struct _ETextEventProcessorClass
-{
- GtkObjectClass parent_class;
-
- /* signals */
- void (* command) (ETextEventProcessor *tep, ETextEventProcessorCommand *command);
-
- /* virtual functions */
- gint (* event) (ETextEventProcessor *tep, ETextEventProcessorEvent *event);
-};
-
-
-GType e_text_event_processor_get_type (void);
-gint e_text_event_processor_handle_event (ETextEventProcessor *tep, ETextEventProcessorEvent *event);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* __E_TEXT_EVENT_PROCESSOR_H__ */
diff --git a/e-util/e-util.c b/e-util/e-util.c
deleted file mode 100644
index 2514cfc931..0000000000
--- a/e-util/e-util.c
+++ /dev/null
@@ -1,1230 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-util.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include "e-util.h"
-#include "e-i18n.h"
-
-#include <glib.h>
-#include <gtk/gtkobject.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <ctype.h>
-#include <sys/stat.h>
-#include <string.h>
-#include <locale.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-#include <libgnome/gnome-util.h>
-#include <math.h>
-
-#if 0
-#include <libgnomevfs/gnome-vfs.h>
-#endif
-
-int
-g_str_compare (const void *x, const void *y)
-{
- if (x == NULL || y == NULL) {
- if (x == y)
- return 0;
- else
- return x ? -1 : 1;
- }
-
- return strcmp (x, y);
-}
-
-int
-g_collate_compare (const void *x, const void *y)
-{
- if (x == NULL || y == NULL) {
- if (x == y)
- return 0;
- else
- return x ? -1 : 1;
- }
-
- return g_utf8_collate (x, y);
-}
-
-int
-g_int_compare (const void *x, const void *y)
-{
- if (GPOINTER_TO_INT (x) < GPOINTER_TO_INT (y))
- return -1;
- else if (GPOINTER_TO_INT (x) == GPOINTER_TO_INT (y))
- return 0;
- else
- return 1;
-}
-
-char *
-e_strdup_strip(const char *string)
-{
- int i;
- int length = 0;
- int initial = 0;
- for ( i = 0; string[i]; i++ ) {
- if (initial == i && isspace((unsigned char) string[i])) {
- initial ++;
- }
- if (!isspace((unsigned char) string[i])) {
- length = i - initial + 1;
- }
- }
- return g_strndup(string + initial, length);
-}
-
-void
-e_free_object_list (GList *list)
-{
- GList *p;
-
- for (p = list; p != NULL; p = p->next)
- g_object_unref (p->data);
-
- g_list_free (list);
-}
-
-void
-e_free_object_slist (GSList *list)
-{
- GSList *p;
-
- for (p = list; p != NULL; p = p->next)
- g_object_unref (p->data);
-
- g_slist_free (list);
-}
-
-void
-e_free_string_list (GList *list)
-{
- GList *p;
-
- for (p = list; p != NULL; p = p->next)
- g_free (p->data);
-
- g_list_free (list);
-}
-
-void
-e_free_string_slist (GSList *list)
-{
- GSList *p;
-
- for (p = list; p != NULL; p = p->next)
- g_free (p->data);
- g_slist_free (list);
-}
-
-#define BUFF_SIZE 1024
-
-char *
-e_read_file(const char *filename)
-{
- int fd;
- char buffer[BUFF_SIZE];
- GList *list = NULL, *list_iterator;
- GList *lengths = NULL, *lengths_iterator;
- int length = 0;
- int bytes;
- char *ret_val;
-
- fd = open(filename, O_RDONLY);
- if (fd == -1)
- return NULL;
- bytes = read(fd, buffer, BUFF_SIZE);
- while (bytes) {
- if (bytes > 0) {
- char *temp = g_malloc(bytes);
- memcpy (temp, buffer, bytes);
- list = g_list_prepend(list, temp);
- lengths = g_list_prepend(lengths, GINT_TO_POINTER(bytes));
- length += bytes;
- } else {
- if (errno != EINTR) {
- close(fd);
- g_list_foreach(list, (GFunc) g_free, NULL);
- g_list_free(list);
- g_list_free(lengths);
- return NULL;
- }
- }
- bytes = read(fd, buffer, BUFF_SIZE);
- }
- ret_val = g_new(char, length + 1);
- ret_val[length] = 0;
- lengths_iterator = lengths;
- list_iterator = list;
- for ( ; list_iterator; list_iterator = list_iterator->next, lengths_iterator = lengths_iterator->next) {
- int this_length = GPOINTER_TO_INT(lengths_iterator->data);
- length -= this_length;
- memcpy(ret_val + length, list_iterator->data, this_length);
- }
- close(fd);
- g_list_foreach(list, (GFunc) g_free, NULL);
- g_list_free(list);
- g_list_free(lengths);
- return ret_val;
-}
-
-gint
-e_write_file(const char *filename, const char *data, int flags)
-{
- int fd;
- int length = strlen(data);
- int bytes;
- fd = open(filename, flags | O_WRONLY, 0666);
- if (fd == -1)
- return errno;
- while (length > 0) {
- bytes = write(fd, data, length);
- if (bytes > 0) {
- length -= bytes;
- data += bytes;
- } else {
- if (errno != EINTR && errno != EAGAIN) {
- int save_errno = errno;
- close(fd);
- return save_errno;
- }
- }
- }
- if (close(fd) != 0) {
- return errno;
- }
- return 0;
-}
-
-gint
-e_write_file_mkstemp(char *filename, const char *data)
-{
- int fd;
- int length = strlen(data);
- int bytes;
- fd = mkstemp (filename);
- if (fd == -1)
- return errno;
- while (length > 0) {
- bytes = write(fd, data, length);
- if (bytes > 0) {
- length -= bytes;
- data += bytes;
- } else {
- if (errno != EINTR && errno != EAGAIN) {
- int save_errno = errno;
- close(fd);
- return save_errno;
- }
- }
- }
- if (close(fd) != 0) {
- return errno;
- }
- return 0;
-}
-
-/**
- * e_mkdir_hier:
- * @path: a directory path
- * @mode: a mode, as for mkdir(2)
- *
- * This creates the named directory with the given @mode, creating
- * any necessary intermediate directories (with the same @mode).
- *
- * Return value: 0 on success, -1 on error, in which case errno will
- * be set as for mkdir(2).
- **/
-int
-e_mkdir_hier(const char *path, mode_t mode)
-{
- char *copy, *p;
-
- if (path[0] == '/') {
- p = copy = g_strdup (path);
- } else {
- gchar *current_dir = g_get_current_dir();
- p = copy = g_concat_dir_and_file (current_dir, path);
- }
-
- do {
- p = strchr (p + 1, '/');
- if (p)
- *p = '\0';
- if (access (copy, F_OK) == -1) {
- if (mkdir (copy, mode) == -1) {
- g_free (copy);
- return -1;
- }
- }
- if (p)
- *p = '/';
- } while (p);
-
- g_free (copy);
- return 0;
-}
-
-#if 0
-char *
-e_read_uri(const char *uri)
-{
- GnomeVFSHandle *handle;
- GList *list = NULL, *list_iterator;
- GList *lengths = NULL, *lengths_iterator;
- gchar buffer[1025];
- gchar *ret_val;
- int length = 0;
- GnomeVFSFileSize bytes;
-
- gnome_vfs_open(&handle, uri, GNOME_VFS_OPEN_READ);
-
- gnome_vfs_read(handle, buffer, 1024, &bytes);
- while (bytes) {
- if (bytes) {
- char *temp = g_malloc(bytes);
- memcpy (temp, buffer, bytes);
- list = g_list_prepend(list, temp);
- lengths = g_list_prepend(lengths, GINT_TO_POINTER((gint) bytes));
- length += bytes;
- }
- gnome_vfs_read(handle, buffer, 1024, &bytes);
- }
-
- ret_val = g_new(char, length + 1);
- ret_val[length] = 0;
- lengths_iterator = lengths;
- list_iterator = list;
- for ( ; list_iterator; list_iterator = list_iterator->next, lengths_iterator = lengths_iterator->next) {
- int this_length = GPOINTER_TO_INT(lengths_iterator->data);
- length -= this_length;
- memcpy(ret_val + length, list_iterator->data, this_length);
- }
- gnome_vfs_close(handle);
- g_list_foreach(list, (GFunc) g_free, NULL);
- g_list_free(list);
- g_list_free(lengths);
- return ret_val;
-}
-#endif
-
-/* Include build marshalers */
-
-#include "e-marshal.h"
-#include "e-marshal.c"
-
-gchar**
-e_strsplit (const gchar *string,
- const gchar *delimiter,
- gint max_tokens)
-{
- GSList *string_list = NULL, *slist;
- gchar **str_array, *s;
- guint i, n = 1;
-
- g_return_val_if_fail (string != NULL, NULL);
- g_return_val_if_fail (delimiter != NULL, NULL);
-
- if (max_tokens < 1)
- max_tokens = G_MAXINT;
-
- s = strstr (string, delimiter);
- if (s)
- {
- guint delimiter_len = strlen (delimiter);
-
- do
- {
- guint len;
- gchar *new_string;
-
- len = s - string;
- new_string = g_new (gchar, len + 1);
- strncpy (new_string, string, len);
- new_string[len] = 0;
- string_list = g_slist_prepend (string_list, new_string);
- n++;
- string = s + delimiter_len;
- s = strstr (string, delimiter);
- }
- while (--max_tokens && s);
- }
-
- n++;
- string_list = g_slist_prepend (string_list, g_strdup (string));
-
- str_array = g_new (gchar*, n);
-
- i = n - 1;
-
- str_array[i--] = NULL;
- for (slist = string_list; slist; slist = slist->next)
- str_array[i--] = slist->data;
-
- g_slist_free (string_list);
-
- return str_array;
-}
-
-gchar *
-e_strstrcase (const gchar *haystack, const gchar *needle)
-{
- /* find the needle in the haystack neglecting case */
- const gchar *ptr;
- guint len;
-
- g_return_val_if_fail (haystack != NULL, NULL);
- g_return_val_if_fail (needle != NULL, NULL);
-
- len = strlen(needle);
- if (len > strlen(haystack))
- return NULL;
-
- if (len == 0)
- return (gchar *) haystack;
-
- for (ptr = haystack; *(ptr + len - 1) != '\0'; ptr++)
- if (!g_strncasecmp (ptr, needle, len))
- return (gchar *) ptr;
-
- return NULL;
-}
-
-/* This only makes a filename safe for usage as a filename. It still may have shell meta-characters in it. */
-void
-e_filename_make_safe (gchar *string)
-{
- gchar *p, *ts;
- gunichar c;
-
- g_return_if_fail (string != NULL);
- p = string;
-
- while(p && *p) {
- c = g_utf8_get_char (p);
- ts = p;
- p = g_utf8_next_char (p);
- if (!g_unichar_isprint(c) || ( c < 0xff && strchr (" /'\"`&();|<>$%{}!", c&0xff ))) {
- while (ts<p)
- *ts++ = '_';
- }
- }
-}
-
-static gint
-epow10 (gint number) {
- gint value;
-
- for (value = 1; number > 0; number --) {
- value *= 10;
- }
- return value;
-}
-
-gchar *
-e_format_number (gint number)
-{
- GList *iterator, *list = NULL;
- struct lconv *locality;
- gint char_length = 0;
- gint group_count = 0;
- guchar *grouping;
- int last_count = 3;
- int divider;
- char *value;
- char *value_iterator;
-
- locality = localeconv();
- grouping = locality->grouping;
- while (number) {
- char *group;
- switch (*grouping) {
- default:
- last_count = *grouping;
- grouping++;
- case 0:
- divider = epow10(last_count);
- if (number >= divider) {
- group = g_strdup_printf("%0*d", last_count, number % divider);
- } else {
- group = g_strdup_printf("%d", number % divider);
- }
- number /= divider;
- break;
- case CHAR_MAX:
- group = g_strdup_printf("%d", number);
- number = 0;
- break;
- }
- char_length += strlen(group);
- list = g_list_prepend(list, group);
- group_count ++;
- }
-
- if (list) {
- value = g_new(char, 1 + char_length + (group_count - 1) * strlen(locality->thousands_sep));
-
- iterator = list;
- value_iterator = value;
-
- strcpy(value_iterator, iterator->data);
- value_iterator += strlen(iterator->data);
- for (iterator = iterator->next; iterator; iterator = iterator->next) {
- strcpy(value_iterator, locality->thousands_sep);
- value_iterator += strlen(locality->thousands_sep);
-
- strcpy(value_iterator, iterator->data);
- value_iterator += strlen(iterator->data);
- }
- e_free_string_list (list);
- return value;
- } else {
- return g_strdup("0");
- }
-}
-
-static gchar *
-do_format_number_as_float (double number)
-{
- GList *iterator, *list = NULL;
- struct lconv *locality;
- gint char_length = 0;
- gint group_count = 0;
- guchar *grouping;
- int last_count = 3;
- int divider;
- char *value;
- char *value_iterator;
- double fractional;
-
- locality = localeconv();
- grouping = locality->grouping;
- while (number >= 1.0) {
- char *group;
- switch (*grouping) {
- default:
- last_count = *grouping;
- grouping++;
- /* Fall through */
- case 0:
- divider = epow10(last_count);
- number /= divider;
- fractional = modf (number, &number);
- fractional *= divider;
- fractional = floor (fractional);
-
- if (number >= 1.0) {
- group = g_strdup_printf("%0*d", last_count, (int) fractional);
- } else {
- group = g_strdup_printf("%d", (int) fractional);
- }
- break;
- case CHAR_MAX:
- divider = epow10(last_count);
- number /= divider;
- fractional = modf (number, &number);
- fractional *= divider;
- fractional = floor (fractional);
-
- while (number >= 1.0) {
- group = g_strdup_printf("%0*d", last_count, (int) fractional);
-
- char_length += strlen(group);
- list = g_list_prepend(list, group);
- group_count ++;
-
- divider = epow10(last_count);
- number /= divider;
- fractional = modf (number, &number);
- fractional *= divider;
- fractional = floor (fractional);
- }
-
- group = g_strdup_printf("%d", (int) fractional);
- break;
- }
- char_length += strlen(group);
- list = g_list_prepend(list, group);
- group_count ++;
- }
-
- if (list) {
- value = g_new(char, 1 + char_length + (group_count - 1) * strlen(locality->thousands_sep));
-
- iterator = list;
- value_iterator = value;
-
- strcpy(value_iterator, iterator->data);
- value_iterator += strlen(iterator->data);
- for (iterator = iterator->next; iterator; iterator = iterator->next) {
- strcpy(value_iterator, locality->thousands_sep);
- value_iterator += strlen(locality->thousands_sep);
-
- strcpy(value_iterator, iterator->data);
- value_iterator += strlen(iterator->data);
- }
- e_free_string_list (list);
- return value;
- } else {
- return g_strdup("0");
- }
-}
-
-gchar *
-e_format_number_float (gfloat number)
-{
- gfloat int_part;
- gint fraction;
- struct lconv *locality;
- gchar *str_intpart;
- gchar *decimal_point;
- gchar *str_fraction;
- gchar *value;
-
- locality = localeconv();
-
- int_part = floor (number);
- str_intpart = do_format_number_as_float ((double) int_part);
-
- if (!strcmp(locality->mon_decimal_point, "")) {
- decimal_point = ".";
- }
- else {
- decimal_point = locality->mon_decimal_point;
- }
-
- fraction = (int) ((number - int_part) * 100);
-
- if (fraction == 0) {
- str_fraction = g_strdup ("00");
- } else {
- str_fraction = g_strdup_printf ("%02d", fraction);
- }
-
- value = g_strconcat (str_intpart, decimal_point, str_fraction, NULL);
-
- g_free (str_intpart);
- g_free (str_fraction);
-
- return value;
-}
-
-gboolean
-e_create_directory (gchar *directory)
-{
- gint ret_val = e_mkdir_hier (directory, 0777);
- if (ret_val == -1)
- return FALSE;
- else
- return TRUE;
-}
-
-
-/* Perform a binary search for key in base which has nmemb elements
- of size bytes each. The comparisons are done by (*compare)(). */
-void e_bsearch (const void *key,
- const void *base,
- size_t nmemb,
- size_t size,
- ESortCompareFunc compare,
- gpointer closure,
- size_t *start,
- size_t *end)
-{
- size_t l, u, idx;
- const void *p;
- int comparison;
- if (!(start || end))
- return;
-
- l = 0;
- u = nmemb;
- while (l < u) {
- idx = (l + u) / 2;
- p = (void *) (((const char *) base) + (idx * size));
- comparison = (*compare) (key, p, closure);
- if (comparison < 0)
- u = idx;
- else if (comparison > 0)
- l = idx + 1;
- else {
- size_t lsave, usave;
- lsave = l;
- usave = u;
- if (start) {
- while (l < u) {
- idx = (l + u) / 2;
- p = (void *) (((const char *) base) + (idx * size));
- comparison = (*compare) (key, p, closure);
- if (comparison <= 0)
- u = idx;
- else
- l = idx + 1;
- }
- *start = l;
-
- l = lsave;
- u = usave;
- }
- if (end) {
- while (l < u) {
- idx = (l + u) / 2;
- p = (void *) (((const char *) base) + (idx * size));
- comparison = (*compare) (key, p, closure);
- if (comparison < 0)
- u = idx;
- else
- l = idx + 1;
- }
- *end = l;
- }
- return;
- }
- }
-
- if (start)
- *start = l;
- if (end)
- *end = l;
-}
-
-static gpointer closure_closure;
-static ESortCompareFunc compare_closure;
-
-static int
-qsort_callback(const void *data1, const void *data2)
-{
- return (*compare_closure) (data1, data2, closure_closure);
-}
-
-/* Forget it. We're just going to use qsort. I lost the need for a stable sort. */
-void
-e_sort (void *base,
- size_t nmemb,
- size_t size,
- ESortCompareFunc compare,
- gpointer closure)
-{
- closure_closure = closure;
- compare_closure = compare;
- qsort(base, nmemb, size, qsort_callback);
-#if 0
- void *base_copy;
- int i;
- base_copy = g_malloc(nmemb * size);
-
- for (i = 0; i < nmemb; i++) {
- int position;
- e_bsearch(base + (i * size), base_copy, i, size, compare, closure, NULL, &position);
- memmove(base_copy + (position + 1) * size, base_copy + position * size, (i - position) * size);
- memcpy(base_copy + position * size, base + i * size, size);
- }
- memcpy(base, base_copy, nmemb * size);
- g_free(base_copy);
-#endif
-}
-
-size_t e_strftime(char *s, size_t max, const char *fmt, const struct tm *tm)
-{
-#ifdef HAVE_LKSTRFTIME
- return strftime(s, max, fmt, tm);
-#else
- char *c, *ffmt, *ff;
- size_t ret;
-
- ffmt = g_strdup(fmt);
- ff = ffmt;
- while ((c = strstr(ff, "%l")) != NULL) {
- c[1] = 'I';
- ff = c;
- }
-
- ff = fmt;
- while ((c = strstr(ff, "%k")) != NULL) {
- c[1] = 'H';
- ff = c;
- }
-
- ret = strftime(s, max, ffmt, tm);
- g_free(ffmt);
- return ret;
-#endif
-}
-
-size_t
-e_utf8_strftime(char *s, size_t max, const char *fmt, const struct tm *tm)
-{
- size_t sz, ret;
- char *locale_fmt, *buf;
-
- locale_fmt = g_locale_from_utf8(fmt, -1, NULL, &sz, NULL);
- if (!locale_fmt)
- return 0;
-
- ret = e_strftime(s, max, locale_fmt, tm);
- if (!ret) {
- g_free (locale_fmt);
- return 0;
- }
-
- buf = g_locale_to_utf8(s, ret, NULL, &sz, NULL);
- if (!buf) {
- g_free (locale_fmt);
- return 0;
- }
-
- if (sz >= max) {
- char *tmp = buf + max - 1;
- tmp = g_utf8_find_prev_char(buf, tmp);
- if (tmp)
- sz = tmp - buf;
- else
- sz = 0;
- }
- memcpy(s, buf, sz);
- s[sz] = '\0';
- g_free(locale_fmt);
- g_free(buf);
- return sz;
-}
-
-/**
- * Function to do a last minute fixup of the AM/PM stuff if the locale
- * and gettext haven't done it right. Most English speaking countries
- * except the USA use the 24 hour clock (UK, Australia etc). However
- * since they are English nobody bothers to write a language
- * translation (gettext) file. So the locale turns off the AM/PM, but
- * gettext does not turn on the 24 hour clock. Leaving a mess.
- *
- * This routine checks if AM/PM are defined in the locale, if not it
- * forces the use of the 24 hour clock.
- *
- * The function itself is a front end on strftime and takes exactly
- * the same arguments.
- *
- * TODO: Actually remove the '%p' from the fixed up string so that
- * there isn't a stray space.
- **/
-
-size_t e_strftime_fix_am_pm(char *s, size_t max, const char *fmt, const struct tm *tm)
-{
- char buf[10];
- char *sp;
- char *ffmt;
- size_t ret;
-
- if (strstr(fmt, "%p")==NULL && strstr(fmt, "%P")==NULL) {
- /* No AM/PM involved - can use the fmt string directly */
- ret=e_strftime(s, max, fmt, tm);
- } else {
- /* Get the AM/PM symbol from the locale */
- e_strftime (buf, 10, "%p", tm);
-
- if (buf[0]) {
- /**
- * AM/PM have been defined in the locale
- * so we can use the fmt string directly
- **/
- ret=e_strftime(s, max, fmt, tm);
- } else {
- /**
- * No AM/PM defined by locale
- * must change to 24 hour clock
- **/
- ffmt=g_strdup(fmt);
- for (sp=ffmt; (sp=strstr(sp, "%l")); sp++) {
- /**
- * Maybe this should be 'k', but I have never
- * seen a 24 clock actually use that format
- **/
- sp[1]='H';
- }
- for (sp=ffmt; (sp=strstr(sp, "%I")); sp++) {
- sp[1]='H';
- }
- ret=e_strftime(s, max, ffmt, tm);
- g_free(ffmt);
- }
- }
- return(ret);
-}
-
-size_t
-e_utf8_strftime_fix_am_pm(char *s, size_t max, const char *fmt, const struct tm *tm)
-{
- size_t sz, ret;
- char *locale_fmt, *buf;
-
- locale_fmt = g_locale_from_utf8(fmt, -1, NULL, &sz, NULL);
- if (!locale_fmt)
- return 0;
-
- ret = e_strftime_fix_am_pm(s, max, locale_fmt, tm);
- if (!ret) {
- g_free (locale_fmt);
- return 0;
- }
-
- buf = g_locale_to_utf8(s, ret, NULL, &sz, NULL);
- if (!buf) {
- g_free (locale_fmt);
- return 0;
- }
-
- if (sz >= max) {
- char *tmp = buf + max - 1;
- tmp = g_utf8_find_prev_char(buf, tmp);
- if (tmp)
- sz = tmp - buf;
- else
- sz = 0;
- }
- memcpy(s, buf, sz);
- s[sz] = '\0';
- g_free(locale_fmt);
- g_free(buf);
- return sz;
-}
-
-/**
- * e_flexible_strtod:
- * @nptr: the string to convert to a numeric value.
- * @endptr: if non-NULL, it returns the character after
- * the last character used in the conversion.
- *
- * Converts a string to a gdouble value. This function detects
- * strings either in the standard C locale or in the current locale.
- *
- * This function is typically used when reading configuration files or
- * other non-user input that should not be locale dependent, but may
- * have been in the past. To handle input from the user you should
- * normally use the locale-sensitive system strtod function.
- *
- * To convert from a double to a string in a locale-insensitive way, use
- * @g_ascii_dtostr.
- *
- * Return value: the gdouble value.
- **/
-gdouble
-e_flexible_strtod (const gchar *nptr,
- gchar **endptr)
-{
- gchar *fail_pos;
- gdouble val;
- struct lconv *locale_data;
- const char *decimal_point;
- int decimal_point_len;
- const char *p, *decimal_point_pos;
- const char *end = NULL; /* Silence gcc */
- char *copy, *c;
-
- g_return_val_if_fail (nptr != NULL, 0);
-
- fail_pos = NULL;
-
- locale_data = localeconv ();
- decimal_point = locale_data->decimal_point;
- decimal_point_len = strlen (decimal_point);
-
- g_assert (decimal_point_len != 0);
-
- decimal_point_pos = NULL;
- if (!strcmp (decimal_point, "."))
- return strtod (nptr, endptr);
-
- p = nptr;
-
- /* Skip leading space */
- while (isspace ((guchar)*p))
- p++;
-
- /* Skip leading optional sign */
- if (*p == '+' || *p == '-')
- p++;
-
- if (p[0] == '0' &&
- (p[1] == 'x' || p[1] == 'X')) {
- p += 2;
- /* HEX - find the (optional) decimal point */
-
- while (isxdigit ((guchar)*p))
- p++;
-
- if (*p == '.') {
- decimal_point_pos = p++;
-
- while (isxdigit ((guchar)*p))
- p++;
-
- if (*p == 'p' || *p == 'P')
- p++;
- if (*p == '+' || *p == '-')
- p++;
- while (isdigit ((guchar)*p))
- p++;
- end = p;
- } else if (strncmp (p, decimal_point, decimal_point_len) == 0) {
- return strtod (nptr, endptr);
- }
- } else {
- while (isdigit ((guchar)*p))
- p++;
-
- if (*p == '.') {
- decimal_point_pos = p++;
-
- while (isdigit ((guchar)*p))
- p++;
-
- if (*p == 'e' || *p == 'E')
- p++;
- if (*p == '+' || *p == '-')
- p++;
- while (isdigit ((guchar)*p))
- p++;
- end = p;
- } else if (strncmp (p, decimal_point, decimal_point_len) == 0) {
- return strtod (nptr, endptr);
- }
- }
- /* For the other cases, we need not convert the decimal point */
-
- if (!decimal_point_pos)
- return strtod (nptr, endptr);
-
- /* We need to convert the '.' to the locale specific decimal point */
- copy = g_malloc (end - nptr + 1 + decimal_point_len);
-
- c = copy;
- memcpy (c, nptr, decimal_point_pos - nptr);
- c += decimal_point_pos - nptr;
- memcpy (c, decimal_point, decimal_point_len);
- c += decimal_point_len;
- memcpy (c, decimal_point_pos + 1, end - (decimal_point_pos + 1));
- c += end - (decimal_point_pos + 1);
- *c = 0;
-
- val = strtod (copy, &fail_pos);
-
- if (fail_pos) {
- if (fail_pos > decimal_point_pos)
- fail_pos = (char *)nptr + (fail_pos - copy) - (decimal_point_len - 1);
- else
- fail_pos = (char *)nptr + (fail_pos - copy);
- }
-
- g_free (copy);
-
- if (endptr)
- *endptr = fail_pos;
-
- return val;
-}
-
-/**
- * e_ascii_dtostr:
- * @buffer: A buffer to place the resulting string in
- * @buf_len: The length of the buffer.
- * @format: The printf-style format to use for the
- * code to use for converting.
- * @d: The double to convert
- *
- * Converts a double to a string, using the '.' as
- * decimal_point. To format the number you pass in
- * a printf-style formating string. Allowed conversion
- * specifiers are eEfFgG.
- *
- * If you want to generates enough precision that converting
- * the string back using @g_strtod gives the same machine-number
- * (on machines with IEEE compatible 64bit doubles) use the format
- * string "%.17g". If you do this it is guaranteed that the size
- * of the resulting string will never be larger than
- * @G_ASCII_DTOSTR_BUF_SIZE bytes.
- *
- * Return value: The pointer to the buffer with the converted string.
- **/
-gchar *
-e_ascii_dtostr (gchar *buffer,
- gint buf_len,
- const gchar *format,
- gdouble d)
-{
- struct lconv *locale_data;
- const char *decimal_point;
- int decimal_point_len;
- gchar *p;
- int rest_len;
- gchar format_char;
-
- g_return_val_if_fail (buffer != NULL, NULL);
- g_return_val_if_fail (format[0] == '%', NULL);
- g_return_val_if_fail (strpbrk (format + 1, "'l%") == NULL, NULL);
-
- format_char = format[strlen (format) - 1];
-
- g_return_val_if_fail (format_char == 'e' || format_char == 'E' ||
- format_char == 'f' || format_char == 'F' ||
- format_char == 'g' || format_char == 'G',
- NULL);
-
- if (format[0] != '%')
- return NULL;
-
- if (strpbrk (format + 1, "'l%"))
- return NULL;
-
- if (!(format_char == 'e' || format_char == 'E' ||
- format_char == 'f' || format_char == 'F' ||
- format_char == 'g' || format_char == 'G'))
- return NULL;
-
-
- g_snprintf (buffer, buf_len, format, d);
-
- locale_data = localeconv ();
- decimal_point = locale_data->decimal_point;
- decimal_point_len = strlen (decimal_point);
-
- g_assert (decimal_point_len != 0);
-
- if (strcmp (decimal_point, ".")) {
- p = buffer;
-
- if (*p == '+' || *p == '-')
- p++;
-
- while (isdigit ((guchar)*p))
- p++;
-
- if (strncmp (p, decimal_point, decimal_point_len) == 0) {
- *p = '.';
- p++;
- if (decimal_point_len > 1) {
- rest_len = strlen (p + (decimal_point_len-1));
- memmove (p, p + (decimal_point_len-1),
- rest_len);
- p[rest_len] = 0;
- }
- }
- }
-
- return buffer;
-}
-
-gchar *
-e_strdup_append_strings (gchar *first_string, ...)
-{
- gchar *buffer;
- gchar *current;
- gint length;
- va_list args1;
- va_list args2;
- char *v_string;
- int v_int;
-
- va_start (args1, first_string);
- G_VA_COPY (args2, args1);
-
- length = 0;
-
- v_string = first_string;
- while (v_string) {
- v_int = va_arg (args1, int);
- if (v_int >= 0)
- length += v_int;
- else
- length += strlen (v_string);
- v_string = va_arg (args1, char *);
- }
-
- buffer = g_new (char, length + 1);
- current = buffer;
-
- v_string = first_string;
- while (v_string) {
- v_int = va_arg (args2, int);
- if (v_int < 0) {
- int i;
- for (i = 0; v_string[i]; i++) {
- *(current++) = v_string[i];
- }
- } else {
- int i;
- for (i = 0; v_string[i] && i < v_int; i++) {
- *(current++) = v_string[i];
- }
- }
- v_string = va_arg (args2, char *);
- }
- *(current++) = 0;
-
- va_end (args1);
- va_end (args2);
-
- return buffer;
-}
-
-gchar **
-e_strdupv (const gchar **str_array)
-{
- if (str_array) {
- gint i;
- gchar **retval;
-
- i = 0;
- while (str_array[i])
- i++;
-
- retval = g_new (gchar*, i + 1);
-
- i = 0;
- while (str_array[i]) {
- retval[i] = g_strdup (str_array[i]);
- i++;
- }
- retval[i] = NULL;
-
- return retval;
- } else {
- return NULL;
- }
-}
-
-char *
-e_gettext (const char *msgid)
-{
- static gboolean initialized = FALSE;
-
- if (!initialized) {
- bindtextdomain (E_I18N_DOMAIN, GNOMELOCALEDIR);
- bind_textdomain_codeset (E_I18N_DOMAIN, "UTF-8");
- initialized = TRUE;
- }
-
- return dgettext (E_I18N_DOMAIN, msgid);
-}
-
diff --git a/e-util/e-util.h b/e-util/e-util.h
deleted file mode 100644
index d9d51967d1..0000000000
--- a/e-util/e-util.h
+++ /dev/null
@@ -1,231 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-util.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_UTIL_H_
-#define _E_UTIL_H_
-
-#include <sys/types.h>
-#include <glib-object.h>
-#include <limits.h>
-
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
-
-#include <gal/util/e-marshal.h>
-
-#define E_MAKE_TYPE(l,str,t,ci,i,parent) \
-GType l##_get_type(void)\
-{\
- static GType type = 0; \
- if (!type){ \
- static GTypeInfo const object_info = { \
- sizeof (t##Class), \
- \
- (GBaseInitFunc) NULL, \
- (GBaseFinalizeFunc) NULL, \
- \
- (GClassInitFunc) ci, \
- (GClassFinalizeFunc) NULL, \
- NULL, /* class_data */ \
- \
- sizeof (t), \
- 0, /* n_preallocs */ \
- (GInstanceInitFunc) i, \
- }; \
- type = g_type_register_static (parent, str, &object_info, 0); \
- } \
- return type; \
-}
-
-
-#define E_MAKE_X_TYPE(l,str,t,ci,i,parent,poa_init,offset) \
-GtkType l##_get_type(void) \
-{ \
- static GtkType type = 0; \
- if (!type){ \
- GTypeInfo info = { \
- sizeof (t##Class), \
- \
- (GBaseInitFunc) NULL, \
- (GBaseFinalizeFunc) NULL, \
- \
- (GClassInitFunc) ci, \
- (GClassFinalizeFunc) NULL, \
- \
- NULL, /* class_data */ \
- \
- sizeof (t), \
- 0, /* n_preallocs */ \
- (GInstanceInitFunc) i, \
- }; \
- type = bonobo_x_type_unique ( \
- parent, poa_init, NULL, \
- offset, &info, str); \
- } \
- return type; \
-}
-
-#define GET_STRING_ARRAY_FROM_ELLIPSIS(labels, first_string) \
- { \
- va_list args; \
- int i; \
- char *s; \
- \
- va_start (args, (first_string)); \
- \
- i = 0; \
- for (s = (first_string); s; s = va_arg (args, char *)) \
- i++; \
- va_end (args); \
- \
- (labels) = g_new (char *, i + 1); \
- \
- va_start (args, (first_string)); \
- i = 0; \
- for (s = (first_string); s; s = va_arg (args, char *)) \
- (labels)[i++] = s; \
- \
- va_end (args); \
- (labels)[i] = NULL; \
- }
-
-
-#define GET_DUPLICATED_STRING_ARRAY_FROM_ELLIPSIS(labels, first_string) \
- { \
- int i; \
- GET_STRING_ARRAY_FROM_ELLIPSIS ((labels), (first_string)); \
- for (i = 0; labels[i]; i++) \
- labels[i] = g_strdup (labels[i]); \
- }
-
-
-#if 0
-# define E_OBJECT_CLASS_ADD_SIGNALS(oc,sigs,last) \
- gtk_object_class_add_signals (oc, sigs, last)
-# define E_OBJECT_CLASS_TYPE(oc) (oc)->type
-#else
-# define E_OBJECT_CLASS_ADD_SIGNALS(oc,sigs,last)
-# define E_OBJECT_CLASS_TYPE(oc) G_TYPE_FROM_CLASS (oc)
-#endif
-
-
-typedef enum {
- E_FOCUS_NONE,
- E_FOCUS_CURRENT,
- E_FOCUS_START,
- E_FOCUS_END
-} EFocus;
-int g_str_compare (const void *x,
- const void *y);
-int g_collate_compare (const void *x,
- const void *y);
-int g_int_compare (const void *x,
- const void *y);
-char *e_strdup_strip (const char *string);
-void e_free_object_list (GList *list);
-void e_free_object_slist (GSList *list);
-void e_free_string_list (GList *list);
-void e_free_string_slist (GSList *list);
-char *e_read_file (const char *filename);
-int e_write_file (const char *filename,
- const char *data,
- int flags);
-int e_write_file_mkstemp (char *filename,
- const char *data);
-int e_mkdir_hier (const char *path,
- mode_t mode);
-
-gchar **e_strsplit (const gchar *string,
- const gchar *delimiter,
- gint max_tokens);
-gchar *e_strstrcase (const gchar *haystack,
- const gchar *needle);
-/* This only makes a filename safe for usage as a filename. It still may have shell meta-characters in it. */
-void e_filename_make_safe (gchar *string);
-gchar *e_format_number (gint number);
-gchar *e_format_number_float (gfloat number);
-gboolean e_create_directory (gchar *directory);
-gchar **e_strdupv (const gchar **str_array);
-
-
-typedef int (*ESortCompareFunc) (const void *first,
- const void *second,
- gpointer closure);
-void e_sort (void *base,
- size_t nmemb,
- size_t size,
- ESortCompareFunc compare,
- gpointer closure);
-void e_bsearch (const void *key,
- const void *base,
- size_t nmemb,
- size_t size,
- ESortCompareFunc compare,
- gpointer closure,
- size_t *start,
- size_t *end);
-size_t e_strftime_fix_am_pm (char *s,
- size_t max,
- const char *fmt,
- const struct tm *tm);
-
-size_t e_strftime (char *s,
- size_t max,
- const char *fmt,
- const struct tm *tm);
-
-size_t e_utf8_strftime_fix_am_pm (char *s,
- size_t max,
- const char *fmt,
- const struct tm *tm);
-
-size_t e_utf8_strftime (char *s,
- size_t max,
- const char *fmt,
- const struct tm *tm);
-
-/* String to/from double conversion functions */
-gdouble e_flexible_strtod (const gchar *nptr,
- gchar **endptr);
-
-/* 29 bytes should enough for all possible values that
- * g_ascii_dtostr can produce with the %.17g format.
- * Then add 10 for good measure */
-#define E_ASCII_DTOSTR_BUF_SIZE (DBL_DIG + 12 + 10)
-gchar *e_ascii_dtostr (gchar *buffer,
- gint buf_len,
- const gchar *format,
- gdouble d);
-
-/* Alternating char * and int arguments with a NULL char * to end.
- Less than 0 for the int means copy the whole string. */
-gchar *e_strdup_append_strings (gchar *first_string,
- ...);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* _E_UTIL_H_ */
diff --git a/e-util/e-xml-utils.c b/e-util/e-xml-utils.c
deleted file mode 100644
index 437934be65..0000000000
--- a/e-util/e-xml-utils.c
+++ /dev/null
@@ -1,502 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-xml-utils.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "e-xml-utils.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <locale.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <math.h>
-#include <string.h>
-#include <libxml/parser.h>
-#include <libxml/xmlmemory.h>
-
-#include "gal/util/e-i18n.h"
-#include "gal/util/e-util.h"
-
-xmlNode *
-e_xml_get_child_by_name (const xmlNode *parent, const xmlChar *child_name)
-{
- xmlNode *child;
-
- g_return_val_if_fail (parent != NULL, NULL);
- g_return_val_if_fail (child_name != NULL, NULL);
-
- for (child = parent->xmlChildrenNode; child != NULL; child = child->next) {
- if (xmlStrcmp (child->name, child_name) == 0) {
- return child;
- }
- }
- return NULL;
-}
-
-/* Returns the first child with the name child_name and the "lang"
- * attribute that matches the current LC_MESSAGES, or else, the first
- * child with the name child_name and no "lang" attribute.
- */
-xmlNode *
-e_xml_get_child_by_name_by_lang (const xmlNode *parent,
- const xmlChar *child_name,
- const gchar *lang)
-{
- xmlNode *child;
- /* This is the default version of the string. */
- xmlNode *C = NULL;
-
- g_return_val_if_fail (parent != NULL, NULL);
- g_return_val_if_fail (child_name != NULL, NULL);
-
- if (lang == NULL) {
-#ifdef HAVE_LC_MESSAGES
- lang = setlocale (LC_MESSAGES, NULL);
-#else
- lang = setlocale (LC_CTYPE, NULL);
-#endif
- }
- for (child = parent->xmlChildrenNode; child != NULL; child = child->next) {
- if (xmlStrcmp (child->name, child_name) == 0) {
- xmlChar *this_lang = xmlGetProp (child, "lang");
- if (this_lang == NULL) {
- C = child;
- } else if (xmlStrcmp(this_lang, "lang") == 0) {
- return child;
- }
- }
- }
- return C;
-}
-
-static xmlNode *
-e_xml_get_child_by_name_by_lang_list_with_score (const xmlNode *parent,
- const gchar *name,
- const GList *lang_list,
- gint *best_lang_score)
-{
- xmlNodePtr best_node = NULL, node;
-
- for (node = parent->xmlChildrenNode; node != NULL; node = node->next) {
- xmlChar *lang;
-
- if (node->name == NULL || strcmp (node->name, name) != 0) {
- continue;
- }
- lang = xmlGetProp (node, "xml:lang");
- if (lang != NULL) {
- const GList *l;
- gint i;
-
- for (l = lang_list, i = 0;
- l != NULL && i < *best_lang_score;
- l = l->next, i++) {
- if (strcmp ((gchar *) l->data, lang) == 0) {
- best_node = node;
- *best_lang_score = i;
- }
- }
- } else {
- if (best_node == NULL) {
- best_node = node;
- }
- }
- xmlFree (lang);
- if (*best_lang_score == 0) {
- return best_node;
- }
- }
-
- return best_node;
-}
-
-/*
- * e_xml_get_child_by_name_by_lang_list:
- *
- */
-xmlNode *
-e_xml_get_child_by_name_by_lang_list (const xmlNode *parent,
- const gchar *name,
- const GList *lang_list)
-{
- gint best_lang_score = INT_MAX;
-
- g_return_val_if_fail (parent != NULL, NULL);
- g_return_val_if_fail (name != NULL, NULL);
-
- if (lang_list == NULL) {
- lang_list = gnome_i18n_get_language_list ("LC_MESSAGES");
- }
- return e_xml_get_child_by_name_by_lang_list_with_score
- (parent,name,
- lang_list,
- &best_lang_score);
-}
-
-/*
- * e_xml_get_child_by_name_no_lang
- *
- */
-xmlNode *
-e_xml_get_child_by_name_no_lang (const xmlNode *parent, const gchar *name)
-{
- xmlNodePtr node;
-
- g_return_val_if_fail (parent != NULL, NULL);
- g_return_val_if_fail (name != NULL, NULL);
-
- for (node = parent->xmlChildrenNode; node != NULL; node = node->next) {
- xmlChar *lang;
-
- if (node->name == NULL || strcmp (node->name, name) != 0) {
- continue;
- }
- lang = xmlGetProp (node, "xml:lang");
- if (lang == NULL) {
- return node;
- }
- xmlFree (lang);
- }
-
- return NULL;
-}
-
-gint
-e_xml_get_integer_prop_by_name (const xmlNode *parent, const xmlChar *prop_name)
-{
- g_return_val_if_fail (parent != NULL, 0);
- g_return_val_if_fail (prop_name != NULL, 0);
-
- return e_xml_get_integer_prop_by_name_with_default (parent, prop_name, 0);
-}
-
-gint
-e_xml_get_integer_prop_by_name_with_default (const xmlNode *parent,
- const xmlChar *prop_name,
- gint def)
-{
- xmlChar *prop;
- gint ret_val = def;
-
- g_return_val_if_fail (parent != NULL, 0);
- g_return_val_if_fail (prop_name != NULL, 0);
-
- prop = xmlGetProp ((xmlNode *) parent, prop_name);
- if (prop != NULL) {
- (void) sscanf (prop, "%d", &ret_val);
- xmlFree (prop);
- }
- return ret_val;
-}
-
-void
-e_xml_set_integer_prop_by_name (xmlNode *parent,
- const xmlChar *prop_name,
- gint value)
-{
- gchar *valuestr;
-
- g_return_if_fail (parent != NULL);
- g_return_if_fail (prop_name != NULL);
-
- valuestr = g_strdup_printf ("%d", value);
- xmlSetProp (parent, prop_name, valuestr);
- g_free (valuestr);
-}
-
-guint
-e_xml_get_uint_prop_by_name (const xmlNode *parent, const xmlChar *prop_name)
-{
- g_return_val_if_fail (parent != NULL, 0);
- g_return_val_if_fail (prop_name != NULL, 0);
-
- return e_xml_get_uint_prop_by_name_with_default (parent, prop_name, 0);
-}
-
-guint
-e_xml_get_uint_prop_by_name_with_default (const xmlNode *parent,
- const xmlChar *prop_name,
- guint def)
-{
- xmlChar *prop;
- guint ret_val = def;
-
- g_return_val_if_fail (parent != NULL, 0);
- g_return_val_if_fail (prop_name != NULL, 0);
-
- prop = xmlGetProp ((xmlNode *) parent, prop_name);
- if (prop != NULL) {
- (void) sscanf (prop, "%u", &ret_val);
- xmlFree (prop);
- }
- return ret_val;
-}
-
-void
-e_xml_set_uint_prop_by_name (xmlNode *parent,
- const xmlChar *prop_name,
- guint value)
-{
- gchar *valuestr;
-
- g_return_if_fail (parent != NULL);
- g_return_if_fail (prop_name != NULL);
-
- valuestr = g_strdup_printf ("%u", value);
- xmlSetProp (parent, prop_name, valuestr);
- g_free (valuestr);
-}
-
-gboolean
-e_xml_get_bool_prop_by_name (const xmlNode *parent,
- const xmlChar *prop_name)
-{
- g_return_val_if_fail (parent != NULL, 0);
- g_return_val_if_fail (prop_name != NULL, 0);
-
- return e_xml_get_bool_prop_by_name_with_default (parent,
- prop_name,
- FALSE);
-}
-
-gboolean
-e_xml_get_bool_prop_by_name_with_default(const xmlNode *parent,
- const xmlChar *prop_name,
- gboolean def)
-{
- xmlChar *prop;
- gboolean ret_val = def;
-
- g_return_val_if_fail (parent != NULL, 0);
- g_return_val_if_fail (prop_name != NULL, 0);
-
- prop = xmlGetProp ((xmlNode *) parent, prop_name);
- if (prop != NULL) {
- if (g_strcasecmp (prop, "true") == 0) {
- ret_val = TRUE;
- } else if (g_strcasecmp (prop, "false") == 0) {
- ret_val = FALSE;
- }
- xmlFree(prop);
- }
- return ret_val;
-}
-
-void
-e_xml_set_bool_prop_by_name (xmlNode *parent, const xmlChar *prop_name, gboolean value)
-{
- g_return_if_fail (parent != NULL);
- g_return_if_fail (prop_name != NULL);
-
- if (value) {
- xmlSetProp (parent, prop_name, "true");
- } else {
- xmlSetProp (parent, prop_name, "false");
- }
-}
-
-gdouble
-e_xml_get_double_prop_by_name (const xmlNode *parent, const xmlChar *prop_name)
-{
- g_return_val_if_fail (parent != NULL, 0);
- g_return_val_if_fail (prop_name != NULL, 0);
-
- return e_xml_get_double_prop_by_name_with_default (parent, prop_name, 0.0);
-}
-
-gdouble
-e_xml_get_double_prop_by_name_with_default (const xmlNode *parent, const xmlChar *prop_name, gdouble def)
-{
- xmlChar *prop;
- gdouble ret_val = def;
-
- g_return_val_if_fail (parent != NULL, 0);
- g_return_val_if_fail (prop_name != NULL, 0);
-
- prop = xmlGetProp ((xmlNode *) parent, prop_name);
- if (prop != NULL) {
- ret_val = e_flexible_strtod (prop, NULL);
- xmlFree (prop);
- }
- return ret_val;
-}
-
-void
-e_xml_set_double_prop_by_name(xmlNode *parent, const xmlChar *prop_name, gdouble value)
-{
- char buffer[E_ASCII_DTOSTR_BUF_SIZE];
- char *format;
-
- g_return_if_fail (parent != NULL);
- g_return_if_fail (prop_name != NULL);
-
- if (fabs (value) < 1e9 && fabs (value) > 1e-5) {
- format = g_strdup_printf ("%%.%df", DBL_DIG);
- } else {
- format = g_strdup_printf ("%%.%dg", DBL_DIG);
- }
- e_ascii_dtostr (buffer, sizeof (buffer), format, value);
- g_free (format);
-
- xmlSetProp (parent, prop_name, buffer);
-}
-
-gchar *
-e_xml_get_string_prop_by_name (const xmlNode *parent, const xmlChar *prop_name)
-{
- g_return_val_if_fail (parent != NULL, 0);
- g_return_val_if_fail (prop_name != NULL, 0);
-
- return e_xml_get_string_prop_by_name_with_default (parent, prop_name, NULL);
-}
-
-gchar *
-e_xml_get_string_prop_by_name_with_default (const xmlNode *parent, const xmlChar *prop_name, const gchar *def)
-{
- xmlChar *prop;
- gchar *ret_val;
-
- g_return_val_if_fail (parent != NULL, 0);
- g_return_val_if_fail (prop_name != NULL, 0);
-
- prop = xmlGetProp ((xmlNode *) parent, prop_name);
- if (prop != NULL) {
- ret_val = g_strdup (prop);
- xmlFree (prop);
- } else {
- ret_val = g_strdup (def);
- }
- return ret_val;
-}
-
-void
-e_xml_set_string_prop_by_name (xmlNode *parent, const xmlChar *prop_name, const gchar *value)
-{
- g_return_if_fail (parent != NULL);
- g_return_if_fail (prop_name != NULL);
-
- if (value != NULL) {
- xmlSetProp (parent, prop_name, value);
- }
-}
-
-gchar *
-e_xml_get_translated_string_prop_by_name (const xmlNode *parent, const xmlChar *prop_name)
-{
- xmlChar *prop;
- gchar *ret_val = NULL;
- gchar *combined_name;
-
- g_return_val_if_fail (parent != NULL, 0);
- g_return_val_if_fail (prop_name != NULL, 0);
-
- prop = xmlGetProp ((xmlNode *) parent, prop_name);
- if (prop != NULL) {
- ret_val = g_strdup (prop);
- xmlFree (prop);
- return ret_val;
- }
-
- combined_name = g_strdup_printf("_%s", prop_name);
- prop = xmlGetProp ((xmlNode *) parent, combined_name);
- if (prop != NULL) {
- ret_val = g_strdup (gettext(prop));
- xmlFree (prop);
- }
- g_free(combined_name);
-
- return ret_val;
-}
-
-
-int
-e_xml_save_file (const char *filename, xmlDocPtr doc)
-{
- char *filesave, *slash, *xmlbuf;
- size_t n, written = 0;
- int ret, fd, size;
- int errnosave;
- ssize_t w;
-
- filesave = alloca (strlen (filename) + 5);
- slash = strrchr (filename, '/');
- if (slash)
- sprintf (filesave, "%.*s.#%s", slash - filename + 1, filename, slash + 1);
- else
- sprintf (filesave, ".#%s", filename);
-
- fd = open (filesave, O_WRONLY | O_CREAT | O_TRUNC, 0600);
- if (fd == -1)
- return -1;
-
- xmlDocDumpFormatMemory (doc, (xmlChar **) &xmlbuf, &size, TRUE);
- if (size <= 0) {
- close (fd);
- unlink (filesave);
- errno = ENOMEM;
- return -1;
- }
-
- n = (size_t) size;
- do {
- do {
- w = write (fd, xmlbuf + written, n - written);
- } while (w == -1 && errno == EINTR);
-
- if (w > 0)
- written += w;
- } while (w != -1 && written < n);
-
- xmlFree (xmlbuf);
-
- if (written < n || fsync (fd) == -1) {
- errnosave = errno;
- close (fd);
- unlink (filesave);
- errno = errnosave;
- return -1;
- }
-
- while ((ret = close (fd)) == -1 && errno == EINTR)
- ;
-
- if (ret == -1)
- return -1;
-
- if (rename (filesave, filename) == -1) {
- errnosave = errno;
- unlink (filesave);
- errno = errnosave;
- return -1;
- }
-
- return 0;
-}
diff --git a/e-util/e-xml-utils.h b/e-util/e-xml-utils.h
deleted file mode 100644
index 6c39ee6f79..0000000000
--- a/e-util/e-xml-utils.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-xml-utils.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef __E_XML_UTILS__
-#define __E_XML_UTILS__
-
-#include <glib.h>
-#include <libxml/tree.h>
-
-G_BEGIN_DECLS
-
-xmlNode *e_xml_get_child_by_name (const xmlNode *parent,
- const xmlChar *child_name);
-/* lang set to NULL means use the current locale. */
-xmlNode *e_xml_get_child_by_name_by_lang (const xmlNode *parent,
- const xmlChar *child_name,
- const gchar *lang);
-/* lang_list set to NULL means use the current locale. */
-xmlNode *e_xml_get_child_by_name_by_lang_list (const xmlNode *parent,
- const gchar *name,
- const GList *lang_list);
-xmlNode *e_xml_get_child_by_name_no_lang (const xmlNode *parent,
- const gchar *name);
-
-
-gint e_xml_get_integer_prop_by_name (const xmlNode *parent,
- const xmlChar *prop_name);
-gint e_xml_get_integer_prop_by_name_with_default (const xmlNode *parent,
- const xmlChar *prop_name,
- gint def);
-void e_xml_set_integer_prop_by_name (xmlNode *parent,
- const xmlChar *prop_name,
- gint value);
-
-
-guint e_xml_get_uint_prop_by_name (const xmlNode *parent,
- const xmlChar *prop_name);
-guint e_xml_get_uint_prop_by_name_with_default (const xmlNode *parent,
- const xmlChar *prop_name,
- guint def);
-void e_xml_set_uint_prop_by_name (xmlNode *parent,
- const xmlChar *prop_name,
- guint value);
-
-
-gboolean e_xml_get_bool_prop_by_name (const xmlNode *parent,
- const xmlChar *prop_name);
-gboolean e_xml_get_bool_prop_by_name_with_default (const xmlNode *parent,
- const xmlChar *prop_name,
- gboolean def);
-void e_xml_set_bool_prop_by_name (xmlNode *parent,
- const xmlChar *prop_name,
- gboolean value);
-
-gdouble e_xml_get_double_prop_by_name (const xmlNode *parent,
- const xmlChar *prop_name);
-gdouble e_xml_get_double_prop_by_name_with_default (const xmlNode *parent,
- const xmlChar *prop_name,
- gdouble def);
-void e_xml_set_double_prop_by_name ( xmlNode *parent,
- const xmlChar *prop_name,
- gdouble value);
-
-
-gchar *e_xml_get_string_prop_by_name (const xmlNode *parent,
- const xmlChar *prop_name);
-gchar *e_xml_get_string_prop_by_name_with_default (const xmlNode *parent,
- const xmlChar *prop_name,
- const gchar *def);
-void e_xml_set_string_prop_by_name (xmlNode *parent,
- const xmlChar *prop_name,
- const gchar *value);
-
-gchar *e_xml_get_translated_string_prop_by_name (const xmlNode *parent,
- const xmlChar *prop_name);
-
-int e_xml_save_file (const char *filename, xmlDocPtr doc);
-
-G_END_DECLS
-
-#endif /* __E_XML_UTILS__ */
diff --git a/help/devel/executive-summary/evolution-services.hierarchy b/help/devel/executive-summary/evolution-services.hierarchy
deleted file mode 100644
index 37559d819d..0000000000
--- a/help/devel/executive-summary/evolution-services.hierarchy
+++ /dev/null
@@ -1,7 +0,0 @@
-GtkObject
- BonoboObject
- ExecutiveSummaryComponent
- ExecutiveSummaryComponentFactory
- Handle to remote Bonobo::Unknown
- ExecutiveSummaryComponentFactoryClient
- ExecutiveSummaryHtmlView
diff --git a/help/devel/importer/evolution-shell-importer.hierarchy b/help/devel/importer/evolution-shell-importer.hierarchy
deleted file mode 100644
index c46ebdf782..0000000000
--- a/help/devel/importer/evolution-shell-importer.hierarchy
+++ /dev/null
@@ -1,7 +0,0 @@
-GtkObject
- BonoboObject
- BonoboXObject
- EvolutionImporter
- EvolutionImporterListener
- Handle to remote Bonobo::Unknown
- EvolutionImporterClient
diff --git a/mail/ChangeLog b/mail/ChangeLog
index fe454129dd..f5ac325af0 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,10 +1,3 @@
-2005-03-14 Not Zed <NotZed@Ximian.com>
-
- ** See bug #73550
-
- * em-format-hook.c (emfh_format_format): if we are disabled, don't
- invoke handler, try to invoke old handler if there was one.
-
2005-03-10 Not Zed <NotZed@Ximian.com>
** See bug #73293
diff --git a/po/ChangeLog b/po/ChangeLog
index cca8728298..a92da86f6c 100644
--- a/po/ChangeLog
+++ b/po/ChangeLog
@@ -1,28 +1,79 @@
-2005-03-15 Adam Weinberger <adamw@gnome.org>
+2005-03-15 Artur Flinta <aflinta@cvs.gnome.org>
- * en_CA.po: Updated Canadian English translation.
+ * pl.po: Updated Polish translation by GNOME PL Team.
+
+2005-03-15 Takeshi AIHANA <aihana@gnome.gr.jp>
+
+ * ja.po: Updated Japanese translation.
+
+2005-03-14 Martin Willemoes Hansen <mwh@sysrq.dk>
+
+ * da.po: Updated Danish translation.
-2005-03-15 Guilherme de S. Pastore <gpastore@cvs.gnome.org>
+2005-03-13 Christophe Merlet <redfox@redfoxcenter.org>
- * pt_BR.po: Fixed a grammar problem with the "Error while"
- message on the Brazilian Portuguese translation.
+ * fr.po: Updated French translation.
+
+2005-03-14 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation.
-2005-03-15 Stanislav Brabec <sbrabec@suse.cz>
+2005-03-13 David Lodge <dave@cirt.net>
- * cs.po: Fixed plural cases.
+ * en_GB.po: Updated British translation.
2005-03-11 Baris Cicek <baris@teamforce.name.tr>
* tr.po: Updated Turkish Translation
+2005-03-11 Miloslav Trmac <mitr@volny.cz>
+
+ * cs.po: Updated Czech translation.
+
+2005-03-11 Frank Arnold <farnold@cvs.gnome.org>
+
+ * de.po: Updated German translation.
+
2005-03-10 Martin Willemoes Hansen <mwh@sysrq.dk>
* da.po: Updated Danish translation.
+2005-03-10 Danilo Å egan <dsegan@gmx.net>
+
+ * sr.po, sr@Latn.po: Updated Serbian translation.
+
+2005-03-09 Francisco Javier F. Serrador <serrador@cvs.gnome.org>
+
+ * es.po: Updated Spanish translation.
+
2005-03-09 Raphael Higino <raphaelh@cvs.gnome.org>
* pt_BR.po: Updated Brazilian Portuguese translation.
+2005-03-09 Laurent Dhima <laurenti@alblinux.net>
+
+ * sq.po: Updated Albanian translation.
+
+2005-03-09 Hile Tuohela <hile@iki.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2005-03-09 Ankit Patel <ankit644@yahoo.com>
+
+ * gu.po: Updated Gujarati Translation.
+
+2005-03-09 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2005-03-08 Duarte Loreto <happyguy_pt@hotmail.com>
+
+ * pt.po: Updated Portuguese translation.
+
+2005-03-08 Adam Weinberger <adamw@gnome.org>
+
+ * en_CA.po: Updated Canadian English translation.
+
2005-03-07 Alexander Shopov <ash@contact.bg>
* bg.po: Updated Bulgarian translation by
@@ -32,22 +83,47 @@
* pt_BR.po: Updated Brazilian Portuguese translation.
-2005-03-04 Laszlo Dvornik <dvornik@gnome.hu>
+2005-03-05 Laszlo Dvornik <dvornik@gnome.hu>
* hu.po: Hungarian translation updated by Gabor Kelemen.
-2005-03-04 Ilkka Tuohela <hile@iki.fi>
+2005-03-05 Danilo Å egan <dsegan@gmx.net>
- * fi.po: Updated Finnish translation.
+ * sr.po, sr@Latn.po: Another update.
-2005-03-02 Laurent Dhima <laurenti@alblinux.net>
+2005-03-05 Danilo Å egan <dsegan@gmx.net>
+
+ * sr.po, sr@Latn.po: Updated Serbian translation by Igor
+ Nestorović.
+
+2005-03-05 Vincent van Adrighem <adrighem@gnome.org>
+
+ * nl.po: Translation updated by Tino Meinen.
+
+2005-03-04 Žygimantas BeruÄka <uid0@akl.lt>
+
+ * lt.po: Updated Lithuanian translation by Gintautas Miliauskas.
+
+2005-03-04 Laurent Dhima <laurenti@alblinux.net>
* sq.po: Updated Albanian translation.
-2005-03-01 Laurent Dhima <laurenti@alblinux.net>
+2005-03-04 Vincent van Adrighem <adrighem@gnome.org>
+
+ * nl.po: Translation updated by Tino Meinen.
+
+2005-03-02 Vincent van Adrighem <adrighem@gnome.org>
+
+ * nl.po: Translation updated by Tino Meinen.
+
+2005-03-02 Laurent Dhima <laurenti@alblinux.net>
* sq.po: Updated Albanian translation.
+2005-03-02 Takeshi AIHANA <aihana@jcom.home.ne.jp>
+
+ * ja.po: Updated Japanese translation.
+
2005-02-28 Marco Ciampa <ciampix@libero.it>
* it.po: Updated italian translation
diff --git a/po/bg.po b/po/bg.po
index 224bc2c06b..e81530d504 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: evolution 2.0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-03-07 18:22+0200\n"
+"POT-Creation-Date: 2005-03-07 17:45+0200\n"
"PO-Revision-Date: 2005-03-07 17:46+0200\n"
"Last-Translator: Iassen Pramatarov <turin@fsa-bg.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
@@ -655,7 +655,7 @@ msgstr "Опълномощаване"
#: ../addressbook/gui/component/addressbook-config.c:914
#: ../addressbook/gui/component/ldap-config.glade.h:18
-#: ../mail/mail-dialogs.glade.h:8 ../smime/gui/smime-ui.glade.h:19
+#: ../mail/mail-dialogs.glade.h:12 ../smime/gui/smime-ui.glade.h:19
msgid "Details"
msgstr "ПодробноÑти"
@@ -753,12 +753,12 @@ msgstr "Избиране на контакти"
msgid "Accessing LDAP Server anonymously"
msgstr "ДоÑтъп до LDAP Ñървъра анонимно"
-#: ../addressbook/gui/component/addressbook.c:194
+#: ../addressbook/gui/component/addressbook.c:193
#: ../plugins/groupwise-account-setup/camel-gw-listener.c:478
msgid "Failed to authenticate.\n"
msgstr "ÐеуÑпешно удоÑтоверÑване на идентичноÑтта.\n"
-#: ../addressbook/gui/component/addressbook.c:201
+#: ../addressbook/gui/component/addressbook.c:200
#: ../plugins/groupwise-account-setup/camel-gw-listener.c:461
#, c-format
msgid "Enter password for %s (user %s)"
@@ -828,7 +828,7 @@ msgstr "Показване на панела \"Предварителен пре
#: ../calendar/gui/dialogs/new-task-list.glade.h:1
#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:1
#: ../composer/e-msg-composer-attachment.glade.h:1
-#: ../mail/mail-dialogs.glade.h:2 ../mail/message-tags.glade.h:1
+#: ../mail/mail-dialogs.glade.h:6 ../mail/message-tags.glade.h:1
#: ../plugins/shared-folder/properties.glade.h:1
#: ../widgets/e-timezone-dialog/e-timezone-dialog.glade.h:1
msgid "*"
@@ -1089,7 +1089,7 @@ msgstr "карти"
#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:12
#: ../calendar/gui/dialogs/alarm-dialog.glade.h:26
#: ../calendar/gui/dialogs/calendar-setup.glade.h:14
-#: ../filter/filter.glade.h:16 ../mail/em-account-editor.c:1882
+#: ../filter/filter.glade.h:16 ../mail/em-account-editor.c:1885
#: ../plugins/calendar-http/calendar-http.c:263
#: ../plugins/calendar-weather/calendar-weather.c:564
msgid "minutes"
@@ -4946,7 +4946,7 @@ msgstr "%.0fG"
#: ../calendar/gui/dialogs/cal-attachment-bar.c:298
#: ../calendar/gui/dialogs/cal-attachment-bar.c:922
-#: ../composer/e-msg-composer-attachment-bar.c:295 ../mail/em-utils.c:438
+#: ../composer/e-msg-composer-attachment-bar.c:295 ../mail/em-utils.c:436
msgid "attachment"
msgstr "прикрепено"
@@ -5816,8 +5816,8 @@ msgstr "_Ðачало:"
#: ../calendar/gui/dialogs/meeting-page.glade.h:5
#: ../calendar/gui/e-cal-model-tasks.c:652
#: ../calendar/gui/e-itip-control.c:1104 ../composer/e-msg-composer.c:2117
-#: ../filter/filter-rule.c:878 ../mail/em-account-editor.c:683
-#: ../mail/em-account-editor.c:1288 ../mail/em-account-prefs.c:437
+#: ../filter/filter-rule.c:878 ../mail/em-account-editor.c:685
+#: ../mail/em-account-editor.c:1291 ../mail/em-account-prefs.c:437
#: ../mail/em-folder-view.c:993
#: ../plugins/calendar-weather/calendar-weather.c:371
#: ../plugins/calendar-weather/calendar-weather.c:425
@@ -5957,32 +5957,32 @@ msgstr "Група ÑпиÑъци ÑÑŠÑ Ð·Ð°Ð´Ð°Ñ‡Ð¸"
msgid "Task List Name"
msgstr "Име на ÑпиÑък ÑÑŠÑ Ð·Ð°Ð´Ð°Ñ‡Ð¸"
-#: ../calendar/gui/dialogs/recur-comp.c:52
+#: ../calendar/gui/dialogs/recur-comp.c:51
msgid "You are modifying a recurring event, what would you like to modify?"
msgstr "ПроменÑте повтарÑщо Ñе Ñъбитие, какво иÑкате да промените?"
-#: ../calendar/gui/dialogs/recur-comp.c:56
+#: ../calendar/gui/dialogs/recur-comp.c:55
msgid "You are modifying a recurring task, what would you like to modify?"
msgstr "ПроменÑте повтарÑща Ñе задача, какво иÑкате да промените?"
-#: ../calendar/gui/dialogs/recur-comp.c:60
+#: ../calendar/gui/dialogs/recur-comp.c:59
msgid ""
"You are modifying a recurring journal entry, what would you like to modify?"
msgstr "ПроменÑте повтарÑщ Ñе Ð·Ð°Ð¿Ð¸Ñ Ð² дневника, какво иÑкате да промените?"
-#: ../calendar/gui/dialogs/recur-comp.c:88
+#: ../calendar/gui/dialogs/recur-comp.c:87
msgid "This Instance Only"
msgstr "Само в този Ñлучай"
-#: ../calendar/gui/dialogs/recur-comp.c:92
+#: ../calendar/gui/dialogs/recur-comp.c:91
msgid "This and Prior Instances"
msgstr "Ð’ този и предишните Ñлучаи"
-#: ../calendar/gui/dialogs/recur-comp.c:98
+#: ../calendar/gui/dialogs/recur-comp.c:97
msgid "This and Future Instances"
msgstr "Ð’ този и бъдещите Ñлучаи"
-#: ../calendar/gui/dialogs/recur-comp.c:103
+#: ../calendar/gui/dialogs/recur-comp.c:102
msgid "All Instances"
msgstr "Ð’Ñички Ñлучаи"
@@ -6114,7 +6114,7 @@ msgstr "Завършено"
#: ../calendar/gui/dialogs/task-details-page.glade.h:5
#: ../calendar/gui/e-cal-component-preview.c:248
-#: ../calendar/gui/e-calendar-table.c:382 ../mail/message-list.c:1007
+#: ../calendar/gui/e-calendar-table.c:382 ../mail/message-list.c:1006
msgid "High"
msgstr "ВиÑоко"
@@ -6129,14 +6129,14 @@ msgstr "Ð’ прогреÑ"
#: ../calendar/gui/dialogs/task-details-page.glade.h:7
#: ../calendar/gui/e-cal-component-preview.c:252
-#: ../calendar/gui/e-calendar-table.c:384 ../mail/message-list.c:1005
+#: ../calendar/gui/e-calendar-table.c:384 ../mail/message-list.c:1004
msgid "Low"
msgstr "ÐиÑко"
#: ../calendar/gui/dialogs/task-details-page.glade.h:8
#: ../calendar/gui/e-cal-component-preview.c:250
#: ../calendar/gui/e-cal-model.c:899 ../calendar/gui/e-calendar-table.c:383
-#: ../mail/message-list.c:1006
+#: ../mail/message-list.c:1005
msgid "Normal"
msgstr "Ðормално"
@@ -6388,7 +6388,7 @@ msgstr "Ðачална дата"
#: ../calendar/gui/e-cal-list-view.etspec.h:5
#: ../calendar/gui/e-calendar-table.etspec.h:11
-#: ../mail/mail-dialogs.glade.h:17
+#: ../mail/mail-dialogs.glade.h:21
msgid "Summary"
msgstr "Резюме"
@@ -6448,7 +6448,7 @@ msgstr "Ðе"
#: ../calendar/gui/e-meeting-list-view.c:139
#: ../calendar/gui/e-meeting-list-view.c:153
#: ../calendar/gui/e-meeting-store.c:124 ../calendar/gui/e-meeting-store.c:159
-#: ../calendar/gui/e-meeting-store.c:224 ../mail/em-utils.c:1175
+#: ../calendar/gui/e-meeting-store.c:224 ../mail/em-utils.c:1173
#: ../plugins/itip-formatter/itip-formatter.c:251
#: ../plugins/itip-formatter/itip-formatter.c:1398
#: ../plugins/plugin-manager/plugin-manager.c:72
@@ -9475,15 +9475,15 @@ msgstr "Ð¢Ð¸Ñ…Ð¸Ñ Ð¾ÐºÐµÐ°Ð½/УолиÑ"
msgid "Pacific/Yap"
msgstr "Ð¢Ð¸Ñ…Ð¸Ñ Ð¾ÐºÐµÐ°Ð½/Яп"
-#: ../composer/e-msg-composer-hdrs.c:520
+#: ../composer/e-msg-composer-hdrs.c:519
msgid "Posting destination"
msgstr "Получател на пощата"
-#: ../composer/e-msg-composer-hdrs.c:521
+#: ../composer/e-msg-composer-hdrs.c:520
msgid "Choose folders to post the message to."
msgstr "Избор на папки, в които да бъде копирано пиÑмото."
-#: ../composer/e-msg-composer-hdrs.c:555
+#: ../composer/e-msg-composer-hdrs.c:554
msgid "Click here for the address book"
msgstr "ÐатиÑнете тук за адреÑника"
@@ -9494,45 +9494,45 @@ msgstr "ÐатиÑнете тук за адреÑника"
#. * because that causes from_changed to be called, which
#. * expects the reply_to fields to be initialized.
#.
-#: ../composer/e-msg-composer-hdrs.c:585
+#: ../composer/e-msg-composer-hdrs.c:584
msgid "_Reply-To:"
msgstr "_Отговор до:"
#.
#. * From
#.
-#: ../composer/e-msg-composer-hdrs.c:592
+#: ../composer/e-msg-composer-hdrs.c:591
msgid "Fr_om:"
msgstr "_От:"
#.
#. * Subject
#.
-#: ../composer/e-msg-composer-hdrs.c:599
+#: ../composer/e-msg-composer-hdrs.c:598
msgid "S_ubject:"
msgstr "_Тема:"
-#: ../composer/e-msg-composer-hdrs.c:609
+#: ../composer/e-msg-composer-hdrs.c:608
msgid "_To:"
msgstr "_До:"
-#: ../composer/e-msg-composer-hdrs.c:610
+#: ../composer/e-msg-composer-hdrs.c:609
msgid "Enter the recipients of the message"
msgstr "Въведете получател на Ñъобщението"
-#: ../composer/e-msg-composer-hdrs.c:613
+#: ../composer/e-msg-composer-hdrs.c:612
msgid "_Cc:"
msgstr "_Копие до:"
-#: ../composer/e-msg-composer-hdrs.c:614
+#: ../composer/e-msg-composer-hdrs.c:613
msgid "Enter the addresses that will receive a carbon copy of the message"
msgstr "Въведете адреÑа на Ð¿Ð¾Ð»ÑƒÑ‡Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° карбон копие за това Ñъобщение"
-#: ../composer/e-msg-composer-hdrs.c:617
+#: ../composer/e-msg-composer-hdrs.c:616
msgid "_Bcc:"
msgstr "_Скрито копие до:"
-#: ../composer/e-msg-composer-hdrs.c:618
+#: ../composer/e-msg-composer-hdrs.c:617
msgid ""
"Enter the addresses that will receive a carbon copy of the message without "
"appearing in the recipient list of the message."
@@ -9543,16 +9543,16 @@ msgstr ""
#.
#. * Post-To
#.
-#: ../composer/e-msg-composer-hdrs.c:625
+#: ../composer/e-msg-composer-hdrs.c:624
msgid "_Post To:"
msgstr "Копиране в _папка:"
-#: ../composer/e-msg-composer-hdrs.c:630
+#: ../composer/e-msg-composer-hdrs.c:629
msgid "Click here to select folders to post to"
msgstr ""
"ÐатиÑнете тук, за да въведете папки, в които да бъде копирано Ñъобщението"
-#: ../composer/e-msg-composer-hdrs.c:636
+#: ../composer/e-msg-composer-hdrs.c:635
msgid "Post To:"
msgstr "Копиране в папка:"
@@ -9593,7 +9593,7 @@ msgid "Open File"
msgstr "ОтварÑне на файл"
#: ../composer/e-msg-composer.c:2001 ../mail/em-account-editor.c:588
-#: ../mail/em-account-editor.c:633 ../mail/em-account-editor.c:698
+#: ../mail/em-account-editor.c:633 ../mail/em-account-editor.c:700
msgid "Autogenerated"
msgstr "Ðвтоматично генерирано"
@@ -9606,7 +9606,7 @@ msgstr "_ПодпиÑ:"
msgid "Compose a message"
msgstr "ПиÑане на пиÑмо"
-#: ../composer/e-msg-composer.c:4554
+#: ../composer/e-msg-composer.c:4542
msgid ""
"<b>(The composer contains a non-text message body, which cannot be edited.)"
"<b>"
@@ -10363,44 +10363,44 @@ msgstr ""
msgid "Select Folder"
msgstr "Избор на папка"
-#: ../mail/em-account-editor.c:1661 ../mail/mail-config.glade.h:89
+#: ../mail/em-account-editor.c:1664 ../mail/mail-config.glade.h:89
msgid "Identity"
msgstr "Потребител"
-#: ../mail/em-account-editor.c:1697 ../mail/mail-config.glade.h:114
+#: ../mail/em-account-editor.c:1700 ../mail/mail-config.glade.h:114
msgid "Receiving Email"
msgstr "Получаване на пощата"
-#: ../mail/em-account-editor.c:1874
+#: ../mail/em-account-editor.c:1877
msgid "Automatically check for _new mail every"
msgstr "_Ðвтоматична проверка за нова поща вÑеки"
-#: ../mail/em-account-editor.c:2042 ../mail/mail-config.glade.h:124
+#: ../mail/em-account-editor.c:2045 ../mail/mail-config.glade.h:124
msgid "Sending Email"
msgstr "Изпращане на пиÑмо"
-#: ../mail/em-account-editor.c:2086 ../mail/mail-config.glade.h:67
+#: ../mail/em-account-editor.c:2089 ../mail/mail-config.glade.h:67
msgid "Defaults"
msgstr "Стандартни"
-#: ../mail/em-account-editor.c:2145 ../mail/mail-config.glade.h:119
+#: ../mail/em-account-editor.c:2148 ../mail/mail-config.glade.h:119
msgid "Security"
msgstr "СигурноÑÑ‚"
#. Most sections for this is auto-generated fromt the camel config
-#: ../mail/em-account-editor.c:2182 ../mail/em-account-editor.c:2256
+#: ../mail/em-account-editor.c:2185 ../mail/em-account-editor.c:2260
msgid "Receiving Options"
msgstr "Получаване на наÑтройки"
-#: ../mail/em-account-editor.c:2183 ../mail/em-account-editor.c:2257
+#: ../mail/em-account-editor.c:2186 ../mail/em-account-editor.c:2261
msgid "Checking for New Mail"
msgstr "Проверка за нова поща"
-#: ../mail/em-account-editor.c:2581 ../mail/mail-config.glade.h:33
+#: ../mail/em-account-editor.c:2585 ../mail/mail-config.glade.h:33
msgid "Account Editor"
msgstr "Редактор на абонаменти"
-#: ../mail/em-account-editor.c:2581 ../mail/mail-config.glade.h:79
+#: ../mail/em-account-editor.c:2585 ../mail/mail-config.glade.h:79
msgid "Evolution Account Assistant"
msgstr "Помощник на Evolution за абонаментите"
@@ -10434,18 +10434,18 @@ msgstr "ДобавÑне на Ñкрипт за подпиÑ"
msgid "Signature(s)"
msgstr "ПодпиÑ(и)"
-#: ../mail/em-composer-utils.c:849
+#: ../mail/em-composer-utils.c:911
msgid "-------- Forwarded Message --------"
msgstr "-------- Препратено Ñъобщение --------"
-#: ../mail/em-composer-utils.c:1459
+#: ../mail/em-composer-utils.c:1521
msgid "an unknown sender"
msgstr "неизвеÑтен изпращач"
#. Note to translators: this is the attribution string used when quoting messages.
#. * each ${Variable} gets replaced with a value. To see a full list of available
#. * variables, see em-composer-utils.c:1514
-#: ../mail/em-composer-utils.c:1506
+#: ../mail/em-composer-utils.c:1568
msgid ""
"On ${AbbrevWeekdayName}, ${Year}-${Month}-${Day} at ${24Hour}:${Minute} "
"${TimeZone}, ${Sender} wrote:"
@@ -10700,7 +10700,7 @@ msgstr "започва Ñ"
msgid "Stop Processing"
msgstr "Спиране на обработването"
-#: ../mail/em-filter-i18n.h:65 ../mail/em-format-html.c:1532
+#: ../mail/em-filter-i18n.h:65 ../mail/em-format-html.c:1533
#: ../mail/em-format-quote.c:306 ../mail/em-format.c:853
#: ../mail/em-mailer-prefs.c:88 ../mail/message-list.etspec.h:13
#: ../mail/message-tag-followup.c:330
@@ -10828,7 +10828,7 @@ msgstr "_Копиране в папка"
msgid "_Move to Folder"
msgstr "ПремеÑтване в _папка"
-#: ../mail/em-folder-tree.c:1750 ../mail/mail-ops.c:1051
+#: ../mail/em-folder-tree.c:1750 ../mail/mail-ops.c:1026
#, c-format
msgid "Scanning folders in \"%s\""
msgstr "Сканиране на папки в \"%s\""
@@ -11240,28 +11240,28 @@ msgid "Bcc"
msgstr "Скрито копие до"
#. pseudo-header
-#: ../mail/em-format-html.c:1536 ../mail/em-format-quote.c:315
+#: ../mail/em-format-html.c:1537 ../mail/em-format-quote.c:315
#: ../mail/em-mailer-prefs.c:986
msgid "Mailer"
msgstr "ПощенÑка програма"
#. translators: strftime format for local time equivalent in Date header display, with day
-#: ../mail/em-format-html.c:1563
+#: ../mail/em-format-html.c:1564
msgid "<I> (%a, %R %Z)</I>"
msgstr "<I> (%a, %R %Z)</I>"
#. translators: strftime format for local time equivalent in Date header display, without day
-#: ../mail/em-format-html.c:1566
+#: ../mail/em-format-html.c:1567
msgid "<I> (%R %Z)</I>"
msgstr "<I> (%R %Z)</I>"
-#: ../mail/em-format-html.c:1576 ../mail/em-format-quote.c:322
+#: ../mail/em-format-html.c:1577 ../mail/em-format-quote.c:322
#: ../mail/em-format.c:854 ../mail/em-mailer-prefs.c:89
#: ../mail/message-list.etspec.h:2
msgid "Date"
msgstr "Дата"
-#: ../mail/em-format-html.c:1599 ../mail/em-format.c:855
+#: ../mail/em-format-html.c:1600 ../mail/em-format.c:855
#: ../mail/em-mailer-prefs.c:90
msgid "Newsgroups"
msgstr "ÐовинарÑки групи"
@@ -11442,20 +11442,20 @@ msgstr "Без да Ñе показва това Ñъобщение отново
msgid "Filters"
msgstr "Филтри"
-#: ../mail/em-utils.c:436
+#: ../mail/em-utils.c:434
msgid "message"
msgstr "Ñъобщение"
-#: ../mail/em-utils.c:545
+#: ../mail/em-utils.c:543
msgid "Save Message..."
msgstr "Запазване на Ñъобщение..."
-#: ../mail/em-utils.c:594
+#: ../mail/em-utils.c:592
msgid "Add address"
msgstr "ДобавÑне на адреÑ"
#. Drop filename for messages from a mailbox
-#: ../mail/em-utils.c:1073
+#: ../mail/em-utils.c:1071
#, c-format
msgid "Messages from %s"
msgstr "Ð¡ÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ñ‚ %s"
@@ -12125,27 +12125,27 @@ msgstr ""
msgid "Pine"
msgstr "Pine"
-#: ../mail/mail-autofilter.c:75
+#: ../mail/mail-autofilter.c:74
#, c-format
msgid "Mail to %s"
msgstr "Поща до %s"
-#: ../mail/mail-autofilter.c:239 ../mail/mail-autofilter.c:278
+#: ../mail/mail-autofilter.c:238 ../mail/mail-autofilter.c:277
#, c-format
msgid "Mail from %s"
msgstr "Поща от %s"
-#: ../mail/mail-autofilter.c:262
+#: ../mail/mail-autofilter.c:261
#, c-format
msgid "Subject is %s"
msgstr "Темата е %s"
-#: ../mail/mail-autofilter.c:297
+#: ../mail/mail-autofilter.c:296
#, c-format
msgid "%s mailing list"
msgstr "%s пощенÑки ÑпиÑък"
-#: ../mail/mail-autofilter.c:366
+#: ../mail/mail-autofilter.c:365
msgid "Add Filter Rule"
msgstr "ДобавÑне на правило за филтър"
@@ -12226,7 +12226,7 @@ msgstr "Създаване на нова пощенÑка папка"
msgid "Failed upgrading Mail settings or folders."
msgstr "ÐеуÑпех при обновÑването на пощенÑките наÑтройки или папки."
-#: ../mail/mail-config.glade.h:1 ../mail/mail-dialogs.glade.h:1
+#: ../mail/mail-config.glade.h:1 ../mail/mail-dialogs.glade.h:5
msgid " "
msgstr " "
@@ -12835,62 +12835,72 @@ msgstr "цвÑÑ‚"
msgid "description"
msgstr "опиÑание"
-#: ../mail/mail-dialogs.glade.h:3
+#: ../mail/mail-dialogs.glade.h:1
+msgid ""
+"\n"
+" Please read carefully the license agreement displayed\n"
+" below and tick the check box for accepting it\n"
+msgstr ""
+"\n"
+" МолÑ, прочетете внимателно показаното лицензно Ñпоразумение\n"
+"по-долу и Ñложете тикче, ако приемате.\n"
+
+#: ../mail/mail-dialogs.glade.h:7
msgid "<b>vFolder Sources</b>"
msgstr "<b>vFolder източници</b>"
-#: ../mail/mail-dialogs.glade.h:4
+#: ../mail/mail-dialogs.glade.h:8
msgid "<span weight=\"bold\">Digital Signature</span>"
msgstr "<span weight=\"bold\">Цифров подпиÑ</span>"
-#: ../mail/mail-dialogs.glade.h:5
+#: ../mail/mail-dialogs.glade.h:9
msgid "<span weight=\"bold\">Encryption</span>"
msgstr "<span weight=\"bold\">Криптиране</span>"
-#: ../mail/mail-dialogs.glade.h:6
+#: ../mail/mail-dialogs.glade.h:10
msgid "Case _Sensitive"
msgstr "_Ð¡ÑŠÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ на малки/големи букви"
-#: ../mail/mail-dialogs.glade.h:7 ../mail/message-tags.glade.h:2
+#: ../mail/mail-dialogs.glade.h:11 ../mail/message-tags.glade.h:2
msgid "Co_mpleted"
msgstr "За_вършено"
-#: ../mail/mail-dialogs.glade.h:9
+#: ../mail/mail-dialogs.glade.h:13
msgid "F_ind:"
msgstr "_ТърÑене:"
-#: ../mail/mail-dialogs.glade.h:10
+#: ../mail/mail-dialogs.glade.h:14
msgid "Find in Message"
msgstr "ТърÑене в Ñъобщението"
-#: ../mail/mail-dialogs.glade.h:11 ../mail/message-tag-followup.c:295
+#: ../mail/mail-dialogs.glade.h:15 ../mail/message-tag-followup.c:295
#: ../mail/message-tags.glade.h:3
msgid "Flag to Follow Up"
msgstr ""
"ОтбелÑзване като Ñледващо\n"
"Ñъобщение от разговор"
-#: ../mail/mail-dialogs.glade.h:12
+#: ../mail/mail-dialogs.glade.h:16
msgid "Folder Subscriptions"
msgstr "Ðбонаменти за папки"
-#: ../mail/mail-dialogs.glade.h:13
+#: ../mail/mail-dialogs.glade.h:17
msgid "License Agreement"
msgstr "Лицензно Ñпоразумение"
-#: ../mail/mail-dialogs.glade.h:14
+#: ../mail/mail-dialogs.glade.h:18
msgid "None Selected"
msgstr "ÐÑма избрани"
-#: ../mail/mail-dialogs.glade.h:15
+#: ../mail/mail-dialogs.glade.h:19
msgid "S_erver:"
msgstr "С_ървър"
-#: ../mail/mail-dialogs.glade.h:16
+#: ../mail/mail-dialogs.glade.h:20
msgid "Security Information"
msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° ÑигурноÑтта"
-#: ../mail/mail-dialogs.glade.h:18 ../mail/message-tags.glade.h:4
+#: ../mail/mail-dialogs.glade.h:22 ../mail/message-tags.glade.h:4
msgid ""
"The messages you have selected for follow up are listed below.\n"
"Please select a follow up action from the \"Flag\" menu."
@@ -12898,43 +12908,43 @@ msgstr ""
"ПиÑмата, които Ñте избрали като Ñледващи в разговор, Ñа изброени долу.\n"
"ÐœÐ¾Ð»Ñ Ð¸Ð·Ð±ÐµÑ€ÐµÑ‚Ðµ подходÑщото дейÑтвие от менюто \"ОтбелÑзване\"."
-#: ../mail/mail-dialogs.glade.h:20
+#: ../mail/mail-dialogs.glade.h:24
msgid "_Accept License"
msgstr "_Приемане на лиценз"
-#: ../mail/mail-dialogs.glade.h:21 ../mail/message-tags.glade.h:6
+#: ../mail/mail-dialogs.glade.h:25 ../mail/message-tags.glade.h:6
msgid "_Due By:"
msgstr "Краен Ñрок:"
-#: ../mail/mail-dialogs.glade.h:22 ../mail/message-tags.glade.h:7
+#: ../mail/mail-dialogs.glade.h:26 ../mail/message-tags.glade.h:7
msgid "_Flag:"
msgstr "ОтбелÑзване:"
-#: ../mail/mail-dialogs.glade.h:23
+#: ../mail/mail-dialogs.glade.h:27
msgid "_Subscribe"
msgstr "_Ðбониране"
-#: ../mail/mail-dialogs.glade.h:24
+#: ../mail/mail-dialogs.glade.h:28
msgid "_Tick this to accept the license agreement"
msgstr "_Сложете отметка тук, за да Ñе ÑъглаÑите Ñ Ð»Ð¸Ñ†ÐµÐ½Ð·Ð½Ð¾Ñ‚Ð¾ Ñпоразумение"
-#: ../mail/mail-dialogs.glade.h:25
+#: ../mail/mail-dialogs.glade.h:29
msgid "_Unsubscribe"
msgstr "О_тпиÑване"
-#: ../mail/mail-dialogs.glade.h:26
+#: ../mail/mail-dialogs.glade.h:30
msgid "specific folders only"
msgstr "задаване Ñамо на папки"
-#: ../mail/mail-dialogs.glade.h:27
+#: ../mail/mail-dialogs.glade.h:31
msgid "with all active remote folders"
msgstr "Ñ Ð²Ñички активни отдалечени папки"
-#: ../mail/mail-dialogs.glade.h:28
+#: ../mail/mail-dialogs.glade.h:32
msgid "with all local and active remote folders"
msgstr "Ñ Ð²Ñички локални и активни отдалечени папки"
-#: ../mail/mail-dialogs.glade.h:29
+#: ../mail/mail-dialogs.glade.h:33
msgid "with all local folders"
msgstr "Ñ Ð²Ñички локални папки"
@@ -13547,7 +13557,7 @@ msgstr "Филтър върху папка"
msgid "Fetching Mail"
msgstr "Получаване на пощата"
-#: ../mail/mail-ops.c:556 ../mail/mail-ops.c:598
+#: ../mail/mail-ops.c:542 ../mail/mail-ops.c:585
#, c-format
msgid ""
"Failed to append to %s: %s\n"
@@ -13557,119 +13567,119 @@ msgstr ""
"ВмеÑто това пиÑмото е добавено към локалната папка \"Изпратени\"."
#. sending mail, filtering failed
-#: ../mail/mail-ops.c:577
+#: ../mail/mail-ops.c:564
#, c-format
msgid "Failed to apply outgoing filters: %s"
msgstr "ÐеуÑпех при прилагането на филтрите за изходÑщата поща: %s"
-#: ../mail/mail-ops.c:615
+#: ../mail/mail-ops.c:602
#, c-format
msgid "Failed to append to local `Sent' folder: %s"
msgstr "Грешка при добавÑнето към локалната папка \"Изпратени\": %s"
-#: ../mail/mail-ops.c:727
+#: ../mail/mail-ops.c:702
#, c-format
msgid "Sending message %d of %d"
msgstr "Изпращане на пиÑмо %d от %d"
-#: ../mail/mail-ops.c:752
+#: ../mail/mail-ops.c:727
#, c-format
msgid "Failed to send %d of %d messages"
msgstr "ÐеуÑпех при изпращането на %d от %d пиÑма"
-#: ../mail/mail-ops.c:754 ../mail/mail-send-recv.c:613
+#: ../mail/mail-ops.c:729 ../mail/mail-send-recv.c:613
msgid "Cancelled."
msgstr "Прекратено."
-#: ../mail/mail-ops.c:756
+#: ../mail/mail-ops.c:731
msgid "Complete."
msgstr "Приключено."
-#: ../mail/mail-ops.c:853
+#: ../mail/mail-ops.c:828
msgid "Saving message to folder"
msgstr "Запазване на пиÑмото в папка"
-#: ../mail/mail-ops.c:938
+#: ../mail/mail-ops.c:913
#, c-format
msgid "Moving messages to %s"
msgstr "ПремеÑтване на пиÑма в %s"
-#: ../mail/mail-ops.c:938
+#: ../mail/mail-ops.c:913
#, c-format
msgid "Copying messages to %s"
msgstr "Копиране на пиÑма в %s"
-#: ../mail/mail-ops.c:1164
+#: ../mail/mail-ops.c:1139
msgid "Forwarded messages"
msgstr "Препратени пиÑма"
-#: ../mail/mail-ops.c:1207
+#: ../mail/mail-ops.c:1182
#, c-format
msgid "Opening folder %s"
msgstr "ОтварÑне на папка %s"
-#: ../mail/mail-ops.c:1279
+#: ../mail/mail-ops.c:1254
#, c-format
msgid "Opening store %s"
msgstr "ОтварÑне на хранилище %s"
-#: ../mail/mail-ops.c:1357
+#: ../mail/mail-ops.c:1332
#, c-format
msgid "Removing folder %s"
msgstr "Изтриване на папка %s"
-#: ../mail/mail-ops.c:1451
+#: ../mail/mail-ops.c:1426
#, c-format
msgid "Storing folder '%s'"
msgstr "Запазване на папка %s"
-#: ../mail/mail-ops.c:1516
+#: ../mail/mail-ops.c:1491
#, c-format
msgid "Expunging and storing account '%s'"
msgstr "Зачеркване и ÑъхранÑване на абонамент \"%s\""
-#: ../mail/mail-ops.c:1517
+#: ../mail/mail-ops.c:1492
#, c-format
msgid "Storing account '%s'"
msgstr "Запазване на абонамент \"%s\""
-#: ../mail/mail-ops.c:1572
+#: ../mail/mail-ops.c:1547
msgid "Refreshing folder"
msgstr "ОÑвежаване на папка"
-#: ../mail/mail-ops.c:1608 ../mail/mail-ops.c:1659
+#: ../mail/mail-ops.c:1583 ../mail/mail-ops.c:1634
msgid "Expunging folder"
msgstr "Изтриване на папка"
-#: ../mail/mail-ops.c:1656
+#: ../mail/mail-ops.c:1631
#, c-format
msgid "Emptying trash in '%s'"
msgstr "Изпразване на кошчето в \"%s\""
-#: ../mail/mail-ops.c:1657
+#: ../mail/mail-ops.c:1632
msgid "Local Folders"
msgstr "Локални папки"
-#: ../mail/mail-ops.c:1740
+#: ../mail/mail-ops.c:1715
#, c-format
msgid "Retrieving message %s"
msgstr "Получаване на пиÑмо %s"
-#: ../mail/mail-ops.c:1812
+#: ../mail/mail-ops.c:1787
#, c-format
msgid "Retrieving %d message"
msgid_plural "Retrieving %d messages"
msgstr[0] "Получаване на %d пиÑмо"
msgstr[1] "Получаване на %d пиÑма"
-#: ../mail/mail-ops.c:1898
+#: ../mail/mail-ops.c:1873
#, c-format
msgid "Saving %d message"
msgid_plural "Saving %d messsages"
msgstr[0] "Запазване на %d пиÑмо"
msgstr[1] "Запазване на %d пиÑма"
-#: ../mail/mail-ops.c:1948
+#: ../mail/mail-ops.c:1923
#, c-format
msgid ""
"Unable to create output file: %s\n"
@@ -13678,7 +13688,7 @@ msgstr ""
"Ðе може да Ñе Ñъздаде изходен файл: %s\n"
" %s"
-#: ../mail/mail-ops.c:1976
+#: ../mail/mail-ops.c:1951
#, c-format
msgid ""
"Error saving messages to: %s:\n"
@@ -13687,11 +13697,11 @@ msgstr ""
"Грешка при запазване на пиÑма в: %s:\n"
" %s"
-#: ../mail/mail-ops.c:2047
+#: ../mail/mail-ops.c:2022
msgid "Saving attachment"
msgstr "Запазване на прикачен файл"
-#: ../mail/mail-ops.c:2059
+#: ../mail/mail-ops.c:2034
#, c-format
msgid ""
"Cannot create output file: %s:\n"
@@ -13700,22 +13710,22 @@ msgstr ""
"Ðе може да Ñе Ñъздаде изходен файл: %s:\n"
" %s"
-#: ../mail/mail-ops.c:2069
+#: ../mail/mail-ops.c:2044
#, c-format
msgid "Could not write data: %s"
msgstr "Ðе може да Ñе запишат данните: %s"
-#: ../mail/mail-ops.c:2219
+#: ../mail/mail-ops.c:2194
#, c-format
msgid "Disconnecting from %s"
msgstr "Разкачване от %s"
-#: ../mail/mail-ops.c:2219
+#: ../mail/mail-ops.c:2194
#, c-format
msgid "Reconnecting to %s"
msgstr "Отново връзка Ñ %s"
-#: ../mail/mail-ops.c:2335
+#: ../mail/mail-ops.c:2310
msgid "Checking Service"
msgstr "ПроверÑване на обÑлужване"
@@ -13790,16 +13800,16 @@ msgstr ""
msgid "Trying to movemail a non-mbox source `%s'"
msgstr ""
-#: ../mail/mail-tools.c:241
+#: ../mail/mail-tools.c:277
#, c-format
msgid "Forwarded message - %s"
msgstr "Препратено пиÑмо - %s"
-#: ../mail/mail-tools.c:243
+#: ../mail/mail-tools.c:279
msgid "Forwarded message"
msgstr "Препратени пиÑма"
-#: ../mail/mail-tools.c:283
+#: ../mail/mail-tools.c:320
#, c-format
msgid "Invalid folder: `%s'"
msgstr "Ðевалидна папка: \"%s\""
@@ -13827,65 +13837,65 @@ msgstr "Редактиране на VFolder"
msgid "New vFolder"
msgstr "Ðов VFolder"
-#: ../mail/message-list.c:995
+#: ../mail/message-list.c:994
msgid "Unseen"
msgstr "Ðепрегледано"
-#: ../mail/message-list.c:996
+#: ../mail/message-list.c:995
msgid "Seen"
msgstr "Прегледано"
-#: ../mail/message-list.c:997
+#: ../mail/message-list.c:996
msgid "Answered"
msgstr "Отговорено"
-#: ../mail/message-list.c:998
+#: ../mail/message-list.c:997
msgid "Multiple Unseen Messages"
msgstr "МножеÑтво невидÑни пиÑма"
-#: ../mail/message-list.c:999
+#: ../mail/message-list.c:998
msgid "Multiple Messages"
msgstr "МножеÑтво пиÑма"
-#: ../mail/message-list.c:1003
+#: ../mail/message-list.c:1002
msgid "Lowest"
msgstr "Ðай-ниÑка"
-#: ../mail/message-list.c:1004
+#: ../mail/message-list.c:1003
msgid "Lower"
msgstr "ÐиÑка"
-#: ../mail/message-list.c:1008
+#: ../mail/message-list.c:1007
msgid "Higher"
msgstr "ВиÑока"
-#: ../mail/message-list.c:1009
+#: ../mail/message-list.c:1008
msgid "Highest"
msgstr "Ðай-виÑока"
-#: ../mail/message-list.c:1337
+#: ../mail/message-list.c:1336
msgid "?"
msgstr "?"
#. strftime format of a time,
#. in 12-hour format, without seconds.
-#: ../mail/message-list.c:1344 ../plugins/itip-formatter/itip-view.c:189
+#: ../mail/message-list.c:1343 ../plugins/itip-formatter/itip-view.c:189
msgid "Today %l:%M %p"
msgstr "Ð”Ð½ÐµÑ %l:%M %p"
-#: ../mail/message-list.c:1353
+#: ../mail/message-list.c:1352
msgid "Yesterday %l:%M %p"
msgstr "Вчера %l:%M %p"
-#: ../mail/message-list.c:1365
+#: ../mail/message-list.c:1364
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
-#: ../mail/message-list.c:1373
+#: ../mail/message-list.c:1372
msgid "%b %d %l:%M %p"
msgstr "%b %d %l:%M %p"
-#: ../mail/message-list.c:1375
+#: ../mail/message-list.c:1374
msgid "%b %d %Y"
msgstr "%b %d %Y"
@@ -17848,39 +17858,39 @@ msgstr "Синхронизиране на категории:"
#. To translators: This is the accessibility name of
#. the search bar's text entry widget
-#: ../widgets/misc/e-search-bar.c:345
+#: ../widgets/misc/e-search-bar.c:343
msgid "Search Text Entry"
msgstr "Дума за Ñ‚ÑŠÑ€Ñене"
-#: ../widgets/misc/e-search-bar.c:549
+#: ../widgets/misc/e-search-bar.c:547
msgid "_Search"
msgstr "_ТърÑене"
-#: ../widgets/misc/e-search-bar.c:555
+#: ../widgets/misc/e-search-bar.c:553
msgid "_Find Now"
msgstr "_Ðамиране Ñега"
-#: ../widgets/misc/e-search-bar.c:556 ../widgets/misc/e-search-bar.c:943
+#: ../widgets/misc/e-search-bar.c:554 ../widgets/misc/e-search-bar.c:941
msgid "_Clear"
msgstr "_ИзчиÑтване"
-#: ../widgets/misc/e-search-bar.c:647
+#: ../widgets/misc/e-search-bar.c:645
msgid "Search Type"
msgstr "Тип Ñ‚ÑŠÑ€Ñене"
-#: ../widgets/misc/e-search-bar.c:851
+#: ../widgets/misc/e-search-bar.c:849
msgid "Item ID"
msgstr "ID на елемента"
-#: ../widgets/misc/e-search-bar.c:858
+#: ../widgets/misc/e-search-bar.c:856
msgid "Subitem ID"
msgstr ""
-#: ../widgets/misc/e-search-bar.c:865
+#: ../widgets/misc/e-search-bar.c:863
msgid "Text"
msgstr "ТекÑÑ‚"
-#: ../widgets/misc/e-search-bar.c:945
+#: ../widgets/misc/e-search-bar.c:943
msgid "Find _Now"
msgstr "ТърÑене Ñега"
@@ -18050,15 +18060,6 @@ msgstr "%s (%d%% приключено)"
msgid "click here to go to url"
msgstr "натиÑнете тук, за да отидете до url"
-#~ msgid ""
-#~ "\n"
-#~ " Please read carefully the license agreement displayed\n"
-#~ " below and tick the check box for accepting it\n"
-#~ msgstr ""
-#~ "\n"
-#~ " МолÑ, прочетете внимателно показаното лицензно Ñпоразумение\n"
-#~ "по-долу и Ñложете тикче, ако приемате.\n"
-
#~ msgid "_Remember this password"
#~ msgstr "_ЗапомнÑне на тази парола"
diff --git a/po/cs.po b/po/cs.po
index 2539b51566..7bf673c950 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: evolution VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-02-22 06:28+0100\n"
-"PO-Revision-Date: 2005-02-22 14:18+0100\n"
+"POT-Creation-Date: 2005-03-11 04:56+0100\n"
+"PO-Revision-Date: 2005-03-11 15:28+0100\n"
"Last-Translator: Miloslav Trmac <mitr@volny.cz>\n"
"Language-Team: Czech <cs@li.org>\n"
"MIME-Version: 1.0\n"
@@ -44,7 +44,7 @@ msgstr[1] "aktuální složka adresáře má %d karty"
msgstr[2] "aktuální složka adresáře má %d karet"
#: a11y/addressbook/ea-minicard.c:31
-#: calendar/gui/alarm-notify/alarm-queue.c:863
+#: calendar/gui/alarm-notify/alarm-queue.c:878
#: ui/evolution-message-composer.xml.h:10
msgid "Open"
msgstr "Otevřít"
@@ -224,16 +224,16 @@ msgstr "pohled na kalendář pro měsíc"
msgid "calendar view for one or more weeks"
msgstr "pohled na kalendář pro jeden nebo více týdnů"
-#: a11y/widgets/ea-calendar-item.c:290 a11y/widgets/ea-calendar-item.c:296
+#: a11y/widgets/ea-calendar-item.c:296 a11y/widgets/ea-calendar-item.c:302
msgid "%d %B %Y"
msgstr "%d %B %Y"
-#: a11y/widgets/ea-calendar-item.c:298
+#: a11y/widgets/ea-calendar-item.c:304
#, c-format
msgid "Calendar: from %s to %s"
msgstr "Kalendář: od %s do %s"
-#: a11y/widgets/ea-calendar-item.c:333
+#: a11y/widgets/ea-calendar-item.c:339
msgid "evolution calendar item"
msgstr "položka kalendáře evolution"
@@ -539,7 +539,7 @@ msgstr "Zde spravujte vaše certifikáty S/MIME"
#: calendar/gui/calendar-component.c:208 calendar/gui/migration.c:459
#: calendar/gui/migration.c:552 calendar/gui/tasks-component.c:188
#: mail/em-folder-tree-model.c:197 mail/em-folder-tree-model.c:199
-#: mail/mail-component.c:270 mail/mail-vfolder.c:222
+#: mail/mail-component.c:290 mail/mail-vfolder.c:222
msgid "On This Computer"
msgstr "V tomto poÄítaÄi"
@@ -553,7 +553,7 @@ msgstr "V tomto poÄítaÄi"
#: addressbook/gui/contact-editor/contact-editor.glade.h:20
#: calendar/gui/calendar-component.c:216 calendar/gui/migration.c:467
#: calendar/gui/migration.c:560 calendar/gui/tasks-component.c:196
-#: filter/filter-label.c:123 mail/em-migrate.c:1013 mail/mail-config.c:77
+#: filter/filter-label.c:123 mail/em-migrate.c:1043 mail/mail-config.c:78
#: mail/mail-config.glade.h:101
msgid "Personal"
msgstr "Osobní"
@@ -581,7 +581,7 @@ msgid "Create a new contact list"
msgstr "Vytvořit nový seznam kontaktů"
#: addressbook/gui/component/addressbook-component.c:212
-#: addressbook/gui/component/addressbook-config.c:1121
+#: addressbook/gui/component/addressbook-config.c:1120
#: addressbook/gui/component/addressbook-view.c:757
msgid "New Address Book"
msgstr "Nový adresář"
@@ -648,18 +648,18 @@ msgstr "Vyhledávání"
msgid "Downloading"
msgstr "Stahování"
-#: addressbook/gui/component/addressbook-config.c:1119
+#: addressbook/gui/component/addressbook-config.c:1118
#: addressbook/gui/component/ldap-config.glade.h:14
msgid "Address Book Properties"
msgstr "Vlastnosti adresáře"
#: addressbook/gui/component/addressbook-migrate.c:72
-#: calendar/gui/migration.c:142 mail/em-migrate.c:1160
+#: calendar/gui/migration.c:142 mail/em-migrate.c:1190
msgid "Migrating..."
msgstr "Převádím..."
#: addressbook/gui/component/addressbook-migrate.c:124
-#: calendar/gui/migration.c:189 mail/em-migrate.c:1201
+#: calendar/gui/migration.c:189 mail/em-migrate.c:1231
#, c-format
msgid "Migrating `%s':"
msgstr "Převádím `%s':"
@@ -866,7 +866,7 @@ msgid "Add Address Book"
msgstr "Přidat adresář"
#: addressbook/gui/component/ldap-config.glade.h:15
-#: mail/em-account-editor.c:300
+#: mail/em-account-editor.c:302
msgid "Always"
msgstr "Vždy"
@@ -901,7 +901,7 @@ msgid "Lo_gin:"
msgstr "_Přihlášení:"
#: addressbook/gui/component/ldap-config.glade.h:25
-#: mail/em-account-editor.c:298
+#: mail/em-account-editor.c:300
msgid "Never"
msgstr "Nikdy"
@@ -1025,7 +1025,7 @@ msgid "Using email address"
msgstr "Použít e-mailovou adresu"
#: addressbook/gui/component/ldap-config.glade.h:42
-#: mail/em-account-editor.c:299
+#: mail/em-account-editor.c:301
msgid "Whenever Possible"
msgstr "Kdykoliv je možné"
@@ -1079,7 +1079,7 @@ msgstr "karty"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:12
#: calendar/gui/dialogs/alarm-dialog.glade.h:26
#: calendar/gui/dialogs/calendar-setup.glade.h:14 filter/filter.glade.h:16
-#: mail/em-account-editor.c:1883 plugins/calendar-http/calendar-http.c:263
+#: mail/em-account-editor.c:1885 plugins/calendar-http/calendar-http.c:263
#: plugins/calendar-weather/calendar-weather.c:564
msgid "minutes"
msgstr "minut"
@@ -1177,7 +1177,7 @@ msgstr "Telefon"
#: addressbook/gui/contact-editor/contact-editor.glade.h:23
#: addressbook/gui/contact-editor/e-contact-editor-im.c:235
#: addressbook/gui/contact-editor/e-contact-editor.c:199
-#: filter/filter-label.c:122 mail/em-migrate.c:1012 mail/mail-config.c:76
+#: filter/filter-label.c:122 mail/em-migrate.c:1042 mail/mail-config.c:77
#: mail/mail-config.glade.h:148
msgid "Work"
msgstr "Pracovní"
@@ -2405,7 +2405,7 @@ msgstr "_Celé jméno:"
msgid "E-_mail:"
msgstr "_E-mail"
-#: addressbook/gui/contact-editor/eab-editor.c:324
+#: addressbook/gui/contact-editor/eab-editor.c:326
msgid ""
"Are you sure you want\n"
"to delete these contacts?"
@@ -2413,7 +2413,7 @@ msgstr ""
"Opravdu chcete\n"
"odstranit tyto kontakty?"
-#: addressbook/gui/contact-editor/eab-editor.c:327
+#: addressbook/gui/contact-editor/eab-editor.c:329
msgid ""
"Are you sure you want\n"
"to delete this contact?"
@@ -2691,7 +2691,7 @@ msgstr "Zdroj"
#: addressbook/gui/widgets/e-addressbook-view.c:244
#: calendar/gui/dialogs/meeting-page.etspec.h:11
#: calendar/gui/e-calendar-table.etspec.h:13
-#: calendar/gui/e-meeting-list-view.c:244
+#: calendar/gui/e-meeting-list-view.c:319
#: calendar/gui/e-meeting-time-sel.etspec.h:11
msgid "Type"
msgstr "Typ"
@@ -2901,7 +2901,7 @@ msgstr "Rádio"
#: addressbook/gui/widgets/e-addressbook-view.etspec.h:33
#: calendar/gui/dialogs/meeting-page.etspec.h:9
-#: calendar/gui/e-meeting-list-view.c:251
+#: calendar/gui/e-meeting-list-view.c:326
#: calendar/gui/e-meeting-time-sel.etspec.h:9
msgid "Role"
msgstr "Funkce"
@@ -4088,8 +4088,8 @@ msgstr "Tento seznam úkolů nebyl oznaÄen pro používání off-line"
#. calendar:server-version secondary
#: calendar/calendar-errors.xml.h:146
-msgid " Some features may not work correctly with your current server version"
-msgstr " Některé funkce možná s vaší verzí serveru nebudou fungovat správně"
+msgid " Some features may not work correctly with your current server version "
+msgstr " Některé funkce možná s aktuální verzí serveru nebudou fungovat správně "
#: calendar/common/authentication.c:49 calendar/gui/e-pub-utils.c:301
#: smime/gui/component.c:48
@@ -4250,28 +4250,28 @@ msgstr "místo"
msgid "start-time"
msgstr "Äas zaÄátku"
-#: calendar/gui/alarm-notify/alarm-queue.c:864
+#: calendar/gui/alarm-notify/alarm-queue.c:879
msgid "Dismiss"
msgstr "Zavřít"
-#: calendar/gui/alarm-notify/alarm-queue.c:865
+#: calendar/gui/alarm-notify/alarm-queue.c:880
msgid "Dismiss All"
msgstr "Zavřít všechny"
-#: calendar/gui/alarm-notify/alarm-queue.c:947
+#: calendar/gui/alarm-notify/alarm-queue.c:962
msgid "No summary available."
msgstr "Souhrn není k dispozici."
-#: calendar/gui/alarm-notify/alarm-queue.c:956
-#: calendar/gui/alarm-notify/alarm-queue.c:958
+#: calendar/gui/alarm-notify/alarm-queue.c:971
+#: calendar/gui/alarm-notify/alarm-queue.c:973
msgid "No description available."
msgstr "Popis není dostupný."
-#: calendar/gui/alarm-notify/alarm-queue.c:966
+#: calendar/gui/alarm-notify/alarm-queue.c:981
msgid "No location information available."
msgstr "Informace o místě nejsou k dispozici."
-#: calendar/gui/alarm-notify/alarm-queue.c:982
+#: calendar/gui/alarm-notify/alarm-queue.c:997
#, c-format
msgid ""
"Alarm on %s\n"
@@ -4284,12 +4284,12 @@ msgstr ""
"ZaÄíná %s\n"
"KonÄí %s"
-#: calendar/gui/alarm-notify/alarm-queue.c:1084
-#: calendar/gui/alarm-notify/alarm-queue.c:1108
+#: calendar/gui/alarm-notify/alarm-queue.c:1099
+#: calendar/gui/alarm-notify/alarm-queue.c:1123
msgid "Warning"
msgstr "Varování"
-#: calendar/gui/alarm-notify/alarm-queue.c:1088
+#: calendar/gui/alarm-notify/alarm-queue.c:1103
msgid ""
"Evolution does not support calendar reminders with\n"
"email notifications yet, but this reminder was\n"
@@ -4301,7 +4301,7 @@ msgstr ""
"vytvořena k poslání e-mailu. Evolution namísto toho\n"
"zobrazí dialogové okno pro běžnou připomínku."
-#: calendar/gui/alarm-notify/alarm-queue.c:1114
+#: calendar/gui/alarm-notify/alarm-queue.c:1129
#, c-format
msgid ""
"An Evolution Calendar reminder is about to trigger. This reminder is "
@@ -4318,7 +4318,7 @@ msgstr ""
"\n"
"Opravdu chcete spustit tento program?"
-#: calendar/gui/alarm-notify/alarm-queue.c:1128
+#: calendar/gui/alarm-notify/alarm-queue.c:1143
msgid "Do not ask me about this program again."
msgstr "Příště se neptat na tento program."
@@ -4797,7 +4797,7 @@ msgstr "Metoda nepodporována při otevírání kalendáře"
msgid "Permission denied to open the calendar"
msgstr "Přístup zamítnut při otevírání kalendáře"
-#: calendar/gui/comp-editor-factory.c:437 shell/e-shell.c:1259
+#: calendar/gui/comp-editor-factory.c:437 shell/e-shell.c:1264
msgid "Unknown error"
msgstr "Neznámá chyba"
@@ -4938,7 +4938,7 @@ msgid "%.0fG"
msgstr "%.0fG"
#: calendar/gui/dialogs/cal-attachment-bar.c:298
-#: calendar/gui/dialogs/cal-attachment-bar.c:913
+#: calendar/gui/dialogs/cal-attachment-bar.c:922
#: composer/e-msg-composer-attachment-bar.c:295 mail/em-utils.c:436
msgid "attachment"
msgstr "příloha"
@@ -5017,7 +5017,7 @@ msgid "MIME type:"
msgstr "Typ MIME:"
#. g_object_set((GObject *)renderer, "activatable", TRUE, NULL);
-#: calendar/gui/dialogs/cal-prefs-dialog.c:576 mail/em-account-prefs.c:460
+#: calendar/gui/dialogs/cal-prefs-dialog.c:576 mail/em-account-prefs.c:476
#: mail/em-composer-prefs.c:888 plugins/plugin-manager/plugin-manager.c:213
msgid "Enabled"
msgstr "Povoleno"
@@ -5036,15 +5036,15 @@ msgstr "Neodstraňovat"
#: calendar/gui/dialogs/cal-prefs-dialog.c:787
#: calendar/gui/dialogs/cal-prefs-dialog.c:820
-#: calendar/gui/dialogs/cal-prefs-dialog.c:853 mail/em-account-prefs.c:307
-#: mail/em-account-prefs.c:335 mail/em-account-prefs.c:366
+#: calendar/gui/dialogs/cal-prefs-dialog.c:853 mail/em-account-prefs.c:323
+#: mail/em-account-prefs.c:351 mail/em-account-prefs.c:382
msgid "Disable"
msgstr "Zakázat"
#: calendar/gui/dialogs/cal-prefs-dialog.c:787
#: calendar/gui/dialogs/cal-prefs-dialog.c:820
-#: calendar/gui/dialogs/cal-prefs-dialog.c:855 mail/em-account-prefs.c:307
-#: mail/em-account-prefs.c:335 mail/em-account-prefs.c:368
+#: calendar/gui/dialogs/cal-prefs-dialog.c:855 mail/em-account-prefs.c:323
+#: mail/em-account-prefs.c:351 mail/em-account-prefs.c:384
msgid "Enable"
msgstr "Povolit"
@@ -5443,8 +5443,8 @@ msgstr[2] "%d připojených zpráv"
#: calendar/gui/dialogs/comp-editor.c:412 calendar/gui/e-calendar-table.c:1164
#: calendar/gui/e-calendar-view.c:1402 composer/e-msg-composer.c:2906
-#: mail/em-folder-tree.c:1046 mail/em-folder-view.c:973
-#: mail/message-list.c:1712 ui/evolution-addressbook.xml.h:31
+#: mail/em-folder-tree.c:1046 mail/em-folder-view.c:966
+#: mail/message-list.c:1707 ui/evolution-addressbook.xml.h:31
#: ui/evolution-calendar.xml.h:39 ui/evolution-composer-entries.xml.h:7
#: ui/evolution-mail-message.xml.h:105 ui/evolution-tasks.xml.h:20
msgid "_Copy"
@@ -5452,20 +5452,20 @@ msgstr "_Kopírovat"
#: calendar/gui/dialogs/comp-editor.c:413 composer/e-msg-composer.c:2907
#: mail/em-folder-tree.c:1047 mail/em-folder-tree.c:2311
-#: mail/em-folder-view.c:869 mail/message-list.c:1713
+#: mail/em-folder-view.c:862 mail/message-list.c:1708
msgid "_Move"
msgstr "_Přesunout"
#: calendar/gui/dialogs/comp-editor.c:415 composer/e-msg-composer.c:2909
-#: mail/em-folder-tree.c:1049 mail/message-list.c:1715
+#: mail/em-folder-tree.c:1049 mail/message-list.c:1710
msgid "Cancel _Drag"
msgstr "Zrušit _tažení"
-#: calendar/gui/dialogs/comp-editor.c:659
+#: calendar/gui/dialogs/comp-editor.c:682
msgid "Could not update object"
msgstr "Nemohu aktualizovat objekt"
-#: calendar/gui/dialogs/comp-editor.c:820 composer/e-msg-composer.c:2310
+#: calendar/gui/dialogs/comp-editor.c:843 composer/e-msg-composer.c:2310
#, c-format
msgid "<b>%d</b> File Attached"
msgid_plural "<b>%d</b> Files Attached"
@@ -5473,68 +5473,68 @@ msgstr[0] "<b>%d</b> přiložený soubor"
msgstr[1] "<b>%d</b> přiložené soubory"
msgstr[2] "<b>%d</b> přiložených souborů"
-#: calendar/gui/dialogs/comp-editor.c:873 composer/e-msg-composer.c:2339
+#: calendar/gui/dialogs/comp-editor.c:900 composer/e-msg-composer.c:2339
msgid "Hide _Attachment Bar (drop attachments here)"
msgstr "Skrýt lištu _příloh (sem pouštějte přílohy)"
-#: calendar/gui/dialogs/comp-editor.c:876
-#: calendar/gui/dialogs/comp-editor.c:928 composer/e-msg-composer.c:2342
+#: calendar/gui/dialogs/comp-editor.c:903
+#: calendar/gui/dialogs/comp-editor.c:955 composer/e-msg-composer.c:2342
#: composer/e-msg-composer.c:3471
msgid "Show _Attachment Bar (drop attachments here)"
msgstr "Zobrazit lištu _příloh (sem pouštějte přílohy)"
-#: calendar/gui/dialogs/comp-editor.c:952 composer/e-msg-composer.c:3493
+#: calendar/gui/dialogs/comp-editor.c:979 composer/e-msg-composer.c:3493
msgid "Attachment Button: Press space key to toggle attachment bar"
msgstr "TlaÄítko přílohy: PÅ™epnÄ›te liÅ¡tu příloh stisknutím mezery"
-#: calendar/gui/dialogs/comp-editor.c:1499
-#: calendar/gui/dialogs/comp-editor.c:1542
+#: calendar/gui/dialogs/comp-editor.c:1526
+#: calendar/gui/dialogs/comp-editor.c:1569
msgid "Edit Appointment"
msgstr "Upravit událost"
-#: calendar/gui/dialogs/comp-editor.c:1505
-#: calendar/gui/dialogs/comp-editor.c:1548
+#: calendar/gui/dialogs/comp-editor.c:1532
+#: calendar/gui/dialogs/comp-editor.c:1575
#, c-format
msgid "Meeting - %s"
msgstr "Schůzka - %s"
-#: calendar/gui/dialogs/comp-editor.c:1507
-#: calendar/gui/dialogs/comp-editor.c:1550
+#: calendar/gui/dialogs/comp-editor.c:1534
+#: calendar/gui/dialogs/comp-editor.c:1577
#, c-format
msgid "Appointment - %s"
msgstr "Událost - %s"
-#: calendar/gui/dialogs/comp-editor.c:1511
-#: calendar/gui/dialogs/comp-editor.c:1554
+#: calendar/gui/dialogs/comp-editor.c:1538
+#: calendar/gui/dialogs/comp-editor.c:1581
#, c-format
msgid "Assigned Task - %s"
msgstr "Přidělený úkol - %s"
-#: calendar/gui/dialogs/comp-editor.c:1513
-#: calendar/gui/dialogs/comp-editor.c:1556
+#: calendar/gui/dialogs/comp-editor.c:1540
+#: calendar/gui/dialogs/comp-editor.c:1583
#, c-format
msgid "Task - %s"
msgstr "Úkol - %s"
-#: calendar/gui/dialogs/comp-editor.c:1516
-#: calendar/gui/dialogs/comp-editor.c:1559
+#: calendar/gui/dialogs/comp-editor.c:1543
+#: calendar/gui/dialogs/comp-editor.c:1586
#, c-format
msgid "Journal entry - %s"
msgstr "Zápis v deníku - %s"
-#: calendar/gui/dialogs/comp-editor.c:1527
-#: calendar/gui/dialogs/comp-editor.c:1569
+#: calendar/gui/dialogs/comp-editor.c:1554
+#: calendar/gui/dialogs/comp-editor.c:1596
msgid "No summary"
msgstr "Není shrnutí"
-#: calendar/gui/dialogs/comp-editor.c:2001
-#: calendar/gui/dialogs/comp-editor.c:2034
-#: calendar/gui/dialogs/comp-editor.c:2058
+#: calendar/gui/dialogs/comp-editor.c:2030
+#: calendar/gui/dialogs/comp-editor.c:2063
+#: calendar/gui/dialogs/comp-editor.c:2087
msgid "Changes made to this item may be discarded if an update arrives"
msgstr ""
"Změny provedené v této položce mohou být ztraceny, pokud dorazí aktualizace"
-#: calendar/gui/dialogs/comp-editor.c:2082
+#: calendar/gui/dialogs/comp-editor.c:2111
msgid "Unable to use current version!"
msgstr "Nemohu používat aktuální verzi!"
@@ -5800,8 +5800,8 @@ msgstr "_ZaÄátek:"
#: calendar/gui/dialogs/meeting-page.glade.h:5
#: calendar/gui/e-cal-model-tasks.c:652 calendar/gui/e-itip-control.c:1104
#: composer/e-msg-composer.c:2117 filter/filter-rule.c:878
-#: mail/em-account-editor.c:683 mail/em-account-editor.c:1289
-#: mail/em-account-prefs.c:421 mail/em-folder-view.c:1000
+#: mail/em-account-editor.c:685 mail/em-account-editor.c:1291
+#: mail/em-account-prefs.c:437 mail/em-folder-view.c:993
#: plugins/calendar-weather/calendar-weather.c:371
#: plugins/calendar-weather/calendar-weather.c:425
#: plugins/itip-formatter/itip-formatter.c:1376
@@ -5828,7 +5828,7 @@ msgid "_Delegate To..."
msgstr "_Postoupit komu..."
#: calendar/gui/dialogs/meeting-page.etspec.h:1
-#: calendar/gui/e-meeting-list-view.c:235
+#: calendar/gui/e-meeting-list-view.c:308
#: calendar/gui/e-meeting-time-sel.etspec.h:1
msgid "Attendee"
msgstr "ÚÄastník"
@@ -5864,7 +5864,7 @@ msgid "Member"
msgstr "ÄŒlen"
#: calendar/gui/dialogs/meeting-page.etspec.h:8
-#: calendar/gui/e-meeting-list-view.c:258
+#: calendar/gui/e-meeting-list-view.c:333
#: calendar/gui/e-meeting-time-sel.etspec.h:8
msgid "RSVP"
msgstr "RSVP"
@@ -5872,7 +5872,7 @@ msgstr "RSVP"
#: calendar/gui/dialogs/meeting-page.etspec.h:10
#: calendar/gui/dialogs/task-editor.c:146
#: calendar/gui/e-calendar-table.etspec.h:10
-#: calendar/gui/e-meeting-list-view.c:265
+#: calendar/gui/e-meeting-list-view.c:340
#: calendar/gui/e-meeting-time-sel.etspec.h:10 mail/em-filter-i18n.h:63
#: mail/message-list.etspec.h:12
msgid "Status"
@@ -5940,32 +5940,32 @@ msgstr "Skupina seznamů úkolů"
msgid "Task List Name"
msgstr "Název seznamu úkolů"
-#: calendar/gui/dialogs/recur-comp.c:51
+#: calendar/gui/dialogs/recur-comp.c:52
msgid "You are modifying a recurring event, what would you like to modify?"
msgstr "Měníte opakující se událost, co chcete změnit?"
-#: calendar/gui/dialogs/recur-comp.c:55
+#: calendar/gui/dialogs/recur-comp.c:56
msgid "You are modifying a recurring task, what would you like to modify?"
msgstr "Měníte opakující se úkol, co chcete změnit?"
-#: calendar/gui/dialogs/recur-comp.c:59
+#: calendar/gui/dialogs/recur-comp.c:60
msgid ""
"You are modifying a recurring journal entry, what would you like to modify?"
msgstr "Měníte opakující se zápis v deníku, co chcete změnit?"
-#: calendar/gui/dialogs/recur-comp.c:87
+#: calendar/gui/dialogs/recur-comp.c:88
msgid "This Instance Only"
msgstr "Jen tuto instanci"
-#: calendar/gui/dialogs/recur-comp.c:91
+#: calendar/gui/dialogs/recur-comp.c:92
msgid "This and Prior Instances"
msgstr "Tuto a předchozí instance"
-#: calendar/gui/dialogs/recur-comp.c:97
+#: calendar/gui/dialogs/recur-comp.c:98
msgid "This and Future Instances"
msgstr "Tuto a budoucí instance"
-#: calendar/gui/dialogs/recur-comp.c:102
+#: calendar/gui/dialogs/recur-comp.c:103
msgid "All Instances"
msgstr "VÅ¡echny instance"
@@ -6096,7 +6096,7 @@ msgstr "DokonÄeno"
#: calendar/gui/dialogs/task-details-page.glade.h:5
#: calendar/gui/e-cal-component-preview.c:248
-#: calendar/gui/e-calendar-table.c:382 mail/message-list.c:1011
+#: calendar/gui/e-calendar-table.c:382 mail/message-list.c:1006
msgid "High"
msgstr "Vysoká"
@@ -6110,13 +6110,13 @@ msgstr "Probíhá"
#: calendar/gui/dialogs/task-details-page.glade.h:7
#: calendar/gui/e-cal-component-preview.c:252
-#: calendar/gui/e-calendar-table.c:384 mail/message-list.c:1009
+#: calendar/gui/e-calendar-table.c:384 mail/message-list.c:1004
msgid "Low"
msgstr "Nízká"
#: calendar/gui/dialogs/task-details-page.glade.h:8
#: calendar/gui/e-cal-component-preview.c:250 calendar/gui/e-cal-model.c:899
-#: calendar/gui/e-calendar-table.c:383 mail/message-list.c:1010
+#: calendar/gui/e-calendar-table.c:383 mail/message-list.c:1005
msgid "Normal"
msgstr "Normální"
@@ -6256,7 +6256,7 @@ msgstr[2] "%d týdnů"
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
-msgstr[0] "%d hodinu"
+msgstr[0] "%d hodina"
msgstr[1] "%d hodiny"
msgstr[2] "%d hodin"
@@ -6264,7 +6264,7 @@ msgstr[2] "%d hodin"
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
-msgstr[0] "%d minutu"
+msgstr[0] "%d minuta"
msgstr[1] "%d minuty"
msgstr[2] "%d minut"
@@ -6272,7 +6272,7 @@ msgstr[2] "%d minut"
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
-msgstr[0] "%d sekundu"
+msgstr[0] "%d sekunda"
msgstr[1] "%d sekundy"
msgstr[2] "%d sekund"
@@ -6320,7 +6320,7 @@ msgstr "%s při %s"
msgid "%s for an unknown trigger type"
msgstr "%s pro neznámý typ spouštění"
-#: calendar/gui/e-cal-component-preview.c:70 mail/em-folder-view.c:2588
+#: calendar/gui/e-cal-component-preview.c:70 mail/em-folder-view.c:2573
#, c-format
msgid "Click to open %s"
msgstr "Kliknutím sem otevřete %s"
@@ -6348,7 +6348,7 @@ msgstr "Termín dokonÄení:"
#. Status
#: calendar/gui/e-cal-component-preview.c:222
#: calendar/gui/e-itip-control.c:1132
-#: plugins/exchange-account-setup/exchange-account-setup.c:129
+#: plugins/exchange-account-setup/exchange-account-setup.c:209
#: plugins/itip-formatter/itip-view.c:884
msgid "Status:"
msgstr "Stav"
@@ -6426,7 +6426,7 @@ msgstr "Ne"
#: calendar/gui/e-meeting-list-view.c:139
#: calendar/gui/e-meeting-list-view.c:153 calendar/gui/e-meeting-store.c:124
#: calendar/gui/e-meeting-store.c:159 calendar/gui/e-meeting-store.c:224
-#: mail/em-utils.c:1157 plugins/itip-formatter/itip-formatter.c:251
+#: mail/em-utils.c:1173 plugins/itip-formatter/itip-formatter.c:251
#: plugins/itip-formatter/itip-formatter.c:1398
#: plugins/plugin-manager/plugin-manager.c:72 shell/e-component-registry.c:201
#: shell/e-component-registry.c:205 widgets/misc/e-charset-picker.c:62
@@ -6512,7 +6512,7 @@ msgid "Open _Web Page"
msgstr "Otevřít _WWW stránku"
#: calendar/gui/e-calendar-table.c:1158 calendar/gui/e-calendar-view.c:1396
-#: mail/em-folder-view.c:983 mail/em-popup.c:493
+#: mail/em-folder-view.c:976 mail/em-popup.c:494
#: ui/evolution-mail-message.xml.h:124
msgid "_Save As..."
msgstr "_Uložit jako..."
@@ -6555,7 +6555,7 @@ msgstr "OznaÄit _vybrané úkoly jako dokonÄené"
#. FIXME: need to disable for undeletable folders
#: calendar/gui/e-calendar-table.c:1176 calendar/gui/e-calendar-view.c:1414
-#: mail/em-folder-tree.c:2814 mail/em-folder-view.c:987
+#: mail/em-folder-tree.c:2814 mail/em-folder-view.c:980
#: ui/evolution-addressbook.xml.h:33 ui/evolution-calendar.xml.h:40
#: ui/evolution-mail-message.xml.h:108 ui/evolution-tasks.xml.h:21
msgid "_Delete"
@@ -6835,18 +6835,18 @@ msgstr ""
#: calendar/gui/e-itip-control.c:1137 calendar/gui/e-meeting-list-view.c:175
#: calendar/gui/e-meeting-store.c:188 calendar/gui/e-meeting-store.c:211
-#: calendar/gui/itip-utils.c:422 plugins/itip-formatter/itip-formatter.c:1389
+#: calendar/gui/itip-utils.c:421 plugins/itip-formatter/itip-formatter.c:1389
msgid "Accepted"
msgstr "Akceptováno"
-#: calendar/gui/e-itip-control.c:1141 calendar/gui/itip-utils.c:425
+#: calendar/gui/e-itip-control.c:1141 calendar/gui/itip-utils.c:424
#: plugins/itip-formatter/itip-formatter.c:1392
msgid "Tentatively Accepted"
msgstr "Předběžně akceptováno"
#: calendar/gui/e-itip-control.c:1145 calendar/gui/e-meeting-list-view.c:176
#: calendar/gui/e-meeting-store.c:190 calendar/gui/e-meeting-store.c:213
-#: calendar/gui/itip-utils.c:428 calendar/gui/itip-utils.c:454
+#: calendar/gui/itip-utils.c:427 calendar/gui/itip-utils.c:453
#: plugins/itip-formatter/itip-formatter.c:1395
msgid "Declined"
msgstr "Zamítnuto"
@@ -7114,7 +7114,7 @@ msgstr "Aktualizovat stav respondenta"
msgid "Send Latest Information"
msgstr "Poslat nejnovější informace"
-#: calendar/gui/e-itip-control.c:2375 calendar/gui/itip-utils.c:442
+#: calendar/gui/e-itip-control.c:2375 calendar/gui/itip-utils.c:441
#: mail/mail-send-recv.c:414 mail/mail-send-recv.c:466
#: ui/evolution-mail-global.xml.h:1
msgid "Cancel"
@@ -7453,57 +7453,57 @@ msgstr "září"
msgid "_Select Today"
msgstr "_Vybrat dnešek"
-#: calendar/gui/itip-utils.c:271 calendar/gui/itip-utils.c:319
-#: calendar/gui/itip-utils.c:351
+#: calendar/gui/itip-utils.c:270 calendar/gui/itip-utils.c:318
+#: calendar/gui/itip-utils.c:350
msgid "An organizer must be set."
msgstr "Musí být stanoven organizátor."
-#: calendar/gui/itip-utils.c:306
+#: calendar/gui/itip-utils.c:305
msgid "At least one attendee is necessary"
msgstr "Alespoň jeden úÄastník je nezbytný"
-#: calendar/gui/itip-utils.c:394 calendar/gui/itip-utils.c:503
+#: calendar/gui/itip-utils.c:393 calendar/gui/itip-utils.c:502
msgid "Event information"
msgstr "Informace o události"
-#: calendar/gui/itip-utils.c:396 calendar/gui/itip-utils.c:505
+#: calendar/gui/itip-utils.c:395 calendar/gui/itip-utils.c:504
msgid "Task information"
msgstr "Informace o úkolu"
-#: calendar/gui/itip-utils.c:398 calendar/gui/itip-utils.c:507
+#: calendar/gui/itip-utils.c:397 calendar/gui/itip-utils.c:506
msgid "Journal information"
msgstr "Informace o deníku"
-#: calendar/gui/itip-utils.c:400 calendar/gui/itip-utils.c:525
+#: calendar/gui/itip-utils.c:399 calendar/gui/itip-utils.c:524
msgid "Free/Busy information"
msgstr "Informace o volném/obsazeném Äase"
-#: calendar/gui/itip-utils.c:402
+#: calendar/gui/itip-utils.c:401
msgid "Calendar information"
msgstr "Informace o kalendáři"
-#: calendar/gui/itip-utils.c:438
+#: calendar/gui/itip-utils.c:437
msgid "Updated"
msgstr "Aktualizováno"
-#: calendar/gui/itip-utils.c:446
+#: calendar/gui/itip-utils.c:445
msgid "Refresh"
msgstr "Obnovit"
-#: calendar/gui/itip-utils.c:450
+#: calendar/gui/itip-utils.c:449
msgid "Counter-proposal"
msgstr "Protinávrh"
-#: calendar/gui/itip-utils.c:521
+#: calendar/gui/itip-utils.c:520
#, c-format
msgid "Free/Busy information (%s to %s)"
msgstr "Informace o volném Äase (%s do %s)"
-#: calendar/gui/itip-utils.c:531
+#: calendar/gui/itip-utils.c:530
msgid "iCalendar information"
msgstr "Informace iCalendar"
-#: calendar/gui/itip-utils.c:673
+#: calendar/gui/itip-utils.c:672
msgid "You must be an attendee of the event."
msgstr "Musíte být úÄastníkem události."
@@ -7782,7 +7782,7 @@ msgstr[0] "%d úkol"
msgstr[1] "%d úkoly"
msgstr[2] "%d úkolů"
-#: calendar/gui/tasks-component.c:506 mail/mail-component.c:523
+#: calendar/gui/tasks-component.c:506 mail/mail-component.c:544
#, c-format
msgid ", %d selected"
msgid_plural ", %d selected"
@@ -9553,8 +9553,8 @@ msgstr "Nepojmenovaná zpráva"
msgid "Open File"
msgstr "Otevřít soubor"
-#: composer/e-msg-composer.c:2001 mail/em-account-editor.c:586
-#: mail/em-account-editor.c:631 mail/em-account-editor.c:698
+#: composer/e-msg-composer.c:2001 mail/em-account-editor.c:588
+#: mail/em-account-editor.c:633 mail/em-account-editor.c:700
msgid "Autogenerated"
msgstr "automatický"
@@ -9733,7 +9733,7 @@ msgstr ""
"Ujistěte se prosím, že máte nainstalovánu správnou verzi gtkhtml a "
"libgtkhtml."
-#: data/evolution.desktop.in.in.h:1 shell/main.c:520
+#: data/evolution.desktop.in.in.h:1 shell/main.c:521
msgid "Evolution"
msgstr "Evolution"
@@ -9865,14 +9865,6 @@ msgstr ""
msgid "Overwrite file?"
msgstr "Přepsat soubor?"
-#: e-util/e-passwords.c:472
-msgid "_Remember this password"
-msgstr "_Zapamatovat si toto heslo"
-
-#: e-util/e-passwords.c:473
-msgid "_Remember this password for the remainder of this session"
-msgstr "_Zapamatovat si toto heslo pro zbytek tohoto sezení"
-
#. strptime format of a weekday, a date and a time,
#. in 12-hour format, without seconds.
#. strftime format of a weekday, a date and a
@@ -10109,19 +10101,19 @@ msgstr "Vyberte prosím jiný název."
msgid "Choose a file"
msgstr "Vybrat soubor"
-#: filter/filter-label.c:121 mail/em-filter-i18n.h:26 mail/em-migrate.c:1011
-#: mail/mail-config.c:75 mail/mail-config.glade.h:90
+#: filter/filter-label.c:121 mail/em-filter-i18n.h:26 mail/em-migrate.c:1041
+#: mail/mail-config.c:76 mail/mail-config.glade.h:90
msgid "Important"
msgstr "Důležité"
#. forest green
-#: filter/filter-label.c:124 mail/em-migrate.c:1014 mail/mail-config.c:78
+#: filter/filter-label.c:124 mail/em-migrate.c:1044 mail/mail-config.c:79
#: mail/mail-config.glade.h:140
msgid "To Do"
msgstr "Udělat"
#. blue
-#: filter/filter-label.c:125 mail/em-migrate.c:1015 mail/mail-config.c:79
+#: filter/filter-label.c:125 mail/em-migrate.c:1045 mail/mail-config.c:80
#: mail/mail-config.glade.h:93
msgid "Later"
msgstr "Později"
@@ -10291,10 +10283,10 @@ msgstr "Ovládací prvek nastavení editoru zpráv pošty Evolution"
msgid "Evolution Mail preferences control"
msgstr "Ovládací prvek nastavení pošty Evolution."
-#: mail/GNOME_Evolution_Mail.server.in.in.h:11 mail/em-folder-view.c:473
+#: mail/GNOME_Evolution_Mail.server.in.in.h:11 mail/em-folder-view.c:469
#: mail/importers/elm-importer.c:418 mail/importers/netscape-importer.c:1902
-#: mail/importers/pine-importer.c:474 mail/mail-component.c:536
-#: mail/mail-component.c:587
+#: mail/importers/pine-importer.c:474 mail/mail-component.c:557
+#: mail/mail-component.c:608
msgid "Mail"
msgstr "Pošta"
@@ -10310,12 +10302,12 @@ msgstr "Nastavení pošty"
msgid "_Mail"
msgstr "_Pošta"
-#: mail/em-account-editor.c:385
+#: mail/em-account-editor.c:387
#, c-format
msgid "%s License Agreement"
msgstr "LicenÄní smlouva %s"
-#: mail/em-account-editor.c:392
+#: mail/em-account-editor.c:394
#, c-format
msgid ""
"\n"
@@ -10328,67 +10320,67 @@ msgstr ""
"pro %s zobrazenou níže\n"
"a přijměte ji zaškrtnutím pole\n"
-#: mail/em-account-editor.c:462 mail/em-filter-folder-element.c:237
+#: mail/em-account-editor.c:464 mail/em-filter-folder-element.c:237
#: mail/em-vfolder-rule.c:494
msgid "Select Folder"
msgstr "Vybrat složku"
-#: mail/em-account-editor.c:1662 mail/mail-config.glade.h:89
+#: mail/em-account-editor.c:1664 mail/mail-config.glade.h:89
msgid "Identity"
msgstr "Identita"
-#: mail/em-account-editor.c:1698 mail/mail-config.glade.h:114
+#: mail/em-account-editor.c:1700 mail/mail-config.glade.h:114
msgid "Receiving Email"
msgstr "Příjem pošty"
-#: mail/em-account-editor.c:1875
+#: mail/em-account-editor.c:1877
msgid "Automatically check for _new mail every"
msgstr "_Automaticky kontrolovat novou poštu každých"
-#: mail/em-account-editor.c:2044 mail/mail-config.glade.h:124
+#: mail/em-account-editor.c:2045 mail/mail-config.glade.h:124
msgid "Sending Email"
msgstr "Posílání pošty"
-#: mail/em-account-editor.c:2088 mail/mail-config.glade.h:67
+#: mail/em-account-editor.c:2089 mail/mail-config.glade.h:67
msgid "Defaults"
msgstr "Implicitní hodnoty"
-#: mail/em-account-editor.c:2147 mail/mail-config.glade.h:119
+#: mail/em-account-editor.c:2148 mail/mail-config.glade.h:119
msgid "Security"
msgstr "ZabezpeÄení"
#. Most sections for this is auto-generated fromt the camel config
-#: mail/em-account-editor.c:2184 mail/em-account-editor.c:2259
+#: mail/em-account-editor.c:2185 mail/em-account-editor.c:2260
msgid "Receiving Options"
msgstr "Možnosti příjmu"
-#: mail/em-account-editor.c:2185 mail/em-account-editor.c:2260
+#: mail/em-account-editor.c:2186 mail/em-account-editor.c:2261
msgid "Checking for New Mail"
msgstr "Kontrola nové pošty"
-#: mail/em-account-editor.c:2600 mail/mail-config.glade.h:33
+#: mail/em-account-editor.c:2585 mail/mail-config.glade.h:33
msgid "Account Editor"
msgstr "Editor úÄtu"
-#: mail/em-account-editor.c:2600 mail/mail-config.glade.h:79
+#: mail/em-account-editor.c:2585 mail/mail-config.glade.h:79
msgid "Evolution Account Assistant"
msgstr "Asistent pro úÄet Evolution"
#. translators: default account indicator
-#: mail/em-account-prefs.c:412
+#: mail/em-account-prefs.c:428
msgid "[Default]"
msgstr "[Implicitní]"
-#: mail/em-account-prefs.c:466
+#: mail/em-account-prefs.c:482
msgid "Account name"
msgstr "Název úÄtu"
-#: mail/em-account-prefs.c:468
+#: mail/em-account-prefs.c:484
msgid "Protocol"
msgstr "Protokol"
#: mail/em-composer-prefs.c:306 mail/em-composer-prefs.c:429
-#: mail/mail-config.c:934
+#: mail/mail-config.c:935
msgid "Unnamed"
msgstr "Beze jména"
@@ -10404,18 +10396,18 @@ msgstr "Přidat skript podpisu"
msgid "Signature(s)"
msgstr "Podpisy"
-#: mail/em-composer-utils.c:910
+#: mail/em-composer-utils.c:911
msgid "-------- Forwarded Message --------"
msgstr "-------- Přeposlaná zpráva --------"
-#: mail/em-composer-utils.c:1526
+#: mail/em-composer-utils.c:1521
msgid "an unknown sender"
msgstr "neznámý odesílatel"
#. Note to translators: this is the attribution string used when quoting messages.
#. * each ${Variable} gets replaced with a value. To see a full list of available
#. * variables, see em-composer-utils.c:1514
-#: mail/em-composer-utils.c:1573
+#: mail/em-composer-utils.c:1568
msgid ""
"On ${AbbrevWeekdayName}, ${Year}-${Month}-${Day} at ${24Hour}:${Minute} "
"${TimeZone}, ${Sender} wrote:"
@@ -10561,7 +10553,7 @@ msgstr "Smetí"
msgid "Junk Test"
msgstr "Test na smetí"
-#: mail/em-filter-i18n.h:37 mail/em-folder-view.c:999
+#: mail/em-filter-i18n.h:37 mail/em-folder-view.c:992
#: widgets/misc/e-expander.c:189
msgid "Label"
msgstr "Štítek"
@@ -10718,7 +10710,7 @@ msgid "Create New Folder"
msgstr "Vytvořit novou složku"
#: mail/em-folder-selector.c:166 mail/em-folder-tree.c:2527
-#: mail/mail-component.c:739 plugins/shared-folder/install-shared.c:144
+#: mail/mail-component.c:770 plugins/shared-folder/install-shared.c:144
#: plugins/shared-folder/share-folder-common.c:345
msgid "Specify where to create the folder:"
msgstr "Upřesněte, kde chcete vytvořit složku:"
@@ -10741,20 +10733,20 @@ msgstr "V-složky"
msgid "UNMATCHED"
msgstr "NEPŘIŘAZENÉ"
-#: mail/em-folder-tree-model.c:468 mail/mail-component.c:139
+#: mail/em-folder-tree-model.c:468 mail/mail-component.c:142
msgid "Drafts"
msgstr "Koncepty"
#. translators: standard local mailbox names
-#: mail/em-folder-tree-model.c:471 mail/mail-component.c:138
+#: mail/em-folder-tree-model.c:471 mail/mail-component.c:141
msgid "Inbox"
msgstr "Příchozí"
-#: mail/em-folder-tree-model.c:474 mail/mail-component.c:140
+#: mail/em-folder-tree-model.c:474 mail/mail-component.c:143
msgid "Outbox"
msgstr "K odeslání"
-#: mail/em-folder-tree-model.c:476 mail/mail-component.c:141
+#: mail/em-folder-tree-model.c:476 mail/mail-component.c:144
msgid "Sent"
msgstr "Odeslané"
@@ -10776,12 +10768,12 @@ msgstr "Přesouvám složku %s"
msgid "Copying folder %s"
msgstr "Kopíruji složku %s"
-#: mail/em-folder-tree.c:930 mail/message-list.c:1617
+#: mail/em-folder-tree.c:930 mail/message-list.c:1612
#, c-format
msgid "Moving messages into folder %s"
msgstr "Přesouvám zprávy do složky %s"
-#: mail/em-folder-tree.c:932 mail/message-list.c:1619
+#: mail/em-folder-tree.c:932 mail/message-list.c:1614
#, c-format
msgid "Copying messages into folder %s"
msgstr "Kopíruji zprávy do složky %s"
@@ -10809,13 +10801,13 @@ msgid "Copying `%s' to `%s'"
msgstr "Kopíruji `%s' do `%s'"
#: mail/em-folder-tree.c:2297 mail/em-folder-tree.c:2311
-#: mail/em-folder-view.c:869 mail/em-folder-view.c:884
+#: mail/em-folder-view.c:862 mail/em-folder-view.c:877
#: mail/importers/evolution-mbox-importer.c:120
#: mail/importers/evolution-outlook-importer.c:134
msgid "Select folder"
msgstr "Vyberte složku"
-#: mail/em-folder-tree.c:2297 mail/em-folder-view.c:884
+#: mail/em-folder-tree.c:2297 mail/em-folder-view.c:877
msgid "C_opy"
msgstr "_Kopírovat"
@@ -10824,7 +10816,7 @@ msgstr "_Kopírovat"
msgid "Creating folder `%s'"
msgstr "Vytvářím složku `%s'"
-#: mail/em-folder-tree.c:2527 mail/mail-component.c:739
+#: mail/em-folder-tree.c:2527 mail/mail-component.c:770
#: plugins/shared-folder/install-shared.c:144
#: plugins/shared-folder/share-folder-common.c:345
msgid "Create folder"
@@ -10870,130 +10862,130 @@ msgstr "_Nová složka..."
msgid "_Rename..."
msgstr "_Přejmenovat..."
-#: mail/em-folder-view.c:977 mail/em-popup.c:498
+#: mail/em-folder-view.c:970 mail/em-popup.c:499
#: ui/evolution-mail-message.xml.h:87
msgid "Reply to _All"
msgstr "Odpovědět _všem"
-#: mail/em-folder-view.c:978 ui/evolution-mail-message.xml.h:123
+#: mail/em-folder-view.c:971 ui/evolution-mail-message.xml.h:123
msgid "_Reply to Sender"
msgstr "_Odpovědět odesílateli"
-#: mail/em-folder-view.c:979 mail/em-popup.c:500
+#: mail/em-folder-view.c:972 mail/em-popup.c:501
#: ui/evolution-mail-message.xml.h:110
msgid "_Forward"
msgstr "_Přeposlat"
-#: mail/em-folder-view.c:982 ui/evolution-mail-message.xml.h:109
+#: mail/em-folder-view.c:975 ui/evolution-mail-message.xml.h:109
msgid "_Edit as New Message..."
msgstr "_Upravit jako novou zprávu..."
-#: mail/em-folder-view.c:984
+#: mail/em-folder-view.c:977
msgid "_Print"
msgstr "_Tisknout"
-#: mail/em-folder-view.c:988
+#: mail/em-folder-view.c:981
msgid "U_ndelete"
msgstr "Obnovit _odstraněné"
-#: mail/em-folder-view.c:989
+#: mail/em-folder-view.c:982
msgid "Mo_ve to Folder..."
msgstr "Pře_sunout do složky..."
-#: mail/em-folder-view.c:990 ui/evolution-addressbook.xml.h:32
+#: mail/em-folder-view.c:983 ui/evolution-addressbook.xml.h:32
msgid "_Copy to Folder..."
msgstr "_Kopírovat do složky..."
-#: mail/em-folder-view.c:993
+#: mail/em-folder-view.c:986
msgid "Mark as _Important"
msgstr "OznaÄit jako _důležité"
-#: mail/em-folder-view.c:994
+#: mail/em-folder-view.c:987
msgid "_Mark as Unimportant"
msgstr "OznaÄit jako ne_důležité"
-#: mail/em-folder-view.c:995 ui/evolution-mail-message.xml.h:54
+#: mail/em-folder-view.c:988 ui/evolution-mail-message.xml.h:54
msgid "Mark as _Junk"
msgstr "OznaÄit jako _smetí"
-#: mail/em-folder-view.c:996 ui/evolution-mail-message.xml.h:55
+#: mail/em-folder-view.c:989 ui/evolution-mail-message.xml.h:55
msgid "Mark as _Not Junk"
msgstr "OznaÄit jako ne _smetí"
-#: mail/em-folder-view.c:997
+#: mail/em-folder-view.c:990
msgid "Mark for Follo_w Up..."
msgstr "OznaÄit pro follo_w up..."
-#: mail/em-folder-view.c:1005
+#: mail/em-folder-view.c:998
msgid "Fla_g Completed"
msgstr "OznaÄit jako _dokonÄeno"
-#: mail/em-folder-view.c:1006
+#: mail/em-folder-view.c:999
msgid "Cl_ear Flag"
msgstr "ZruÅ¡it _znaÄku"
-#: mail/em-folder-view.c:1009
+#: mail/em-folder-view.c:1002
msgid "Crea_te Rule From Message"
msgstr "Vy_tvořit pravidlo ze zprávy"
-#: mail/em-folder-view.c:1010
+#: mail/em-folder-view.c:1003
msgid "vFolder on _Subject"
msgstr "V-složka podle _předmětu"
-#: mail/em-folder-view.c:1011
+#: mail/em-folder-view.c:1004
msgid "vFolder on Se_nder"
msgstr "V-složka podle _odesílatele"
-#: mail/em-folder-view.c:1012
+#: mail/em-folder-view.c:1005
msgid "vFolder on _Recipients"
msgstr "V-složka podle příje_mců"
-#: mail/em-folder-view.c:1013
+#: mail/em-folder-view.c:1006
msgid "vFolder on Mailing _List"
msgstr "V-složka podle poštovní _konference"
-#: mail/em-folder-view.c:1017
+#: mail/em-folder-view.c:1010
msgid "Filter on Sub_ject"
msgstr "Filtr podle _předmětu"
-#: mail/em-folder-view.c:1018
+#: mail/em-folder-view.c:1011
msgid "Filter on Sen_der"
msgstr "Filtr podle _odesílatele"
-#: mail/em-folder-view.c:1019
+#: mail/em-folder-view.c:1012
msgid "Filter on Re_cipients"
msgstr "Filtr podle příje_mců"
-#: mail/em-folder-view.c:1020
+#: mail/em-folder-view.c:1013
msgid "Filter on _Mailing List"
msgstr "Filtr podle poštovní _konference"
#. default charset used in mail view
-#: mail/em-folder-view.c:1851 mail/em-folder-view.c:1895
+#: mail/em-folder-view.c:1844 mail/em-folder-view.c:1888
msgid "Default"
msgstr "Implicitní"
-#: mail/em-folder-view.c:1994
+#: mail/em-folder-view.c:1987
msgid "Print Message"
msgstr "Tisknout zprávu"
-#: mail/em-folder-view.c:2293
+#: mail/em-folder-view.c:2295
msgid "_Copy Link Location"
msgstr "_Kopírovat umístění odkazu"
-#: mail/em-folder-view.c:2295
+#: mail/em-folder-view.c:2297
msgid "Create _vFolder"
msgstr "Vytvořit _V-složku"
-#: mail/em-folder-view.c:2296
+#: mail/em-folder-view.c:2298
msgid "_From this Address"
msgstr "_Z této adresy"
-#: mail/em-folder-view.c:2297
+#: mail/em-folder-view.c:2299
msgid "_To this Address"
msgstr "_Na tuto adresu"
-#: mail/em-folder-view.c:2583
+#: mail/em-folder-view.c:2568
#, c-format
msgid "Click to mail %s"
msgstr "Kliknutím sem pošlete e-mail %s"
@@ -11277,7 +11269,7 @@ msgstr "Jednou za týden"
msgid "Once per month"
msgstr "Jednou za měsíc"
-#: mail/em-migrate.c:1168
+#: mail/em-migrate.c:1198
msgid ""
"The location and hierarchy of the Evolution mailbox folders has changed "
"since Evolution 1.x.\n"
@@ -11289,47 +11281,47 @@ msgstr ""
"\n"
"PoÄkejte prosím, než Evolution pÅ™evede vaÅ¡e složky..."
-#: mail/em-migrate.c:1602
+#: mail/em-migrate.c:1632
#, c-format
msgid "Unable to create new folder `%s': %s"
msgstr "Nemohu vytvořit novou složku `%s': %s"
-#: mail/em-migrate.c:1628
+#: mail/em-migrate.c:1658
#, c-format
msgid "Unable to copy folder `%s' to `%s': %s"
msgstr "Nemohu kopírovat složku `%s' do `%s': %s"
-#: mail/em-migrate.c:1813
+#: mail/em-migrate.c:1843
#, c-format
msgid "Unable to scan for existing mailboxes at `%s': %s"
msgstr "Nemohu hledat existující poštovní schránky v `%s': %s"
-#: mail/em-migrate.c:2017
+#: mail/em-migrate.c:2047
#, c-format
msgid "Unable to open old POP keep-on-server data `%s': %s"
msgstr "Nemohu se otevřít stará data o ponechávání na serveru POP `%s': %s"
-#: mail/em-migrate.c:2031
+#: mail/em-migrate.c:2061
#, c-format
msgid "Unable to create POP3 keep-on-server data directory `%s': %s"
msgstr "Nemohu vytvořit adresář dat o ponechávání na serveru POP3 `%s': %s"
-#: mail/em-migrate.c:2060
+#: mail/em-migrate.c:2090
#, c-format
msgid "Unable to copy POP3 keep-on-server data `%s': %s"
msgstr "Nemohu zkopírovat data POP3 ponechávaná na serveru `%s': %s"
-#: mail/em-migrate.c:2494 mail/em-migrate.c:2506
+#: mail/em-migrate.c:2561 mail/em-migrate.c:2573
#, c-format
msgid "Failed to create local mail storage `%s': %s"
msgstr "Nemohu vytvořit místní úložiště pošty `%s': %s"
-#: mail/em-migrate.c:2657
+#: mail/em-migrate.c:2693
#, c-format
msgid "Unable to create local mail folders at `%s': %s"
msgstr "Nemohu vytvořit místní složky pošty v `%s': %s"
-#: mail/em-migrate.c:2675
+#: mail/em-migrate.c:2711
msgid ""
"Unable to read settings from previous Evolution install, `evolution/config."
"xmldb' does not exist or is corrupt."
@@ -11337,40 +11329,40 @@ msgstr ""
"Nemohu Äíst nastavení z pÅ™edchozí instalace Evolution, `evolution/config."
"xmldb' neexistuje nebo je poškozen."
-#: mail/em-popup.c:381
+#: mail/em-popup.c:382
msgid "Save As..."
msgstr "Uložit jako..."
-#: mail/em-popup.c:400
+#: mail/em-popup.c:401
#, c-format
msgid "untitled_image.%s"
msgstr "nepojmenovany_obrazek.%s"
-#: mail/em-popup.c:494
+#: mail/em-popup.c:495
msgid "Set as _Background"
msgstr "Nastavit jako _pozadí"
-#: mail/em-popup.c:496
+#: mail/em-popup.c:497
msgid "_Reply to sender"
msgstr "_Odpovědět odesílateli"
-#: mail/em-popup.c:497 ui/evolution-mail-message.xml.h:88
+#: mail/em-popup.c:498 ui/evolution-mail-message.xml.h:88
msgid "Reply to _List"
msgstr "Odpovědět _do konference"
-#: mail/em-popup.c:548
+#: mail/em-popup.c:549
msgid "_Open Link in Browser"
msgstr "_Otevřít odkaz v prohlížeÄi"
-#: mail/em-popup.c:549
+#: mail/em-popup.c:550
msgid "_Send New Message To..."
msgstr "_Odeslat novou zprávu..."
-#: mail/em-popup.c:550
+#: mail/em-popup.c:551
msgid "_Add to Addressbook"
msgstr "_Přidat do adresáře"
-#: mail/em-popup.c:681
+#: mail/em-popup.c:666
#, c-format
msgid "Open in %s..."
msgstr "Otevřít v %s..."
@@ -11417,7 +11409,7 @@ msgid "Add address"
msgstr "Přidat adresu"
#. Drop filename for messages from a mailbox
-#: mail/em-utils.c:1055
+#: mail/em-utils.c:1071
#, c-format
msgid "Messages from %s"
msgstr "Zprávy z %s"
@@ -12128,7 +12120,7 @@ msgstr "%s konferencí"
msgid "Add Filter Rule"
msgstr "Přidat pravidlo filtru"
-#: mail/mail-component.c:484
+#: mail/mail-component.c:505
#, c-format
msgid "%d deleted"
msgid_plural "%d deleted"
@@ -12136,7 +12128,7 @@ msgstr[0] "%d odstraněna"
msgstr[1] "%d odstraněny"
msgstr[2] "%d odstraněno"
-#: mail/mail-component.c:486
+#: mail/mail-component.c:507
#, c-format
msgid "%d junk"
msgid_plural "%d junk"
@@ -12144,7 +12136,7 @@ msgstr[0] "%d smetí"
msgstr[1] "%d smetí"
msgstr[2] "%d smetí"
-#: mail/mail-component.c:509
+#: mail/mail-component.c:530
#, c-format
msgid "%d draft"
msgid_plural "%d drafts"
@@ -12152,7 +12144,7 @@ msgstr[0] "%d koncept"
msgstr[1] "%d koncepty"
msgstr[2] "%d konceptů"
-#: mail/mail-component.c:511
+#: mail/mail-component.c:532
#, c-format
msgid "%d sent"
msgid_plural "%d sent"
@@ -12160,7 +12152,7 @@ msgstr[0] "%d odeslána"
msgstr[1] "%d odeslány"
msgstr[2] "%d odesláno"
-#: mail/mail-component.c:513
+#: mail/mail-component.c:534
#, c-format
msgid "%d unsent"
msgid_plural "%d unsent"
@@ -12168,7 +12160,7 @@ msgstr[0] "%d neodeslána"
msgstr[1] "%d neodeslány"
msgstr[2] "%d neodesláno"
-#: mail/mail-component.c:517
+#: mail/mail-component.c:538
#, c-format
msgid "%d total"
msgid_plural "%d total"
@@ -12176,7 +12168,7 @@ msgstr[0] "%d celkem"
msgstr[1] "%d celkem"
msgstr[2] "%d celkem"
-#: mail/mail-component.c:519
+#: mail/mail-component.c:540
#, c-format
msgid ", %d unread"
msgid_plural ", %d unread"
@@ -12184,31 +12176,31 @@ msgstr[0] ", %d nepÅ™eÄtena"
msgstr[1] ", %d nepÅ™eÄteny"
msgstr[2] ", %d nepÅ™eÄteno"
-#: mail/mail-component.c:691
+#: mail/mail-component.c:722
msgid "New Mail Message"
msgstr "Nová zpráva"
-#: mail/mail-component.c:692
+#: mail/mail-component.c:723
msgid "_Mail Message"
msgstr "_Zpráva"
-#: mail/mail-component.c:693
+#: mail/mail-component.c:724
msgid "Compose a new mail message"
msgstr "Napsat novou zprávu"
-#: mail/mail-component.c:699
+#: mail/mail-component.c:730
msgid "New Mail Folder"
msgstr "Nová složka pošty"
-#: mail/mail-component.c:700
+#: mail/mail-component.c:731
msgid "Mail _Folder"
msgstr "_Složka pošty"
-#: mail/mail-component.c:701
+#: mail/mail-component.c:732
msgid "Create a new mail folder"
msgstr "Vytvořit novou složku pošty"
-#: mail/mail-component.c:848
+#: mail/mail-component.c:879
msgid "Failed upgrading Mail settings or folders."
msgstr "Nemohu aktualizovat nastavení nebo složky pošty."
@@ -13835,73 +13827,73 @@ msgstr "Upravit V-složku"
msgid "New vFolder"
msgstr "Nová V-složka"
-#: mail/message-list.c:999
+#: mail/message-list.c:994
msgid "Unseen"
msgstr "NepÅ™eÄtené"
-#: mail/message-list.c:1000
+#: mail/message-list.c:995
msgid "Seen"
msgstr "PÅ™eÄtené"
-#: mail/message-list.c:1001
+#: mail/message-list.c:996
msgid "Answered"
msgstr "Odpovězené"
-#: mail/message-list.c:1002
+#: mail/message-list.c:997
msgid "Multiple Unseen Messages"
msgstr "Více nepÅ™eÄtených zpráv"
-#: mail/message-list.c:1003
+#: mail/message-list.c:998
msgid "Multiple Messages"
msgstr "Více zpráv"
-#: mail/message-list.c:1007
+#: mail/message-list.c:1002
msgid "Lowest"
msgstr "Nejnižší"
-#: mail/message-list.c:1008
+#: mail/message-list.c:1003
msgid "Lower"
msgstr "Nižší"
-#: mail/message-list.c:1012
+#: mail/message-list.c:1007
msgid "Higher"
msgstr "Vyšší"
-#: mail/message-list.c:1013
+#: mail/message-list.c:1008
msgid "Highest"
msgstr "Nejvyšší"
-#: mail/message-list.c:1341
+#: mail/message-list.c:1336
msgid "?"
msgstr "?"
#. strftime format of a time,
#. in 12-hour format, without seconds.
-#: mail/message-list.c:1348 plugins/itip-formatter/itip-view.c:189
+#: mail/message-list.c:1343 plugins/itip-formatter/itip-view.c:189
msgid "Today %l:%M %p"
msgstr "Dnes %l:%M %p"
-#: mail/message-list.c:1357
+#: mail/message-list.c:1352
msgid "Yesterday %l:%M %p"
msgstr "VÄera %l:%M %p"
-#: mail/message-list.c:1369
+#: mail/message-list.c:1364
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
-#: mail/message-list.c:1377
+#: mail/message-list.c:1372
msgid "%b %d %l:%M %p"
msgstr "%d %b %l:%M %p"
-#: mail/message-list.c:1379
+#: mail/message-list.c:1374
msgid "%b %d %Y"
msgstr "%d %b %Y"
-#: mail/message-list.c:2046
+#: mail/message-list.c:2041
msgid "Message List"
msgstr "Seznam zpráv"
-#: mail/message-list.c:3386
+#: mail/message-list.c:3384
msgid "Generating message list"
msgstr "Generuji seznam zpráv"
@@ -14124,12 +14116,12 @@ msgid "Mark as default folder"
msgstr "OznaÄit jako implicitní složku"
#. i18n: "Secure Password Authentication" is an Outlookism
-#: plugins/exchange-account-setup/exchange-account-setup.c:53
+#: plugins/exchange-account-setup/exchange-account-setup.c:59
msgid "Secure Password"
msgstr "ZabezpeÄené heslo"
#. i18n: "NTLM" probably doesn't translate
-#: plugins/exchange-account-setup/exchange-account-setup.c:56
+#: plugins/exchange-account-setup/exchange-account-setup.c:62
msgid ""
"This option will connect to the Exchange server using secure password (NTLM) "
"authentication."
@@ -14137,11 +14129,11 @@ msgstr ""
"Tato volba vás pÅ™ipojí k serveru Exchange pomocí zabezpeÄené autentizace "
"heslem (NTLM)."
-#: plugins/exchange-account-setup/exchange-account-setup.c:64
+#: plugins/exchange-account-setup/exchange-account-setup.c:70
msgid "Plaintext Password"
msgstr "Heslo jako Äistý text"
-#: plugins/exchange-account-setup/exchange-account-setup.c:66
+#: plugins/exchange-account-setup/exchange-account-setup.c:72
msgid ""
"This option will connect to the Exchange server using standard plaintext "
"password authentication."
@@ -14150,7 +14142,7 @@ msgstr ""
"heslem pÅ™enášeným jako Äistý text."
#. Description section
-#: plugins/exchange-account-setup/exchange-account-setup.c:113
+#: plugins/exchange-account-setup/exchange-account-setup.c:193
msgid ""
"The message specified below will be automatically sent to \n"
"each person who sends mail to you while you are out of the office."
@@ -14158,37 +14150,39 @@ msgstr ""
"Zpráva zadaná níže bude automaticky poslána každé osobě, která vám pošle\n"
"poštu, když jste mimo kancelář."
-#: plugins/exchange-account-setup/exchange-account-setup.c:140
-msgid "I am in the office"
-msgstr "Jsem v kanceláři"
-
-#: plugins/exchange-account-setup/exchange-account-setup.c:154
+#: plugins/exchange-account-setup/exchange-account-setup.c:221
+#: plugins/exchange-account-setup/exchange-account-setup.c:231
msgid "I am out of the office"
msgstr "Jsem mimo kancelář"
-#: plugins/exchange-account-setup/exchange-account-setup.c:168
+#: plugins/exchange-account-setup/exchange-account-setup.c:224
+#: plugins/exchange-account-setup/exchange-account-setup.c:228
+msgid "I am in the office"
+msgstr "Jsem v kanceláři"
+
+#: plugins/exchange-account-setup/exchange-account-setup.c:257
msgid "Out of office Message:"
msgstr "Zpráva Mimo kancelář:"
-#: plugins/exchange-account-setup/exchange-account-setup.c:194
+#: plugins/exchange-account-setup/exchange-account-setup.c:302
msgid "Exchange Settings"
msgstr "Nastavení Exchange"
-#: plugins/exchange-account-setup/exchange-account-setup.c:332
+#: plugins/exchange-account-setup/exchange-account-setup.c:448
#: plugins/exchange-account-setup/exchange-ask-password.c:200
msgid "_OWA Url:"
msgstr "URL _OWA:"
-#: plugins/exchange-account-setup/exchange-account-setup.c:340
+#: plugins/exchange-account-setup/exchange-account-setup.c:456
#: plugins/exchange-account-setup/exchange-ask-password.c:193
msgid "A_uthenticate"
msgstr "_Autentizovat"
-#: plugins/exchange-account-setup/exchange-account-setup.c:457
+#: plugins/exchange-account-setup/exchange-account-setup.c:664
msgid "Authentication Type"
msgstr "Typ autentizace"
-#: plugins/exchange-account-setup/exchange-account-setup.c:471
+#: plugins/exchange-account-setup/exchange-account-setup.c:678
msgid "Ch_eck for Supported Types"
msgstr "Zjistit podporované _typy"
@@ -14809,7 +14803,7 @@ msgstr "Obalit hodnoty s:"
msgid "Comma separated value format (.csv)"
msgstr "Formát hodnot oddÄ›lených Äárkou (.csv)"
-#: plugins/save-calendar/ical-format.c:120
+#: plugins/save-calendar/ical-format.c:136
msgid "iCalendar format (.ics)"
msgstr "Formát iCalendar (.ics)"
@@ -14817,12 +14811,12 @@ msgstr "Formát iCalendar (.ics)"
msgid "RDF format (.rdf)"
msgstr "Formát RDF (.rdf)"
-#: plugins/save-calendar/save-calendar.c:172
-#: plugins/save-calendar/save-calendar.c:182
+#: plugins/save-calendar/save-calendar.c:171
+#: plugins/save-calendar/save-calendar.c:181
msgid "Select destination file"
msgstr "Zvolte soubor cíle"
-#: plugins/save-calendar/save-calendar.c:217
+#: plugins/save-calendar/save-calendar.c:216
#, c-format
msgid ""
"The suggested filename extension of this filetype (%s) is unused in the "
@@ -14972,7 +14966,7 @@ msgstr "Nastavení tiskárny"
msgid "Skip development warning dialog"
msgstr "Přeskakovat dialog varování o vývoji"
-#: shell/apps_evolution_shell.schemas.in.in.h:11 shell/main.c:475
+#: shell/apps_evolution_shell.schemas.in.in.h:11 shell/main.c:476
msgid "Start in offline mode"
msgstr "Spustit v režimu odpojení"
@@ -15235,46 +15229,46 @@ msgstr "Název složky nesmí obsahovat znak \"#\"."
msgid "'.' and '..' are reserved folder names."
msgstr "'.' a '..' jsou rezervované názvy složek."
-#: shell/e-shell-window-commands.c:67
+#: shell/e-shell-window-commands.c:69
msgid "The GNOME Pilot tools do not appear to be installed on this system."
msgstr "Zdá se, že nemáte nainstalované nástroje pro PalmPilota GNOME."
-#: shell/e-shell-window-commands.c:75
+#: shell/e-shell-window-commands.c:77
#, c-format
msgid "Error executing %s."
msgstr "Chyba při spouštění %s."
-#: shell/e-shell-window-commands.c:124
+#: shell/e-shell-window-commands.c:126
msgid "Bug buddy is not installed."
msgstr "Bug buddy není nainstalován."
-#: shell/e-shell-window-commands.c:132
+#: shell/e-shell-window-commands.c:134
msgid "Bug buddy could not be run."
msgstr "Nemohu spustit bug buddy."
#. The translator-credits string is for translators to list
#. * per language credits for translation, displayed in the
#. * about box
-#: shell/e-shell-window-commands.c:426
+#: shell/e-shell-window-commands.c:501
msgid "translator-credits"
msgstr ""
"Radka Doulíková <doulikova@centrum.cz>\n"
"Michal Bukovjan <bukm@centrum.cz>\n"
"Miloslav TrmaÄ <mitr@volny.cz>"
-#: shell/e-shell-window-commands.c:440
+#: shell/e-shell-window-commands.c:515
msgid "Groupware Suite"
msgstr "Sada groupware"
-#: shell/e-shell-window-commands.c:681
+#: shell/e-shell-window-commands.c:742
msgid "_Work Online"
msgstr "Pracovat _on-line"
-#: shell/e-shell-window-commands.c:694 ui/evolution.xml.h:51
+#: shell/e-shell-window-commands.c:755 ui/evolution.xml.h:51
msgid "_Work Offline"
msgstr "_Pracovat při odpojení"
-#: shell/e-shell-window-commands.c:707 ui/evolution.xml.h:34
+#: shell/e-shell-window-commands.c:768 ui/evolution.xml.h:34
msgid "Work Offline"
msgstr "Pracovat při odpojení"
@@ -15294,37 +15288,37 @@ msgstr ""
"Evolution je nyní off-line. Stiskem tohoto tlaÄítka pÅ™ejdete do režimu on-"
"line."
-#: shell/e-shell-window.c:708
+#: shell/e-shell-window.c:713
#, c-format
msgid "Switch to %s"
msgstr "Přepnout na %s"
-#: shell/e-shell.c:597
+#: shell/e-shell.c:598
msgid "Uknown system error."
msgstr "Neznámá systémová chyba."
-#: shell/e-shell.c:805 shell/e-shell.c:806
+#: shell/e-shell.c:800 shell/e-shell.c:801
#, c-format
msgid "%ld KB"
msgstr "%ld KB"
-#: shell/e-shell.c:1249 widgets/misc/e-cell-date-edit.c:256
+#: shell/e-shell.c:1254 widgets/misc/e-cell-date-edit.c:256
msgid "OK"
msgstr "OK"
-#: shell/e-shell.c:1251
+#: shell/e-shell.c:1256
msgid "Invalid arguments"
msgstr "Neplatné argumenty"
-#: shell/e-shell.c:1253
+#: shell/e-shell.c:1258
msgid "Cannot register on OAF"
msgstr "Nemohu se registrovat u OAF"
-#: shell/e-shell.c:1255
+#: shell/e-shell.c:1260
msgid "Configuration Database not found"
msgstr "Databáze nastavení nebyla nalezena"
-#: shell/e-shell.c:1257
+#: shell/e-shell.c:1262
msgid "Generic error"
msgstr "Obecná chyba"
@@ -15443,7 +15437,7 @@ msgid "Evolution can import data from the following files:"
msgstr "Evolution našel tyto soubory dat vhodné pro import:"
#. Preview/Alpha/Beta version warning message
-#: shell/main.c:237
+#: shell/main.c:238
#, no-c-format
msgid ""
"Hi. Thanks for taking the time to download this preview release\n"
@@ -15478,7 +15472,7 @@ msgstr ""
"Doufáme, že si užijete výsledků naší tvrdé práce a nedoÄkavÄ› Äekáme\n"
"na vaše přispění!\n"
-#: shell/main.c:261
+#: shell/main.c:262
msgid ""
"Thanks\n"
"The Evolution Team\n"
@@ -15486,39 +15480,39 @@ msgstr ""
"Děkujeme\n"
"Tým Evolution\n"
-#: shell/main.c:268
+#: shell/main.c:269
msgid "Don't tell me again"
msgstr "Příště neupozorňovat"
-#: shell/main.c:473
+#: shell/main.c:474
msgid "Start Evolution activating the specified component"
msgstr "Spustit Evolution a aktivovat urÄenou komponentu"
-#: shell/main.c:477
+#: shell/main.c:478
msgid "Start in online mode"
msgstr "Spustit v režimu on-line"
-#: shell/main.c:480
+#: shell/main.c:481
msgid "Forcibly shut down all Evolution components"
msgstr "VynucenÄ› ukonÄit vÅ¡echny komponenty Evolution"
-#: shell/main.c:484
+#: shell/main.c:485
msgid "Forcibly re-migrate from Evolution 1.4"
msgstr "Vynuceně znovu převést z Evolution 1.4"
-#: shell/main.c:487
+#: shell/main.c:488
msgid "Send the debugging output of all components to a file."
msgstr "Poslat ladící výstup ze všech komponent do souboru."
-#: shell/main.c:490
+#: shell/main.c:491
msgid "Disable the mono plugin environment."
msgstr "Zakázat prostředí zásuvných modulů mono."
-#: shell/main.c:493
+#: shell/main.c:494
msgid "Disable loading of any plugins."
msgstr "Zakázat naÄítání vÅ¡ech zásuvných modulů."
-#: shell/main.c:524
+#: shell/main.c:525
#, c-format
msgid ""
"%s: --online and --offline cannot be used together.\n"
@@ -15699,30 +15693,30 @@ msgstr ""
"nedůvěřujete pravosti tohoto certifikátu, pokud zde není uvedeno jinak"
#: smime/gui/certificate-manager.c:134 smime/gui/certificate-manager.c:142
-#: smime/gui/certificate-manager.c:375 smime/gui/certificate-manager.c:383
-#: smime/gui/certificate-manager.c:595 smime/gui/certificate-manager.c:603
+#: smime/gui/certificate-manager.c:377 smime/gui/certificate-manager.c:385
+#: smime/gui/certificate-manager.c:597 smime/gui/certificate-manager.c:605
msgid "Select a cert to import..."
msgstr "Vyberte certifikát, který importovat..."
-#: smime/gui/certificate-manager.c:263 smime/gui/certificate-manager.c:472
-#: smime/gui/certificate-manager.c:690
+#: smime/gui/certificate-manager.c:265 smime/gui/certificate-manager.c:474
+#: smime/gui/certificate-manager.c:692
msgid "Certificate Name"
msgstr "Název certifikátu:"
-#: smime/gui/certificate-manager.c:272 smime/gui/certificate-manager.c:490
+#: smime/gui/certificate-manager.c:274 smime/gui/certificate-manager.c:492
msgid "Purposes"
msgstr "ÚÄely"
-#: smime/gui/certificate-manager.c:281 smime/gui/smime-ui.glade.h:36
+#: smime/gui/certificate-manager.c:283 smime/gui/smime-ui.glade.h:36
#: smime/lib/e-cert.c:569
msgid "Serial Number"
msgstr "Sériové Äíslo"
-#: smime/gui/certificate-manager.c:289
+#: smime/gui/certificate-manager.c:291
msgid "Expires"
msgstr "Vyprší"
-#: smime/gui/certificate-manager.c:481
+#: smime/gui/certificate-manager.c:483
msgid "E-Mail Address"
msgstr "E-mailová adresa"
@@ -18075,6 +18069,12 @@ msgstr "%s (%d%% hotovo)"
msgid "click here to go to url"
msgstr "kliknutím zde přejdete na url"
+#~ msgid "_Remember this password"
+#~ msgstr "_Zapamatovat si toto heslo"
+
+#~ msgid "_Remember this password for the remainder of this session"
+#~ msgstr "_Zapamatovat si toto heslo pro zbytek tohoto sezení"
+
#~ msgid "Mark as _Unread"
#~ msgstr "OznaÄit jako ne_pÅ™eÄtené"
diff --git a/po/da.po b/po/da.po
index d39ab8d500..2177ef880a 100644
--- a/po/da.po
+++ b/po/da.po
@@ -29,8 +29,8 @@ msgid ""
msgstr ""
"Project-Id-Version: evolution\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-03-10 22:48+0100\n"
-"PO-Revision-Date: 2005-03-10 22:49+0100\n"
+"POT-Creation-Date: 2005-03-14 11:21+0100\n"
+"PO-Revision-Date: 2005-03-14 11:21+0100\n"
"Last-Translator: Martin Willemoes Hansen <mwh@sysrq.dk>\n"
"Language-Team: Danish <dansk@klid.dk>\n"
"MIME-Version: 1.0\n"
@@ -62,7 +62,7 @@ msgstr[0] "Aktuel adressebogmappe har %d kort"
msgstr[1] "Aktuel adressebogmappe har %d kort"
#: ../a11y/addressbook/ea-minicard.c:31
-#: ../calendar/gui/alarm-notify/alarm-queue.c:876
+#: ../calendar/gui/alarm-notify/alarm-queue.c:878
#: ../ui/evolution-message-composer.xml.h:10
msgid "Open"
msgstr "Ã…bn"
@@ -668,7 +668,7 @@ msgstr "Godkendelse"
#: ../addressbook/gui/component/addressbook-config.c:914
#: ../addressbook/gui/component/ldap-config.glade.h:18
-#: ../mail/mail-dialogs.glade.h:8 ../smime/gui/smime-ui.glade.h:19
+#: ../mail/mail-dialogs.glade.h:12 ../smime/gui/smime-ui.glade.h:19
msgid "Details"
msgstr "Detaljer"
@@ -770,12 +770,12 @@ msgstr "Kontaktkilde-vælger"
msgid "Accessing LDAP Server anonymously"
msgstr "Tilslutter LDAP-serveren anonymt"
-#: ../addressbook/gui/component/addressbook.c:194
+#: ../addressbook/gui/component/addressbook.c:193
#: ../plugins/groupwise-account-setup/camel-gw-listener.c:478
msgid "Failed to authenticate.\n"
msgstr "Godkendelse mislykkedes.\n"
-#: ../addressbook/gui/component/addressbook.c:201
+#: ../addressbook/gui/component/addressbook.c:200
#: ../plugins/groupwise-account-setup/camel-gw-listener.c:461
#, c-format
msgid "Enter password for %s (user %s)"
@@ -844,7 +844,7 @@ msgstr "Om forhåndsvisningsruden vises."
#: ../calendar/gui/dialogs/new-task-list.glade.h:1
#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:1
#: ../composer/e-msg-composer-attachment.glade.h:1
-#: ../mail/mail-dialogs.glade.h:2 ../mail/message-tags.glade.h:1
+#: ../mail/mail-dialogs.glade.h:6 ../mail/message-tags.glade.h:1
#: ../plugins/shared-folder/properties.glade.h:1
#: ../widgets/e-timezone-dialog/e-timezone-dialog.glade.h:1
msgid "*"
@@ -1115,7 +1115,7 @@ msgstr "kort"
#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:12
#: ../calendar/gui/dialogs/alarm-dialog.glade.h:26
#: ../calendar/gui/dialogs/calendar-setup.glade.h:14
-#: ../filter/filter.glade.h:16 ../mail/em-account-editor.c:1882
+#: ../filter/filter.glade.h:16 ../mail/em-account-editor.c:1885
#: ../plugins/calendar-http/calendar-http.c:263
#: ../plugins/calendar-weather/calendar-weather.c:564
msgid "minutes"
@@ -4133,9 +4133,9 @@ msgstr "Opgavelisten er ikke markeret til afkoblet brug"
#. calendar:server-version secondary
#: ../calendar/calendar-errors.xml.h:146
-msgid " Some features may not work correctly with your current server version"
+msgid " Some features may not work correctly with your current server version "
msgstr ""
-" Nogle faciliteter virker muligvis ikke med din nuværende serverversion"
+" Nogle faciliteter virker muligvis ikke med din nuværende serverversion "
#: ../calendar/common/authentication.c:49 ../calendar/gui/e-pub-utils.c:301
#: ../smime/gui/component.c:48
@@ -4299,28 +4299,28 @@ msgstr "sted"
msgid "start-time"
msgstr "starttid"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:877
+#: ../calendar/gui/alarm-notify/alarm-queue.c:879
msgid "Dismiss"
msgstr "Se bort fra"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:878
+#: ../calendar/gui/alarm-notify/alarm-queue.c:880
msgid "Dismiss All"
msgstr "Se bort fra alle"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:960
+#: ../calendar/gui/alarm-notify/alarm-queue.c:962
msgid "No summary available."
msgstr "Intet sammendrag tilgængelig."
-#: ../calendar/gui/alarm-notify/alarm-queue.c:969
#: ../calendar/gui/alarm-notify/alarm-queue.c:971
+#: ../calendar/gui/alarm-notify/alarm-queue.c:973
msgid "No description available."
msgstr "Ingen beskrivelse tilgængelig."
-#: ../calendar/gui/alarm-notify/alarm-queue.c:979
+#: ../calendar/gui/alarm-notify/alarm-queue.c:981
msgid "No location information available."
msgstr "Ingen stedinformation tilgængelig."
-#: ../calendar/gui/alarm-notify/alarm-queue.c:995
+#: ../calendar/gui/alarm-notify/alarm-queue.c:997
#, c-format
msgid ""
"Alarm on %s\n"
@@ -4333,12 +4333,12 @@ msgstr ""
"Starter %s\n"
"Slutter %s"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1097
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1121
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1099
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1123
msgid "Warning"
msgstr "Advarsel"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1101
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1103
msgid ""
"Evolution does not support calendar reminders with\n"
"email notifications yet, but this reminder was\n"
@@ -4350,7 +4350,7 @@ msgstr ""
"at sende e-post. Evolution vil vise et normalt vindue\n"
"for påmindelse i stedet."
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1127
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1129
#, c-format
msgid ""
"An Evolution Calendar reminder is about to trigger. This reminder is "
@@ -4367,7 +4367,7 @@ msgstr ""
"\n"
"Er du sikker på du vil køre dette program?"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1141
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1143
msgid "Do not ask me about this program again."
msgstr "Spørg mig ikke om dette program igen."
@@ -4998,7 +4998,7 @@ msgstr "%.0f G"
#: ../calendar/gui/dialogs/cal-attachment-bar.c:298
#: ../calendar/gui/dialogs/cal-attachment-bar.c:922
-#: ../composer/e-msg-composer-attachment-bar.c:295 ../mail/em-utils.c:438
+#: ../composer/e-msg-composer-attachment-bar.c:295 ../mail/em-utils.c:436
msgid "attachment"
msgstr "bilag"
@@ -5011,7 +5011,7 @@ msgstr "Fje_rn"
#: ../calendar/gui/dialogs/cal-attachment-bar.c:440
#: ../composer/e-msg-composer-attachment-bar.c:438
-#: ../mail/em-folder-tree.c:2819 ../ui/evolution-mail-list.xml.h:27
+#: ../mail/em-folder-tree.c:2818 ../ui/evolution-mail-list.xml.h:27
msgid "_Properties"
msgstr "_Egenskaber"
@@ -5512,7 +5512,7 @@ msgstr[1] "%d vedlagte beskeder"
#: ../calendar/gui/dialogs/comp-editor.c:412
#: ../calendar/gui/e-calendar-table.c:1164
#: ../calendar/gui/e-calendar-view.c:1402 ../composer/e-msg-composer.c:2906
-#: ../mail/em-folder-tree.c:1047 ../mail/em-folder-view.c:966
+#: ../mail/em-folder-tree.c:1046 ../mail/em-folder-view.c:966
#: ../mail/message-list.c:1707 ../ui/evolution-addressbook.xml.h:31
#: ../ui/evolution-calendar.xml.h:39 ../ui/evolution-composer-entries.xml.h:7
#: ../ui/evolution-mail-message.xml.h:105 ../ui/evolution-tasks.xml.h:20
@@ -5520,13 +5520,13 @@ msgid "_Copy"
msgstr "_Kopiér"
#: ../calendar/gui/dialogs/comp-editor.c:413 ../composer/e-msg-composer.c:2907
-#: ../mail/em-folder-tree.c:1048 ../mail/em-folder-tree.c:2312
+#: ../mail/em-folder-tree.c:1047 ../mail/em-folder-tree.c:2311
#: ../mail/em-folder-view.c:862 ../mail/message-list.c:1708
msgid "_Move"
msgstr "_Flyt"
#: ../calendar/gui/dialogs/comp-editor.c:415 ../composer/e-msg-composer.c:2909
-#: ../mail/em-folder-tree.c:1050 ../mail/message-list.c:1710
+#: ../mail/em-folder-tree.c:1049 ../mail/message-list.c:1710
msgid "Cancel _Drag"
msgstr "Annullér _træk"
@@ -5596,15 +5596,15 @@ msgstr "Journalopføring - %s"
msgid "No summary"
msgstr "Ingen sammendrag"
-#: ../calendar/gui/dialogs/comp-editor.c:2033
-#: ../calendar/gui/dialogs/comp-editor.c:2066
-#: ../calendar/gui/dialogs/comp-editor.c:2090
+#: ../calendar/gui/dialogs/comp-editor.c:2030
+#: ../calendar/gui/dialogs/comp-editor.c:2063
+#: ../calendar/gui/dialogs/comp-editor.c:2087
msgid "Changes made to this item may be discarded if an update arrives"
msgstr ""
"Ændringer af dette element bliver muligvis ignoreret hvis en opdatering "
"ankommer"
-#: ../calendar/gui/dialogs/comp-editor.c:2114
+#: ../calendar/gui/dialogs/comp-editor.c:2111
msgid "Unable to use current version!"
msgstr "Kan ikke bruge nuværende version!"
@@ -5869,8 +5869,8 @@ msgstr "_Starttid:"
#: ../calendar/gui/dialogs/meeting-page.glade.h:5
#: ../calendar/gui/e-cal-model-tasks.c:652
#: ../calendar/gui/e-itip-control.c:1104 ../composer/e-msg-composer.c:2117
-#: ../filter/filter-rule.c:878 ../mail/em-account-editor.c:683
-#: ../mail/em-account-editor.c:1288 ../mail/em-account-prefs.c:437
+#: ../filter/filter-rule.c:878 ../mail/em-account-editor.c:685
+#: ../mail/em-account-editor.c:1291 ../mail/em-account-prefs.c:437
#: ../mail/em-folder-view.c:993
#: ../plugins/calendar-weather/calendar-weather.c:371
#: ../plugins/calendar-weather/calendar-weather.c:425
@@ -6167,7 +6167,7 @@ msgstr "Fuldført"
#: ../calendar/gui/dialogs/task-details-page.glade.h:5
#: ../calendar/gui/e-cal-component-preview.c:248
-#: ../calendar/gui/e-calendar-table.c:382 ../mail/message-list.c:1007
+#: ../calendar/gui/e-calendar-table.c:382 ../mail/message-list.c:1006
msgid "High"
msgstr "Høj"
@@ -6182,14 +6182,14 @@ msgstr "I gang"
#: ../calendar/gui/dialogs/task-details-page.glade.h:7
#: ../calendar/gui/e-cal-component-preview.c:252
-#: ../calendar/gui/e-calendar-table.c:384 ../mail/message-list.c:1005
+#: ../calendar/gui/e-calendar-table.c:384 ../mail/message-list.c:1004
msgid "Low"
msgstr "Lav"
#: ../calendar/gui/dialogs/task-details-page.glade.h:8
#: ../calendar/gui/e-cal-component-preview.c:250
#: ../calendar/gui/e-cal-model.c:899 ../calendar/gui/e-calendar-table.c:383
-#: ../mail/message-list.c:1006
+#: ../mail/message-list.c:1005
msgid "Normal"
msgstr "Normal"
@@ -6441,7 +6441,7 @@ msgstr "Startdato"
#: ../calendar/gui/e-cal-list-view.etspec.h:5
#: ../calendar/gui/e-calendar-table.etspec.h:11
-#: ../mail/mail-dialogs.glade.h:17
+#: ../mail/mail-dialogs.glade.h:21
msgid "Summary"
msgstr "Sammendrag"
@@ -6501,7 +6501,7 @@ msgstr "Nej"
#: ../calendar/gui/e-meeting-list-view.c:139
#: ../calendar/gui/e-meeting-list-view.c:153
#: ../calendar/gui/e-meeting-store.c:124 ../calendar/gui/e-meeting-store.c:159
-#: ../calendar/gui/e-meeting-store.c:224 ../mail/em-utils.c:1175
+#: ../calendar/gui/e-meeting-store.c:224 ../mail/em-utils.c:1173
#: ../plugins/itip-formatter/itip-formatter.c:251
#: ../plugins/itip-formatter/itip-formatter.c:1398
#: ../plugins/plugin-manager/plugin-manager.c:72
@@ -6636,7 +6636,7 @@ msgstr "_Markér valgte opgaver som komplette"
#. FIXME: need to disable for undeletable folders
#: ../calendar/gui/e-calendar-table.c:1176
-#: ../calendar/gui/e-calendar-view.c:1414 ../mail/em-folder-tree.c:2815
+#: ../calendar/gui/e-calendar-view.c:1414 ../mail/em-folder-tree.c:2814
#: ../mail/em-folder-view.c:980 ../ui/evolution-addressbook.xml.h:33
#: ../ui/evolution-calendar.xml.h:40 ../ui/evolution-mail-message.xml.h:108
#: ../ui/evolution-tasks.xml.h:21
@@ -9521,15 +9521,15 @@ msgstr "Stillehavet/Wallis"
msgid "Pacific/Yap"
msgstr "Stillehavet/Yap"
-#: ../composer/e-msg-composer-hdrs.c:520
+#: ../composer/e-msg-composer-hdrs.c:519
msgid "Posting destination"
msgstr "Poster mål"
-#: ../composer/e-msg-composer-hdrs.c:521
+#: ../composer/e-msg-composer-hdrs.c:520
msgid "Choose folders to post the message to."
msgstr "Vælg mapperne posten skal sendes til."
-#: ../composer/e-msg-composer-hdrs.c:555
+#: ../composer/e-msg-composer-hdrs.c:554
msgid "Click here for the address book"
msgstr "Klik her for at få adressebogen op"
@@ -9540,45 +9540,45 @@ msgstr "Klik her for at få adressebogen op"
#. * because that causes from_changed to be called, which
#. * expects the reply_to fields to be initialized.
#.
-#: ../composer/e-msg-composer-hdrs.c:585
+#: ../composer/e-msg-composer-hdrs.c:584
msgid "_Reply-To:"
msgstr "_Svar-til:"
#.
#. * From
#.
-#: ../composer/e-msg-composer-hdrs.c:592
+#: ../composer/e-msg-composer-hdrs.c:591
msgid "Fr_om:"
msgstr "_Fra:"
#.
#. * Subject
#.
-#: ../composer/e-msg-composer-hdrs.c:599
+#: ../composer/e-msg-composer-hdrs.c:598
msgid "S_ubject:"
msgstr "_Emne:"
-#: ../composer/e-msg-composer-hdrs.c:609
+#: ../composer/e-msg-composer-hdrs.c:608
msgid "_To:"
msgstr "_Til:"
-#: ../composer/e-msg-composer-hdrs.c:610
+#: ../composer/e-msg-composer-hdrs.c:609
msgid "Enter the recipients of the message"
msgstr "Indtast modtagerene for beskeden"
-#: ../composer/e-msg-composer-hdrs.c:613
+#: ../composer/e-msg-composer-hdrs.c:612
msgid "_Cc:"
msgstr "_Cc:"
-#: ../composer/e-msg-composer-hdrs.c:614
+#: ../composer/e-msg-composer-hdrs.c:613
msgid "Enter the addresses that will receive a carbon copy of the message"
msgstr "Indtast adresserne som skal modtage en kopi af beskeden"
-#: ../composer/e-msg-composer-hdrs.c:617
+#: ../composer/e-msg-composer-hdrs.c:616
msgid "_Bcc:"
msgstr "_Bcc:"
-#: ../composer/e-msg-composer-hdrs.c:618
+#: ../composer/e-msg-composer-hdrs.c:617
msgid ""
"Enter the addresses that will receive a carbon copy of the message without "
"appearing in the recipient list of the message."
@@ -9589,15 +9589,15 @@ msgstr ""
#.
#. * Post-To
#.
-#: ../composer/e-msg-composer-hdrs.c:625
+#: ../composer/e-msg-composer-hdrs.c:624
msgid "_Post To:"
msgstr "_Send til:"
-#: ../composer/e-msg-composer-hdrs.c:630
+#: ../composer/e-msg-composer-hdrs.c:629
msgid "Click here to select folders to post to"
msgstr "Klik her for at vælge mapper at sende til"
-#: ../composer/e-msg-composer-hdrs.c:636
+#: ../composer/e-msg-composer-hdrs.c:635
msgid "Post To:"
msgstr "Send til:"
@@ -9637,7 +9637,7 @@ msgid "Open File"
msgstr "Ã…bn fil"
#: ../composer/e-msg-composer.c:2001 ../mail/em-account-editor.c:588
-#: ../mail/em-account-editor.c:633 ../mail/em-account-editor.c:698
+#: ../mail/em-account-editor.c:633 ../mail/em-account-editor.c:700
msgid "Autogenerated"
msgstr "Automatisk genereret"
@@ -9650,7 +9650,7 @@ msgstr "Si_gnatur:"
msgid "Compose a message"
msgstr "Skriv en besked"
-#: ../composer/e-msg-composer.c:4554
+#: ../composer/e-msg-composer.c:4542
msgid ""
"<b>(The composer contains a non-text message body, which cannot be edited.)"
"<b>"
@@ -10412,44 +10412,44 @@ msgstr ""
msgid "Select Folder"
msgstr "Vælg mappe"
-#: ../mail/em-account-editor.c:1661 ../mail/mail-config.glade.h:89
+#: ../mail/em-account-editor.c:1664 ../mail/mail-config.glade.h:89
msgid "Identity"
msgstr "Identitet"
-#: ../mail/em-account-editor.c:1697 ../mail/mail-config.glade.h:114
+#: ../mail/em-account-editor.c:1700 ../mail/mail-config.glade.h:114
msgid "Receiving Email"
msgstr "Modtager e-post"
-#: ../mail/em-account-editor.c:1874
+#: ../mail/em-account-editor.c:1877
msgid "Automatically check for _new mail every"
msgstr "Hent _nye beskeder automatisk hver(t)"
-#: ../mail/em-account-editor.c:2042 ../mail/mail-config.glade.h:124
+#: ../mail/em-account-editor.c:2045 ../mail/mail-config.glade.h:124
msgid "Sending Email"
msgstr "Sender e-post"
-#: ../mail/em-account-editor.c:2086 ../mail/mail-config.glade.h:67
+#: ../mail/em-account-editor.c:2089 ../mail/mail-config.glade.h:67
msgid "Defaults"
msgstr "Standardværdier"
-#: ../mail/em-account-editor.c:2145 ../mail/mail-config.glade.h:119
+#: ../mail/em-account-editor.c:2148 ../mail/mail-config.glade.h:119
msgid "Security"
msgstr "Sikkerhed"
#. Most sections for this is auto-generated fromt the camel config
-#: ../mail/em-account-editor.c:2182 ../mail/em-account-editor.c:2256
+#: ../mail/em-account-editor.c:2185 ../mail/em-account-editor.c:2260
msgid "Receiving Options"
msgstr "Modtagelsesmuligheder"
-#: ../mail/em-account-editor.c:2183 ../mail/em-account-editor.c:2257
+#: ../mail/em-account-editor.c:2186 ../mail/em-account-editor.c:2261
msgid "Checking for New Mail"
msgstr "Kontrollerer om der er ny e-post"
-#: ../mail/em-account-editor.c:2581 ../mail/mail-config.glade.h:33
+#: ../mail/em-account-editor.c:2585 ../mail/mail-config.glade.h:33
msgid "Account Editor"
msgstr "Kontoredigeringsværktøj"
-#: ../mail/em-account-editor.c:2581 ../mail/mail-config.glade.h:79
+#: ../mail/em-account-editor.c:2585 ../mail/mail-config.glade.h:79
msgid "Evolution Account Assistant"
msgstr "Evolution kontoassistent"
@@ -10483,18 +10483,18 @@ msgstr "Tilføj signaturskript"
msgid "Signature(s)"
msgstr "Signatur(er)"
-#: ../mail/em-composer-utils.c:849
+#: ../mail/em-composer-utils.c:911
msgid "-------- Forwarded Message --------"
msgstr "-------- Videresendt besked --------"
-#: ../mail/em-composer-utils.c:1459
+#: ../mail/em-composer-utils.c:1521
msgid "an unknown sender"
msgstr "en ukendt afsender"
#. Note to translators: this is the attribution string used when quoting messages.
#. * each ${Variable} gets replaced with a value. To see a full list of available
#. * variables, see em-composer-utils.c:1514
-#: ../mail/em-composer-utils.c:1506
+#: ../mail/em-composer-utils.c:1568
msgid ""
"On ${AbbrevWeekdayName}, ${Year}-${Month}-${Day} at ${24Hour}:${Minute} "
"${TimeZone}, ${Sender} wrote:"
@@ -10749,7 +10749,7 @@ msgstr "starter med"
msgid "Stop Processing"
msgstr "Stop behandling"
-#: ../mail/em-filter-i18n.h:65 ../mail/em-format-html.c:1532
+#: ../mail/em-filter-i18n.h:65 ../mail/em-format-html.c:1533
#: ../mail/em-format-quote.c:306 ../mail/em-format.c:853
#: ../mail/em-mailer-prefs.c:88 ../mail/message-list.etspec.h:13
#: ../mail/message-tag-followup.c:330
@@ -10796,7 +10796,7 @@ msgstr "<klik her for at vælge en mappe>"
msgid "Create New Folder"
msgstr "Opret ny mappe"
-#: ../mail/em-folder-selector.c:166 ../mail/em-folder-tree.c:2528
+#: ../mail/em-folder-selector.c:166 ../mail/em-folder-tree.c:2527
#: ../mail/mail-component.c:770 ../plugins/shared-folder/install-shared.c:144
#: ../plugins/shared-folder/share-folder-common.c:345
msgid "Specify where to create the folder:"
@@ -10841,113 +10841,113 @@ msgstr "Sendt"
msgid "Loading..."
msgstr "Indlæser..."
-#: ../mail/em-folder-tree.c:689
+#: ../mail/em-folder-tree.c:688
msgid "Mail Folder Tree"
msgstr "E-post-mappe-træ"
-#: ../mail/em-folder-tree.c:922
+#: ../mail/em-folder-tree.c:921
#, c-format
msgid "Moving folder %s"
msgstr "Flytter mappen %s"
-#: ../mail/em-folder-tree.c:924
+#: ../mail/em-folder-tree.c:923
#, c-format
msgid "Copying folder %s"
msgstr "Kopierer mappen %s"
-#: ../mail/em-folder-tree.c:931 ../mail/message-list.c:1612
+#: ../mail/em-folder-tree.c:930 ../mail/message-list.c:1612
#, c-format
msgid "Moving messages into folder %s"
msgstr "Flytter beskeder til mappen %s"
-#: ../mail/em-folder-tree.c:933 ../mail/message-list.c:1614
+#: ../mail/em-folder-tree.c:932 ../mail/message-list.c:1614
#, c-format
msgid "Copying messages into folder %s"
msgstr "Kopierer beskeder til mappen %s"
-#: ../mail/em-folder-tree.c:949
+#: ../mail/em-folder-tree.c:948
msgid "Cannot drop message(s) into toplevel store"
msgstr "Kan ikke droppe besked(er) til topniveaulager"
-#: ../mail/em-folder-tree.c:1045 ../ui/evolution-mail-message.xml.h:106
+#: ../mail/em-folder-tree.c:1044 ../ui/evolution-mail-message.xml.h:106
msgid "_Copy to Folder"
msgstr "_Kopiér til mappe"
-#: ../mail/em-folder-tree.c:1046 ../ui/evolution-mail-message.xml.h:115
+#: ../mail/em-folder-tree.c:1045 ../ui/evolution-mail-message.xml.h:115
msgid "_Move to Folder"
msgstr "_Flyt til mappe"
-#: ../mail/em-folder-tree.c:1751 ../mail/mail-ops.c:1051
+#: ../mail/em-folder-tree.c:1750 ../mail/mail-ops.c:1026
#, c-format
msgid "Scanning folders in \"%s\""
msgstr "Skanner mapper i \"%s\""
-#: ../mail/em-folder-tree.c:2024
+#: ../mail/em-folder-tree.c:2023
#, c-format
msgid "Copying `%s' to `%s'"
msgstr "Kopierer \"%s\" til \"%s\""
-#: ../mail/em-folder-tree.c:2298 ../mail/em-folder-tree.c:2312
+#: ../mail/em-folder-tree.c:2297 ../mail/em-folder-tree.c:2311
#: ../mail/em-folder-view.c:862 ../mail/em-folder-view.c:877
#: ../mail/importers/evolution-mbox-importer.c:120
#: ../mail/importers/evolution-outlook-importer.c:134
msgid "Select folder"
msgstr "Vælg mappe"
-#: ../mail/em-folder-tree.c:2298 ../mail/em-folder-view.c:877
+#: ../mail/em-folder-tree.c:2297 ../mail/em-folder-view.c:877
msgid "C_opy"
msgstr "_Kopiér"
-#: ../mail/em-folder-tree.c:2339
+#: ../mail/em-folder-tree.c:2338
#: ../plugins/shared-folder/share-folder-common.c:138
#, c-format
msgid "Creating folder `%s'"
msgstr "Opretter mappen \"%s\""
-#: ../mail/em-folder-tree.c:2528 ../mail/mail-component.c:770
+#: ../mail/em-folder-tree.c:2527 ../mail/mail-component.c:770
#: ../plugins/shared-folder/install-shared.c:144
#: ../plugins/shared-folder/share-folder-common.c:345
msgid "Create folder"
msgstr "Opret mappe"
-#: ../mail/em-folder-tree.c:2721
+#: ../mail/em-folder-tree.c:2720
#, c-format
msgid "Rename the \"%s\" folder to:"
msgstr "Ændr navn på mappe \"%s\" til:"
-#: ../mail/em-folder-tree.c:2723
+#: ../mail/em-folder-tree.c:2722
msgid "Rename Folder"
msgstr "Ændr navn på mappe"
-#: ../mail/em-folder-tree.c:2729
+#: ../mail/em-folder-tree.c:2728
msgid "Folder names cannot contain '/'"
msgstr "Mappenavne kan ikke indeholde \"/\""
-#: ../mail/em-folder-tree.c:2803 ../ui/evolution-addressbook.xml.h:44
+#: ../mail/em-folder-tree.c:2802 ../ui/evolution-addressbook.xml.h:44
#: ../ui/evolution-mail-global.xml.h:17
#: ../ui/evolution-mail-messagedisplay.xml.h:8
#: ../ui/evolution-message-composer.xml.h:53 ../ui/evolution.xml.h:49
msgid "_View"
msgstr "_Vis"
-#: ../mail/em-folder-tree.c:2804
+#: ../mail/em-folder-tree.c:2803
msgid "Open in _New Window"
msgstr "Ã…bn i _nyt vindue"
-#: ../mail/em-folder-tree.c:2808
+#: ../mail/em-folder-tree.c:2807
msgid "_Copy..."
msgstr "_Kopiér..."
-#: ../mail/em-folder-tree.c:2809
+#: ../mail/em-folder-tree.c:2808
msgid "_Move..."
msgstr "_Flyt..."
#. FIXME: need to disable for nochildren folders
-#: ../mail/em-folder-tree.c:2813
+#: ../mail/em-folder-tree.c:2812
msgid "_New Folder..."
msgstr "_Ny mappe..."
-#: ../mail/em-folder-tree.c:2816
+#: ../mail/em-folder-tree.c:2815
msgid "_Rename..."
msgstr "_Omdøb..."
@@ -11291,28 +11291,28 @@ msgid "Bcc"
msgstr "Bcc"
#. pseudo-header
-#: ../mail/em-format-html.c:1536 ../mail/em-format-quote.c:315
+#: ../mail/em-format-html.c:1537 ../mail/em-format-quote.c:315
#: ../mail/em-mailer-prefs.c:986
msgid "Mailer"
msgstr "E-postprogram"
#. translators: strftime format for local time equivalent in Date header display, with day
-#: ../mail/em-format-html.c:1563
+#: ../mail/em-format-html.c:1564
msgid "<I> (%a, %R %Z)</I>"
msgstr "<I> (%a, %R %Z)</I>"
#. translators: strftime format for local time equivalent in Date header display, without day
-#: ../mail/em-format-html.c:1566
+#: ../mail/em-format-html.c:1567
msgid "<I> (%R %Z)</I>"
msgstr "<I> (%R %Z)</I>"
-#: ../mail/em-format-html.c:1576 ../mail/em-format-quote.c:322
+#: ../mail/em-format-html.c:1577 ../mail/em-format-quote.c:322
#: ../mail/em-format.c:854 ../mail/em-mailer-prefs.c:89
#: ../mail/message-list.etspec.h:2
msgid "Date"
msgstr "Dato"
-#: ../mail/em-format-html.c:1599 ../mail/em-format.c:855
+#: ../mail/em-format-html.c:1600 ../mail/em-format.c:855
#: ../mail/em-mailer-prefs.c:90
msgid "Newsgroups"
msgstr "Nyhedsgrupper"
@@ -11494,20 +11494,20 @@ msgstr "Vis ikke denne besked igen."
msgid "Filters"
msgstr "Filtre"
-#: ../mail/em-utils.c:436
+#: ../mail/em-utils.c:434
msgid "message"
msgstr "besked"
-#: ../mail/em-utils.c:545
+#: ../mail/em-utils.c:543
msgid "Save Message..."
msgstr "Gem besked..."
-#: ../mail/em-utils.c:594
+#: ../mail/em-utils.c:592
msgid "Add address"
msgstr "Tilføj adresse"
#. Drop filename for messages from a mailbox
-#: ../mail/em-utils.c:1073
+#: ../mail/em-utils.c:1071
#, c-format
msgid "Messages from %s"
msgstr "Beskeder fra %s"
@@ -12201,27 +12201,27 @@ msgstr ""
msgid "Pine"
msgstr "Pine"
-#: ../mail/mail-autofilter.c:75
+#: ../mail/mail-autofilter.c:74
#, c-format
msgid "Mail to %s"
msgstr "E-post til %s"
-#: ../mail/mail-autofilter.c:239 ../mail/mail-autofilter.c:278
+#: ../mail/mail-autofilter.c:238 ../mail/mail-autofilter.c:277
#, c-format
msgid "Mail from %s"
msgstr "E-post fra %s"
-#: ../mail/mail-autofilter.c:262
+#: ../mail/mail-autofilter.c:261
#, c-format
msgid "Subject is %s"
msgstr "Emne er %s"
-#: ../mail/mail-autofilter.c:297
+#: ../mail/mail-autofilter.c:296
#, c-format
msgid "%s mailing list"
msgstr "%s e-post-liste"
-#: ../mail/mail-autofilter.c:366
+#: ../mail/mail-autofilter.c:365
msgid "Add Filter Rule"
msgstr "Tilføj filterregel"
@@ -12302,7 +12302,7 @@ msgstr "Opret en ny e-post-mappe"
msgid "Failed upgrading Mail settings or folders."
msgstr "Det mislykkedes at opgradere e-post-indstillingerne eller mapperne."
-#: ../mail/mail-config.glade.h:1 ../mail/mail-dialogs.glade.h:1
+#: ../mail/mail-config.glade.h:1 ../mail/mail-dialogs.glade.h:5
msgid " "
msgstr " "
@@ -12907,60 +12907,70 @@ msgstr "farve"
msgid "description"
msgstr "beskrivelse"
-#: ../mail/mail-dialogs.glade.h:3
+#: ../mail/mail-dialogs.glade.h:1
+msgid ""
+"\n"
+" Please read carefully the license agreement displayed\n"
+" below and tick the check box for accepting it\n"
+msgstr ""
+"\n"
+"Læs venligst licensaftalen som vises herunder nøje\n"
+"og kryds afkrydsningsfeltet af for at acceptere den\n"
+
+#: ../mail/mail-dialogs.glade.h:7
msgid "<b>vFolder Sources</b>"
msgstr "<b>Kilder for virtuelle mapper</b>"
-#: ../mail/mail-dialogs.glade.h:4
+#: ../mail/mail-dialogs.glade.h:8
msgid "<span weight=\"bold\">Digital Signature</span>"
msgstr "<span weight=\"bold\">Digital signatur</span>"
-#: ../mail/mail-dialogs.glade.h:5
+#: ../mail/mail-dialogs.glade.h:9
msgid "<span weight=\"bold\">Encryption</span>"
msgstr "<span weight=\"bold\">Kryptering</span>"
-#: ../mail/mail-dialogs.glade.h:6
+#: ../mail/mail-dialogs.glade.h:10
msgid "Case _Sensitive"
msgstr "_Skeln mellem store og små bogstaver"
-#: ../mail/mail-dialogs.glade.h:7 ../mail/message-tags.glade.h:2
+#: ../mail/mail-dialogs.glade.h:11 ../mail/message-tags.glade.h:2
msgid "Co_mpleted"
msgstr "_Fuldført"
-#: ../mail/mail-dialogs.glade.h:9
+#: ../mail/mail-dialogs.glade.h:13
msgid "F_ind:"
msgstr "F_ind:"
-#: ../mail/mail-dialogs.glade.h:10
+#: ../mail/mail-dialogs.glade.h:14
msgid "Find in Message"
msgstr "Find i besked"
-#: ../mail/mail-dialogs.glade.h:11 ../mail/message-tag-followup.c:295
+#: ../mail/mail-dialogs.glade.h:15 ../mail/message-tag-followup.c:295
#: ../mail/message-tags.glade.h:3
msgid "Flag to Follow Up"
msgstr "Flag at følge op"
-#: ../mail/mail-dialogs.glade.h:12
+#: ../mail/mail-dialogs.glade.h:16
msgid "Folder Subscriptions"
msgstr "Mappeabonnementer"
-#: ../mail/mail-dialogs.glade.h:13
+#: ../mail/mail-dialogs.glade.h:17
msgid "License Agreement"
msgstr "Licensaftale"
-#: ../mail/mail-dialogs.glade.h:14
+#: ../mail/mail-dialogs.glade.h:18
msgid "None Selected"
msgstr "Ingen valgt"
-#: ../mail/mail-dialogs.glade.h:15
+#: ../mail/mail-dialogs.glade.h:19
msgid "S_erver:"
msgstr "S_erver:"
-#: ../mail/mail-dialogs.glade.h:16
+#: ../mail/mail-dialogs.glade.h:20
msgid "Security Information"
msgstr "Sikkerhedsinformation"
-#: ../mail/mail-dialogs.glade.h:18 ../mail/message-tags.glade.h:4
+#: ../mail/mail-dialogs.glade.h:22 ../mail/message-tags.glade.h:4
msgid ""
"The messages you have selected for follow up are listed below.\n"
"Please select a follow up action from the \"Flag\" menu."
@@ -12968,43 +12978,43 @@ msgstr ""
"De beskeder du har valgt for opfølgning listes nedenfor.\n"
"Vælg en opfølgningshandling fra menuen \"Flag\"."
-#: ../mail/mail-dialogs.glade.h:20
+#: ../mail/mail-dialogs.glade.h:24
msgid "_Accept License"
msgstr "_Acceptér licens"
-#: ../mail/mail-dialogs.glade.h:21 ../mail/message-tags.glade.h:6
+#: ../mail/mail-dialogs.glade.h:25 ../mail/message-tags.glade.h:6
msgid "_Due By:"
msgstr "_Skal leveres den:"
-#: ../mail/mail-dialogs.glade.h:22 ../mail/message-tags.glade.h:7
+#: ../mail/mail-dialogs.glade.h:26 ../mail/message-tags.glade.h:7
msgid "_Flag:"
msgstr "_Flag:"
-#: ../mail/mail-dialogs.glade.h:23
+#: ../mail/mail-dialogs.glade.h:27
msgid "_Subscribe"
msgstr "_Abonnér"
-#: ../mail/mail-dialogs.glade.h:24
+#: ../mail/mail-dialogs.glade.h:28
msgid "_Tick this to accept the license agreement"
msgstr "_Afkryds dette for at acceptere licensaftalen"
-#: ../mail/mail-dialogs.glade.h:25
+#: ../mail/mail-dialogs.glade.h:29
msgid "_Unsubscribe"
msgstr "_Opsig abonnement"
-#: ../mail/mail-dialogs.glade.h:26
+#: ../mail/mail-dialogs.glade.h:30
msgid "specific folders only"
msgstr "kun specifikke mapper"
-#: ../mail/mail-dialogs.glade.h:27
+#: ../mail/mail-dialogs.glade.h:31
msgid "with all active remote folders"
msgstr "med alle aktive eksterne mapper"
-#: ../mail/mail-dialogs.glade.h:28
+#: ../mail/mail-dialogs.glade.h:32
msgid "with all local and active remote folders"
msgstr "med alle lokale og aktive eksterne mapper"
-#: ../mail/mail-dialogs.glade.h:29
+#: ../mail/mail-dialogs.glade.h:33
msgid "with all local folders"
msgstr "med alle lokale mapper"
@@ -13632,7 +13642,7 @@ msgstr "Filtrerer mappe"
msgid "Fetching Mail"
msgstr "Henter e-post"
-#: ../mail/mail-ops.c:556 ../mail/mail-ops.c:598
+#: ../mail/mail-ops.c:542 ../mail/mail-ops.c:585
#, c-format
msgid ""
"Failed to append to %s: %s\n"
@@ -13642,119 +13652,119 @@ msgstr ""
"Føjer til lokal \"Sendt\"-mappe i stedet."
#. sending mail, filtering failed
-#: ../mail/mail-ops.c:577
+#: ../mail/mail-ops.c:564
#, c-format
msgid "Failed to apply outgoing filters: %s"
msgstr "Det mislykkedes at anvende de udgående filtre: %s"
-#: ../mail/mail-ops.c:615
+#: ../mail/mail-ops.c:602
#, c-format
msgid "Failed to append to local `Sent' folder: %s"
msgstr "Det mislykkedes at føje til den lokale \"sendt\"-mappe: %s"
-#: ../mail/mail-ops.c:727
+#: ../mail/mail-ops.c:702
#, c-format
msgid "Sending message %d of %d"
msgstr "Sender besked %d af %d"
-#: ../mail/mail-ops.c:752
+#: ../mail/mail-ops.c:727
#, c-format
msgid "Failed to send %d of %d messages"
msgstr "Det mislykkedes at sende %d af %d beskeder"
-#: ../mail/mail-ops.c:754 ../mail/mail-send-recv.c:613
+#: ../mail/mail-ops.c:729 ../mail/mail-send-recv.c:613
msgid "Cancelled."
msgstr "Afbrudt."
-#: ../mail/mail-ops.c:756
+#: ../mail/mail-ops.c:731
msgid "Complete."
msgstr "Fuldført."
-#: ../mail/mail-ops.c:853
+#: ../mail/mail-ops.c:828
msgid "Saving message to folder"
msgstr "Gemmer besked til mappe"
-#: ../mail/mail-ops.c:938
+#: ../mail/mail-ops.c:913
#, c-format
msgid "Moving messages to %s"
msgstr "Flytter beskeder til %s"
-#: ../mail/mail-ops.c:938
+#: ../mail/mail-ops.c:913
#, c-format
msgid "Copying messages to %s"
msgstr "Kopierer beskeder til %s"
-#: ../mail/mail-ops.c:1164
+#: ../mail/mail-ops.c:1139
msgid "Forwarded messages"
msgstr "Videresendte beskeder"
-#: ../mail/mail-ops.c:1207
+#: ../mail/mail-ops.c:1182
#, c-format
msgid "Opening folder %s"
msgstr "Ã…bner mappe %s"
-#: ../mail/mail-ops.c:1279
+#: ../mail/mail-ops.c:1254
#, c-format
msgid "Opening store %s"
msgstr "Ã…bner lager %s"
-#: ../mail/mail-ops.c:1357
+#: ../mail/mail-ops.c:1332
#, c-format
msgid "Removing folder %s"
msgstr "Fjerner mappe %s"
-#: ../mail/mail-ops.c:1451
+#: ../mail/mail-ops.c:1426
#, c-format
msgid "Storing folder '%s'"
msgstr "Gemmer mappe '%s'"
-#: ../mail/mail-ops.c:1516
+#: ../mail/mail-ops.c:1491
#, c-format
msgid "Expunging and storing account '%s'"
msgstr "Tømmer og lagrer kontoen \"%s\""
-#: ../mail/mail-ops.c:1517
+#: ../mail/mail-ops.c:1492
#, c-format
msgid "Storing account '%s'"
msgstr "Gemmer konto \"%s\""
-#: ../mail/mail-ops.c:1572
+#: ../mail/mail-ops.c:1547
msgid "Refreshing folder"
msgstr "Opfrisker mappe"
-#: ../mail/mail-ops.c:1608 ../mail/mail-ops.c:1659
+#: ../mail/mail-ops.c:1583 ../mail/mail-ops.c:1634
msgid "Expunging folder"
msgstr "Fjerner slettede beskeder fra mappe"
-#: ../mail/mail-ops.c:1656
+#: ../mail/mail-ops.c:1631
#, c-format
msgid "Emptying trash in '%s'"
msgstr "Tømmer affald i \"%s\""
-#: ../mail/mail-ops.c:1657
+#: ../mail/mail-ops.c:1632
msgid "Local Folders"
msgstr "Lokale mapper"
-#: ../mail/mail-ops.c:1740
+#: ../mail/mail-ops.c:1715
#, c-format
msgid "Retrieving message %s"
msgstr "Henter besked %s"
-#: ../mail/mail-ops.c:1812
+#: ../mail/mail-ops.c:1787
#, c-format
msgid "Retrieving %d message"
msgid_plural "Retrieving %d messages"
msgstr[0] "Henter %d besked"
msgstr[1] "Henter %d beskeder"
-#: ../mail/mail-ops.c:1898
+#: ../mail/mail-ops.c:1873
#, c-format
msgid "Saving %d message"
msgid_plural "Saving %d messsages"
msgstr[0] "Gemmer %d besked"
msgstr[1] "Gemmer %d beskeder"
-#: ../mail/mail-ops.c:1948
+#: ../mail/mail-ops.c:1923
#, c-format
msgid ""
"Unable to create output file: %s\n"
@@ -13763,7 +13773,7 @@ msgstr ""
"Kan ikke oprette uddatafil: %s\n"
" %s"
-#: ../mail/mail-ops.c:1976
+#: ../mail/mail-ops.c:1951
#, c-format
msgid ""
"Error saving messages to: %s:\n"
@@ -13772,11 +13782,11 @@ msgstr ""
"Fejl ved gemning af beskeder til: %s:\n"
" %s"
-#: ../mail/mail-ops.c:2047
+#: ../mail/mail-ops.c:2022
msgid "Saving attachment"
msgstr "Gemmer bilag"
-#: ../mail/mail-ops.c:2059
+#: ../mail/mail-ops.c:2034
#, c-format
msgid ""
"Cannot create output file: %s:\n"
@@ -13785,22 +13795,22 @@ msgstr ""
"Kan ikke oprette uddatafil: %s\n"
" %s"
-#: ../mail/mail-ops.c:2069
+#: ../mail/mail-ops.c:2044
#, c-format
msgid "Could not write data: %s"
msgstr "Kunne ikke skrive data: %s"
-#: ../mail/mail-ops.c:2219
+#: ../mail/mail-ops.c:2194
#, c-format
msgid "Disconnecting from %s"
msgstr "Kobler fra %s"
-#: ../mail/mail-ops.c:2219
+#: ../mail/mail-ops.c:2194
#, c-format
msgid "Reconnecting to %s"
msgstr "Kobler til %s igen"
-#: ../mail/mail-ops.c:2335
+#: ../mail/mail-ops.c:2310
msgid "Checking Service"
msgstr "Kontrollerer tjeneste"
@@ -13875,16 +13885,16 @@ msgstr "Kunne ikke oprette køkatalog \"%s\": %s"
msgid "Trying to movemail a non-mbox source `%s'"
msgstr "Prøver at bruge movemail på en kilde som ikke er i mbox-format \"%s\""
-#: ../mail/mail-tools.c:241
+#: ../mail/mail-tools.c:277
#, c-format
msgid "Forwarded message - %s"
msgstr "Videresendt besked - %s"
-#: ../mail/mail-tools.c:243
+#: ../mail/mail-tools.c:279
msgid "Forwarded message"
msgstr "Videresendt besked"
-#: ../mail/mail-tools.c:283
+#: ../mail/mail-tools.c:320
#, c-format
msgid "Invalid folder: `%s'"
msgstr "Ugyldig mappe: \"%s\""
@@ -13912,65 +13922,65 @@ msgstr "Redigér virtuel mappe"
msgid "New vFolder"
msgstr "Ny virtuel mappe"
-#: ../mail/message-list.c:995
+#: ../mail/message-list.c:994
msgid "Unseen"
msgstr "Ulæst"
-#: ../mail/message-list.c:996
+#: ../mail/message-list.c:995
msgid "Seen"
msgstr "Læst"
-#: ../mail/message-list.c:997
+#: ../mail/message-list.c:996
msgid "Answered"
msgstr "Besvaret"
-#: ../mail/message-list.c:998
+#: ../mail/message-list.c:997
msgid "Multiple Unseen Messages"
msgstr "Flere ulæste beskeder"
-#: ../mail/message-list.c:999
+#: ../mail/message-list.c:998
msgid "Multiple Messages"
msgstr "Flere beskeder"
-#: ../mail/message-list.c:1003
+#: ../mail/message-list.c:1002
msgid "Lowest"
msgstr "Lavest"
-#: ../mail/message-list.c:1004
+#: ../mail/message-list.c:1003
msgid "Lower"
msgstr "Lavere"
-#: ../mail/message-list.c:1008
+#: ../mail/message-list.c:1007
msgid "Higher"
msgstr "Højere"
-#: ../mail/message-list.c:1009
+#: ../mail/message-list.c:1008
msgid "Highest"
msgstr "Højest"
-#: ../mail/message-list.c:1337
+#: ../mail/message-list.c:1336
msgid "?"
msgstr "?"
#. strftime format of a time,
#. in 12-hour format, without seconds.
-#: ../mail/message-list.c:1344 ../plugins/itip-formatter/itip-view.c:189
+#: ../mail/message-list.c:1343 ../plugins/itip-formatter/itip-view.c:189
msgid "Today %l:%M %p"
msgstr "I dag %H:%M"
-#: ../mail/message-list.c:1353
+#: ../mail/message-list.c:1352
msgid "Yesterday %l:%M %p"
msgstr "I går %H:%M"
-#: ../mail/message-list.c:1365
+#: ../mail/message-list.c:1364
msgid "%a %l:%M %p"
msgstr "%a %H:%M"
-#: ../mail/message-list.c:1373
+#: ../mail/message-list.c:1372
msgid "%b %d %l:%M %p"
msgstr "%d %b %H:%M"
-#: ../mail/message-list.c:1375
+#: ../mail/message-list.c:1374
msgid "%b %d %Y"
msgstr "%d %b %Y"
@@ -14992,7 +15002,7 @@ msgstr "Brugere"
msgid "Enter the users and set permissions"
msgstr "Angiv brugerne og sæt rettigheder"
-#: ../plugins/shared-folder/share-folder-common.c:403
+#: ../plugins/shared-folder/share-folder-common.c:401
msgid "Sharing"
msgstr "Deling"
@@ -17976,39 +17986,39 @@ msgstr "Synkroniser kategorier:"
#. To translators: This is the accessibility name of
#. the search bar's text entry widget
-#: ../widgets/misc/e-search-bar.c:345
+#: ../widgets/misc/e-search-bar.c:343
msgid "Search Text Entry"
msgstr "Indtastningsfelt for søgetekst"
-#: ../widgets/misc/e-search-bar.c:549
+#: ../widgets/misc/e-search-bar.c:547
msgid "_Search"
msgstr "_Søg"
-#: ../widgets/misc/e-search-bar.c:555
+#: ../widgets/misc/e-search-bar.c:553
msgid "_Find Now"
msgstr "_Søg nu"
-#: ../widgets/misc/e-search-bar.c:556 ../widgets/misc/e-search-bar.c:943
+#: ../widgets/misc/e-search-bar.c:554 ../widgets/misc/e-search-bar.c:941
msgid "_Clear"
msgstr "_Tøm"
-#: ../widgets/misc/e-search-bar.c:647
+#: ../widgets/misc/e-search-bar.c:645
msgid "Search Type"
msgstr "Søgetype"
-#: ../widgets/misc/e-search-bar.c:851
+#: ../widgets/misc/e-search-bar.c:849
msgid "Item ID"
msgstr "Objekt-ID"
-#: ../widgets/misc/e-search-bar.c:858
+#: ../widgets/misc/e-search-bar.c:856
msgid "Subitem ID"
msgstr "Underobjekt-ID"
-#: ../widgets/misc/e-search-bar.c:865
+#: ../widgets/misc/e-search-bar.c:863
msgid "Text"
msgstr "Tekst"
-#: ../widgets/misc/e-search-bar.c:945
+#: ../widgets/misc/e-search-bar.c:943
msgid "Find _Now"
msgstr "Find _nu"
@@ -18180,15 +18190,6 @@ msgstr "%s (%d%% fuldført)"
msgid "click here to go to url"
msgstr "klik her for at gå til adresse"
-#~ msgid ""
-#~ "\n"
-#~ " Please read carefully the license agreement displayed\n"
-#~ " below and tick the check box for accepting it\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Læs venligst licensaftalen som vises herunder nøje\n"
-#~ "og kryds afkrydsningsfeltet af for at acceptere den\n"
-
#~ msgid "_Remember this password"
#~ msgstr "Husk denne adgangs_kode"
diff --git a/po/de.po b/po/de.po
index c409147bad..10685e942d 100644
--- a/po/de.po
+++ b/po/de.po
@@ -17,8 +17,8 @@ msgid ""
msgstr ""
"Project-Id-Version: evolution\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-02-21 09:27+0100\n"
-"PO-Revision-Date: 2005-02-21 09:25+0100\n"
+"POT-Creation-Date: 2005-03-11 09:56+0100\n"
+"PO-Revision-Date: 2005-03-11 09:56+0100\n"
"Last-Translator: Frank Arnold <frank@scirocco-5v-turbo.de>\n"
"Language-Team: German <gnome-de@gnome.org>\n"
"MIME-Version: 1.0\n"
@@ -33,12 +33,12 @@ msgid "evolution addressbook"
msgstr "Evolution-Adressbuch"
#: ../a11y/addressbook/ea-minicard-view.c:34
-#: ../addressbook/gui/component/addressbook-component.c:182
+#: ../addressbook/gui/component/addressbook-component.c:196
msgid "New Contact"
msgstr "Neuer Kontakt"
#: ../a11y/addressbook/ea-minicard-view.c:35
-#: ../addressbook/gui/component/addressbook-component.c:190
+#: ../addressbook/gui/component/addressbook-component.c:204
msgid "New Contact List"
msgstr "Neue Kontaktliste"
@@ -50,7 +50,7 @@ msgstr[0] "Angezeigter Adressbuchordner enthält %d Karte"
msgstr[1] "Angezeigter Adressbuchordner enthält %d Karten"
#: ../a11y/addressbook/ea-minicard.c:31
-#: ../calendar/gui/alarm-notify/alarm-queue.c:863
+#: ../calendar/gui/alarm-notify/alarm-queue.c:878
#: ../ui/evolution-message-composer.xml.h:10
msgid "Open"
msgstr "Öffnen"
@@ -151,7 +151,7 @@ msgid "calendar view for one or more days"
msgstr "Kalenderansicht für einen oder mehrere Tage"
#: ../a11y/calendar/ea-gnome-calendar.c:187
-#: ../calendar/gui/calendar-component.c:520
+#: ../calendar/gui/calendar-component.c:660
msgid "%A %d %b %Y"
msgstr "%A, %d. %B %Y"
@@ -162,7 +162,7 @@ msgstr "%A, %d. %B %Y"
#. You can change the order but don't change the
#. specifiers or add anything.
#: ../a11y/calendar/ea-gnome-calendar.c:190
-#: ../calendar/gui/calendar-component.c:523
+#: ../calendar/gui/calendar-component.c:663
#: ../calendar/gui/e-day-view-top-item.c:719 ../calendar/gui/e-day-view.c:1511
#: ../calendar/gui/e-week-view-main-item.c:321
msgid "%a %d %b"
@@ -171,9 +171,9 @@ msgstr "%a, %d. %b"
#: ../a11y/calendar/ea-gnome-calendar.c:192
#: ../a11y/calendar/ea-gnome-calendar.c:197
#: ../a11y/calendar/ea-gnome-calendar.c:199
-#: ../calendar/gui/calendar-component.c:525
-#: ../calendar/gui/calendar-component.c:530
-#: ../calendar/gui/calendar-component.c:532
+#: ../calendar/gui/calendar-component.c:665
+#: ../calendar/gui/calendar-component.c:670
+#: ../calendar/gui/calendar-component.c:672
msgid "%a %d %b %Y"
msgstr "%a, %d. %Y"
@@ -181,10 +181,10 @@ msgstr "%a, %d. %Y"
#: ../a11y/calendar/ea-gnome-calendar.c:222
#: ../a11y/calendar/ea-gnome-calendar.c:228
#: ../a11y/calendar/ea-gnome-calendar.c:230
-#: ../calendar/gui/calendar-component.c:544
-#: ../calendar/gui/calendar-component.c:551
-#: ../calendar/gui/calendar-component.c:557
-#: ../calendar/gui/calendar-component.c:559
+#: ../calendar/gui/calendar-component.c:684
+#: ../calendar/gui/calendar-component.c:691
+#: ../calendar/gui/calendar-component.c:697
+#: ../calendar/gui/calendar-component.c:699
msgid "%d %b %Y"
msgstr "%d. %B %Y"
@@ -194,7 +194,7 @@ msgstr "%d. %B %Y"
#. month name. You can change the order but don't
#. change the specifiers or add anything.
#: ../a11y/calendar/ea-gnome-calendar.c:220
-#: ../calendar/gui/calendar-component.c:549
+#: ../calendar/gui/calendar-component.c:689
#: ../calendar/gui/e-day-view-top-item.c:723 ../calendar/gui/e-day-view.c:1527
#: ../calendar/gui/e-week-view-main-item.c:335
msgid "%d %b"
@@ -240,17 +240,17 @@ msgstr "Kalenderansicht für einen Monat"
msgid "calendar view for one or more weeks"
msgstr "Kalenderansicht für eine oder mehrere Wochen"
-#: ../a11y/widgets/ea-calendar-item.c:290
#: ../a11y/widgets/ea-calendar-item.c:296
+#: ../a11y/widgets/ea-calendar-item.c:302
msgid "%d %B %Y"
msgstr " %d. %B %Y"
-#: ../a11y/widgets/ea-calendar-item.c:298
+#: ../a11y/widgets/ea-calendar-item.c:304
#, c-format
msgid "Calendar: from %s to %s"
msgstr "Kalender: von %s bis %s"
-#: ../a11y/widgets/ea-calendar-item.c:333
+#: ../a11y/widgets/ea-calendar-item.c:339
msgid "evolution calendar item"
msgstr "Evolution Kalenderelement"
@@ -523,7 +523,7 @@ msgstr "Hier können Sie die Auto-Vervollständigung konfigurieren"
#. Create the contacts group
#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:5
#: ../addressbook/gui/component/addressbook-view.c:1119
-#: ../calendar/gui/migration.c:385
+#: ../calendar/gui/calendar-component.c:235 ../calendar/gui/migration.c:385
msgid "Contacts"
msgstr "Kontakte"
@@ -561,64 +561,67 @@ msgstr "Hier können Sie Ihre S/MIME-Zertifikate verwalten"
#. create the local source group
#. On This Computer is always first and vFolders is always last
-#: ../addressbook/gui/component/addressbook-component.c:120
+#: ../addressbook/gui/component/addressbook-component.c:133
#: ../addressbook/gui/component/addressbook-migrate.c:493
-#: ../calendar/gui/migration.c:459 ../calendar/gui/migration.c:552
+#: ../calendar/gui/calendar-component.c:208 ../calendar/gui/migration.c:459
+#: ../calendar/gui/migration.c:552 ../calendar/gui/tasks-component.c:188
#: ../mail/em-folder-tree-model.c:197 ../mail/em-folder-tree-model.c:199
-#: ../mail/mail-component.c:270 ../mail/mail-vfolder.c:222
+#: ../mail/mail-component.c:290 ../mail/mail-vfolder.c:222
msgid "On This Computer"
msgstr "Auf diesem Computer"
#. Create the default Person addressbook
#. Create the default Person calendar
#. Create the default Person task list
+#. Create the default Person addressbook
#. orange
-#: ../addressbook/gui/component/addressbook-component.c:128
+#: ../addressbook/gui/component/addressbook-component.c:141
#: ../addressbook/gui/component/addressbook-migrate.c:501
#: ../addressbook/gui/contact-editor/contact-editor.glade.h:20
-#: ../calendar/gui/migration.c:467 ../calendar/gui/migration.c:560
-#: ../filter/filter-label.c:123 ../mail/em-migrate.c:1013
-#: ../mail/mail-config.c:77 ../mail/mail-config.glade.h:101
+#: ../calendar/gui/calendar-component.c:216 ../calendar/gui/migration.c:467
+#: ../calendar/gui/migration.c:560 ../calendar/gui/tasks-component.c:196
+#: ../filter/filter-label.c:123 ../mail/em-migrate.c:1043
+#: ../mail/mail-config.c:78 ../mail/mail-config.glade.h:101
msgid "Personal"
msgstr "Persönlich"
#. Create the LDAP source group
-#: ../addressbook/gui/component/addressbook-component.c:136
+#: ../addressbook/gui/component/addressbook-component.c:149
#: ../addressbook/gui/component/addressbook-migrate.c:509
msgid "On LDAP Servers"
msgstr "Auf LDAP-Servern"
-#: ../addressbook/gui/component/addressbook-component.c:183
+#: ../addressbook/gui/component/addressbook-component.c:197
msgid "_Contact"
msgstr "_Kontakt"
-#: ../addressbook/gui/component/addressbook-component.c:184
+#: ../addressbook/gui/component/addressbook-component.c:198
msgid "Create a new contact"
msgstr "Einen neuen Kontakt anlegen"
-#: ../addressbook/gui/component/addressbook-component.c:191
+#: ../addressbook/gui/component/addressbook-component.c:205
msgid "Contact _List"
msgstr "Kontakt_liste"
-#: ../addressbook/gui/component/addressbook-component.c:192
+#: ../addressbook/gui/component/addressbook-component.c:206
msgid "Create a new contact list"
msgstr "Eine neue Kontaktliste anlegen"
-#: ../addressbook/gui/component/addressbook-component.c:198
-#: ../addressbook/gui/component/addressbook-config.c:1121
+#: ../addressbook/gui/component/addressbook-component.c:212
+#: ../addressbook/gui/component/addressbook-config.c:1120
#: ../addressbook/gui/component/addressbook-view.c:757
msgid "New Address Book"
msgstr "Neues Adressbuch"
-#: ../addressbook/gui/component/addressbook-component.c:199
+#: ../addressbook/gui/component/addressbook-component.c:213
msgid "Address _Book"
msgstr "A_dressbuch"
-#: ../addressbook/gui/component/addressbook-component.c:200
+#: ../addressbook/gui/component/addressbook-component.c:214
msgid "Create a new address book"
msgstr "Ein neues Adressbuch anlegen"
-#: ../addressbook/gui/component/addressbook-component.c:273
+#: ../addressbook/gui/component/addressbook-component.c:287
msgid "Failed upgrading Addressbook settings or folders."
msgstr "Aktualisieren der Adressbucheinstellungen oder -ordner gescheitert."
@@ -673,18 +676,18 @@ msgstr "Suchen"
msgid "Downloading"
msgstr "Herunterladen"
-#: ../addressbook/gui/component/addressbook-config.c:1119
+#: ../addressbook/gui/component/addressbook-config.c:1118
#: ../addressbook/gui/component/ldap-config.glade.h:14
msgid "Address Book Properties"
msgstr "Adressbucheigenschaften"
#: ../addressbook/gui/component/addressbook-migrate.c:72
-#: ../calendar/gui/migration.c:142 ../mail/em-migrate.c:1160
+#: ../calendar/gui/migration.c:142 ../mail/em-migrate.c:1190
msgid "Migrating..."
msgstr "Migrationsvorgang..."
#: ../addressbook/gui/component/addressbook-migrate.c:124
-#: ../calendar/gui/migration.c:189 ../mail/em-migrate.c:1201
+#: ../calendar/gui/migration.c:189 ../mail/em-migrate.c:1231
#, c-format
msgid "Migrating `%s':"
msgstr "»%s« wird migriert:"
@@ -742,16 +745,16 @@ msgstr ""
#: ../addressbook/gui/component/addressbook-view.c:758
#: ../addressbook/gui/widgets/e-addressbook-view.c:935
-#: ../calendar/gui/calendar-component.c:386
-#: ../calendar/gui/tasks-component.c:330 ../mail/em-filter-i18n.h:11
+#: ../calendar/gui/calendar-component.c:526
+#: ../calendar/gui/tasks-component.c:430 ../mail/em-filter-i18n.h:11
#: ../ui/evolution-addressbook.xml.h:8 ../ui/evolution-calendar.xml.h:5
#: ../ui/evolution-mail-message.xml.h:24 ../ui/evolution-tasks.xml.h:6
msgid "Delete"
msgstr "Löschen"
#: ../addressbook/gui/component/addressbook-view.c:760
-#: ../calendar/gui/calendar-component.c:387
-#: ../calendar/gui/tasks-component.c:331
+#: ../calendar/gui/calendar-component.c:527
+#: ../calendar/gui/tasks-component.c:431
msgid "Properties..."
msgstr "Eigenschaften..."
@@ -894,7 +897,7 @@ msgid "Add Address Book"
msgstr "Adressbuch hinzufügen"
#: ../addressbook/gui/component/ldap-config.glade.h:15
-#: ../mail/em-account-editor.c:300
+#: ../mail/em-account-editor.c:302
msgid "Always"
msgstr "Immer"
@@ -929,7 +932,7 @@ msgid "Lo_gin:"
msgstr "Anm_eldename:"
#: ../addressbook/gui/component/ldap-config.glade.h:25
-#: ../mail/em-account-editor.c:298
+#: ../mail/em-account-editor.c:300
msgid "Never"
msgstr "Nie"
@@ -1054,7 +1057,7 @@ msgid "Using email address"
msgstr "E-Mail-Adresse verwenden"
#: ../addressbook/gui/component/ldap-config.glade.h:42
-#: ../mail/em-account-editor.c:299
+#: ../mail/em-account-editor.c:301
msgid "Whenever Possible"
msgstr "Immer, wenn möglich"
@@ -1109,7 +1112,7 @@ msgstr "Karten"
#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:12
#: ../calendar/gui/dialogs/alarm-dialog.glade.h:26
#: ../calendar/gui/dialogs/calendar-setup.glade.h:14
-#: ../filter/filter.glade.h:16 ../mail/em-account-editor.c:1883
+#: ../filter/filter.glade.h:16 ../mail/em-account-editor.c:1885
#: ../plugins/calendar-http/calendar-http.c:263
#: ../plugins/calendar-weather/calendar-weather.c:564
msgid "minutes"
@@ -1208,8 +1211,8 @@ msgstr "Telefon"
#: ../addressbook/gui/contact-editor/contact-editor.glade.h:23
#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:235
#: ../addressbook/gui/contact-editor/e-contact-editor.c:199
-#: ../filter/filter-label.c:122 ../mail/em-migrate.c:1012
-#: ../mail/mail-config.c:76 ../mail/mail-config.glade.h:148
+#: ../filter/filter-label.c:122 ../mail/em-migrate.c:1042
+#: ../mail/mail-config.c:77 ../mail/mail-config.glade.h:148
msgid "Work"
msgstr "Geschäftlich"
@@ -2438,7 +2441,7 @@ msgstr "_Voller Name:"
msgid "E-_mail:"
msgstr "E-_Mail:"
-#: ../addressbook/gui/contact-editor/eab-editor.c:319
+#: ../addressbook/gui/contact-editor/eab-editor.c:326
msgid ""
"Are you sure you want\n"
"to delete these contacts?"
@@ -2446,7 +2449,7 @@ msgstr ""
"Sind Sie sicher, dass Sie\n"
"diese Kontakte löschen wollen?"
-#: ../addressbook/gui/contact-editor/eab-editor.c:322
+#: ../addressbook/gui/contact-editor/eab-editor.c:329
msgid ""
"Are you sure you want\n"
"to delete this contact?"
@@ -2565,7 +2568,7 @@ msgid "Add an email to the List"
msgstr "Eine E-Mail-Adresse zur Liste hinzufügen"
#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:5
-#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:820
+#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:817
msgid "Contact List Editor"
msgstr "Kontaktlisteneditor"
@@ -2612,11 +2615,11 @@ msgstr "Buch"
msgid "Is New List"
msgstr "Ist neue Liste"
-#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:710
+#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:707
msgid "_Members"
msgstr "_Mitglieder"
-#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:713
+#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:710
msgid "Contact List Members"
msgstr "Kontaktlistenmitglieder"
@@ -2726,7 +2729,7 @@ msgstr "Quelle"
#: ../addressbook/gui/widgets/e-addressbook-view.c:244
#: ../calendar/gui/dialogs/meeting-page.etspec.h:11
#: ../calendar/gui/e-calendar-table.etspec.h:13
-#: ../calendar/gui/e-meeting-list-view.c:244
+#: ../calendar/gui/e-meeting-list-view.c:319
#: ../calendar/gui/e-meeting-time-sel.etspec.h:11
msgid "Type"
msgstr "Typ"
@@ -2780,8 +2783,8 @@ msgid "Cut"
msgstr "Ausschneiden"
#: ../addressbook/gui/widgets/e-addressbook-view.c:933
-#: ../calendar/gui/calendar-component.c:385
-#: ../calendar/gui/tasks-component.c:329 ../ui/evolution-addressbook.xml.h:2
+#: ../calendar/gui/calendar-component.c:525
+#: ../calendar/gui/tasks-component.c:429 ../ui/evolution-addressbook.xml.h:2
#: ../ui/evolution-mail-message.xml.h:9 ../ui/evolution-tasks.xml.h:2
msgid "Copy"
msgstr "Kopieren"
@@ -2937,7 +2940,7 @@ msgstr "Funk"
#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:33
#: ../calendar/gui/dialogs/meeting-page.etspec.h:9
-#: ../calendar/gui/e-meeting-list-view.c:251
+#: ../calendar/gui/e-meeting-list-view.c:326
#: ../calendar/gui/e-meeting-time-sel.etspec.h:9
msgid "Role"
msgstr "Position"
@@ -4155,10 +4158,10 @@ msgstr "Die Aufgabenliste ist nicht für eine Offline-Benutzung markiert"
#. calendar:server-version secondary
#: ../calendar/calendar-errors.xml.h:146
-msgid " Some features may not work correctly with your current server version"
+msgid " Some features may not work correctly with your current server version "
msgstr ""
-"Einige Funktionen werden mit Ihrer momentanen Server-Version möglicherweise "
-"nicht einwandfrei arbeiten."
+" Einige Funktionen werden mit Ihrer momentanen Server-Version möglicherweise "
+"nicht einwandfrei arbeiten "
#: ../calendar/common/authentication.c:49 ../calendar/gui/e-pub-utils.c:301
#: ../smime/gui/component.c:48
@@ -4195,7 +4198,7 @@ msgid "Calendar and Tasks"
msgstr "Kalender und Aufgaben"
#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:2
-#: ../calendar/gui/calendar-component.c:1150
+#: ../calendar/gui/calendar-component.c:1290
msgid "Calendars"
msgstr "Kalender"
@@ -4231,7 +4234,7 @@ msgstr "Evolution-Aufgabenkomponente"
#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:10
#: ../calendar/gui/e-tasks.c:1219 ../calendar/gui/print.c:1822
-#: ../calendar/gui/tasks-component.c:408 ../calendar/gui/tasks-component.c:881
+#: ../calendar/gui/tasks-component.c:508 ../calendar/gui/tasks-component.c:981
#: ../calendar/gui/tasks-control.c:408
#: ../calendar/importers/icalendar-importer.c:83
#: ../calendar/importers/icalendar-importer.c:701
@@ -4325,30 +4328,30 @@ msgid "start-time"
msgstr "Anfangszeit"
# CHECK
-#: ../calendar/gui/alarm-notify/alarm-queue.c:864
+#: ../calendar/gui/alarm-notify/alarm-queue.c:879
msgid "Dismiss"
msgstr "Verwerfen"
# CHECK
-#: ../calendar/gui/alarm-notify/alarm-queue.c:865
+#: ../calendar/gui/alarm-notify/alarm-queue.c:880
msgid "Dismiss All"
msgstr "Alle verwerfen"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:947
+#: ../calendar/gui/alarm-notify/alarm-queue.c:962
msgid "No summary available."
msgstr "Keine Zusammenfassung verfügbar."
-#: ../calendar/gui/alarm-notify/alarm-queue.c:956
-#: ../calendar/gui/alarm-notify/alarm-queue.c:958
+#: ../calendar/gui/alarm-notify/alarm-queue.c:971
+#: ../calendar/gui/alarm-notify/alarm-queue.c:973
msgid "No description available."
msgstr "Keine Beschreibung verfügbar."
-#: ../calendar/gui/alarm-notify/alarm-queue.c:966
+#: ../calendar/gui/alarm-notify/alarm-queue.c:981
msgid "No location information available."
msgstr "Keine Ortinformationen verfügbar."
# CHECK
-#: ../calendar/gui/alarm-notify/alarm-queue.c:982
+#: ../calendar/gui/alarm-notify/alarm-queue.c:997
#, c-format
msgid ""
"Alarm on %s\n"
@@ -4360,12 +4363,12 @@ msgstr ""
"%sBeginnt um %s\n"
"Endet um %s"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1084
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1108
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1099
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1123
msgid "Warning"
msgstr "Warnung"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1088
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1103
msgid ""
"Evolution does not support calendar reminders with\n"
"email notifications yet, but this reminder was\n"
@@ -4378,7 +4381,7 @@ msgstr ""
"Evolution wird stattdessen ein normales\n"
"Erinnerungsdialogfenster anzeigen."
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1114
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1129
#, c-format
msgid ""
"An Evolution Calendar reminder is about to trigger. This reminder is "
@@ -4395,7 +4398,7 @@ msgstr ""
"\n"
"Sind Sie sicher, dass Sie dieses Programm ausführen wollen?"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1128
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1143
msgid "Do not ask me about this program again."
msgstr "Nicht mehr nach diesem Programm fragen."
@@ -4743,7 +4746,7 @@ msgid "Unmatched"
msgstr "Nicht einsortiert"
#: ../calendar/gui/calendar-commands.c:120
-#: ../calendar/gui/calendar-component.c:568
+#: ../calendar/gui/calendar-component.c:708
#: ../calendar/gui/dialogs/calendar-setup.c:362
#: ../calendar/gui/gnome-cal.c:1942
#: ../plugins/groupwise-account-setup/camel-gw-listener.c:382
@@ -4773,76 +4776,94 @@ msgstr "Ereignisse löschen älter als"
msgid "days"
msgstr "Tage"
-#: ../calendar/gui/calendar-component.c:384
+#. Create the On the web source group
+#. Create the Webcal source group
+#. Create the LDAP source group
+#: ../calendar/gui/calendar-component.c:223 ../calendar/gui/migration.c:486
+#: ../calendar/gui/migration.c:579 ../calendar/gui/tasks-component.c:204
+msgid "On The Web"
+msgstr "Im Web"
+
+#: ../calendar/gui/calendar-component.c:241 ../calendar/gui/migration.c:388
+msgid "Birthdays & Anniversaries"
+msgstr "Geburts- und Jahrestage"
+
+#. Create the weather group
+#: ../calendar/gui/calendar-component.c:247
+#: ../plugins/calendar-weather/calendar-weather.c:100
+msgid "Weather"
+msgstr "Wetter"
+
+#: ../calendar/gui/calendar-component.c:524
#: ../calendar/gui/dialogs/calendar-setup.c:442
msgid "New Calendar"
msgstr "Neuer Kalender"
-#: ../calendar/gui/calendar-component.c:703
+#: ../calendar/gui/calendar-component.c:843
msgid "Failed upgrading calendars."
msgstr "Auffrischen der Kalender gescheitert."
-#: ../calendar/gui/calendar-component.c:999
+#: ../calendar/gui/calendar-component.c:1139
#, c-format
msgid "Unable to open the calendar '%s' for creating events and meetings"
msgstr ""
"Der Kalender »%s« konnte nicht zum Anlegen von Ereignissen und Besprechungen "
"geöffnet werden"
-#: ../calendar/gui/calendar-component.c:1015
+#: ../calendar/gui/calendar-component.c:1155
msgid "There is no calendar available for creating events and meetings"
msgstr ""
"Es ist kein Kalender zum Anlegen von Ereignissen und Besprechungen verfügbar"
-#: ../calendar/gui/calendar-component.c:1125
+#: ../calendar/gui/calendar-component.c:1265
msgid "Calendar Source Selector"
msgstr "Kalenderquellenauswahl"
-#: ../calendar/gui/calendar-component.c:1316
+#: ../calendar/gui/calendar-component.c:1456
msgid "New appointment"
msgstr "Neuer Termin"
-#: ../calendar/gui/calendar-component.c:1317
+#: ../calendar/gui/calendar-component.c:1457
msgid "_Appointment"
msgstr "_Termin"
-#: ../calendar/gui/calendar-component.c:1318
+#: ../calendar/gui/calendar-component.c:1458
msgid "Create a new appointment"
msgstr "Einen neuen Termin anlegen"
-#: ../calendar/gui/calendar-component.c:1324
+#: ../calendar/gui/calendar-component.c:1464
msgid "New meeting"
msgstr "Neue Besprechung"
-#: ../calendar/gui/calendar-component.c:1325
+#: ../calendar/gui/calendar-component.c:1465
msgid "M_eeting"
msgstr "_Besprechung"
-#: ../calendar/gui/calendar-component.c:1326
+#: ../calendar/gui/calendar-component.c:1466
msgid "Create a new meeting request"
msgstr "Eine neue Besprechungsanfrage anlegen"
-#: ../calendar/gui/calendar-component.c:1332
+#: ../calendar/gui/calendar-component.c:1472
msgid "New all day appointment"
msgstr "Neuer Ganztagstermin"
-#: ../calendar/gui/calendar-component.c:1333
+#: ../calendar/gui/calendar-component.c:1473
msgid "All Day A_ppointment"
msgstr "_Ganztagstermin"
-#: ../calendar/gui/calendar-component.c:1334
+#: ../calendar/gui/calendar-component.c:1474
msgid "Create a new all-day appointment"
msgstr "Einen neuen ganztätigen Termin anlegen"
-#: ../calendar/gui/calendar-component.c:1340
+#: ../calendar/gui/calendar-component.c:1480
msgid "New calendar"
msgstr "Neuer Kalender"
-#: ../calendar/gui/calendar-component.c:1341
+#: ../calendar/gui/calendar-component.c:1481
msgid "Cale_ndar"
msgstr "Ka_lender"
-#: ../calendar/gui/calendar-component.c:1342
+#: ../calendar/gui/calendar-component.c:1482
msgid "Create a new calendar"
msgstr "Einen neuen Kalender anlegen"
@@ -4874,7 +4895,7 @@ msgstr "Methode beim Öffnen des Kalenders nicht unterstützt"
msgid "Permission denied to open the calendar"
msgstr "Erlaubnis zum Öffnen des Kalenders verweigert"
-#: ../calendar/gui/comp-editor-factory.c:437 ../shell/e-shell.c:1259
+#: ../calendar/gui/comp-editor-factory.c:437 ../shell/e-shell.c:1264
msgid "Unknown error"
msgstr "Unbekannter Fehler"
@@ -5017,7 +5038,7 @@ msgid "%.0fG"
msgstr "%.0f GB"
#: ../calendar/gui/dialogs/cal-attachment-bar.c:298
-#: ../calendar/gui/dialogs/cal-attachment-bar.c:913
+#: ../calendar/gui/dialogs/cal-attachment-bar.c:922
#: ../composer/e-msg-composer-attachment-bar.c:295 ../mail/em-utils.c:436
msgid "attachment"
msgstr "anlage"
@@ -5099,7 +5120,7 @@ msgstr "MIME-Typ:"
#. g_object_set((GObject *)renderer, "activatable", TRUE, NULL);
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:576
-#: ../mail/em-account-prefs.c:460 ../mail/em-composer-prefs.c:888
+#: ../mail/em-account-prefs.c:476 ../mail/em-composer-prefs.c:888
#: ../plugins/plugin-manager/plugin-manager.c:213
msgid "Enabled"
msgstr "Aktiv"
@@ -5119,16 +5140,16 @@ msgstr "Nicht entfernen"
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:787
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:820
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:853
-#: ../mail/em-account-prefs.c:307 ../mail/em-account-prefs.c:335
-#: ../mail/em-account-prefs.c:366
+#: ../mail/em-account-prefs.c:323 ../mail/em-account-prefs.c:351
+#: ../mail/em-account-prefs.c:382
msgid "Disable"
msgstr "Deaktivieren"
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:787
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:820
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:855
-#: ../mail/em-account-prefs.c:307 ../mail/em-account-prefs.c:335
-#: ../mail/em-account-prefs.c:368
+#: ../mail/em-account-prefs.c:323 ../mail/em-account-prefs.c:351
+#: ../mail/em-account-prefs.c:384
msgid "Enable"
msgstr "Aktivieren"
@@ -5533,8 +5554,8 @@ msgstr[1] "%d beigelegte Nachrichten"
#: ../calendar/gui/dialogs/comp-editor.c:412
#: ../calendar/gui/e-calendar-table.c:1164
#: ../calendar/gui/e-calendar-view.c:1402 ../composer/e-msg-composer.c:2906
-#: ../mail/em-folder-tree.c:1046 ../mail/em-folder-view.c:973
-#: ../mail/message-list.c:1712 ../ui/evolution-addressbook.xml.h:31
+#: ../mail/em-folder-tree.c:1046 ../mail/em-folder-view.c:966
+#: ../mail/message-list.c:1707 ../ui/evolution-addressbook.xml.h:31
#: ../ui/evolution-calendar.xml.h:39 ../ui/evolution-composer-entries.xml.h:7
#: ../ui/evolution-mail-message.xml.h:105 ../ui/evolution-tasks.xml.h:20
msgid "_Copy"
@@ -5542,91 +5563,91 @@ msgstr "_Kopieren"
#: ../calendar/gui/dialogs/comp-editor.c:413 ../composer/e-msg-composer.c:2907
#: ../mail/em-folder-tree.c:1047 ../mail/em-folder-tree.c:2311
-#: ../mail/em-folder-view.c:869 ../mail/message-list.c:1713
+#: ../mail/em-folder-view.c:862 ../mail/message-list.c:1708
msgid "_Move"
msgstr "_Verschieben"
#: ../calendar/gui/dialogs/comp-editor.c:415 ../composer/e-msg-composer.c:2909
-#: ../mail/em-folder-tree.c:1049 ../mail/message-list.c:1715
+#: ../mail/em-folder-tree.c:1049 ../mail/message-list.c:1710
msgid "Cancel _Drag"
msgstr "_Ziehen abbrechen"
-#: ../calendar/gui/dialogs/comp-editor.c:659
+#: ../calendar/gui/dialogs/comp-editor.c:682
msgid "Could not update object"
msgstr "Objekt konnte nicht aktualisiert werden"
-#: ../calendar/gui/dialogs/comp-editor.c:820 ../composer/e-msg-composer.c:2310
+#: ../calendar/gui/dialogs/comp-editor.c:843 ../composer/e-msg-composer.c:2310
#, c-format
msgid "<b>%d</b> File Attached"
msgid_plural "<b>%d</b> Files Attached"
msgstr[0] "<b>%d</b> Datei beigelegt"
msgstr[1] "<b>%d</b> Dateien beigelegt"
-#: ../calendar/gui/dialogs/comp-editor.c:873 ../composer/e-msg-composer.c:2339
+#: ../calendar/gui/dialogs/comp-editor.c:900 ../composer/e-msg-composer.c:2339
msgid "Hide _Attachment Bar (drop attachments here)"
msgstr "A_nlagenleiste verbergen (legen Sie Anlagen hier ab)"
-#: ../calendar/gui/dialogs/comp-editor.c:876
-#: ../calendar/gui/dialogs/comp-editor.c:928 ../composer/e-msg-composer.c:2342
+#: ../calendar/gui/dialogs/comp-editor.c:903
+#: ../calendar/gui/dialogs/comp-editor.c:955 ../composer/e-msg-composer.c:2342
#: ../composer/e-msg-composer.c:3471
msgid "Show _Attachment Bar (drop attachments here)"
msgstr "A_nlagenleiste anzeigen (legen Sie Anlagen hier ab)"
-#: ../calendar/gui/dialogs/comp-editor.c:952 ../composer/e-msg-composer.c:3493
+#: ../calendar/gui/dialogs/comp-editor.c:979 ../composer/e-msg-composer.c:3493
msgid "Attachment Button: Press space key to toggle attachment bar"
msgstr ""
"Anlagenknopf: Drücken Sie die Leertaste zum Anzeigen/Verbergen der "
"Anlagenleiste"
-#: ../calendar/gui/dialogs/comp-editor.c:1499
-#: ../calendar/gui/dialogs/comp-editor.c:1542
+#: ../calendar/gui/dialogs/comp-editor.c:1526
+#: ../calendar/gui/dialogs/comp-editor.c:1569
msgid "Edit Appointment"
msgstr "Termin bearbeiten"
-#: ../calendar/gui/dialogs/comp-editor.c:1505
-#: ../calendar/gui/dialogs/comp-editor.c:1548
+#: ../calendar/gui/dialogs/comp-editor.c:1532
+#: ../calendar/gui/dialogs/comp-editor.c:1575
#, c-format
msgid "Meeting - %s"
msgstr "Besprechung -%s"
-#: ../calendar/gui/dialogs/comp-editor.c:1507
-#: ../calendar/gui/dialogs/comp-editor.c:1550
+#: ../calendar/gui/dialogs/comp-editor.c:1534
+#: ../calendar/gui/dialogs/comp-editor.c:1577
#, c-format
msgid "Appointment - %s"
msgstr "Termin - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1511
-#: ../calendar/gui/dialogs/comp-editor.c:1554
+#: ../calendar/gui/dialogs/comp-editor.c:1538
+#: ../calendar/gui/dialogs/comp-editor.c:1581
#, c-format
msgid "Assigned Task - %s"
msgstr "Zugewiesene Aufgabe - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1513
-#: ../calendar/gui/dialogs/comp-editor.c:1556
+#: ../calendar/gui/dialogs/comp-editor.c:1540
+#: ../calendar/gui/dialogs/comp-editor.c:1583
#, c-format
msgid "Task - %s"
msgstr "Aufgabe - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1516
-#: ../calendar/gui/dialogs/comp-editor.c:1559
+#: ../calendar/gui/dialogs/comp-editor.c:1543
+#: ../calendar/gui/dialogs/comp-editor.c:1586
#, c-format
msgid "Journal entry - %s"
msgstr "Journaleintrag - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1527
-#: ../calendar/gui/dialogs/comp-editor.c:1569
+#: ../calendar/gui/dialogs/comp-editor.c:1554
+#: ../calendar/gui/dialogs/comp-editor.c:1596
msgid "No summary"
msgstr "Keine Zusammenfassung"
-#: ../calendar/gui/dialogs/comp-editor.c:2001
-#: ../calendar/gui/dialogs/comp-editor.c:2034
-#: ../calendar/gui/dialogs/comp-editor.c:2058
+#: ../calendar/gui/dialogs/comp-editor.c:2030
+#: ../calendar/gui/dialogs/comp-editor.c:2063
+#: ../calendar/gui/dialogs/comp-editor.c:2087
msgid "Changes made to this item may be discarded if an update arrives"
msgstr ""
"An diesem Objekt vorgenommene Änderungen verfallen möglicherweise, sobald "
"Aktualisierungen eintreffen"
-#: ../calendar/gui/dialogs/comp-editor.c:2082
+#: ../calendar/gui/dialogs/comp-editor.c:2111
msgid "Unable to use current version!"
msgstr "Aktuelle Version konnte nicht verwendet werden!"
@@ -5900,9 +5921,9 @@ msgstr "_Anfangszeit:"
#: ../calendar/gui/dialogs/meeting-page.glade.h:5
#: ../calendar/gui/e-cal-model-tasks.c:652
#: ../calendar/gui/e-itip-control.c:1104 ../composer/e-msg-composer.c:2117
-#: ../filter/filter-rule.c:878 ../mail/em-account-editor.c:683
-#: ../mail/em-account-editor.c:1289 ../mail/em-account-prefs.c:421
-#: ../mail/em-folder-view.c:1000
+#: ../filter/filter-rule.c:878 ../mail/em-account-editor.c:685
+#: ../mail/em-account-editor.c:1291 ../mail/em-account-prefs.c:437
+#: ../mail/em-folder-view.c:993
#: ../plugins/calendar-weather/calendar-weather.c:371
#: ../plugins/calendar-weather/calendar-weather.c:425
#: ../plugins/itip-formatter/itip-formatter.c:1376
@@ -5929,7 +5950,7 @@ msgid "_Delegate To..."
msgstr "_Delegieren an..."
#: ../calendar/gui/dialogs/meeting-page.etspec.h:1
-#: ../calendar/gui/e-meeting-list-view.c:235
+#: ../calendar/gui/e-meeting-list-view.c:308
#: ../calendar/gui/e-meeting-time-sel.etspec.h:1
msgid "Attendee"
msgstr "Teilnehmer"
@@ -5965,7 +5986,7 @@ msgid "Member"
msgstr "Mitglied"
#: ../calendar/gui/dialogs/meeting-page.etspec.h:8
-#: ../calendar/gui/e-meeting-list-view.c:258
+#: ../calendar/gui/e-meeting-list-view.c:333
#: ../calendar/gui/e-meeting-time-sel.etspec.h:8
msgid "RSVP"
msgstr "UAwg"
@@ -5973,7 +5994,7 @@ msgstr "UAwg"
#: ../calendar/gui/dialogs/meeting-page.etspec.h:10
#: ../calendar/gui/dialogs/task-editor.c:146
#: ../calendar/gui/e-calendar-table.etspec.h:10
-#: ../calendar/gui/e-meeting-list-view.c:265
+#: ../calendar/gui/e-meeting-list-view.c:340
#: ../calendar/gui/e-meeting-time-sel.etspec.h:10 ../mail/em-filter-i18n.h:63
#: ../mail/message-list.etspec.h:12
msgid "Status"
@@ -6041,38 +6062,38 @@ msgstr "Aufgabenlistengruppe"
msgid "Task List Name"
msgstr "Aufgabenlistenname"
-#: ../calendar/gui/dialogs/recur-comp.c:51
+#: ../calendar/gui/dialogs/recur-comp.c:52
msgid "You are modifying a recurring event, what would you like to modify?"
msgstr ""
"Sie nehmen Änderungen an einem wiederkehrenden Ereignis vor. Was möchten Sie "
"verändern?"
-#: ../calendar/gui/dialogs/recur-comp.c:55
+#: ../calendar/gui/dialogs/recur-comp.c:56
msgid "You are modifying a recurring task, what would you like to modify?"
msgstr ""
"Sie nehmen Änderungen an einer wiederkehrenden Aufgabe vor. Was möchten Sie "
"verändern?"
-#: ../calendar/gui/dialogs/recur-comp.c:59
+#: ../calendar/gui/dialogs/recur-comp.c:60
msgid ""
"You are modifying a recurring journal entry, what would you like to modify?"
msgstr ""
"Sie nehmen Änderungen an einem wiederkehrenden Journaleintrag vor. Was "
"möchten Sie verändern?"
-#: ../calendar/gui/dialogs/recur-comp.c:87
+#: ../calendar/gui/dialogs/recur-comp.c:88
msgid "This Instance Only"
msgstr "Nur diese Instanz"
-#: ../calendar/gui/dialogs/recur-comp.c:91
+#: ../calendar/gui/dialogs/recur-comp.c:92
msgid "This and Prior Instances"
msgstr "Diese und frühere Instanzen"
-#: ../calendar/gui/dialogs/recur-comp.c:97
+#: ../calendar/gui/dialogs/recur-comp.c:98
msgid "This and Future Instances"
msgstr "Diese und zukünftige Instanzen"
-#: ../calendar/gui/dialogs/recur-comp.c:102
+#: ../calendar/gui/dialogs/recur-comp.c:103
msgid "All Instances"
msgstr "Alle Instanzen"
@@ -6205,7 +6226,7 @@ msgstr "Abgeschlossen"
#: ../calendar/gui/dialogs/task-details-page.glade.h:5
#: ../calendar/gui/e-cal-component-preview.c:248
-#: ../calendar/gui/e-calendar-table.c:382 ../mail/message-list.c:1011
+#: ../calendar/gui/e-calendar-table.c:382 ../mail/message-list.c:1006
msgid "High"
msgstr "Hoch"
@@ -6220,14 +6241,14 @@ msgstr "In Bearbeitung"
#: ../calendar/gui/dialogs/task-details-page.glade.h:7
#: ../calendar/gui/e-cal-component-preview.c:252
-#: ../calendar/gui/e-calendar-table.c:384 ../mail/message-list.c:1009
+#: ../calendar/gui/e-calendar-table.c:384 ../mail/message-list.c:1004
msgid "Low"
msgstr "Niedrig"
#: ../calendar/gui/dialogs/task-details-page.glade.h:8
#: ../calendar/gui/e-cal-component-preview.c:250
#: ../calendar/gui/e-cal-model.c:899 ../calendar/gui/e-calendar-table.c:383
-#: ../mail/message-list.c:1010
+#: ../mail/message-list.c:1005
msgid "Normal"
msgstr "Normal"
@@ -6427,7 +6448,7 @@ msgstr "%s um %s"
msgid "%s for an unknown trigger type"
msgstr "%s für einen unbekannten Auslösertyp."
-#: ../calendar/gui/e-cal-component-preview.c:70 ../mail/em-folder-view.c:2588
+#: ../calendar/gui/e-cal-component-preview.c:70 ../mail/em-folder-view.c:2573
#, c-format
msgid "Click to open %s"
msgstr "Klicken Sie hier, um %s zu öffnen"
@@ -6456,7 +6477,7 @@ msgstr "Fällig am:"
#. Status
#: ../calendar/gui/e-cal-component-preview.c:222
#: ../calendar/gui/e-itip-control.c:1132
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:129
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:209
#: ../plugins/itip-formatter/itip-view.c:884
msgid "Status:"
msgstr "Status:"
@@ -6539,7 +6560,7 @@ msgstr "Nein"
#: ../calendar/gui/e-meeting-list-view.c:139
#: ../calendar/gui/e-meeting-list-view.c:153
#: ../calendar/gui/e-meeting-store.c:124 ../calendar/gui/e-meeting-store.c:159
-#: ../calendar/gui/e-meeting-store.c:224 ../mail/em-utils.c:1157
+#: ../calendar/gui/e-meeting-store.c:224 ../mail/em-utils.c:1173
#: ../plugins/itip-formatter/itip-formatter.c:251
#: ../plugins/itip-formatter/itip-formatter.c:1398
#: ../plugins/plugin-manager/plugin-manager.c:72
@@ -6629,8 +6650,8 @@ msgid "Open _Web Page"
msgstr "_Website öffnen"
#: ../calendar/gui/e-calendar-table.c:1158
-#: ../calendar/gui/e-calendar-view.c:1396 ../mail/em-folder-view.c:983
-#: ../mail/em-popup.c:493 ../ui/evolution-mail-message.xml.h:124
+#: ../calendar/gui/e-calendar-view.c:1396 ../mail/em-folder-view.c:976
+#: ../mail/em-popup.c:494 ../ui/evolution-mail-message.xml.h:124
msgid "_Save As..."
msgstr "_Speichern unter..."
@@ -6675,7 +6696,7 @@ msgstr "Gewählte Aufgaben als abgeschlossen _markieren"
#. FIXME: need to disable for undeletable folders
#: ../calendar/gui/e-calendar-table.c:1176
#: ../calendar/gui/e-calendar-view.c:1414 ../mail/em-folder-tree.c:2814
-#: ../mail/em-folder-view.c:987 ../ui/evolution-addressbook.xml.h:33
+#: ../mail/em-folder-view.c:980 ../ui/evolution-addressbook.xml.h:33
#: ../ui/evolution-calendar.xml.h:40 ../ui/evolution-mail-message.xml.h:108
#: ../ui/evolution-tasks.xml.h:21
msgid "_Delete"
@@ -6953,12 +6974,12 @@ msgstr ""
#: ../calendar/gui/e-itip-control.c:1137
#: ../calendar/gui/e-meeting-list-view.c:175
#: ../calendar/gui/e-meeting-store.c:188 ../calendar/gui/e-meeting-store.c:211
-#: ../calendar/gui/itip-utils.c:422
+#: ../calendar/gui/itip-utils.c:421
#: ../plugins/itip-formatter/itip-formatter.c:1389
msgid "Accepted"
msgstr "Angenommen"
-#: ../calendar/gui/e-itip-control.c:1141 ../calendar/gui/itip-utils.c:425
+#: ../calendar/gui/e-itip-control.c:1141 ../calendar/gui/itip-utils.c:424
#: ../plugins/itip-formatter/itip-formatter.c:1392
msgid "Tentatively Accepted"
msgstr "Vorläufig angenommen"
@@ -6966,7 +6987,7 @@ msgstr "Vorläufig angenommen"
#: ../calendar/gui/e-itip-control.c:1145
#: ../calendar/gui/e-meeting-list-view.c:176
#: ../calendar/gui/e-meeting-store.c:190 ../calendar/gui/e-meeting-store.c:213
-#: ../calendar/gui/itip-utils.c:428 ../calendar/gui/itip-utils.c:454
+#: ../calendar/gui/itip-utils.c:427 ../calendar/gui/itip-utils.c:453
#: ../plugins/itip-formatter/itip-formatter.c:1395
msgid "Declined"
msgstr "Abgelehnt"
@@ -7242,7 +7263,7 @@ msgstr "Status des Antwortenden aktualisieren"
msgid "Send Latest Information"
msgstr "Neueste Informationen übermitteln"
-#: ../calendar/gui/e-itip-control.c:2375 ../calendar/gui/itip-utils.c:442
+#: ../calendar/gui/e-itip-control.c:2375 ../calendar/gui/itip-utils.c:441
#: ../mail/mail-send-recv.c:414 ../mail/mail-send-recv.c:466
#: ../ui/evolution-mail-global.xml.h:1
msgid "Cancel"
@@ -7585,58 +7606,58 @@ msgstr "September"
msgid "_Select Today"
msgstr "_Heute wählen"
-#: ../calendar/gui/itip-utils.c:271 ../calendar/gui/itip-utils.c:319
-#: ../calendar/gui/itip-utils.c:351
+#: ../calendar/gui/itip-utils.c:270 ../calendar/gui/itip-utils.c:318
+#: ../calendar/gui/itip-utils.c:350
msgid "An organizer must be set."
msgstr "Es muss ein Organisator festgelegt werden."
-#: ../calendar/gui/itip-utils.c:306
+#: ../calendar/gui/itip-utils.c:305
msgid "At least one attendee is necessary"
msgstr "Es ist mindestens ein Teilnehmer erforderlich"
-#: ../calendar/gui/itip-utils.c:394 ../calendar/gui/itip-utils.c:503
+#: ../calendar/gui/itip-utils.c:393 ../calendar/gui/itip-utils.c:502
msgid "Event information"
msgstr "Ereignisinformationen"
-#: ../calendar/gui/itip-utils.c:396 ../calendar/gui/itip-utils.c:505
+#: ../calendar/gui/itip-utils.c:395 ../calendar/gui/itip-utils.c:504
msgid "Task information"
msgstr "Aufgabeninformationen"
-#: ../calendar/gui/itip-utils.c:398 ../calendar/gui/itip-utils.c:507
+#: ../calendar/gui/itip-utils.c:397 ../calendar/gui/itip-utils.c:506
msgid "Journal information"
msgstr "Journalinformationen"
-#: ../calendar/gui/itip-utils.c:400 ../calendar/gui/itip-utils.c:525
+#: ../calendar/gui/itip-utils.c:399 ../calendar/gui/itip-utils.c:524
msgid "Free/Busy information"
msgstr "Verfügbarkeitsinformationen"
-#: ../calendar/gui/itip-utils.c:402
+#: ../calendar/gui/itip-utils.c:401
msgid "Calendar information"
msgstr "Kalenderinformationen"
-#: ../calendar/gui/itip-utils.c:438
+#: ../calendar/gui/itip-utils.c:437
msgid "Updated"
msgstr "Aktualisiert"
-#: ../calendar/gui/itip-utils.c:446
+#: ../calendar/gui/itip-utils.c:445
msgid "Refresh"
msgstr "Auffrischen"
# CHECK
-#: ../calendar/gui/itip-utils.c:450
+#: ../calendar/gui/itip-utils.c:449
msgid "Counter-proposal"
msgstr "Gegenvorschlag"
-#: ../calendar/gui/itip-utils.c:521
+#: ../calendar/gui/itip-utils.c:520
#, c-format
msgid "Free/Busy information (%s to %s)"
msgstr "Verfügbarkeitsinformationen (%s bis %s)"
-#: ../calendar/gui/itip-utils.c:531
+#: ../calendar/gui/itip-utils.c:530
msgid "iCalendar information"
msgstr "iCalendar-Informationen"
-#: ../calendar/gui/itip-utils.c:673
+#: ../calendar/gui/itip-utils.c:672
msgid "You must be an attendee of the event."
msgstr "Sie müssen ein Teilnehmer des Ereignisses sein."
@@ -7664,15 +7685,6 @@ msgstr ""
"\n"
"Bitte haben Sie etwas Geduld. Evolution migriert Ihre Ordner..."
-#: ../calendar/gui/migration.c:388
-msgid "Birthdays & Anniversaries"
-msgstr "Geburts- und Jahrestage"
-
-#. Create the Webcal source group
-#: ../calendar/gui/migration.c:486 ../calendar/gui/migration.c:579
-msgid "On The Web"
-msgstr "Im Web"
-
#. FIXME: set proper domain/code
#: ../calendar/gui/migration.c:745 ../calendar/gui/migration.c:912
msgid "Unable to migrate old settings from evolution/config.xmldb"
@@ -7914,76 +7926,76 @@ msgstr "Druckvorschau"
msgid "Print Item"
msgstr "Eintrag drucken"
-#: ../calendar/gui/tasks-component.c:328
+#: ../calendar/gui/tasks-component.c:428
msgid "New Task List"
msgstr "Neue Aufgabenliste"
-#: ../calendar/gui/tasks-component.c:404
+#: ../calendar/gui/tasks-component.c:504
#, c-format
msgid "%d task"
msgid_plural "%d tasks"
msgstr[0] "%d Aufgabe"
msgstr[1] "%d Aufgaben"
-#: ../calendar/gui/tasks-component.c:406 ../mail/mail-component.c:523
+#: ../calendar/gui/tasks-component.c:506 ../mail/mail-component.c:544
#, c-format
msgid ", %d selected"
msgid_plural ", %d selected"
msgstr[0] ", %d gewählt"
msgstr[1] ", %d gewählt"
-#: ../calendar/gui/tasks-component.c:453
+#: ../calendar/gui/tasks-component.c:553
msgid "Failed upgrading tasks."
msgstr "Auffrischen der Aufgaben gescheitert."
-#: ../calendar/gui/tasks-component.c:747
+#: ../calendar/gui/tasks-component.c:847
#, c-format
msgid "Unable to open the task list '%s' for creating events and meetings"
msgstr ""
"Die Aufgabenliste »%s« konnte nicht zum Anlegen von Ereignissen und Terminen "
"geöffnet werden"
-#: ../calendar/gui/tasks-component.c:762
+#: ../calendar/gui/tasks-component.c:862
msgid "There is no calendar available for creating tasks"
msgstr "Es ist kein Kalender zum Anlegen von Aufgaben verfügbar"
-#: ../calendar/gui/tasks-component.c:856
+#: ../calendar/gui/tasks-component.c:956
msgid "Task Source Selector"
msgstr "Aufgabenquellenauswahl"
-#: ../calendar/gui/tasks-component.c:1039
+#: ../calendar/gui/tasks-component.c:1139
msgid "New task"
msgstr "Neue Aufgabe"
-#: ../calendar/gui/tasks-component.c:1040
+#: ../calendar/gui/tasks-component.c:1140
msgid "_Task"
msgstr "_Aufgabe"
-#: ../calendar/gui/tasks-component.c:1041
+#: ../calendar/gui/tasks-component.c:1141
msgid "Create a new task"
msgstr "Eine neue Aufgabe anlegen"
-#: ../calendar/gui/tasks-component.c:1047
+#: ../calendar/gui/tasks-component.c:1147
msgid "New assigned task"
msgstr "Zugewiesene Aufgabe anlegen"
-#: ../calendar/gui/tasks-component.c:1048
+#: ../calendar/gui/tasks-component.c:1148
msgid "Assigne_d Task"
msgstr "_Zugewiesene Aufgabe"
-#: ../calendar/gui/tasks-component.c:1049
+#: ../calendar/gui/tasks-component.c:1149
msgid "Create a new assigned task"
msgstr "Eine neue zugewiesene Aufgabe anlegen"
-#: ../calendar/gui/tasks-component.c:1055
+#: ../calendar/gui/tasks-component.c:1155
msgid "New task list"
msgstr "Neue Aufgabenliste"
-#: ../calendar/gui/tasks-component.c:1056
+#: ../calendar/gui/tasks-component.c:1156
msgid "Task l_ist"
msgstr "Aufgabenl_iste"
-#: ../calendar/gui/tasks-component.c:1057
+#: ../calendar/gui/tasks-component.c:1157
msgid "Create a new task list"
msgstr "Eine neue Aufgabenliste anlegen"
@@ -9700,8 +9712,8 @@ msgstr "Namenlose Nachricht"
msgid "Open File"
msgstr "Datei öffnen"
-#: ../composer/e-msg-composer.c:2001 ../mail/em-account-editor.c:586
-#: ../mail/em-account-editor.c:631 ../mail/em-account-editor.c:698
+#: ../composer/e-msg-composer.c:2001 ../mail/em-account-editor.c:588
+#: ../mail/em-account-editor.c:633 ../mail/em-account-editor.c:700
msgid "Autogenerated"
msgstr "Automatisch erzeugt"
@@ -9891,7 +9903,7 @@ msgstr ""
"Bitte stellen Sie sicher, dass die korrekte gtkhtml- und libgtkhtml-Version "
"installiert ist."
-#: ../data/evolution.desktop.in.in.h:1 ../shell/main.c:520
+#: ../data/evolution.desktop.in.in.h:1 ../shell/main.c:521
msgid "Evolution"
msgstr "Evolution"
@@ -10027,14 +10039,6 @@ msgstr ""
msgid "Overwrite file?"
msgstr "Datei überschreiben?"
-#: ../e-util/e-passwords.c:472
-msgid "_Remember this password"
-msgstr "An dieses Passwort _erinnern"
-
-#: ../e-util/e-passwords.c:473
-msgid "_Remember this password for the remainder of this session"
-msgstr "Für den Rest dieser Sitzung an dieses Passwort _erinnern"
-
#. strptime format of a weekday, a date and a time,
#. in 12-hour format, without seconds.
#. strftime format of a weekday, a date and a
@@ -10265,20 +10269,20 @@ msgid "Choose a file"
msgstr "Eine Datei wählen"
#: ../filter/filter-label.c:121 ../mail/em-filter-i18n.h:26
-#: ../mail/em-migrate.c:1011 ../mail/mail-config.c:75
+#: ../mail/em-migrate.c:1041 ../mail/mail-config.c:76
#: ../mail/mail-config.glade.h:90
msgid "Important"
msgstr "Wichtig"
#. forest green
-#: ../filter/filter-label.c:124 ../mail/em-migrate.c:1014
-#: ../mail/mail-config.c:78 ../mail/mail-config.glade.h:140
+#: ../filter/filter-label.c:124 ../mail/em-migrate.c:1044
+#: ../mail/mail-config.c:79 ../mail/mail-config.glade.h:140
msgid "To Do"
msgstr "Zu erledigen"
#. blue
-#: ../filter/filter-label.c:125 ../mail/em-migrate.c:1015
-#: ../mail/mail-config.c:79 ../mail/mail-config.glade.h:93
+#: ../filter/filter-label.c:125 ../mail/em-migrate.c:1045
+#: ../mail/mail-config.c:80 ../mail/mail-config.glade.h:93
msgid "Later"
msgstr "Später"
@@ -10454,11 +10458,11 @@ msgstr "Bedienelement zur Konfiguration des Evolution-E-Mail-Editors"
msgid "Evolution Mail preferences control"
msgstr "Evolution-E-Mail-Einstellungsbedienelement"
-#: ../mail/GNOME_Evolution_Mail.server.in.in.h:11 ../mail/em-folder-view.c:473
+#: ../mail/GNOME_Evolution_Mail.server.in.in.h:11 ../mail/em-folder-view.c:469
#: ../mail/importers/elm-importer.c:418
#: ../mail/importers/netscape-importer.c:1902
-#: ../mail/importers/pine-importer.c:474 ../mail/mail-component.c:536
-#: ../mail/mail-component.c:587
+#: ../mail/importers/pine-importer.c:474 ../mail/mail-component.c:557
+#: ../mail/mail-component.c:608
msgid "Mail"
msgstr "E-Mail"
@@ -10476,12 +10480,12 @@ msgid "_Mail"
msgstr "_E-Mail"
# CHECK gibt's ne Übersetzung für diese Methode?
-#: ../mail/em-account-editor.c:385
+#: ../mail/em-account-editor.c:387
#, c-format
msgid "%s License Agreement"
msgstr "%s-Lizenzvereinbarung"
-#: ../mail/em-account-editor.c:392
+#: ../mail/em-account-editor.c:394
#, c-format
msgid ""
"\n"
@@ -10494,67 +10498,67 @@ msgstr ""
"für %s (unten angezeigt).\n"
"Haken Sie das Kontrollkästchen ab, um sie zu akzeptieren.\n"
-#: ../mail/em-account-editor.c:462 ../mail/em-filter-folder-element.c:237
+#: ../mail/em-account-editor.c:464 ../mail/em-filter-folder-element.c:237
#: ../mail/em-vfolder-rule.c:494
msgid "Select Folder"
msgstr "Ordner wählen"
-#: ../mail/em-account-editor.c:1662 ../mail/mail-config.glade.h:89
+#: ../mail/em-account-editor.c:1664 ../mail/mail-config.glade.h:89
msgid "Identity"
msgstr "Identität"
-#: ../mail/em-account-editor.c:1698 ../mail/mail-config.glade.h:114
+#: ../mail/em-account-editor.c:1700 ../mail/mail-config.glade.h:114
msgid "Receiving Email"
msgstr "Abrufen von E-Mails"
-#: ../mail/em-account-editor.c:1875
+#: ../mail/em-account-editor.c:1877
msgid "Automatically check for _new mail every"
msgstr "_Automatisch nach neuen E-Mails sehen alle"
-#: ../mail/em-account-editor.c:2044 ../mail/mail-config.glade.h:124
+#: ../mail/em-account-editor.c:2045 ../mail/mail-config.glade.h:124
msgid "Sending Email"
msgstr "E-Mail wird verschickt"
-#: ../mail/em-account-editor.c:2088 ../mail/mail-config.glade.h:67
+#: ../mail/em-account-editor.c:2089 ../mail/mail-config.glade.h:67
msgid "Defaults"
msgstr "Vorgaben"
-#: ../mail/em-account-editor.c:2147 ../mail/mail-config.glade.h:119
+#: ../mail/em-account-editor.c:2148 ../mail/mail-config.glade.h:119
msgid "Security"
msgstr "Sicherheit"
#. Most sections for this is auto-generated fromt the camel config
-#: ../mail/em-account-editor.c:2184 ../mail/em-account-editor.c:2259
+#: ../mail/em-account-editor.c:2185 ../mail/em-account-editor.c:2260
msgid "Receiving Options"
msgstr "Empfangsoptionen"
-#: ../mail/em-account-editor.c:2185 ../mail/em-account-editor.c:2260
+#: ../mail/em-account-editor.c:2186 ../mail/em-account-editor.c:2261
msgid "Checking for New Mail"
msgstr "Nach neuen E-Mails sehen"
-#: ../mail/em-account-editor.c:2600 ../mail/mail-config.glade.h:33
+#: ../mail/em-account-editor.c:2585 ../mail/mail-config.glade.h:33
msgid "Account Editor"
msgstr "Konteneditor"
-#: ../mail/em-account-editor.c:2600 ../mail/mail-config.glade.h:79
+#: ../mail/em-account-editor.c:2585 ../mail/mail-config.glade.h:79
msgid "Evolution Account Assistant"
msgstr "Evolution-Kontoassistent"
#. translators: default account indicator
-#: ../mail/em-account-prefs.c:412
+#: ../mail/em-account-prefs.c:428
msgid "[Default]"
msgstr "[Vorgabe]"
-#: ../mail/em-account-prefs.c:466
+#: ../mail/em-account-prefs.c:482
msgid "Account name"
msgstr "Kontoname"
-#: ../mail/em-account-prefs.c:468
+#: ../mail/em-account-prefs.c:484
msgid "Protocol"
msgstr "Protokoll"
#: ../mail/em-composer-prefs.c:306 ../mail/em-composer-prefs.c:429
-#: ../mail/mail-config.c:934
+#: ../mail/mail-config.c:935
msgid "Unnamed"
msgstr "Namenlose"
@@ -10570,18 +10574,18 @@ msgstr "Signaturskript hinzufügen"
msgid "Signature(s)"
msgstr "Signatur(en)"
-#: ../mail/em-composer-utils.c:910
+#: ../mail/em-composer-utils.c:911
msgid "-------- Forwarded Message --------"
msgstr "-------- Weitergeleitete Nachricht --------"
-#: ../mail/em-composer-utils.c:1526
+#: ../mail/em-composer-utils.c:1521
msgid "an unknown sender"
msgstr "ein unbekannter Absender"
#. Note to translators: this is the attribution string used when quoting messages.
#. * each ${Variable} gets replaced with a value. To see a full list of available
#. * variables, see em-composer-utils.c:1514
-#: ../mail/em-composer-utils.c:1573
+#: ../mail/em-composer-utils.c:1568
msgid ""
"On ${AbbrevWeekdayName}, ${Year}-${Month}-${Day} at ${24Hour}:${Minute} "
"${TimeZone}, ${Sender} wrote:"
@@ -10727,7 +10731,7 @@ msgstr "Unerwünscht"
msgid "Junk Test"
msgstr "Unerwünscht-Test"
-#: ../mail/em-filter-i18n.h:37 ../mail/em-folder-view.c:999
+#: ../mail/em-filter-i18n.h:37 ../mail/em-folder-view.c:992
#: ../widgets/misc/e-expander.c:189
msgid "Label"
msgstr "Beschriftung"
@@ -10884,7 +10888,7 @@ msgid "Create New Folder"
msgstr "Neuen Ordner anlegen"
#: ../mail/em-folder-selector.c:166 ../mail/em-folder-tree.c:2527
-#: ../mail/mail-component.c:739 ../plugins/shared-folder/install-shared.c:144
+#: ../mail/mail-component.c:770 ../plugins/shared-folder/install-shared.c:144
#: ../plugins/shared-folder/share-folder-common.c:345
msgid "Specify where to create the folder:"
msgstr "Angeben, wo der Ordner angelegt werden soll:"
@@ -10908,20 +10912,20 @@ msgstr "vOrdner"
msgid "UNMATCHED"
msgstr "OHNE TREFFER"
-#: ../mail/em-folder-tree-model.c:468 ../mail/mail-component.c:139
+#: ../mail/em-folder-tree-model.c:468 ../mail/mail-component.c:142
msgid "Drafts"
msgstr "Entwürfe"
#. translators: standard local mailbox names
-#: ../mail/em-folder-tree-model.c:471 ../mail/mail-component.c:138
+#: ../mail/em-folder-tree-model.c:471 ../mail/mail-component.c:141
msgid "Inbox"
msgstr "Eingang"
-#: ../mail/em-folder-tree-model.c:474 ../mail/mail-component.c:140
+#: ../mail/em-folder-tree-model.c:474 ../mail/mail-component.c:143
msgid "Outbox"
msgstr "Ausgang"
-#: ../mail/em-folder-tree-model.c:476 ../mail/mail-component.c:141
+#: ../mail/em-folder-tree-model.c:476 ../mail/mail-component.c:144
msgid "Sent"
msgstr "Verschickt"
@@ -10943,12 +10947,12 @@ msgstr "Ordner %s wird verschoben"
msgid "Copying folder %s"
msgstr "Ordner %s wird kopiert"
-#: ../mail/em-folder-tree.c:930 ../mail/message-list.c:1617
+#: ../mail/em-folder-tree.c:930 ../mail/message-list.c:1612
#, c-format
msgid "Moving messages into folder %s"
msgstr "Nachrichten werden in den Ordner %s verschoben"
-#: ../mail/em-folder-tree.c:932 ../mail/message-list.c:1619
+#: ../mail/em-folder-tree.c:932 ../mail/message-list.c:1614
#, c-format
msgid "Copying messages into folder %s"
msgstr "Nachrichten werden in den Ordner %s kopiert"
@@ -10977,13 +10981,13 @@ msgid "Copying `%s' to `%s'"
msgstr "»%s« wird nach »%s« kopiert"
#: ../mail/em-folder-tree.c:2297 ../mail/em-folder-tree.c:2311
-#: ../mail/em-folder-view.c:869 ../mail/em-folder-view.c:884
+#: ../mail/em-folder-view.c:862 ../mail/em-folder-view.c:877
#: ../mail/importers/evolution-mbox-importer.c:120
#: ../mail/importers/evolution-outlook-importer.c:134
msgid "Select folder"
msgstr "Ordner wählen"
-#: ../mail/em-folder-tree.c:2297 ../mail/em-folder-view.c:884
+#: ../mail/em-folder-tree.c:2297 ../mail/em-folder-view.c:877
msgid "C_opy"
msgstr "K_opieren"
@@ -10993,7 +10997,7 @@ msgstr "K_opieren"
msgid "Creating folder `%s'"
msgstr "Ordner »%s« wird angelegt"
-#: ../mail/em-folder-tree.c:2527 ../mail/mail-component.c:739
+#: ../mail/em-folder-tree.c:2527 ../mail/mail-component.c:770
#: ../plugins/shared-folder/install-shared.c:144
#: ../plugins/shared-folder/share-folder-common.c:345
msgid "Create folder"
@@ -11040,130 +11044,130 @@ msgstr "Ordner a_nlegen..."
msgid "_Rename..."
msgstr "_Umbenennen..."
-#: ../mail/em-folder-view.c:977 ../mail/em-popup.c:498
+#: ../mail/em-folder-view.c:970 ../mail/em-popup.c:499
#: ../ui/evolution-mail-message.xml.h:87
msgid "Reply to _All"
msgstr "Antw_ort an alle"
-#: ../mail/em-folder-view.c:978 ../ui/evolution-mail-message.xml.h:123
+#: ../mail/em-folder-view.c:971 ../ui/evolution-mail-message.xml.h:123
msgid "_Reply to Sender"
msgstr "_Antwort an Absender"
-#: ../mail/em-folder-view.c:979 ../mail/em-popup.c:500
+#: ../mail/em-folder-view.c:972 ../mail/em-popup.c:501
#: ../ui/evolution-mail-message.xml.h:110
msgid "_Forward"
msgstr "_Weiterleiten"
-#: ../mail/em-folder-view.c:982 ../ui/evolution-mail-message.xml.h:109
+#: ../mail/em-folder-view.c:975 ../ui/evolution-mail-message.xml.h:109
msgid "_Edit as New Message..."
msgstr "Als neue Nachricht _bearbeiten..."
-#: ../mail/em-folder-view.c:984
+#: ../mail/em-folder-view.c:977
msgid "_Print"
msgstr "_Drucken"
-#: ../mail/em-folder-view.c:988
+#: ../mail/em-folder-view.c:981
msgid "U_ndelete"
msgstr "Löschen rü_ckgängig"
-#: ../mail/em-folder-view.c:989
+#: ../mail/em-folder-view.c:982
msgid "Mo_ve to Folder..."
msgstr "In Ordner _verschieben..."
-#: ../mail/em-folder-view.c:990 ../ui/evolution-addressbook.xml.h:32
+#: ../mail/em-folder-view.c:983 ../ui/evolution-addressbook.xml.h:32
msgid "_Copy to Folder..."
msgstr "In Ordner _kopieren..."
-#: ../mail/em-folder-view.c:993
+#: ../mail/em-folder-view.c:986
msgid "Mark as _Important"
msgstr "Als w_ichtig markieren"
-#: ../mail/em-folder-view.c:994
+#: ../mail/em-folder-view.c:987
msgid "_Mark as Unimportant"
msgstr "Als unwichtig _markieren"
-#: ../mail/em-folder-view.c:995 ../ui/evolution-mail-message.xml.h:54
+#: ../mail/em-folder-view.c:988 ../ui/evolution-mail-message.xml.h:54
msgid "Mark as _Junk"
msgstr "Als u_nerwünscht markieren"
-#: ../mail/em-folder-view.c:996 ../ui/evolution-mail-message.xml.h:55
+#: ../mail/em-folder-view.c:989 ../ui/evolution-mail-message.xml.h:55
msgid "Mark as _Not Junk"
msgstr "Als _nicht unerwünscht markieren"
-#: ../mail/em-folder-view.c:997
+#: ../mail/em-folder-view.c:990
msgid "Mark for Follo_w Up..."
msgstr "Als Folg_enachricht markieren..."
-#: ../mail/em-folder-view.c:1005
+#: ../mail/em-folder-view.c:998
msgid "Fla_g Completed"
msgstr "Als abgeschlossen _markieren"
-#: ../mail/em-folder-view.c:1006
+#: ../mail/em-folder-view.c:999
msgid "Cl_ear Flag"
msgstr "Markierung _löschen"
-#: ../mail/em-folder-view.c:1009
+#: ../mail/em-folder-view.c:1002
msgid "Crea_te Rule From Message"
msgstr "Re_gel aus Nachricht anlegen"
-#: ../mail/em-folder-view.c:1010
+#: ../mail/em-folder-view.c:1003
msgid "vFolder on _Subject"
msgstr "vOrdner über _Betreff"
-#: ../mail/em-folder-view.c:1011
+#: ../mail/em-folder-view.c:1004
msgid "vFolder on Se_nder"
msgstr "vOrdner über Abse_nder"
-#: ../mail/em-folder-view.c:1012
+#: ../mail/em-folder-view.c:1005
msgid "vFolder on _Recipients"
msgstr "vOrdner über _Empfänger"
-#: ../mail/em-folder-view.c:1013
+#: ../mail/em-folder-view.c:1006
msgid "vFolder on Mailing _List"
msgstr "vOrdner über Mailing_liste"
-#: ../mail/em-folder-view.c:1017
+#: ../mail/em-folder-view.c:1010
msgid "Filter on Sub_ject"
msgstr "Filter über Be_treff"
-#: ../mail/em-folder-view.c:1018
+#: ../mail/em-folder-view.c:1011
msgid "Filter on Sen_der"
msgstr "Filter über Ab_sender"
-#: ../mail/em-folder-view.c:1019
+#: ../mail/em-folder-view.c:1012
msgid "Filter on Re_cipients"
msgstr "Filter über Em_pfänger"
-#: ../mail/em-folder-view.c:1020
+#: ../mail/em-folder-view.c:1013
msgid "Filter on _Mailing List"
msgstr "Filter über Ma_ilingliste"
#. default charset used in mail view
-#: ../mail/em-folder-view.c:1851 ../mail/em-folder-view.c:1895
+#: ../mail/em-folder-view.c:1844 ../mail/em-folder-view.c:1888
msgid "Default"
msgstr "Vorgabe"
-#: ../mail/em-folder-view.c:1994
+#: ../mail/em-folder-view.c:1987
msgid "Print Message"
msgstr "Nachricht drucken"
-#: ../mail/em-folder-view.c:2293
+#: ../mail/em-folder-view.c:2295
msgid "_Copy Link Location"
msgstr "Link-Ziel _kopieren"
-#: ../mail/em-folder-view.c:2295
+#: ../mail/em-folder-view.c:2297
msgid "Create _vFolder"
msgstr "_vOrdner anlegen"
-#: ../mail/em-folder-view.c:2296
+#: ../mail/em-folder-view.c:2298
msgid "_From this Address"
msgstr "_Von dieser Adresse"
-#: ../mail/em-folder-view.c:2297
+#: ../mail/em-folder-view.c:2299
msgid "_To this Address"
msgstr "_Zu dieser Adresse"
-#: ../mail/em-folder-view.c:2583
+#: ../mail/em-folder-view.c:2568
#, c-format
msgid "Click to mail %s"
msgstr "Klicken Sie hier, um eine E-Mail an %s zu verfassen"
@@ -11463,7 +11467,7 @@ msgstr "Einmal pro Woche"
msgid "Once per month"
msgstr "Einmal pro Monat"
-#: ../mail/em-migrate.c:1168
+#: ../mail/em-migrate.c:1198
msgid ""
"The location and hierarchy of the Evolution mailbox folders has changed "
"since Evolution 1.x.\n"
@@ -11475,48 +11479,48 @@ msgstr ""
"\n"
"Bitte haben Sie etwas Geduld. Evolution migriert Ihre Ordner..."
-#: ../mail/em-migrate.c:1602
+#: ../mail/em-migrate.c:1632
#, c-format
msgid "Unable to create new folder `%s': %s"
msgstr "Der Ordner »%s« konnte nicht angelegt werden: %s"
-#: ../mail/em-migrate.c:1628
+#: ../mail/em-migrate.c:1658
#, c-format
msgid "Unable to copy folder `%s' to `%s': %s"
msgstr "Der Ordner »%s« konnte nicht nach »%s« kopiert werden: %s"
-#: ../mail/em-migrate.c:1813
+#: ../mail/em-migrate.c:1843
#, c-format
msgid "Unable to scan for existing mailboxes at `%s': %s"
msgstr "»%s« konnte nicht auf vorhandene Postfächer überprüft werden: %s"
-#: ../mail/em-migrate.c:2017
+#: ../mail/em-migrate.c:2047
#, c-format
msgid "Unable to open old POP keep-on-server data `%s': %s"
msgstr "Alte POP-Keep-on-Server-Daten »%s« konnten nicht geöffnet werden: %s"
-#: ../mail/em-migrate.c:2031
+#: ../mail/em-migrate.c:2061
#, c-format
msgid "Unable to create POP3 keep-on-server data directory `%s': %s"
msgstr ""
"POP-Keep-on-Server-Datenverzeichnis »%s« konnte nicht angelegt werden: %s"
-#: ../mail/em-migrate.c:2060
+#: ../mail/em-migrate.c:2090
#, c-format
msgid "Unable to copy POP3 keep-on-server data `%s': %s"
msgstr "POP-Keep-on-Server-Daten »%s« konnten nicht kopiert werden: %s"
-#: ../mail/em-migrate.c:2494 ../mail/em-migrate.c:2506
+#: ../mail/em-migrate.c:2561 ../mail/em-migrate.c:2573
#, c-format
msgid "Failed to create local mail storage `%s': %s"
msgstr "Lokaler E-Mail-Speicher unter »%s« konnte nicht angelegt werden: %s"
-#: ../mail/em-migrate.c:2657
+#: ../mail/em-migrate.c:2693
#, c-format
msgid "Unable to create local mail folders at `%s': %s"
msgstr "Lokale E-Mail-Ordner unter »%s« konnten nicht angelegt werden: %s"
-#: ../mail/em-migrate.c:2675
+#: ../mail/em-migrate.c:2711
msgid ""
"Unable to read settings from previous Evolution install, `evolution/config."
"xmldb' does not exist or is corrupt."
@@ -11524,40 +11528,40 @@ msgstr ""
"Die Einstellungen der vorhandenen Evolution-Installation konnten nicht "
"gelesen werden, »evolution/config.xmldb« existiert nicht oder ist fehlerhaft."
-#: ../mail/em-popup.c:381
+#: ../mail/em-popup.c:382
msgid "Save As..."
msgstr "Speichern unter..."
-#: ../mail/em-popup.c:400
+#: ../mail/em-popup.c:401
#, c-format
msgid "untitled_image.%s"
msgstr "namenloses_bild.%s"
-#: ../mail/em-popup.c:494
+#: ../mail/em-popup.c:495
msgid "Set as _Background"
msgstr "Zum _Hintergrund machen"
-#: ../mail/em-popup.c:496
+#: ../mail/em-popup.c:497
msgid "_Reply to sender"
msgstr "_Antwort an Absender"
-#: ../mail/em-popup.c:497 ../ui/evolution-mail-message.xml.h:88
+#: ../mail/em-popup.c:498 ../ui/evolution-mail-message.xml.h:88
msgid "Reply to _List"
msgstr "Antwort an Lis_te"
-#: ../mail/em-popup.c:548
+#: ../mail/em-popup.c:549
msgid "_Open Link in Browser"
msgstr "Link im Browser ö_ffnen"
-#: ../mail/em-popup.c:549
+#: ../mail/em-popup.c:550
msgid "_Send New Message To..."
msgstr "Neue Nachricht _schicken an..."
-#: ../mail/em-popup.c:550
+#: ../mail/em-popup.c:551
msgid "_Add to Addressbook"
msgstr "Zum Adressbuch _hinzufügen"
-#: ../mail/em-popup.c:681
+#: ../mail/em-popup.c:666
#, c-format
msgid "Open in %s..."
msgstr "In %s öffnen..."
@@ -11605,7 +11609,7 @@ msgid "Add address"
msgstr "Adresse hinzufügen"
#. Drop filename for messages from a mailbox
-#: ../mail/em-utils.c:1055
+#: ../mail/em-utils.c:1071
#, c-format
msgid "Messages from %s"
msgstr "Nachrichten von %s"
@@ -12341,80 +12345,80 @@ msgstr "Mailingliste %s"
msgid "Add Filter Rule"
msgstr "Filterregel hinzufügen"
-#: ../mail/mail-component.c:484
+#: ../mail/mail-component.c:505
#, c-format
msgid "%d deleted"
msgid_plural "%d deleted"
msgstr[0] "%d gelöscht"
msgstr[1] "%d gelöscht"
-#: ../mail/mail-component.c:486
+#: ../mail/mail-component.c:507
#, c-format
msgid "%d junk"
msgid_plural "%d junk"
msgstr[0] "%d im Müll"
msgstr[1] "%d im Müll"
-#: ../mail/mail-component.c:509
+#: ../mail/mail-component.c:530
#, c-format
msgid "%d draft"
msgid_plural "%d drafts"
msgstr[0] "%d Entwurf"
msgstr[1] "%d Entwürfe"
-#: ../mail/mail-component.c:511
+#: ../mail/mail-component.c:532
#, c-format
msgid "%d sent"
msgid_plural "%d sent"
msgstr[0] "%d verschickt"
msgstr[1] "%d verschickt"
-#: ../mail/mail-component.c:513
+#: ../mail/mail-component.c:534
#, c-format
msgid "%d unsent"
msgid_plural "%d unsent"
msgstr[0] "%d nicht verschickt"
msgstr[1] "%d nicht verschickt"
-#: ../mail/mail-component.c:517
+#: ../mail/mail-component.c:538
#, c-format
msgid "%d total"
msgid_plural "%d total"
msgstr[0] "%d insgesamt"
msgstr[1] "%d insgesamt"
-#: ../mail/mail-component.c:519
+#: ../mail/mail-component.c:540
#, c-format
msgid ", %d unread"
msgid_plural ", %d unread"
msgstr[0] ", %d ungelesen"
msgstr[1] ", %d ungelesen"
-#: ../mail/mail-component.c:691
+#: ../mail/mail-component.c:722
msgid "New Mail Message"
msgstr "Neue E-Mail-Nachricht"
-#: ../mail/mail-component.c:692
+#: ../mail/mail-component.c:723
msgid "_Mail Message"
msgstr "_E-Mail-Nachricht"
-#: ../mail/mail-component.c:693
+#: ../mail/mail-component.c:724
msgid "Compose a new mail message"
msgstr "Eine neue E-Mail-Nachricht verfassen"
-#: ../mail/mail-component.c:699
+#: ../mail/mail-component.c:730
msgid "New Mail Folder"
msgstr "Neuer E-Mail-Ordner"
-#: ../mail/mail-component.c:700
+#: ../mail/mail-component.c:731
msgid "Mail _Folder"
msgstr "E-Mail-_Ordner"
-#: ../mail/mail-component.c:701
+#: ../mail/mail-component.c:732
msgid "Create a new mail folder"
msgstr "Einen neuen E-Mail-Ordner anlegen"
-#: ../mail/mail-component.c:848
+#: ../mail/mail-component.c:879
msgid "Failed upgrading Mail settings or folders."
msgstr "Auffrischen der E-Mail-Einstellungen oder -Ordner fehlgeschlagen."
@@ -14084,73 +14088,73 @@ msgstr "vOrdner bearbeiten"
msgid "New vFolder"
msgstr "Neuer vOrdner"
-#: ../mail/message-list.c:999
+#: ../mail/message-list.c:994
msgid "Unseen"
msgstr "Ungelesen"
-#: ../mail/message-list.c:1000
+#: ../mail/message-list.c:995
msgid "Seen"
msgstr "Gelesen"
-#: ../mail/message-list.c:1001
+#: ../mail/message-list.c:996
msgid "Answered"
msgstr "Beantwortet"
-#: ../mail/message-list.c:1002
+#: ../mail/message-list.c:997
msgid "Multiple Unseen Messages"
msgstr "Mehrere ungelesene Nachrichten"
-#: ../mail/message-list.c:1003
+#: ../mail/message-list.c:998
msgid "Multiple Messages"
msgstr "Mehrere Nachrichten"
-#: ../mail/message-list.c:1007
+#: ../mail/message-list.c:1002
msgid "Lowest"
msgstr "Am niedrigsten"
-#: ../mail/message-list.c:1008
+#: ../mail/message-list.c:1003
msgid "Lower"
msgstr "Niedriger"
-#: ../mail/message-list.c:1012
+#: ../mail/message-list.c:1007
msgid "Higher"
msgstr "Höher"
-#: ../mail/message-list.c:1013
+#: ../mail/message-list.c:1008
msgid "Highest"
msgstr "Am höchsten"
-#: ../mail/message-list.c:1341
+#: ../mail/message-list.c:1336
msgid "?"
msgstr "?"
#. strftime format of a time,
#. in 12-hour format, without seconds.
-#: ../mail/message-list.c:1348 ../plugins/itip-formatter/itip-view.c:189
+#: ../mail/message-list.c:1343 ../plugins/itip-formatter/itip-view.c:189
msgid "Today %l:%M %p"
msgstr "Heute %I:%M %p"
-#: ../mail/message-list.c:1357
+#: ../mail/message-list.c:1352
msgid "Yesterday %l:%M %p"
msgstr "Gestern %l:%M %p"
-#: ../mail/message-list.c:1369
+#: ../mail/message-list.c:1364
msgid "%a %l:%M %p"
msgstr "%a %I:%M %p"
-#: ../mail/message-list.c:1377
+#: ../mail/message-list.c:1372
msgid "%b %d %l:%M %p"
msgstr "%d. %b, %k:%M"
-#: ../mail/message-list.c:1379
+#: ../mail/message-list.c:1374
msgid "%b %d %Y"
msgstr "%b %d %Y"
-#: ../mail/message-list.c:2046
+#: ../mail/message-list.c:2041
msgid "Message List"
msgstr "Nachrichtenliste"
-#: ../mail/message-list.c:3386
+#: ../mail/message-list.c:3384
msgid "Generating message list"
msgstr "Nachrichtenliste wird erzeugt"
@@ -14349,10 +14353,6 @@ msgstr "Wetter: Sonnig"
msgid "Weather: Thunderstorms"
msgstr "Wetter: Gewitter"
-#: ../plugins/calendar-weather/calendar-weather.c:100
-msgid "Weather"
-msgstr "Wetter"
-
#: ../plugins/calendar-weather/calendar-weather.c:268
msgid "Select a location"
msgstr "Einen Ort wählen"
@@ -14378,12 +14378,12 @@ msgid "Mark as default folder"
msgstr "Als Vorgabeordner markieren"
#. i18n: "Secure Password Authentication" is an Outlookism
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:53
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:59
msgid "Secure Password"
msgstr "Sicheres Passwort"
#. i18n: "NTLM" probably doesn't translate
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:56
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:62
msgid ""
"This option will connect to the Exchange server using secure password (NTLM) "
"authentication."
@@ -14391,11 +14391,11 @@ msgstr ""
"Diese Option stellt eine Verbindung mit dem Exchange-Server her, wobei eine "
"sichere Passwort-Legitimation (NTLM) verwendet wird."
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:64
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:70
msgid "Plaintext Password"
msgstr "Klartext-Passwort"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:66
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:72
msgid ""
"This option will connect to the Exchange server using standard plaintext "
"password authentication."
@@ -14404,7 +14404,7 @@ msgstr ""
"einfaches Klartext-Passwort verwendet wird."
#. Description section
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:113
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:193
msgid ""
"The message specified below will be automatically sent to \n"
"each person who sends mail to you while you are out of the office."
@@ -14412,37 +14412,39 @@ msgstr ""
"Die unten angegebene Nachricht wird automatisch an jede Person verschickt,\n"
"von der Sie eine E-Mail erhalten, während Sie nicht im Büro sind."
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:140
-msgid "I am in the office"
-msgstr "Ich bin im Büro"
-
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:154
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:221
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:231
msgid "I am out of the office"
msgstr "Ich bin nicht im Büro"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:168
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:224
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:228
+msgid "I am in the office"
+msgstr "Ich bin im Büro"
+
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:257
msgid "Out of office Message:"
msgstr "Nicht-im-Büro-Nachricht:"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:194
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:302
msgid "Exchange Settings"
msgstr "Exchange-Einstellungen"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:332
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:448
#: ../plugins/exchange-account-setup/exchange-ask-password.c:200
msgid "_OWA Url:"
msgstr "_OWA-Url:"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:340
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:456
#: ../plugins/exchange-account-setup/exchange-ask-password.c:193
msgid "A_uthenticate"
msgstr "_Legitimation"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:457
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:664
msgid "Authentication Type"
msgstr "Legitimationsart"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:471
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:678
msgid "Ch_eck for Supported Types"
msgstr "_Prüfen, welche Arten unterstützt werden"
@@ -15077,7 +15079,7 @@ msgstr "Variablen einschließen in:"
msgid "Comma separated value format (.csv)"
msgstr "Kommaseparierte Variablen (.csv)"
-#: ../plugins/save-calendar/ical-format.c:120
+#: ../plugins/save-calendar/ical-format.c:136
msgid "iCalendar format (.ics)"
msgstr "iCalendar-Format (.ics)"
@@ -15086,12 +15088,12 @@ msgid "RDF format (.rdf)"
msgstr "RDF-Format (.rdf)"
# CHECK
-#: ../plugins/save-calendar/save-calendar.c:172
-#: ../plugins/save-calendar/save-calendar.c:182
+#: ../plugins/save-calendar/save-calendar.c:171
+#: ../plugins/save-calendar/save-calendar.c:181
msgid "Select destination file"
msgstr "Zieldatei wählen"
-#: ../plugins/save-calendar/save-calendar.c:217
+#: ../plugins/save-calendar/save-calendar.c:216
#, c-format
msgid ""
"The suggested filename extension of this filetype (%s) is unused in the "
@@ -15244,7 +15246,7 @@ msgstr "Druckereinstellungen"
msgid "Skip development warning dialog"
msgstr "Entwicklungs-Warndialog nicht anzeigen"
-#: ../shell/apps_evolution_shell.schemas.in.in.h:11 ../shell/main.c:475
+#: ../shell/apps_evolution_shell.schemas.in.in.h:11 ../shell/main.c:476
msgid "Start in offline mode"
msgstr "Im Offline-Modus starten"
@@ -15513,29 +15515,29 @@ msgstr "Ordnername darf das Raute-Zeichen »#« nicht enthalten."
msgid "'.' and '..' are reserved folder names."
msgstr "'.' und '..' sind reservierte Ordnernamen."
-#: ../shell/e-shell-window-commands.c:67
+#: ../shell/e-shell-window-commands.c:69
msgid "The GNOME Pilot tools do not appear to be installed on this system."
msgstr ""
"Die GNOME-Pilot-Werkzeuge scheinen auf diesem System nicht installiert zu "
"sein."
-#: ../shell/e-shell-window-commands.c:75
+#: ../shell/e-shell-window-commands.c:77
#, c-format
msgid "Error executing %s."
msgstr "Fehler beim Ausführen von %s."
-#: ../shell/e-shell-window-commands.c:124
+#: ../shell/e-shell-window-commands.c:126
msgid "Bug buddy is not installed."
msgstr "Bug-Buddy ist nicht installiert."
-#: ../shell/e-shell-window-commands.c:132
+#: ../shell/e-shell-window-commands.c:134
msgid "Bug buddy could not be run."
msgstr "Bug-Buddy konnte nicht gestartet werden."
#. The translator-credits string is for translators to list
#. * per language credits for translation, displayed in the
#. * about box
-#: ../shell/e-shell-window-commands.c:426
+#: ../shell/e-shell-window-commands.c:501
msgid "translator-credits"
msgstr ""
"Kai Lahmann <kl@linuxfaqs.de>\n"
@@ -15545,19 +15547,19 @@ msgstr ""
"Hendrik Richter <hendrik@gnome-de.org>\n"
"Frank Arnold <frank@scirocco-5v-turbo.de>"
-#: ../shell/e-shell-window-commands.c:440
+#: ../shell/e-shell-window-commands.c:515
msgid "Groupware Suite"
msgstr "Groupware-Suite"
-#: ../shell/e-shell-window-commands.c:681
+#: ../shell/e-shell-window-commands.c:742
msgid "_Work Online"
msgstr "_Online arbeiten"
-#: ../shell/e-shell-window-commands.c:694 ../ui/evolution.xml.h:51
+#: ../shell/e-shell-window-commands.c:755 ../ui/evolution.xml.h:51
msgid "_Work Offline"
msgstr "_Offline arbeiten"
-#: ../shell/e-shell-window-commands.c:707 ../ui/evolution.xml.h:34
+#: ../shell/e-shell-window-commands.c:768 ../ui/evolution.xml.h:34
msgid "Work Offline"
msgstr "Offline arbeiten"
@@ -15577,37 +15579,37 @@ msgstr ""
"Evolution ist im Augenblick offline. Klicken Sie auf diesen Knopf, um online "
"zu arbeiten."
-#: ../shell/e-shell-window.c:708
+#: ../shell/e-shell-window.c:713
#, c-format
msgid "Switch to %s"
msgstr "Zu %s wechseln"
-#: ../shell/e-shell.c:597
+#: ../shell/e-shell.c:598
msgid "Uknown system error."
msgstr "Unbekannter Systemfehler."
-#: ../shell/e-shell.c:805 ../shell/e-shell.c:806
+#: ../shell/e-shell.c:800 ../shell/e-shell.c:801
#, c-format
msgid "%ld KB"
msgstr "%ld KB"
-#: ../shell/e-shell.c:1249 ../widgets/misc/e-cell-date-edit.c:256
+#: ../shell/e-shell.c:1254 ../widgets/misc/e-cell-date-edit.c:256
msgid "OK"
msgstr "OK"
-#: ../shell/e-shell.c:1251
+#: ../shell/e-shell.c:1256
msgid "Invalid arguments"
msgstr "Ungültige Argumente"
-#: ../shell/e-shell.c:1253
+#: ../shell/e-shell.c:1258
msgid "Cannot register on OAF"
msgstr "Registrierung bei OAF konnte nicht stattfinden"
-#: ../shell/e-shell.c:1255
+#: ../shell/e-shell.c:1260
msgid "Configuration Database not found"
msgstr "Konfigurationsdatenbank nicht gefunden"
-#: ../shell/e-shell.c:1257
+#: ../shell/e-shell.c:1262
msgid "Generic error"
msgstr "Allgemeiner Fehler"
@@ -15729,7 +15731,7 @@ msgid "Evolution can import data from the following files:"
msgstr "Evolution kann Daten aus den folgenden Dateien importieren:"
#. Preview/Alpha/Beta version warning message
-#: ../shell/main.c:237
+#: ../shell/main.c:238
#, no-c-format
msgid ""
"Hi. Thanks for taking the time to download this preview release\n"
@@ -15772,7 +15774,7 @@ msgstr ""
"Wir hoffen, dass Ihnen das Ergebnis unsrer harten Arbeit\n"
"gefällt und freuen uns auf Ihren Beitrag zu diesem Projekt!\n"
-#: ../shell/main.c:261
+#: ../shell/main.c:262
msgid ""
"Thanks\n"
"The Evolution Team\n"
@@ -15780,39 +15782,39 @@ msgstr ""
"Vielen Dank\n"
"Das Evolution-Team\n"
-#: ../shell/main.c:268
+#: ../shell/main.c:269
msgid "Don't tell me again"
msgstr "Nicht mehr anzeigen"
-#: ../shell/main.c:473
+#: ../shell/main.c:474
msgid "Start Evolution activating the specified component"
msgstr "Beim Start von Evolution die angegebene Komponente aktivieren"
-#: ../shell/main.c:477
+#: ../shell/main.c:478
msgid "Start in online mode"
msgstr "Im Online-Modus starten"
-#: ../shell/main.c:480
+#: ../shell/main.c:481
msgid "Forcibly shut down all Evolution components"
msgstr "Alle Evolution-Komponenten dazu zwingen, herunterzufahren"
-#: ../shell/main.c:484
+#: ../shell/main.c:485
msgid "Forcibly re-migrate from Evolution 1.4"
msgstr "Remigrierung von Evolution 1.4 erzwingen"
-#: ../shell/main.c:487
+#: ../shell/main.c:488
msgid "Send the debugging output of all components to a file."
msgstr "Die Diagnoseausgabe aller Komponenten in eine Datei umleiten."
-#: ../shell/main.c:490
+#: ../shell/main.c:491
msgid "Disable the mono plugin environment."
msgstr "Die Mono-Plugin-Umgebung deaktivieren."
-#: ../shell/main.c:493
+#: ../shell/main.c:494
msgid "Disable loading of any plugins."
msgstr "Das Laden von allen Plugins deaktivieren."
-#: ../shell/main.c:524
+#: ../shell/main.c:525
#, c-format
msgid ""
"%s: --online and --offline cannot be used together.\n"
@@ -16001,34 +16003,34 @@ msgstr ""
#: ../smime/gui/certificate-manager.c:134
#: ../smime/gui/certificate-manager.c:142
-#: ../smime/gui/certificate-manager.c:375
-#: ../smime/gui/certificate-manager.c:383
-#: ../smime/gui/certificate-manager.c:595
-#: ../smime/gui/certificate-manager.c:603
+#: ../smime/gui/certificate-manager.c:377
+#: ../smime/gui/certificate-manager.c:385
+#: ../smime/gui/certificate-manager.c:597
+#: ../smime/gui/certificate-manager.c:605
msgid "Select a cert to import..."
msgstr "Wählen Sie ein zu importierendes Zertifikat..."
-#: ../smime/gui/certificate-manager.c:263
-#: ../smime/gui/certificate-manager.c:472
-#: ../smime/gui/certificate-manager.c:690
+#: ../smime/gui/certificate-manager.c:265
+#: ../smime/gui/certificate-manager.c:474
+#: ../smime/gui/certificate-manager.c:692
msgid "Certificate Name"
msgstr "Zertifikatname"
-#: ../smime/gui/certificate-manager.c:272
-#: ../smime/gui/certificate-manager.c:490
+#: ../smime/gui/certificate-manager.c:274
+#: ../smime/gui/certificate-manager.c:492
msgid "Purposes"
msgstr "Verwendungszwecke"
-#: ../smime/gui/certificate-manager.c:281 ../smime/gui/smime-ui.glade.h:36
+#: ../smime/gui/certificate-manager.c:283 ../smime/gui/smime-ui.glade.h:36
#: ../smime/lib/e-cert.c:569
msgid "Serial Number"
msgstr "Seriennummer"
-#: ../smime/gui/certificate-manager.c:289
+#: ../smime/gui/certificate-manager.c:291
msgid "Expires"
msgstr "Läuft aus"
-#: ../smime/gui/certificate-manager.c:481
+#: ../smime/gui/certificate-manager.c:483
msgid "E-Mail Address"
msgstr "E-Mail-Adresse"
@@ -18395,6 +18397,12 @@ msgstr "%s (zu %d%% abgeschlossen)"
msgid "click here to go to url"
msgstr "Hier klicken, um zur Adresse zu gehen"
+#~ msgid "_Remember this password"
+#~ msgstr "An dieses Passwort _erinnern"
+
+#~ msgid "_Remember this password for the remainder of this session"
+#~ msgstr "Für den Rest dieser Sitzung an dieses Passwort _erinnern"
+
#~ msgid "Mark as _Unread"
#~ msgstr "Als _ungelesen markieren"
diff --git a/po/en_CA.po b/po/en_CA.po
index ef8f99c25c..817d3556c0 100644
--- a/po/en_CA.po
+++ b/po/en_CA.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: evolution\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-03-15 23:18-0500\n"
-"PO-Revision-Date: 2005-03-15 19:18-0400\n"
+"POT-Creation-Date: 2005-03-08 16:27-0500\n"
+"PO-Revision-Date: 2005-03-08 19:18-0400\n"
"Last-Translator: Adam Weinberger <adamw@gnome.org>\n"
"Language-Team: Canadian English <adamw@gnome.org>\n"
"MIME-Version: 1.0\n"
@@ -647,7 +647,7 @@ msgstr "Authentication"
#: ../addressbook/gui/component/addressbook-config.c:914
#: ../addressbook/gui/component/ldap-config.glade.h:18
-#: ../mail/mail-dialogs.glade.h:8 ../smime/gui/smime-ui.glade.h:19
+#: ../mail/mail-dialogs.glade.h:12 ../smime/gui/smime-ui.glade.h:19
msgid "Details"
msgstr "Details"
@@ -748,12 +748,12 @@ msgstr "Contact Source Selector"
msgid "Accessing LDAP Server anonymously"
msgstr "Accessing LDAP Server anonymously"
-#: ../addressbook/gui/component/addressbook.c:194
+#: ../addressbook/gui/component/addressbook.c:193
#: ../plugins/groupwise-account-setup/camel-gw-listener.c:478
msgid "Failed to authenticate.\n"
msgstr "Failed to authenticate.\n"
-#: ../addressbook/gui/component/addressbook.c:201
+#: ../addressbook/gui/component/addressbook.c:200
#: ../plugins/groupwise-account-setup/camel-gw-listener.c:461
#, c-format
msgid "Enter password for %s (user %s)"
@@ -823,7 +823,7 @@ msgstr "Whether to show the preview pane."
#: ../calendar/gui/dialogs/new-task-list.glade.h:1
#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:1
#: ../composer/e-msg-composer-attachment.glade.h:1
-#: ../mail/mail-dialogs.glade.h:2 ../mail/message-tags.glade.h:1
+#: ../mail/mail-dialogs.glade.h:6 ../mail/message-tags.glade.h:1
#: ../plugins/shared-folder/properties.glade.h:1
#: ../widgets/e-timezone-dialog/e-timezone-dialog.glade.h:1
msgid "*"
@@ -1094,7 +1094,7 @@ msgstr "cards"
#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:12
#: ../calendar/gui/dialogs/alarm-dialog.glade.h:26
#: ../calendar/gui/dialogs/calendar-setup.glade.h:14
-#: ../filter/filter.glade.h:16 ../mail/em-account-editor.c:1882
+#: ../filter/filter.glade.h:16 ../mail/em-account-editor.c:1885
#: ../plugins/calendar-http/calendar-http.c:263
#: ../plugins/calendar-weather/calendar-weather.c:564
msgid "minutes"
@@ -4945,7 +4945,7 @@ msgstr "%.0fG"
#: ../calendar/gui/dialogs/cal-attachment-bar.c:298
#: ../calendar/gui/dialogs/cal-attachment-bar.c:922
-#: ../composer/e-msg-composer-attachment-bar.c:295 ../mail/em-utils.c:438
+#: ../composer/e-msg-composer-attachment-bar.c:295 ../mail/em-utils.c:436
msgid "attachment"
msgstr "attachment"
@@ -4958,7 +4958,7 @@ msgstr "_Remove"
#: ../calendar/gui/dialogs/cal-attachment-bar.c:440
#: ../composer/e-msg-composer-attachment-bar.c:438
-#: ../mail/em-folder-tree.c:2819 ../ui/evolution-mail-list.xml.h:27
+#: ../mail/em-folder-tree.c:2818 ../ui/evolution-mail-list.xml.h:27
msgid "_Properties"
msgstr "_Properties"
@@ -5455,7 +5455,7 @@ msgstr[1] "%d attached messages"
#: ../calendar/gui/dialogs/comp-editor.c:412
#: ../calendar/gui/e-calendar-table.c:1164
#: ../calendar/gui/e-calendar-view.c:1402 ../composer/e-msg-composer.c:2906
-#: ../mail/em-folder-tree.c:1047 ../mail/em-folder-view.c:966
+#: ../mail/em-folder-tree.c:1046 ../mail/em-folder-view.c:966
#: ../mail/message-list.c:1707 ../ui/evolution-addressbook.xml.h:31
#: ../ui/evolution-calendar.xml.h:39 ../ui/evolution-composer-entries.xml.h:7
#: ../ui/evolution-mail-message.xml.h:105 ../ui/evolution-tasks.xml.h:20
@@ -5463,13 +5463,13 @@ msgid "_Copy"
msgstr "_Copy"
#: ../calendar/gui/dialogs/comp-editor.c:413 ../composer/e-msg-composer.c:2907
-#: ../mail/em-folder-tree.c:1048 ../mail/em-folder-tree.c:2312
+#: ../mail/em-folder-tree.c:1047 ../mail/em-folder-tree.c:2311
#: ../mail/em-folder-view.c:862 ../mail/message-list.c:1708
msgid "_Move"
msgstr "_Move"
#: ../calendar/gui/dialogs/comp-editor.c:415 ../composer/e-msg-composer.c:2909
-#: ../mail/em-folder-tree.c:1050 ../mail/message-list.c:1710
+#: ../mail/em-folder-tree.c:1049 ../mail/message-list.c:1710
msgid "Cancel _Drag"
msgstr "Cancel _Drag"
@@ -5490,11 +5490,11 @@ msgstr "Hide _Attachment Bar (drop attachments here)"
#: ../calendar/gui/dialogs/comp-editor.c:903
#: ../calendar/gui/dialogs/comp-editor.c:955 ../composer/e-msg-composer.c:2342
-#: ../composer/e-msg-composer.c:3487
+#: ../composer/e-msg-composer.c:3471
msgid "Show _Attachment Bar (drop attachments here)"
msgstr "Show _Attachment Bar (drop attachments here)"
-#: ../calendar/gui/dialogs/comp-editor.c:979 ../composer/e-msg-composer.c:3509
+#: ../calendar/gui/dialogs/comp-editor.c:979 ../composer/e-msg-composer.c:3493
msgid "Attachment Button: Press space key to toggle attachment bar"
msgstr "Attachment Button: Press space key to toggle attachment bar"
@@ -5538,13 +5538,13 @@ msgstr "Journal entry - %s"
msgid "No summary"
msgstr "No summary"
-#: ../calendar/gui/dialogs/comp-editor.c:2033
-#: ../calendar/gui/dialogs/comp-editor.c:2066
-#: ../calendar/gui/dialogs/comp-editor.c:2090
+#: ../calendar/gui/dialogs/comp-editor.c:2030
+#: ../calendar/gui/dialogs/comp-editor.c:2063
+#: ../calendar/gui/dialogs/comp-editor.c:2087
msgid "Changes made to this item may be discarded if an update arrives"
msgstr "Changes made to this item may be discarded if an update arrives"
-#: ../calendar/gui/dialogs/comp-editor.c:2114
+#: ../calendar/gui/dialogs/comp-editor.c:2111
msgid "Unable to use current version!"
msgstr "Unable to use current version!"
@@ -5636,51 +5636,51 @@ msgstr "Scheduling"
msgid "Invitations"
msgstr "Invitations"
-#: ../calendar/gui/dialogs/event-page.c:721
+#: ../calendar/gui/dialogs/event-page.c:725
msgid "Event with no start date"
msgstr "Event with no start date"
-#: ../calendar/gui/dialogs/event-page.c:724
+#: ../calendar/gui/dialogs/event-page.c:728
msgid "Event with no end date"
msgstr "Event with no end date"
-#: ../calendar/gui/dialogs/event-page.c:890
-#: ../calendar/gui/dialogs/task-page.c:557
+#: ../calendar/gui/dialogs/event-page.c:894
+#: ../calendar/gui/dialogs/task-page.c:561
msgid "Start date is wrong"
msgstr "Start date is wrong"
-#: ../calendar/gui/dialogs/event-page.c:900
+#: ../calendar/gui/dialogs/event-page.c:904
msgid "End date is wrong"
msgstr "End date is wrong"
-#: ../calendar/gui/dialogs/event-page.c:923
+#: ../calendar/gui/dialogs/event-page.c:927
msgid "Start time is wrong"
msgstr "Start time is wrong"
-#: ../calendar/gui/dialogs/event-page.c:930
+#: ../calendar/gui/dialogs/event-page.c:934
msgid "End time is wrong"
msgstr "End time is wrong"
-#: ../calendar/gui/dialogs/event-page.c:1676
+#: ../calendar/gui/dialogs/event-page.c:1675
#, c-format
msgid "Unable to open the calendar '%s'."
msgstr "Unable to open the calendar '%s'."
-#: ../calendar/gui/dialogs/event-page.c:1882
+#: ../calendar/gui/dialogs/event-page.c:1881
#, c-format
msgid "%d day before appointment"
msgid_plural "%d days before appointment"
msgstr[0] "%d day before appointment"
msgstr[1] "%d days before appointment"
-#: ../calendar/gui/dialogs/event-page.c:1890
+#: ../calendar/gui/dialogs/event-page.c:1889
#, c-format
msgid "%d hour before appointment"
msgid_plural "%d hours before appointment"
msgstr[0] "%d hour before appointment"
msgstr[1] "%d hours before appointment"
-#: ../calendar/gui/dialogs/event-page.c:1898
+#: ../calendar/gui/dialogs/event-page.c:1897
#, c-format
msgid "%d minute before appointement"
msgid_plural "%d minutes before appointment"
@@ -5809,12 +5809,12 @@ msgstr "_Start time:"
#: ../calendar/gui/dialogs/meeting-page.glade.h:5
#: ../calendar/gui/e-cal-model-tasks.c:652
#: ../calendar/gui/e-itip-control.c:1104 ../composer/e-msg-composer.c:2117
-#: ../filter/filter-rule.c:878 ../mail/em-account-editor.c:683
-#: ../mail/em-account-editor.c:1288 ../mail/em-account-prefs.c:437
+#: ../filter/filter-rule.c:878 ../mail/em-account-editor.c:685
+#: ../mail/em-account-editor.c:1291 ../mail/em-account-prefs.c:437
#: ../mail/em-folder-view.c:993
#: ../plugins/calendar-weather/calendar-weather.c:371
#: ../plugins/calendar-weather/calendar-weather.c:425
-#: ../plugins/itip-formatter/itip-formatter.c:1390
+#: ../plugins/itip-formatter/itip-formatter.c:1376
#: ../widgets/e-timezone-dialog/e-timezone-dialog.c:190
#: ../widgets/misc/e-cell-date-edit.c:248 ../widgets/misc/e-dateedit.c:458
#: ../widgets/misc/e-dateedit.c:1497 ../widgets/misc/e-dateedit.c:1651
@@ -6108,7 +6108,7 @@ msgstr "Completed"
#: ../calendar/gui/dialogs/task-details-page.glade.h:5
#: ../calendar/gui/e-cal-component-preview.c:248
-#: ../calendar/gui/e-calendar-table.c:382 ../mail/message-list.c:1007
+#: ../calendar/gui/e-calendar-table.c:382 ../mail/message-list.c:1006
msgid "High"
msgstr "High"
@@ -6123,14 +6123,14 @@ msgstr "In Progress"
#: ../calendar/gui/dialogs/task-details-page.glade.h:7
#: ../calendar/gui/e-cal-component-preview.c:252
-#: ../calendar/gui/e-calendar-table.c:384 ../mail/message-list.c:1005
+#: ../calendar/gui/e-calendar-table.c:384 ../mail/message-list.c:1004
msgid "Low"
msgstr "Low"
#: ../calendar/gui/dialogs/task-details-page.glade.h:8
#: ../calendar/gui/e-cal-component-preview.c:250
#: ../calendar/gui/e-cal-model.c:899 ../calendar/gui/e-calendar-table.c:383
-#: ../mail/message-list.c:1006
+#: ../mail/message-list.c:1005
msgid "Normal"
msgstr "Normal"
@@ -6178,11 +6178,11 @@ msgstr "Task"
msgid "Assignment"
msgstr "Assignment"
-#: ../calendar/gui/dialogs/task-page.c:530
+#: ../calendar/gui/dialogs/task-page.c:534
msgid "Due date is wrong"
msgstr "Due date is wrong"
-#: ../calendar/gui/dialogs/task-page.c:874
+#: ../calendar/gui/dialogs/task-page.c:878
#, c-format
msgid "Unable to open tasks in '%s'."
msgstr "Unable to open tasks in '%s'."
@@ -6382,7 +6382,7 @@ msgstr "Start Date"
#: ../calendar/gui/e-cal-list-view.etspec.h:5
#: ../calendar/gui/e-calendar-table.etspec.h:11
-#: ../mail/mail-dialogs.glade.h:17
+#: ../mail/mail-dialogs.glade.h:21
msgid "Summary"
msgstr "Summary"
@@ -6442,9 +6442,9 @@ msgstr "No"
#: ../calendar/gui/e-meeting-list-view.c:139
#: ../calendar/gui/e-meeting-list-view.c:153
#: ../calendar/gui/e-meeting-store.c:124 ../calendar/gui/e-meeting-store.c:159
-#: ../calendar/gui/e-meeting-store.c:224 ../mail/em-utils.c:1175
+#: ../calendar/gui/e-meeting-store.c:224 ../mail/em-utils.c:1173
#: ../plugins/itip-formatter/itip-formatter.c:251
-#: ../plugins/itip-formatter/itip-formatter.c:1412
+#: ../plugins/itip-formatter/itip-formatter.c:1398
#: ../plugins/plugin-manager/plugin-manager.c:72
#: ../shell/e-component-registry.c:201 ../shell/e-component-registry.c:205
#: ../widgets/misc/e-charset-picker.c:62
@@ -6577,7 +6577,7 @@ msgstr "_Mark Selected Tasks as Complete"
#. FIXME: need to disable for undeletable folders
#: ../calendar/gui/e-calendar-table.c:1176
-#: ../calendar/gui/e-calendar-view.c:1414 ../mail/em-folder-tree.c:2815
+#: ../calendar/gui/e-calendar-view.c:1414 ../mail/em-folder-tree.c:2814
#: ../mail/em-folder-view.c:980 ../ui/evolution-addressbook.xml.h:33
#: ../ui/evolution-calendar.xml.h:40 ../ui/evolution-mail-message.xml.h:108
#: ../ui/evolution-tasks.xml.h:21
@@ -6854,12 +6854,12 @@ msgstr ""
#: ../calendar/gui/e-meeting-list-view.c:175
#: ../calendar/gui/e-meeting-store.c:188 ../calendar/gui/e-meeting-store.c:211
#: ../calendar/gui/itip-utils.c:421
-#: ../plugins/itip-formatter/itip-formatter.c:1403
+#: ../plugins/itip-formatter/itip-formatter.c:1389
msgid "Accepted"
msgstr "Accepted"
#: ../calendar/gui/e-itip-control.c:1141 ../calendar/gui/itip-utils.c:424
-#: ../plugins/itip-formatter/itip-formatter.c:1406
+#: ../plugins/itip-formatter/itip-formatter.c:1392
msgid "Tentatively Accepted"
msgstr "Tentatively Accepted"
@@ -6867,7 +6867,7 @@ msgstr "Tentatively Accepted"
#: ../calendar/gui/e-meeting-list-view.c:176
#: ../calendar/gui/e-meeting-store.c:190 ../calendar/gui/e-meeting-store.c:213
#: ../calendar/gui/itip-utils.c:427 ../calendar/gui/itip-utils.c:453
-#: ../plugins/itip-formatter/itip-formatter.c:1409
+#: ../plugins/itip-formatter/itip-formatter.c:1395
msgid "Declined"
msgstr "Declined"
@@ -7392,7 +7392,7 @@ msgid "Updating query"
msgstr "Updating query"
#. bonobo displays this string so it must be in locale
-#: ../calendar/gui/gnome-cal.c:2057 ../widgets/menus/gal-view-menus.c:350
+#: ../calendar/gui/gnome-cal.c:2057 ../widgets/menus/gal-view-menus.c:351
msgid "Custom View"
msgstr "Custom View"
@@ -7400,7 +7400,7 @@ msgstr "Custom View"
msgid "Save Custom View"
msgstr "Save Custom View"
-#: ../calendar/gui/gnome-cal.c:2063 ../widgets/menus/gal-view-menus.c:372
+#: ../calendar/gui/gnome-cal.c:2063 ../widgets/menus/gal-view-menus.c:373
msgid "Define Views..."
msgstr "Define Views..."
@@ -9463,15 +9463,15 @@ msgstr "Pacific/Wallis"
msgid "Pacific/Yap"
msgstr "Pacific/Yap"
-#: ../composer/e-msg-composer-hdrs.c:520
+#: ../composer/e-msg-composer-hdrs.c:519
msgid "Posting destination"
msgstr "Posting destination"
-#: ../composer/e-msg-composer-hdrs.c:521
+#: ../composer/e-msg-composer-hdrs.c:520
msgid "Choose folders to post the message to."
msgstr "Choose folders to post the message to."
-#: ../composer/e-msg-composer-hdrs.c:555
+#: ../composer/e-msg-composer-hdrs.c:554
msgid "Click here for the address book"
msgstr "Click here for the address book"
@@ -9482,45 +9482,45 @@ msgstr "Click here for the address book"
#. * because that causes from_changed to be called, which
#. * expects the reply_to fields to be initialized.
#.
-#: ../composer/e-msg-composer-hdrs.c:585
+#: ../composer/e-msg-composer-hdrs.c:584
msgid "_Reply-To:"
msgstr "_Reply-To:"
#.
#. * From
#.
-#: ../composer/e-msg-composer-hdrs.c:592
+#: ../composer/e-msg-composer-hdrs.c:591
msgid "Fr_om:"
msgstr "Fr_om:"
#.
#. * Subject
#.
-#: ../composer/e-msg-composer-hdrs.c:599
+#: ../composer/e-msg-composer-hdrs.c:598
msgid "S_ubject:"
msgstr "S_ubject:"
-#: ../composer/e-msg-composer-hdrs.c:609
+#: ../composer/e-msg-composer-hdrs.c:608
msgid "_To:"
msgstr "_To:"
-#: ../composer/e-msg-composer-hdrs.c:610
+#: ../composer/e-msg-composer-hdrs.c:609
msgid "Enter the recipients of the message"
msgstr "Enter the recipients of the message"
-#: ../composer/e-msg-composer-hdrs.c:613
+#: ../composer/e-msg-composer-hdrs.c:612
msgid "_Cc:"
msgstr "_Cc:"
-#: ../composer/e-msg-composer-hdrs.c:614
+#: ../composer/e-msg-composer-hdrs.c:613
msgid "Enter the addresses that will receive a carbon copy of the message"
msgstr "Enter the addresses that will receive a carbon copy of the message"
-#: ../composer/e-msg-composer-hdrs.c:617
+#: ../composer/e-msg-composer-hdrs.c:616
msgid "_Bcc:"
msgstr "_Bcc:"
-#: ../composer/e-msg-composer-hdrs.c:618
+#: ../composer/e-msg-composer-hdrs.c:617
msgid ""
"Enter the addresses that will receive a carbon copy of the message without "
"appearing in the recipient list of the message."
@@ -9531,15 +9531,15 @@ msgstr ""
#.
#. * Post-To
#.
-#: ../composer/e-msg-composer-hdrs.c:625
+#: ../composer/e-msg-composer-hdrs.c:624
msgid "_Post To:"
msgstr "_Post To:"
-#: ../composer/e-msg-composer-hdrs.c:630
+#: ../composer/e-msg-composer-hdrs.c:629
msgid "Click here to select folders to post to"
msgstr "Click here to select folders to post to"
-#: ../composer/e-msg-composer-hdrs.c:636
+#: ../composer/e-msg-composer-hdrs.c:635
msgid "Post To:"
msgstr "Post To:"
@@ -9579,7 +9579,7 @@ msgid "Open File"
msgstr "Open File"
#: ../composer/e-msg-composer.c:2001 ../mail/em-account-editor.c:588
-#: ../mail/em-account-editor.c:633 ../mail/em-account-editor.c:698
+#: ../mail/em-account-editor.c:633 ../mail/em-account-editor.c:700
msgid "Autogenerated"
msgstr "Autogenerated"
@@ -9587,12 +9587,12 @@ msgstr "Autogenerated"
msgid "Si_gnature:"
msgstr "Si_gnature:"
-#: ../composer/e-msg-composer.c:2359 ../composer/e-msg-composer.c:3376
-#: ../composer/e-msg-composer.c:3377
+#: ../composer/e-msg-composer.c:2359 ../composer/e-msg-composer.c:3360
+#: ../composer/e-msg-composer.c:3361
msgid "Compose a message"
msgstr "Compose a message"
-#: ../composer/e-msg-composer.c:4570
+#: ../composer/e-msg-composer.c:4542
msgid ""
"<b>(The composer contains a non-text message body, which cannot be edited.)"
"<b>"
@@ -10352,44 +10352,44 @@ msgstr ""
msgid "Select Folder"
msgstr "Select Folder"
-#: ../mail/em-account-editor.c:1661 ../mail/mail-config.glade.h:89
+#: ../mail/em-account-editor.c:1664 ../mail/mail-config.glade.h:89
msgid "Identity"
msgstr "Identity"
-#: ../mail/em-account-editor.c:1697 ../mail/mail-config.glade.h:114
+#: ../mail/em-account-editor.c:1700 ../mail/mail-config.glade.h:114
msgid "Receiving Email"
msgstr "Receiving Email"
-#: ../mail/em-account-editor.c:1874
+#: ../mail/em-account-editor.c:1877
msgid "Automatically check for _new mail every"
msgstr "Automatically check for _new mail every"
-#: ../mail/em-account-editor.c:2042 ../mail/mail-config.glade.h:124
+#: ../mail/em-account-editor.c:2045 ../mail/mail-config.glade.h:124
msgid "Sending Email"
msgstr "Sending Email"
-#: ../mail/em-account-editor.c:2086 ../mail/mail-config.glade.h:67
+#: ../mail/em-account-editor.c:2089 ../mail/mail-config.glade.h:67
msgid "Defaults"
msgstr "Defaults"
-#: ../mail/em-account-editor.c:2145 ../mail/mail-config.glade.h:119
+#: ../mail/em-account-editor.c:2148 ../mail/mail-config.glade.h:119
msgid "Security"
msgstr "Security"
#. Most sections for this is auto-generated fromt the camel config
-#: ../mail/em-account-editor.c:2182 ../mail/em-account-editor.c:2256
+#: ../mail/em-account-editor.c:2185 ../mail/em-account-editor.c:2260
msgid "Receiving Options"
msgstr "Receiving Options"
-#: ../mail/em-account-editor.c:2183 ../mail/em-account-editor.c:2257
+#: ../mail/em-account-editor.c:2186 ../mail/em-account-editor.c:2261
msgid "Checking for New Mail"
msgstr "Checking for New Mail"
-#: ../mail/em-account-editor.c:2581 ../mail/mail-config.glade.h:33
+#: ../mail/em-account-editor.c:2585 ../mail/mail-config.glade.h:33
msgid "Account Editor"
msgstr "Account Editor"
-#: ../mail/em-account-editor.c:2581 ../mail/mail-config.glade.h:79
+#: ../mail/em-account-editor.c:2585 ../mail/mail-config.glade.h:79
msgid "Evolution Account Assistant"
msgstr "Evolution Account Assistant"
@@ -10423,18 +10423,18 @@ msgstr "Add signature script"
msgid "Signature(s)"
msgstr "Signature(s)"
-#: ../mail/em-composer-utils.c:849
+#: ../mail/em-composer-utils.c:911
msgid "-------- Forwarded Message --------"
msgstr "-------- Forwarded Message --------"
-#: ../mail/em-composer-utils.c:1459
+#: ../mail/em-composer-utils.c:1521
msgid "an unknown sender"
msgstr "an unknown sender"
#. Note to translators: this is the attribution string used when quoting messages.
#. * each ${Variable} gets replaced with a value. To see a full list of available
#. * variables, see em-composer-utils.c:1514
-#: ../mail/em-composer-utils.c:1506
+#: ../mail/em-composer-utils.c:1568
msgid ""
"On ${AbbrevWeekdayName}, ${Year}-${Month}-${Day} at ${24Hour}:${Minute} "
"${TimeZone}, ${Sender} wrote:"
@@ -10689,7 +10689,7 @@ msgstr "starts with"
msgid "Stop Processing"
msgstr "Stop Processing"
-#: ../mail/em-filter-i18n.h:65 ../mail/em-format-html.c:1532
+#: ../mail/em-filter-i18n.h:65 ../mail/em-format-html.c:1533
#: ../mail/em-format-quote.c:306 ../mail/em-format.c:853
#: ../mail/em-mailer-prefs.c:88 ../mail/message-list.etspec.h:13
#: ../mail/message-tag-followup.c:330
@@ -10736,7 +10736,7 @@ msgstr "<click here to select a folder>"
msgid "Create New Folder"
msgstr "Create New Folder"
-#: ../mail/em-folder-selector.c:166 ../mail/em-folder-tree.c:2528
+#: ../mail/em-folder-selector.c:166 ../mail/em-folder-tree.c:2527
#: ../mail/mail-component.c:770 ../plugins/shared-folder/install-shared.c:144
#: ../plugins/shared-folder/share-folder-common.c:345
msgid "Specify where to create the folder:"
@@ -10781,113 +10781,113 @@ msgstr "Sent"
msgid "Loading..."
msgstr "Loading..."
-#: ../mail/em-folder-tree.c:689
+#: ../mail/em-folder-tree.c:688
msgid "Mail Folder Tree"
msgstr "Mail Folder Tree"
-#: ../mail/em-folder-tree.c:922
+#: ../mail/em-folder-tree.c:921
#, c-format
msgid "Moving folder %s"
msgstr "Moving folder %s"
-#: ../mail/em-folder-tree.c:924
+#: ../mail/em-folder-tree.c:923
#, c-format
msgid "Copying folder %s"
msgstr "Copying folder %s"
-#: ../mail/em-folder-tree.c:931 ../mail/message-list.c:1612
+#: ../mail/em-folder-tree.c:930 ../mail/message-list.c:1612
#, c-format
msgid "Moving messages into folder %s"
msgstr "Moving messages into folder %s"
-#: ../mail/em-folder-tree.c:933 ../mail/message-list.c:1614
+#: ../mail/em-folder-tree.c:932 ../mail/message-list.c:1614
#, c-format
msgid "Copying messages into folder %s"
msgstr "Copying messages into folder %s"
-#: ../mail/em-folder-tree.c:949
+#: ../mail/em-folder-tree.c:948
msgid "Cannot drop message(s) into toplevel store"
msgstr "Cannot drop message(s) into toplevel store"
-#: ../mail/em-folder-tree.c:1045 ../ui/evolution-mail-message.xml.h:106
+#: ../mail/em-folder-tree.c:1044 ../ui/evolution-mail-message.xml.h:106
msgid "_Copy to Folder"
msgstr "_Copy to Folder"
-#: ../mail/em-folder-tree.c:1046 ../ui/evolution-mail-message.xml.h:115
+#: ../mail/em-folder-tree.c:1045 ../ui/evolution-mail-message.xml.h:115
msgid "_Move to Folder"
msgstr "_Move to Folder"
-#: ../mail/em-folder-tree.c:1751 ../mail/mail-ops.c:1051
+#: ../mail/em-folder-tree.c:1750 ../mail/mail-ops.c:1026
#, c-format
msgid "Scanning folders in \"%s\""
msgstr "Scanning folders in \"%s\""
-#: ../mail/em-folder-tree.c:2024
+#: ../mail/em-folder-tree.c:2023
#, c-format
msgid "Copying `%s' to `%s'"
msgstr "Copying `%s' to `%s'"
-#: ../mail/em-folder-tree.c:2298 ../mail/em-folder-tree.c:2312
+#: ../mail/em-folder-tree.c:2297 ../mail/em-folder-tree.c:2311
#: ../mail/em-folder-view.c:862 ../mail/em-folder-view.c:877
#: ../mail/importers/evolution-mbox-importer.c:120
#: ../mail/importers/evolution-outlook-importer.c:134
msgid "Select folder"
msgstr "Select folder"
-#: ../mail/em-folder-tree.c:2298 ../mail/em-folder-view.c:877
+#: ../mail/em-folder-tree.c:2297 ../mail/em-folder-view.c:877
msgid "C_opy"
msgstr "C_opy"
-#: ../mail/em-folder-tree.c:2339
+#: ../mail/em-folder-tree.c:2338
#: ../plugins/shared-folder/share-folder-common.c:138
#, c-format
msgid "Creating folder `%s'"
msgstr "Creating folder `%s'"
-#: ../mail/em-folder-tree.c:2528 ../mail/mail-component.c:770
+#: ../mail/em-folder-tree.c:2527 ../mail/mail-component.c:770
#: ../plugins/shared-folder/install-shared.c:144
#: ../plugins/shared-folder/share-folder-common.c:345
msgid "Create folder"
msgstr "Create folder"
-#: ../mail/em-folder-tree.c:2721
+#: ../mail/em-folder-tree.c:2720
#, c-format
msgid "Rename the \"%s\" folder to:"
msgstr "Rename the \"%s\" folder to:"
-#: ../mail/em-folder-tree.c:2723
+#: ../mail/em-folder-tree.c:2722
msgid "Rename Folder"
msgstr "Rename Folder"
-#: ../mail/em-folder-tree.c:2729
+#: ../mail/em-folder-tree.c:2728
msgid "Folder names cannot contain '/'"
msgstr "Folder names cannot contain '/'"
-#: ../mail/em-folder-tree.c:2803 ../ui/evolution-addressbook.xml.h:44
+#: ../mail/em-folder-tree.c:2802 ../ui/evolution-addressbook.xml.h:44
#: ../ui/evolution-mail-global.xml.h:17
#: ../ui/evolution-mail-messagedisplay.xml.h:8
#: ../ui/evolution-message-composer.xml.h:53 ../ui/evolution.xml.h:49
msgid "_View"
msgstr "_View"
-#: ../mail/em-folder-tree.c:2804
+#: ../mail/em-folder-tree.c:2803
msgid "Open in _New Window"
msgstr "Open in _New Window"
-#: ../mail/em-folder-tree.c:2808
+#: ../mail/em-folder-tree.c:2807
msgid "_Copy..."
msgstr "_Copy..."
-#: ../mail/em-folder-tree.c:2809
+#: ../mail/em-folder-tree.c:2808
msgid "_Move..."
msgstr "_Move..."
#. FIXME: need to disable for nochildren folders
-#: ../mail/em-folder-tree.c:2813
+#: ../mail/em-folder-tree.c:2812
msgid "_New Folder..."
msgstr "_New Folder..."
-#: ../mail/em-folder-tree.c:2816
+#: ../mail/em-folder-tree.c:2815
msgid "_Rename..."
msgstr "_Rename..."
@@ -11232,28 +11232,28 @@ msgid "Bcc"
msgstr "Bcc"
#. pseudo-header
-#: ../mail/em-format-html.c:1536 ../mail/em-format-quote.c:315
+#: ../mail/em-format-html.c:1537 ../mail/em-format-quote.c:315
#: ../mail/em-mailer-prefs.c:986
msgid "Mailer"
msgstr "Mailer"
#. translators: strftime format for local time equivalent in Date header display, with day
-#: ../mail/em-format-html.c:1563
+#: ../mail/em-format-html.c:1564
msgid "<I> (%a, %R %Z)</I>"
msgstr "<I> (%a, %R %Z)</I>"
#. translators: strftime format for local time equivalent in Date header display, without day
-#: ../mail/em-format-html.c:1566
+#: ../mail/em-format-html.c:1567
msgid "<I> (%R %Z)</I>"
msgstr "<I> (%R %Z)</I>"
-#: ../mail/em-format-html.c:1576 ../mail/em-format-quote.c:322
+#: ../mail/em-format-html.c:1577 ../mail/em-format-quote.c:322
#: ../mail/em-format.c:854 ../mail/em-mailer-prefs.c:89
#: ../mail/message-list.etspec.h:2
msgid "Date"
msgstr "Date"
-#: ../mail/em-format-html.c:1599 ../mail/em-format.c:855
+#: ../mail/em-format-html.c:1600 ../mail/em-format.c:855
#: ../mail/em-mailer-prefs.c:90
msgid "Newsgroups"
msgstr "Newsgroups"
@@ -11434,20 +11434,20 @@ msgstr "Don't show this message again."
msgid "Filters"
msgstr "Filters"
-#: ../mail/em-utils.c:436
+#: ../mail/em-utils.c:434
msgid "message"
msgstr "message"
-#: ../mail/em-utils.c:545
+#: ../mail/em-utils.c:543
msgid "Save Message..."
msgstr "Save Message..."
-#: ../mail/em-utils.c:594
+#: ../mail/em-utils.c:592
msgid "Add address"
msgstr "Add address"
#. Drop filename for messages from a mailbox
-#: ../mail/em-utils.c:1073
+#: ../mail/em-utils.c:1071
#, c-format
msgid "Messages from %s"
msgstr "Messages from %s"
@@ -12134,27 +12134,27 @@ msgstr ""
msgid "Pine"
msgstr "Pine"
-#: ../mail/mail-autofilter.c:75
+#: ../mail/mail-autofilter.c:74
#, c-format
msgid "Mail to %s"
msgstr "Mail to %s"
-#: ../mail/mail-autofilter.c:239 ../mail/mail-autofilter.c:278
+#: ../mail/mail-autofilter.c:238 ../mail/mail-autofilter.c:277
#, c-format
msgid "Mail from %s"
msgstr "Mail from %s"
-#: ../mail/mail-autofilter.c:262
+#: ../mail/mail-autofilter.c:261
#, c-format
msgid "Subject is %s"
msgstr "Subject is %s"
-#: ../mail/mail-autofilter.c:297
+#: ../mail/mail-autofilter.c:296
#, c-format
msgid "%s mailing list"
msgstr "%s mailing list"
-#: ../mail/mail-autofilter.c:366
+#: ../mail/mail-autofilter.c:365
msgid "Add Filter Rule"
msgstr "Add Filter Rule"
@@ -12235,7 +12235,7 @@ msgstr "Create a new mail folder"
msgid "Failed upgrading Mail settings or folders."
msgstr "Failed upgrading Mail settings or folders."
-#: ../mail/mail-config.glade.h:1 ../mail/mail-dialogs.glade.h:1
+#: ../mail/mail-config.glade.h:1 ../mail/mail-dialogs.glade.h:5
msgid " "
msgstr " "
@@ -12300,7 +12300,7 @@ msgid "<span weight=\"bold\">Filter Options</span>"
msgstr "<span weight=\"bold\">Filter Options</span>"
#: ../mail/mail-config.glade.h:18
-#: ../plugins/itip-formatter/itip-formatter.c:1681
+#: ../plugins/itip-formatter/itip-formatter.c:1667
msgid "<span weight=\"bold\">General</span>"
msgstr "<span weight=\"bold\">General</span>"
@@ -12842,60 +12842,70 @@ msgstr "colour"
msgid "description"
msgstr "description"
-#: ../mail/mail-dialogs.glade.h:3
+#: ../mail/mail-dialogs.glade.h:1
+msgid ""
+"\n"
+" Please read carefully the license agreement displayed\n"
+" below and tick the check box for accepting it\n"
+msgstr ""
+"\n"
+" Please read carefully the licence agreement displayed\n"
+" below and tick the check box for accepting it\n"
+
+#: ../mail/mail-dialogs.glade.h:7
msgid "<b>vFolder Sources</b>"
msgstr "<b>vFolder Sources</b>"
-#: ../mail/mail-dialogs.glade.h:4
+#: ../mail/mail-dialogs.glade.h:8
msgid "<span weight=\"bold\">Digital Signature</span>"
msgstr "<span weight=\"bold\">Digital Signature</span>"
-#: ../mail/mail-dialogs.glade.h:5
+#: ../mail/mail-dialogs.glade.h:9
msgid "<span weight=\"bold\">Encryption</span>"
msgstr "<span weight=\"bold\">Encryption</span>"
-#: ../mail/mail-dialogs.glade.h:6
+#: ../mail/mail-dialogs.glade.h:10
msgid "Case _Sensitive"
msgstr "Case _Sensitive"
-#: ../mail/mail-dialogs.glade.h:7 ../mail/message-tags.glade.h:2
+#: ../mail/mail-dialogs.glade.h:11 ../mail/message-tags.glade.h:2
msgid "Co_mpleted"
msgstr "Co_mpleted"
-#: ../mail/mail-dialogs.glade.h:9
+#: ../mail/mail-dialogs.glade.h:13
msgid "F_ind:"
msgstr "F_ind:"
-#: ../mail/mail-dialogs.glade.h:10
+#: ../mail/mail-dialogs.glade.h:14
msgid "Find in Message"
msgstr "Find in Message"
-#: ../mail/mail-dialogs.glade.h:11 ../mail/message-tag-followup.c:295
+#: ../mail/mail-dialogs.glade.h:15 ../mail/message-tag-followup.c:295
#: ../mail/message-tags.glade.h:3
msgid "Flag to Follow Up"
msgstr "Flag to Follow Up"
-#: ../mail/mail-dialogs.glade.h:12
+#: ../mail/mail-dialogs.glade.h:16
msgid "Folder Subscriptions"
msgstr "Folder Subscriptions"
-#: ../mail/mail-dialogs.glade.h:13
+#: ../mail/mail-dialogs.glade.h:17
msgid "License Agreement"
msgstr "Licence Agreement"
-#: ../mail/mail-dialogs.glade.h:14
+#: ../mail/mail-dialogs.glade.h:18
msgid "None Selected"
msgstr "None Selected"
-#: ../mail/mail-dialogs.glade.h:15
+#: ../mail/mail-dialogs.glade.h:19
msgid "S_erver:"
msgstr "S_erver:"
-#: ../mail/mail-dialogs.glade.h:16
+#: ../mail/mail-dialogs.glade.h:20
msgid "Security Information"
msgstr "Security Information"
-#: ../mail/mail-dialogs.glade.h:18 ../mail/message-tags.glade.h:4
+#: ../mail/mail-dialogs.glade.h:22 ../mail/message-tags.glade.h:4
msgid ""
"The messages you have selected for follow up are listed below.\n"
"Please select a follow up action from the \"Flag\" menu."
@@ -12903,43 +12913,43 @@ msgstr ""
"The messages you have selected for follow up are listed below.\n"
"Please select a follow up action from the \"Flag\" menu."
-#: ../mail/mail-dialogs.glade.h:20
+#: ../mail/mail-dialogs.glade.h:24
msgid "_Accept License"
msgstr "_Accept Licence"
-#: ../mail/mail-dialogs.glade.h:21 ../mail/message-tags.glade.h:6
+#: ../mail/mail-dialogs.glade.h:25 ../mail/message-tags.glade.h:6
msgid "_Due By:"
msgstr "_Due By:"
-#: ../mail/mail-dialogs.glade.h:22 ../mail/message-tags.glade.h:7
+#: ../mail/mail-dialogs.glade.h:26 ../mail/message-tags.glade.h:7
msgid "_Flag:"
msgstr "_Flag:"
-#: ../mail/mail-dialogs.glade.h:23
+#: ../mail/mail-dialogs.glade.h:27
msgid "_Subscribe"
msgstr "_Subscribe"
-#: ../mail/mail-dialogs.glade.h:24
+#: ../mail/mail-dialogs.glade.h:28
msgid "_Tick this to accept the license agreement"
msgstr "_Check this to accept the licence agreement"
-#: ../mail/mail-dialogs.glade.h:25
+#: ../mail/mail-dialogs.glade.h:29
msgid "_Unsubscribe"
msgstr "_Unsubscribe"
-#: ../mail/mail-dialogs.glade.h:26
+#: ../mail/mail-dialogs.glade.h:30
msgid "specific folders only"
msgstr "specific folders only"
-#: ../mail/mail-dialogs.glade.h:27
+#: ../mail/mail-dialogs.glade.h:31
msgid "with all active remote folders"
msgstr "with all active remote folders"
-#: ../mail/mail-dialogs.glade.h:28
+#: ../mail/mail-dialogs.glade.h:32
msgid "with all local and active remote folders"
msgstr "with all local and active remote folders"
-#: ../mail/mail-dialogs.glade.h:29
+#: ../mail/mail-dialogs.glade.h:33
msgid "with all local folders"
msgstr "with all local folders"
@@ -13568,7 +13578,7 @@ msgstr "Filtering Folder"
msgid "Fetching Mail"
msgstr "Fetching Mail"
-#: ../mail/mail-ops.c:556 ../mail/mail-ops.c:598
+#: ../mail/mail-ops.c:542 ../mail/mail-ops.c:585
#, c-format
msgid ""
"Failed to append to %s: %s\n"
@@ -13578,119 +13588,119 @@ msgstr ""
"Appending to local `Sent' folder instead."
#. sending mail, filtering failed
-#: ../mail/mail-ops.c:577
+#: ../mail/mail-ops.c:564
#, c-format
msgid "Failed to apply outgoing filters: %s"
msgstr "Failed to apply outgoing filters: %s"
-#: ../mail/mail-ops.c:615
+#: ../mail/mail-ops.c:602
#, c-format
msgid "Failed to append to local `Sent' folder: %s"
msgstr "Failed to append to local `Sent' folder: %s"
-#: ../mail/mail-ops.c:727
+#: ../mail/mail-ops.c:702
#, c-format
msgid "Sending message %d of %d"
msgstr "Sending message %d of %d"
-#: ../mail/mail-ops.c:752
+#: ../mail/mail-ops.c:727
#, c-format
msgid "Failed to send %d of %d messages"
msgstr "Failed to send %d of %d messages"
-#: ../mail/mail-ops.c:754 ../mail/mail-send-recv.c:613
+#: ../mail/mail-ops.c:729 ../mail/mail-send-recv.c:613
msgid "Cancelled."
msgstr "Cancelled."
-#: ../mail/mail-ops.c:756
+#: ../mail/mail-ops.c:731
msgid "Complete."
msgstr "Complete."
-#: ../mail/mail-ops.c:853
+#: ../mail/mail-ops.c:828
msgid "Saving message to folder"
msgstr "Saving message to folder"
-#: ../mail/mail-ops.c:938
+#: ../mail/mail-ops.c:913
#, c-format
msgid "Moving messages to %s"
msgstr "Moving messages to %s"
-#: ../mail/mail-ops.c:938
+#: ../mail/mail-ops.c:913
#, c-format
msgid "Copying messages to %s"
msgstr "Copying messages to %s"
-#: ../mail/mail-ops.c:1164
+#: ../mail/mail-ops.c:1139
msgid "Forwarded messages"
msgstr "Forwarded messages"
-#: ../mail/mail-ops.c:1207
+#: ../mail/mail-ops.c:1182
#, c-format
msgid "Opening folder %s"
msgstr "Opening folder %s"
-#: ../mail/mail-ops.c:1279
+#: ../mail/mail-ops.c:1254
#, c-format
msgid "Opening store %s"
msgstr "Opening store %s"
-#: ../mail/mail-ops.c:1357
+#: ../mail/mail-ops.c:1332
#, c-format
msgid "Removing folder %s"
msgstr "Removing folder %s"
-#: ../mail/mail-ops.c:1451
+#: ../mail/mail-ops.c:1426
#, c-format
msgid "Storing folder '%s'"
msgstr "Storing folder '%s'"
-#: ../mail/mail-ops.c:1516
+#: ../mail/mail-ops.c:1491
#, c-format
msgid "Expunging and storing account '%s'"
msgstr "Expunging and storing account '%s'"
-#: ../mail/mail-ops.c:1517
+#: ../mail/mail-ops.c:1492
#, c-format
msgid "Storing account '%s'"
msgstr "Storing account '%s'"
-#: ../mail/mail-ops.c:1572
+#: ../mail/mail-ops.c:1547
msgid "Refreshing folder"
msgstr "Refreshing folder"
-#: ../mail/mail-ops.c:1608 ../mail/mail-ops.c:1659
+#: ../mail/mail-ops.c:1583 ../mail/mail-ops.c:1634
msgid "Expunging folder"
msgstr "Expunging folder"
-#: ../mail/mail-ops.c:1656
+#: ../mail/mail-ops.c:1631
#, c-format
msgid "Emptying trash in '%s'"
msgstr "Emptying trash in '%s'"
-#: ../mail/mail-ops.c:1657
+#: ../mail/mail-ops.c:1632
msgid "Local Folders"
msgstr "Local Folders"
-#: ../mail/mail-ops.c:1740
+#: ../mail/mail-ops.c:1715
#, c-format
msgid "Retrieving message %s"
msgstr "Retrieving message %s"
-#: ../mail/mail-ops.c:1812
+#: ../mail/mail-ops.c:1787
#, c-format
msgid "Retrieving %d message"
msgid_plural "Retrieving %d messages"
msgstr[0] "Retrieving %d message"
msgstr[1] "Retrieving %d message(s)"
-#: ../mail/mail-ops.c:1898
+#: ../mail/mail-ops.c:1873
#, c-format
msgid "Saving %d message"
msgid_plural "Saving %d messsages"
msgstr[0] "Saving %d message"
msgstr[1] "Saving %d messsage(s)"
-#: ../mail/mail-ops.c:1948
+#: ../mail/mail-ops.c:1923
#, c-format
msgid ""
"Unable to create output file: %s\n"
@@ -13699,7 +13709,7 @@ msgstr ""
"Unable to create output file: %s\n"
" %s"
-#: ../mail/mail-ops.c:1976
+#: ../mail/mail-ops.c:1951
#, c-format
msgid ""
"Error saving messages to: %s:\n"
@@ -13708,11 +13718,11 @@ msgstr ""
"Error saving messages to: %s:\n"
" %s"
-#: ../mail/mail-ops.c:2047
+#: ../mail/mail-ops.c:2022
msgid "Saving attachment"
msgstr "Saving attachment"
-#: ../mail/mail-ops.c:2059
+#: ../mail/mail-ops.c:2034
#, c-format
msgid ""
"Cannot create output file: %s:\n"
@@ -13721,22 +13731,22 @@ msgstr ""
"Cannot create output file: %s:\n"
" %s"
-#: ../mail/mail-ops.c:2069
+#: ../mail/mail-ops.c:2044
#, c-format
msgid "Could not write data: %s"
msgstr "Could not write data: %s"
-#: ../mail/mail-ops.c:2219
+#: ../mail/mail-ops.c:2194
#, c-format
msgid "Disconnecting from %s"
msgstr "Disconnecting from %s"
-#: ../mail/mail-ops.c:2219
+#: ../mail/mail-ops.c:2194
#, c-format
msgid "Reconnecting to %s"
msgstr "Reconnecting to %s"
-#: ../mail/mail-ops.c:2335
+#: ../mail/mail-ops.c:2310
msgid "Checking Service"
msgstr "Checking Service"
@@ -13811,16 +13821,16 @@ msgstr "Could not create spool directory `%s': %s"
msgid "Trying to movemail a non-mbox source `%s'"
msgstr "Trying to movemail a non-mbox source `%s'"
-#: ../mail/mail-tools.c:241
+#: ../mail/mail-tools.c:277
#, c-format
msgid "Forwarded message - %s"
msgstr "Forwarded message - %s"
-#: ../mail/mail-tools.c:243
+#: ../mail/mail-tools.c:279
msgid "Forwarded message"
msgstr "Forwarded message"
-#: ../mail/mail-tools.c:283
+#: ../mail/mail-tools.c:320
#, c-format
msgid "Invalid folder: `%s'"
msgstr "Invalid folder: `%s'"
@@ -13848,65 +13858,65 @@ msgstr "Edit vFolder"
msgid "New vFolder"
msgstr "New vFolder"
-#: ../mail/message-list.c:995
+#: ../mail/message-list.c:994
msgid "Unseen"
msgstr "Unseen"
-#: ../mail/message-list.c:996
+#: ../mail/message-list.c:995
msgid "Seen"
msgstr "Seen"
-#: ../mail/message-list.c:997
+#: ../mail/message-list.c:996
msgid "Answered"
msgstr "Answered"
-#: ../mail/message-list.c:998
+#: ../mail/message-list.c:997
msgid "Multiple Unseen Messages"
msgstr "Multiple Unseen Messages"
-#: ../mail/message-list.c:999
+#: ../mail/message-list.c:998
msgid "Multiple Messages"
msgstr "Multiple Messages"
-#: ../mail/message-list.c:1003
+#: ../mail/message-list.c:1002
msgid "Lowest"
msgstr "Lowest"
-#: ../mail/message-list.c:1004
+#: ../mail/message-list.c:1003
msgid "Lower"
msgstr "Lower"
-#: ../mail/message-list.c:1008
+#: ../mail/message-list.c:1007
msgid "Higher"
msgstr "Higher"
-#: ../mail/message-list.c:1009
+#: ../mail/message-list.c:1008
msgid "Highest"
msgstr "Highest"
-#: ../mail/message-list.c:1337
+#: ../mail/message-list.c:1336
msgid "?"
msgstr "?"
#. strftime format of a time,
#. in 12-hour format, without seconds.
-#: ../mail/message-list.c:1344 ../plugins/itip-formatter/itip-view.c:189
+#: ../mail/message-list.c:1343 ../plugins/itip-formatter/itip-view.c:189
msgid "Today %l:%M %p"
msgstr "Today %l:%M %p"
-#: ../mail/message-list.c:1353
+#: ../mail/message-list.c:1352
msgid "Yesterday %l:%M %p"
msgstr "Yesterday %l:%M %p"
-#: ../mail/message-list.c:1365
+#: ../mail/message-list.c:1364
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
-#: ../mail/message-list.c:1373
+#: ../mail/message-list.c:1372
msgid "%b %d %l:%M %p"
msgstr "%b %d %l:%M %p"
-#: ../mail/message-list.c:1375
+#: ../mail/message-list.c:1374
msgid "%b %d %Y"
msgstr "%d %b %Y"
@@ -13914,7 +13924,7 @@ msgstr "%d %b %Y"
msgid "Message List"
msgstr "Message List"
-#: ../mail/message-list.c:3386
+#: ../mail/message-list.c:3384
msgid "Generating message list"
msgstr "Generating message list"
@@ -14280,14 +14290,12 @@ msgstr ""
"iCalendar."
#: ../plugins/itip-formatter/itip-formatter.c:1008
-#: ../plugins/itip-formatter/itip-formatter.c:1023
-#: ../plugins/itip-formatter/itip-formatter.c:1078
+#: ../plugins/itip-formatter/itip-formatter.c:1064
msgid "The item in the calendar is not valid"
msgstr "The item in the calendar is not valid"
#: ../plugins/itip-formatter/itip-formatter.c:1009
-#: ../plugins/itip-formatter/itip-formatter.c:1024
-#: ../plugins/itip-formatter/itip-formatter.c:1079
+#: ../plugins/itip-formatter/itip-formatter.c:1065
msgid ""
"The message does contain a calendar, but the calendar contains no events, "
"tasks or free/busy information"
@@ -14295,11 +14303,11 @@ msgstr ""
"The message contains a calendar, but the calendar contains no events, tasks "
"or free/busy information"
-#: ../plugins/itip-formatter/itip-formatter.c:1034
+#: ../plugins/itip-formatter/itip-formatter.c:1020
msgid "The calendar attached contains multiple items"
msgstr "The calendar attached contains multiple items"
-#: ../plugins/itip-formatter/itip-formatter.c:1035
+#: ../plugins/itip-formatter/itip-formatter.c:1021
msgid ""
"To process all of these items, the file should be saved and the calendar "
"imported"
@@ -14307,22 +14315,22 @@ msgstr ""
"To process all of these items, the file should be saved and the calendar "
"imported"
-#: ../plugins/itip-formatter/itip-formatter.c:1672
+#: ../plugins/itip-formatter/itip-formatter.c:1658
msgid "Meetings and Tasks"
msgstr "Meetings and Tasks"
#. Delete message after acting
#. FIXME Need a schema for this
-#: ../plugins/itip-formatter/itip-formatter.c:1695
+#: ../plugins/itip-formatter/itip-formatter.c:1681
msgid "_Delete message after acting"
msgstr "_Delete message after acting"
-#: ../plugins/itip-formatter/itip-formatter.c:1705
+#: ../plugins/itip-formatter/itip-formatter.c:1691
msgid "<span weight=\"bold\">Conflict Search</span>"
msgstr "<span weight=\"bold\">Conflict Search</span>"
#. Source selector
-#: ../plugins/itip-formatter/itip-formatter.c:1718
+#: ../plugins/itip-formatter/itip-formatter.c:1704
msgid "Select the calendars to search for meeting conflicts"
msgstr "Select the calendars to search for meeting conflicts"
@@ -14930,7 +14938,7 @@ msgstr "Users"
msgid "Enter the users and set permissions"
msgstr "Enter the users and set permissions"
-#: ../plugins/shared-folder/share-folder-common.c:403
+#: ../plugins/shared-folder/share-folder-common.c:401
msgid "Sharing"
msgstr "Sharing"
@@ -17607,11 +17615,11 @@ msgstr ""
"zone.\n"
"Use the right mouse button to zoom out."
-#: ../widgets/menus/gal-view-menus.c:291
+#: ../widgets/menus/gal-view-menus.c:292
msgid "_Current View"
msgstr "_Current View"
-#: ../widgets/menus/gal-view-menus.c:359
+#: ../widgets/menus/gal-view-menus.c:360
msgid "Save Custom View..."
msgstr "Save Custom View..."
@@ -17900,43 +17908,43 @@ msgstr "Sync Categories:"
#. To translators: This is the accessibility name of
#. the search bar's text entry widget
-#: ../widgets/misc/e-search-bar.c:345
+#: ../widgets/misc/e-search-bar.c:343
msgid "Search Text Entry"
msgstr "Search Text Entry"
-#: ../widgets/misc/e-search-bar.c:549
+#: ../widgets/misc/e-search-bar.c:547
msgid "_Search"
msgstr "_Search"
-#: ../widgets/misc/e-search-bar.c:555
+#: ../widgets/misc/e-search-bar.c:553
msgid "_Find Now"
msgstr "_Find Now"
-#: ../widgets/misc/e-search-bar.c:556 ../widgets/misc/e-search-bar.c:943
+#: ../widgets/misc/e-search-bar.c:554 ../widgets/misc/e-search-bar.c:941
msgid "_Clear"
msgstr "_Clear"
-#: ../widgets/misc/e-search-bar.c:647
+#: ../widgets/misc/e-search-bar.c:645
msgid "Search Type"
msgstr "Search Type"
-#: ../widgets/misc/e-search-bar.c:851
+#: ../widgets/misc/e-search-bar.c:849
msgid "Item ID"
msgstr "Item ID"
-#: ../widgets/misc/e-search-bar.c:858
+#: ../widgets/misc/e-search-bar.c:856
msgid "Subitem ID"
msgstr "Subitem ID"
-#: ../widgets/misc/e-search-bar.c:865
+#: ../widgets/misc/e-search-bar.c:863
msgid "Text"
msgstr "Text"
-#: ../widgets/misc/e-search-bar.c:945
+#: ../widgets/misc/e-search-bar.c:943
msgid "Find _Now"
msgstr "Find _Now"
-#: ../widgets/misc/e-send-options.c:506
+#: ../widgets/misc/e-send-options.c:505
msgid "When de_leted:"
msgstr "When de_leted:"
diff --git a/po/en_GB.po b/po/en_GB.po
index 6f798d857d..ce19d46d92 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: evolution gnome-2.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-02-13 20:36+0000\n"
-"PO-Revision-Date: 2005-02-13 20:59+0100\n"
+"POT-Creation-Date: 2005-03-13 14:42+0000\n"
+"PO-Revision-Date: 2005-03-13 14:42+0100\n"
"Last-Translator: David Lodge <dave@cirt.net>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -16,636 +16,653 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-#: a11y/addressbook/ea-addressbook-view.c:94
-#: a11y/addressbook/ea-addressbook-view.c:103
-#: a11y/addressbook/ea-minicard-view.c:166
+#: ../a11y/addressbook/ea-addressbook-view.c:94
+#: ../a11y/addressbook/ea-addressbook-view.c:103
+#: ../a11y/addressbook/ea-minicard-view.c:166
msgid "evolution addressbook"
msgstr "evolution addressbook"
-#: a11y/addressbook/ea-minicard-view.c:34
-#: addressbook/gui/component/addressbook-component.c:182
+#: ../a11y/addressbook/ea-minicard-view.c:34
+#: ../addressbook/gui/component/addressbook-component.c:196
msgid "New Contact"
msgstr "New Contact"
-#: a11y/addressbook/ea-minicard-view.c:35
-#: addressbook/gui/component/addressbook-component.c:190
+#: ../a11y/addressbook/ea-minicard-view.c:35
+#: ../addressbook/gui/component/addressbook-component.c:204
msgid "New Contact List"
msgstr "New Contact List"
-#: a11y/addressbook/ea-minicard-view.c:149
+#: ../a11y/addressbook/ea-minicard-view.c:149
#, c-format
msgid "current addressbook folder has %d card"
msgid_plural "current addressbook folder has %d cards"
msgstr[0] "current addressbook folder has %d card"
msgstr[1] "current addressbook folder has %d cards"
-#: a11y/addressbook/ea-minicard.c:31
-#: calendar/gui/alarm-notify/alarm-queue.c:863
-#: ui/evolution-message-composer.xml.h:10
+#: ../a11y/addressbook/ea-minicard.c:31
+#: ../calendar/gui/alarm-notify/alarm-queue.c:878
+#: ../ui/evolution-message-composer.xml.h:10
msgid "Open"
msgstr "Open"
-#: a11y/addressbook/ea-minicard.c:138
+#: ../a11y/addressbook/ea-minicard.c:138
msgid "Contact List: "
msgstr "Contact List: "
-#: a11y/addressbook/ea-minicard.c:139
+#: ../a11y/addressbook/ea-minicard.c:139
msgid "Contact: "
msgstr "Contact: "
-#: a11y/addressbook/ea-minicard.c:165
+#: ../a11y/addressbook/ea-minicard.c:165
msgid "evolution minicard"
msgstr "evolution minicard"
-#: a11y/calendar/ea-cal-view-event.c:235
+#: ../a11y/calendar/ea-cal-view-event.c:235
msgid "It has alarms."
msgstr "It has alarms."
-#: a11y/calendar/ea-cal-view-event.c:238
+#: ../a11y/calendar/ea-cal-view-event.c:238
msgid "It has recurrences."
msgstr "It has recurrences."
-#: a11y/calendar/ea-cal-view-event.c:241
+#: ../a11y/calendar/ea-cal-view-event.c:241
msgid "It is a meeting."
msgstr "It is a meeting."
-#: a11y/calendar/ea-cal-view-event.c:247
+#: ../a11y/calendar/ea-cal-view-event.c:247
#, c-format
msgid "Calendar Event: Summary is %s."
msgstr "Calendar Event: Summary is %s."
-#: a11y/calendar/ea-cal-view-event.c:249
+#: ../a11y/calendar/ea-cal-view-event.c:249
msgid "Calendar Event: It has no summary."
msgstr "Calendar Event: It has no summary."
-#: a11y/calendar/ea-cal-view-event.c:268
+#: ../a11y/calendar/ea-cal-view-event.c:268
msgid "calendar view event"
msgstr "calendar view event"
-#: a11y/calendar/ea-cal-view-event.c:485
+#: ../a11y/calendar/ea-cal-view-event.c:485
msgid "Grab Focus"
msgstr "Grab Focus"
-#: a11y/calendar/ea-cal-view.c:306
+#: ../a11y/calendar/ea-cal-view.c:306
msgid "New Appointment"
msgstr "New Appointment"
-#: a11y/calendar/ea-cal-view.c:307
+#: ../a11y/calendar/ea-cal-view.c:307
msgid "New All Day Event"
msgstr "New All Day Event"
-#: a11y/calendar/ea-cal-view.c:308
-#: calendar/gui/e-calendar-view.c:1372
+#: ../a11y/calendar/ea-cal-view.c:308
+#: ../calendar/gui/e-calendar-view.c:1372
msgid "New Meeting"
msgstr "New Meeting"
-#: a11y/calendar/ea-cal-view.c:309
+#: ../a11y/calendar/ea-cal-view.c:309
msgid "Go to Today"
msgstr "Go to Today"
-#: a11y/calendar/ea-cal-view.c:310
+#: ../a11y/calendar/ea-cal-view.c:310
msgid "Go to Date"
msgstr "Go to Date"
-#: a11y/calendar/ea-day-view-main-item.c:299
-#: a11y/calendar/ea-week-view-main-item.c:301
+#: ../a11y/calendar/ea-day-view-main-item.c:299
+#: ../a11y/calendar/ea-week-view-main-item.c:301
msgid "a table to view and select the current time range"
msgstr "a table to view and select the current time range"
-#: a11y/calendar/ea-day-view.c:146
-#: a11y/calendar/ea-week-view.c:148
+#: ../a11y/calendar/ea-day-view.c:146
+#: ../a11y/calendar/ea-week-view.c:148
#, c-format
msgid "It has %d event."
msgid_plural "It has %d events."
msgstr[0] "It has %d event."
msgstr[1] "It has %d events."
-#: a11y/calendar/ea-day-view.c:148
-#: a11y/calendar/ea-week-view.c:150
+#: ../a11y/calendar/ea-day-view.c:148
+#: ../a11y/calendar/ea-week-view.c:150
msgid "It has no events."
msgstr "It has no events."
-#: a11y/calendar/ea-day-view.c:152
+#: ../a11y/calendar/ea-day-view.c:152
#, c-format
msgid "Work Week View: %s. %s"
msgstr "Work Week View: %s. %s"
-#: a11y/calendar/ea-day-view.c:155
+#: ../a11y/calendar/ea-day-view.c:155
#, c-format
msgid "Day View: %s. %s"
msgstr "Day View: %s. %s"
-#: a11y/calendar/ea-day-view.c:186
+#: ../a11y/calendar/ea-day-view.c:186
msgid "calendar view for a work week"
msgstr "calendar view for a work week"
-#: a11y/calendar/ea-day-view.c:188
+#: ../a11y/calendar/ea-day-view.c:188
msgid "calendar view for one or more days"
msgstr "calendar view for one or more days"
-#: a11y/calendar/ea-gnome-calendar.c:187
-#: calendar/gui/calendar-component.c:520
+#: ../a11y/calendar/ea-gnome-calendar.c:187
+#: ../calendar/gui/calendar-component.c:660
msgid "%A %d %b %Y"
msgstr "%A %d %b %Y"
#. strftime format %a = abbreviated weekday name, %d = day of month,
-#: a11y/calendar/ea-gnome-calendar.c:190
-#: calendar/gui/calendar-component.c:523
-#: calendar/gui/e-day-view-top-item.c:719
-#: calendar/gui/e-day-view.c:1511
-#: calendar/gui/e-week-view-main-item.c:321
+#. strftime format %a = abbreviated weekday name,
+#. You can change the order but don't change the
+#: ../a11y/calendar/ea-gnome-calendar.c:190
+#: ../calendar/gui/calendar-component.c:663
+#: ../calendar/gui/e-day-view-top-item.c:719
+#: ../calendar/gui/e-day-view.c:1511
+#: ../calendar/gui/e-week-view-main-item.c:321
msgid "%a %d %b"
msgstr "%a %d %b"
-#: a11y/calendar/ea-gnome-calendar.c:192
-#: a11y/calendar/ea-gnome-calendar.c:197
-#: a11y/calendar/ea-gnome-calendar.c:199
-#: calendar/gui/calendar-component.c:525
-#: calendar/gui/calendar-component.c:530
-#: calendar/gui/calendar-component.c:532
+#: ../a11y/calendar/ea-gnome-calendar.c:192
+#: ../a11y/calendar/ea-gnome-calendar.c:197
+#: ../a11y/calendar/ea-gnome-calendar.c:199
+#: ../calendar/gui/calendar-component.c:665
+#: ../calendar/gui/calendar-component.c:670
+#: ../calendar/gui/calendar-component.c:672
msgid "%a %d %b %Y"
msgstr "%a %d %b %Y"
-#: a11y/calendar/ea-gnome-calendar.c:216
-#: a11y/calendar/ea-gnome-calendar.c:222
-#: a11y/calendar/ea-gnome-calendar.c:228
-#: a11y/calendar/ea-gnome-calendar.c:230
-#: calendar/gui/calendar-component.c:544
-#: calendar/gui/calendar-component.c:551
-#: calendar/gui/calendar-component.c:557
-#: calendar/gui/calendar-component.c:559
+#: ../a11y/calendar/ea-gnome-calendar.c:216
+#: ../a11y/calendar/ea-gnome-calendar.c:222
+#: ../a11y/calendar/ea-gnome-calendar.c:228
+#: ../a11y/calendar/ea-gnome-calendar.c:230
+#: ../calendar/gui/calendar-component.c:684
+#: ../calendar/gui/calendar-component.c:691
+#: ../calendar/gui/calendar-component.c:697
+#: ../calendar/gui/calendar-component.c:699
msgid "%d %b %Y"
msgstr "%d %b %Y"
#. strftime format %d = day of month, %b = abbreviated month name.
-#: a11y/calendar/ea-gnome-calendar.c:220
-#: calendar/gui/calendar-component.c:549
-#: calendar/gui/e-day-view-top-item.c:723
-#: calendar/gui/e-day-view.c:1527
-#: calendar/gui/e-week-view-main-item.c:335
+#. strftime format %d = day of month, %b = abbreviated
+#. change the specifiers or add anything.
+#: ../a11y/calendar/ea-gnome-calendar.c:220
+#: ../calendar/gui/calendar-component.c:689
+#: ../calendar/gui/e-day-view-top-item.c:723
+#: ../calendar/gui/e-day-view.c:1527
+#: ../calendar/gui/e-week-view-main-item.c:335
msgid "%d %b"
msgstr "%d %b"
-#: a11y/calendar/ea-gnome-calendar.c:247
-#: a11y/calendar/ea-gnome-calendar.c:255
-#: calendar/importers/icalendar-importer.c:726
+#: ../a11y/calendar/ea-gnome-calendar.c:247
+#: ../a11y/calendar/ea-gnome-calendar.c:255
+#: ../calendar/importers/icalendar-importer.c:726
msgid "Gnome Calendar"
msgstr "Gnome Calendar"
-#: a11y/calendar/ea-gnome-calendar.c:290
+#: ../a11y/calendar/ea-gnome-calendar.c:290
msgid "search bar"
msgstr "search bar"
-#: a11y/calendar/ea-gnome-calendar.c:291
+#: ../a11y/calendar/ea-gnome-calendar.c:291
msgid "evolution calendar search bar"
msgstr "evolution calendar search bar"
-#: a11y/calendar/ea-jump-button.c:149
+#: ../a11y/calendar/ea-jump-button.c:149
msgid "Jump button"
msgstr "Jump button"
-#: a11y/calendar/ea-jump-button.c:158
+#: ../a11y/calendar/ea-jump-button.c:158
msgid "Click here, you can find more events."
msgstr "Click here, you can find more events."
-#: a11y/calendar/ea-week-view.c:155
+#: ../a11y/calendar/ea-week-view.c:155
#, c-format
msgid "Month View: %s. %s"
msgstr "Month View: %s. %s"
-#: a11y/calendar/ea-week-view.c:159
+#: ../a11y/calendar/ea-week-view.c:159
#, c-format
msgid "Week View: %s. %s"
msgstr "Week View: %s. %s"
-#: a11y/calendar/ea-week-view.c:190
+#: ../a11y/calendar/ea-week-view.c:190
msgid "calendar view for a month"
msgstr "calendar view for a month"
-#: a11y/calendar/ea-week-view.c:192
+#: ../a11y/calendar/ea-week-view.c:192
msgid "calendar view for one or more weeks"
msgstr "calendar view for one or more weeks"
-#: a11y/widgets/ea-calendar-item.c:290
-#: a11y/widgets/ea-calendar-item.c:296
+#: ../a11y/widgets/ea-calendar-item.c:296
+#: ../a11y/widgets/ea-calendar-item.c:302
msgid "%d %B %Y"
msgstr "%d %B %Y"
-#: a11y/widgets/ea-calendar-item.c:298
+#: ../a11y/widgets/ea-calendar-item.c:304
#, c-format
msgid "Calendar: from %s to %s"
msgstr "Calendar: from %s to %s"
-#: a11y/widgets/ea-calendar-item.c:333
+#: ../a11y/widgets/ea-calendar-item.c:339
msgid "evolution calendar item"
msgstr "evolution calendar item"
-#: a11y/widgets/ea-combo-button.c:40
+#: ../a11y/widgets/ea-combo-button.c:40
msgid "Combo Button"
msgstr "Combo Button"
-#: a11y/widgets/ea-combo-button.c:50
+#: ../a11y/widgets/ea-combo-button.c:50
msgid "Activate Default"
msgstr "Activate Default"
-#: a11y/widgets/ea-combo-button.c:52
+#: ../a11y/widgets/ea-combo-button.c:52
msgid "Popup Menu"
msgstr "Popup Menu"
#. addressbook:ldap-init primary
-#: addressbook/addressbook-errors.xml.h:2
+#: ../addressbook/addressbook-errors.xml.h:2
msgid "This addressbook could not be opened."
msgstr "This addressbook could not be opened."
#. addressbook:ldap-init secondary
-#: addressbook/addressbook-errors.xml.h:4
+#: ../addressbook/addressbook-errors.xml.h:4
msgid "This addressbook server might be unreachable or the server name may be misspelled or your network connection could be down."
msgstr "This addressbook server might be unreachable or the server name may be misspelt or your network connection could be down."
#. addressbook:ldap-auth primary
-#: addressbook/addressbook-errors.xml.h:6
+#: ../addressbook/addressbook-errors.xml.h:6
msgid "Failed to authenticate with LDAP server."
msgstr "Failed to authenticate with LDAP server."
#. addressbook:ldap-auth secondary
-#: addressbook/addressbook-errors.xml.h:8
+#: ../addressbook/addressbook-errors.xml.h:8
msgid "Check to make sure your password is spelled correctly and that you are using a supported login method. Remember that many passwords are case sensitive; your caps lock might be on."
msgstr "Check to make sure your password is spelled correctly and that you are using a supported login method. Remember that many passwords are case sensitive; your caps lock might be on."
#. addressbook:ldap-search-base primary
-#: addressbook/addressbook-errors.xml.h:10
+#: ../addressbook/addressbook-errors.xml.h:10
msgid "This addressbook server does not have any suggested search bases."
msgstr "This addressbook server does not have any suggested search bases."
# addressbook:ldap-search-base secondary
#. addressbook:ldap-search-base secondary
-#: addressbook/addressbook-errors.xml.h:12
+#: ../addressbook/addressbook-errors.xml.h:12
msgid "This LDAP server may use an older version of LDAP, which does not support this functionality or it may be misconfigured. Ask your administrator for supported search bases."
msgstr "This LDAP server may use an older version of LDAP, which does not support this functionality or it may be misconfigured. Ask your administrator for supported search bases."
#. addressbook:ldap-v3-schema primary
-#: addressbook/addressbook-errors.xml.h:14
+#: ../addressbook/addressbook-errors.xml.h:14
msgid "This server does not support LDAPv3 schema information."
msgstr "This server does not support LDAPv3 schema information."
#. addressbook:ldap-get-schema primary
-#: addressbook/addressbook-errors.xml.h:16
+#: ../addressbook/addressbook-errors.xml.h:16
msgid "Could not get schema information for LDAP server."
msgstr "Could not get schema information for LDAP server."
#. addressbook:ldap-invalid-schema primary
-#: addressbook/addressbook-errors.xml.h:18
+#: ../addressbook/addressbook-errors.xml.h:18
msgid "LDAP server did not respond with valid schema information."
msgstr "LDAP server did not respond with valid schema information."
#. addressbook:remove-addressbook primary
-#: addressbook/addressbook-errors.xml.h:20
+#: ../addressbook/addressbook-errors.xml.h:20
msgid "Could not remove addressbook."
msgstr "Could not remove addressbook."
#. addressbook:ask-delete-addressbook primary
-#: addressbook/addressbook-errors.xml.h:22
+#: ../addressbook/addressbook-errors.xml.h:22
msgid "Delete address book '{0}'?"
msgstr "Delete address book '{0}'?"
#. addressbook:ask-delete-addressbook secondary
-#: addressbook/addressbook-errors.xml.h:24
+#: ../addressbook/addressbook-errors.xml.h:24
msgid "This address book will be removed permanently."
msgstr "This address book will be removed permanently."
#. addressbook:edit-categories primary
-#: addressbook/addressbook-errors.xml.h:26
+#: ../addressbook/addressbook-errors.xml.h:26
msgid "Category editor not available."
msgstr "Category editor not available."
#. addressbook:generic-error primary
-#: addressbook/addressbook-errors.xml.h:28
-#: addressbook/addressbook-errors.xml.h:36
-#: addressbook/addressbook-errors.xml.h:40
-#: mail/mail-errors.xml.h:75
-#: mail/mail-errors.xml.h:77
-#: mail/mail-errors.xml.h:79
-#: mail/mail-errors.xml.h:81
-#: mail/mail-errors.xml.h:83
-#: mail/mail-errors.xml.h:85
-#: mail/mail-errors.xml.h:89
-#: mail/mail-errors.xml.h:93
+#. addressbook:search-error secondary
+#. mail:session-message-info-cancel secondary
+#. mail:session-message-warning-cancel secondary
+#. mail:session-message-error-cancel secondary
+#. mail:filter-load-error secondary
+#: ../addressbook/addressbook-errors.xml.h:28
+#: ../addressbook/addressbook-errors.xml.h:36
+#: ../addressbook/addressbook-errors.xml.h:40
+#: ../mail/mail-errors.xml.h:75
+#: ../mail/mail-errors.xml.h:77
+#: ../mail/mail-errors.xml.h:79
+#: ../mail/mail-errors.xml.h:81
+#: ../mail/mail-errors.xml.h:83
+#: ../mail/mail-errors.xml.h:85
+#: ../mail/mail-errors.xml.h:89
+#: ../mail/mail-errors.xml.h:93
msgid "{0}"
msgstr "{0}"
#. addressbook:generic-error secondary
-#: addressbook/addressbook-errors.xml.h:30
-#: composer/mail-composer-errors.xml.h:4
-#: mail/mail-errors.xml.h:97
+#. mail:no-save-path secondary
+#: ../addressbook/addressbook-errors.xml.h:30
+#: ../composer/mail-composer-errors.xml.h:4
+#: ../mail/mail-errors.xml.h:97
msgid "{1}"
msgstr "{1}"
#. addressbook:load-error title
-#: addressbook/addressbook-errors.xml.h:32
+#: ../addressbook/addressbook-errors.xml.h:32
msgid "Unable to open addressbook"
msgstr "Unable to open addressbook"
#. addressbook:load-error primary
-#: addressbook/addressbook-errors.xml.h:34
+#: ../addressbook/addressbook-errors.xml.h:34
msgid "Error loading addressbook."
msgstr "Error loading addressbook."
#. addressbook:search-error primary
-#: addressbook/addressbook-errors.xml.h:38
+#: ../addressbook/addressbook-errors.xml.h:38
msgid "Unable to perform search."
msgstr "Unable to perform search."
#. addressbook:prompt-save primary
-#: addressbook/addressbook-errors.xml.h:42
+#: ../addressbook/addressbook-errors.xml.h:42
msgid "Would you like to save your changes?"
msgstr "Would you like to save your changes?"
#. addressbook:prompt-save secondary
-#: addressbook/addressbook-errors.xml.h:44
+#: ../addressbook/addressbook-errors.xml.h:44
msgid "You have made modifications to this contact. Do you want to save these changes?"
msgstr "You have made modifications to this contact. Do you want to save these changes?"
-#: addressbook/addressbook-errors.xml.h:45
+#: ../addressbook/addressbook-errors.xml.h:45
msgid "_Discard"
msgstr "_Discard"
#. addressbook:prompt-move primary
-#: addressbook/addressbook-errors.xml.h:47
+#: ../addressbook/addressbook-errors.xml.h:47
msgid "Cannot move contact."
msgstr "Cannot move contact."
#. addressbook:prompt-move secondary
-#: addressbook/addressbook-errors.xml.h:49
+#: ../addressbook/addressbook-errors.xml.h:49
msgid "You are attempting to move a contact from one addressbook to another but it cannot be removed from the source. Do you want to save a copy instead?"
msgstr "You are attempting to move a contact from one addressbook to another but it cannot be removed from the source. Do you want to save a copy instead?"
#. addressbook:save-error primary
-#: addressbook/addressbook-errors.xml.h:51
+#: ../addressbook/addressbook-errors.xml.h:51
msgid "Unable to save contact(s)."
msgstr "Unable to save contact(s)."
#. addressbook:save-error secondary
-#: addressbook/addressbook-errors.xml.h:53
+#: ../addressbook/addressbook-errors.xml.h:53
msgid "Error saving contacts to {0}: {1}"
msgstr "Error saving contacts to {0}: {1}"
#. addressbook:backend-died primary
-#: addressbook/addressbook-errors.xml.h:55
+#: ../addressbook/addressbook-errors.xml.h:55
msgid "The Evolution addressbook has quit unexpectedly."
msgstr "The Evolution addressbook has quit unexpectedly."
#. addressbook:backend-died secondary
-#: addressbook/addressbook-errors.xml.h:57
+#: ../addressbook/addressbook-errors.xml.h:57
msgid "Your contacts for {0} will not be available until Evolution is restarted."
msgstr "Your contacts for {0} will not be available until Evolution is restarted."
#. addressbook:ask-list-add-exists primary
-#: addressbook/addressbook-errors.xml.h:59
+#: ../addressbook/addressbook-errors.xml.h:59
msgid "Address '{0}' already exists."
msgstr "Address '{0}' already exists."
#. addressbook:ask-list-add-exists secondary
-#: addressbook/addressbook-errors.xml.h:61
+#: ../addressbook/addressbook-errors.xml.h:61
msgid "A contact already exists with this address. Would you like to add a new card with the same address anyway?"
msgstr "A contact already exists with this address. Would you like to add a new card with the same address anyway?"
-#: addressbook/addressbook-errors.xml.h:62
-#: mail/em-vfolder-rule.c:494
-#: plugins/shared-folder/properties.glade.h:10
+#: ../addressbook/addressbook-errors.xml.h:62
+#: ../mail/em-vfolder-rule.c:494
+#: ../plugins/shared-folder/properties.glade.h:10
msgid "_Add"
msgstr "_Add"
#. addressbook:server-version title
-#: addressbook/addressbook-errors.xml.h:64
-#: calendar/calendar-errors.xml.h:142
+#: ../addressbook/addressbook-errors.xml.h:64
+#: ../calendar/calendar-errors.xml.h:142
msgid "Server Version"
msgstr "Server Version"
#. addressbook:server-version primary
-#: addressbook/addressbook-errors.xml.h:66
-#: calendar/calendar-errors.xml.h:144
+#: ../addressbook/addressbook-errors.xml.h:66
+#: ../calendar/calendar-errors.xml.h:144
msgid "Your server needs to be updated"
msgstr "Your server needs to be updated"
#. addressbook:server-version secondary
-#: addressbook/addressbook-errors.xml.h:68
+#: ../addressbook/addressbook-errors.xml.h:68
msgid "Some features may not work correctly with your current server version"
msgstr "Some features may not work correctly with your current server version"
-#: addressbook/conduit/address-conduit.c:298
+#: ../addressbook/conduit/address-conduit.c:298
msgid "Default Sync Address:"
msgstr "Default Sync Address:"
-#: addressbook/conduit/address-conduit.c:1183
-#: addressbook/conduit/address-conduit.c:1184
+#: ../addressbook/conduit/address-conduit.c:1183
+#: ../addressbook/conduit/address-conduit.c:1184
msgid "Could not load addressbook"
msgstr "Could not load addressbook"
-#: addressbook/conduit/address-conduit.c:1252
-#: addressbook/conduit/address-conduit.c:1255
+#: ../addressbook/conduit/address-conduit.c:1252
+#: ../addressbook/conduit/address-conduit.c:1255
msgid "Could not read pilot's Address application block"
msgstr "Could not read pilot's Address application block"
-#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:1
+#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:1
msgid "Autocompletion"
msgstr "Autocompletion"
-#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:2
+#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:2
msgid "C_ontacts"
msgstr "C_ontacts"
-#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:3
+#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:3
msgid "Certificates"
msgstr "Certificates"
-#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:4
+#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:4
msgid "Configure autocomplete here"
msgstr "Configure autocomplete here"
#. Create the contacts group
-#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:5
-#: addressbook/gui/component/addressbook-view.c:1119
-#: calendar/gui/migration.c:378
+#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:5
+#: ../addressbook/gui/component/addressbook-view.c:1119
+#: ../calendar/gui/calendar-component.c:235
+#: ../calendar/gui/migration.c:385
msgid "Contacts"
msgstr "Contacts"
-#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:6
+#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:6
msgid "Evolution Addressbook"
msgstr "Evolution Addressbook"
-#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:7
+#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:7
msgid "Evolution Addressbook address pop-up"
msgstr "Evolution Addressbook address pop-up"
-#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:8
+#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:8
msgid "Evolution Addressbook address viewer"
msgstr "Evolution Addressbook address viewer"
-#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:9
+#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:9
msgid "Evolution Addressbook card viewer"
msgstr "Evolution Addressbook card viewer"
-#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:10
+#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:10
msgid "Evolution Addressbook component"
msgstr "Evolution Addressbook component"
-#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:11
+#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:11
msgid "Evolution S/Mime Certificate Management Control"
msgstr "Evolution S/Mime Certificate Management Control"
-#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:12
+#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:12
msgid "Evolution folder settings configuration control"
msgstr "Evolution folder settings configuration control"
-#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:13
+#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:13
msgid "Manage your S/MIME certificates here"
msgstr "Manage your S/MIME certificates here"
#. create the local source group
-#: addressbook/gui/component/addressbook-component.c:120
-#: addressbook/gui/component/addressbook-migrate.c:493
-#: calendar/gui/migration.c:452
-#: calendar/gui/migration.c:545
-#: mail/em-folder-tree-model.c:197
-#: mail/em-folder-tree-model.c:199
-#: mail/mail-component.c:270
-#: mail/mail-vfolder.c:222
+#: ../addressbook/gui/component/addressbook-component.c:133
+#: ../addressbook/gui/component/addressbook-migrate.c:493
+#: ../calendar/gui/calendar-component.c:208
+#: ../calendar/gui/migration.c:459
+#: ../calendar/gui/migration.c:552
+#: ../calendar/gui/tasks-component.c:188
+#: ../mail/em-folder-tree-model.c:197
+#: ../mail/em-folder-tree-model.c:199
+#: ../mail/mail-component.c:290
+#: ../mail/mail-vfolder.c:222
msgid "On This Computer"
msgstr "On This Computer"
#. Create the default Person addressbook
-#: addressbook/gui/component/addressbook-component.c:128
-#: addressbook/gui/component/addressbook-migrate.c:501
-#: addressbook/gui/contact-editor/contact-editor.glade.h:20
-#: calendar/gui/migration.c:460
-#: calendar/gui/migration.c:553
-#: filter/filter-label.c:123
-#: mail/em-migrate.c:1013
-#: mail/mail-config.c:77
-#: mail/mail-config.glade.h:101
+#. Create the default Person task list
+#. orange
+#: ../addressbook/gui/component/addressbook-component.c:141
+#: ../addressbook/gui/component/addressbook-migrate.c:501
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:20
+#: ../calendar/gui/calendar-component.c:216
+#: ../calendar/gui/migration.c:467
+#: ../calendar/gui/migration.c:560
+#: ../calendar/gui/tasks-component.c:196
+#: ../filter/filter-label.c:123
+#: ../mail/em-migrate.c:1043
+#: ../mail/mail-config.c:78
+#: ../mail/mail-config.glade.h:101
msgid "Personal"
msgstr "Personal"
#. Create the LDAP source group
-#: addressbook/gui/component/addressbook-component.c:136
-#: addressbook/gui/component/addressbook-migrate.c:509
+#: ../addressbook/gui/component/addressbook-component.c:149
+#: ../addressbook/gui/component/addressbook-migrate.c:509
msgid "On LDAP Servers"
msgstr "On LDAP Servers"
-#: addressbook/gui/component/addressbook-component.c:183
+#: ../addressbook/gui/component/addressbook-component.c:197
msgid "_Contact"
msgstr "_Contact"
-#: addressbook/gui/component/addressbook-component.c:184
+#: ../addressbook/gui/component/addressbook-component.c:198
msgid "Create a new contact"
msgstr "Create a new contact"
-#: addressbook/gui/component/addressbook-component.c:191
+#: ../addressbook/gui/component/addressbook-component.c:205
msgid "Contact _List"
msgstr "Contact _List"
-#: addressbook/gui/component/addressbook-component.c:192
+#: ../addressbook/gui/component/addressbook-component.c:206
msgid "Create a new contact list"
msgstr "Create a new contact list"
-#: addressbook/gui/component/addressbook-component.c:198
-#: addressbook/gui/component/addressbook-config.c:1121
-#: addressbook/gui/component/addressbook-view.c:757
+#: ../addressbook/gui/component/addressbook-component.c:212
+#: ../addressbook/gui/component/addressbook-config.c:1120
+#: ../addressbook/gui/component/addressbook-view.c:757
msgid "New Address Book"
msgstr "New Address Book"
-#: addressbook/gui/component/addressbook-component.c:199
+#: ../addressbook/gui/component/addressbook-component.c:213
msgid "Address _Book"
msgstr "Address _Book"
-#: addressbook/gui/component/addressbook-component.c:200
+#: ../addressbook/gui/component/addressbook-component.c:214
msgid "Create a new address book"
msgstr "Create a new address book"
-#: addressbook/gui/component/addressbook-component.c:273
+#: ../addressbook/gui/component/addressbook-component.c:287
msgid "Failed upgrading Addressbook settings or folders."
msgstr "Failed upgrading Addressbook settings or folders."
-#: addressbook/gui/component/addressbook-config.c:315
+#: ../addressbook/gui/component/addressbook-config.c:315
msgid "Base"
msgstr "Base"
-#: addressbook/gui/component/addressbook-config.c:510
-#: calendar/gui/dialogs/calendar-setup.c:191
-#: calendar/gui/dialogs/calendar-setup.glade.h:10
+#: ../addressbook/gui/component/addressbook-config.c:510
+#: ../calendar/gui/dialogs/calendar-setup.c:191
+#: ../calendar/gui/dialogs/calendar-setup.glade.h:10
msgid "_Type:"
msgstr "_Type:"
-#: addressbook/gui/component/addressbook-config.c:609
+#: ../addressbook/gui/component/addressbook-config.c:609
msgid "Copy book content locally for offline operation"
msgstr "Copy book content locally for offline operation"
-#: addressbook/gui/component/addressbook-config.c:904
-#: addressbook/gui/component/ldap-config.glade.h:23
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:25
-#: calendar/gui/dialogs/calendar-setup.c:361
-#: calendar/gui/dialogs/calendar-setup.c:372
-#: mail/em-folder-properties.c:215
-#: mail/mail-config.glade.h:84
-#: smime/gui/smime-ui.glade.h:27
+#: ../addressbook/gui/component/addressbook-config.c:904
+#: ../addressbook/gui/component/ldap-config.glade.h:23
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:25
+#: ../calendar/gui/dialogs/calendar-setup.c:361
+#: ../calendar/gui/dialogs/calendar-setup.c:372
+#: ../mail/em-folder-properties.c:215
+#: ../mail/mail-config.glade.h:84
+#: ../smime/gui/smime-ui.glade.h:27
msgid "General"
msgstr "General"
-#: addressbook/gui/component/addressbook-config.c:905
-#: mail/importers/pine-importer.c:479
+#: ../addressbook/gui/component/addressbook-config.c:905
+#: ../mail/importers/pine-importer.c:479
msgid "Addressbook"
msgstr "Addressbook"
-#: addressbook/gui/component/addressbook-config.c:909
+#: ../addressbook/gui/component/addressbook-config.c:909
msgid "Server Information"
msgstr "Server Information"
-#: addressbook/gui/component/addressbook-config.c:911
+#: ../addressbook/gui/component/addressbook-config.c:911
msgid "Authentication"
msgstr "Authentication"
-#: addressbook/gui/component/addressbook-config.c:914
-#: addressbook/gui/component/ldap-config.glade.h:18
-#: mail/mail-dialogs.glade.h:12
-#: smime/gui/smime-ui.glade.h:19
+#: ../addressbook/gui/component/addressbook-config.c:914
+#: ../addressbook/gui/component/ldap-config.glade.h:18
+#: ../mail/mail-dialogs.glade.h:12
+#: ../smime/gui/smime-ui.glade.h:19
msgid "Details"
msgstr "Details"
-#: addressbook/gui/component/addressbook-config.c:915
+#: ../addressbook/gui/component/addressbook-config.c:915
msgid "Searching"
msgstr "Searching"
-#: addressbook/gui/component/addressbook-config.c:917
+#: ../addressbook/gui/component/addressbook-config.c:917
msgid "Downloading"
msgstr "Downloading"
-#: addressbook/gui/component/addressbook-config.c:1119
-#: addressbook/gui/component/ldap-config.glade.h:14
+#: ../addressbook/gui/component/addressbook-config.c:1118
+#: ../addressbook/gui/component/ldap-config.glade.h:14
msgid "Address Book Properties"
msgstr "Address Book Properties"
-#: addressbook/gui/component/addressbook-migrate.c:72
-#: calendar/gui/migration.c:142
-#: mail/em-migrate.c:1160
+#: ../addressbook/gui/component/addressbook-migrate.c:72
+#: ../calendar/gui/migration.c:142
+#: ../mail/em-migrate.c:1190
msgid "Migrating..."
msgstr "Migrating..."
-#: addressbook/gui/component/addressbook-migrate.c:124
-#: calendar/gui/migration.c:189
-#: mail/em-migrate.c:1201
+#: ../addressbook/gui/component/addressbook-migrate.c:124
+#: ../calendar/gui/migration.c:189
+#: ../mail/em-migrate.c:1231
#, c-format
msgid "Migrating `%s':"
msgstr "Migrating `%s':"
-#: addressbook/gui/component/addressbook-migrate.c:637
+#: ../addressbook/gui/component/addressbook-migrate.c:637
msgid "LDAP Servers"
msgstr "LDAP Servers"
-#: addressbook/gui/component/addressbook-migrate.c:752
+#: ../addressbook/gui/component/addressbook-migrate.c:752
msgid "Autocompletion Settings"
msgstr "Autocompletion Settings"
-#: addressbook/gui/component/addressbook-migrate.c:1123
+#: ../addressbook/gui/component/addressbook-migrate.c:1123
msgid ""
"The location and hierarchy of the Evolution contact folders has changed since Evolution 1.x.\n"
"\n"
@@ -655,7 +672,7 @@ msgstr ""
"\n"
"Please be patient while Evolution migrates your folders..."
-#: addressbook/gui/component/addressbook-migrate.c:1137
+#: ../addressbook/gui/component/addressbook-migrate.c:1137
msgid ""
"The format of mailing list contacts has changed.\n"
"\n"
@@ -665,7 +682,7 @@ msgstr ""
"\n"
"Please be patient while Evolution migrates your folders..."
-#: addressbook/gui/component/addressbook-migrate.c:1146
+#: ../addressbook/gui/component/addressbook-migrate.c:1146
msgid ""
"The way Evolution stores some phone numbers has changed.\n"
"\n"
@@ -675,7 +692,7 @@ msgstr ""
"\n"
"Please be patient while Evolution migrates your folders..."
-#: addressbook/gui/component/addressbook-migrate.c:1156
+#: ../addressbook/gui/component/addressbook-migrate.c:1156
msgid ""
"Evolution's Palm Sync changelog and map files have changed.\n"
"\n"
@@ -685,1616 +702,1616 @@ msgstr ""
"\n"
"Please be patient while Evolution migrates your Pilot Sync data..."
-#: addressbook/gui/component/addressbook-view.c:758
-#: addressbook/gui/widgets/e-addressbook-view.c:935
-#: calendar/gui/calendar-component.c:386
-#: calendar/gui/tasks-component.c:330
-#: mail/em-filter-i18n.h:11
-#: ui/evolution-addressbook.xml.h:8
-#: ui/evolution-calendar.xml.h:5
-#: ui/evolution-mail-message.xml.h:24
-#: ui/evolution-tasks.xml.h:6
+#: ../addressbook/gui/component/addressbook-view.c:758
+#: ../addressbook/gui/widgets/e-addressbook-view.c:935
+#: ../calendar/gui/calendar-component.c:526
+#: ../calendar/gui/tasks-component.c:430
+#: ../mail/em-filter-i18n.h:11
+#: ../ui/evolution-addressbook.xml.h:8
+#: ../ui/evolution-calendar.xml.h:5
+#: ../ui/evolution-mail-message.xml.h:24
+#: ../ui/evolution-tasks.xml.h:6
msgid "Delete"
msgstr "Delete"
-#: addressbook/gui/component/addressbook-view.c:760
-#: calendar/gui/calendar-component.c:387
-#: calendar/gui/tasks-component.c:331
+#: ../addressbook/gui/component/addressbook-view.c:760
+#: ../calendar/gui/calendar-component.c:527
+#: ../calendar/gui/tasks-component.c:431
msgid "Properties..."
msgstr "Properties..."
-#: addressbook/gui/component/addressbook-view.c:1130
+#: ../addressbook/gui/component/addressbook-view.c:1130
msgid "Contact Source Selector"
msgstr "Contact Source Selector"
-#: addressbook/gui/component/addressbook.c:98
+#: ../addressbook/gui/component/addressbook.c:98
msgid "Accessing LDAP Server anonymously"
msgstr "Accessing LDAP Server anonymously"
-#: addressbook/gui/component/addressbook.c:193
-#: plugins/groupwise-account-setup/camel-gw-listener.c:478
+#: ../addressbook/gui/component/addressbook.c:193
+#: ../plugins/groupwise-account-setup/camel-gw-listener.c:478
msgid "Failed to authenticate.\n"
msgstr "Failed to authenticate.\n"
-#: addressbook/gui/component/addressbook.c:200
-#: plugins/groupwise-account-setup/camel-gw-listener.c:461
+#: ../addressbook/gui/component/addressbook.c:200
+#: ../plugins/groupwise-account-setup/camel-gw-listener.c:461
#, c-format
msgid "Enter password for %s (user %s)"
msgstr "Enter password for %s (user %s)"
-#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:1
+#: ../addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:1
msgid "Autocomplete length"
msgstr "Autocomplete length"
-#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:2
+#: ../addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:2
msgid "EFolderList XML for the list of completion URIs"
msgstr "EFolderList XML for the list of completion URIs"
-#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:3
+#: ../addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:3
msgid "EFolderList XML for the list of completion URIs."
msgstr "EFolderList XML for the list of completion URIs."
-#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:4
+#: ../addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:4
msgid "Position of the vertical pane, between the card and list views and the preview pane, in pixels."
msgstr "Position of the vertical pane, between the card and list views and the preview pane, in pixels."
-#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:5
+#: ../addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:5
msgid "Show preview pane"
msgstr "Show preview pane"
-#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:6
+#: ../addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:6
msgid "The number of characters that must be typed before Evolution will attempt to autocomplete."
msgstr "The number of characters that must be typed before Evolution will attempt to autocomplete."
-#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:7
+#: ../addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:7
msgid "URI for the folder last used in the select names dialog"
msgstr "URI for the folder last used in the select names dialogue"
-#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:8
+#: ../addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:8
msgid "URI for the folder last used in the select names dialog."
msgstr "URI for the folder last used in the select names dialogue."
-#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:9
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:49
+#: ../addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:9
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:49
msgid "Vertical pane position"
msgstr "Vertical pane position"
-#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:10
+#: ../addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:10
msgid "Whether to show the preview pane."
msgstr "Whether to show the preview pane."
-#: addressbook/gui/component/ldap-config.glade.h:1
-#: addressbook/gui/contact-editor/contact-editor.glade.h:1
-#: addressbook/gui/contact-editor/fulladdr.glade.h:1
-#: addressbook/gui/contact-editor/fullname.glade.h:1
-#: addressbook/gui/contact-editor/im.glade.h:1
-#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:3
-#: calendar/gui/dialogs/cal-attachment.glade.h:1
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:1
-#: calendar/gui/dialogs/calendar-setup.glade.h:1
-#: calendar/gui/dialogs/event-page.glade.h:1
-#: calendar/gui/dialogs/meeting-page.glade.h:1
-#: calendar/gui/dialogs/new-calendar.glade.h:1
-#: calendar/gui/dialogs/new-task-list.glade.h:1
-#: calendar/gui/dialogs/url-editor-dialog.glade.h:1
-#: composer/e-msg-composer-attachment.glade.h:1
-#: mail/mail-dialogs.glade.h:6
-#: mail/message-tags.glade.h:1
-#: plugins/shared-folder/properties.glade.h:1
-#: widgets/e-timezone-dialog/e-timezone-dialog.glade.h:1
+#: ../addressbook/gui/component/ldap-config.glade.h:1
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:1
+#: ../addressbook/gui/contact-editor/fulladdr.glade.h:1
+#: ../addressbook/gui/contact-editor/fullname.glade.h:1
+#: ../addressbook/gui/contact-editor/im.glade.h:1
+#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:3
+#: ../calendar/gui/dialogs/cal-attachment.glade.h:1
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:1
+#: ../calendar/gui/dialogs/calendar-setup.glade.h:1
+#: ../calendar/gui/dialogs/event-page.glade.h:1
+#: ../calendar/gui/dialogs/meeting-page.glade.h:1
+#: ../calendar/gui/dialogs/new-calendar.glade.h:1
+#: ../calendar/gui/dialogs/new-task-list.glade.h:1
+#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:1
+#: ../composer/e-msg-composer-attachment.glade.h:1
+#: ../mail/mail-dialogs.glade.h:6
+#: ../mail/message-tags.glade.h:1
+#: ../plugins/shared-folder/properties.glade.h:1
+#: ../widgets/e-timezone-dialog/e-timezone-dialog.glade.h:1
msgid "*"
msgstr "*"
-#: addressbook/gui/component/ldap-config.glade.h:2
+#: ../addressbook/gui/component/ldap-config.glade.h:2
msgid "1"
msgstr "1"
-#: addressbook/gui/component/ldap-config.glade.h:3
+#: ../addressbook/gui/component/ldap-config.glade.h:3
msgid "3268"
msgstr "3268"
-#: addressbook/gui/component/ldap-config.glade.h:4
+#: ../addressbook/gui/component/ldap-config.glade.h:4
msgid "389"
msgstr "389"
-#: addressbook/gui/component/ldap-config.glade.h:5
+#: ../addressbook/gui/component/ldap-config.glade.h:5
msgid "5"
msgstr "5"
-#: addressbook/gui/component/ldap-config.glade.h:6
+#: ../addressbook/gui/component/ldap-config.glade.h:6
msgid "636"
msgstr "636"
-#: addressbook/gui/component/ldap-config.glade.h:7
-#: calendar/gui/dialogs/url-editor-dialog.glade.h:2
+#: ../addressbook/gui/component/ldap-config.glade.h:7
+#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:2
msgid "<b>Authentication</b>"
msgstr "<b>Authentication</b>"
-#: addressbook/gui/component/ldap-config.glade.h:8
+#: ../addressbook/gui/component/ldap-config.glade.h:8
msgid "<b>Display</b>"
msgstr "<b>Display</b>"
-#: addressbook/gui/component/ldap-config.glade.h:9
+#: ../addressbook/gui/component/ldap-config.glade.h:9
msgid "<b>Downloading</b>"
msgstr "<b>Downloading</b>"
-#: addressbook/gui/component/ldap-config.glade.h:10
+#: ../addressbook/gui/component/ldap-config.glade.h:10
msgid "<b>Searching</b>"
msgstr "<b>Searching</b>"
-#: addressbook/gui/component/ldap-config.glade.h:11
+#: ../addressbook/gui/component/ldap-config.glade.h:11
msgid "<b>Server Information</b>"
msgstr "<b>Server Information</b>"
-#: addressbook/gui/component/ldap-config.glade.h:12
+#: ../addressbook/gui/component/ldap-config.glade.h:12
msgid "<b>Type:</b>"
msgstr "<b>Type:</b>"
-#: addressbook/gui/component/ldap-config.glade.h:13
+#: ../addressbook/gui/component/ldap-config.glade.h:13
msgid "Add Address Book"
msgstr "Add Address Book"
-#: addressbook/gui/component/ldap-config.glade.h:15
-#: mail/em-account-editor.c:292
+#: ../addressbook/gui/component/ldap-config.glade.h:15
+#: ../mail/em-account-editor.c:302
msgid "Always"
msgstr "Always"
-#: addressbook/gui/component/ldap-config.glade.h:16
+#: ../addressbook/gui/component/ldap-config.glade.h:16
msgid "Anonymously"
msgstr "Anonymously"
-#: addressbook/gui/component/ldap-config.glade.h:17
+#: ../addressbook/gui/component/ldap-config.glade.h:17
msgid "Basic"
msgstr "Basic"
-#: addressbook/gui/component/ldap-config.glade.h:19
+#: ../addressbook/gui/component/ldap-config.glade.h:19
msgid "Distinguished name"
msgstr "Distinguished name"
-#: addressbook/gui/component/ldap-config.glade.h:20
+#: ../addressbook/gui/component/ldap-config.glade.h:20
msgid "Email address"
msgstr "Email address"
-#: addressbook/gui/component/ldap-config.glade.h:21
+#: ../addressbook/gui/component/ldap-config.glade.h:21
msgid "Evolution will use this email address to authenticate you with the server."
msgstr "Evolution will use this email address to authenticate you with the server."
-#: addressbook/gui/component/ldap-config.glade.h:22
+#: ../addressbook/gui/component/ldap-config.glade.h:22
msgid "Find Possible Search Bases"
msgstr "Find Possible Search Bases"
-#: addressbook/gui/component/ldap-config.glade.h:24
+#: ../addressbook/gui/component/ldap-config.glade.h:24
msgid "Lo_gin:"
msgstr "Lo_gin:"
-#: addressbook/gui/component/ldap-config.glade.h:25
-#: mail/em-account-editor.c:290
+#: ../addressbook/gui/component/ldap-config.glade.h:25
+#: ../mail/em-account-editor.c:300
msgid "Never"
msgstr "Never"
-#: addressbook/gui/component/ldap-config.glade.h:26
+#: ../addressbook/gui/component/ldap-config.glade.h:26
msgid "One"
msgstr "One"
-#: addressbook/gui/component/ldap-config.glade.h:27
+#: ../addressbook/gui/component/ldap-config.glade.h:27
msgid "Search _base:"
msgstr "Search _base:"
-#: addressbook/gui/component/ldap-config.glade.h:28
+#: ../addressbook/gui/component/ldap-config.glade.h:28
msgid "Selecting this option means that Evolution will only connect to your LDAP server if your LDAP server supports SSL or TLS."
msgstr "Selecting this option means that Evolution will only connect to your LDAP server if your LDAP server supports SSL or TLS."
-#: addressbook/gui/component/ldap-config.glade.h:29
+#: ../addressbook/gui/component/ldap-config.glade.h:29
msgid "Selecting this option means that Evolution will only try to use SSL/TLS if you are in a insecure environment. For example, if you and your LDAP server are behind a firewall at work, then Evolution doesn't need to use SSL/TLS because your connection is already secure."
msgstr "Selecting this option means that Evolution will only try to use SSL/TLS if you are in a insecure environment. For example, if you and your LDAP server are behind a firewall at work, then Evolution doesn't need to use SSL/TLS because your connection is already secure."
-#: addressbook/gui/component/ldap-config.glade.h:30
+#: ../addressbook/gui/component/ldap-config.glade.h:30
msgid "Selecting this option means that your server does not support either SSL or TLS. This means that your connection will be insecure, and that you will be vulnerable to security exploits. "
msgstr "Selecting this option means that your server does not support either SSL or TLS. This means that your connection will be insecure, and that you will be vulnerable to security exploits. "
-#: addressbook/gui/component/ldap-config.glade.h:31
+#: ../addressbook/gui/component/ldap-config.glade.h:31
msgid "Sub"
msgstr "Sub"
-#: addressbook/gui/component/ldap-config.glade.h:32
+#: ../addressbook/gui/component/ldap-config.glade.h:32
msgid "Supported Search Bases"
msgstr "Supported Search Bases"
-#: addressbook/gui/component/ldap-config.glade.h:33
+#: ../addressbook/gui/component/ldap-config.glade.h:33
msgid "The search base is the distinguished name (DN) of the entry where your searches will begin. If you leave this blank, the search will begin at the root of the directory tree."
msgstr "The search base is the distinguished name (DN) of the entry where your searches will begin. If you leave this blank, the search will begin at the root of the directory tree."
-#: addressbook/gui/component/ldap-config.glade.h:34
+#: ../addressbook/gui/component/ldap-config.glade.h:34
msgid "The search scope defines how deep you would like the search to extend down the directory tree. A search scope of \"sub\" will include all entries below your search base. A search scope of \"one\" will only include the entries one level beneath your base."
msgstr "The search scope defines how deep you would like the search to extend down the directory tree. A search scope of \"sub\" will include all entries below your search base. A search scope of \"one\" will only include the entries one level beneath your base."
-#: addressbook/gui/component/ldap-config.glade.h:35
+#: ../addressbook/gui/component/ldap-config.glade.h:35
msgid "This is the full name of your ldap server. For example, \"ldap.mycompany.com\"."
msgstr "This is the full name of your ldap server. For example, \"ldap.mycompany.com\"."
-#: addressbook/gui/component/ldap-config.glade.h:36
+#: ../addressbook/gui/component/ldap-config.glade.h:36
msgid "This is the maximum number of entries to download. Setting this number to be too large will slow down your address book."
msgstr "This is the maximum number of entries to download. Setting this number to be too large will slow down your address book."
-#: addressbook/gui/component/ldap-config.glade.h:37
+#: ../addressbook/gui/component/ldap-config.glade.h:37
msgid "This is the method Evolution will use to authenticate you. Note that setting this to \"Email Address\" requires anonymous access to your ldap server."
msgstr "This is the method Evolution will use to authenticate you. Note that setting this to \"Email Address\" requires anonymous access to your ldap server."
-#: addressbook/gui/component/ldap-config.glade.h:38
+#: ../addressbook/gui/component/ldap-config.glade.h:38
msgid "This is the name for this server that will appear in your Evolution folder list. It is for display purposes only. "
msgstr "This is the name for this server that will appear in your Evolution folder list. It is for display purposes only. "
-#: addressbook/gui/component/ldap-config.glade.h:39
+#: ../addressbook/gui/component/ldap-config.glade.h:39
msgid "This is the port on the LDAP server that Evolution will try to connect to. A list of standard ports has been provided. Ask your system administrator what port you should specify."
msgstr "This is the port on the LDAP server that Evolution will try to connect to. A list of standard ports has been provided. Ask your system administrator what port you should specify."
-#: addressbook/gui/component/ldap-config.glade.h:40
+#: ../addressbook/gui/component/ldap-config.glade.h:40
msgid "Using distinguished name (DN)"
msgstr "Using distinguished name (DN)"
-#: addressbook/gui/component/ldap-config.glade.h:41
+#: ../addressbook/gui/component/ldap-config.glade.h:41
msgid "Using email address"
msgstr "Using email address"
-#: addressbook/gui/component/ldap-config.glade.h:42
-#: mail/em-account-editor.c:291
+#: ../addressbook/gui/component/ldap-config.glade.h:42
+#: ../mail/em-account-editor.c:301
msgid "Whenever Possible"
msgstr "Whenever Possible"
-#: addressbook/gui/component/ldap-config.glade.h:43
+#: ../addressbook/gui/component/ldap-config.glade.h:43
msgid "_Add Address Book"
msgstr "_Add Address Book"
-#: addressbook/gui/component/ldap-config.glade.h:44
+#: ../addressbook/gui/component/ldap-config.glade.h:44
msgid "_Download limit:"
msgstr "_Download limit:"
-#: addressbook/gui/component/ldap-config.glade.h:45
+#: ../addressbook/gui/component/ldap-config.glade.h:45
msgid "_Find Possible Search Bases"
msgstr "_Find Possible Search Bases"
-#: addressbook/gui/component/ldap-config.glade.h:46
+#: ../addressbook/gui/component/ldap-config.glade.h:46
msgid "_Log in method:"
msgstr "_Log in method:"
-#: addressbook/gui/component/ldap-config.glade.h:47
-#: calendar/gui/dialogs/calendar-setup.c:243
-#: calendar/gui/dialogs/calendar-setup.glade.h:8
-#: mail/mail-config.glade.h:160
+#: ../addressbook/gui/component/ldap-config.glade.h:47
+#: ../calendar/gui/dialogs/calendar-setup.c:243
+#: ../calendar/gui/dialogs/calendar-setup.glade.h:8
+#: ../mail/mail-config.glade.h:160
msgid "_Name:"
msgstr "_Name:"
-#: addressbook/gui/component/ldap-config.glade.h:48
+#: ../addressbook/gui/component/ldap-config.glade.h:48
msgid "_Port:"
msgstr "_Port:"
-#: addressbook/gui/component/ldap-config.glade.h:49
+#: ../addressbook/gui/component/ldap-config.glade.h:49
msgid "_Search scope:"
msgstr "_Search scope:"
-#: addressbook/gui/component/ldap-config.glade.h:50
+#: ../addressbook/gui/component/ldap-config.glade.h:50
msgid "_Server:"
msgstr "_Server:"
-#: addressbook/gui/component/ldap-config.glade.h:51
+#: ../addressbook/gui/component/ldap-config.glade.h:51
msgid "_Timeout:"
msgstr "_Timeout:"
-#: addressbook/gui/component/ldap-config.glade.h:52
+#: ../addressbook/gui/component/ldap-config.glade.h:52
msgid "_Use secure connection:"
msgstr "_Use secure connection:"
-#: addressbook/gui/component/ldap-config.glade.h:53
+#: ../addressbook/gui/component/ldap-config.glade.h:53
msgid "cards"
msgstr "cards"
-#: addressbook/gui/component/ldap-config.glade.h:54
-#: calendar/gui/alarm-notify/alarm-notify.glade.h:12
-#: calendar/gui/dialogs/alarm-dialog.glade.h:26
-#: calendar/gui/dialogs/calendar-setup.glade.h:14
-#: filter/filter.glade.h:16
-#: mail/em-account-editor.c:1825
-#: plugins/calendar-http/calendar-http.c:263
-#: plugins/calendar-weather/calendar-weather.c:564
+#: ../addressbook/gui/component/ldap-config.glade.h:54
+#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:12
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:26
+#: ../calendar/gui/dialogs/calendar-setup.glade.h:14
+#: ../filter/filter.glade.h:16
+#: ../mail/em-account-editor.c:1885
+#: ../plugins/calendar-http/calendar-http.c:263
+#: ../plugins/calendar-weather/calendar-weather.c:564
msgid "minutes"
msgstr "minutes"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:2
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:2
msgid "<b>Email</b>"
msgstr "<b>Email</b>"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:3
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:3
msgid "<b>Home</b>"
msgstr "<b>Home</b>"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:4
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:4
msgid "<b>Instant Messaging</b>"
msgstr "<b>Instant Messaging</b>"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:5
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:5
msgid "<b>Job</b>"
msgstr "<b>Job</b>"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:6
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:6
msgid "<b>Miscellaneous</b>"
msgstr "<b>Miscellaneous</b>"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:7
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:7
msgid "<b>Other</b>"
msgstr "<b>Other</b>"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:8
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:8
msgid "<b>Telephone</b>"
msgstr "<b>Telephone</b>"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:9
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:9
msgid "<b>Web Addresses</b>"
msgstr "<b>Web Addresses</b>"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:10
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:10
msgid "<b>Work</b>"
msgstr "<b>Work</b>"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:11
-#: addressbook/gui/contact-editor/e-contact-editor.c:182
-#: addressbook/gui/widgets/eab-contact-display.c:346
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:11
+#: ../addressbook/gui/contact-editor/e-contact-editor.c:182
+#: ../addressbook/gui/widgets/eab-contact-display.c:346
msgid "AIM"
msgstr "AIM"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:12
-#: addressbook/gui/contact-editor/e-contact-editor.c:270
-#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:169
-#: addressbook/gui/contact-list-editor/e-contact-list-editor.etspec.h:1
-#: addressbook/gui/widgets/e-minicard.c:181
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:12
+#: ../addressbook/gui/contact-editor/e-contact-editor.c:270
+#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:169
+#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.etspec.h:1
+#: ../addressbook/gui/widgets/e-minicard.c:181
msgid "Contact"
msgstr "Contact"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:13
-#: addressbook/gui/contact-editor/e-contact-editor.c:531
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:13
+#: ../addressbook/gui/contact-editor/e-contact-editor.c:531
msgid "Contact Editor"
msgstr "Contact Editor"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:14
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:14
msgid "Full _Name..."
msgstr "Full _Name..."
-#: addressbook/gui/contact-editor/contact-editor.glade.h:15
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:15
msgid "Image"
msgstr "Image"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:16
-#: addressbook/gui/contact-editor/e-contact-editor-im.c:66
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:16
+#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:66
msgid "MSN Messenger"
msgstr "MSN Messenger"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:17
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:17
msgid "Mailing Address"
msgstr "Mailing Address"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:18
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:18
msgid "Ni_ckname:"
msgstr "Ni_ckname:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:19
-#: addressbook/gui/contact-editor/e-contact-editor-im.c:63
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:19
+#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:63
msgid "Novell Groupwise"
msgstr "Novell Groupwise"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:21
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:21
msgid "Personal Information"
msgstr "Personal Information"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:22
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:22
msgid "Telephone"
msgstr "Telephone"
#. red
-#: addressbook/gui/contact-editor/contact-editor.glade.h:23
-#: addressbook/gui/contact-editor/e-contact-editor-im.c:235
-#: addressbook/gui/contact-editor/e-contact-editor.c:199
-#: filter/filter-label.c:122
-#: mail/em-migrate.c:1012
-#: mail/mail-config.c:76
-#: mail/mail-config.glade.h:148
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:23
+#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:235
+#: ../addressbook/gui/contact-editor/e-contact-editor.c:199
+#: ../filter/filter-label.c:122
+#: ../mail/em-migrate.c:1042
+#: ../mail/mail-config.c:77
+#: ../mail/mail-config.glade.h:148
msgid "Work"
msgstr "Work"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:24
-#: addressbook/gui/contact-editor/fulladdr.glade.h:6
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:24
+#: ../addressbook/gui/contact-editor/fulladdr.glade.h:6
msgid "_Address:"
msgstr "_Address:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:25
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:25
msgid "_Anniversary:"
msgstr "_Anniversary:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:26
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:26
msgid "_Assistant:"
msgstr "_Assistant:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:27
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:27
msgid "_Birthday:"
msgstr "_Birthday:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:28
-#: plugins/itip-formatter/itip-view.c:1619
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:28
+#: ../plugins/itip-formatter/itip-view.c:1619
msgid "_Calendar:"
msgstr "_Calendar:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:29
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:29
msgid "_Categories"
msgstr "_Categories"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:30
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:30
msgid "_City:"
msgstr "_City:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:31
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:31
msgid "_Company:"
msgstr "_Company:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:32
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:32
msgid "_Country:"
msgstr "_Country:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:33
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:33
msgid "_Department:"
msgstr "_Department:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:34
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:34
msgid "_File under:"
msgstr "_File under:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:35
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:35
msgid "_Free/Busy:"
msgstr "_Free/Busy:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:36
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:36
msgid "_Home Page:"
msgstr "_Home Page:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:37
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:37
msgid "_Manager:"
msgstr "_Manager:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:38
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:38
msgid "_Notes:"
msgstr "_Notes:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:39
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:39
msgid "_Office:"
msgstr "_Office:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:40
-#: addressbook/gui/contact-editor/fulladdr.glade.h:7
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:40
+#: ../addressbook/gui/contact-editor/fulladdr.glade.h:7
msgid "_PO Box:"
msgstr "_PO Box:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:41
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:41
msgid "_Profession:"
msgstr "_Profession:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:42
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:42
msgid "_Spouse:"
msgstr "_Spouse:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:43
-#: addressbook/gui/contact-editor/fulladdr.glade.h:8
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:43
+#: ../addressbook/gui/contact-editor/fulladdr.glade.h:8
msgid "_State/Province:"
msgstr "_State/Province/County:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:44
-#: addressbook/gui/contact-editor/fullname.glade.h:18
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:44
+#: ../addressbook/gui/contact-editor/fullname.glade.h:18
msgid "_Title:"
msgstr "_Title:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:45
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:45
msgid "_Video Chat:"
msgstr "_Video Chat:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:46
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:46
msgid "_Wants to receive HTML mail"
msgstr "_Wants to receive HTML mail"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:47
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:47
msgid "_Web Log:"
msgstr "_Web Log:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:48
-#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:13
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:48
+#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:13
msgid "_Where:"
msgstr "_Where:"
-#: addressbook/gui/contact-editor/contact-editor.glade.h:49
+#: ../addressbook/gui/contact-editor/contact-editor.glade.h:49
msgid "_Zip/Postal Code:"
msgstr "_Zip/Postal Code:"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:96
-#: addressbook/gui/widgets/eab-contact-display.c:365
-#: addressbook/gui/widgets/eab-contact-display.c:380
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:96
+#: ../addressbook/gui/widgets/eab-contact-display.c:365
+#: ../addressbook/gui/widgets/eab-contact-display.c:380
msgid "Address"
msgstr "Address"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:103
-#: addressbook/gui/contact-editor/e-contact-editor-fullname.c:95
-#: addressbook/gui/contact-editor/e-contact-editor-im.c:141
-#: addressbook/gui/contact-editor/e-contact-editor.c:298
-#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:183
-#: addressbook/gui/widgets/e-addressbook-model.c:310
-#: addressbook/gui/widgets/e-addressbook-reflow-adapter.c:398
-#: addressbook/gui/widgets/e-minicard-label.c:164
-#: addressbook/gui/widgets/e-minicard-view-widget.c:119
-#: addressbook/gui/widgets/e-minicard-view.c:519
-#: addressbook/gui/widgets/e-minicard.c:174
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:103
+#: ../addressbook/gui/contact-editor/e-contact-editor-fullname.c:95
+#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:141
+#: ../addressbook/gui/contact-editor/e-contact-editor.c:298
+#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:183
+#: ../addressbook/gui/widgets/e-addressbook-model.c:310
+#: ../addressbook/gui/widgets/e-addressbook-reflow-adapter.c:398
+#: ../addressbook/gui/widgets/e-minicard-label.c:164
+#: ../addressbook/gui/widgets/e-minicard-view-widget.c:119
+#: ../addressbook/gui/widgets/e-minicard-view.c:519
+#: ../addressbook/gui/widgets/e-minicard.c:174
msgid "Editable"
msgstr "Editable"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:136
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:136
msgid "United States"
msgstr "United States"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:137
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:137
msgid "Afghanistan"
msgstr "Afghanistan"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:138
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:138
msgid "Albania"
msgstr "Albania"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:139
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:139
msgid "Algeria"
msgstr "Algeria"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:140
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:140
msgid "American Samoa"
msgstr "American Samoa"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:141
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:141
msgid "Andorra"
msgstr "Andorra"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:142
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:142
msgid "Angola"
msgstr "Angola"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:143
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:143
msgid "Anguilla"
msgstr "Anguilla"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:144
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:144
msgid "Antarctica"
msgstr "Antarctica"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:145
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:145
msgid "Antigua And Barbuda"
msgstr "Antigua And Barbuda"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:146
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:146
msgid "Argentina"
msgstr "Argentina"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:147
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:147
msgid "Armenia"
msgstr "Armenia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:148
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:148
msgid "Aruba"
msgstr "Aruba"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:149
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:149
msgid "Australia"
msgstr "Australia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:150
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:150
msgid "Austria"
msgstr "Austria"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:151
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:151
msgid "Azerbaijan"
msgstr "Azerbaijan"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:152
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:152
msgid "Bahamas"
msgstr "Bahamas"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:153
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:153
msgid "Bahrain"
msgstr "Bahrain"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:154
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:154
msgid "Bangladesh"
msgstr "Bangladesh"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:155
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:155
msgid "Barbados"
msgstr "Barbados"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:156
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:156
msgid "Belarus"
msgstr "Belarus"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:157
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:157
msgid "Belgium"
msgstr "Belgium"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:158
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:158
msgid "Belize"
msgstr "Belize"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:159
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:159
msgid "Benin"
msgstr "Benin"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:160
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:160
msgid "Bermuda"
msgstr "Bermuda"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:161
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:161
msgid "Bhutan"
msgstr "Bhutan"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:162
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:162
msgid "Bolivia"
msgstr "Bolivia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:163
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:163
msgid "Bosnia And Herzegowina"
msgstr "Bosnia And Herzegowina"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:164
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:164
msgid "Botswana"
msgstr "Botswana"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:165
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:165
msgid "Bouvet Island"
msgstr "Bouvet Island"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:166
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:166
msgid "Brazil"
msgstr "Brazil"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:167
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:167
msgid "British Indian Ocean Territory"
msgstr "British Indian Ocean Territory"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:168
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:168
msgid "Brunei Darussalam"
msgstr "Brunei Darussalam"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:169
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:169
msgid "Bulgaria"
msgstr "Bulgaria"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:170
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:170
msgid "Burkina Faso"
msgstr "Burkina Faso"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:171
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:171
msgid "Burundi"
msgstr "Burundi"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:172
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:172
msgid "Cambodia"
msgstr "Cambodia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:173
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:173
msgid "Cameroon"
msgstr "Cameroon"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:174
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:174
msgid "Canada"
msgstr "Canada"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:175
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:175
msgid "Cape Verde"
msgstr "Cape Verde"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:176
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:176
msgid "Cayman Islands"
msgstr "Cayman Islands"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:177
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:177
msgid "Central African Republic"
msgstr "Central African Republic"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:178
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:178
msgid "Chad"
msgstr "Chad"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:179
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:179
msgid "Chile"
msgstr "Chile"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:180
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:180
msgid "China"
msgstr "China"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:181
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:181
msgid "Christmas Island"
msgstr "Christmas Island"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:182
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:182
msgid "Cocos (Keeling) Islands"
msgstr "Cocos (Keeling) Islands"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:183
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:183
msgid "Colombia"
msgstr "Colombia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:184
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:184
msgid "Comoros"
msgstr "Comoros"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:185
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:185
msgid "Congo"
msgstr "Congo"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:186
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:186
msgid "Congo, The Democratic Republic Of The"
msgstr "Congo, The Democratic Republic Of The"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:187
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:187
msgid "Cook Islands"
msgstr "Cook Islands"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:188
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:188
msgid "Costa Rica"
msgstr "Costa Rica"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:189
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:189
msgid "Cote d'Ivoire"
msgstr "Cote d'Ivoire"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:190
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:190
msgid "Croatia"
msgstr "Croatia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:191
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:191
msgid "Cuba"
msgstr "Cuba"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:192
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:192
msgid "Cyprus"
msgstr "Cyprus"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:193
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:193
msgid "Czech Republic"
msgstr "Czech Republic"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:194
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:194
msgid "Denmark"
msgstr "Denmark"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:195
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:195
msgid "Djibouti"
msgstr "Djibouti"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:196
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:196
msgid "Dominica"
msgstr "Dominica"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:197
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:197
msgid "Dominican Republic"
msgstr "Dominican Republic"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:198
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:198
msgid "Ecuador"
msgstr "Ecuador"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:199
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:199
msgid "Egypt"
msgstr "Egypt"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:200
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:200
msgid "El Salvador"
msgstr "El Salvador"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:201
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:201
msgid "Equatorial Guinea"
msgstr "Equatorial Guinea"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:202
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:202
msgid "Eritrea"
msgstr "Eritrea"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:203
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:203
msgid "Estonia"
msgstr "Estonia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:204
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:204
msgid "Ethiopia"
msgstr "Ethiopia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:205
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:205
msgid "Falkland Islands"
msgstr "Falkland Islands"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:206
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:206
msgid "Faroe Islands"
msgstr "Faroe Islands"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:207
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:207
msgid "Fiji"
msgstr "Fiji"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:208
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:208
msgid "Finland"
msgstr "Finland"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:209
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:209
msgid "France"
msgstr "France"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:210
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:210
msgid "French Guiana"
msgstr "French Guiana"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:211
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:211
msgid "French Polynesia"
msgstr "French Polynesia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:212
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:212
msgid "French Southern Territories"
msgstr "French Southern Territories"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:213
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:213
msgid "Gabon"
msgstr "Gabon"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:214
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:214
msgid "Gambia"
msgstr "Gambia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:215
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:215
msgid "Georgia"
msgstr "Georgia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:216
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:216
msgid "Germany"
msgstr "Germany"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:217
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:217
msgid "Ghana"
msgstr "Ghana"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:218
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:218
msgid "Gibraltar"
msgstr "Gibraltar"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:219
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:219
msgid "Greece"
msgstr "Greece"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:220
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:220
msgid "Greenland"
msgstr "Greenland"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:221
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:221
msgid "Grenada"
msgstr "Grenada"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:222
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:222
msgid "Guadeloupe"
msgstr "Guadeloupe"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:223
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:223
msgid "Guam"
msgstr "Guam"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:224
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:224
msgid "Guatemala"
msgstr "Guatemala"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:225
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:225
msgid "Guernsey"
msgstr "Guernsey"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:226
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:226
msgid "Guinea"
msgstr "Guinea"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:227
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:227
msgid "Guinea-bissau"
msgstr "Guinea-bissau"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:228
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:228
msgid "Guyana"
msgstr "Guyana"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:229
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:229
msgid "Haiti"
msgstr "Haiti"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:230
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:230
msgid "Heard And McDonald Islands"
msgstr "Heard And McDonald Islands"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:231
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:231
msgid "Holy See"
msgstr "Holy See"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:232
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:232
msgid "Honduras"
msgstr "Honduras"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:233
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:233
msgid "Hong Kong"
msgstr "Hong Kong"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:234
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:234
msgid "Hungary"
msgstr "Hungary"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:235
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:235
msgid "Iceland"
msgstr "Iceland"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:236
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:236
msgid "India"
msgstr "India"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:237
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:237
msgid "Indonesia"
msgstr "Indonesia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:238
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:238
msgid "Iran"
msgstr "Iran"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:239
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:239
msgid "Iraq"
msgstr "Iraq"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:240
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:240
msgid "Ireland"
msgstr "Ireland"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:241
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:241
msgid "Isle of Man"
msgstr "Isle of Man"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:242
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:242
msgid "Israel"
msgstr "Israel"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:243
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:243
msgid "Italy"
msgstr "Italy"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:244
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:244
msgid "Jamaica"
msgstr "Jamaica"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:245
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:245
msgid "Japan"
msgstr "Japan"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:246
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:246
msgid "Jersey"
msgstr "Jersey"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:247
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:247
msgid "Jordan"
msgstr "Jordan"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:248
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:248
msgid "Kazakhstan"
msgstr "Kazakhstan"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:249
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:249
msgid "Kenya"
msgstr "Kenya"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:250
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:250
msgid "Kiribati"
msgstr "Kiribati"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:251
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:251
msgid "Korea, Democratic People's Republic Of"
msgstr "Korea, Democratic People's Republic Of"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:252
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:252
msgid "Korea, Republic Of"
msgstr "Korea, Republic Of"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:253
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:253
msgid "Kuwait"
msgstr "Kuwait"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:254
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:254
msgid "Kyrgyzstan"
msgstr "Kyrgyzstan"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:255
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:255
msgid "Laos"
msgstr "Laos"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:256
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:256
msgid "Latvia"
msgstr "Latvia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:257
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:257
msgid "Lebanon"
msgstr "Lebanon"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:258
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:258
msgid "Lesotho"
msgstr "Lesotho"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:259
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:259
msgid "Liberia"
msgstr "Liberia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:260
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:260
msgid "Libya"
msgstr "Libya"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:261
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:261
msgid "Liechtenstein"
msgstr "Liechtenstein"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:262
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:262
msgid "Lithuania"
msgstr "Lithuania"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:263
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:263
msgid "Luxembourg"
msgstr "Luxembourg"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:264
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:264
msgid "Macao"
msgstr "Macao"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:265
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:265
msgid "Macedonia"
msgstr "Macedonia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:266
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:266
msgid "Madagascar"
msgstr "Madagascar"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:267
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:267
msgid "Malawi"
msgstr "Malawi"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:268
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:268
msgid "Malaysia"
msgstr "Malaysia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:269
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:269
msgid "Maldives"
msgstr "Maldives"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:270
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:270
msgid "Mali"
msgstr "Mali"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:271
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:271
msgid "Malta"
msgstr "Malta"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:272
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:272
msgid "Marshall Islands"
msgstr "Marshall Islands"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:273
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:273
msgid "Martinique"
msgstr "Martinique"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:274
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:274
msgid "Mauritania"
msgstr "Mauritania"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:275
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:275
msgid "Mauritius"
msgstr "Mauritius"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:276
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:276
msgid "Mayotte"
msgstr "Mayotte"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:277
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:277
msgid "Mexico"
msgstr "Mexico"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:278
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:278
msgid "Micronesia"
msgstr "Micronesia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:279
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:279
msgid "Moldova, Republic Of"
msgstr "Moldova, Republic Of"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:280
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:280
msgid "Monaco"
msgstr "Monaco"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:281
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:281
msgid "Mongolia"
msgstr "Mongolia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:282
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:282
msgid "Montserrat"
msgstr "Montserrat"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:283
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:283
msgid "Morocco"
msgstr "Morocco"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:284
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:284
msgid "Mozambique"
msgstr "Mozambique"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:285
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:285
msgid "Myanmar"
msgstr "Myanmar"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:286
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:286
msgid "Namibia"
msgstr "Namibia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:287
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:287
msgid "Nauru"
msgstr "Nauru"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:288
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:288
msgid "Nepal"
msgstr "Nepal"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:289
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:289
msgid "Netherlands"
msgstr "Netherlands"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:290
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:290
msgid "Netherlands Antilles"
msgstr "Netherlands Antilles"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:291
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:291
msgid "New Caledonia"
msgstr "New Caledonia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:292
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:292
msgid "New Zealand"
msgstr "New Zealand"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:293
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:293
msgid "Nicaragua"
msgstr "Nicaragua"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:294
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:294
msgid "Niger"
msgstr "Niger"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:295
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:295
msgid "Nigeria"
msgstr "Nigeria"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:296
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:296
msgid "Niue"
msgstr "Niue"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:297
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:297
msgid "Norfolk Island"
msgstr "Norfolk Island"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:298
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:298
msgid "Northern Mariana Islands"
msgstr "Northern Mariana Islands"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:299
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:299
msgid "Norway"
msgstr "Norway"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:300
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:300
msgid "Oman"
msgstr "Oman"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:301
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:301
msgid "Pakistan"
msgstr "Pakistan"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:302
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:302
msgid "Palau"
msgstr "Palau"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:303
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:303
msgid "Palestinian Territory"
msgstr "Palestinian Territory"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:304
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:304
msgid "Panama"
msgstr "Panama"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:305
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:305
msgid "Papua New Guinea"
msgstr "Papua New Guinea"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:306
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:306
msgid "Paraguay"
msgstr "Paraguay"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:307
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:307
msgid "Peru"
msgstr "Peru"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:308
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:308
msgid "Philippines"
msgstr "Philippines"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:309
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:309
msgid "Pitcairn"
msgstr "Pitcairn"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:310
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:310
msgid "Poland"
msgstr "Poland"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:311
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:311
msgid "Portugal"
msgstr "Portugal"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:312
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:312
msgid "Puerto Rico"
msgstr "Puerto Rico"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:313
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:313
msgid "Qatar"
msgstr "Qatar"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:314
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:314
msgid "Reunion"
msgstr "Reunion"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:315
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:315
msgid "Romania"
msgstr "Romania"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:316
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:316
msgid "Russian Federation"
msgstr "Russian Federation"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:317
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:317
msgid "Rwanda"
msgstr "Rwanda"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:318
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:318
msgid "Saint Kitts And Nevis"
msgstr "Saint Kitts And Nevis"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:319
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:319
msgid "Saint Lucia"
msgstr "Saint Lucia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:320
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:320
msgid "Saint Vincent And The Grenadines"
msgstr "Saint Vincent And The Grenadines"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:321
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:321
msgid "Samoa"
msgstr "Samoa"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:322
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:322
msgid "San Marino"
msgstr "San Marino"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:323
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:323
msgid "Sao Tome And Principe"
msgstr "Sao Tome And Principe"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:324
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:324
msgid "Saudi Arabia"
msgstr "Saudi Arabia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:325
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:325
msgid "Senegal"
msgstr "Senegal"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:326
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:326
msgid "Serbia And Montenegro"
msgstr "Serbia And Montenegro"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:327
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:327
msgid "Seychelles"
msgstr "Seychelles"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:328
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:328
msgid "Sierra Leone"
msgstr "Sierra Leone"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:329
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:329
msgid "Singapore"
msgstr "Singapore"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:330
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:330
msgid "Slovakia"
msgstr "Slovakia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:331
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:331
msgid "Slovenia"
msgstr "Slovenia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:332
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:332
msgid "Solomon Islands"
msgstr "Solomon Islands"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:333
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:333
msgid "Somalia"
msgstr "Somalia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:334
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:334
msgid "South Africa"
msgstr "South Africa"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:335
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:335
msgid "South Georgia And The South Sandwich Islands"
msgstr "South Georgia And The South Sandwich Islands"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:336
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:336
msgid "Spain"
msgstr "Spain"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:337
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:337
msgid "Sri Lanka"
msgstr "Sri Lanka"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:338
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:338
msgid "St. Helena"
msgstr "St. Helena"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:339
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:339
msgid "St. Pierre And Miquelon"
msgstr "St. Pierre And Miquelon"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:340
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:340
msgid "Sudan"
msgstr "Sudan"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:341
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:341
msgid "Suriname"
msgstr "Suriname"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:342
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:342
msgid "Svalbard And Jan Mayen Islands"
msgstr "Svalbard And Jan Mayen Islands"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:343
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:343
msgid "Swaziland"
msgstr "Swaziland"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:344
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:344
msgid "Sweden"
msgstr "Sweden"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:345
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:345
msgid "Switzerland"
msgstr "Switzerland"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:346
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:346
msgid "Syria"
msgstr "Syria"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:347
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:347
msgid "Taiwan"
msgstr "Taiwan"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:348
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:348
msgid "Tajikistan"
msgstr "Tajikistan"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:349
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:349
msgid "Tanzania, United Republic Of"
msgstr "Tanzania, United Republic Of"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:350
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:350
msgid "Thailand"
msgstr "Thailand"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:351
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:351
msgid "Timor-Leste"
msgstr "Timor-Leste"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:352
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:352
msgid "Togo"
msgstr "Togo"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:353
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:353
msgid "Tokelau"
msgstr "Tokelau"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:354
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:354
msgid "Tonga"
msgstr "Tonga"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:355
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:355
msgid "Trinidad And Tobago"
msgstr "Trinidad And Tobago"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:356
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:356
msgid "Tunisia"
msgstr "Tunisia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:357
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:357
msgid "Turkey"
msgstr "Turkey"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:358
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:358
msgid "Turkmenistan"
msgstr "Turkmenistan"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:359
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:359
msgid "Turks And Caicos Islands"
msgstr "Turks And Caicos Islands"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:360
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:360
msgid "Tuvalu"
msgstr "Tuvalu"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:361
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:361
msgid "Uganda"
msgstr "Uganda"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:362
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:362
msgid "Ukraine"
msgstr "Ukraine"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:363
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:363
msgid "United Arab Emirates"
msgstr "United Arab Emirates"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:364
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:364
msgid "United Kingdom"
msgstr "United Kingdom"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:365
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:365
msgid "United States Minor Outlying Islands"
msgstr "United States Minor Outlying Islands"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:366
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:366
msgid "Uruguay"
msgstr "Uruguay"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:367
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:367
msgid "Uzbekistan"
msgstr "Uzbekistan"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:368
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:368
msgid "Vanuatu"
msgstr "Vanuatu"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:369
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:369
msgid "Venezuela"
msgstr "Venezuela"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:370
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:370
msgid "Viet Nam"
msgstr "Viet Nam"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:371
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:371
msgid "Virgin Islands, British"
msgstr "Virgin Islands, British"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:372
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:372
msgid "Virgin Islands, U.S."
msgstr "Virgin Islands, U.S."
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:373
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:373
msgid "Wallis And Futuna Islands"
msgstr "Wallis And Futuna Islands"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:374
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:374
msgid "Western Sahara"
msgstr "Western Sahara"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:375
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:375
msgid "Yemen"
msgstr "Yemen"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:376
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:376
msgid "Zambia"
msgstr "Zambia"
-#: addressbook/gui/contact-editor/e-contact-editor-address.c:377
+#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:377
msgid "Zimbabwe"
msgstr "Zimbabwe"
-#: addressbook/gui/contact-editor/e-contact-editor-fullname.c:89
-#: plugins/plugin-manager/plugin-manager.c:44
-#: plugins/save-attachments/save-attachments.c:362
+#: ../addressbook/gui/contact-editor/e-contact-editor-fullname.c:89
+#: ../plugins/plugin-manager/plugin-manager.c:44
+#: ../plugins/save-attachments/save-attachments.c:362
msgid "Name"
msgstr "Name"
-#: addressbook/gui/contact-editor/e-contact-editor-im.c:62
+#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:62
msgid "AOL Instant Messenger"
msgstr "AOL Instant Messenger"
-#: addressbook/gui/contact-editor/e-contact-editor-im.c:64
-#: addressbook/gui/contact-editor/e-contact-editor.c:183
-#: addressbook/gui/widgets/eab-contact-display.c:349
+#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:64
+#: ../addressbook/gui/contact-editor/e-contact-editor.c:183
+#: ../addressbook/gui/widgets/eab-contact-display.c:349
msgid "Jabber"
msgstr "Jabber"
-#: addressbook/gui/contact-editor/e-contact-editor-im.c:65
+#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:65
msgid "Yahoo Messenger"
msgstr "Yahoo Messenger"
-#: addressbook/gui/contact-editor/e-contact-editor-im.c:67
-#: addressbook/gui/contact-editor/e-contact-editor.c:186
-#: addressbook/gui/widgets/eab-contact-display.c:348
+#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:67
+#: ../addressbook/gui/contact-editor/e-contact-editor.c:186
+#: ../addressbook/gui/widgets/eab-contact-display.c:348
msgid "ICQ"
msgstr "ICQ"
-#: addressbook/gui/contact-editor/e-contact-editor-im.c:118
+#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:118
msgid "Service"
msgstr "Service"
-#: addressbook/gui/contact-editor/e-contact-editor-im.c:127
-#: calendar/gui/dialogs/cal-prefs-dialog.c:587
-#: calendar/gui/e-cal-list-view.etspec.h:3
+#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:127
+#: ../calendar/gui/dialogs/cal-prefs-dialog.c:587
+#: ../calendar/gui/e-cal-list-view.etspec.h:3
msgid "Location"
msgstr "Location"
-#: addressbook/gui/contact-editor/e-contact-editor-im.c:134
+#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:134
msgid "Username"
msgstr "Username"
-#: addressbook/gui/contact-editor/e-contact-editor-im.c:231
-#: addressbook/gui/contact-editor/e-contact-editor.c:200
+#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:231
+#: ../addressbook/gui/contact-editor/e-contact-editor.c:200
msgid "Home"
msgstr "Home"
-#: addressbook/gui/contact-editor/e-contact-editor-im.c:239
-#: addressbook/gui/contact-editor/e-contact-editor.c:201
+#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:239
+#: ../addressbook/gui/contact-editor/e-contact-editor.c:201
msgid "Other"
msgstr "Other"
-#: addressbook/gui/contact-editor/e-contact-editor.c:184
-#: addressbook/gui/widgets/eab-contact-display.c:351
+#: ../addressbook/gui/contact-editor/e-contact-editor.c:184
+#: ../addressbook/gui/widgets/eab-contact-display.c:351
msgid "Yahoo"
msgstr "Yahoo"
-#: addressbook/gui/contact-editor/e-contact-editor.c:185
-#: addressbook/gui/widgets/eab-contact-display.c:350
+#: ../addressbook/gui/contact-editor/e-contact-editor.c:185
+#: ../addressbook/gui/widgets/eab-contact-display.c:350
msgid "MSN"
msgstr "MSN"
-#: addressbook/gui/contact-editor/e-contact-editor.c:187
-#: addressbook/gui/widgets/eab-contact-display.c:347
+#: ../addressbook/gui/contact-editor/e-contact-editor.c:187
+#: ../addressbook/gui/widgets/eab-contact-display.c:347
msgid "GroupWise"
msgstr "GroupWise"
-#: addressbook/gui/contact-editor/e-contact-editor.c:256
+#: ../addressbook/gui/contact-editor/e-contact-editor.c:256
msgid "Source Book"
msgstr "Source Book"
-#: addressbook/gui/contact-editor/e-contact-editor.c:263
+#: ../addressbook/gui/contact-editor/e-contact-editor.c:263
msgid "Target Book"
msgstr "Target Book"
-#: addressbook/gui/contact-editor/e-contact-editor.c:277
+#: ../addressbook/gui/contact-editor/e-contact-editor.c:277
msgid "Is New Contact"
msgstr "Is New Contact"
-#: addressbook/gui/contact-editor/e-contact-editor.c:284
+#: ../addressbook/gui/contact-editor/e-contact-editor.c:284
msgid "Writable Fields"
msgstr "Writable Fields"
-#: addressbook/gui/contact-editor/e-contact-editor.c:291
+#: ../addressbook/gui/contact-editor/e-contact-editor.c:291
msgid "Required Fields"
msgstr "Required Fields"
-#: addressbook/gui/contact-editor/e-contact-editor.c:305
+#: ../addressbook/gui/contact-editor/e-contact-editor.c:305
msgid "Changed"
msgstr "Changed"
-#: addressbook/gui/contact-editor/e-contact-editor.c:2578
+#: ../addressbook/gui/contact-editor/e-contact-editor.c:2578
msgid "Please select an image for this contact"
msgstr "Please select an image for this contact"
-#: addressbook/gui/contact-editor/e-contact-editor.c:2579
+#: ../addressbook/gui/contact-editor/e-contact-editor.c:2579
msgid "No image"
msgstr "No image"
-#: addressbook/gui/contact-editor/e-contact-editor.c:2855
+#: ../addressbook/gui/contact-editor/e-contact-editor.c:2855
msgid ""
"The contact data is invalid:\n"
"\n"
@@ -2302,27 +2319,27 @@ msgstr ""
"The contact data is invalid:\n"
"\n"
-#: addressbook/gui/contact-editor/e-contact-editor.c:2907
+#: ../addressbook/gui/contact-editor/e-contact-editor.c:2907
msgid "Invalid contact."
msgstr "Invalid contact."
-#: addressbook/gui/contact-editor/e-contact-quick-add.c:277
+#: ../addressbook/gui/contact-editor/e-contact-quick-add.c:277
msgid "Contact Quick-Add"
msgstr "Contact Quick-Add"
-#: addressbook/gui/contact-editor/e-contact-quick-add.c:280
+#: ../addressbook/gui/contact-editor/e-contact-quick-add.c:280
msgid "_Edit Full"
msgstr "_Edit Full"
-#: addressbook/gui/contact-editor/e-contact-quick-add.c:306
+#: ../addressbook/gui/contact-editor/e-contact-quick-add.c:306
msgid "_Full name:"
msgstr "_Full name:"
-#: addressbook/gui/contact-editor/e-contact-quick-add.c:316
+#: ../addressbook/gui/contact-editor/e-contact-quick-add.c:316
msgid "E-_mail:"
msgstr "E-_mail:"
-#: addressbook/gui/contact-editor/eab-editor.c:319
+#: ../addressbook/gui/contact-editor/eab-editor.c:326
msgid ""
"Are you sure you want\n"
"to delete these contacts?"
@@ -2330,7 +2347,7 @@ msgstr ""
"Are you sure you want\n"
"to delete these contacts?"
-#: addressbook/gui/contact-editor/eab-editor.c:322
+#: ../addressbook/gui/contact-editor/eab-editor.c:329
msgid ""
"Are you sure you want\n"
"to delete this contact?"
@@ -2338,184 +2355,184 @@ msgstr ""
"Are you sure you want\n"
"to delete this contact?"
-#: addressbook/gui/contact-editor/fulladdr.glade.h:2
+#: ../addressbook/gui/contact-editor/fulladdr.glade.h:2
msgid "Address _2:"
msgstr "Address _2:"
-#: addressbook/gui/contact-editor/fulladdr.glade.h:3
+#: ../addressbook/gui/contact-editor/fulladdr.glade.h:3
msgid "Ci_ty:"
msgstr "Ci_ty:"
-#: addressbook/gui/contact-editor/fulladdr.glade.h:4
+#: ../addressbook/gui/contact-editor/fulladdr.glade.h:4
msgid "Countr_y:"
msgstr "Countr_y:"
-#: addressbook/gui/contact-editor/fulladdr.glade.h:5
+#: ../addressbook/gui/contact-editor/fulladdr.glade.h:5
msgid "Full Address"
msgstr "Full Address"
-#: addressbook/gui/contact-editor/fulladdr.glade.h:9
+#: ../addressbook/gui/contact-editor/fulladdr.glade.h:9
msgid "_ZIP Code:"
msgstr "Post _Code:"
-#: addressbook/gui/contact-editor/fullname.glade.h:2
+#: ../addressbook/gui/contact-editor/fullname.glade.h:2
msgid "Dr."
msgstr "Dr."
-#: addressbook/gui/contact-editor/fullname.glade.h:3
+#: ../addressbook/gui/contact-editor/fullname.glade.h:3
msgid "Esq."
msgstr "Esq."
-#: addressbook/gui/contact-editor/fullname.glade.h:4
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:15
+#: ../addressbook/gui/contact-editor/fullname.glade.h:4
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:15
msgid "Full Name"
msgstr "Full Name"
-#: addressbook/gui/contact-editor/fullname.glade.h:5
+#: ../addressbook/gui/contact-editor/fullname.glade.h:5
msgid "I"
msgstr "I"
-#: addressbook/gui/contact-editor/fullname.glade.h:6
+#: ../addressbook/gui/contact-editor/fullname.glade.h:6
msgid "II"
msgstr "II"
-#: addressbook/gui/contact-editor/fullname.glade.h:7
+#: ../addressbook/gui/contact-editor/fullname.glade.h:7
msgid "III"
msgstr "III"
-#: addressbook/gui/contact-editor/fullname.glade.h:8
+#: ../addressbook/gui/contact-editor/fullname.glade.h:8
msgid "Jr."
msgstr "Jr."
-#: addressbook/gui/contact-editor/fullname.glade.h:9
+#: ../addressbook/gui/contact-editor/fullname.glade.h:9
msgid "Miss"
msgstr "Miss"
-#: addressbook/gui/contact-editor/fullname.glade.h:10
+#: ../addressbook/gui/contact-editor/fullname.glade.h:10
msgid "Mr."
msgstr "Mr."
-#: addressbook/gui/contact-editor/fullname.glade.h:11
+#: ../addressbook/gui/contact-editor/fullname.glade.h:11
msgid "Mrs."
msgstr "Mrs."
-#: addressbook/gui/contact-editor/fullname.glade.h:12
+#: ../addressbook/gui/contact-editor/fullname.glade.h:12
msgid "Ms."
msgstr "Ms."
-#: addressbook/gui/contact-editor/fullname.glade.h:13
+#: ../addressbook/gui/contact-editor/fullname.glade.h:13
msgid "Sr."
msgstr "Sr."
-#: addressbook/gui/contact-editor/fullname.glade.h:14
+#: ../addressbook/gui/contact-editor/fullname.glade.h:14
msgid "_First:"
msgstr "_First:"
-#: addressbook/gui/contact-editor/fullname.glade.h:15
+#: ../addressbook/gui/contact-editor/fullname.glade.h:15
msgid "_Last:"
msgstr "_Last:"
-#: addressbook/gui/contact-editor/fullname.glade.h:16
+#: ../addressbook/gui/contact-editor/fullname.glade.h:16
msgid "_Middle:"
msgstr "_Middle:"
-#: addressbook/gui/contact-editor/fullname.glade.h:17
+#: ../addressbook/gui/contact-editor/fullname.glade.h:17
msgid "_Suffix:"
msgstr "_Suffix:"
-#: addressbook/gui/contact-editor/im.glade.h:2
+#: ../addressbook/gui/contact-editor/im.glade.h:2
msgid "Add IM Account"
msgstr "Add IM Account"
-#: addressbook/gui/contact-editor/im.glade.h:3
+#: ../addressbook/gui/contact-editor/im.glade.h:3
msgid "_Account name:"
msgstr "_Account name:"
-#: addressbook/gui/contact-editor/im.glade.h:4
+#: ../addressbook/gui/contact-editor/im.glade.h:4
msgid "_IM Service:"
msgstr "_IM Service:"
-#: addressbook/gui/contact-editor/im.glade.h:5
-#: plugins/calendar-weather/calendar-weather.c:410
+#: ../addressbook/gui/contact-editor/im.glade.h:5
+#: ../plugins/calendar-weather/calendar-weather.c:410
msgid "_Location:"
msgstr "_Location:"
-#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:1
+#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:1
msgid "\n"
msgstr "\n"
-#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:4
+#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:4
msgid "Add an email to the List"
msgstr "Add an email to the List"
-#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:5
-#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:820
+#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:5
+#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:817
msgid "Contact List Editor"
msgstr "Contact List Editor"
-#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:6
+#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:6
msgid "Insert email adresses from Adress Book"
msgstr "Insert email adresses from Adress Book"
-#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:7
+#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:7
msgid "Members"
msgstr "Members"
-#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:8
+#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:8
msgid "Remove an email address from the List"
msgstr "Remove an email address from the List"
-#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:9
+#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:9
msgid "_Hide addresses when sending mail to this list"
msgstr "_Hide addresses when sending mail to this list"
-#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:10
+#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:10
msgid "_List name:"
msgstr "_List name:"
-#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:11
+#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:11
msgid "_Select"
msgstr "_Select"
-#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:12
+#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:12
msgid "_Type an email address or drag a contact into the list below:"
msgstr "_Type an email address or drag a contact into the list below:"
-#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:162
-#: addressbook/gui/widgets/e-addressbook-model.c:296
-#: addressbook/gui/widgets/e-addressbook-reflow-adapter.c:384
-#: addressbook/gui/widgets/e-addressbook-view.c:223
-#: addressbook/gui/widgets/e-minicard-view-widget.c:105
-#: addressbook/gui/widgets/e-minicard-view.c:505
+#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:162
+#: ../addressbook/gui/widgets/e-addressbook-model.c:296
+#: ../addressbook/gui/widgets/e-addressbook-reflow-adapter.c:384
+#: ../addressbook/gui/widgets/e-addressbook-view.c:223
+#: ../addressbook/gui/widgets/e-minicard-view-widget.c:105
+#: ../addressbook/gui/widgets/e-minicard-view.c:505
msgid "Book"
msgstr "Book"
-#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:176
+#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:176
msgid "Is New List"
msgstr "Is New List"
-#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:710
+#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:707
msgid "_Members"
msgstr "_Members"
-#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:713
+#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:710
msgid "Contact List Members"
msgstr "Contact List Members"
-#: addressbook/gui/merging/eab-contact-commit-duplicate-detected.glade.h:1
+#: ../addressbook/gui/merging/eab-contact-commit-duplicate-detected.glade.h:1
msgid "Changed Contact:"
msgstr "Changed Contact:"
-#: addressbook/gui/merging/eab-contact-commit-duplicate-detected.glade.h:2
+#: ../addressbook/gui/merging/eab-contact-commit-duplicate-detected.glade.h:2
msgid "Conflicting Contact:"
msgstr "Conflicting Contact:"
-#: addressbook/gui/merging/eab-contact-commit-duplicate-detected.glade.h:3
-#: addressbook/gui/merging/eab-contact-duplicate-detected.glade.h:1
+#: ../addressbook/gui/merging/eab-contact-commit-duplicate-detected.glade.h:3
+#: ../addressbook/gui/merging/eab-contact-duplicate-detected.glade.h:1
msgid "Duplicate Contact Detected"
msgstr "Duplicate Contact Detected"
-#: addressbook/gui/merging/eab-contact-commit-duplicate-detected.glade.h:4
+#: ../addressbook/gui/merging/eab-contact-commit-duplicate-detected.glade.h:4
msgid ""
"The changed email or name of this contact already\n"
"exists in this folder. Would you like to add it anyway?"
@@ -2523,15 +2540,15 @@ msgstr ""
"The changed email or name of this contact already\n"
"exists in this folder. Would you like to add it anyway?"
-#: addressbook/gui/merging/eab-contact-duplicate-detected.glade.h:2
+#: ../addressbook/gui/merging/eab-contact-duplicate-detected.glade.h:2
msgid "New Contact:"
msgstr "New Contact:"
-#: addressbook/gui/merging/eab-contact-duplicate-detected.glade.h:3
+#: ../addressbook/gui/merging/eab-contact-duplicate-detected.glade.h:3
msgid "Original Contact:"
msgstr "Original Contact:"
-#: addressbook/gui/merging/eab-contact-duplicate-detected.glade.h:4
+#: ../addressbook/gui/merging/eab-contact-duplicate-detected.glade.h:4
msgid ""
"The name or email address of this contact already exists\n"
"in this folder. Would you like to add it anyway?"
@@ -2540,357 +2557,359 @@ msgstr ""
"in this folder. Would you like to add it anyway?"
#. FIXME: get the toplevel window...
-#: addressbook/gui/search/e-addressbook-search-dialog.c:160
-#: widgets/misc/e-filter-bar.c:156
+#: ../addressbook/gui/search/e-addressbook-search-dialog.c:160
+#: ../widgets/misc/e-filter-bar.c:156
msgid "Advanced Search"
msgstr "Advanced Search"
-#: addressbook/gui/widgets/e-addressbook-model.c:148
+#: ../addressbook/gui/widgets/e-addressbook-model.c:148
msgid "No contacts"
msgstr "No contacts"
-#: addressbook/gui/widgets/e-addressbook-model.c:151
+#: ../addressbook/gui/widgets/e-addressbook-model.c:151
#, c-format
msgid "%d contact"
msgid_plural "%d contacts"
msgstr[0] "%d contact"
msgstr[1] "%d contacts"
-#: addressbook/gui/widgets/e-addressbook-model.c:303
-#: addressbook/gui/widgets/e-addressbook-reflow-adapter.c:391
-#: addressbook/gui/widgets/e-addressbook-view.c:237
-#: addressbook/gui/widgets/e-minicard-view-widget.c:112
-#: addressbook/gui/widgets/e-minicard-view.c:512
+#: ../addressbook/gui/widgets/e-addressbook-model.c:303
+#: ../addressbook/gui/widgets/e-addressbook-reflow-adapter.c:391
+#: ../addressbook/gui/widgets/e-addressbook-view.c:237
+#: ../addressbook/gui/widgets/e-minicard-view-widget.c:112
+#: ../addressbook/gui/widgets/e-minicard-view.c:512
msgid "Query"
msgstr "Query"
-#: addressbook/gui/widgets/e-addressbook-model.c:446
+#: ../addressbook/gui/widgets/e-addressbook-model.c:446
msgid "Error getting book view"
msgstr "Error getting book view"
-#: addressbook/gui/widgets/e-addressbook-reflow-adapter.c:405
+#: ../addressbook/gui/widgets/e-addressbook-reflow-adapter.c:405
msgid "Model"
msgstr "Model"
-#: addressbook/gui/widgets/e-addressbook-table-adapter.c:103
+#: ../addressbook/gui/widgets/e-addressbook-table-adapter.c:103
msgid "Error modifying card"
msgstr "Error modifying card"
-#: addressbook/gui/widgets/e-addressbook-view.c:169
+#: ../addressbook/gui/widgets/e-addressbook-view.c:169
msgid "Name begins with"
msgstr "Name begins with"
-#: addressbook/gui/widgets/e-addressbook-view.c:170
+#: ../addressbook/gui/widgets/e-addressbook-view.c:170
msgid "Email begins with"
msgstr "Email begins with"
-#: addressbook/gui/widgets/e-addressbook-view.c:171
-#: calendar/gui/cal-search-bar.c:53
+#: ../addressbook/gui/widgets/e-addressbook-view.c:171
+#: ../calendar/gui/cal-search-bar.c:53
msgid "Category is"
msgstr "Category is"
#. We attach subitems below
-#: addressbook/gui/widgets/e-addressbook-view.c:172
-#: calendar/gui/cal-search-bar.c:48
+#: ../addressbook/gui/widgets/e-addressbook-view.c:172
+#: ../calendar/gui/cal-search-bar.c:48
msgid "Any field contains"
msgstr "Any field contains"
-#: addressbook/gui/widgets/e-addressbook-view.c:173
-#: addressbook/gui/widgets/e-addressbook-view.c:178
+#: ../addressbook/gui/widgets/e-addressbook-view.c:173
+#: ../addressbook/gui/widgets/e-addressbook-view.c:178
msgid "Advanced..."
msgstr "Advanced..."
-#: addressbook/gui/widgets/e-addressbook-view.c:230
+#: ../addressbook/gui/widgets/e-addressbook-view.c:230
msgid "Source"
msgstr "Source"
-#: addressbook/gui/widgets/e-addressbook-view.c:244
-#: calendar/gui/dialogs/meeting-page.etspec.h:11
-#: calendar/gui/e-calendar-table.etspec.h:13
-#: calendar/gui/e-meeting-list-view.c:244
-#: calendar/gui/e-meeting-time-sel.etspec.h:11
+#: ../addressbook/gui/widgets/e-addressbook-view.c:244
+#: ../calendar/gui/dialogs/meeting-page.etspec.h:11
+#: ../calendar/gui/e-calendar-table.etspec.h:13
+#: ../calendar/gui/e-meeting-list-view.c:319
+#: ../calendar/gui/e-meeting-time-sel.etspec.h:11
msgid "Type"
msgstr "Type"
-#: addressbook/gui/widgets/e-addressbook-view.c:541
+#: ../addressbook/gui/widgets/e-addressbook-view.c:541
msgid "Address Book"
msgstr "Address Book"
-#: addressbook/gui/widgets/e-addressbook-view.c:804
-#: addressbook/gui/widgets/e-addressbook-view.c:922
-#: addressbook/gui/widgets/e-addressbook-view.c:1982
-#: ui/evolution-addressbook.xml.h:19
+#: ../addressbook/gui/widgets/e-addressbook-view.c:804
+#: ../addressbook/gui/widgets/e-addressbook-view.c:922
+#: ../addressbook/gui/widgets/e-addressbook-view.c:1982
+#: ../ui/evolution-addressbook.xml.h:19
msgid "Save as VCard..."
msgstr "Save as VCard..."
-#: addressbook/gui/widgets/e-addressbook-view.c:918
+#: ../addressbook/gui/widgets/e-addressbook-view.c:918
msgid "New Contact..."
msgstr "New Contact..."
-#: addressbook/gui/widgets/e-addressbook-view.c:919
+#: ../addressbook/gui/widgets/e-addressbook-view.c:919
msgid "New Contact List..."
msgstr "New Contact List..."
-#: addressbook/gui/widgets/e-addressbook-view.c:923
-#: ui/evolution-addressbook.xml.h:10
+#: ../addressbook/gui/widgets/e-addressbook-view.c:923
+#: ../ui/evolution-addressbook.xml.h:10
msgid "Forward Contact"
msgstr "Forward Contact"
-#: addressbook/gui/widgets/e-addressbook-view.c:924
+#: ../addressbook/gui/widgets/e-addressbook-view.c:924
msgid "Send Message to Contact"
msgstr "Send Message to Contact"
-#: addressbook/gui/widgets/e-addressbook-view.c:925
-#: calendar/gui/calendar-commands.c:120
-#: calendar/gui/print.c:2489
-#: ui/evolution-addressbook.xml.h:16
-#: ui/evolution-calendar.xml.h:19
-#: ui/evolution-mail-message.xml.h:80
-#: ui/evolution-tasks.xml.h:14
+#: ../addressbook/gui/widgets/e-addressbook-view.c:925
+#: ../calendar/gui/calendar-commands.c:120
+#: ../calendar/gui/print.c:2489
+#: ../ui/evolution-addressbook.xml.h:16
+#: ../ui/evolution-calendar.xml.h:19
+#: ../ui/evolution-mail-message.xml.h:80
+#: ../ui/evolution-tasks.xml.h:14
msgid "Print"
msgstr "Print"
-#: addressbook/gui/widgets/e-addressbook-view.c:928
+#: ../addressbook/gui/widgets/e-addressbook-view.c:928
msgid "Copy to Address Book..."
msgstr "Copy to Address Book..."
-#: addressbook/gui/widgets/e-addressbook-view.c:929
+#: ../addressbook/gui/widgets/e-addressbook-view.c:929
msgid "Move to Address Book..."
msgstr "Move to Address Book..."
-#: addressbook/gui/widgets/e-addressbook-view.c:932
-#: ui/evolution-addressbook.xml.h:6
-#: ui/evolution-tasks.xml.h:4
+#: ../addressbook/gui/widgets/e-addressbook-view.c:932
+#: ../ui/evolution-addressbook.xml.h:6
+#: ../ui/evolution-tasks.xml.h:4
msgid "Cut"
msgstr "Cut"
-#: addressbook/gui/widgets/e-addressbook-view.c:933
-#: calendar/gui/calendar-component.c:385
-#: calendar/gui/tasks-component.c:329
-#: ui/evolution-addressbook.xml.h:2
-#: ui/evolution-mail-message.xml.h:9
-#: ui/evolution-tasks.xml.h:2
+#: ../addressbook/gui/widgets/e-addressbook-view.c:933
+#: ../calendar/gui/calendar-component.c:525
+#: ../calendar/gui/tasks-component.c:429
+#: ../ui/evolution-addressbook.xml.h:2
+#: ../ui/evolution-mail-message.xml.h:9
+#: ../ui/evolution-tasks.xml.h:2
msgid "Copy"
msgstr "Copy"
-#: addressbook/gui/widgets/e-addressbook-view.c:934
-#: ui/evolution-addressbook.xml.h:13
-#: ui/evolution-tasks.xml.h:11
+#: ../addressbook/gui/widgets/e-addressbook-view.c:934
+#: ../ui/evolution-addressbook.xml.h:13
+#: ../ui/evolution-tasks.xml.h:11
msgid "Paste"
msgstr "Paste"
#. All, unmatched, separator
-#: addressbook/gui/widgets/e-addressbook-view.c:1537
-#: calendar/gui/cal-search-bar.c:346
+#: ../addressbook/gui/widgets/e-addressbook-view.c:1537
+#: ../calendar/gui/cal-search-bar.c:346
msgid "Any Category"
msgstr "Any Category"
-#: addressbook/gui/widgets/e-addressbook-view.c:1750
+#: ../addressbook/gui/widgets/e-addressbook-view.c:1750
msgid "Print cards"
msgstr "Print cards"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:1
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:1
msgid "Assistant"
msgstr "Assistant"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:2
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:2
msgid "Assistant Phone"
msgstr "Assistant Phone"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:3
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:3
msgid "Business Fax"
msgstr "Business Fax"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:4
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:4
msgid "Business Phone"
msgstr "Business Phone"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:5
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:5
msgid "Business Phone 2"
msgstr "Business Phone 2"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:6
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:6
msgid "Callback Phone"
msgstr "Callback Phone"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:7
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:7
msgid "Car Phone"
msgstr "Car Phone"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:8
-#: calendar/gui/dialogs/task-page.glade.h:6
-#: calendar/gui/e-cal-list-view.etspec.h:1
-#: calendar/gui/e-calendar-table.etspec.h:3
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:8
+#: ../calendar/gui/dialogs/task-page.glade.h:6
+#: ../calendar/gui/e-cal-list-view.etspec.h:1
+#: ../calendar/gui/e-calendar-table.etspec.h:3
msgid "Categories"
msgstr "Categories"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:9
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:9
msgid "Company Phone"
msgstr "Company Phone"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:10
-#: addressbook/gui/widgets/eab-contact-display.c:560
-#: smime/lib/e-cert.c:826
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:10
+#: ../addressbook/gui/widgets/eab-contact-display.c:560
+#: ../smime/lib/e-cert.c:826
msgid "Email"
msgstr "Email"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:11
-#: addressbook/gui/widgets/eab-popup-control.c:441
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:11
+#: ../addressbook/gui/widgets/eab-popup-control.c:441
msgid "Email 2"
msgstr "Email 2"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:12
-#: addressbook/gui/widgets/eab-popup-control.c:451
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:12
+#: ../addressbook/gui/widgets/eab-popup-control.c:451
msgid "Email 3"
msgstr "Email 3"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:13
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:13
msgid "Family Name"
msgstr "Surname"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:14
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:14
msgid "File As"
msgstr "File As"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:16
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:16
msgid "Given Name"
msgstr "Forename"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:17
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:17
msgid "Home Fax"
msgstr "Home Fax"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:18
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:18
msgid "Home Phone"
msgstr "Home Phone"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:19
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:19
msgid "Home Phone 2"
msgstr "Home Phone 2"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:20
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:20
msgid "ISDN Phone"
msgstr "ISDN Phone"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:21
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:21
msgid "Journal"
msgstr "Journal"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:22
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:22
msgid "Manager"
msgstr "Manager"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:23
-#: addressbook/gui/widgets/eab-contact-display.c:379
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:23
+#: ../addressbook/gui/widgets/eab-contact-display.c:379
msgid "Mobile Phone"
msgstr "Mobile Phone"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:24
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:24
msgid "Nickname"
msgstr "Nickname"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:25
-#: addressbook/gui/widgets/eab-contact-display.c:390
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:25
+#: ../addressbook/gui/widgets/eab-contact-display.c:390
msgid "Note"
msgstr "Note"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:26
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:26
msgid "Office"
msgstr "Office"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:27
-#: addressbook/gui/widgets/eab-contact-display.c:360
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:27
+#: ../addressbook/gui/widgets/eab-contact-display.c:360
msgid "Organization"
msgstr "Organisation"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:28
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:28
msgid "Other Fax"
msgstr "Other Fax"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:29
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:29
msgid "Other Phone"
msgstr "Other Phone"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:30
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:30
msgid "Pager"
msgstr "Pager"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:31
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:31
msgid "Primary Phone"
msgstr "Primary Phone"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:32
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:32
msgid "Radio"
msgstr "Radio"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:33
-#: calendar/gui/dialogs/meeting-page.etspec.h:9
-#: calendar/gui/e-meeting-list-view.c:251
-#: calendar/gui/e-meeting-time-sel.etspec.h:9
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:33
+#: ../calendar/gui/dialogs/meeting-page.etspec.h:9
+#: ../calendar/gui/e-meeting-list-view.c:326
+#: ../calendar/gui/e-meeting-time-sel.etspec.h:9
msgid "Role"
msgstr "Role"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:34
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:34
msgid "Spouse"
msgstr "Spouse"
#. Translators: This is a vcard standard and stands for the type of
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:41
+#. (familiar from Unix device names), and TDD is "Telecommunications
+#. abbreviation unchanged unless you know that there is actually a
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:41
msgid "TTYTDD"
msgstr "TTYTDD"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:42
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:42
msgid "Telex"
msgstr "Telex"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:43
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:43
msgid "Title"
msgstr "Title"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:44
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:44
msgid "Unit"
msgstr "Unit"
-#: addressbook/gui/widgets/e-addressbook-view.etspec.h:45
+#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:45
msgid "Web Site"
msgstr "Web Site"
-#: addressbook/gui/widgets/e-minicard-label.c:115
-#: addressbook/gui/widgets/e-minicard.c:137
+#: ../addressbook/gui/widgets/e-minicard-label.c:115
+#: ../addressbook/gui/widgets/e-minicard.c:137
msgid "Width"
msgstr "Width"
-#: addressbook/gui/widgets/e-minicard-label.c:122
-#: addressbook/gui/widgets/e-minicard.c:144
+#: ../addressbook/gui/widgets/e-minicard-label.c:122
+#: ../addressbook/gui/widgets/e-minicard.c:144
msgid "Height"
msgstr "Height"
-#: addressbook/gui/widgets/e-minicard-label.c:129
-#: addressbook/gui/widgets/e-minicard.c:152
+#: ../addressbook/gui/widgets/e-minicard-label.c:129
+#: ../addressbook/gui/widgets/e-minicard.c:152
msgid "Has Focus"
msgstr "Has Focus"
-#: addressbook/gui/widgets/e-minicard-label.c:136
+#: ../addressbook/gui/widgets/e-minicard-label.c:136
msgid "Field"
msgstr "Field"
-#: addressbook/gui/widgets/e-minicard-label.c:143
+#: ../addressbook/gui/widgets/e-minicard-label.c:143
msgid "Field Name"
msgstr "Field Name"
-#: addressbook/gui/widgets/e-minicard-label.c:150
+#: ../addressbook/gui/widgets/e-minicard-label.c:150
msgid "Text Model"
msgstr "Text Model"
-#: addressbook/gui/widgets/e-minicard-label.c:157
+#: ../addressbook/gui/widgets/e-minicard-label.c:157
msgid "Max field name length"
msgstr "Max field name length"
-#: addressbook/gui/widgets/e-minicard-view-widget.c:126
+#: ../addressbook/gui/widgets/e-minicard-view-widget.c:126
msgid "Column Width"
msgstr "Column Width"
-#: addressbook/gui/widgets/e-minicard-view.c:171
+#: ../addressbook/gui/widgets/e-minicard-view.c:171
msgid ""
"\n"
"\n"
@@ -2904,7 +2923,7 @@ msgstr ""
"\n"
"or double-click here to create a new Contact."
-#: addressbook/gui/widgets/e-minicard-view.c:174
+#: ../addressbook/gui/widgets/e-minicard-view.c:174
msgid ""
"\n"
"\n"
@@ -2918,7 +2937,7 @@ msgstr ""
"\n"
"Double-click here to create a new Contact."
-#: addressbook/gui/widgets/e-minicard-view.c:179
+#: ../addressbook/gui/widgets/e-minicard-view.c:179
msgid ""
"\n"
"\n"
@@ -2928,7 +2947,7 @@ msgstr ""
"\n"
"Search for the Contact."
-#: addressbook/gui/widgets/e-minicard-view.c:181
+#: ../addressbook/gui/widgets/e-minicard-view.c:181
msgid ""
"\n"
"\n"
@@ -2938,188 +2957,189 @@ msgstr ""
"\n"
"There are no items to show in this view."
-#: addressbook/gui/widgets/e-minicard-view.c:498
+#: ../addressbook/gui/widgets/e-minicard-view.c:498
msgid "Adapter"
msgstr "Adapter"
-#: addressbook/gui/widgets/e-minicard.c:160
+#: ../addressbook/gui/widgets/e-minicard.c:160
msgid "Selected"
msgstr "Selected"
-#: addressbook/gui/widgets/e-minicard.c:167
+#: ../addressbook/gui/widgets/e-minicard.c:167
msgid "Has Cursor"
msgstr "Has Cursor"
-#: addressbook/gui/widgets/eab-contact-display.c:133
-#: addressbook/gui/widgets/eab-contact-display.c:196
+#: ../addressbook/gui/widgets/eab-contact-display.c:133
+#: ../addressbook/gui/widgets/eab-contact-display.c:196
msgid "(map)"
msgstr "(map)"
-#: addressbook/gui/widgets/eab-contact-display.c:143
-#: addressbook/gui/widgets/eab-contact-display.c:209
+#: ../addressbook/gui/widgets/eab-contact-display.c:143
+#: ../addressbook/gui/widgets/eab-contact-display.c:209
msgid "map"
msgstr "map"
-#: addressbook/gui/widgets/eab-contact-display.c:274
-#: addressbook/gui/widgets/eab-contact-display.c:541
+#: ../addressbook/gui/widgets/eab-contact-display.c:274
+#: ../addressbook/gui/widgets/eab-contact-display.c:541
msgid "List Members"
msgstr "List Members"
-#: addressbook/gui/widgets/eab-contact-display.c:337
-#: addressbook/gui/widgets/eab-contact-display.c:339
+#: ../addressbook/gui/widgets/eab-contact-display.c:337
+#: ../addressbook/gui/widgets/eab-contact-display.c:339
msgid "E-mail"
msgstr "E-mail"
-#: addressbook/gui/widgets/eab-contact-display.c:361
+#: ../addressbook/gui/widgets/eab-contact-display.c:361
msgid "Position"
msgstr "Position"
-#: addressbook/gui/widgets/eab-contact-display.c:362
+#: ../addressbook/gui/widgets/eab-contact-display.c:362
msgid "Video Conferencing"
msgstr "Video Conferencing"
-#: addressbook/gui/widgets/eab-contact-display.c:363
-#: addressbook/gui/widgets/eab-contact-display.c:378
+#: ../addressbook/gui/widgets/eab-contact-display.c:363
+#: ../addressbook/gui/widgets/eab-contact-display.c:378
msgid "Phone"
msgstr "Phone"
-#: addressbook/gui/widgets/eab-contact-display.c:364
+#: ../addressbook/gui/widgets/eab-contact-display.c:364
msgid "Fax"
msgstr "Fax"
-#: addressbook/gui/widgets/eab-contact-display.c:368
+#: ../addressbook/gui/widgets/eab-contact-display.c:368
msgid "work"
msgstr "work"
-#: addressbook/gui/widgets/eab-contact-display.c:375
+#: ../addressbook/gui/widgets/eab-contact-display.c:375
msgid "WWW"
msgstr "WWW"
-#: addressbook/gui/widgets/eab-contact-display.c:376
-#: addressbook/gui/widgets/eab-contact-display.c:595
+#: ../addressbook/gui/widgets/eab-contact-display.c:376
+#: ../addressbook/gui/widgets/eab-contact-display.c:595
msgid "Blog"
msgstr "Blog"
-#: addressbook/gui/widgets/eab-contact-display.c:383
+#: ../addressbook/gui/widgets/eab-contact-display.c:383
msgid "personal"
msgstr "personal"
-#: addressbook/gui/widgets/eab-contact-display.c:556
+#: ../addressbook/gui/widgets/eab-contact-display.c:556
msgid "Job Title"
msgstr "Job Title"
-#: addressbook/gui/widgets/eab-contact-display.c:587
+#: ../addressbook/gui/widgets/eab-contact-display.c:587
msgid "Home page"
msgstr "Home page"
#. E_BOOK_ERROR_OK
-#: addressbook/gui/widgets/eab-gui-util.c:49
+#: ../addressbook/gui/widgets/eab-gui-util.c:49
msgid "Success"
msgstr "Success"
#. E_BOOK_ERROR_INVALID_ARG
-#: addressbook/gui/widgets/eab-gui-util.c:51
+#: ../addressbook/gui/widgets/eab-gui-util.c:51
msgid "Backend busy"
msgstr "Backend busy"
#. E_BOOK_ERROR_REPOSITORY_OFFLINE
-#: addressbook/gui/widgets/eab-gui-util.c:52
+#: ../addressbook/gui/widgets/eab-gui-util.c:52
msgid "Repository offline"
msgstr "Repository offline"
#. E_BOOK_ERROR_NO_SUCH_BOOK
-#: addressbook/gui/widgets/eab-gui-util.c:53
+#: ../addressbook/gui/widgets/eab-gui-util.c:53
msgid "Address Book does not exist"
msgstr "Address Book does not exist"
#. E_BOOK_ERROR_NO_SELF_CONTACT
-#: addressbook/gui/widgets/eab-gui-util.c:54
+#: ../addressbook/gui/widgets/eab-gui-util.c:54
msgid "No Self Contact defined"
msgstr "No Self Contact defined"
#. E_BOOK_ERROR_URI_NOT_LOADED
-#: addressbook/gui/widgets/eab-gui-util.c:57
+#. E_BOOK_ERROR_PERMISSION_DENIED
+#: ../addressbook/gui/widgets/eab-gui-util.c:57
msgid "Permission denied"
msgstr "Permission denied"
#. E_BOOK_ERROR_CONTACT_NOT_FOUND
-#: addressbook/gui/widgets/eab-gui-util.c:58
+#: ../addressbook/gui/widgets/eab-gui-util.c:58
msgid "Contact not found"
msgstr "Contact not found"
#. E_BOOK_ERROR_CONTACT_ID_ALREADY_EXISTS
-#: addressbook/gui/widgets/eab-gui-util.c:59
+#: ../addressbook/gui/widgets/eab-gui-util.c:59
msgid "Contact ID already exists"
msgstr "Contact ID already exists"
#. E_BOOK_ERROR_PROTOCOL_NOT_SUPPORTED
-#: addressbook/gui/widgets/eab-gui-util.c:60
+#: ../addressbook/gui/widgets/eab-gui-util.c:60
msgid "Protocol not supported"
msgstr "Protocol not supported"
#. E_BOOK_ERROR_CANCELLED
-#: addressbook/gui/widgets/eab-gui-util.c:61
-#: calendar/gui/dialogs/task-details-page.glade.h:3
-#: calendar/gui/e-cal-component-preview.c:232
-#: calendar/gui/e-cal-model-tasks.c:347
-#: calendar/gui/e-cal-model-tasks.c:660
-#: calendar/gui/e-calendar-table.c:458
-#: calendar/gui/print.c:2352
+#: ../addressbook/gui/widgets/eab-gui-util.c:61
+#: ../calendar/gui/dialogs/task-details-page.glade.h:3
+#: ../calendar/gui/e-cal-component-preview.c:232
+#: ../calendar/gui/e-cal-model-tasks.c:347
+#: ../calendar/gui/e-cal-model-tasks.c:660
+#: ../calendar/gui/e-calendar-table.c:458
+#: ../calendar/gui/print.c:2352
msgid "Cancelled"
msgstr "Cancelled"
#. E_BOOK_ERROR_COULD_NOT_CANCEL
-#: addressbook/gui/widgets/eab-gui-util.c:62
+#: ../addressbook/gui/widgets/eab-gui-util.c:62
msgid "Could not cancel"
msgstr "Could not cancel"
#. E_BOOK_ERROR_AUTHENTICATION_FAILED
-#: addressbook/gui/widgets/eab-gui-util.c:63
-#: calendar/gui/comp-editor-factory.c:431
+#: ../addressbook/gui/widgets/eab-gui-util.c:63
+#: ../calendar/gui/comp-editor-factory.c:431
msgid "Authentication Failed"
msgstr "Authentication Failed"
#. E_BOOK_ERROR_AUTHENTICATION_REQUIRED
-#: addressbook/gui/widgets/eab-gui-util.c:64
+#: ../addressbook/gui/widgets/eab-gui-util.c:64
msgid "Authentication Required"
msgstr "Authentication Required"
#. E_BOOK_ERROR_TLS_NOT_AVAILABLE
-#: addressbook/gui/widgets/eab-gui-util.c:65
+#: ../addressbook/gui/widgets/eab-gui-util.c:65
msgid "TLS not Available"
msgstr "TLS not Available"
#. E_BOOK_ERROR_CORBA_EXCEPTION
-#: addressbook/gui/widgets/eab-gui-util.c:67
+#: ../addressbook/gui/widgets/eab-gui-util.c:67
msgid "No such source"
msgstr "No such source"
#. E_BOOK_ERROR_OTHER_ERROR
-#: addressbook/gui/widgets/eab-gui-util.c:68
+#: ../addressbook/gui/widgets/eab-gui-util.c:68
msgid "Other error"
msgstr "Other error"
-#: addressbook/gui/widgets/eab-gui-util.c:90
+#: ../addressbook/gui/widgets/eab-gui-util.c:90
msgid "We were unable to open this addressbook. This either means this book is not marked for offline usage or not yet downloaded for offline usage. Please load the addressbook once in online mode to download its contents"
msgstr "We were unable to open this addressbook. This either means this book is not marked for offline usage or not yet downloaded for offline usage. Please load the addressbook once in online mode to download its contents"
-#: addressbook/gui/widgets/eab-gui-util.c:98
+#: ../addressbook/gui/widgets/eab-gui-util.c:98
msgid "We were unable to open this addressbook. Please check that the path exists and that you have permission to access it."
msgstr "We were unable to open this addressbook. Please check that the path exists and that you have permission to access it."
-#: addressbook/gui/widgets/eab-gui-util.c:105
+#: ../addressbook/gui/widgets/eab-gui-util.c:105
msgid "We were unable to open this addressbook. This either means you have entered an incorrect URI, or the LDAP server is unreachable."
msgstr "We were unable to open this addressbook. This either means you have entered an incorrect URI, or the LDAP server is unreachable."
-#: addressbook/gui/widgets/eab-gui-util.c:110
+#: ../addressbook/gui/widgets/eab-gui-util.c:110
msgid "This version of Evolution does not have LDAP support compiled in to it. If you want to use LDAP in Evolution, you must install an LDAP-enabled Evolution package."
msgstr "This version of Evolution does not have LDAP support compiled in to it. If you want to use LDAP in Evolution, you must install an LDAP-enabled Evolution package."
-#: addressbook/gui/widgets/eab-gui-util.c:117
+#: ../addressbook/gui/widgets/eab-gui-util.c:117
msgid "We were unable to open this addressbook. This either means you have entered an incorrect URI, or the server is unreachable."
msgstr "We were unable to open this addressbook. This either means you have entered an incorrect URI, or the server is unreachable."
-#: addressbook/gui/widgets/eab-gui-util.c:137
+#: ../addressbook/gui/widgets/eab-gui-util.c:137
msgid ""
"More cards matched this query than either the server is \n"
"configured to return or Evolution is configured to display.\n"
@@ -3131,7 +3151,7 @@ msgstr ""
"Please make your search more specific or raise the result limit in\n"
"the directory server preferences for this addressbook."
-#: addressbook/gui/widgets/eab-gui-util.c:143
+#: ../addressbook/gui/widgets/eab-gui-util.c:143
msgid ""
"The time to execute this query exceeded the server limit or the limit\n"
"you have configured for this addressbook. Please make your search\n"
@@ -3143,45 +3163,45 @@ msgstr ""
"more specific or raise the time limit in the directory server\n"
"preferences for this addressbook."
-#: addressbook/gui/widgets/eab-gui-util.c:149
+#: ../addressbook/gui/widgets/eab-gui-util.c:149
msgid "The backend for this addressbook was unable to parse this query."
msgstr "The backend for this addressbook was unable to parse this query."
-#: addressbook/gui/widgets/eab-gui-util.c:152
+#: ../addressbook/gui/widgets/eab-gui-util.c:152
msgid "The backend for this addressbook refused to perform this query."
msgstr "The backend for this addressbook refused to perform this query."
-#: addressbook/gui/widgets/eab-gui-util.c:155
+#: ../addressbook/gui/widgets/eab-gui-util.c:155
msgid "This query did not complete successfully."
msgstr "This query did not complete successfully."
-#: addressbook/gui/widgets/eab-gui-util.c:177
+#: ../addressbook/gui/widgets/eab-gui-util.c:177
msgid "Error adding list"
msgstr "Error adding list"
-#: addressbook/gui/widgets/eab-gui-util.c:177
-#: addressbook/gui/widgets/eab-gui-util.c:650
+#: ../addressbook/gui/widgets/eab-gui-util.c:177
+#: ../addressbook/gui/widgets/eab-gui-util.c:650
msgid "Error adding contact"
msgstr "Error adding contact"
-#: addressbook/gui/widgets/eab-gui-util.c:188
+#: ../addressbook/gui/widgets/eab-gui-util.c:188
msgid "Error modifying list"
msgstr "Error modifying list"
-#: addressbook/gui/widgets/eab-gui-util.c:188
+#: ../addressbook/gui/widgets/eab-gui-util.c:188
msgid "Error modifying contact"
msgstr "Error modifying contact"
-#: addressbook/gui/widgets/eab-gui-util.c:200
+#: ../addressbook/gui/widgets/eab-gui-util.c:200
msgid "Error removing list"
msgstr "Error removing list"
-#: addressbook/gui/widgets/eab-gui-util.c:200
-#: addressbook/gui/widgets/eab-gui-util.c:608
+#: ../addressbook/gui/widgets/eab-gui-util.c:200
+#: ../addressbook/gui/widgets/eab-gui-util.c:608
msgid "Error removing contact"
msgstr "Error removing contact"
-#: addressbook/gui/widgets/eab-gui-util.c:282
+#: ../addressbook/gui/widgets/eab-gui-util.c:282
#, c-format
msgid ""
"Opening %d contact will open %d new window as well.\n"
@@ -3196,7 +3216,7 @@ msgstr[1] ""
"Opening %d contacts will open %d new windows as well.\n"
"Do you really want to display all of these contacts?"
-#: addressbook/gui/widgets/eab-gui-util.c:311
+#: ../addressbook/gui/widgets/eab-gui-util.c:311
#, c-format
msgid ""
"%s already exists\n"
@@ -3205,921 +3225,922 @@ msgstr ""
"%s already exists\n"
"Do you want to overwrite it?"
-#: addressbook/gui/widgets/eab-gui-util.c:315
+#: ../addressbook/gui/widgets/eab-gui-util.c:315
msgid "Overwrite"
msgstr "Overwrite"
#. This is a filename. Translators take note.
-#: addressbook/gui/widgets/eab-gui-util.c:393
+#: ../addressbook/gui/widgets/eab-gui-util.c:393
msgid "card.vcf"
msgstr "card.vcf"
-#: addressbook/gui/widgets/eab-gui-util.c:555
+#: ../addressbook/gui/widgets/eab-gui-util.c:555
msgid "list"
msgstr "list"
-#: addressbook/gui/widgets/eab-gui-util.c:704
+#: ../addressbook/gui/widgets/eab-gui-util.c:704
msgid "Move contact to"
msgstr "Move contact to"
-#: addressbook/gui/widgets/eab-gui-util.c:706
+#: ../addressbook/gui/widgets/eab-gui-util.c:706
msgid "Copy contact to"
msgstr "Copy contact to"
-#: addressbook/gui/widgets/eab-gui-util.c:709
+#: ../addressbook/gui/widgets/eab-gui-util.c:709
msgid "Move contacts to"
msgstr "Move contacts to"
-#: addressbook/gui/widgets/eab-gui-util.c:711
+#: ../addressbook/gui/widgets/eab-gui-util.c:711
msgid "Copy contacts to"
msgstr "Copy contacts to"
-#: addressbook/gui/widgets/eab-gui-util.c:714
+#: ../addressbook/gui/widgets/eab-gui-util.c:714
msgid "Select target addressbook."
msgstr "Select target addressbook."
-#: addressbook/gui/widgets/eab-gui-util.c:937
+#: ../addressbook/gui/widgets/eab-gui-util.c:937
msgid "Multiple VCards"
msgstr "Multiple VCards"
-#: addressbook/gui/widgets/eab-gui-util.c:940
+#: ../addressbook/gui/widgets/eab-gui-util.c:940
#, c-format
msgid "VCard for %s"
msgstr "VCard for %s"
#. * This is the code for the UI thingie that lets you manipulate the e-mail
-#: addressbook/gui/widgets/eab-popup-control.c:198
+#. * contact.
+#: ../addressbook/gui/widgets/eab-popup-control.c:198
msgid "(none)"
msgstr "(none)"
-#: addressbook/gui/widgets/eab-popup-control.c:431
+#: ../addressbook/gui/widgets/eab-popup-control.c:431
msgid "Primary Email"
msgstr "Primary Email"
-#: addressbook/gui/widgets/eab-popup-control.c:567
+#: ../addressbook/gui/widgets/eab-popup-control.c:567
msgid "Select an Action"
msgstr "Select an Action"
-#: addressbook/gui/widgets/eab-popup-control.c:575
+#: ../addressbook/gui/widgets/eab-popup-control.c:575
#, c-format
msgid "Create a new contact \"%s\""
msgstr "Create a new contact \"%s\""
-#: addressbook/gui/widgets/eab-popup-control.c:591
+#: ../addressbook/gui/widgets/eab-popup-control.c:591
#, c-format
msgid "Add address to existing contact \"%s\""
msgstr "Add address to existing contact \"%s\""
-#: addressbook/gui/widgets/eab-popup-control.c:869
+#: ../addressbook/gui/widgets/eab-popup-control.c:869
msgid "Querying Address Book..."
msgstr "Querying Address Book..."
-#: addressbook/gui/widgets/eab-popup-control.c:970
+#: ../addressbook/gui/widgets/eab-popup-control.c:970
msgid "Merge E-Mail Address"
msgstr "Merge E-Mail Address"
-#: addressbook/gui/widgets/eab-vcard-control.c:139
+#: ../addressbook/gui/widgets/eab-vcard-control.c:139
#, c-format
msgid "There is one other contact."
msgid_plural "There are %d other contacts."
msgstr[0] "There is one other contact."
msgstr[1] "There are %d other contacts."
-#: addressbook/gui/widgets/eab-vcard-control.c:223
-#: addressbook/gui/widgets/eab-vcard-control.c:272
+#: ../addressbook/gui/widgets/eab-vcard-control.c:223
+#: ../addressbook/gui/widgets/eab-vcard-control.c:272
msgid "Show Full VCard"
msgstr "Show Full VCard"
-#: addressbook/gui/widgets/eab-vcard-control.c:227
+#: ../addressbook/gui/widgets/eab-vcard-control.c:227
msgid "Show Compact VCard"
msgstr "Show Compact VCard"
-#: addressbook/gui/widgets/eab-vcard-control.c:277
+#: ../addressbook/gui/widgets/eab-vcard-control.c:277
msgid "Save in addressbook"
msgstr "Save in addressbook"
-#: addressbook/gui/widgets/gal-view-factory-minicard.c:25
+#: ../addressbook/gui/widgets/gal-view-factory-minicard.c:25
msgid "Card View"
msgstr "Card View"
-#: addressbook/gui/widgets/gal-view-factory-treeview.c:26
+#: ../addressbook/gui/widgets/gal-view-factory-treeview.c:26
msgid "GTK Tree View"
msgstr "GTK Tree View"
-#: addressbook/importers/GNOME_Evolution_Addressbook_LDIF_Importer.server.in.in.h:1
+#: ../addressbook/importers/GNOME_Evolution_Addressbook_LDIF_Importer.server.in.in.h:1
msgid "Evolution LDIF importer"
msgstr "Evolution LDIF importer"
-#: addressbook/importers/GNOME_Evolution_Addressbook_LDIF_Importer.server.in.in.h:2
+#: ../addressbook/importers/GNOME_Evolution_Addressbook_LDIF_Importer.server.in.in.h:2
msgid "LDAP Data Interchange Format (.ldif)"
msgstr "LDAP Data Interchange Format (.ldif)"
-#: addressbook/importers/GNOME_Evolution_Addressbook_VCard_Importer.server.in.in.h:1
+#: ../addressbook/importers/GNOME_Evolution_Addressbook_VCard_Importer.server.in.in.h:1
msgid "Evolution VCard Importer"
msgstr "Evolution VCard Importer"
-#: addressbook/importers/GNOME_Evolution_Addressbook_VCard_Importer.server.in.in.h:2
+#: ../addressbook/importers/GNOME_Evolution_Addressbook_VCard_Importer.server.in.in.h:2
msgid "VCard (.vcf, .gcrd)"
msgstr "VCard (.vcf, .gcrd)"
-#: addressbook/printing/e-contact-print-envelope.c:213
-#: addressbook/printing/e-contact-print-envelope.c:234
+#: ../addressbook/printing/e-contact-print-envelope.c:213
+#: ../addressbook/printing/e-contact-print-envelope.c:234
msgid "Print envelope"
msgstr "Print envelope"
-#: addressbook/printing/e-contact-print.c:1001
+#: ../addressbook/printing/e-contact-print.c:1001
msgid "Print contacts"
msgstr "Print contacts"
-#: addressbook/printing/e-contact-print.c:1066
-#: addressbook/printing/e-contact-print.c:1093
+#: ../addressbook/printing/e-contact-print.c:1066
+#: ../addressbook/printing/e-contact-print.c:1093
msgid "Print contact"
msgstr "Print contact"
-#: addressbook/printing/e-contact-print.glade.h:1
+#: ../addressbook/printing/e-contact-print.glade.h:1
msgid "10 pt. Tahoma"
msgstr "10 pt. Tahoma"
-#: addressbook/printing/e-contact-print.glade.h:2
+#: ../addressbook/printing/e-contact-print.glade.h:2
msgid "8 pt. Tahoma"
msgstr "8 pt. Tahoma"
-#: addressbook/printing/e-contact-print.glade.h:3
+#: ../addressbook/printing/e-contact-print.glade.h:3
msgid "Blank forms at end:"
msgstr "Blank forms at end:"
-#: addressbook/printing/e-contact-print.glade.h:4
+#: ../addressbook/printing/e-contact-print.glade.h:4
msgid "Body"
msgstr "Body"
-#: addressbook/printing/e-contact-print.glade.h:5
+#: ../addressbook/printing/e-contact-print.glade.h:5
msgid "Bottom:"
msgstr "Bottom:"
-#: addressbook/printing/e-contact-print.glade.h:6
+#: ../addressbook/printing/e-contact-print.glade.h:6
msgid "Dimensions:"
msgstr "Dimensions:"
-#: addressbook/printing/e-contact-print.glade.h:7
+#: ../addressbook/printing/e-contact-print.glade.h:7
msgid "F_ont..."
msgstr "F_ont..."
-#: addressbook/printing/e-contact-print.glade.h:8
+#: ../addressbook/printing/e-contact-print.glade.h:8
msgid "Fonts"
msgstr "Fonts"
-#: addressbook/printing/e-contact-print.glade.h:9
+#: ../addressbook/printing/e-contact-print.glade.h:9
msgid "Footer:"
msgstr "Footer:"
-#: addressbook/printing/e-contact-print.glade.h:10
+#: ../addressbook/printing/e-contact-print.glade.h:10
msgid "Format"
msgstr "Format"
-#: addressbook/printing/e-contact-print.glade.h:11
+#: ../addressbook/printing/e-contact-print.glade.h:11
msgid "Header"
msgstr "Header"
-#: addressbook/printing/e-contact-print.glade.h:12
+#: ../addressbook/printing/e-contact-print.glade.h:12
msgid "Header/Footer"
msgstr "Header/Footer"
-#: addressbook/printing/e-contact-print.glade.h:13
+#: ../addressbook/printing/e-contact-print.glade.h:13
msgid "Headings"
msgstr "Headings"
-#: addressbook/printing/e-contact-print.glade.h:14
+#: ../addressbook/printing/e-contact-print.glade.h:14
msgid "Headings for each letter"
msgstr "Headings for each letter"
-#: addressbook/printing/e-contact-print.glade.h:15
+#: ../addressbook/printing/e-contact-print.glade.h:15
msgid "Height:"
msgstr "Height:"
-#: addressbook/printing/e-contact-print.glade.h:16
+#: ../addressbook/printing/e-contact-print.glade.h:16
msgid "Immediately follow each other"
msgstr "Immediately follow each other"
-#: addressbook/printing/e-contact-print.glade.h:17
+#: ../addressbook/printing/e-contact-print.glade.h:17
msgid "Include:"
msgstr "Include:"
-#: addressbook/printing/e-contact-print.glade.h:18
+#: ../addressbook/printing/e-contact-print.glade.h:18
msgid "Landscape"
msgstr "Landscape"
-#: addressbook/printing/e-contact-print.glade.h:19
+#: ../addressbook/printing/e-contact-print.glade.h:19
msgid "Left:"
msgstr "Left:"
-#: addressbook/printing/e-contact-print.glade.h:20
+#: ../addressbook/printing/e-contact-print.glade.h:20
msgid "Letter tabs on side"
msgstr "Letter tabs on side"
-#: addressbook/printing/e-contact-print.glade.h:21
+#: ../addressbook/printing/e-contact-print.glade.h:21
msgid "Margins"
msgstr "Margins"
-#: addressbook/printing/e-contact-print.glade.h:22
+#: ../addressbook/printing/e-contact-print.glade.h:22
msgid "Number of columns:"
msgstr "Number of columns:"
-#: addressbook/printing/e-contact-print.glade.h:23
+#: ../addressbook/printing/e-contact-print.glade.h:23
msgid "Options"
msgstr "Options"
-#: addressbook/printing/e-contact-print.glade.h:24
-#: e-util/eggtrayicon.c:118
+#: ../addressbook/printing/e-contact-print.glade.h:24
+#: ../e-util/eggtrayicon.c:118
msgid "Orientation"
msgstr "Orientation"
-#: addressbook/printing/e-contact-print.glade.h:25
+#: ../addressbook/printing/e-contact-print.glade.h:25
msgid "Page"
msgstr "Page"
-#: addressbook/printing/e-contact-print.glade.h:26
+#: ../addressbook/printing/e-contact-print.glade.h:26
msgid "Page Setup:"
msgstr "Page Setup:"
-#: addressbook/printing/e-contact-print.glade.h:27
+#: ../addressbook/printing/e-contact-print.glade.h:27
msgid "Paper"
msgstr "Paper"
-#: addressbook/printing/e-contact-print.glade.h:28
+#: ../addressbook/printing/e-contact-print.glade.h:28
msgid "Paper source:"
msgstr "Paper source:"
-#: addressbook/printing/e-contact-print.glade.h:29
+#: ../addressbook/printing/e-contact-print.glade.h:29
msgid "Portrait"
msgstr "Portrait"
-#: addressbook/printing/e-contact-print.glade.h:30
+#: ../addressbook/printing/e-contact-print.glade.h:30
msgid "Preview:"
msgstr "Preview:"
-#: addressbook/printing/e-contact-print.glade.h:31
+#: ../addressbook/printing/e-contact-print.glade.h:31
msgid "Print using gray shading"
msgstr "Print using grey shading"
-#: addressbook/printing/e-contact-print.glade.h:32
+#: ../addressbook/printing/e-contact-print.glade.h:32
msgid "Reverse on even pages"
msgstr "Reverse on even pages"
-#: addressbook/printing/e-contact-print.glade.h:33
+#: ../addressbook/printing/e-contact-print.glade.h:33
msgid "Right:"
msgstr "Right:"
-#: addressbook/printing/e-contact-print.glade.h:34
+#: ../addressbook/printing/e-contact-print.glade.h:34
msgid "Sections:"
msgstr "Sections:"
-#: addressbook/printing/e-contact-print.glade.h:35
+#: ../addressbook/printing/e-contact-print.glade.h:35
msgid "Shading"
msgstr "Shading"
-#: addressbook/printing/e-contact-print.glade.h:36
+#: ../addressbook/printing/e-contact-print.glade.h:36
msgid "Size:"
msgstr "Size:"
-#: addressbook/printing/e-contact-print.glade.h:37
+#: ../addressbook/printing/e-contact-print.glade.h:37
msgid "Start on a new page"
msgstr "Start on a new page"
-#: addressbook/printing/e-contact-print.glade.h:38
+#: ../addressbook/printing/e-contact-print.glade.h:38
msgid "Style name:"
msgstr "Style name:"
-#: addressbook/printing/e-contact-print.glade.h:39
+#: ../addressbook/printing/e-contact-print.glade.h:39
msgid "Top:"
msgstr "Top:"
-#: addressbook/printing/e-contact-print.glade.h:40
-#: calendar/gui/dialogs/calendar-setup.c:175
+#: ../addressbook/printing/e-contact-print.glade.h:40
+#: ../calendar/gui/dialogs/calendar-setup.c:175
msgid "Type:"
msgstr "Type:"
-#: addressbook/printing/e-contact-print.glade.h:41
+#: ../addressbook/printing/e-contact-print.glade.h:41
msgid "Width:"
msgstr "Width:"
-#: addressbook/printing/e-contact-print.glade.h:42
+#: ../addressbook/printing/e-contact-print.glade.h:42
msgid "_Font..."
msgstr "_Font..."
-#: addressbook/printing/test-contact-print-style-editor.c:53
+#: ../addressbook/printing/test-contact-print-style-editor.c:53
msgid "Contact Print Style Editor Test"
msgstr "Contact Print Style Editor Test"
-#: addressbook/printing/test-contact-print-style-editor.c:54
-#: addressbook/printing/test-print.c:53
+#: ../addressbook/printing/test-contact-print-style-editor.c:54
+#: ../addressbook/printing/test-print.c:53
msgid "Copyright (C) 2000, Ximian, Inc."
msgstr "Copyright (C) 2000, Ximian, Inc."
-#: addressbook/printing/test-contact-print-style-editor.c:56
+#: ../addressbook/printing/test-contact-print-style-editor.c:56
msgid "This should test the contact print style editor widget"
msgstr "This should test the contact print style editor widget"
-#: addressbook/printing/test-print.c:52
+#: ../addressbook/printing/test-print.c:52
msgid "Contact Print Test"
msgstr "Contact Print Test"
-#: addressbook/printing/test-print.c:55
+#: ../addressbook/printing/test-print.c:55
msgid "This should test the contact print code"
msgstr "This should test the contact print code"
-#: addressbook/tools/evolution-addressbook-export-list-cards.c:657
-#: addressbook/tools/evolution-addressbook-export-list-cards.c:693
-#: addressbook/tools/evolution-addressbook-export-list-folders.c:49
+#: ../addressbook/tools/evolution-addressbook-export-list-cards.c:657
+#: ../addressbook/tools/evolution-addressbook-export-list-cards.c:693
+#: ../addressbook/tools/evolution-addressbook-export-list-folders.c:49
msgid "Can not open file"
msgstr "Can not open file"
-#: addressbook/tools/evolution-addressbook-export-list-folders.c:43
+#: ../addressbook/tools/evolution-addressbook-export-list-folders.c:43
msgid "Couldn't get list of addressbooks"
msgstr "Couldn't get list of addressbooks"
-#: addressbook/tools/evolution-addressbook-export-list-folders.c:71
+#: ../addressbook/tools/evolution-addressbook-export-list-folders.c:71
msgid "failed to open book"
msgstr "failed to open book"
-#: addressbook/tools/evolution-addressbook-export.c:56
+#: ../addressbook/tools/evolution-addressbook-export.c:56
msgid "Specify the output file instead of standard output"
msgstr "Specify the output file instead of standard output"
-#: addressbook/tools/evolution-addressbook-export.c:57
+#: ../addressbook/tools/evolution-addressbook-export.c:57
msgid "OUTPUTFILE"
msgstr "OUTPUTFILE"
-#: addressbook/tools/evolution-addressbook-export.c:58
+#: ../addressbook/tools/evolution-addressbook-export.c:58
msgid "List local addressbook folders"
msgstr "List local addressbook folders"
-#: addressbook/tools/evolution-addressbook-export.c:60
+#: ../addressbook/tools/evolution-addressbook-export.c:60
msgid "Show cards as vcard or csv file"
msgstr "Show cards as vcard or csv file"
-#: addressbook/tools/evolution-addressbook-export.c:60
+#: ../addressbook/tools/evolution-addressbook-export.c:60
msgid "[vcard|csv]"
msgstr "[vcard|csv]"
-#: addressbook/tools/evolution-addressbook-export.c:61
+#: ../addressbook/tools/evolution-addressbook-export.c:61
msgid "Export in asynchronous mode"
msgstr "Export in asynchronous mode"
-#: addressbook/tools/evolution-addressbook-export.c:63
+#: ../addressbook/tools/evolution-addressbook-export.c:63
msgid "The number of cards in one output file in asychronous mode, default size 100."
msgstr "The number of cards in one output file in asychronous mode, default size 100."
-#: addressbook/tools/evolution-addressbook-export.c:63
+#: ../addressbook/tools/evolution-addressbook-export.c:63
msgid "NUMBER"
msgstr "NUMBER"
-#: addressbook/tools/evolution-addressbook-export.c:91
+#: ../addressbook/tools/evolution-addressbook-export.c:91
msgid "Command line arguments error, please use --help option to see the usage."
msgstr "Command line arguments error, please use --help option to see the usage."
-#: addressbook/tools/evolution-addressbook-export.c:105
+#: ../addressbook/tools/evolution-addressbook-export.c:105
msgid "Only support csv or vcard format."
msgstr "Only support csv or vcard format."
-#: addressbook/tools/evolution-addressbook-export.c:114
+#: ../addressbook/tools/evolution-addressbook-export.c:114
msgid "In async mode, output must be file."
msgstr "In async mode, output must be file."
-#: addressbook/tools/evolution-addressbook-export.c:122
+#: ../addressbook/tools/evolution-addressbook-export.c:122
msgid "In normal mode, there is no need for the size option."
msgstr "In normal mode, there is no need for the size option."
-#: addressbook/tools/evolution-addressbook-export.c:153
+#: ../addressbook/tools/evolution-addressbook-export.c:153
msgid "Unhandled error"
msgstr "Unhandled error"
-#: addressbook/tools/evolution-addressbook-import.c:46
+#: ../addressbook/tools/evolution-addressbook-import.c:46
msgid "Error loading default addressbook."
msgstr "Error loading default addressbook."
-#: addressbook/tools/evolution-addressbook-import.c:67
+#: ../addressbook/tools/evolution-addressbook-import.c:67
msgid "Input File"
msgstr "Input File"
-#: addressbook/tools/evolution-addressbook-import.c:82
+#: ../addressbook/tools/evolution-addressbook-import.c:82
msgid "No filename provided."
msgstr "No filename provided."
#. calendar:prompt-cancel-meeting primary
-#: calendar/calendar-errors.xml.h:2
-#: calendar/calendar-errors.xml.h:12
+#: ../calendar/calendar-errors.xml.h:2
+#: ../calendar/calendar-errors.xml.h:12
msgid "Would you like to send all the participants a cancellation notice?"
msgstr "Would you like to send all the participants a cancellation notice?"
#. calendar:prompt-cancel-meeting secondary
-#: calendar/calendar-errors.xml.h:4
+#: ../calendar/calendar-errors.xml.h:4
msgid "If you don't send a cancellation notice, the other participants may not know the meeting is canceled."
msgstr "If you don't send a cancellation notice, the other participants may not know the meeting is cancelled."
-#: calendar/calendar-errors.xml.h:5
-#: calendar/calendar-errors.xml.h:15
-#: calendar/calendar-errors.xml.h:25
-#: calendar/calendar-errors.xml.h:87
-#: calendar/calendar-errors.xml.h:93
-#: calendar/calendar-errors.xml.h:99
-#: calendar/calendar-errors.xml.h:105
+#: ../calendar/calendar-errors.xml.h:5
+#: ../calendar/calendar-errors.xml.h:15
+#: ../calendar/calendar-errors.xml.h:25
+#: ../calendar/calendar-errors.xml.h:87
+#: ../calendar/calendar-errors.xml.h:93
+#: ../calendar/calendar-errors.xml.h:99
+#: ../calendar/calendar-errors.xml.h:105
msgid "Don't Send"
msgstr "Don't Send"
-#: calendar/calendar-errors.xml.h:6
-#: calendar/calendar-errors.xml.h:16
-#: calendar/calendar-errors.xml.h:26
+#: ../calendar/calendar-errors.xml.h:6
+#: ../calendar/calendar-errors.xml.h:16
+#: ../calendar/calendar-errors.xml.h:26
msgid "Send Notice"
msgstr "Send Notice"
#. calendar:prompt-delete-meeting primary
-#: calendar/calendar-errors.xml.h:8
+#: ../calendar/calendar-errors.xml.h:8
msgid "Are you sure you want to delete this meeting?"
msgstr "Are you sure you want to delete this meeting?"
#. calendar:prompt-delete-meeting secondary
-#: calendar/calendar-errors.xml.h:10
+#: ../calendar/calendar-errors.xml.h:10
msgid "All information on this meeting will be deleted and can not be restored."
msgstr "All information on this meeting will be deleted and can not be restored."
#. calendar:prompt-cancel-task secondary
-#: calendar/calendar-errors.xml.h:14
+#: ../calendar/calendar-errors.xml.h:14
msgid "If you don't send a cancellation notice, the other participants may not know the task has been deleted."
msgstr "If you don't send a cancellation notice, the other participants may not know the task has been deleted."
#. calendar:prompt-delete-task primary
-#: calendar/calendar-errors.xml.h:18
-#: calendar/calendar-errors.xml.h:44
+#: ../calendar/calendar-errors.xml.h:18
+#: ../calendar/calendar-errors.xml.h:44
msgid "Are you sure you want to delete this task?"
msgstr "Are you sure you want to delete this task?"
#. calendar:prompt-delete-task secondary
-#: calendar/calendar-errors.xml.h:20
-#: calendar/calendar-errors.xml.h:42
-#: calendar/calendar-errors.xml.h:46
+#: ../calendar/calendar-errors.xml.h:20
+#: ../calendar/calendar-errors.xml.h:42
+#: ../calendar/calendar-errors.xml.h:46
msgid "All information on this task will be deleted and can not be restored."
msgstr "All information on this task will be deleted and can not be restored."
#. calendar:prompt-cancel-journal primary
-#: calendar/calendar-errors.xml.h:22
+#: ../calendar/calendar-errors.xml.h:22
msgid "Would you like to send a cancellation notice for this journal entry?"
msgstr "Would you like to send a cancellation notice for this journal entry?"
#. calendar:prompt-cancel-journal secondary
-#: calendar/calendar-errors.xml.h:24
+#: ../calendar/calendar-errors.xml.h:24
msgid "If you don't send a cancellation notice, the other participants may not know the journal has been deleted."
msgstr "If you don't send a cancellation notice, the other participants may not know the journal has been deleted."
#. calendar:prompt-delete-journal primary
-#: calendar/calendar-errors.xml.h:28
-#: calendar/calendar-errors.xml.h:52
+#: ../calendar/calendar-errors.xml.h:28
+#: ../calendar/calendar-errors.xml.h:52
msgid "Are you sure you want to delete this journal entry?"
msgstr "Are you sure you want to delete this journal entry?"
#. calendar:prompt-delete-journal secondary
-#: calendar/calendar-errors.xml.h:30
+#: ../calendar/calendar-errors.xml.h:30
msgid "All information on this journal entry will be deleted and can not be restored."
msgstr "All information on this journal entry will be deleted and can not be restored."
#. calendar:prompt-delete-titled-appointment primary
-#: calendar/calendar-errors.xml.h:32
+#: ../calendar/calendar-errors.xml.h:32
msgid "Are you sure you want to delete the appointment titled '{0}'?"
msgstr "Are you sure you want to delete the appointment titled '{0}'?"
#. calendar:prompt-delete-titled-appointment secondary
-#: calendar/calendar-errors.xml.h:34
-#: calendar/calendar-errors.xml.h:38
+#: ../calendar/calendar-errors.xml.h:34
+#: ../calendar/calendar-errors.xml.h:38
msgid "All information on this appointment will be deleted and can not be restored."
msgstr "All information on this appointment will be deleted and can not be restored."
#. calendar:prompt-delete-appointment primary
-#: calendar/calendar-errors.xml.h:36
+#: ../calendar/calendar-errors.xml.h:36
msgid "Are you sure you want to delete this appointment?"
msgstr "Are you sure you want to delete this appointment?"
#. calendar:prompt-delete-named-task primary
-#: calendar/calendar-errors.xml.h:40
+#: ../calendar/calendar-errors.xml.h:40
msgid "Are you sure you want to delete the '{0}' task?"
msgstr "Are you sure you want to delete the '{0}' task?"
#. calendar:prompt-delete-named-journal primary
-#: calendar/calendar-errors.xml.h:48
+#: ../calendar/calendar-errors.xml.h:48
msgid "Are you sure you want to delete the journal entry '{0}'?"
msgstr "Are you sure you want to delete the journal entry '{0}'?"
#. calendar:prompt-delete-named-journal secondary
-#: calendar/calendar-errors.xml.h:50
-#: calendar/calendar-errors.xml.h:54
+#: ../calendar/calendar-errors.xml.h:50
+#: ../calendar/calendar-errors.xml.h:54
msgid "All information in this journal will be deleted and can not be restored."
msgstr "All information in this journal will be deleted and can not be restored."
#. calendar:prompt-delete-appointments primary
-#: calendar/calendar-errors.xml.h:56
+#: ../calendar/calendar-errors.xml.h:56
msgid "Are you sure you want to delete these {0} appointments?"
msgstr "Are you sure you want to delete these {0} appointments?"
#. calendar:prompt-delete-appointments secondary
-#: calendar/calendar-errors.xml.h:58
+#: ../calendar/calendar-errors.xml.h:58
msgid "All information on these appointments will be deleted and can not be restored."
msgstr "All information on these appointments will be deleted and can not be restored."
#. calendar:prompt-delete-tasks primary
-#: calendar/calendar-errors.xml.h:60
+#: ../calendar/calendar-errors.xml.h:60
msgid "Are you sure you want to delete these {0} tasks?"
msgstr "Are you sure you want to delete these {0} tasks?"
#. calendar:prompt-delete-tasks secondary
-#: calendar/calendar-errors.xml.h:62
+#: ../calendar/calendar-errors.xml.h:62
msgid "All information on these tasks will be deleted and can not be restored."
msgstr "All information on these tasks will be deleted and can not be restored."
#. calendar:prompt-delete-journals primary
-#: calendar/calendar-errors.xml.h:64
+#: ../calendar/calendar-errors.xml.h:64
msgid "Are you sure you want to delete these {0} journal entries?"
msgstr "Are you sure you want to delete these {0} journal entries?"
#. calendar:prompt-delete-journals secondary
-#: calendar/calendar-errors.xml.h:66
+#: ../calendar/calendar-errors.xml.h:66
msgid "All information in these journal entries will be deleted and can not be restored."
msgstr "All information in these journal entries will be deleted and can not be restored."
#. calendar:prompt-save-appointment title
-#: calendar/calendar-errors.xml.h:68
+#: ../calendar/calendar-errors.xml.h:68
msgid "Save Appointment"
msgstr "Save Appointment"
#. calendar:prompt-save-appointment primary
-#: calendar/calendar-errors.xml.h:70
+#: ../calendar/calendar-errors.xml.h:70
msgid "Would you like to save your changes to this appointment?"
msgstr "Would you like to save your changes to this appointment?"
#. calendar:prompt-save-appointment secondary
-#: calendar/calendar-errors.xml.h:72
+#: ../calendar/calendar-errors.xml.h:72
msgid "You have made changes to this appointment, but not yet saved them."
msgstr "You have made changes to this appointment, but not yet saved them."
-#: calendar/calendar-errors.xml.h:73
-#: calendar/calendar-errors.xml.h:81
+#: ../calendar/calendar-errors.xml.h:73
+#: ../calendar/calendar-errors.xml.h:81
msgid "Discard Changes"
msgstr "Discard Changes"
-#: calendar/calendar-errors.xml.h:74
-#: calendar/calendar-errors.xml.h:82
+#: ../calendar/calendar-errors.xml.h:74
+#: ../calendar/calendar-errors.xml.h:82
msgid "Save Changes"
msgstr "Save Changes"
# calendar:prompt-save-task title
#. calendar:prompt-save-task title
-#: calendar/calendar-errors.xml.h:76
+#: ../calendar/calendar-errors.xml.h:76
msgid "Save Task"
msgstr "Save Task"
# calendar:prompt-save-task primary
#. calendar:prompt-save-task primary
-#: calendar/calendar-errors.xml.h:78
+#: ../calendar/calendar-errors.xml.h:78
msgid "Would you like to save your changes to this task?"
msgstr "Would you like to save your changes to this task?"
# calendar:prompt-save-task secondary
#. calendar:prompt-save-task secondary
-#: calendar/calendar-errors.xml.h:80
+#: ../calendar/calendar-errors.xml.h:80
msgid "You have made changes to this task, but not yet saved them."
msgstr "You have made changes to this task, but not yet saved them."
#. calendar:prompt-meeting-invite primary
-#: calendar/calendar-errors.xml.h:84
+#: ../calendar/calendar-errors.xml.h:84
msgid "Would you like to send meeting invitations to participants?"
msgstr "Would you like to send meeting invitations to participants?"
#. calendar:prompt-meeting-invite secondary
-#: calendar/calendar-errors.xml.h:86
+#: ../calendar/calendar-errors.xml.h:86
msgid "Email invitations will be sent to all participants and allow them to RSVP."
msgstr "Email invitations will be sent to all participants and allow them to RSVP."
-#: calendar/calendar-errors.xml.h:88
-#: calendar/calendar-errors.xml.h:94
-#: calendar/calendar-errors.xml.h:100
-#: calendar/calendar-errors.xml.h:106
-#: ui/evolution-message-composer.xml.h:24
+#: ../calendar/calendar-errors.xml.h:88
+#: ../calendar/calendar-errors.xml.h:94
+#: ../calendar/calendar-errors.xml.h:100
+#: ../calendar/calendar-errors.xml.h:106
+#: ../ui/evolution-message-composer.xml.h:24
msgid "Send"
msgstr "Send"
#. calendar:prompt-send-updated-meeting-info primary
-#: calendar/calendar-errors.xml.h:90
+#: ../calendar/calendar-errors.xml.h:90
msgid "Would you like to send updated meeting information to participants?"
msgstr "Would you like to send updated meeting information to participants?"
#. calendar:prompt-send-updated-meeting-info secondary
-#: calendar/calendar-errors.xml.h:92
+#: ../calendar/calendar-errors.xml.h:92
msgid "Sending updated information allows other participants to keep their calendars up to date."
msgstr "Sending updated information allows other participants to keep their calendars up to date."
#. calendar:prompt-send-task primary
-#: calendar/calendar-errors.xml.h:96
+#: ../calendar/calendar-errors.xml.h:96
msgid "Would you like to send this task to participants?"
msgstr "Would you like to send this task to participants?"
#. calendar:prompt-send-task secondary
-#: calendar/calendar-errors.xml.h:98
+#: ../calendar/calendar-errors.xml.h:98
msgid "Email invitations will be sent to all participants and allow them to accept this task."
msgstr "Email invitations will be sent to all participants and allow them to accept this task."
#. calendar:prompt-send-updated-task-info primary
-#: calendar/calendar-errors.xml.h:102
+#: ../calendar/calendar-errors.xml.h:102
msgid "Would you like to send updated task information to participants?"
msgstr "Would you like to send updated task information to participants?"
#. calendar:prompt-send-updated-task-info secondary
-#: calendar/calendar-errors.xml.h:104
+#: ../calendar/calendar-errors.xml.h:104
msgid "Sending updated information allows other participants to keep their task lists up to date."
msgstr "Sending updated information allows other participants to keep their task lists up to date."
#. calendar:tasks-crashed primary
-#: calendar/calendar-errors.xml.h:108
+#: ../calendar/calendar-errors.xml.h:108
msgid "The Evolution tasks have quit unexpectedly."
msgstr "The Evolution tasks have quit unexpectedly."
#. calendar:tasks-crashed secondary
-#: calendar/calendar-errors.xml.h:110
+#: ../calendar/calendar-errors.xml.h:110
msgid "Your tasks will not be available until Evolution is restarted."
msgstr "Your tasks will not be available until Evolution is restarted."
#. calendar:calendar-crashed primary
-#: calendar/calendar-errors.xml.h:112
+#: ../calendar/calendar-errors.xml.h:112
msgid "The Evolution calendar has quit unexpectedly."
msgstr "The Evolution calendar has quit unexpectedly."
#. calendar:calendar-crashed secondary
-#: calendar/calendar-errors.xml.h:114
+#: ../calendar/calendar-errors.xml.h:114
msgid "Your calendars will not be available until Evolution is restarted."
msgstr "Your calendars will not be available until Evolution is restarted."
#. calendar:prompt-delete-calendar primary
-#: calendar/calendar-errors.xml.h:116
+#: ../calendar/calendar-errors.xml.h:116
msgid "Delete calendar '{0}'?"
msgstr "Delete calendar '{0}'?"
#. calendar:prompt-delete-calendar secondary
-#: calendar/calendar-errors.xml.h:118
+#: ../calendar/calendar-errors.xml.h:118
msgid "This calendar will be removed permanently."
msgstr "This calendar will be removed permanently."
#. calendar:prompt-delete-task-list primary
-#: calendar/calendar-errors.xml.h:120
+#: ../calendar/calendar-errors.xml.h:120
msgid "Delete task list '{0}'?"
msgstr "Delete task list '{0}'?"
#. calendar:prompt-delete-task-list secondary
-#: calendar/calendar-errors.xml.h:122
+#: ../calendar/calendar-errors.xml.h:122
msgid "This task list will be removed permanently."
msgstr "This task list will be removed permanently."
#. calendar:prompt-send-no-subject-calendar primary
-#: calendar/calendar-errors.xml.h:124
+#: ../calendar/calendar-errors.xml.h:124
msgid "Are you sure you want to send the appointment without a summary?"
msgstr "Are you sure you want to send the appointment without a summary?"
#. calendar:prompt-send-no-subject-calendar secondary
-#: calendar/calendar-errors.xml.h:126
+#: ../calendar/calendar-errors.xml.h:126
msgid "Adding a meaningful Summary to your appointment will give your recipients an idea of what your appointment is about."
msgstr "Adding a meaningful Summary to your appointment will give your recipients an idea of what your appointment is about."
-#: calendar/calendar-errors.xml.h:127
-#: calendar/calendar-errors.xml.h:132
-#: mail/mail-errors.xml.h:15
-#: mail/mail-errors.xml.h:20
-#: mail/mail-errors.xml.h:27
-#: mail/mail-errors.xml.h:32
+#: ../calendar/calendar-errors.xml.h:127
+#: ../calendar/calendar-errors.xml.h:132
+#: ../mail/mail-errors.xml.h:15
+#: ../mail/mail-errors.xml.h:20
+#: ../mail/mail-errors.xml.h:27
+#: ../mail/mail-errors.xml.h:32
msgid "_Send"
msgstr "_Send"
#. calendar:prompt-send-no-subject-task primary
-#: calendar/calendar-errors.xml.h:129
+#: ../calendar/calendar-errors.xml.h:129
msgid "Are you sure you want to send the task without a summary?"
msgstr "Are you sure you want to send the task without a summary?"
#. calendar:prompt-send-no-subject-task secondary
-#: calendar/calendar-errors.xml.h:131
+#: ../calendar/calendar-errors.xml.h:131
msgid "Adding a meaningful Summary to your task will give your recipients an idea of what your task is about."
msgstr "Adding a meaningful Summary to your task will give your recipients an idea of what your task is about."
#. calendar:prompt-no-contents-offline-calendar primary
-#: calendar/calendar-errors.xml.h:134
+#: ../calendar/calendar-errors.xml.h:134
msgid "Error loading calendar"
msgstr "Error loading calendar"
#. calendar:prompt-no-contents-offline-calendar secondary
-#: calendar/calendar-errors.xml.h:136
+#: ../calendar/calendar-errors.xml.h:136
msgid "The calendar is not marked for offline usage"
msgstr "The calendar is not marked for offline usage"
#. calendar:prompt-no-contents-offline-tasks primary
-#: calendar/calendar-errors.xml.h:138
+#: ../calendar/calendar-errors.xml.h:138
msgid "Error loading task list"
msgstr "Error loading task list"
#. calendar:prompt-no-contents-offline-tasks secondary
-#: calendar/calendar-errors.xml.h:140
+#: ../calendar/calendar-errors.xml.h:140
msgid "The task list is not marked for offline usage"
msgstr "The task list is not marked for offline usage"
#. calendar:server-version secondary
-#: calendar/calendar-errors.xml.h:146
-msgid " Some features may not work correctly with your current server version"
-msgstr " Some features may not work correctly with your current server version"
+#: ../calendar/calendar-errors.xml.h:146
+msgid " Some features may not work correctly with your current server version "
+msgstr " Some features may not work correctly with your current server version "
-#: calendar/common/authentication.c:49
-#: calendar/gui/e-pub-utils.c:301
-#: smime/gui/component.c:48
+#: ../calendar/common/authentication.c:49
+#: ../calendar/gui/e-pub-utils.c:301
+#: ../smime/gui/component.c:48
msgid "Enter password"
msgstr "Enter password"
-#: calendar/conduits/calendar/calendar-conduit.c:246
+#: ../calendar/conduits/calendar/calendar-conduit.c:246
msgid "Split Multi-Day Events:"
msgstr "Split Multi-Day Events:"
-#: calendar/conduits/calendar/calendar-conduit.c:1359
-#: calendar/conduits/calendar/calendar-conduit.c:1360
-#: calendar/conduits/todo/todo-conduit.c:879
-#: calendar/conduits/todo/todo-conduit.c:880
+#: ../calendar/conduits/calendar/calendar-conduit.c:1359
+#: ../calendar/conduits/calendar/calendar-conduit.c:1360
+#: ../calendar/conduits/todo/todo-conduit.c:879
+#: ../calendar/conduits/todo/todo-conduit.c:880
msgid "Could not start evolution-data-server"
msgstr "Could not start evolution-data-server"
-#: calendar/conduits/calendar/calendar-conduit.c:1468
-#: calendar/conduits/calendar/calendar-conduit.c:1471
+#: ../calendar/conduits/calendar/calendar-conduit.c:1468
+#: ../calendar/conduits/calendar/calendar-conduit.c:1471
msgid "Could not read pilot's Calendar application block"
msgstr "Could not read pilot's Calendar application block"
-#: calendar/conduits/todo/todo-conduit.c:234
+#: ../calendar/conduits/todo/todo-conduit.c:234
msgid "Default Priority:"
msgstr "Default Priority:"
-#: calendar/conduits/todo/todo-conduit.c:959
-#: calendar/conduits/todo/todo-conduit.c:962
+#: ../calendar/conduits/todo/todo-conduit.c:959
+#: ../calendar/conduits/todo/todo-conduit.c:962
msgid "Could not read pilot's ToDo application block"
msgstr "Could not read pilot's ToDo application block"
-#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:1
+#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:1
msgid "Calendar and Tasks"
msgstr "Calendar and Tasks"
-#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:2
-#: calendar/gui/calendar-component.c:1150
+#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:2
+#: ../calendar/gui/calendar-component.c:1290
msgid "Calendars"
msgstr "Calendars"
-#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:3
+#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:3
msgid "Configure your timezone, Calendar and Task List here "
msgstr "Configure your timezone, Calendar and Task List here "
-#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:4
+#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:4
msgid "Evolution Calendar and Tasks"
msgstr "Evolution Calendar and Tasks"
-#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:5
+#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:5
msgid "Evolution Calendar configuration control"
msgstr "Evolution Calendar configuration control"
-#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:6
+#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:6
msgid "Evolution Calendar scheduling message viewer"
msgstr "Evolution Calendar scheduling message viewer"
-#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:7
+#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:7
msgid "Evolution Calendar/Task editor"
msgstr "Evolution Calendar/Task editor"
-#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:8
+#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:8
msgid "Evolution's Calendar component"
msgstr "Evolution's Calendar component"
-#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:9
+#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:9
msgid "Evolution's Tasks component"
msgstr "Evolution's Tasks component"
-#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:10
-#: calendar/gui/e-tasks.c:1219
-#: calendar/gui/print.c:1822
-#: calendar/gui/tasks-component.c:408
-#: calendar/gui/tasks-component.c:881
-#: calendar/gui/tasks-control.c:408
-#: calendar/importers/icalendar-importer.c:83
-#: calendar/importers/icalendar-importer.c:701
-#: plugins/groupwise-account-setup/camel-gw-listener.c:383
+#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:10
+#: ../calendar/gui/e-tasks.c:1219
+#: ../calendar/gui/print.c:1822
+#: ../calendar/gui/tasks-component.c:508
+#: ../calendar/gui/tasks-component.c:981
+#: ../calendar/gui/tasks-control.c:408
+#: ../calendar/importers/icalendar-importer.c:83
+#: ../calendar/importers/icalendar-importer.c:701
+#: ../plugins/groupwise-account-setup/camel-gw-listener.c:383
msgid "Tasks"
msgstr "Tasks"
-#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:11
+#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:11
msgid "_Calendars"
msgstr "_Calendars"
-#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:12
-#: views/tasks/galview.xml.h:3
+#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:12
+#: ../views/tasks/galview.xml.h:3
msgid "_Tasks"
msgstr "_Tasks"
-#: calendar/gui/alarm-notify/GNOME_Evolution_Calendar_AlarmNotify.server.in.in.h:1
+#: ../calendar/gui/alarm-notify/GNOME_Evolution_Calendar_AlarmNotify.server.in.in.h:1
msgid "Evolution Calendar alarm notification service"
msgstr "Evolution Calendar alarm notification service"
-#: calendar/gui/alarm-notify/alarm-notify-dialog.c:79
+#: ../calendar/gui/alarm-notify/alarm-notify-dialog.c:79
msgid "minute"
msgid_plural "minutes"
msgstr[0] "minute"
msgstr[1] "minutes"
-#: calendar/gui/alarm-notify/alarm-notify.glade.h:1
-#: calendar/gui/dialogs/event-editor.c:140
-#: calendar/gui/print.c:2298
+#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:1
+#: ../calendar/gui/dialogs/event-editor.c:140
+#: ../calendar/gui/print.c:2298
msgid "Appointment"
msgstr "Appointment"
-#: calendar/gui/alarm-notify/alarm-notify.glade.h:2
+#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:2
msgid "Appointment Title"
msgstr "Appointment Title"
#. End time
-#: calendar/gui/alarm-notify/alarm-notify.glade.h:3
-#: plugins/itip-formatter/itip-view.c:876
+#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:3
+#: ../plugins/itip-formatter/itip-view.c:876
msgid "End time:"
msgstr "End time:"
#. Location
-#: calendar/gui/alarm-notify/alarm-notify.glade.h:4
-#: calendar/gui/e-itip-control.c:1118
-#: plugins/itip-formatter/itip-view.c:859
+#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:4
+#: ../calendar/gui/e-itip-control.c:1118
+#: ../plugins/itip-formatter/itip-view.c:859
msgid "Location:"
msgstr "Location:"
-#: calendar/gui/alarm-notify/alarm-notify.glade.h:5
+#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:5
msgid "Snooze _time:"
msgstr "Snooze _time:"
#. Start time
-#: calendar/gui/alarm-notify/alarm-notify.glade.h:6
-#: plugins/itip-formatter/itip-view.c:867
+#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:6
+#: ../plugins/itip-formatter/itip-view.c:867
msgid "Start time:"
msgstr "Start time:"
-#: calendar/gui/alarm-notify/alarm-notify.glade.h:7
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:50
-#: calendar/gui/dialogs/recurrence-page.glade.h:6
-#: filter/filter.glade.h:11
-#: mail/mail-config.glade.h:153
-#: ui/evolution-addressbook.xml.h:34
-#: ui/evolution-calendar.xml.h:41
-#: ui/evolution-composer-entries.xml.h:8
-#: ui/evolution-mail-list.xml.h:24
-#: ui/evolution-mail-messagedisplay.xml.h:6
-#: ui/evolution-message-composer.xml.h:43
-#: ui/evolution-signature-editor.xml.h:12
-#: ui/evolution-subscribe.xml.h:10
-#: ui/evolution-tasks.xml.h:22
-#: ui/evolution.xml.h:38
+#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:7
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:50
+#: ../calendar/gui/dialogs/recurrence-page.glade.h:6
+#: ../filter/filter.glade.h:11
+#: ../mail/mail-config.glade.h:153
+#: ../ui/evolution-addressbook.xml.h:34
+#: ../ui/evolution-calendar.xml.h:41
+#: ../ui/evolution-composer-entries.xml.h:8
+#: ../ui/evolution-mail-list.xml.h:24
+#: ../ui/evolution-mail-messagedisplay.xml.h:6
+#: ../ui/evolution-message-composer.xml.h:43
+#: ../ui/evolution-signature-editor.xml.h:12
+#: ../ui/evolution-subscribe.xml.h:10
+#: ../ui/evolution-tasks.xml.h:22
+#: ../ui/evolution.xml.h:38
msgid "_Edit"
msgstr "_Edit"
-#: calendar/gui/alarm-notify/alarm-notify.glade.h:8
+#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:8
msgid "_Snooze"
msgstr "_Snooze"
-#: calendar/gui/alarm-notify/alarm-notify.glade.h:9
+#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:9
msgid "description of appointment"
msgstr "description of appointment"
-#: calendar/gui/alarm-notify/alarm-notify.glade.h:10
+#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:10
msgid "end-time"
msgstr "end-time"
-#: calendar/gui/alarm-notify/alarm-notify.glade.h:11
+#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:11
msgid "location"
msgstr "location"
-#: calendar/gui/alarm-notify/alarm-notify.glade.h:13
+#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:13
msgid "start-time"
msgstr "start-time"
-#: calendar/gui/alarm-notify/alarm-queue.c:864
+#: ../calendar/gui/alarm-notify/alarm-queue.c:879
msgid "Dismiss"
msgstr "Dismiss"
-#: calendar/gui/alarm-notify/alarm-queue.c:865
+#: ../calendar/gui/alarm-notify/alarm-queue.c:880
msgid "Dismiss All"
msgstr "Dismiss All"
-#: calendar/gui/alarm-notify/alarm-queue.c:947
+#: ../calendar/gui/alarm-notify/alarm-queue.c:962
msgid "No summary available."
msgstr "No summary available."
-#: calendar/gui/alarm-notify/alarm-queue.c:956
-#: calendar/gui/alarm-notify/alarm-queue.c:958
+#: ../calendar/gui/alarm-notify/alarm-queue.c:971
+#: ../calendar/gui/alarm-notify/alarm-queue.c:973
msgid "No description available."
msgstr "No description available."
-#: calendar/gui/alarm-notify/alarm-queue.c:966
+#: ../calendar/gui/alarm-notify/alarm-queue.c:981
msgid "No location information available."
msgstr "No location information available."
-#: calendar/gui/alarm-notify/alarm-queue.c:982
+#: ../calendar/gui/alarm-notify/alarm-queue.c:997
#, c-format
msgid ""
"Alarm on %s\n"
@@ -4132,12 +4153,12 @@ msgstr ""
"Starting at %s\n"
"Ending at %s"
-#: calendar/gui/alarm-notify/alarm-queue.c:1084
-#: calendar/gui/alarm-notify/alarm-queue.c:1108
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1099
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1123
msgid "Warning"
msgstr "Warning"
-#: calendar/gui/alarm-notify/alarm-queue.c:1088
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1103
msgid ""
"Evolution does not support calendar reminders with\n"
"email notifications yet, but this reminder was\n"
@@ -4149,7 +4170,7 @@ msgstr ""
"configured to send an email. Evolution will display\n"
"a normal reminder dialogue box instead."
-#: calendar/gui/alarm-notify/alarm-queue.c:1114
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1129
#, c-format
msgid ""
"An Evolution Calendar reminder is about to trigger. This reminder is configured to run the following program:\n"
@@ -4164,2069 +4185,2095 @@ msgstr ""
"\n"
"Are you sure you want to run this program?"
-#: calendar/gui/alarm-notify/alarm-queue.c:1128
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1143
msgid "Do not ask me about this program again."
msgstr "Do not ask me about this program again."
-#: calendar/gui/alarm-notify/notify-main.c:139
+#: ../calendar/gui/alarm-notify/notify-main.c:139
msgid "Could not initialize Bonobo"
msgstr "Could not initialise Bonobo"
-#: calendar/gui/alarm-notify/notify-main.c:150
+#: ../calendar/gui/alarm-notify/notify-main.c:150
msgid "Could not create the alarm notify service factory"
msgstr "Could not create the alarm notify service factory"
-#: calendar/gui/alarm-notify/util.c:41
+#: ../calendar/gui/alarm-notify/util.c:41
msgid "invalid time"
msgstr "invalid time"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:1
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:1
msgid "Alarm programs"
msgstr "Alarm programs"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:2
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:2
msgid "Ask for confirmation when deleting items"
msgstr "Ask for confirmation when deleting items"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:3
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:3
msgid "Background color of tasks that are due today, in \"#rrggbb\" format."
msgstr "Background colour of tasks that are due today, in \"#rrggbb\" format."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:4
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:4
msgid "Background color of tasks that are overdue, in \"#rrggbb\" format."
msgstr "Background colour of tasks that are overdue, in \"#rrggbb\" format."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:5
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:5
msgid "Calendars to run alarms for"
msgstr "Calendars to run alarms for"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:6
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:6
msgid "Compress weekends in month view"
msgstr "Compress weekends in month view"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:7
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:7
msgid "Confirm expunge"
msgstr "Confirm expunge"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:8
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:8
msgid "Days on which the start and end of work hours should be indicated."
msgstr "Days on which the start and end of work hours should be indicated."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:9
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:9
msgid "Default appointment reminder"
msgstr "Default appointment reminder"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:10
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:10
msgid "Default reminder units"
msgstr "Default reminder units"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:11
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:11
msgid "Default reminder value"
msgstr "Default reminder value"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:12
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:12
msgid "Free/busy server urls"
msgstr "Free/busy server urls"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:13
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:13
msgid "Free/busy template url"
msgstr "Free/busy template url"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:14
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:14
msgid "Hide completed tasks"
msgstr "Hide completed tasks"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:15
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:15
msgid "Hide task units"
msgstr "Hide task units"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:16
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:16
msgid "Hide task value"
msgstr "Hide task value"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:17
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:17
msgid "Horizontal pane position"
msgstr "Horizontal pane position"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:18
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:18
msgid "Hour the workday ends on, in twenty four hour format, 0 to 23."
msgstr "Hour the workday ends on, in twenty four hour format, 0 to 23."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:19
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:19
msgid "Hour the workday starts on, in twenty four hour format, 0 to 23."
msgstr "Hour the workday starts on, in twenty four hour format, 0 to 23."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:20
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:20
msgid "Last alarm time"
msgstr "Last alarm time"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:21
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:21
msgid "List of server urls for free/busy publishing."
msgstr "List of server urls for free/busy publishing."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:22
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:22
msgid "Minute the workday ends on, 0 to 59"
msgstr "Minute the workday ends on, 0 to 59"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:23
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:23
msgid "Minute the workday starts on, 0 to 59."
msgstr "Minute the workday starts on, 0 to 59."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:24
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:24
msgid "Month view horizontal pane position"
msgstr "Month view horizontal pane position"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:25
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:25
msgid "Month view vertical pane position"
msgstr "Month view vertical pane position"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:26
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:26
msgid "Number of units for determining for a default reminder."
msgstr "Number of units for determining for a default reminder."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:27
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:27
msgid "Number of units for determining when to hide tasks."
msgstr "Number of units for determining when to hide tasks."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:28
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:28
msgid "Overdue tasks color"
msgstr "Overdue tasks colour"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:29
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:29
msgid "Position of the horizontal pane, between the date navigator calendar and the task list when not in the month view, in pixels."
msgstr "Position of the horizontal pane, between the date navigator calendar and the task list when not in the month view, in pixels."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:30
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:30
msgid "Position of the horizontal pane, between the view and the date navigator calendar and task list in the month view, in pixels."
msgstr "Position of the horizontal pane, between the view and the date navigator calendar and task list in the month view, in pixels."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:31
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:31
msgid "Position of the vertical pane, between task list and the task preview pane, in pixels."
msgstr "Position of the vertical pane, between task list and the task preview pane, in pixels."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:32
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:32
msgid "Position of the vertical pane, between the view and the date navigator calendar and task list in the month view, in pixels."
msgstr "Position of the vertical pane, between the view and the date navigator calendar and task list in the month view, in pixels."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:33
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:33
msgid "Position of the vertical pane, between the view and the date navigator calendar and task list when not in the month view, in pixels."
msgstr "Position of the vertical pane, between the view and the date navigator calendar and task list when not in the month view, in pixels."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:34
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:34
msgid "Programs that are allowed to be run by alarms."
msgstr "Programs that are allowed to be run by alarms."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:35
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:35
msgid "Show appointment end times in week and month views"
msgstr "Show appointment end times in week and month views"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:36
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:36
msgid "Show display alarms in notification tray"
msgstr "Show display alarms in notification tray"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:37
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:37
msgid "Show week numbers in date navigator"
msgstr "Show week numbers in date navigator"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:38
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:38
msgid "Tasks due today color"
msgstr "Tasks due today colour"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:39
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:39
msgid "Tasks vertical pane position"
msgstr "Tasks vertical pane position"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:40
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:40
msgid "The default timezone to use for dates and times in the calendar, as an untranslated Olsen timezone database location like \"America/New York\"."
msgstr "The default timezone to use for dates and times in the calendar, as an untranslated Olsen timezone database location like \"America/New York\"."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:42
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:42
#, no-c-format
msgid "The url template to use as a free/busy data fallback, %u is replaced by the user part of the mail address and %d is replaced by the domain."
msgstr "The url template to use as a free/busy data fallback, %u is replaced by the user part of the mail address and %d is replaced by the domain."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:43
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:43
msgid "Time divisions</short> <short>Intervals shown in Day and Work Week views, in minutes."
msgstr "Time divisions</short> <short>Intervals shown in Day and Work Week views, in minutes."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:44
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:44
msgid "Time the last alarm ran, in time_t."
msgstr "Time the last alarm ran, in time_t."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:45
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:45
msgid "Timezone"
msgstr "Timezone"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:46
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:46
msgid "Twenty four hour time format"
msgstr "Twenty four hour time format"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:47
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:47
msgid "Units for a default reminder, \"minutes\", \"hours\" or \"days\"."
msgstr "Units for a default reminder, \"minutes\", \"hours\" or \"days\"."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:48
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:48
msgid "Units for determining when to hide tasks, \"minutes\", \"hours\" or \"days\"."
msgstr "Units for determining when to hide tasks, \"minutes\", \"hours\" or \"days\"."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:50
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:50
msgid "Week start"
msgstr "Week start"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:51
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:51
msgid "Weekday the week starts on, from Sunday (0) to Saturday (6)."
msgstr "Weekday the week starts on, from Sunday (0) to Saturday (6)."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:52
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:52
msgid "Whether or not to use the notification tray for display alarms."
msgstr "Whether or not to use the notification tray for display alarms."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:53
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:53
msgid "Whether to ask for confirmation when deleting an appointment or task."
msgstr "Whether to ask for confirmation when deleting an appointment or task."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:54
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:54
msgid "Whether to ask for confirmation when expunging appointments and tasks."
msgstr "Whether to ask for confirmation when expunging appointments and tasks."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:55
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:55
msgid "Whether to compress weekends in the month view, which puts Saturday and Sunday in the space of one weekday."
msgstr "Whether to compress weekends in the month view, which puts Saturday and Sunday in the space of one weekday."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:56
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:56
msgid "Whether to display the end time of events in the week and month views."
msgstr "Whether to display the end time of events in the week and month views."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:57
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:57
msgid "Whether to hide completed tasks in the tasks view."
msgstr "Whether to hide completed tasks in the tasks view."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:58
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:58
msgid "Whether to set a default reminder for appointments."
msgstr "Whether to set a default reminder for appointments."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:59
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:59
msgid "Whether to show times in twenty four hour format instead of using am/pm."
msgstr "Whether to show times in twenty four hour format instead of using am/pm."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:60
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:60
msgid "Whether to show week numbers in the date navigator."
msgstr "Whether to show week numbers in the date navigator."
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:61
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:61
msgid "Work days"
msgstr "Work days"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:62
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:62
msgid "Workday end hour"
msgstr "Workday end hour"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:63
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:63
msgid "Workday end minute"
msgstr "Workday end minute"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:64
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:64
msgid "Workday start hour"
msgstr "Workday start hour"
-#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:65
+#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:65
msgid "Workday start minute"
msgstr "Workday start minute"
-#: calendar/gui/cal-search-bar.c:49
+#: ../calendar/gui/cal-search-bar.c:49
msgid "Summary contains"
msgstr "Summary contains"
-#: calendar/gui/cal-search-bar.c:50
+#: ../calendar/gui/cal-search-bar.c:50
msgid "Description contains"
msgstr "Description contains"
-#: calendar/gui/cal-search-bar.c:51
+#: ../calendar/gui/cal-search-bar.c:51
msgid "Comment contains"
msgstr "Comment contains"
-#: calendar/gui/cal-search-bar.c:52
+#: ../calendar/gui/cal-search-bar.c:52
msgid "Location contains"
msgstr "Location contains"
-#: calendar/gui/cal-search-bar.c:350
+#: ../calendar/gui/cal-search-bar.c:350
msgid "Unmatched"
msgstr "Unmatched"
-#: calendar/gui/calendar-commands.c:120
-#: calendar/gui/calendar-component.c:568
-#: calendar/gui/dialogs/calendar-setup.c:362
-#: calendar/gui/gnome-cal.c:1942
-#: plugins/groupwise-account-setup/camel-gw-listener.c:382
-#: plugins/groupwise-account-setup/camel-gw-listener.c:412
+#: ../calendar/gui/calendar-commands.c:120
+#: ../calendar/gui/calendar-component.c:708
+#: ../calendar/gui/dialogs/calendar-setup.c:362
+#: ../calendar/gui/gnome-cal.c:1942
+#: ../plugins/groupwise-account-setup/camel-gw-listener.c:382
+#: ../plugins/groupwise-account-setup/camel-gw-listener.c:412
msgid "Calendar"
msgstr "Calendar"
-#: calendar/gui/calendar-commands.c:355
+#: ../calendar/gui/calendar-commands.c:355
msgid "This operation will permanently erase all events older than the selected amount of time. If you continue, you will not be able to recover these events."
msgstr "This operation will permanently erase all events older than the selected amount of time. If you continue, you will not be able to recover these events."
-#: calendar/gui/calendar-commands.c:361
+#: ../calendar/gui/calendar-commands.c:361
msgid "Purge events older than"
msgstr "Purge events older than"
-#: calendar/gui/calendar-commands.c:366
-#: calendar/gui/dialogs/alarm-dialog.glade.h:20
-#: calendar/gui/dialogs/calendar-setup.glade.h:12
-#: filter/filter.glade.h:14
-#: plugins/calendar-http/calendar-http.c:265
-#: plugins/calendar-weather/calendar-weather.c:566
-#: widgets/misc/e-send-options.glade.h:39
+#: ../calendar/gui/calendar-commands.c:366
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:20
+#: ../calendar/gui/dialogs/calendar-setup.glade.h:12
+#: ../filter/filter.glade.h:14
+#: ../plugins/calendar-http/calendar-http.c:265
+#: ../plugins/calendar-weather/calendar-weather.c:566
+#: ../widgets/misc/e-send-options.glade.h:39
msgid "days"
msgstr "days"
-#: calendar/gui/calendar-component.c:384
-#: calendar/gui/dialogs/calendar-setup.c:442
+#. Create the On the web source group
+#. Create the LDAP source group
+#: ../calendar/gui/calendar-component.c:223
+#: ../calendar/gui/migration.c:486
+#: ../calendar/gui/migration.c:579
+#: ../calendar/gui/tasks-component.c:204
+msgid "On The Web"
+msgstr "On The Web"
+
+#: ../calendar/gui/calendar-component.c:241
+#: ../calendar/gui/migration.c:388
+msgid "Birthdays & Anniversaries"
+msgstr "Birthdays & Anniversaries"
+
+#. Create the weather group
+#: ../calendar/gui/calendar-component.c:247
+#: ../plugins/calendar-weather/calendar-weather.c:100
+msgid "Weather"
+msgstr "Weather"
+
+#: ../calendar/gui/calendar-component.c:524
+#: ../calendar/gui/dialogs/calendar-setup.c:442
msgid "New Calendar"
msgstr "New Calendar"
-#: calendar/gui/calendar-component.c:703
+#: ../calendar/gui/calendar-component.c:843
msgid "Failed upgrading calendars."
msgstr "Failed upgrading calendars."
-#: calendar/gui/calendar-component.c:999
+#: ../calendar/gui/calendar-component.c:1139
#, c-format
msgid "Unable to open the calendar '%s' for creating events and meetings"
msgstr "Unable to open the calendar '%s' for creating events and meetings"
-#: calendar/gui/calendar-component.c:1015
+#: ../calendar/gui/calendar-component.c:1155
msgid "There is no calendar available for creating events and meetings"
msgstr "There is no calendar available for creating events and meetings"
-#: calendar/gui/calendar-component.c:1125
+#: ../calendar/gui/calendar-component.c:1265
msgid "Calendar Source Selector"
msgstr "Calendar Source Selector"
-#: calendar/gui/calendar-component.c:1316
+#: ../calendar/gui/calendar-component.c:1456
msgid "New appointment"
msgstr "New appointment"
-#: calendar/gui/calendar-component.c:1317
+#: ../calendar/gui/calendar-component.c:1457
msgid "_Appointment"
msgstr "_Appointment"
-#: calendar/gui/calendar-component.c:1318
+#: ../calendar/gui/calendar-component.c:1458
msgid "Create a new appointment"
msgstr "Create a new appointment"
-#: calendar/gui/calendar-component.c:1324
+#: ../calendar/gui/calendar-component.c:1464
msgid "New meeting"
msgstr "New meeting"
-#: calendar/gui/calendar-component.c:1325
+#: ../calendar/gui/calendar-component.c:1465
msgid "M_eeting"
msgstr "M_eeting"
-#: calendar/gui/calendar-component.c:1326
+#: ../calendar/gui/calendar-component.c:1466
msgid "Create a new meeting request"
msgstr "Create a new meeting request"
-#: calendar/gui/calendar-component.c:1332
+#: ../calendar/gui/calendar-component.c:1472
msgid "New all day appointment"
msgstr "New all day appointment"
-#: calendar/gui/calendar-component.c:1333
+#: ../calendar/gui/calendar-component.c:1473
msgid "All Day A_ppointment"
msgstr "All Day A_ppointment"
-#: calendar/gui/calendar-component.c:1334
+#: ../calendar/gui/calendar-component.c:1474
msgid "Create a new all-day appointment"
msgstr "Create a new all-day appointment"
-#: calendar/gui/calendar-component.c:1340
+#: ../calendar/gui/calendar-component.c:1480
msgid "New calendar"
msgstr "New calendar"
-#: calendar/gui/calendar-component.c:1341
+#: ../calendar/gui/calendar-component.c:1481
msgid "Cale_ndar"
msgstr "Cale_ndar"
-#: calendar/gui/calendar-component.c:1342
+#: ../calendar/gui/calendar-component.c:1482
msgid "Create a new calendar"
msgstr "Create a new calendar"
-#: calendar/gui/calendar-view-factory.c:109
+#: ../calendar/gui/calendar-view-factory.c:109
msgid "Day View"
msgstr "Day View"
-#: calendar/gui/calendar-view-factory.c:112
+#: ../calendar/gui/calendar-view-factory.c:112
msgid "Work Week View"
msgstr "Work Week View"
-#: calendar/gui/calendar-view-factory.c:115
+#: ../calendar/gui/calendar-view-factory.c:115
msgid "Week View"
msgstr "Week View"
-#: calendar/gui/calendar-view-factory.c:118
+#: ../calendar/gui/calendar-view-factory.c:118
msgid "Month View"
msgstr "Month View"
-#: calendar/gui/comp-editor-factory.c:413
+#: ../calendar/gui/comp-editor-factory.c:413
msgid "Error while opening the calendar"
msgstr "Error while opening the calendar"
-#: calendar/gui/comp-editor-factory.c:419
+#: ../calendar/gui/comp-editor-factory.c:419
msgid "Method not supported when opening the calendar"
msgstr "Method not supported when opening the calendar"
-#: calendar/gui/comp-editor-factory.c:425
+#: ../calendar/gui/comp-editor-factory.c:425
msgid "Permission denied to open the calendar"
msgstr "Permission denied to open the calendar"
-#: calendar/gui/comp-editor-factory.c:437
-#: shell/e-shell.c:1259
+#: ../calendar/gui/comp-editor-factory.c:437
+#: ../shell/e-shell.c:1264
msgid "Unknown error"
msgstr "Unknown error"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:1
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:1
msgid "<b>Alarm</b>"
msgstr "<b>Alarm</b>"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:2
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:2
msgid "<b>Options</b>"
msgstr "<b>Options</b>"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:3
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:3
msgid "<b>Repeat</b>"
msgstr "<b>Repeat</b>"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:4
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:4
msgid "Add Alarm"
msgstr "Add Alarm"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:5
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:5
msgid "Custom _message"
msgstr "Custom _message"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:6
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:6
msgid "Custom alarm sound"
msgstr "Custom alarm sound"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:7
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:7
msgid "Mes_sage:"
msgstr "Mes_sage:"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:8
-#: calendar/gui/e-alarm-list.c:444
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:8
+#: ../calendar/gui/e-alarm-list.c:444
msgid "Play a sound"
msgstr "Play a sound"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:9
-#: calendar/gui/e-alarm-list.c:448
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:9
+#: ../calendar/gui/e-alarm-list.c:448
msgid "Pop up an alert"
msgstr "Pop up an alert"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:10
-#: calendar/gui/e-alarm-list.c:456
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:10
+#: ../calendar/gui/e-alarm-list.c:456
msgid "Run a program"
msgstr "Run a program"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:11
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:11
msgid "Send To:"
msgstr "Send To:"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:12
-#: calendar/gui/e-alarm-list.c:452
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:12
+#: ../calendar/gui/e-alarm-list.c:452
msgid "Send an email"
msgstr "Send an email"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:13
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:13
msgid "_Arguments:"
msgstr "_Arguments:"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:14
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:14
msgid "_Program:"
msgstr "_Program:"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:15
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:15
msgid "_Repeat the alarm"
msgstr "_Repeat the alarm"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:16
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:16
msgid "_Sound:"
msgstr "_Sound:"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:17
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:17
msgid "after"
msgstr "after"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:18
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:18
msgid "before"
msgstr "before"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:19
-#: calendar/gui/dialogs/recurrence-page.glade.h:7
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:19
+#: ../calendar/gui/dialogs/recurrence-page.glade.h:7
msgid "day(s)"
msgstr "day(s)"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:21
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:21
msgid "end of appointment"
msgstr "end of appointment"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:22
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:22
msgid "extra times every"
msgstr "extra times every"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:23
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:23
msgid "hour(s)"
msgstr "hour(s)"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:24
-#: calendar/gui/dialogs/calendar-setup.glade.h:13
-#: filter/filter.glade.h:15
-#: plugins/calendar-http/calendar-http.c:264
-#: plugins/calendar-weather/calendar-weather.c:565
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:24
+#: ../calendar/gui/dialogs/calendar-setup.glade.h:13
+#: ../filter/filter.glade.h:15
+#: ../plugins/calendar-http/calendar-http.c:264
+#: ../plugins/calendar-weather/calendar-weather.c:565
msgid "hours"
msgstr "hours"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:25
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:25
msgid "minute(s)"
msgstr "minute(s)"
-#: calendar/gui/dialogs/alarm-dialog.glade.h:27
+#: ../calendar/gui/dialogs/alarm-dialog.glade.h:27
msgid "start of appointment"
msgstr "start of appointment"
-#: calendar/gui/dialogs/alarm-list-dialog.c:199
+#: ../calendar/gui/dialogs/alarm-list-dialog.c:199
msgid "Action/Trigger"
msgstr "Action/Trigger"
-#: calendar/gui/dialogs/alarm-list-dialog.glade.h:1
+#: ../calendar/gui/dialogs/alarm-list-dialog.glade.h:1
msgid "A_dd"
msgstr "A_dd"
-#: calendar/gui/dialogs/alarm-list-dialog.glade.h:2
+#: ../calendar/gui/dialogs/alarm-list-dialog.glade.h:2
msgid "Alarms"
msgstr "Alarms"
-#: calendar/gui/dialogs/cal-attachment-bar.c:108
-#: composer/e-msg-composer-attachment-bar.c:103
+#: ../calendar/gui/dialogs/cal-attachment-bar.c:108
+#: ../composer/e-msg-composer-attachment-bar.c:103
#, c-format
msgid "%.0fK"
msgstr "%.0fK"
-#: calendar/gui/dialogs/cal-attachment-bar.c:111
-#: composer/e-msg-composer-attachment-bar.c:106
+#: ../calendar/gui/dialogs/cal-attachment-bar.c:111
+#: ../composer/e-msg-composer-attachment-bar.c:106
#, c-format
msgid "%.0fM"
msgstr "%.0fM"
-#: calendar/gui/dialogs/cal-attachment-bar.c:114
-#: composer/e-msg-composer-attachment-bar.c:109
+#: ../calendar/gui/dialogs/cal-attachment-bar.c:114
+#: ../composer/e-msg-composer-attachment-bar.c:109
#, c-format
msgid "%.0fG"
msgstr "%.0fG"
-#: calendar/gui/dialogs/cal-attachment-bar.c:298
-#: calendar/gui/dialogs/cal-attachment-bar.c:913
-#: composer/e-msg-composer-attachment-bar.c:295
-#: mail/em-utils.c:436
+#: ../calendar/gui/dialogs/cal-attachment-bar.c:298
+#: ../calendar/gui/dialogs/cal-attachment-bar.c:922
+#: ../composer/e-msg-composer-attachment-bar.c:295
+#: ../mail/em-utils.c:436
msgid "attachment"
msgstr "attachment"
-#: calendar/gui/dialogs/cal-attachment-bar.c:439
-#: calendar/gui/dialogs/meeting-page.c:781
-#: composer/e-msg-composer-attachment-bar.c:437
-#: plugins/shared-folder/properties.glade.h:14
+#: ../calendar/gui/dialogs/cal-attachment-bar.c:439
+#: ../calendar/gui/dialogs/meeting-page.c:781
+#: ../composer/e-msg-composer-attachment-bar.c:437
+#: ../plugins/shared-folder/properties.glade.h:14
msgid "_Remove"
msgstr "_Remove"
-#: calendar/gui/dialogs/cal-attachment-bar.c:440
-#: composer/e-msg-composer-attachment-bar.c:438
-#: mail/em-folder-tree.c:2818
-#: ui/evolution-mail-list.xml.h:27
+#: ../calendar/gui/dialogs/cal-attachment-bar.c:440
+#: ../composer/e-msg-composer-attachment-bar.c:438
+#: ../mail/em-folder-tree.c:2818
+#: ../ui/evolution-mail-list.xml.h:27
msgid "_Properties"
msgstr "_Properties"
-#: calendar/gui/dialogs/cal-attachment-bar.c:442
-#: composer/e-msg-composer-attachment-bar.c:440
+#: ../calendar/gui/dialogs/cal-attachment-bar.c:442
+#: ../composer/e-msg-composer-attachment-bar.c:440
msgid "_Add attachment..."
msgstr "_Add attachment..."
-#: calendar/gui/dialogs/cal-attachment-bar.c:699
+#: ../calendar/gui/dialogs/cal-attachment-bar.c:699
+#: ../composer/e-msg-composer-attachment-bar.c:703
msgid "Attachment Bar"
msgstr "Attachment Bar"
-#: calendar/gui/dialogs/cal-attachment-select-file.c:96
-#: calendar/gui/dialogs/cal-attachment-select-file.c:115
-#: calendar/gui/dialogs/cal-attachment.glade.h:6
-#: composer/e-msg-composer-attachment.glade.h:6
-#: composer/e-msg-composer-select-file.c:95
-#: composer/e-msg-composer-select-file.c:115
+#: ../calendar/gui/dialogs/cal-attachment-select-file.c:96
+#: ../calendar/gui/dialogs/cal-attachment-select-file.c:115
+#: ../calendar/gui/dialogs/cal-attachment.glade.h:6
+#: ../composer/e-msg-composer-attachment.glade.h:6
+#: ../composer/e-msg-composer-select-file.c:95
+#: ../composer/e-msg-composer-select-file.c:115
msgid "Suggest automatic display of attachment"
msgstr "Suggest automatic display of attachment"
-#: calendar/gui/dialogs/cal-attachment-select-file.c:190
-#: composer/e-msg-composer-select-file.c:230
+#: ../calendar/gui/dialogs/cal-attachment-select-file.c:190
+#: ../composer/e-msg-composer-select-file.c:231
msgid "Attach file(s)"
msgstr "Attach file(s)"
-#: calendar/gui/dialogs/cal-attachment.c:197
-#: calendar/gui/dialogs/cal-attachment.c:213
-#: composer/e-msg-composer-attachment.c:174
-#: composer/e-msg-composer-attachment.c:190
+#: ../calendar/gui/dialogs/cal-attachment.c:197
+#: ../calendar/gui/dialogs/cal-attachment.c:213
+#: ../composer/e-msg-composer-attachment.c:174
+#: ../composer/e-msg-composer-attachment.c:190
#, c-format
msgid "Cannot attach file %s: %s"
msgstr "Cannot attach file %s: %s"
-#: calendar/gui/dialogs/cal-attachment.c:205
-#: composer/e-msg-composer-attachment.c:182
+#: ../calendar/gui/dialogs/cal-attachment.c:205
+#: ../composer/e-msg-composer-attachment.c:182
#, c-format
msgid "Cannot attach file %s: not a regular file"
msgstr "Cannot attach file %s: not a regular file"
-#: calendar/gui/dialogs/cal-attachment.glade.h:2
-#: composer/e-msg-composer-attachment.glade.h:2
+#: ../calendar/gui/dialogs/cal-attachment.glade.h:2
+#: ../composer/e-msg-composer-attachment.glade.h:2
msgid "Attachment Properties"
msgstr "Attachment Properties"
-#: calendar/gui/dialogs/cal-attachment.glade.h:3
-#: calendar/gui/e-cal-component-preview.c:267
-#: calendar/gui/e-itip-control.c:1164
-#: calendar/gui/e-itip-control.glade.h:6
-#: composer/e-msg-composer-attachment.glade.h:3
-#: mail/mail-config.glade.h:68
+#: ../calendar/gui/dialogs/cal-attachment.glade.h:3
+#: ../calendar/gui/e-cal-component-preview.c:267
+#: ../calendar/gui/e-itip-control.c:1164
+#: ../calendar/gui/e-itip-control.glade.h:6
+#: ../composer/e-msg-composer-attachment.glade.h:3
+#: ../mail/mail-config.glade.h:68
msgid "Description:"
msgstr "Description:"
-#: calendar/gui/dialogs/cal-attachment.glade.h:4
-#: composer/e-msg-composer-attachment.glade.h:4
+#: ../calendar/gui/dialogs/cal-attachment.glade.h:4
+#: ../composer/e-msg-composer-attachment.glade.h:4
msgid "File name:"
msgstr "File name:"
-#: calendar/gui/dialogs/cal-attachment.glade.h:5
-#: composer/e-msg-composer-attachment.glade.h:5
+#: ../calendar/gui/dialogs/cal-attachment.glade.h:5
+#: ../composer/e-msg-composer-attachment.glade.h:5
msgid "MIME type:"
msgstr "MIME type:"
#. g_object_set((GObject *)renderer, "activatable", TRUE, NULL);
-#: calendar/gui/dialogs/cal-prefs-dialog.c:576
-#: mail/em-account-prefs.c:460
-#: mail/em-composer-prefs.c:888
-#: plugins/plugin-manager/plugin-manager.c:213
+#: ../calendar/gui/dialogs/cal-prefs-dialog.c:576
+#: ../mail/em-account-prefs.c:476
+#: ../mail/em-composer-prefs.c:888
+#: ../plugins/plugin-manager/plugin-manager.c:213
msgid "Enabled"
msgstr "Enabled"
-#: calendar/gui/dialogs/cal-prefs-dialog.c:730
+#: ../calendar/gui/dialogs/cal-prefs-dialog.c:730
msgid "Are you sure you want to remove this URL?"
msgstr "Are you sure you want to remove this URL?"
-#: calendar/gui/dialogs/cal-prefs-dialog.c:733
+#: ../calendar/gui/dialogs/cal-prefs-dialog.c:733
msgid "Remove"
msgstr "Remove"
-#: calendar/gui/dialogs/cal-prefs-dialog.c:738
+#: ../calendar/gui/dialogs/cal-prefs-dialog.c:738
msgid "Don't Remove"
msgstr "Don't Remove"
-#: calendar/gui/dialogs/cal-prefs-dialog.c:787
-#: calendar/gui/dialogs/cal-prefs-dialog.c:820
-#: calendar/gui/dialogs/cal-prefs-dialog.c:853
-#: mail/em-account-prefs.c:307
-#: mail/em-account-prefs.c:335
-#: mail/em-account-prefs.c:366
+#: ../calendar/gui/dialogs/cal-prefs-dialog.c:787
+#: ../calendar/gui/dialogs/cal-prefs-dialog.c:820
+#: ../calendar/gui/dialogs/cal-prefs-dialog.c:853
+#: ../mail/em-account-prefs.c:323
+#: ../mail/em-account-prefs.c:351
+#: ../mail/em-account-prefs.c:382
msgid "Disable"
msgstr "Disable"
-#: calendar/gui/dialogs/cal-prefs-dialog.c:787
-#: calendar/gui/dialogs/cal-prefs-dialog.c:820
-#: calendar/gui/dialogs/cal-prefs-dialog.c:855
-#: mail/em-account-prefs.c:307
-#: mail/em-account-prefs.c:335
-#: mail/em-account-prefs.c:368
+#: ../calendar/gui/dialogs/cal-prefs-dialog.c:787
+#: ../calendar/gui/dialogs/cal-prefs-dialog.c:820
+#: ../calendar/gui/dialogs/cal-prefs-dialog.c:855
+#: ../mail/em-account-prefs.c:323
+#: ../mail/em-account-prefs.c:351
+#: ../mail/em-account-prefs.c:384
msgid "Enable"
msgstr "Enable"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:2
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:2
msgid "05 minutes"
msgstr "05 minutes"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:3
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:3
msgid "10 minutes"
msgstr "10 minutes"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:4
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:4
msgid "15 minutes"
msgstr "15 minutes"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:5
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:5
msgid "30 minutes"
msgstr "30 minutes"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:6
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:6
msgid "60 minutes"
msgstr "60 minutes"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:7
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:7
msgid "<b>Alerts</b>"
msgstr "<b>Alerts</b>"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:8
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:8
msgid "<b>Default Free/Busy Server</b>"
msgstr "<b>Default Free/Busy Server</b>"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:9
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:9
msgid "<b>General</b>"
msgstr "<b>General</b>"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:10
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:10
msgid "<b>Publishing</b>"
msgstr "<b>Publishing</b>"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:11
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:11
msgid "<b>Task List</b>"
msgstr "<b>Task List</b>"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:12
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:12
msgid "<b>Time</b>"
msgstr "<b>Time</b>"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:13
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:13
msgid "<b>Work Week</b>"
msgstr "<b>Work Week</b>"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:15
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:15
#, no-c-format
msgid "<i>%u and %d will be replaced by user and domain from the email address.</i>"
msgstr "<i>%u and %d will be replaced by user and domain from the email address.</i>"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:16
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:16
msgid "Calendar and Tasks Settings"
msgstr "Calendar and Tasks Settings"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:17
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:17
msgid "Color for overdue tasks"
msgstr "Colour for overdue tasks"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:18
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:18
msgid "Color for tasks due today"
msgstr "Colour for tasks due today"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:19
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:19
msgid "Day _ends:"
msgstr "Day _ends:"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:20
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:20
msgid "Days"
msgstr "Days"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:21
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:21
msgid "Display"
msgstr "Display"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:22
-#: mail/mail-config.glade.h:73
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:22
+#: ../mail/mail-config.glade.h:73
msgid "E_nable"
msgstr "E_nable"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:23
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:23
msgid "Free/Busy"
msgstr "Free/Busy"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:24
-#: calendar/gui/dialogs/recurrence-page.c:1044
-#: calendar/gui/e-itip-control.c:732
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:24
+#: ../calendar/gui/dialogs/recurrence-page.c:1044
+#: ../calendar/gui/e-itip-control.c:732
msgid "Friday"
msgstr "Friday"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:26
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:26
msgid "Hours"
msgstr "Hours"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:27
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:27
msgid "Minutes"
msgstr "Minutes"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:28
-#: calendar/gui/dialogs/recurrence-page.c:1040
-#: calendar/gui/e-itip-control.c:728
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:28
+#: ../calendar/gui/dialogs/recurrence-page.c:1040
+#: ../calendar/gui/e-itip-control.c:728
msgid "Monday"
msgstr "Monday"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:29
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:29
msgid "S_un"
msgstr "S_un"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:30
-#: calendar/gui/dialogs/recurrence-page.c:1045
-#: calendar/gui/e-itip-control.c:733
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:30
+#: ../calendar/gui/dialogs/recurrence-page.c:1045
+#: ../calendar/gui/e-itip-control.c:733
msgid "Saturday"
msgstr "Saturday"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:31
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:31
msgid "Sh_ow a reminder"
msgstr "Sh_ow a reminder"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:32
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:32
msgid "Show week _numbers in date navigator"
msgstr "Show week _numbers in date navigator"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:33
-#: calendar/gui/dialogs/recurrence-page.c:1046
-#: calendar/gui/e-itip-control.c:727
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:33
+#: ../calendar/gui/dialogs/recurrence-page.c:1046
+#: ../calendar/gui/e-itip-control.c:727
msgid "Sunday"
msgstr "Sunday"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:34
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:34
msgid "T_asks due today:"
msgstr "T_asks due today:"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:35
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:35
msgid "T_hu"
msgstr "T_hu"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:36
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:36
msgid "Template:"
msgstr "Template:"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:37
-#: calendar/gui/dialogs/recurrence-page.c:1043
-#: calendar/gui/e-itip-control.c:731
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:37
+#: ../calendar/gui/dialogs/recurrence-page.c:1043
+#: ../calendar/gui/e-itip-control.c:731
msgid "Thursday"
msgstr "Thursday"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:38
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:38
msgid "Time _zone:"
msgstr "Time _zone:"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:39
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:39
msgid "Time format:"
msgstr "Time format:"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:40
-#: calendar/gui/dialogs/recurrence-page.c:1041
-#: calendar/gui/e-itip-control.c:729
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:40
+#: ../calendar/gui/dialogs/recurrence-page.c:1041
+#: ../calendar/gui/e-itip-control.c:729
msgid "Tuesday"
msgstr "Tuesday"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:41
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:41
msgid "W_eek starts:"
msgstr "W_eek starts:"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:42
-#: calendar/gui/dialogs/recurrence-page.c:1042
-#: calendar/gui/e-itip-control.c:730
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:42
+#: ../calendar/gui/dialogs/recurrence-page.c:1042
+#: ../calendar/gui/e-itip-control.c:730
msgid "Wednesday"
msgstr "Wednesday"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:43
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:43
msgid "Work days:"
msgstr "Work days:"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:44
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:44
msgid "_12 hour (AM/PM)"
msgstr "_12 hour (AM/PM)"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:45
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:45
msgid "_24 hour"
msgstr "_24 hour"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:46
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:46
msgid "_Add URL"
msgstr "_Add URL"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:47
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:47
msgid "_Ask for confirmation when deleting items"
msgstr "_Ask for confirmation when deleting items"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:48
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:48
msgid "_Compress weekends in month view"
msgstr "_Compress weekends in month view"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:49
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:49
msgid "_Day begins:"
msgstr "_Day begins:"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:51
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:51
msgid "_Fri"
msgstr "_Fri"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:52
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:52
msgid "_Hide completed tasks after"
msgstr "_Hide completed tasks after"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:53
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:53
msgid "_Mon"
msgstr "_Mon"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:54
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:54
msgid "_Overdue tasks:"
msgstr "_Overdue tasks:"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:55
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:55
msgid "_Sat"
msgstr "_Sat"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:56
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:56
msgid "_Show appointment end times in week and month views"
msgstr "_Show appointment end times in week and month views"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:57
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:57
msgid "_Time divisions:"
msgstr "_Time divisions:"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:58
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:58
msgid "_Tue"
msgstr "_Tue"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:59
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:59
msgid "_Wed"
msgstr "_Wed"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:60
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:60
msgid "before every appointment"
msgstr "before every appointment"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:61
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:61
msgid "option menu to choose reminder units"
msgstr "option menu to choose reminder units"
-#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:62
+#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:62
msgid "option menu to choose time units"
msgstr "option menu to choose time units"
-#: calendar/gui/dialogs/calendar-setup.c:284
+#: ../calendar/gui/dialogs/calendar-setup.c:284
msgid "Copy calendar contents locally for offline operation"
msgstr "Copy calendar contents locally for offline operation"
-#: calendar/gui/dialogs/calendar-setup.c:336
-#: calendar/gui/dialogs/calendar-setup.glade.h:4
+#: ../calendar/gui/dialogs/calendar-setup.c:336
+#: ../calendar/gui/dialogs/calendar-setup.glade.h:4
msgid "C_olor:"
msgstr "C_olour:"
-#: calendar/gui/dialogs/calendar-setup.c:373
+#: ../calendar/gui/dialogs/calendar-setup.c:373
msgid "Tasks List"
msgstr "Tasks List"
-#: calendar/gui/dialogs/calendar-setup.c:440
+#: ../calendar/gui/dialogs/calendar-setup.c:440
msgid "Calendar Properties"
msgstr "Calendar Properties"
-#: calendar/gui/dialogs/calendar-setup.c:506
+#: ../calendar/gui/dialogs/calendar-setup.c:506
msgid "Task List Properties"
msgstr "Task List Properties"
-#: calendar/gui/dialogs/calendar-setup.glade.h:2
+#: ../calendar/gui/dialogs/calendar-setup.glade.h:2
msgid "Add Calendar"
msgstr "Add Calendar"
-#: calendar/gui/dialogs/calendar-setup.glade.h:3
+#: ../calendar/gui/dialogs/calendar-setup.glade.h:3
msgid "Add Task List"
msgstr "Add Task List"
-#: calendar/gui/dialogs/calendar-setup.glade.h:5
-#: mail/mail-config.glade.h:102
+#: ../calendar/gui/dialogs/calendar-setup.glade.h:5
+#: ../mail/mail-config.glade.h:102
msgid "Pick a color"
msgstr "Pick a colour"
-#: calendar/gui/dialogs/calendar-setup.glade.h:6
+#: ../calendar/gui/dialogs/calendar-setup.glade.h:6
msgid "_Add Calendar"
msgstr "_Add Calendar"
-#: calendar/gui/dialogs/calendar-setup.glade.h:7
+#: ../calendar/gui/dialogs/calendar-setup.glade.h:7
msgid "_Add Task List"
msgstr "_Add Task List"
-#: calendar/gui/dialogs/calendar-setup.glade.h:9
-#: plugins/calendar-http/calendar-http.c:248
-#: plugins/calendar-weather/calendar-weather.c:549
+#: ../calendar/gui/dialogs/calendar-setup.glade.h:9
+#: ../plugins/calendar-http/calendar-http.c:248
+#: ../plugins/calendar-weather/calendar-weather.c:549
msgid "_Refresh:"
msgstr "_Refresh:"
-#: calendar/gui/dialogs/calendar-setup.glade.h:11
-#: plugins/calendar-http/calendar-http.c:120
+#: ../calendar/gui/dialogs/calendar-setup.glade.h:11
+#: ../plugins/calendar-http/calendar-http.c:120
msgid "_URL:"
msgstr "_URL:"
-#: calendar/gui/dialogs/calendar-setup.glade.h:15
-#: filter/filter.glade.h:21
-#: plugins/calendar-http/calendar-http.c:266
-#: plugins/calendar-weather/calendar-weather.c:567
+#: ../calendar/gui/dialogs/calendar-setup.glade.h:15
+#: ../filter/filter.glade.h:21
+#: ../plugins/calendar-http/calendar-http.c:266
+#: ../plugins/calendar-weather/calendar-weather.c:567
msgid "weeks"
msgstr "weeks"
-#: calendar/gui/dialogs/changed-comp.c:60
+#: ../calendar/gui/dialogs/changed-comp.c:60
msgid "This event has been deleted."
msgstr "This event has been deleted."
-#: calendar/gui/dialogs/changed-comp.c:64
+#: ../calendar/gui/dialogs/changed-comp.c:64
msgid "This task has been deleted."
msgstr "This task has been deleted."
-#: calendar/gui/dialogs/changed-comp.c:68
+#: ../calendar/gui/dialogs/changed-comp.c:68
msgid "This journal entry has been deleted."
msgstr "This journal entry has been deleted."
-#: calendar/gui/dialogs/changed-comp.c:77
+#: ../calendar/gui/dialogs/changed-comp.c:77
#, c-format
msgid "%s You have made changes. Forget those changes and close the editor?"
msgstr "%s You have made changes. Forget those changes and close the editor?"
-#: calendar/gui/dialogs/changed-comp.c:79
+#: ../calendar/gui/dialogs/changed-comp.c:79
#, c-format
msgid "%s You have made no changes, close the editor?"
msgstr "%s You have made no changes, close the editor?"
-#: calendar/gui/dialogs/changed-comp.c:84
+#: ../calendar/gui/dialogs/changed-comp.c:84
msgid "This event has been changed."
msgstr "This event has been changed."
-#: calendar/gui/dialogs/changed-comp.c:88
+#: ../calendar/gui/dialogs/changed-comp.c:88
msgid "This task has been changed."
msgstr "This task has been changed."
-#: calendar/gui/dialogs/changed-comp.c:92
+#: ../calendar/gui/dialogs/changed-comp.c:92
msgid "This journal entry has been changed."
msgstr "This journal entry has been changed."
-#: calendar/gui/dialogs/changed-comp.c:101
+#: ../calendar/gui/dialogs/changed-comp.c:101
#, c-format
msgid "%s You have made changes. Forget those changes and update the editor?"
msgstr "%s You have made changes. Forget those changes and update the editor?"
-#: calendar/gui/dialogs/changed-comp.c:103
+#: ../calendar/gui/dialogs/changed-comp.c:103
#, c-format
msgid "%s You have made no changes, update the editor?"
msgstr "%s You have made no changes, update the editor?"
-#: calendar/gui/dialogs/comp-editor-page.c:464
+#: ../calendar/gui/dialogs/comp-editor-page.c:464
#, c-format
msgid "Validation error: %s"
msgstr "Validation error: %s"
-#: calendar/gui/dialogs/comp-editor-util.c:187
-#: calendar/gui/print.c:2261
+#: ../calendar/gui/dialogs/comp-editor-util.c:187
+#: ../calendar/gui/print.c:2261
msgid " to "
msgstr " to "
-#: calendar/gui/dialogs/comp-editor-util.c:191
-#: calendar/gui/print.c:2265
+#: ../calendar/gui/dialogs/comp-editor-util.c:191
+#: ../calendar/gui/print.c:2265
msgid " (Completed "
msgstr " (Completed "
-#: calendar/gui/dialogs/comp-editor-util.c:193
-#: calendar/gui/print.c:2267
+#: ../calendar/gui/dialogs/comp-editor-util.c:193
+#: ../calendar/gui/print.c:2267
msgid "Completed "
msgstr "Completed "
-#: calendar/gui/dialogs/comp-editor-util.c:198
-#: calendar/gui/print.c:2272
+#: ../calendar/gui/dialogs/comp-editor-util.c:198
+#: ../calendar/gui/print.c:2272
msgid " (Due "
msgstr " (Due "
-#: calendar/gui/dialogs/comp-editor-util.c:200
-#: calendar/gui/print.c:2274
+#: ../calendar/gui/dialogs/comp-editor-util.c:200
+#: ../calendar/gui/print.c:2274
msgid "Due "
msgstr "Due "
-#: calendar/gui/dialogs/comp-editor.c:181
-#: composer/e-msg-composer.c:2676
+#: ../calendar/gui/dialogs/comp-editor.c:181
+#: ../composer/e-msg-composer.c:2676
#, c-format
msgid "Attached message - %s"
msgstr "Attached message - %s"
#. translators, this count will always be >1
-#: calendar/gui/dialogs/comp-editor.c:186
-#: calendar/gui/dialogs/comp-editor.c:349
-#: composer/e-msg-composer.c:2681
-#: composer/e-msg-composer.c:2844
+#: ../calendar/gui/dialogs/comp-editor.c:186
+#: ../calendar/gui/dialogs/comp-editor.c:349
+#: ../composer/e-msg-composer.c:2681
+#: ../composer/e-msg-composer.c:2844
#, c-format
msgid "Attached message"
msgid_plural "%d attached messages"
msgstr[0] "Attached message"
msgstr[1] "%d attached messages"
-#: calendar/gui/dialogs/comp-editor.c:412
-#: calendar/gui/e-calendar-table.c:1164
-#: calendar/gui/e-calendar-view.c:1402
-#: composer/e-msg-composer.c:2906
-#: mail/em-folder-tree.c:1046
-#: mail/message-list.c:1712
-#: ui/evolution-addressbook.xml.h:31
-#: ui/evolution-calendar.xml.h:39
-#: ui/evolution-composer-entries.xml.h:7
-#: ui/evolution-mail-message.xml.h:105
-#: ui/evolution-tasks.xml.h:20
+#: ../calendar/gui/dialogs/comp-editor.c:412
+#: ../calendar/gui/e-calendar-table.c:1164
+#: ../calendar/gui/e-calendar-view.c:1402
+#: ../composer/e-msg-composer.c:2906
+#: ../mail/em-folder-tree.c:1046
+#: ../mail/em-folder-view.c:966
+#: ../mail/message-list.c:1707
+#: ../ui/evolution-addressbook.xml.h:31
+#: ../ui/evolution-calendar.xml.h:39
+#: ../ui/evolution-composer-entries.xml.h:7
+#: ../ui/evolution-mail-message.xml.h:105
+#: ../ui/evolution-tasks.xml.h:20
msgid "_Copy"
msgstr "_Copy"
-#: calendar/gui/dialogs/comp-editor.c:413
-#: composer/e-msg-composer.c:2907
-#: mail/em-folder-tree.c:1047
-#: mail/em-folder-tree.c:2311
-#: mail/em-folder-view.c:860
-#: mail/message-list.c:1713
+#: ../calendar/gui/dialogs/comp-editor.c:413
+#: ../composer/e-msg-composer.c:2907
+#: ../mail/em-folder-tree.c:1047
+#: ../mail/em-folder-tree.c:2311
+#: ../mail/em-folder-view.c:862
+#: ../mail/message-list.c:1708
msgid "_Move"
msgstr "_Move"
-#: calendar/gui/dialogs/comp-editor.c:415
-#: composer/e-msg-composer.c:2909
-#: mail/em-folder-tree.c:1049
-#: mail/message-list.c:1715
+#: ../calendar/gui/dialogs/comp-editor.c:415
+#: ../composer/e-msg-composer.c:2909
+#: ../mail/em-folder-tree.c:1049
+#: ../mail/message-list.c:1710
msgid "Cancel _Drag"
msgstr "Cancel _Drag"
-#: calendar/gui/dialogs/comp-editor.c:659
+#: ../calendar/gui/dialogs/comp-editor.c:682
msgid "Could not update object"
msgstr "Could not update object"
-#: calendar/gui/dialogs/comp-editor.c:820
-#: composer/e-msg-composer.c:2310
+#: ../calendar/gui/dialogs/comp-editor.c:843
+#: ../composer/e-msg-composer.c:2310
#, c-format
msgid "<b>%d</b> File Attached"
msgid_plural "<b>%d</b> Files Attached"
msgstr[0] "<b>%d</b> File Attached"
msgstr[1] "<b>%d</b> Files Attached"
-#: calendar/gui/dialogs/comp-editor.c:873
-#: composer/e-msg-composer.c:2339
+#: ../calendar/gui/dialogs/comp-editor.c:900
+#: ../composer/e-msg-composer.c:2339
msgid "Hide _Attachment Bar (drop attachments here)"
msgstr "Hide _Attachment Bar (drop attachments here)"
-#: calendar/gui/dialogs/comp-editor.c:876
-#: calendar/gui/dialogs/comp-editor.c:928
-#: composer/e-msg-composer.c:2342
-#: composer/e-msg-composer.c:3471
+#: ../calendar/gui/dialogs/comp-editor.c:903
+#: ../calendar/gui/dialogs/comp-editor.c:955
+#: ../composer/e-msg-composer.c:2342
+#: ../composer/e-msg-composer.c:3471
msgid "Show _Attachment Bar (drop attachments here)"
msgstr "Show _Attachment Bar (drop attachments here)"
-#: calendar/gui/dialogs/comp-editor.c:952
+#: ../calendar/gui/dialogs/comp-editor.c:979
+#: ../composer/e-msg-composer.c:3493
msgid "Attachment Button: Press space key to toggle attachment bar"
msgstr "Attachment Button: Press space key to toggle attachment bar"
-#: calendar/gui/dialogs/comp-editor.c:1499
-#: calendar/gui/dialogs/comp-editor.c:1542
+#: ../calendar/gui/dialogs/comp-editor.c:1526
+#: ../calendar/gui/dialogs/comp-editor.c:1569
msgid "Edit Appointment"
msgstr "Edit Appointment"
-#: calendar/gui/dialogs/comp-editor.c:1505
-#: calendar/gui/dialogs/comp-editor.c:1548
+#: ../calendar/gui/dialogs/comp-editor.c:1532
+#: ../calendar/gui/dialogs/comp-editor.c:1575
#, c-format
msgid "Meeting - %s"
msgstr "Meeting - %s"
-#: calendar/gui/dialogs/comp-editor.c:1507
-#: calendar/gui/dialogs/comp-editor.c:1550
+#: ../calendar/gui/dialogs/comp-editor.c:1534
+#: ../calendar/gui/dialogs/comp-editor.c:1577
#, c-format
msgid "Appointment - %s"
msgstr "Appointment - %s"
-#: calendar/gui/dialogs/comp-editor.c:1511
-#: calendar/gui/dialogs/comp-editor.c:1554
+#: ../calendar/gui/dialogs/comp-editor.c:1538
+#: ../calendar/gui/dialogs/comp-editor.c:1581
#, c-format
msgid "Assigned Task - %s"
msgstr "Assigned Task - %s"
-#: calendar/gui/dialogs/comp-editor.c:1513
-#: calendar/gui/dialogs/comp-editor.c:1556
+#: ../calendar/gui/dialogs/comp-editor.c:1540
+#: ../calendar/gui/dialogs/comp-editor.c:1583
#, c-format
msgid "Task - %s"
msgstr "Task - %s"
-#: calendar/gui/dialogs/comp-editor.c:1516
-#: calendar/gui/dialogs/comp-editor.c:1559
+#: ../calendar/gui/dialogs/comp-editor.c:1543
+#: ../calendar/gui/dialogs/comp-editor.c:1586
#, c-format
msgid "Journal entry - %s"
msgstr "Journal entry - %s"
-#: calendar/gui/dialogs/comp-editor.c:1527
-#: calendar/gui/dialogs/comp-editor.c:1569
+#: ../calendar/gui/dialogs/comp-editor.c:1554
+#: ../calendar/gui/dialogs/comp-editor.c:1596
msgid "No summary"
msgstr "No summary"
-#: calendar/gui/dialogs/comp-editor.c:2001
-#: calendar/gui/dialogs/comp-editor.c:2034
-#: calendar/gui/dialogs/comp-editor.c:2058
+#: ../calendar/gui/dialogs/comp-editor.c:2030
+#: ../calendar/gui/dialogs/comp-editor.c:2063
+#: ../calendar/gui/dialogs/comp-editor.c:2087
msgid "Changes made to this item may be discarded if an update arrives"
msgstr "Changes made to this item may be discarded if an update arrives"
-#: calendar/gui/dialogs/comp-editor.c:2082
+#: ../calendar/gui/dialogs/comp-editor.c:2111
msgid "Unable to use current version!"
msgstr "Unable to use current version!"
-#: calendar/gui/dialogs/copy-source-dialog.c:61
+#: ../calendar/gui/dialogs/copy-source-dialog.c:61
msgid "Could not open source"
msgstr "Could not open source"
-#: calendar/gui/dialogs/copy-source-dialog.c:69
+#: ../calendar/gui/dialogs/copy-source-dialog.c:69
msgid "Could not open destination"
msgstr "Could not open destination"
-#: calendar/gui/dialogs/copy-source-dialog.c:78
+#: ../calendar/gui/dialogs/copy-source-dialog.c:78
msgid "Destination is read only"
msgstr "Destination is read only"
-#: calendar/gui/dialogs/delete-error.c:54
+#: ../calendar/gui/dialogs/delete-error.c:54
msgid "The event could not be deleted due to a corba error"
msgstr "The event could not be deleted due to a corba error"
-#: calendar/gui/dialogs/delete-error.c:57
+#: ../calendar/gui/dialogs/delete-error.c:57
msgid "The task could not be deleted due to a corba error"
msgstr "The task could not be deleted due to a corba error"
-#: calendar/gui/dialogs/delete-error.c:60
+#: ../calendar/gui/dialogs/delete-error.c:60
msgid "The journal entry could not be deleted due to a corba error"
msgstr "The journal entry could not be deleted due to a corba error"
-#: calendar/gui/dialogs/delete-error.c:63
+#: ../calendar/gui/dialogs/delete-error.c:63
msgid "The item could not be deleted due to a corba error"
msgstr "The item could not be deleted due to a corba error"
-#: calendar/gui/dialogs/delete-error.c:70
+#: ../calendar/gui/dialogs/delete-error.c:70
msgid "The event could not be deleted because permission was denied"
msgstr "The event could not be deleted because permission was denied"
-#: calendar/gui/dialogs/delete-error.c:73
+#: ../calendar/gui/dialogs/delete-error.c:73
msgid "The task could not be deleted because permission was denied"
msgstr "The task could not be deleted because permission was denied"
-#: calendar/gui/dialogs/delete-error.c:76
+#: ../calendar/gui/dialogs/delete-error.c:76
msgid "The journal entry could not be deleted because permission was denied"
msgstr "The journal entry could not be deleted because permission was denied"
-#: calendar/gui/dialogs/delete-error.c:79
+#: ../calendar/gui/dialogs/delete-error.c:79
msgid "The item could not be deleted because permission was denied"
msgstr "The item could not be deleted because permission was denied"
-#: calendar/gui/dialogs/delete-error.c:86
+#: ../calendar/gui/dialogs/delete-error.c:86
msgid "The event could not be deleted due to an error"
msgstr "The event could not be deleted due to an error"
-#: calendar/gui/dialogs/delete-error.c:89
+#: ../calendar/gui/dialogs/delete-error.c:89
msgid "The task could not be deleted due to an error"
msgstr "The task could not be deleted due to an error"
-#: calendar/gui/dialogs/delete-error.c:92
+#: ../calendar/gui/dialogs/delete-error.c:92
msgid "The journal entry could not be deleted due to an error"
msgstr "The journal entry could not be deleted due to an error"
-#: calendar/gui/dialogs/delete-error.c:95
+#: ../calendar/gui/dialogs/delete-error.c:95
msgid "The item could not be deleted due to an error"
msgstr "The item could not be deleted due to an error"
-#: calendar/gui/dialogs/e-delegate-dialog.glade.h:1
+#: ../calendar/gui/dialogs/e-delegate-dialog.glade.h:1
msgid "Contacts..."
msgstr "Contacts..."
-#: calendar/gui/dialogs/e-delegate-dialog.glade.h:2
+#: ../calendar/gui/dialogs/e-delegate-dialog.glade.h:2
msgid "Delegate To:"
msgstr "Delegate To:"
-#: calendar/gui/dialogs/e-delegate-dialog.glade.h:3
+#: ../calendar/gui/dialogs/e-delegate-dialog.glade.h:3
msgid "Enter Delegate"
msgstr "Enter Delegate"
-#: calendar/gui/dialogs/event-editor.c:149
+#: ../calendar/gui/dialogs/event-editor.c:149
msgid "Recurrence"
msgstr "Recurrence"
-#: calendar/gui/dialogs/event-editor.c:161
-#: calendar/gui/dialogs/event-editor.c:233
-#: calendar/gui/dialogs/event-editor.c:378
+#: ../calendar/gui/dialogs/event-editor.c:161
+#: ../calendar/gui/dialogs/event-editor.c:233
+#: ../calendar/gui/dialogs/event-editor.c:379
msgid "Scheduling"
msgstr "Scheduling"
-#: calendar/gui/dialogs/event-editor.c:168
-#: calendar/gui/dialogs/event-editor.c:236
-#: calendar/gui/dialogs/event-editor.c:381
+#: ../calendar/gui/dialogs/event-editor.c:168
+#: ../calendar/gui/dialogs/event-editor.c:236
+#: ../calendar/gui/dialogs/event-editor.c:382
msgid "Invitations"
msgstr "Invitations"
-#: calendar/gui/dialogs/event-page.c:716
+#: ../calendar/gui/dialogs/event-page.c:725
msgid "Event with no start date"
msgstr "Event with no start date"
-#: calendar/gui/dialogs/event-page.c:719
+#: ../calendar/gui/dialogs/event-page.c:728
msgid "Event with no end date"
msgstr "Event with no end date"
-#: calendar/gui/dialogs/event-page.c:885
-#: calendar/gui/dialogs/task-page.c:551
+#: ../calendar/gui/dialogs/event-page.c:894
+#: ../calendar/gui/dialogs/task-page.c:561
msgid "Start date is wrong"
msgstr "Start date is wrong"
-#: calendar/gui/dialogs/event-page.c:895
+#: ../calendar/gui/dialogs/event-page.c:904
msgid "End date is wrong"
msgstr "End date is wrong"
-#: calendar/gui/dialogs/event-page.c:918
+#: ../calendar/gui/dialogs/event-page.c:927
msgid "Start time is wrong"
msgstr "Start time is wrong"
-#: calendar/gui/dialogs/event-page.c:925
+#: ../calendar/gui/dialogs/event-page.c:934
msgid "End time is wrong"
msgstr "End time is wrong"
-#: calendar/gui/dialogs/event-page.c:1666
+#: ../calendar/gui/dialogs/event-page.c:1675
#, c-format
msgid "Unable to open the calendar '%s'."
msgstr "Unable to open the calendar '%s'."
-#: calendar/gui/dialogs/event-page.c:1872
+#: ../calendar/gui/dialogs/event-page.c:1881
#, c-format
msgid "%d day before appointment"
msgid_plural "%d days before appointment"
msgstr[0] "%d day before appointment"
msgstr[1] "%d days before appointment"
-#: calendar/gui/dialogs/event-page.c:1880
+#: ../calendar/gui/dialogs/event-page.c:1889
#, c-format
msgid "%d hour before appointment"
msgid_plural "%d hours before appointment"
msgstr[0] "%d hour before appointment"
msgstr[1] "%d hours before appointment"
-#: calendar/gui/dialogs/event-page.c:1888
+#: ../calendar/gui/dialogs/event-page.c:1897
#, c-format
msgid "%d minute before appointement"
msgid_plural "%d minutes before appointment"
msgstr[0] "%d minute before appointment"
msgstr[1] "%d minutes before appointment"
-#: calendar/gui/dialogs/event-page.glade.h:2
+#: ../calendar/gui/dialogs/event-page.glade.h:2
msgid "1 day before appointment"
msgstr "1 day before appointment"
-#: calendar/gui/dialogs/event-page.glade.h:3
+#: ../calendar/gui/dialogs/event-page.glade.h:3
msgid "1 hour before appointment"
msgstr "1 hour before appointment"
-#: calendar/gui/dialogs/event-page.glade.h:4
+#: ../calendar/gui/dialogs/event-page.glade.h:4
msgid "15 minutes before appointment"
msgstr "15 minutes before appointment"
-#: calendar/gui/dialogs/event-page.glade.h:5
-#: calendar/gui/dialogs/task-page.glade.h:1
+#: ../calendar/gui/dialogs/event-page.glade.h:5
+#: ../calendar/gui/dialogs/task-page.glade.h:1
msgid "<b>Basics</b>"
msgstr "<b>Basics</b>"
-#: calendar/gui/dialogs/event-page.glade.h:6
-#: calendar/gui/dialogs/task-page.glade.h:2
+#: ../calendar/gui/dialogs/event-page.glade.h:6
+#: ../calendar/gui/dialogs/task-page.glade.h:2
msgid "<b>Date and Time</b>"
msgstr "<b>Date and Time</b>"
-#: calendar/gui/dialogs/event-page.glade.h:7
-#: calendar/gui/dialogs/task-page.glade.h:3
+#: ../calendar/gui/dialogs/event-page.glade.h:7
+#: ../calendar/gui/dialogs/task-page.glade.h:3
msgid "<b>Send Options</b>"
msgstr "<b>Send Options</b>"
-#: calendar/gui/dialogs/event-page.glade.h:8
+#: ../calendar/gui/dialogs/event-page.glade.h:8
msgid "A_ll day event"
msgstr "A_ll day event"
-#: calendar/gui/dialogs/event-page.glade.h:9
+#: ../calendar/gui/dialogs/event-page.glade.h:9
msgid "Ad_vanced send options"
msgstr "Ad_vanced send options"
-#: calendar/gui/dialogs/event-page.glade.h:10
+#: ../calendar/gui/dialogs/event-page.glade.h:10
msgid "C_ustomize..."
msgstr "C_ustomise..."
-#: calendar/gui/dialogs/event-page.glade.h:11
-#: calendar/gui/dialogs/task-page.glade.h:5
+#: ../calendar/gui/dialogs/event-page.glade.h:11
+#: ../calendar/gui/dialogs/task-page.glade.h:5
msgid "Ca_tegories..."
msgstr "Ca_tegories..."
-#: calendar/gui/dialogs/event-page.glade.h:12
+#: ../calendar/gui/dialogs/event-page.glade.h:12
msgid "Cale_ndar:"
msgstr "Cale_ndar:"
-#: calendar/gui/dialogs/event-page.glade.h:13
-#: calendar/gui/dialogs/task-page.glade.h:7
+#: ../calendar/gui/dialogs/event-page.glade.h:13
+#: ../calendar/gui/dialogs/task-page.glade.h:7
msgid "Classi_fication:"
msgstr "Classi_fication:"
-#: calendar/gui/dialogs/event-page.glade.h:14
-#: calendar/gui/dialogs/task-page.glade.h:8
-#: calendar/gui/e-cal-list-view.c:255
-#: calendar/gui/e-cal-model.c:305
-#: calendar/gui/e-calendar-table.c:362
+#: ../calendar/gui/dialogs/event-page.glade.h:14
+#: ../calendar/gui/dialogs/task-page.glade.h:8
+#: ../calendar/gui/e-cal-list-view.c:255
+#: ../calendar/gui/e-cal-model.c:305
+#: ../calendar/gui/e-calendar-table.c:362
msgid "Confidential"
msgstr "Confidential"
-#: calendar/gui/dialogs/event-page.glade.h:15
+#: ../calendar/gui/dialogs/event-page.glade.h:15
msgid "Event Description"
msgstr "Event Description"
-#: calendar/gui/dialogs/event-page.glade.h:16
+#: ../calendar/gui/dialogs/event-page.glade.h:16
msgid "Locat_ion:"
msgstr "Locat_ion:"
-#: calendar/gui/dialogs/event-page.glade.h:17
-#: calendar/gui/dialogs/task-page.glade.h:10
-#: calendar/gui/e-cal-list-view.c:254
-#: calendar/gui/e-cal-model.c:303
-#: calendar/gui/e-calendar-table.c:361
+#: ../calendar/gui/dialogs/event-page.glade.h:17
+#: ../calendar/gui/dialogs/task-page.glade.h:10
+#: ../calendar/gui/e-cal-list-view.c:254
+#: ../calendar/gui/e-cal-model.c:303
+#: ../calendar/gui/e-calendar-table.c:361
msgid "Private"
msgstr "Private"
-#: calendar/gui/dialogs/event-page.glade.h:18
-#: calendar/gui/dialogs/task-page.glade.h:11
-#: calendar/gui/e-cal-list-view.c:253
-#: calendar/gui/e-cal-model.c:294
-#: calendar/gui/e-cal-model.c:301
-#: calendar/gui/e-calendar-table.c:360
+#: ../calendar/gui/dialogs/event-page.glade.h:18
+#: ../calendar/gui/dialogs/task-page.glade.h:11
+#: ../calendar/gui/e-cal-list-view.c:253
+#: ../calendar/gui/e-cal-model.c:294
+#: ../calendar/gui/e-cal-model.c:301
+#: ../calendar/gui/e-calendar-table.c:360
msgid "Public"
msgstr "Public"
-#: calendar/gui/dialogs/event-page.glade.h:19
+#: ../calendar/gui/dialogs/event-page.glade.h:19
msgid "Show time as _busy"
msgstr "Show time as _busy"
-#: calendar/gui/dialogs/event-page.glade.h:20
-#: calendar/gui/dialogs/task-page.glade.h:13
+#: ../calendar/gui/dialogs/event-page.glade.h:20
+#: ../calendar/gui/dialogs/task-page.glade.h:13
msgid "Su_mmary:"
msgstr "Su_mmary:"
-#: calendar/gui/dialogs/event-page.glade.h:21
+#: ../calendar/gui/dialogs/event-page.glade.h:21
msgid "This appointment has customized alarms"
msgstr "This appointment has customized alarms"
-#: calendar/gui/dialogs/event-page.glade.h:22
+#: ../calendar/gui/dialogs/event-page.glade.h:22
msgid "_Alarm"
msgstr "_Alarm"
-#: calendar/gui/dialogs/event-page.glade.h:23
+#: ../calendar/gui/dialogs/event-page.glade.h:23
msgid "_Description:"
msgstr "_Description:"
-#: calendar/gui/dialogs/event-page.glade.h:24
-#: calendar/gui/e-meeting-time-sel.c:642
+#: ../calendar/gui/dialogs/event-page.glade.h:24
+#: ../calendar/gui/e-meeting-time-sel.c:642
msgid "_End time:"
msgstr "_End time:"
-#: calendar/gui/dialogs/event-page.glade.h:25
-#: calendar/gui/e-meeting-time-sel.c:615
+#: ../calendar/gui/dialogs/event-page.glade.h:25
+#: ../calendar/gui/e-meeting-time-sel.c:615
msgid "_Start time:"
msgstr "_Start time:"
#. an empty string is the same as 'None'
-#: calendar/gui/dialogs/meeting-page.c:296
-#: calendar/gui/dialogs/meeting-page.glade.h:5
-#: calendar/gui/e-cal-model-tasks.c:652
-#: calendar/gui/e-itip-control.c:1104
-#: composer/e-msg-composer.c:2117
-#: filter/filter-rule.c:878
-#: mail/em-account-editor.c:675
-#: mail/em-account-editor.c:1273
-#: mail/em-account-prefs.c:421
-#: mail/em-folder-view.c:998
-#: plugins/calendar-weather/calendar-weather.c:371
-#: plugins/calendar-weather/calendar-weather.c:425
-#: plugins/itip-formatter/itip-formatter.c:1376
-#: widgets/e-timezone-dialog/e-timezone-dialog.c:190
-#: widgets/misc/e-cell-date-edit.c:248
-#: widgets/misc/e-dateedit.c:458
-#: widgets/misc/e-dateedit.c:1497
-#: widgets/misc/e-dateedit.c:1651
+#. When "None" is selected we want the field to be cleared.
+#. is not permitted.
+#: ../calendar/gui/dialogs/meeting-page.c:296
+#: ../calendar/gui/dialogs/meeting-page.glade.h:5
+#: ../calendar/gui/e-cal-model-tasks.c:652
+#: ../calendar/gui/e-itip-control.c:1104
+#: ../composer/e-msg-composer.c:2117
+#: ../filter/filter-rule.c:878
+#: ../mail/em-account-editor.c:685
+#: ../mail/em-account-editor.c:1291
+#: ../mail/em-account-prefs.c:437
+#: ../mail/em-folder-view.c:993
+#: ../plugins/calendar-weather/calendar-weather.c:371
+#: ../plugins/calendar-weather/calendar-weather.c:425
+#: ../plugins/itip-formatter/itip-formatter.c:1376
+#: ../widgets/e-timezone-dialog/e-timezone-dialog.c:190
+#: ../widgets/misc/e-cell-date-edit.c:248
+#: ../widgets/misc/e-dateedit.c:458
+#: ../widgets/misc/e-dateedit.c:1497
+#: ../widgets/misc/e-dateedit.c:1651
msgid "None"
msgstr "None"
-#: calendar/gui/dialogs/meeting-page.c:432
+#: ../calendar/gui/dialogs/meeting-page.c:432
msgid "The organizer selected no longer has an account."
msgstr "The organiser selected no longer has an account."
-#: calendar/gui/dialogs/meeting-page.c:438
+#: ../calendar/gui/dialogs/meeting-page.c:438
msgid "An organizer is required."
msgstr "An organiser is required."
-#: calendar/gui/dialogs/meeting-page.c:453
+#: ../calendar/gui/dialogs/meeting-page.c:453
msgid "At least one attendee is required."
msgstr "At least one attendee is required."
-#: calendar/gui/dialogs/meeting-page.c:778
+#: ../calendar/gui/dialogs/meeting-page.c:778
msgid "_Delegate To..."
msgstr "_Delegate To..."
-#: calendar/gui/dialogs/meeting-page.etspec.h:1
-#: calendar/gui/e-meeting-list-view.c:235
-#: calendar/gui/e-meeting-time-sel.etspec.h:1
+#: ../calendar/gui/dialogs/meeting-page.etspec.h:1
+#: ../calendar/gui/e-meeting-list-view.c:308
+#: ../calendar/gui/e-meeting-time-sel.etspec.h:1
msgid "Attendee"
msgstr "Attendee"
-#: calendar/gui/dialogs/meeting-page.etspec.h:2
-#: calendar/gui/e-meeting-time-sel.etspec.h:2
+#: ../calendar/gui/dialogs/meeting-page.etspec.h:2
+#: ../calendar/gui/e-meeting-time-sel.etspec.h:2
msgid "Click here to add an attendee"
msgstr "Click here to add an attendee"
-#: calendar/gui/dialogs/meeting-page.etspec.h:3
-#: calendar/gui/e-meeting-time-sel.etspec.h:3
+#: ../calendar/gui/dialogs/meeting-page.etspec.h:3
+#: ../calendar/gui/e-meeting-time-sel.etspec.h:3
msgid "Common Name"
msgstr "Common Name"
-#: calendar/gui/dialogs/meeting-page.etspec.h:4
-#: calendar/gui/e-meeting-time-sel.etspec.h:4
+#: ../calendar/gui/dialogs/meeting-page.etspec.h:4
+#: ../calendar/gui/e-meeting-time-sel.etspec.h:4
msgid "Delegated From"
msgstr "Delegated From"
-#: calendar/gui/dialogs/meeting-page.etspec.h:5
-#: calendar/gui/e-meeting-time-sel.etspec.h:5
+#: ../calendar/gui/dialogs/meeting-page.etspec.h:5
+#: ../calendar/gui/e-meeting-time-sel.etspec.h:5
msgid "Delegated To"
msgstr "Delegated To"
-#: calendar/gui/dialogs/meeting-page.etspec.h:6
-#: calendar/gui/e-meeting-time-sel.etspec.h:6
+#: ../calendar/gui/dialogs/meeting-page.etspec.h:6
+#: ../calendar/gui/e-meeting-time-sel.etspec.h:6
msgid "Language"
msgstr "Language"
-#: calendar/gui/dialogs/meeting-page.etspec.h:7
-#: calendar/gui/e-meeting-time-sel.etspec.h:7
+#: ../calendar/gui/dialogs/meeting-page.etspec.h:7
+#: ../calendar/gui/e-meeting-time-sel.etspec.h:7
msgid "Member"
msgstr "Member"
-#: calendar/gui/dialogs/meeting-page.etspec.h:8
-#: calendar/gui/e-meeting-list-view.c:258
-#: calendar/gui/e-meeting-time-sel.etspec.h:8
+#: ../calendar/gui/dialogs/meeting-page.etspec.h:8
+#: ../calendar/gui/e-meeting-list-view.c:333
+#: ../calendar/gui/e-meeting-time-sel.etspec.h:8
msgid "RSVP"
msgstr "RSVP"
-#: calendar/gui/dialogs/meeting-page.etspec.h:10
-#: calendar/gui/dialogs/task-editor.c:146
-#: calendar/gui/e-calendar-table.etspec.h:10
-#: calendar/gui/e-meeting-list-view.c:265
-#: calendar/gui/e-meeting-time-sel.etspec.h:10
-#: mail/em-filter-i18n.h:63
-#: mail/message-list.etspec.h:12
+#: ../calendar/gui/dialogs/meeting-page.etspec.h:10
+#: ../calendar/gui/dialogs/task-editor.c:146
+#: ../calendar/gui/e-calendar-table.etspec.h:10
+#: ../calendar/gui/e-meeting-list-view.c:340
+#: ../calendar/gui/e-meeting-time-sel.etspec.h:10
+#: ../mail/em-filter-i18n.h:63
+#: ../mail/message-list.etspec.h:12
msgid "Status"
msgstr "Status"
-#: calendar/gui/dialogs/meeting-page.glade.h:2
+#: ../calendar/gui/dialogs/meeting-page.glade.h:2
msgid "<b>Att_endees</b>"
msgstr "<b>Att_endees</b>"
-#: calendar/gui/dialogs/meeting-page.glade.h:3
+#: ../calendar/gui/dialogs/meeting-page.glade.h:3
msgid "C_hange Organizer"
msgstr "C_hange Organiser"
-#: calendar/gui/dialogs/meeting-page.glade.h:4
-#: calendar/gui/e-meeting-time-sel.c:428
+#: ../calendar/gui/dialogs/meeting-page.glade.h:4
+#: ../calendar/gui/e-meeting-time-sel.c:428
msgid "Con_tacts..."
msgstr "Con_tacts..."
-#: calendar/gui/dialogs/meeting-page.glade.h:6
+#: ../calendar/gui/dialogs/meeting-page.glade.h:6
msgid "Or_ganizer:"
msgstr "Or_ganiser:"
-#: calendar/gui/dialogs/meeting-page.glade.h:7
+#: ../calendar/gui/dialogs/meeting-page.glade.h:7
msgid "Organizer"
msgstr "Organiser"
-#: calendar/gui/dialogs/meeting-page.glade.h:8
-#: calendar/gui/e-itip-control.glade.h:9
+#: ../calendar/gui/dialogs/meeting-page.glade.h:8
+#: ../calendar/gui/e-itip-control.glade.h:9
msgid "Organizer:"
msgstr "Organiser:"
-#: calendar/gui/dialogs/new-calendar.glade.h:2
+#: ../calendar/gui/dialogs/new-calendar.glade.h:2
msgid "<b>Calendar options</b>"
msgstr "<b>Calendar options</b>"
-#: calendar/gui/dialogs/new-calendar.glade.h:3
+#: ../calendar/gui/dialogs/new-calendar.glade.h:3
msgid "Add New Calendar"
msgstr "Add New Calendar"
-#: calendar/gui/dialogs/new-calendar.glade.h:4
+#: ../calendar/gui/dialogs/new-calendar.glade.h:4
msgid "Calendar Group"
msgstr "Calendar Group"
-#: calendar/gui/dialogs/new-calendar.glade.h:5
+#: ../calendar/gui/dialogs/new-calendar.glade.h:5
msgid "Calendar Location"
msgstr "Calendar Location"
-#: calendar/gui/dialogs/new-calendar.glade.h:6
+#: ../calendar/gui/dialogs/new-calendar.glade.h:6
msgid "Calendar Name"
msgstr "Calendar Name"
-#: calendar/gui/dialogs/new-task-list.glade.h:2
+#: ../calendar/gui/dialogs/new-task-list.glade.h:2
msgid "<b>Task List Options</b>"
msgstr "<b>Task List Options</b>"
-#: calendar/gui/dialogs/new-task-list.glade.h:3
+#: ../calendar/gui/dialogs/new-task-list.glade.h:3
msgid "Add New Task List"
msgstr "Add New Task List"
-#: calendar/gui/dialogs/new-task-list.glade.h:4
+#: ../calendar/gui/dialogs/new-task-list.glade.h:4
msgid "Task List Group"
msgstr "Task List Group"
-#: calendar/gui/dialogs/new-task-list.glade.h:5
+#: ../calendar/gui/dialogs/new-task-list.glade.h:5
msgid "Task List Name"
msgstr "Task List Name"
-#: calendar/gui/dialogs/recur-comp.c:51
+#: ../calendar/gui/dialogs/recur-comp.c:52
msgid "You are modifying a recurring event, what would you like to modify?"
msgstr "You are modifying a recurring event, what would you like to modify?"
-#: calendar/gui/dialogs/recur-comp.c:55
+#: ../calendar/gui/dialogs/recur-comp.c:56
msgid "You are modifying a recurring task, what would you like to modify?"
msgstr "You are modifying a recurring task, what would you like to modify?"
-#: calendar/gui/dialogs/recur-comp.c:59
+#: ../calendar/gui/dialogs/recur-comp.c:60
msgid "You are modifying a recurring journal entry, what would you like to modify?"
msgstr "You are modifying a recurring journal entry, what would you like to modify?"
-#: calendar/gui/dialogs/recur-comp.c:87
+#: ../calendar/gui/dialogs/recur-comp.c:88
msgid "This Instance Only"
msgstr "This Instance Only"
-#: calendar/gui/dialogs/recur-comp.c:91
+#: ../calendar/gui/dialogs/recur-comp.c:92
msgid "This and Prior Instances"
msgstr "This and Prior Instances"
-#: calendar/gui/dialogs/recur-comp.c:97
+#: ../calendar/gui/dialogs/recur-comp.c:98
msgid "This and Future Instances"
msgstr "This and Future Instances"
-#: calendar/gui/dialogs/recur-comp.c:102
+#: ../calendar/gui/dialogs/recur-comp.c:103
msgid "All Instances"
msgstr "All Instances"
-#: calendar/gui/dialogs/recurrence-page.c:493
+#: ../calendar/gui/dialogs/recurrence-page.c:493
msgid "This appointment contains recurrences that Evolution cannot edit."
msgstr "This appointment contains recurrences that Evolution cannot edit."
-#: calendar/gui/dialogs/recurrence-page.c:812
+#: ../calendar/gui/dialogs/recurrence-page.c:812
msgid "Recurrence date is invalid"
msgstr "Recurrence date is invalid"
-#: calendar/gui/dialogs/recurrence-page.c:923
+#: ../calendar/gui/dialogs/recurrence-page.c:923
msgid "on"
msgstr "on"
-#: calendar/gui/dialogs/recurrence-page.c:984
+#: ../calendar/gui/dialogs/recurrence-page.c:984
msgid "first"
msgstr "first"
-#: calendar/gui/dialogs/recurrence-page.c:985
+#: ../calendar/gui/dialogs/recurrence-page.c:985
msgid "second"
msgstr "second"
-#: calendar/gui/dialogs/recurrence-page.c:986
+#: ../calendar/gui/dialogs/recurrence-page.c:986
msgid "third"
msgstr "third"
-#: calendar/gui/dialogs/recurrence-page.c:987
+#: ../calendar/gui/dialogs/recurrence-page.c:987
msgid "fourth"
msgstr "fourth"
-#: calendar/gui/dialogs/recurrence-page.c:988
+#: ../calendar/gui/dialogs/recurrence-page.c:988
msgid "last"
msgstr "last"
-#: calendar/gui/dialogs/recurrence-page.c:1011
+#: ../calendar/gui/dialogs/recurrence-page.c:1011
msgid "Other Date"
msgstr "Other Date"
-#: calendar/gui/dialogs/recurrence-page.c:1039
+#: ../calendar/gui/dialogs/recurrence-page.c:1039
msgid "day"
msgstr "day"
-#: calendar/gui/dialogs/recurrence-page.c:1176
+#: ../calendar/gui/dialogs/recurrence-page.c:1176
msgid "on the"
msgstr "on the"
-#: calendar/gui/dialogs/recurrence-page.c:1362
+#: ../calendar/gui/dialogs/recurrence-page.c:1362
msgid "occurrences"
msgstr "occurrences"
-#: calendar/gui/dialogs/recurrence-page.c:2315
+#: ../calendar/gui/dialogs/recurrence-page.c:2315
msgid "Date/Time"
msgstr "Date/Time"
-#: calendar/gui/dialogs/recurrence-page.glade.h:1
+#: ../calendar/gui/dialogs/recurrence-page.glade.h:1
msgid "<b>Exceptions</b>"
msgstr "<b>Exceptions</b>"
-#: calendar/gui/dialogs/recurrence-page.glade.h:2
-#: mail/mail-config.glade.h:3
+#: ../calendar/gui/dialogs/recurrence-page.glade.h:2
+#: ../mail/mail-config.glade.h:3
msgid "<b>Preview</b>"
msgstr "<b>Preview</b>"
-#: calendar/gui/dialogs/recurrence-page.glade.h:3
+#: ../calendar/gui/dialogs/recurrence-page.glade.h:3
msgid "<b>Recurrence</b>"
msgstr "<b>Recurrence</b>"
-#: calendar/gui/dialogs/recurrence-page.glade.h:4
+#: ../calendar/gui/dialogs/recurrence-page.glade.h:4
msgid "Every"
msgstr "Every"
-#: calendar/gui/dialogs/recurrence-page.glade.h:5
+#: ../calendar/gui/dialogs/recurrence-page.glade.h:5
msgid "This appointment rec_urs"
msgstr "This appointment rec_urs"
-#: calendar/gui/dialogs/recurrence-page.glade.h:8
+#: ../calendar/gui/dialogs/recurrence-page.glade.h:8
msgid "for"
msgstr "for"
-#: calendar/gui/dialogs/recurrence-page.glade.h:9
+#: ../calendar/gui/dialogs/recurrence-page.glade.h:9
msgid "forever"
msgstr "forever"
-#: calendar/gui/dialogs/recurrence-page.glade.h:10
+#: ../calendar/gui/dialogs/recurrence-page.glade.h:10
msgid "month(s)"
msgstr "month(s)"
-#: calendar/gui/dialogs/recurrence-page.glade.h:11
+#: ../calendar/gui/dialogs/recurrence-page.glade.h:11
msgid "until"
msgstr "until"
-#: calendar/gui/dialogs/recurrence-page.glade.h:12
+#: ../calendar/gui/dialogs/recurrence-page.glade.h:12
msgid "week(s)"
msgstr "week(s)"
-#: calendar/gui/dialogs/recurrence-page.glade.h:13
+#: ../calendar/gui/dialogs/recurrence-page.glade.h:13
msgid "year(s)"
msgstr "year(s)"
-#: calendar/gui/dialogs/task-details-page.c:410
-#: calendar/gui/dialogs/task-details-page.c:429
+#: ../calendar/gui/dialogs/task-details-page.c:410
+#: ../calendar/gui/dialogs/task-details-page.c:429
msgid "Completed date is wrong"
msgstr "Completed date is wrong"
-#: calendar/gui/dialogs/task-details-page.c:522
+#: ../calendar/gui/dialogs/task-details-page.c:522
msgid "Web Page"
msgstr "Web Page"
-#: calendar/gui/dialogs/task-details-page.glade.h:1
+#: ../calendar/gui/dialogs/task-details-page.glade.h:1
msgid "<span weight=\"bold\">Miscellaneous</span>"
msgstr "<span weight=\"bold\">Miscellaneous</span>"
-#: calendar/gui/dialogs/task-details-page.glade.h:2
+#: ../calendar/gui/dialogs/task-details-page.glade.h:2
msgid "<span weight=\"bold\">Status</span>"
msgstr "<span weight=\"bold\">Status</span>"
#. Pass TRUE as is_utc, so it gets converted to the current
-#: calendar/gui/dialogs/task-details-page.glade.h:4
-#: calendar/gui/e-cal-component-preview.c:229
-#: calendar/gui/e-cal-model-tasks.c:345
-#: calendar/gui/e-cal-model-tasks.c:658
-#: calendar/gui/e-calendar-table.c:457
-#: calendar/gui/e-itip-control.c:896
-#: calendar/gui/e-meeting-store.c:196
-#: calendar/gui/e-meeting-store.c:219
-#: calendar/gui/print.c:2349
+#: ../calendar/gui/dialogs/task-details-page.glade.h:4
+#: ../calendar/gui/e-cal-component-preview.c:229
+#: ../calendar/gui/e-cal-model-tasks.c:345
+#: ../calendar/gui/e-cal-model-tasks.c:658
+#: ../calendar/gui/e-calendar-table.c:457
+#: ../calendar/gui/e-itip-control.c:896
+#: ../calendar/gui/e-meeting-store.c:196
+#: ../calendar/gui/e-meeting-store.c:219
+#: ../calendar/gui/print.c:2349
msgid "Completed"
msgstr "Completed"
-#: calendar/gui/dialogs/task-details-page.glade.h:5
-#: calendar/gui/e-cal-component-preview.c:248
-#: calendar/gui/e-calendar-table.c:382
-#: mail/message-list.c:1011
+#: ../calendar/gui/dialogs/task-details-page.glade.h:5
+#: ../calendar/gui/e-cal-component-preview.c:248
+#: ../calendar/gui/e-calendar-table.c:382
+#: ../mail/message-list.c:1006
msgid "High"
msgstr "High"
-#: calendar/gui/dialogs/task-details-page.glade.h:6
-#: calendar/gui/e-cal-component-preview.c:226
-#: calendar/gui/e-cal-model-tasks.c:343
-#: calendar/gui/e-cal-model-tasks.c:656
-#: calendar/gui/e-cal-model-tasks.c:731
-#: calendar/gui/e-calendar-table.c:456
-#: calendar/gui/print.c:2346
+#: ../calendar/gui/dialogs/task-details-page.glade.h:6
+#: ../calendar/gui/e-cal-component-preview.c:226
+#: ../calendar/gui/e-cal-model-tasks.c:343
+#: ../calendar/gui/e-cal-model-tasks.c:656
+#: ../calendar/gui/e-cal-model-tasks.c:731
+#: ../calendar/gui/e-calendar-table.c:456
+#: ../calendar/gui/print.c:2346
msgid "In Progress"
msgstr "In Progress"
-#: calendar/gui/dialogs/task-details-page.glade.h:7
-#: calendar/gui/e-cal-component-preview.c:252
-#: calendar/gui/e-calendar-table.c:384
-#: mail/message-list.c:1009
+#: ../calendar/gui/dialogs/task-details-page.glade.h:7
+#: ../calendar/gui/e-cal-component-preview.c:252
+#: ../calendar/gui/e-calendar-table.c:384
+#: ../mail/message-list.c:1004
msgid "Low"
msgstr "Low"
-#: calendar/gui/dialogs/task-details-page.glade.h:8
-#: calendar/gui/e-cal-component-preview.c:250
-#: calendar/gui/e-cal-model.c:899
-#: calendar/gui/e-calendar-table.c:383
-#: mail/message-list.c:1010
+#: ../calendar/gui/dialogs/task-details-page.glade.h:8
+#: ../calendar/gui/e-cal-component-preview.c:250
+#: ../calendar/gui/e-cal-model.c:899
+#: ../calendar/gui/e-calendar-table.c:383
+#: ../mail/message-list.c:1005
msgid "Normal"
msgstr "Normal"
-#: calendar/gui/dialogs/task-details-page.glade.h:9
-#: calendar/gui/e-cal-component-preview.c:236
-#: calendar/gui/e-cal-model-tasks.c:341
-#: calendar/gui/e-cal-model-tasks.c:654
-#: calendar/gui/e-calendar-table.c:455
-#: calendar/gui/print.c:2343
+#: ../calendar/gui/dialogs/task-details-page.glade.h:9
+#: ../calendar/gui/e-cal-component-preview.c:236
+#: ../calendar/gui/e-cal-model-tasks.c:341
+#: ../calendar/gui/e-cal-model-tasks.c:654
+#: ../calendar/gui/e-calendar-table.c:455
+#: ../calendar/gui/print.c:2343
msgid "Not Started"
msgstr "Not Started"
-#: calendar/gui/dialogs/task-details-page.glade.h:10
+#: ../calendar/gui/dialogs/task-details-page.glade.h:10
msgid "P_ercent complete:"
msgstr "P_ercent complete:"
-#: calendar/gui/dialogs/task-details-page.glade.h:11
-#: calendar/gui/e-calendar-table.c:385
+#: ../calendar/gui/dialogs/task-details-page.glade.h:11
+#: ../calendar/gui/e-calendar-table.c:385
msgid "Undefined"
msgstr "Undefined"
-#: calendar/gui/dialogs/task-details-page.glade.h:12
+#: ../calendar/gui/dialogs/task-details-page.glade.h:12
msgid "_Date completed:"
msgstr "_Date completed:"
-#: calendar/gui/dialogs/task-details-page.glade.h:13
-#: widgets/misc/e-send-options.glade.h:34
+#: ../calendar/gui/dialogs/task-details-page.glade.h:13
+#: ../widgets/misc/e-send-options.glade.h:34
msgid "_Priority:"
msgstr "_Priority:"
-#: calendar/gui/dialogs/task-details-page.glade.h:14
+#: ../calendar/gui/dialogs/task-details-page.glade.h:14
msgid "_Status:"
msgstr "_Status:"
-#: calendar/gui/dialogs/task-details-page.glade.h:15
+#: ../calendar/gui/dialogs/task-details-page.glade.h:15
msgid "_Web Page:"
msgstr "_Web Page:"
-#: calendar/gui/dialogs/task-editor.c:137
-#: calendar/gui/print.c:2300
+#: ../calendar/gui/dialogs/task-editor.c:137
+#: ../calendar/gui/print.c:2300
msgid "Task"
msgstr "Task"
-#: calendar/gui/dialogs/task-editor.c:157
-#: calendar/gui/dialogs/task-editor.c:219
-#: calendar/gui/dialogs/task-editor.c:358
+#: ../calendar/gui/dialogs/task-editor.c:157
+#: ../calendar/gui/dialogs/task-editor.c:219
+#: ../calendar/gui/dialogs/task-editor.c:359
msgid "Assignment"
msgstr "Assignment"
-#: calendar/gui/dialogs/task-page.c:524
+#: ../calendar/gui/dialogs/task-page.c:534
msgid "Due date is wrong"
msgstr "Due date is wrong"
-#: calendar/gui/dialogs/task-page.c:868
+#: ../calendar/gui/dialogs/task-page.c:878
#, c-format
msgid "Unable to open tasks in '%s'."
msgstr "Unable to open tasks in '%s'."
-#: calendar/gui/dialogs/task-page.glade.h:4
+#: ../calendar/gui/dialogs/task-page.glade.h:4
msgid "Ad_vanced send options"
msgstr "Ad_vanced send options"
-#: calendar/gui/dialogs/task-page.glade.h:9
+#: ../calendar/gui/dialogs/task-page.glade.h:9
msgid "D_escription:"
msgstr "D_escription:"
-#: calendar/gui/dialogs/task-page.glade.h:12
+#: ../calendar/gui/dialogs/task-page.glade.h:12
msgid "Sta_rt date:"
msgstr "Sta_rt date:"
-#: calendar/gui/dialogs/task-page.glade.h:14
+#: ../calendar/gui/dialogs/task-page.glade.h:14
msgid "Task Description"
msgstr "Task Description"
-#: calendar/gui/dialogs/task-page.glade.h:15
+#: ../calendar/gui/dialogs/task-page.glade.h:15
msgid "_Due date:"
msgstr "_Due date:"
-#: calendar/gui/dialogs/task-page.glade.h:16
+#: ../calendar/gui/dialogs/task-page.glade.h:16
msgid "_Group:"
msgstr "_Group:"
-#: calendar/gui/dialogs/url-editor-dialog.glade.h:3
+#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:3
msgid "<b>Free/Busy C_alendars</b>"
msgstr "<b>Free/Busy C_alendars</b>"
-#: calendar/gui/dialogs/url-editor-dialog.glade.h:4
+#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:4
msgid "<b>Publishing Frequency</b>"
msgstr "<b>Publishing Frequency</b>"
-#: calendar/gui/dialogs/url-editor-dialog.glade.h:5
+#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:5
msgid "<b>Publishing _Location</b>"
msgstr "<b>Publishing _Location</b>"
-#: calendar/gui/dialogs/url-editor-dialog.glade.h:6
+#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:6
msgid "Free/Busy Publishing Settings"
msgstr "Free/Busy Publishing Settings"
-#: calendar/gui/dialogs/url-editor-dialog.glade.h:7
+#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:7
msgid "_Daily"
msgstr "_Daily"
-#: calendar/gui/dialogs/url-editor-dialog.glade.h:8
+#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:8
msgid "_Manual"
msgstr "_Manual"
-#: calendar/gui/dialogs/url-editor-dialog.glade.h:9
+#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:9
msgid "_Password:"
msgstr "_Password:"
-#: calendar/gui/dialogs/url-editor-dialog.glade.h:10
+#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:10
msgid "_Remember password"
msgstr "_Remember password"
-#: calendar/gui/dialogs/url-editor-dialog.glade.h:11
+#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:11
msgid "_Username:"
msgstr "_Username:"
-#: calendar/gui/dialogs/url-editor-dialog.glade.h:12
+#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:12
msgid "_Weekly"
msgstr "_Weekly"
-#: calendar/gui/e-alarm-list.c:395
+#: ../calendar/gui/e-alarm-list.c:395
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%d day"
msgstr[1] "%d days"
-#: calendar/gui/e-alarm-list.c:400
+#: ../calendar/gui/e-alarm-list.c:400
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] "%d week"
msgstr[1] "%d weeks"
-#: calendar/gui/e-alarm-list.c:405
+#: ../calendar/gui/e-alarm-list.c:405
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d hour"
msgstr[1] "%d hours"
-#: calendar/gui/e-alarm-list.c:410
+#: ../calendar/gui/e-alarm-list.c:410
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] "%d minute"
msgstr[1] "%d minutes"
-#: calendar/gui/e-alarm-list.c:415
+#: ../calendar/gui/e-alarm-list.c:415
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "%d second"
msgstr[1] "%d seconds"
-#: calendar/gui/e-alarm-list.c:462
+#: ../calendar/gui/e-alarm-list.c:462
msgid "Unknown action to be performed"
msgstr "Unknown action to be performed"
-#: calendar/gui/e-alarm-list.c:474
+#: ../calendar/gui/e-alarm-list.c:474
#, c-format
msgid "%s %s before the start of the appointment"
msgstr "%s %s before the start of the appointment"
-#: calendar/gui/e-alarm-list.c:477
+#: ../calendar/gui/e-alarm-list.c:477
#, c-format
msgid "%s %s after the start of the appointment"
msgstr "%s %s after the start of the appointment"
-#: calendar/gui/e-alarm-list.c:482
+#: ../calendar/gui/e-alarm-list.c:482
#, c-format
msgid "%s at the start of the appointment"
msgstr "%s at the start of the appointment"
-#: calendar/gui/e-alarm-list.c:491
+#: ../calendar/gui/e-alarm-list.c:491
#, c-format
msgid "%s %s before the end of the appointment"
msgstr "%s %s before the end of the appointment"
-#: calendar/gui/e-alarm-list.c:494
+#: ../calendar/gui/e-alarm-list.c:494
#, c-format
msgid "%s %s after the end of the appointment"
msgstr "%s %s after the end of the appointment"
-#: calendar/gui/e-alarm-list.c:499
+#: ../calendar/gui/e-alarm-list.c:499
#, c-format
msgid "%s at the end of the appointment"
msgstr "%s at the end of the appointment"
-#: calendar/gui/e-alarm-list.c:521
+#: ../calendar/gui/e-alarm-list.c:521
#, c-format
msgid "%s at %s"
msgstr "%s at %s"
-#: calendar/gui/e-alarm-list.c:527
+#: ../calendar/gui/e-alarm-list.c:527
#, c-format
msgid "%s for an unknown trigger type"
msgstr "%s for an unknown trigger type"
-#: calendar/gui/e-cal-component-preview.c:70
-#: mail/em-folder-view.c:2520
+#: ../calendar/gui/e-cal-component-preview.c:70
+#: ../mail/em-folder-view.c:2573
#, c-format
msgid "Click to open %s"
msgstr "Click to open %s"
-#: calendar/gui/e-cal-component-preview.c:155
-#: filter/filter-rule.c:795
+#: ../calendar/gui/e-cal-component-preview.c:155
+#: ../filter/filter-rule.c:795
msgid "Untitled"
msgstr "Untitled"
-#: calendar/gui/e-cal-component-preview.c:186
-#: calendar/gui/e-itip-control.c:1108
-#: calendar/gui/e-itip-control.glade.h:11
+#: ../calendar/gui/e-cal-component-preview.c:186
+#: ../calendar/gui/e-itip-control.c:1108
+#: ../calendar/gui/e-itip-control.glade.h:11
msgid "Summary:"
msgstr "Summary:"
-#: calendar/gui/e-cal-component-preview.c:193
-#: calendar/gui/e-cal-component-preview.c:204
+#: ../calendar/gui/e-cal-component-preview.c:193
+#: ../calendar/gui/e-cal-component-preview.c:204
msgid "Start Date:"
msgstr "Start Date:"
-#: calendar/gui/e-cal-component-preview.c:215
+#: ../calendar/gui/e-cal-component-preview.c:215
msgid "Due Date:"
msgstr "Due Date:"
#. write status
-#: calendar/gui/e-cal-component-preview.c:222
-#: calendar/gui/e-itip-control.c:1132
-#: plugins/exchange-account-setup/exchange-account-setup.c:129
-#: plugins/itip-formatter/itip-view.c:884
+#. Status
+#: ../calendar/gui/e-cal-component-preview.c:222
+#: ../calendar/gui/e-itip-control.c:1132
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:209
+#: ../plugins/itip-formatter/itip-view.c:884
msgid "Status:"
msgstr "Status:"
-#: calendar/gui/e-cal-component-preview.c:246
+#: ../calendar/gui/e-cal-component-preview.c:246
msgid "Priority:"
msgstr "Priority:"
-#: calendar/gui/e-cal-component-preview.c:299
+#: ../calendar/gui/e-cal-component-preview.c:299
msgid "Web Page:"
msgstr "Web Page:"
-#: calendar/gui/e-cal-list-view.etspec.h:2
+#: ../calendar/gui/e-cal-list-view.etspec.h:2
msgid "End Date"
msgstr "End Date"
-#: calendar/gui/e-cal-list-view.etspec.h:4
+#: ../calendar/gui/e-cal-list-view.etspec.h:4
msgid "Start Date"
msgstr "Start Date"
-#: calendar/gui/e-cal-list-view.etspec.h:5
-#: calendar/gui/e-calendar-table.etspec.h:11
-#: mail/mail-dialogs.glade.h:21
+#: ../calendar/gui/e-cal-list-view.etspec.h:5
+#: ../calendar/gui/e-calendar-table.etspec.h:11
+#: ../mail/mail-dialogs.glade.h:21
msgid "Summary"
msgstr "Summary"
-#: calendar/gui/e-cal-model-calendar.c:179
-#: calendar/gui/e-calendar-table.c:434
+#: ../calendar/gui/e-cal-model-calendar.c:179
+#: ../calendar/gui/e-calendar-table.c:434
msgid "Free"
msgstr "Free"
-#: calendar/gui/e-cal-model-calendar.c:182
-#: calendar/gui/e-calendar-table.c:435
-#: calendar/gui/e-meeting-time-sel.c:412
+#: ../calendar/gui/e-cal-model-calendar.c:182
+#: ../calendar/gui/e-calendar-table.c:435
+#: ../calendar/gui/e-meeting-time-sel.c:412
msgid "Busy"
msgstr "Busy"
-#: calendar/gui/e-cal-model-tasks.c:297
+#: ../calendar/gui/e-cal-model-tasks.c:297
msgid "N"
msgstr "N"
-#: calendar/gui/e-cal-model-tasks.c:297
+#: ../calendar/gui/e-cal-model-tasks.c:297
msgid "S"
msgstr "S"
-#: calendar/gui/e-cal-model-tasks.c:299
-#: smime/lib/e-cert.c:681
+#: ../calendar/gui/e-cal-model-tasks.c:299
+#: ../smime/lib/e-cert.c:681
msgid "E"
msgstr "E"
-#: calendar/gui/e-cal-model-tasks.c:299
+#: ../calendar/gui/e-cal-model-tasks.c:299
msgid "W"
msgstr "W"
-#: calendar/gui/e-cal-model-tasks.c:606
+#: ../calendar/gui/e-cal-model-tasks.c:606
msgid ""
"The geographical position must be entered in the format: \n"
"\n"
@@ -6236,312 +6283,315 @@ msgstr ""
"\n"
"45.436845,125.862501"
-#: calendar/gui/e-cal-model-tasks.c:1017
-#: calendar/gui/e-cal-model.c:905
-#: calendar/gui/e-meeting-list-view.c:163
-#: calendar/gui/e-meeting-store.c:168
-#: calendar/gui/e-meeting-store.c:178
-#: calendar/gui/e-meeting-store.c:808
+#: ../calendar/gui/e-cal-model-tasks.c:1017
+#: ../calendar/gui/e-cal-model.c:905
+#: ../calendar/gui/e-meeting-list-view.c:163
+#: ../calendar/gui/e-meeting-store.c:168
+#: ../calendar/gui/e-meeting-store.c:178
+#: ../calendar/gui/e-meeting-store.c:808
msgid "Yes"
msgstr "Yes"
-#: calendar/gui/e-cal-model-tasks.c:1017
-#: calendar/gui/e-cal-model.c:905
-#: calendar/gui/e-meeting-list-view.c:164
-#: calendar/gui/e-meeting-store.c:180
+#: ../calendar/gui/e-cal-model-tasks.c:1017
+#: ../calendar/gui/e-cal-model.c:905
+#: ../calendar/gui/e-meeting-list-view.c:164
+#: ../calendar/gui/e-meeting-store.c:180
msgid "No"
msgstr "No"
#. This is the default filename used for temporary file creation
-#: calendar/gui/e-cal-model.c:307
-#: calendar/gui/e-cal-model.c:310
-#: calendar/gui/e-itip-control.c:1149
-#: calendar/gui/e-itip-control.c:1290
-#: calendar/gui/e-meeting-list-view.c:139
-#: calendar/gui/e-meeting-list-view.c:153
-#: calendar/gui/e-meeting-store.c:124
-#: calendar/gui/e-meeting-store.c:159
-#: calendar/gui/e-meeting-store.c:224
-#: mail/em-utils.c:1157
-#: plugins/itip-formatter/itip-formatter.c:251
-#: plugins/itip-formatter/itip-formatter.c:1398
-#: plugins/plugin-manager/plugin-manager.c:72
-#: shell/e-component-registry.c:201
-#: shell/e-component-registry.c:205
-#: widgets/misc/e-charset-picker.c:62
+#: ../calendar/gui/e-cal-model.c:307
+#: ../calendar/gui/e-cal-model.c:310
+#: ../calendar/gui/e-itip-control.c:1149
+#: ../calendar/gui/e-itip-control.c:1290
+#: ../calendar/gui/e-meeting-list-view.c:139
+#: ../calendar/gui/e-meeting-list-view.c:153
+#: ../calendar/gui/e-meeting-store.c:124
+#: ../calendar/gui/e-meeting-store.c:159
+#: ../calendar/gui/e-meeting-store.c:224
+#: ../mail/em-utils.c:1173
+#: ../plugins/itip-formatter/itip-formatter.c:251
+#: ../plugins/itip-formatter/itip-formatter.c:1398
+#: ../plugins/plugin-manager/plugin-manager.c:72
+#: ../shell/e-component-registry.c:201
+#: ../shell/e-component-registry.c:205
+#: ../widgets/misc/e-charset-picker.c:62
msgid "Unknown"
msgstr "Unknown"
-#: calendar/gui/e-cal-model.c:901
+#: ../calendar/gui/e-cal-model.c:901
msgid "Recurring"
msgstr "Recurring"
-#: calendar/gui/e-cal-model.c:903
+#: ../calendar/gui/e-cal-model.c:903
msgid "Assigned"
msgstr "Assigned"
-#: calendar/gui/e-calendar-table.c:404
+#: ../calendar/gui/e-calendar-table.c:404
msgid "0%"
msgstr "0%"
-#: calendar/gui/e-calendar-table.c:405
+#: ../calendar/gui/e-calendar-table.c:405
msgid "10%"
msgstr "10%"
-#: calendar/gui/e-calendar-table.c:406
+#: ../calendar/gui/e-calendar-table.c:406
msgid "20%"
msgstr "20%"
-#: calendar/gui/e-calendar-table.c:407
+#: ../calendar/gui/e-calendar-table.c:407
msgid "30%"
msgstr "30%"
-#: calendar/gui/e-calendar-table.c:408
+#: ../calendar/gui/e-calendar-table.c:408
msgid "40%"
msgstr "40%"
-#: calendar/gui/e-calendar-table.c:409
+#: ../calendar/gui/e-calendar-table.c:409
msgid "50%"
msgstr "50%"
-#: calendar/gui/e-calendar-table.c:410
+#: ../calendar/gui/e-calendar-table.c:410
msgid "60%"
msgstr "60%"
-#: calendar/gui/e-calendar-table.c:411
+#: ../calendar/gui/e-calendar-table.c:411
msgid "70%"
msgstr "70%"
-#: calendar/gui/e-calendar-table.c:412
+#: ../calendar/gui/e-calendar-table.c:412
msgid "80%"
msgstr "80%"
-#: calendar/gui/e-calendar-table.c:413
+#: ../calendar/gui/e-calendar-table.c:413
msgid "90%"
msgstr "90%"
-#: calendar/gui/e-calendar-table.c:414
+#: ../calendar/gui/e-calendar-table.c:414
msgid "100%"
msgstr "100%"
-#: calendar/gui/e-calendar-table.c:516
+#: ../calendar/gui/e-calendar-table.c:516
msgid "Task Table"
msgstr "Task Table"
-#: calendar/gui/e-calendar-table.c:694
-#: calendar/gui/e-calendar-view.c:652
+#: ../calendar/gui/e-calendar-table.c:694
+#: ../calendar/gui/e-calendar-view.c:652
msgid "Deleting selected objects"
msgstr "Deleting selected objects"
-#: calendar/gui/e-calendar-table.c:873
-#: calendar/gui/e-calendar-view.c:756
+#: ../calendar/gui/e-calendar-table.c:873
+#: ../calendar/gui/e-calendar-view.c:756
msgid "Updating objects"
msgstr "Updating objects"
-#: calendar/gui/e-calendar-table.c:1014
-#: calendar/gui/e-calendar-view.c:1064
-#: composer/e-msg-composer.c:1241
+#: ../calendar/gui/e-calendar-table.c:1014
+#: ../calendar/gui/e-calendar-view.c:1064
+#: ../composer/e-msg-composer.c:1241
msgid "Save as..."
msgstr "Save as..."
-#: calendar/gui/e-calendar-table.c:1156
-#: calendar/gui/e-calendar-view.c:1395
-#: mail/em-folder-view.c:964
-#: ui/evolution-addressbook.xml.h:37
+#: ../calendar/gui/e-calendar-table.c:1156
+#: ../calendar/gui/e-calendar-view.c:1395
+#: ../ui/evolution-addressbook.xml.h:37
msgid "_Open"
msgstr "_Open"
-#: calendar/gui/e-calendar-table.c:1157
+#: ../calendar/gui/e-calendar-table.c:1157
msgid "Open _Web Page"
msgstr "Open _Web Page"
-#: calendar/gui/e-calendar-table.c:1158
-#: calendar/gui/e-calendar-view.c:1396
-#: mail/em-folder-view.c:966
-#: mail/em-popup.c:493
-#: ui/evolution-mail-message.xml.h:124
+#: ../calendar/gui/e-calendar-table.c:1158
+#: ../calendar/gui/e-calendar-view.c:1396
+#: ../mail/em-folder-view.c:976
+#: ../mail/em-popup.c:494
+#: ../ui/evolution-mail-message.xml.h:124
msgid "_Save As..."
msgstr "_Save As..."
-#: calendar/gui/e-calendar-table.c:1159
-#: calendar/gui/e-calendar-view.c:1376
-#: calendar/gui/e-calendar-view.c:1397
-#: ui/evolution-addressbook.xml.h:40
-#: ui/evolution-calendar.xml.h:44
-#: ui/evolution-mail-message.xml.h:121
-#: ui/evolution-tasks.xml.h:25
+#: ../calendar/gui/e-calendar-table.c:1159
+#: ../calendar/gui/e-calendar-view.c:1376
+#: ../calendar/gui/e-calendar-view.c:1397
+#: ../ui/evolution-addressbook.xml.h:40
+#: ../ui/evolution-calendar.xml.h:44
+#: ../ui/evolution-mail-message.xml.h:121
+#: ../ui/evolution-tasks.xml.h:25
msgid "_Print..."
msgstr "_Print..."
-#: calendar/gui/e-calendar-table.c:1163
-#: calendar/gui/e-calendar-view.c:1401
-#: ui/evolution-addressbook.xml.h:1
-#: ui/evolution-calendar.xml.h:1
-#: ui/evolution-tasks.xml.h:1
+#: ../calendar/gui/e-calendar-table.c:1163
+#: ../calendar/gui/e-calendar-view.c:1401
+#: ../ui/evolution-addressbook.xml.h:1
+#: ../ui/evolution-calendar.xml.h:1
+#: ../ui/evolution-tasks.xml.h:1
msgid "C_ut"
msgstr "C_ut"
-#: calendar/gui/e-calendar-table.c:1165
-#: calendar/gui/e-calendar-view.c:1379
-#: calendar/gui/e-calendar-view.c:1403
-#: ui/evolution-addressbook.xml.h:38
-#: ui/evolution-calendar.xml.h:43
-#: ui/evolution-composer-entries.xml.h:9
-#: ui/evolution-mail-message.xml.h:119
-#: ui/evolution-tasks.xml.h:24
+#: ../calendar/gui/e-calendar-table.c:1165
+#: ../calendar/gui/e-calendar-view.c:1379
+#: ../calendar/gui/e-calendar-view.c:1403
+#: ../ui/evolution-addressbook.xml.h:38
+#: ../ui/evolution-calendar.xml.h:43
+#: ../ui/evolution-composer-entries.xml.h:9
+#: ../ui/evolution-mail-message.xml.h:119
+#: ../ui/evolution-tasks.xml.h:24
msgid "_Paste"
msgstr "_Paste"
-#: calendar/gui/e-calendar-table.c:1169
+#: ../calendar/gui/e-calendar-table.c:1169
msgid "_Assign Task"
msgstr "_Assign Task"
-#: calendar/gui/e-calendar-table.c:1170
+#: ../calendar/gui/e-calendar-table.c:1170
msgid "_Forward as iCalendar"
msgstr "_Forward as iCalendar"
-#: calendar/gui/e-calendar-table.c:1171
+#: ../calendar/gui/e-calendar-table.c:1171
msgid "_Mark as Complete"
msgstr "_Mark as Complete"
-#: calendar/gui/e-calendar-table.c:1172
+#: ../calendar/gui/e-calendar-table.c:1172
msgid "_Mark Selected Tasks as Complete"
msgstr "_Mark Selected Tasks as Complete"
#. FIXME: need to disable for undeletable folders
-#: calendar/gui/e-calendar-table.c:1176
-#: calendar/gui/e-calendar-view.c:1414
-#: mail/em-folder-tree.c:2814
-#: mail/em-folder-view.c:989
-#: ui/evolution-addressbook.xml.h:33
-#: ui/evolution-calendar.xml.h:40
-#: ui/evolution-mail-message.xml.h:108
-#: ui/evolution-tasks.xml.h:21
+#: ../calendar/gui/e-calendar-table.c:1176
+#: ../calendar/gui/e-calendar-view.c:1414
+#: ../mail/em-folder-tree.c:2814
+#: ../mail/em-folder-view.c:980
+#: ../ui/evolution-addressbook.xml.h:33
+#: ../ui/evolution-calendar.xml.h:40
+#: ../ui/evolution-mail-message.xml.h:108
+#: ../ui/evolution-tasks.xml.h:21
msgid "_Delete"
msgstr "_Delete"
-#: calendar/gui/e-calendar-table.c:1177
+#: ../calendar/gui/e-calendar-table.c:1177
msgid "_Delete Selected Tasks"
msgstr "_Delete Selected Tasks"
-#: calendar/gui/e-calendar-table.c:1328
-#: calendar/gui/e-calendar-table.etspec.h:4
+#: ../calendar/gui/e-calendar-table.c:1328
+#: ../calendar/gui/e-calendar-table.etspec.h:4
msgid "Click to add a task"
msgstr "Click to add a task"
-#: calendar/gui/e-calendar-table.etspec.h:2
+#: ../calendar/gui/e-calendar-table.etspec.h:2
#, no-c-format
msgid "% Complete"
msgstr "% Complete"
-#: calendar/gui/e-calendar-table.etspec.h:5
-#: mail/mail-send-recv.c:617
+#: ../calendar/gui/e-calendar-table.etspec.h:5
+#: ../mail/mail-send-recv.c:617
msgid "Complete"
msgstr "Complete"
-#: calendar/gui/e-calendar-table.etspec.h:6
+#: ../calendar/gui/e-calendar-table.etspec.h:6
msgid "Completion date"
msgstr "Completion date"
-#: calendar/gui/e-calendar-table.etspec.h:7
+#: ../calendar/gui/e-calendar-table.etspec.h:7
msgid "Due date"
msgstr "Due date"
-#: calendar/gui/e-calendar-table.etspec.h:8
+#: ../calendar/gui/e-calendar-table.etspec.h:8
msgid "Priority"
msgstr "Priority"
-#: calendar/gui/e-calendar-table.etspec.h:9
+#: ../calendar/gui/e-calendar-table.etspec.h:9
msgid "Start date"
msgstr "Start date"
-#: calendar/gui/e-calendar-table.etspec.h:12
+#: ../calendar/gui/e-calendar-table.etspec.h:12
msgid "Task sort"
msgstr "Task sort"
-#: calendar/gui/e-calendar-view.c:1185
+#: ../calendar/gui/e-calendar-view.c:1185
msgid "Moving items"
msgstr "Moving items"
-#: calendar/gui/e-calendar-view.c:1187
+#: ../calendar/gui/e-calendar-view.c:1187
msgid "Copying items"
msgstr "Copying items"
-#: calendar/gui/e-calendar-view.c:1370
+#: ../calendar/gui/e-calendar-view.c:1370
msgid "New _Appointment..."
msgstr "New _Appointment..."
-#: calendar/gui/e-calendar-view.c:1371
+#: ../calendar/gui/e-calendar-view.c:1371
msgid "New All Day _Event"
msgstr "New All Day _Event"
-#: calendar/gui/e-calendar-view.c:1373
+#: ../calendar/gui/e-calendar-view.c:1373
msgid "New Task"
msgstr "New Task"
#. FIXME: hook in this somehow
-#: calendar/gui/e-calendar-view.c:1383
+#: ../calendar/gui/e-calendar-view.c:1383
msgid "Current View"
msgstr "Current View"
-#: calendar/gui/e-calendar-view.c:1385
-#: ui/evolution-calendar.xml.h:26
+#: ../calendar/gui/e-calendar-view.c:1385
+#: ../ui/evolution-calendar.xml.h:26
msgid "Select _Today"
msgstr "Select _Today"
-#: calendar/gui/e-calendar-view.c:1386
+#: ../calendar/gui/e-calendar-view.c:1386
msgid "_Select Date..."
msgstr "_Select Date..."
#. TODO: Why is this in a context menu when it applies globally?
-#: calendar/gui/e-calendar-view.c:1391
-#: ui/evolution-calendar.xml.h:45
+#: ../calendar/gui/e-calendar-view.c:1391
+#: ../ui/evolution-calendar.xml.h:45
msgid "_Publish Free/Busy Information"
msgstr "_Publish Free/Busy Information"
-#: calendar/gui/e-calendar-view.c:1407
+#: ../calendar/gui/e-calendar-view.c:1407
msgid "Cop_y to Calendar..."
msgstr "Cop_y to Calendar..."
-#: calendar/gui/e-calendar-view.c:1408
+#: ../calendar/gui/e-calendar-view.c:1408
msgid "Mo_ve to Calendar..."
msgstr "Mo_ve to Calendar..."
-#: calendar/gui/e-calendar-view.c:1409
+#: ../calendar/gui/e-calendar-view.c:1409
msgid "_Schedule Meeting..."
msgstr "_Schedule Meeting..."
-#: calendar/gui/e-calendar-view.c:1410
+#: ../calendar/gui/e-calendar-view.c:1410
msgid "_Forward as iCalendar..."
msgstr "_Forward as iCalendar..."
-#: calendar/gui/e-calendar-view.c:1415
+#: ../calendar/gui/e-calendar-view.c:1415
msgid "Make this Occurrence _Movable"
msgstr "Make this Occurrence _Movable"
-#: calendar/gui/e-calendar-view.c:1416
+#: ../calendar/gui/e-calendar-view.c:1416
msgid "Delete this _Occurrence"
msgstr "Delete this _Occurrence"
-#: calendar/gui/e-calendar-view.c:1417
+#: ../calendar/gui/e-calendar-view.c:1417
msgid "Delete _All Occurrences"
msgstr "Delete _All Occurrences"
#. strftime format of a weekday, a date and a time, 24-hour.
-#: calendar/gui/e-cell-date-edit-text.c:115
-#: e-util/e-time-utils.c:180
-#: e-util/e-time-utils.c:393
+#. in 24-hour format.
+#. time, in 24-hour format.
+#: ../calendar/gui/e-cell-date-edit-text.c:115
+#: ../e-util/e-time-utils.c:180
+#: ../e-util/e-time-utils.c:393
msgid "%a %m/%d/%Y %H:%M:%S"
msgstr "%a %d/%m/%Y %H:%M:%S"
#. strftime format of a weekday, a date and a time, 12-hour.
-#: calendar/gui/e-cell-date-edit-text.c:118
-#: e-util/e-time-utils.c:175
-#: e-util/e-time-utils.c:402
+#. in 12-hour format.
+#. time, in 12-hour format.
+#: ../calendar/gui/e-cell-date-edit-text.c:118
+#: ../e-util/e-time-utils.c:175
+#: ../e-util/e-time-utils.c:402
msgid "%a %m/%d/%Y %I:%M:%S %p"
msgstr "%a %d/%m/%Y %I:%M:%S %p"
-#: calendar/gui/e-cell-date-edit-text.c:123
+#: ../calendar/gui/e-cell-date-edit-text.c:123
#, c-format
msgid ""
"The date must be entered in the format: \n"
@@ -6552,641 +6602,647 @@ msgstr ""
"\n"
"%s"
-#: calendar/gui/e-day-view-time-item.c:527
+#: ../calendar/gui/e-day-view-time-item.c:527
#, c-format
msgid "%02i minute divisions"
msgstr "%02i minute divisions"
#. strftime format %A = full weekday name, %d = day of month,
-#: calendar/gui/e-day-view-top-item.c:715
-#: calendar/gui/e-day-view.c:1494
-#: calendar/gui/e-week-view-main-item.c:312
-#: calendar/gui/print.c:1517
+#. strftime format %A = full weekday name, %d = day of
+#. order but don't change the specifiers or add
+#: ../calendar/gui/e-day-view-top-item.c:715
+#: ../calendar/gui/e-day-view.c:1494
+#: ../calendar/gui/e-week-view-main-item.c:312
+#: ../calendar/gui/print.c:1517
msgid "%A %d %B"
msgstr "%A %d %B"
#. String to use in 12-hour time format for times in the morning.
-#: calendar/gui/e-day-view.c:748
-#: calendar/gui/e-week-view.c:512
-#: calendar/gui/print.c:841
+#: ../calendar/gui/e-day-view.c:748
+#: ../calendar/gui/e-week-view.c:512
+#: ../calendar/gui/print.c:841
msgid "am"
msgstr "am"
#. String to use in 12-hour time format for times in the afternoon.
-#: calendar/gui/e-day-view.c:751
-#: calendar/gui/e-week-view.c:515
-#: calendar/gui/print.c:843
+#: ../calendar/gui/e-day-view.c:751
+#: ../calendar/gui/e-week-view.c:515
+#: ../calendar/gui/print.c:843
msgid "pm"
msgstr "pm"
-#: calendar/gui/e-itip-control.c:761
+#: ../calendar/gui/e-itip-control.c:761
msgid "Yes. (Complex Recurrence)"
msgstr "Yes. (Complex Recurrence)"
-#: calendar/gui/e-itip-control.c:772
+#: ../calendar/gui/e-itip-control.c:772
#, c-format
msgid "Every day"
msgid_plural "Every %d days"
msgstr[0] "Every day"
msgstr[1] "Every %d days"
-#: calendar/gui/e-itip-control.c:777
+#: ../calendar/gui/e-itip-control.c:777
#, c-format
msgid "Every week"
msgid_plural "Every %d weeks"
msgstr[0] "Every week"
msgstr[1] "Every time"
-#: calendar/gui/e-itip-control.c:779
+#: ../calendar/gui/e-itip-control.c:779
#, c-format
msgid "Every week on "
msgid_plural "Every %d weeks on "
msgstr[0] "Every week on "
msgstr[1] "Every %d weeks on "
-#: calendar/gui/e-itip-control.c:787
+#: ../calendar/gui/e-itip-control.c:787
msgid " and "
msgstr " and "
-#: calendar/gui/e-itip-control.c:794
+#: ../calendar/gui/e-itip-control.c:794
#, c-format
msgid "The %s day of "
msgstr "The %s day of "
-#: calendar/gui/e-itip-control.c:807
+#: ../calendar/gui/e-itip-control.c:807
#, c-format
msgid "The %s %s of "
msgstr "The %s %s of "
-#: calendar/gui/e-itip-control.c:814
+#: ../calendar/gui/e-itip-control.c:814
#, c-format
msgid "every month"
msgid_plural "every %d months"
msgstr[0] "every month"
msgstr[1] "every %d months"
-#: calendar/gui/e-itip-control.c:818
+#: ../calendar/gui/e-itip-control.c:818
#, c-format
msgid "Every year"
msgid_plural "Every %d years"
msgstr[0] "Every year"
msgstr[1] "Every %d years"
-#: calendar/gui/e-itip-control.c:829
+#: ../calendar/gui/e-itip-control.c:829
#, c-format
msgid "a total of %d time"
msgid_plural " a total of %d times"
msgstr[0] "a total of %d time"
msgstr[1] " a total of %d times"
-#: calendar/gui/e-itip-control.c:838
+#: ../calendar/gui/e-itip-control.c:838
msgid ", ending on "
msgstr ", ending on "
-#: calendar/gui/e-itip-control.c:862
+#: ../calendar/gui/e-itip-control.c:862
msgid "Starts"
msgstr "Starts"
-#: calendar/gui/e-itip-control.c:875
+#: ../calendar/gui/e-itip-control.c:875
msgid "Ends"
msgstr "Ends"
-#: calendar/gui/e-itip-control.c:909
+#: ../calendar/gui/e-itip-control.c:909
msgid "Due"
msgstr "Due"
-#: calendar/gui/e-itip-control.c:949
-#: calendar/gui/e-itip-control.c:1006
+#: ../calendar/gui/e-itip-control.c:949
+#: ../calendar/gui/e-itip-control.c:1006
msgid "iCalendar Information"
msgstr "iCalendar Information"
#. Title
-#: calendar/gui/e-itip-control.c:966
+#: ../calendar/gui/e-itip-control.c:966
msgid "iCalendar Error"
msgstr "iCalendar Error"
-#: calendar/gui/e-itip-control.c:1038
-#: calendar/gui/e-itip-control.c:1054
-#: calendar/gui/e-itip-control.c:1065
-#: calendar/gui/e-itip-control.c:1082
-#: plugins/itip-formatter/itip-view.c:329
-#: plugins/itip-formatter/itip-view.c:330
-#: plugins/itip-formatter/itip-view.c:397
-#: plugins/itip-formatter/itip-view.c:398
+#: ../calendar/gui/e-itip-control.c:1038
+#: ../calendar/gui/e-itip-control.c:1054
+#: ../calendar/gui/e-itip-control.c:1065
+#: ../calendar/gui/e-itip-control.c:1082
+#: ../plugins/itip-formatter/itip-view.c:329
+#: ../plugins/itip-formatter/itip-view.c:330
+#: ../plugins/itip-formatter/itip-view.c:397
+#: ../plugins/itip-formatter/itip-view.c:398
msgid "An unknown person"
msgstr "An unknown person"
#. Describe what the user can do
-#: calendar/gui/e-itip-control.c:1089
+#: ../calendar/gui/e-itip-control.c:1089
msgid "<br> Please review the following information, and then select an action from the menu below."
msgstr "<br> Please review the following information, and then select an action from the menu below."
-#: calendar/gui/e-itip-control.c:1137
-#: calendar/gui/e-meeting-list-view.c:175
-#: calendar/gui/e-meeting-store.c:188
-#: calendar/gui/e-meeting-store.c:211
-#: calendar/gui/itip-utils.c:422
-#: plugins/itip-formatter/itip-formatter.c:1389
+#: ../calendar/gui/e-itip-control.c:1137
+#: ../calendar/gui/e-meeting-list-view.c:175
+#: ../calendar/gui/e-meeting-store.c:188
+#: ../calendar/gui/e-meeting-store.c:211
+#: ../calendar/gui/itip-utils.c:421
+#: ../plugins/itip-formatter/itip-formatter.c:1389
msgid "Accepted"
msgstr "Accepted"
-#: calendar/gui/e-itip-control.c:1141
-#: calendar/gui/itip-utils.c:425
-#: plugins/itip-formatter/itip-formatter.c:1392
+#: ../calendar/gui/e-itip-control.c:1141
+#: ../calendar/gui/itip-utils.c:424
+#: ../plugins/itip-formatter/itip-formatter.c:1392
msgid "Tentatively Accepted"
msgstr "Tentatively Accepted"
-#: calendar/gui/e-itip-control.c:1145
-#: calendar/gui/e-meeting-list-view.c:176
-#: calendar/gui/e-meeting-store.c:190
-#: calendar/gui/e-meeting-store.c:213
-#: calendar/gui/itip-utils.c:428
-#: calendar/gui/itip-utils.c:454
-#: plugins/itip-formatter/itip-formatter.c:1395
+#: ../calendar/gui/e-itip-control.c:1145
+#: ../calendar/gui/e-meeting-list-view.c:176
+#: ../calendar/gui/e-meeting-store.c:190
+#: ../calendar/gui/e-meeting-store.c:213
+#: ../calendar/gui/itip-utils.c:427
+#: ../calendar/gui/itip-utils.c:453
+#: ../plugins/itip-formatter/itip-formatter.c:1395
msgid "Declined"
msgstr "Declined"
-#: calendar/gui/e-itip-control.c:1229
+#: ../calendar/gui/e-itip-control.c:1229
msgid "The meeting has been cancelled, however it could not be found in your calendars"
msgstr "The meeting has been cancelled, however it could not be found in your calendars"
-#: calendar/gui/e-itip-control.c:1231
+#: ../calendar/gui/e-itip-control.c:1231
msgid "The task has been cancelled, however it could not be found in your task lists"
msgstr "The task has been cancelled, however it could not be found in your task lists"
-#: calendar/gui/e-itip-control.c:1310
+#: ../calendar/gui/e-itip-control.c:1310
#, c-format
msgid "<b>%s</b> has published meeting information."
msgstr "<b>%s</b> has published meeting information."
-#: calendar/gui/e-itip-control.c:1311
+#: ../calendar/gui/e-itip-control.c:1311
msgid "Meeting Information"
msgstr "Meeting Information"
-#: calendar/gui/e-itip-control.c:1317
+#: ../calendar/gui/e-itip-control.c:1317
#, c-format
msgid "<b>%s</b> requests the presence of %s at a meeting."
msgstr "<b>%s</b> requests the presence of %s at a meeting."
-#: calendar/gui/e-itip-control.c:1319
+#: ../calendar/gui/e-itip-control.c:1319
#, c-format
msgid "<b>%s</b> requests your presence at a meeting."
msgstr "<b>%s</b> requests your presence at a meeting."
-#: calendar/gui/e-itip-control.c:1320
+#: ../calendar/gui/e-itip-control.c:1320
msgid "Meeting Proposal"
msgstr "Meeting Proposal"
#. FIXME Whats going on here?
-#: calendar/gui/e-itip-control.c:1326
+#: ../calendar/gui/e-itip-control.c:1326
#, c-format
msgid "<b>%s</b> wishes to add to an existing meeting."
msgstr "<b>%s</b> wishes to add to an existing meeting."
-#: calendar/gui/e-itip-control.c:1327
+#: ../calendar/gui/e-itip-control.c:1327
msgid "Meeting Update"
msgstr "Meeting Update"
-#: calendar/gui/e-itip-control.c:1331
+#: ../calendar/gui/e-itip-control.c:1331
#, c-format
msgid "<b>%s</b> wishes to receive the latest meeting information."
msgstr "<b>%s</b> wishes to receive the latest meeting information."
-#: calendar/gui/e-itip-control.c:1332
+#: ../calendar/gui/e-itip-control.c:1332
msgid "Meeting Update Request"
msgstr "Meeting Update Request"
-#: calendar/gui/e-itip-control.c:1339
+#: ../calendar/gui/e-itip-control.c:1339
#, c-format
msgid "<b>%s</b> has replied to a meeting request."
msgstr "<b>%s</b> has replied to a meeting request."
-#: calendar/gui/e-itip-control.c:1340
+#: ../calendar/gui/e-itip-control.c:1340
msgid "Meeting Reply"
msgstr "Meeting Reply"
-#: calendar/gui/e-itip-control.c:1347
+#: ../calendar/gui/e-itip-control.c:1347
#, c-format
msgid "<b>%s</b> has cancelled a meeting."
msgstr "<b>%s</b> has cancelled a meeting."
-#: calendar/gui/e-itip-control.c:1348
+#: ../calendar/gui/e-itip-control.c:1348
msgid "Meeting Cancellation"
msgstr "Meeting Cancellation"
-#: calendar/gui/e-itip-control.c:1358
-#: calendar/gui/e-itip-control.c:1435
-#: calendar/gui/e-itip-control.c:1475
+#: ../calendar/gui/e-itip-control.c:1358
+#: ../calendar/gui/e-itip-control.c:1435
+#: ../calendar/gui/e-itip-control.c:1475
#, c-format
msgid "<b>%s</b> has sent an unintelligible message."
msgstr "<b>%s</b> has sent an unintelligible message."
-#: calendar/gui/e-itip-control.c:1359
+#: ../calendar/gui/e-itip-control.c:1359
msgid "Bad Meeting Message"
msgstr "Bad Meeting Message"
-#: calendar/gui/e-itip-control.c:1386
+#: ../calendar/gui/e-itip-control.c:1386
#, c-format
msgid "<b>%s</b> has published task information."
msgstr "<b>%s</b> has published task information."
-#: calendar/gui/e-itip-control.c:1387
+#: ../calendar/gui/e-itip-control.c:1387
msgid "Task Information"
msgstr "Task Information"
-#: calendar/gui/e-itip-control.c:1394
+#: ../calendar/gui/e-itip-control.c:1394
#, c-format
msgid "<b>%s</b> requests %s to perform a task."
msgstr "<b>%s</b> requests %s to perform a task."
-#: calendar/gui/e-itip-control.c:1396
+#: ../calendar/gui/e-itip-control.c:1396
#, c-format
msgid "<b>%s</b> requests you perform a task."
msgstr "<b>%s</b> requests you perform a task."
-#: calendar/gui/e-itip-control.c:1397
+#: ../calendar/gui/e-itip-control.c:1397
msgid "Task Proposal"
msgstr "Task Proposal"
#. FIXME Whats going on here?
-#: calendar/gui/e-itip-control.c:1403
+#: ../calendar/gui/e-itip-control.c:1403
#, c-format
msgid "<b>%s</b> wishes to add to an existing task."
msgstr "<b>%s</b> wishes to add to an existing task."
-#: calendar/gui/e-itip-control.c:1404
+#: ../calendar/gui/e-itip-control.c:1404
msgid "Task Update"
msgstr "Task Update"
-#: calendar/gui/e-itip-control.c:1408
+#: ../calendar/gui/e-itip-control.c:1408
#, c-format
msgid "<b>%s</b> wishes to receive the latest task information."
msgstr "<b>%s</b> wishes to receive the latest task information."
-#: calendar/gui/e-itip-control.c:1409
+#: ../calendar/gui/e-itip-control.c:1409
msgid "Task Update Request"
msgstr "Task Update Request"
-#: calendar/gui/e-itip-control.c:1416
+#: ../calendar/gui/e-itip-control.c:1416
#, c-format
msgid "<b>%s</b> has replied to a task assignment."
msgstr "<b>%s</b> has replied to a task assignment."
-#: calendar/gui/e-itip-control.c:1417
+#: ../calendar/gui/e-itip-control.c:1417
msgid "Task Reply"
msgstr "Task Reply"
-#: calendar/gui/e-itip-control.c:1424
+#: ../calendar/gui/e-itip-control.c:1424
#, c-format
msgid "<b>%s</b> has cancelled a task."
msgstr "<b>%s</b> has cancelled a task."
-#: calendar/gui/e-itip-control.c:1425
+#: ../calendar/gui/e-itip-control.c:1425
msgid "Task Cancellation"
msgstr "Task Cancellation"
-#: calendar/gui/e-itip-control.c:1436
+#: ../calendar/gui/e-itip-control.c:1436
msgid "Bad Task Message"
msgstr "Bad Task Message"
-#: calendar/gui/e-itip-control.c:1460
+#: ../calendar/gui/e-itip-control.c:1460
#, c-format
msgid "<b>%s</b> has published free/busy information."
msgstr "<b>%s</b> has published free/busy information."
-#: calendar/gui/e-itip-control.c:1461
+#: ../calendar/gui/e-itip-control.c:1461
msgid "Free/Busy Information"
msgstr "Free/Busy Information"
-#: calendar/gui/e-itip-control.c:1465
+#: ../calendar/gui/e-itip-control.c:1465
#, c-format
msgid "<b>%s</b> requests your free/busy information."
msgstr "<b>%s</b> requests your free/busy information."
-#: calendar/gui/e-itip-control.c:1466
+#: ../calendar/gui/e-itip-control.c:1466
msgid "Free/Busy Request"
msgstr "Free/Busy Request"
-#: calendar/gui/e-itip-control.c:1470
+#: ../calendar/gui/e-itip-control.c:1470
#, c-format
msgid "<b>%s</b> has replied to a free/busy request."
msgstr "<b>%s</b> has replied to a free/busy request."
-#: calendar/gui/e-itip-control.c:1471
+#: ../calendar/gui/e-itip-control.c:1471
msgid "Free/Busy Reply"
msgstr "Free/Busy Reply"
-#: calendar/gui/e-itip-control.c:1476
+#: ../calendar/gui/e-itip-control.c:1476
msgid "Bad Free/Busy Message"
msgstr "Bad Free/Busy Message"
-#: calendar/gui/e-itip-control.c:1551
+#: ../calendar/gui/e-itip-control.c:1551
msgid "The message does not appear to be properly formed"
msgstr "The message does not appear to be properly formed"
-#: calendar/gui/e-itip-control.c:1610
+#: ../calendar/gui/e-itip-control.c:1610
msgid "The message contains only unsupported requests."
msgstr "The message contains only unsupported requests."
-#: calendar/gui/e-itip-control.c:1643
+#: ../calendar/gui/e-itip-control.c:1643
msgid "The attachment does not contain a valid calendar message"
msgstr "The attachment does not contain a valid calendar message"
-#: calendar/gui/e-itip-control.c:1675
+#: ../calendar/gui/e-itip-control.c:1675
msgid "The attachment has no viewable calendar items"
msgstr "The attachment has no viewable calendar items"
-#: calendar/gui/e-itip-control.c:1909
+#: ../calendar/gui/e-itip-control.c:1909
msgid "Update complete\n"
msgstr "Update complete\n"
-#: calendar/gui/e-itip-control.c:1937
+#: ../calendar/gui/e-itip-control.c:1937
msgid "Object is invalid and cannot be updated\n"
msgstr "Object is invalid and cannot be updated\n"
-#: calendar/gui/e-itip-control.c:1947
+#: ../calendar/gui/e-itip-control.c:1947
msgid "This response is not from a current attendee. Add as an attendee?"
msgstr "This response is not from a current attendee. Add as an attendee?"
-#: calendar/gui/e-itip-control.c:1959
+#: ../calendar/gui/e-itip-control.c:1959
msgid "Attendee status could not be updated because of an invalid status!\n"
msgstr "Attendee status could not be updated because of an invalid status!\n"
-#: calendar/gui/e-itip-control.c:1976
+#: ../calendar/gui/e-itip-control.c:1976
msgid "Attendee status updated\n"
msgstr "Attendee status updated\n"
-#: calendar/gui/e-itip-control.c:1979
-#: plugins/itip-formatter/itip-formatter.c:852
+#: ../calendar/gui/e-itip-control.c:1979
+#: ../plugins/itip-formatter/itip-formatter.c:852
msgid "Attendee status can not be updated because the item no longer exists"
msgstr "Attendee status can not be updated because the item no longer exists"
-#: calendar/gui/e-itip-control.c:2006
+#: ../calendar/gui/e-itip-control.c:2006
msgid "Removal Complete"
msgstr "Removal Complete"
-#: calendar/gui/e-itip-control.c:2029
-#: calendar/gui/e-itip-control.c:2077
+#: ../calendar/gui/e-itip-control.c:2029
+#: ../calendar/gui/e-itip-control.c:2077
msgid "Item sent!\n"
msgstr "Item sent!\n"
-#: calendar/gui/e-itip-control.c:2031
-#: calendar/gui/e-itip-control.c:2081
+#: ../calendar/gui/e-itip-control.c:2031
+#: ../calendar/gui/e-itip-control.c:2081
msgid "The item could not be sent!\n"
msgstr "The item could not be sent!\n"
-#: calendar/gui/e-itip-control.c:2161
+#: ../calendar/gui/e-itip-control.c:2161
msgid "Choose an action:"
msgstr "Choose an action:"
-#: calendar/gui/e-itip-control.c:2232
+#: ../calendar/gui/e-itip-control.c:2232
msgid "Update"
msgstr "Update"
-#: calendar/gui/e-itip-control.c:2260
+#: ../calendar/gui/e-itip-control.c:2260
msgid "Accept"
msgstr "Accept"
-#: calendar/gui/e-itip-control.c:2261
+#: ../calendar/gui/e-itip-control.c:2261
msgid "Tentatively accept"
msgstr "Tentatively accept"
-#: calendar/gui/e-itip-control.c:2262
+#: ../calendar/gui/e-itip-control.c:2262
msgid "Decline"
msgstr "Decline"
-#: calendar/gui/e-itip-control.c:2291
+#: ../calendar/gui/e-itip-control.c:2291
msgid "Send Free/Busy Information"
msgstr "Send Free/Busy Information"
-#: calendar/gui/e-itip-control.c:2319
+#: ../calendar/gui/e-itip-control.c:2319
msgid "Update respondent status"
msgstr "Update respondent status"
-#: calendar/gui/e-itip-control.c:2347
+#: ../calendar/gui/e-itip-control.c:2347
msgid "Send Latest Information"
msgstr "Send Latest Information"
-#: calendar/gui/e-itip-control.c:2375
-#: calendar/gui/itip-utils.c:442
-#: mail/mail-send-recv.c:414
-#: mail/mail-send-recv.c:466
-#: ui/evolution-mail-global.xml.h:1
+#: ../calendar/gui/e-itip-control.c:2375
+#: ../calendar/gui/itip-utils.c:441
+#: ../mail/mail-send-recv.c:414
+#: ../mail/mail-send-recv.c:466
+#: ../ui/evolution-mail-global.xml.h:1
msgid "Cancel"
msgstr "Cancel"
-#: calendar/gui/e-itip-control.glade.h:2
+#: ../calendar/gui/e-itip-control.glade.h:2
#, no-c-format
msgid "%P %%"
msgstr "%P %%"
-#: calendar/gui/e-itip-control.glade.h:3
+#: ../calendar/gui/e-itip-control.glade.h:3
msgid "--to--"
msgstr "--to--"
-#: calendar/gui/e-itip-control.glade.h:4
+#: ../calendar/gui/e-itip-control.glade.h:4
msgid "Calendar Message"
msgstr "Calendar Message"
-#: calendar/gui/e-itip-control.glade.h:5
+#: ../calendar/gui/e-itip-control.glade.h:5
msgid "Date:"
msgstr "Date:"
-#: calendar/gui/e-itip-control.glade.h:7
+#: ../calendar/gui/e-itip-control.glade.h:7
msgid "Loading Calendar"
msgstr "Loading Calendar"
-#: calendar/gui/e-itip-control.glade.h:8
+#: ../calendar/gui/e-itip-control.glade.h:8
msgid "Loading calendar..."
msgstr "Loading calendar..."
-#: calendar/gui/e-itip-control.glade.h:10
+#: ../calendar/gui/e-itip-control.glade.h:10
msgid "Server Message:"
msgstr "Server Message:"
-#: calendar/gui/e-itip-control.glade.h:12
+#: ../calendar/gui/e-itip-control.glade.h:12
msgid "date-end"
msgstr "date-end"
-#: calendar/gui/e-itip-control.glade.h:13
+#: ../calendar/gui/e-itip-control.glade.h:13
msgid "date-start"
msgstr "date-start"
-#: calendar/gui/e-meeting-list-view.c:59
+#: ../calendar/gui/e-meeting-list-view.c:59
msgid "Chair Persons"
msgstr "Chair Persons"
-#: calendar/gui/e-meeting-list-view.c:60
-#: calendar/gui/e-meeting-list-view.c:124
+#: ../calendar/gui/e-meeting-list-view.c:60
+#: ../calendar/gui/e-meeting-list-view.c:124
msgid "Required Participants"
msgstr "Required Participants"
-#: calendar/gui/e-meeting-list-view.c:61
+#: ../calendar/gui/e-meeting-list-view.c:61
msgid "Optional Participants"
msgstr "Optional Participants"
-#: calendar/gui/e-meeting-list-view.c:62
+#: ../calendar/gui/e-meeting-list-view.c:62
msgid "Resources"
msgstr "Resources"
-#: calendar/gui/e-meeting-list-view.c:135
-#: calendar/gui/e-meeting-store.c:99
-#: calendar/gui/e-meeting-store.c:116
-#: calendar/gui/e-meeting-store.c:802
+#: ../calendar/gui/e-meeting-list-view.c:135
+#: ../calendar/gui/e-meeting-store.c:99
+#: ../calendar/gui/e-meeting-store.c:116
+#: ../calendar/gui/e-meeting-store.c:802
msgid "Individual"
msgstr "Individual"
-#: calendar/gui/e-meeting-list-view.c:136
-#: calendar/gui/e-meeting-store.c:101
-#: calendar/gui/e-meeting-store.c:118
+#: ../calendar/gui/e-meeting-list-view.c:136
+#: ../calendar/gui/e-meeting-store.c:101
+#: ../calendar/gui/e-meeting-store.c:118
msgid "Group"
msgstr "Group"
-#: calendar/gui/e-meeting-list-view.c:137
-#: calendar/gui/e-meeting-store.c:103
-#: calendar/gui/e-meeting-store.c:120
+#: ../calendar/gui/e-meeting-list-view.c:137
+#: ../calendar/gui/e-meeting-store.c:103
+#: ../calendar/gui/e-meeting-store.c:120
msgid "Resource"
msgstr "Resource"
-#: calendar/gui/e-meeting-list-view.c:138
-#: calendar/gui/e-meeting-store.c:105
-#: calendar/gui/e-meeting-store.c:122
+#: ../calendar/gui/e-meeting-list-view.c:138
+#: ../calendar/gui/e-meeting-store.c:105
+#: ../calendar/gui/e-meeting-store.c:122
msgid "Room"
msgstr "Room"
-#: calendar/gui/e-meeting-list-view.c:149
-#: calendar/gui/e-meeting-store.c:134
-#: calendar/gui/e-meeting-store.c:151
+#: ../calendar/gui/e-meeting-list-view.c:149
+#: ../calendar/gui/e-meeting-store.c:134
+#: ../calendar/gui/e-meeting-store.c:151
msgid "Chair"
msgstr "Chair"
-#: calendar/gui/e-meeting-list-view.c:150
-#: calendar/gui/e-meeting-store.c:136
-#: calendar/gui/e-meeting-store.c:153
-#: calendar/gui/e-meeting-store.c:805
+#: ../calendar/gui/e-meeting-list-view.c:150
+#: ../calendar/gui/e-meeting-store.c:136
+#: ../calendar/gui/e-meeting-store.c:153
+#: ../calendar/gui/e-meeting-store.c:805
msgid "Required Participant"
msgstr "Required Participant"
-#: calendar/gui/e-meeting-list-view.c:151
-#: calendar/gui/e-meeting-store.c:138
-#: calendar/gui/e-meeting-store.c:155
+#: ../calendar/gui/e-meeting-list-view.c:151
+#: ../calendar/gui/e-meeting-store.c:138
+#: ../calendar/gui/e-meeting-store.c:155
msgid "Optional Participant"
msgstr "Optional Participant"
-#: calendar/gui/e-meeting-list-view.c:152
-#: calendar/gui/e-meeting-store.c:140
-#: calendar/gui/e-meeting-store.c:157
+#: ../calendar/gui/e-meeting-list-view.c:152
+#: ../calendar/gui/e-meeting-store.c:140
+#: ../calendar/gui/e-meeting-store.c:157
msgid "Non-Participant"
msgstr "Non-Participant"
-#: calendar/gui/e-meeting-list-view.c:174
-#: calendar/gui/e-meeting-store.c:186
-#: calendar/gui/e-meeting-store.c:209
-#: calendar/gui/e-meeting-store.c:815
+#: ../calendar/gui/e-meeting-list-view.c:174
+#: ../calendar/gui/e-meeting-store.c:186
+#: ../calendar/gui/e-meeting-store.c:209
+#: ../calendar/gui/e-meeting-store.c:815
msgid "Needs Action"
msgstr "Needs Action"
-#: calendar/gui/e-meeting-list-view.c:177
-#: calendar/gui/e-meeting-store.c:192
-#: calendar/gui/e-meeting-store.c:215
-#: calendar/gui/e-meeting-time-sel.c:411
+#: ../calendar/gui/e-meeting-list-view.c:177
+#: ../calendar/gui/e-meeting-store.c:192
+#: ../calendar/gui/e-meeting-store.c:215
+#: ../calendar/gui/e-meeting-time-sel.c:411
msgid "Tentative"
msgstr "Tentative"
-#: calendar/gui/e-meeting-list-view.c:178
-#: calendar/gui/e-meeting-store.c:194
-#: calendar/gui/e-meeting-store.c:217
+#: ../calendar/gui/e-meeting-list-view.c:178
+#: ../calendar/gui/e-meeting-store.c:194
+#: ../calendar/gui/e-meeting-store.c:217
msgid "Delegated"
msgstr "Delegated"
-#: calendar/gui/e-meeting-store.c:198
-#: calendar/gui/e-meeting-store.c:221
+#: ../calendar/gui/e-meeting-store.c:198
+#: ../calendar/gui/e-meeting-store.c:221
msgid "In Process"
msgstr "In Process"
#. This is a strftime() format string %A = full weekday name,
-#: calendar/gui/e-meeting-time-sel-item.c:444
-#: calendar/gui/e-meeting-time-sel.c:2104
+#: ../calendar/gui/e-meeting-time-sel-item.c:444
+#: ../calendar/gui/e-meeting-time-sel.c:2104
msgid "%A, %B %d, %Y"
msgstr "%A, %d %B, %Y"
#. This is a strftime() format string %a = abbreviated weekday
-#: calendar/gui/e-meeting-time-sel-item.c:448
-#: calendar/gui/e-meeting-time-sel.c:2137
-#: e-util/e-time-utils.c:203
-#: e-util/e-time-utils.c:296
-#: e-util/e-time-utils.c:384
+#. This is a strftime() format string %a = abbreviated weekday name,
+#. strptime format of a weekday and a date.
+#: ../calendar/gui/e-meeting-time-sel-item.c:448
+#: ../calendar/gui/e-meeting-time-sel.c:2137
+#: ../e-util/e-time-utils.c:203
+#: ../e-util/e-time-utils.c:296
+#: ../e-util/e-time-utils.c:384
msgid "%a %m/%d/%Y"
msgstr "%a %d/%m/%Y"
#. This is a strftime() format string %m = month number,
-#: calendar/gui/e-meeting-time-sel-item.c:452
-#: e-util/e-time-utils.c:238
-#: e-util/e-time-utils.c:299
-#: widgets/misc/e-dateedit.c:1660
+#. strptime format of a weekday and a date.
+#. This is a strftime() format for a short date. %m = month,
+#: ../calendar/gui/e-meeting-time-sel-item.c:452
+#: ../e-util/e-time-utils.c:238
+#: ../e-util/e-time-utils.c:299
+#: ../widgets/misc/e-dateedit.c:1660
msgid "%m/%d/%Y"
msgstr "%d/%m/%Y"
-#: calendar/gui/e-meeting-time-sel.c:413
-#: designs/OOA/ooa.glade.h:11
+#: ../calendar/gui/e-meeting-time-sel.c:413
+#: ../designs/OOA/ooa.glade.h:11
msgid "Out of Office"
msgstr "Out of Office"
-#: calendar/gui/e-meeting-time-sel.c:414
+#: ../calendar/gui/e-meeting-time-sel.c:414
msgid "No Information"
msgstr "No Information"
-#: calendar/gui/e-meeting-time-sel.c:445
+#: ../calendar/gui/e-meeting-time-sel.c:445
msgid "O_ptions"
msgstr "O_ptions"
-#: calendar/gui/e-meeting-time-sel.c:462
+#: ../calendar/gui/e-meeting-time-sel.c:462
msgid "Show _only working hours"
msgstr "Show _only working hours"
-#: calendar/gui/e-meeting-time-sel.c:472
+#: ../calendar/gui/e-meeting-time-sel.c:472
msgid "Show _zoomed out"
msgstr "Show _zoomed out"
-#: calendar/gui/e-meeting-time-sel.c:487
+#: ../calendar/gui/e-meeting-time-sel.c:487
msgid "_Update free/busy"
msgstr "_Update free/busy"
-#: calendar/gui/e-meeting-time-sel.c:502
+#: ../calendar/gui/e-meeting-time-sel.c:502
msgid "_<<"
msgstr "_<<"
-#: calendar/gui/e-meeting-time-sel.c:520
+#: ../calendar/gui/e-meeting-time-sel.c:520
msgid "_Autopick"
msgstr "_Autopick"
-#: calendar/gui/e-meeting-time-sel.c:535
+#: ../calendar/gui/e-meeting-time-sel.c:535
msgid ">_>"
msgstr ">_>"
-#: calendar/gui/e-meeting-time-sel.c:552
+#: ../calendar/gui/e-meeting-time-sel.c:552
msgid "_All people and resources"
msgstr "_All people and resources"
-#: calendar/gui/e-meeting-time-sel.c:561
+#: ../calendar/gui/e-meeting-time-sel.c:561
msgid "All _people and one resource"
msgstr "All _people and one resource"
-#: calendar/gui/e-meeting-time-sel.c:570
+#: ../calendar/gui/e-meeting-time-sel.c:570
msgid "_Required people"
msgstr "_Required people"
-#: calendar/gui/e-meeting-time-sel.c:579
+#: ../calendar/gui/e-meeting-time-sel.c:579
msgid "Required people and _one resource"
msgstr "Required people and _one resource"
-#: calendar/gui/e-pub-utils.c:300
+#: ../calendar/gui/e-pub-utils.c:300
#, c-format
msgid "Enter the password for %s"
msgstr "Enter the password for %s"
-#: calendar/gui/e-tasks.c:763
-#: calendar/gui/gnome-cal.c:2373
+#: ../calendar/gui/e-tasks.c:763
+#: ../calendar/gui/gnome-cal.c:2372
#, c-format
msgid ""
"Error on %s:\n"
@@ -7195,191 +7251,192 @@ msgstr ""
"Error on %s:\n"
" %s"
-#: calendar/gui/e-tasks.c:811
+#: ../calendar/gui/e-tasks.c:811
msgid "Loading tasks"
msgstr "Loading tasks"
-#: calendar/gui/e-tasks.c:895
+#: ../calendar/gui/e-tasks.c:895
#, c-format
msgid "Opening tasks at %s"
msgstr "Opening tasks at %s"
-#: calendar/gui/e-tasks.c:1091
+#: ../calendar/gui/e-tasks.c:1091
msgid "Completing tasks..."
msgstr "Completing tasks..."
-#: calendar/gui/e-tasks.c:1114
+#: ../calendar/gui/e-tasks.c:1114
msgid "Deleting selected objects..."
msgstr "Deleting selected objects..."
-#: calendar/gui/e-tasks.c:1141
+#: ../calendar/gui/e-tasks.c:1141
msgid "Expunging"
msgstr "Expunging"
-#: calendar/gui/e-timezone-entry.c:133
+#: ../calendar/gui/e-timezone-entry.c:133
msgid "Timezone Button"
msgstr "Timezone Button"
#. strftime format %d = day of month, %B = full
-#: calendar/gui/e-week-view-main-item.c:329
-#: calendar/gui/print.c:1501
+#. change the specifiers or add anything.
+#: ../calendar/gui/e-week-view-main-item.c:329
+#: ../calendar/gui/print.c:1501
msgid "%d %B"
msgstr "%d %B"
-#: calendar/gui/gnome-cal.c:718
+#: ../calendar/gui/gnome-cal.c:718
msgid "Updating query"
msgstr "Updating query"
#. bonobo displays this string so it must be in locale
-#: calendar/gui/gnome-cal.c:2057
-#: widgets/menus/gal-view-menus.c:351
+#: ../calendar/gui/gnome-cal.c:2057
+#: ../widgets/menus/gal-view-menus.c:351
msgid "Custom View"
msgstr "Custom View"
-#: calendar/gui/gnome-cal.c:2058
+#: ../calendar/gui/gnome-cal.c:2058
msgid "Save Custom View"
msgstr "Save Custom View"
-#: calendar/gui/gnome-cal.c:2063
-#: widgets/menus/gal-view-menus.c:373
+#: ../calendar/gui/gnome-cal.c:2063
+#: ../widgets/menus/gal-view-menus.c:373
msgid "Define Views..."
msgstr "Define Views..."
-#: calendar/gui/gnome-cal.c:2223
+#: ../calendar/gui/gnome-cal.c:2222
#, c-format
msgid "Loading appointments at %s"
msgstr "Loading appointments at %s"
-#: calendar/gui/gnome-cal.c:2242
+#: ../calendar/gui/gnome-cal.c:2241
#, c-format
msgid "Loading tasks at %s"
msgstr "Loading tasks at %s"
-#: calendar/gui/gnome-cal.c:2339
+#: ../calendar/gui/gnome-cal.c:2338
#, c-format
msgid "Opening %s"
msgstr "Opening %s"
-#: calendar/gui/gnome-cal.c:3229
+#: ../calendar/gui/gnome-cal.c:3228
msgid "Purging"
msgstr "Purging"
-#: calendar/gui/goto-dialog.glade.h:1
+#: ../calendar/gui/goto-dialog.glade.h:1
msgid "April"
msgstr "April"
-#: calendar/gui/goto-dialog.glade.h:2
+#: ../calendar/gui/goto-dialog.glade.h:2
msgid "August"
msgstr "August"
-#: calendar/gui/goto-dialog.glade.h:3
+#: ../calendar/gui/goto-dialog.glade.h:3
msgid "December"
msgstr "December"
-#: calendar/gui/goto-dialog.glade.h:4
+#: ../calendar/gui/goto-dialog.glade.h:4
msgid "February"
msgstr "February"
-#: calendar/gui/goto-dialog.glade.h:5
+#: ../calendar/gui/goto-dialog.glade.h:5
msgid "January"
msgstr "January"
-#: calendar/gui/goto-dialog.glade.h:6
+#: ../calendar/gui/goto-dialog.glade.h:6
msgid "July"
msgstr "July"
-#: calendar/gui/goto-dialog.glade.h:7
+#: ../calendar/gui/goto-dialog.glade.h:7
msgid "June"
msgstr "June"
-#: calendar/gui/goto-dialog.glade.h:8
+#: ../calendar/gui/goto-dialog.glade.h:8
msgid "March"
msgstr "March"
-#: calendar/gui/goto-dialog.glade.h:9
+#: ../calendar/gui/goto-dialog.glade.h:9
msgid "May"
msgstr "May"
-#: calendar/gui/goto-dialog.glade.h:10
+#: ../calendar/gui/goto-dialog.glade.h:10
msgid "November"
msgstr "November"
-#: calendar/gui/goto-dialog.glade.h:11
+#: ../calendar/gui/goto-dialog.glade.h:11
msgid "October"
msgstr "October"
-#: calendar/gui/goto-dialog.glade.h:12
+#: ../calendar/gui/goto-dialog.glade.h:12
msgid "Select Date"
msgstr "Select Date"
-#: calendar/gui/goto-dialog.glade.h:13
+#: ../calendar/gui/goto-dialog.glade.h:13
msgid "September"
msgstr "September"
-#: calendar/gui/goto-dialog.glade.h:14
+#: ../calendar/gui/goto-dialog.glade.h:14
msgid "_Select Today"
msgstr "_Select Today"
-#: calendar/gui/itip-utils.c:271
-#: calendar/gui/itip-utils.c:319
-#: calendar/gui/itip-utils.c:351
+#: ../calendar/gui/itip-utils.c:270
+#: ../calendar/gui/itip-utils.c:318
+#: ../calendar/gui/itip-utils.c:350
msgid "An organizer must be set."
msgstr "An organiser must be set."
-#: calendar/gui/itip-utils.c:306
+#: ../calendar/gui/itip-utils.c:305
msgid "At least one attendee is necessary"
msgstr "At least one attendee is necessary"
-#: calendar/gui/itip-utils.c:394
-#: calendar/gui/itip-utils.c:503
+#: ../calendar/gui/itip-utils.c:393
+#: ../calendar/gui/itip-utils.c:502
msgid "Event information"
msgstr "Event information"
-#: calendar/gui/itip-utils.c:396
-#: calendar/gui/itip-utils.c:505
+#: ../calendar/gui/itip-utils.c:395
+#: ../calendar/gui/itip-utils.c:504
msgid "Task information"
msgstr "Task information"
-#: calendar/gui/itip-utils.c:398
-#: calendar/gui/itip-utils.c:507
+#: ../calendar/gui/itip-utils.c:397
+#: ../calendar/gui/itip-utils.c:506
msgid "Journal information"
msgstr "Journal information"
-#: calendar/gui/itip-utils.c:400
-#: calendar/gui/itip-utils.c:525
+#: ../calendar/gui/itip-utils.c:399
+#: ../calendar/gui/itip-utils.c:524
msgid "Free/Busy information"
msgstr "Free/Busy information"
-#: calendar/gui/itip-utils.c:402
+#: ../calendar/gui/itip-utils.c:401
msgid "Calendar information"
msgstr "Calendar information"
-#: calendar/gui/itip-utils.c:438
+#: ../calendar/gui/itip-utils.c:437
msgid "Updated"
msgstr "Updated"
-#: calendar/gui/itip-utils.c:446
+#: ../calendar/gui/itip-utils.c:445
msgid "Refresh"
msgstr "Refresh"
-#: calendar/gui/itip-utils.c:450
+#: ../calendar/gui/itip-utils.c:449
msgid "Counter-proposal"
msgstr "Counter-proposal"
-#: calendar/gui/itip-utils.c:521
+#: ../calendar/gui/itip-utils.c:520
#, c-format
msgid "Free/Busy information (%s to %s)"
msgstr "Free/Busy information (%s to %s)"
-#: calendar/gui/itip-utils.c:531
+#: ../calendar/gui/itip-utils.c:530
msgid "iCalendar information"
msgstr "iCalendar information"
-#: calendar/gui/itip-utils.c:673
+#: ../calendar/gui/itip-utils.c:672
msgid "You must be an attendee of the event."
msgstr "You must be an attendee of the event."
-#: calendar/gui/migration.c:151
+#: ../calendar/gui/migration.c:151
msgid ""
"The location and hierarchy of the Evolution task folders has changed since Evolution 1.x.\n"
"\n"
@@ -7389,7 +7446,7 @@ msgstr ""
"\n"
"Please be patient while Evolution migrates your folders..."
-#: calendar/gui/migration.c:155
+#: ../calendar/gui/migration.c:155
msgid ""
"The location and hierarchy of the Evolution calendar folders has changed since Evolution 1.x.\n"
"\n"
@@ -7399,334 +7456,324 @@ msgstr ""
"\n"
"Please be patient while Evolution migrates your folders..."
-#: calendar/gui/migration.c:381
-msgid "Birthdays & Anniversaries"
-msgstr "Birthdays & Anniversaries"
-
-#. Create the Webcal source group
-#: calendar/gui/migration.c:479
-#: calendar/gui/migration.c:572
-msgid "On The Web"
-msgstr "On The Web"
-
#. FIXME: set proper domain/code
-#: calendar/gui/migration.c:738
-#: calendar/gui/migration.c:905
+#: ../calendar/gui/migration.c:745
+#: ../calendar/gui/migration.c:912
msgid "Unable to migrate old settings from evolution/config.xmldb"
msgstr "Unable to migrate old settings from evolution/config.xmldb"
#. FIXME: domain/code
-#: calendar/gui/migration.c:767
+#: ../calendar/gui/migration.c:774
#, c-format
msgid "Unable to migrate calendar `%s'"
msgstr "Unable to migrate calendar `%s'"
#. FIXME: domain/code
-#: calendar/gui/migration.c:934
+#: ../calendar/gui/migration.c:941
#, c-format
msgid "Unable to migrate tasks `%s'"
msgstr "Unable to migrate tasks `%s'"
-#: calendar/gui/print.c:492
+#: ../calendar/gui/print.c:492
msgid "1st"
msgstr "1st"
-#: calendar/gui/print.c:492
+#: ../calendar/gui/print.c:492
msgid "2nd"
msgstr "2nd"
-#: calendar/gui/print.c:492
+#: ../calendar/gui/print.c:492
msgid "3rd"
msgstr "3rd"
-#: calendar/gui/print.c:492
+#: ../calendar/gui/print.c:492
msgid "4th"
msgstr "4th"
-#: calendar/gui/print.c:492
+#: ../calendar/gui/print.c:492
msgid "5th"
msgstr "5th"
-#: calendar/gui/print.c:493
+#: ../calendar/gui/print.c:493
msgid "6th"
msgstr "6th"
-#: calendar/gui/print.c:493
+#: ../calendar/gui/print.c:493
msgid "7th"
msgstr "7th"
-#: calendar/gui/print.c:493
+#: ../calendar/gui/print.c:493
msgid "8th"
msgstr "8th"
-#: calendar/gui/print.c:493
+#: ../calendar/gui/print.c:493
msgid "9th"
msgstr "9th"
-#: calendar/gui/print.c:493
+#: ../calendar/gui/print.c:493
msgid "10th"
msgstr "10th"
-#: calendar/gui/print.c:494
+#: ../calendar/gui/print.c:494
msgid "11th"
msgstr "11th"
-#: calendar/gui/print.c:494
+#: ../calendar/gui/print.c:494
msgid "12th"
msgstr "12th"
-#: calendar/gui/print.c:494
+#: ../calendar/gui/print.c:494
msgid "13th"
msgstr "13th"
-#: calendar/gui/print.c:494
+#: ../calendar/gui/print.c:494
msgid "14th"
msgstr "14th"
-#: calendar/gui/print.c:494
+#: ../calendar/gui/print.c:494
msgid "15th"
msgstr "15th"
-#: calendar/gui/print.c:495
+#: ../calendar/gui/print.c:495
msgid "16th"
msgstr "16th"
-#: calendar/gui/print.c:495
+#: ../calendar/gui/print.c:495
msgid "17th"
msgstr "17th"
-#: calendar/gui/print.c:495
+#: ../calendar/gui/print.c:495
msgid "18th"
msgstr "18th"
-#: calendar/gui/print.c:495
+#: ../calendar/gui/print.c:495
msgid "19th"
msgstr "19th"
-#: calendar/gui/print.c:495
+#: ../calendar/gui/print.c:495
msgid "20th"
msgstr "20th"
-#: calendar/gui/print.c:496
+#: ../calendar/gui/print.c:496
msgid "21st"
msgstr "21st"
-#: calendar/gui/print.c:496
+#: ../calendar/gui/print.c:496
msgid "22nd"
msgstr "22nd"
-#: calendar/gui/print.c:496
+#: ../calendar/gui/print.c:496
msgid "23rd"
msgstr "23rd"
-#: calendar/gui/print.c:496
+#: ../calendar/gui/print.c:496
msgid "24th"
msgstr "24th"
-#: calendar/gui/print.c:496
+#: ../calendar/gui/print.c:496
msgid "25th"
msgstr "25th"
-#: calendar/gui/print.c:497
+#: ../calendar/gui/print.c:497
msgid "26th"
msgstr "26th"
-#: calendar/gui/print.c:497
+#: ../calendar/gui/print.c:497
msgid "27th"
msgstr "27th"
-#: calendar/gui/print.c:497
+#: ../calendar/gui/print.c:497
msgid "28th"
msgstr "28th"
-#: calendar/gui/print.c:497
+#: ../calendar/gui/print.c:497
msgid "29th"
msgstr "29th"
-#: calendar/gui/print.c:497
+#: ../calendar/gui/print.c:497
msgid "30th"
msgstr "30th"
-#: calendar/gui/print.c:498
+#: ../calendar/gui/print.c:498
msgid "31st"
msgstr "31st"
-#: calendar/gui/print.c:573
+#: ../calendar/gui/print.c:573
msgid "Su"
msgstr "Su"
-#: calendar/gui/print.c:573
+#: ../calendar/gui/print.c:573
msgid "Mo"
msgstr "Mo"
-#: calendar/gui/print.c:573
+#: ../calendar/gui/print.c:573
msgid "Tu"
msgstr "Tu"
-#: calendar/gui/print.c:573
+#: ../calendar/gui/print.c:573
msgid "We"
msgstr "We"
-#: calendar/gui/print.c:574
+#: ../calendar/gui/print.c:574
msgid "Th"
msgstr "Th"
-#: calendar/gui/print.c:574
+#: ../calendar/gui/print.c:574
msgid "Fr"
msgstr "Fr"
-#: calendar/gui/print.c:574
+#: ../calendar/gui/print.c:574
msgid "Sa"
msgstr "Sa"
#. Day
-#: calendar/gui/print.c:1917
+#: ../calendar/gui/print.c:1917
msgid "Selected day (%a %b %d %Y)"
msgstr "Selected day (%a %d %b %Y)"
-#: calendar/gui/print.c:1942
-#: calendar/gui/print.c:1946
+#: ../calendar/gui/print.c:1942
+#: ../calendar/gui/print.c:1946
msgid "%a %b %d"
msgstr "%a %d %b"
-#: calendar/gui/print.c:1943
+#: ../calendar/gui/print.c:1943
msgid "%a %d %Y"
msgstr "%a %d %Y"
-#: calendar/gui/print.c:1947
-#: calendar/gui/print.c:1949
-#: calendar/gui/print.c:1950
+#: ../calendar/gui/print.c:1947
+#: ../calendar/gui/print.c:1949
+#: ../calendar/gui/print.c:1950
msgid "%a %b %d %Y"
msgstr "%a %d %b %Y"
-#: calendar/gui/print.c:1954
+#: ../calendar/gui/print.c:1954
#, c-format
msgid "Selected week (%s - %s)"
msgstr "Selected week (%s - %s)"
#. Month
-#: calendar/gui/print.c:1962
+#: ../calendar/gui/print.c:1962
msgid "Selected month (%b %Y)"
msgstr "Selected month (%b %Y)"
#. Year
-#: calendar/gui/print.c:1969
+#: ../calendar/gui/print.c:1969
msgid "Selected year (%Y)"
msgstr "Selected year (%Y)"
-#: calendar/gui/print.c:2359
+#: ../calendar/gui/print.c:2359
#, c-format
msgid "Status: %s"
msgstr "Status: %s"
-#: calendar/gui/print.c:2376
+#: ../calendar/gui/print.c:2376
#, c-format
msgid "Priority: %s"
msgstr "Priority: %s"
-#: calendar/gui/print.c:2388
+#: ../calendar/gui/print.c:2388
#, c-format
msgid "Percent Complete: %i"
msgstr "Percent Complete: %i"
-#: calendar/gui/print.c:2400
+#: ../calendar/gui/print.c:2400
#, c-format
msgid "URL: %s"
msgstr "URL: %s"
-#: calendar/gui/print.c:2414
+#: ../calendar/gui/print.c:2414
#, c-format
msgid "Categories: %s"
msgstr "Categories: %s"
-#: calendar/gui/print.c:2425
+#: ../calendar/gui/print.c:2425
msgid "Contacts: "
msgstr "Contacts: "
-#: calendar/gui/print.c:2565
-#: calendar/gui/print.c:2653
-#: calendar/gui/print.c:2779
-#: mail/em-format-html-print.c:178
+#: ../calendar/gui/print.c:2565
+#: ../calendar/gui/print.c:2653
+#: ../calendar/gui/print.c:2779
+#: ../mail/em-format-html-print.c:178
msgid "Print Preview"
msgstr "Print Preview"
-#: calendar/gui/print.c:2600
+#: ../calendar/gui/print.c:2600
msgid "Print Item"
msgstr "Print Item"
-#: calendar/gui/tasks-component.c:328
+#: ../calendar/gui/tasks-component.c:428
msgid "New Task List"
msgstr "New Task List"
-#: calendar/gui/tasks-component.c:404
+#: ../calendar/gui/tasks-component.c:504
#, c-format
msgid "%d task"
msgid_plural "%d tasks"
msgstr[0] "%d task"
msgstr[1] "%d tasks"
-#: calendar/gui/tasks-component.c:406
-#: mail/mail-component.c:523
+#: ../calendar/gui/tasks-component.c:506
+#: ../mail/mail-component.c:544
#, c-format
msgid ", %d selected"
msgid_plural ", %d selected"
msgstr[0] ". %d selected"
msgstr[1] ". %d selected"
-#: calendar/gui/tasks-component.c:453
+#: ../calendar/gui/tasks-component.c:553
msgid "Failed upgrading tasks."
msgstr "Failed upgrading tasks."
-#: calendar/gui/tasks-component.c:747
+#: ../calendar/gui/tasks-component.c:847
#, c-format
msgid "Unable to open the task list '%s' for creating events and meetings"
msgstr "Unable to open the task list '%s' for creating events and meetings"
-#: calendar/gui/tasks-component.c:762
+#: ../calendar/gui/tasks-component.c:862
msgid "There is no calendar available for creating tasks"
msgstr "There is no calendar available for creating tasks"
-#: calendar/gui/tasks-component.c:856
+#: ../calendar/gui/tasks-component.c:956
msgid "Task Source Selector"
msgstr "Task Source Selector"
-#: calendar/gui/tasks-component.c:1039
+#: ../calendar/gui/tasks-component.c:1139
msgid "New task"
msgstr "New task"
-#: calendar/gui/tasks-component.c:1040
+#: ../calendar/gui/tasks-component.c:1140
msgid "_Task"
msgstr "_Task"
-#: calendar/gui/tasks-component.c:1041
+#: ../calendar/gui/tasks-component.c:1141
msgid "Create a new task"
msgstr "Create a new task"
-#: calendar/gui/tasks-component.c:1047
+#: ../calendar/gui/tasks-component.c:1147
msgid "New assigned task"
msgstr "New assigned task"
-#: calendar/gui/tasks-component.c:1048
+#: ../calendar/gui/tasks-component.c:1148
msgid "Assigne_d Task"
msgstr "Assigne_d Task"
-#: calendar/gui/tasks-component.c:1049
+#: ../calendar/gui/tasks-component.c:1149
msgid "Create a new assigned task"
msgstr "Create a new assigned task"
-#: calendar/gui/tasks-component.c:1055
+#: ../calendar/gui/tasks-component.c:1155
msgid "New task list"
msgstr "New task list"
-#: calendar/gui/tasks-component.c:1056
+#: ../calendar/gui/tasks-component.c:1156
msgid "Task l_ist"
msgstr "Task l_ist"
-#: calendar/gui/tasks-component.c:1057
+#: ../calendar/gui/tasks-component.c:1157
msgid "Create a new task list"
msgstr "Create a new task list"
-#: calendar/gui/tasks-control.c:370
+#: ../calendar/gui/tasks-control.c:370
msgid ""
"This operation will permanently erase all tasks marked as completed. If you continue, you will not be able to recover these tasks.\n"
"\n"
@@ -7736,52 +7783,52 @@ msgstr ""
"\n"
"Really erase these tasks?"
-#: calendar/gui/tasks-control.c:373
+#: ../calendar/gui/tasks-control.c:373
msgid "Do not ask me again."
msgstr "Do not ask me again."
-#: calendar/gui/tasks-control.c:408
+#: ../calendar/gui/tasks-control.c:408
msgid "Print Tasks"
msgstr "Print Tasks"
#. The first letter of each day of the week starting with Sunday
-#: calendar/gui/weekday-picker.c:319
+#: ../calendar/gui/weekday-picker.c:319
msgid "SMTWTFS"
msgstr "SMTWTFS"
-#: calendar/importers/GNOME_Evolution_Calendar_Importer.server.in.in.h:1
+#: ../calendar/importers/GNOME_Evolution_Calendar_Importer.server.in.in.h:1
msgid "Evolution Calendar intelligent importer"
msgstr "Evolution Calendar intelligent importer"
-#: calendar/importers/GNOME_Evolution_Calendar_Importer.server.in.in.h:2
+#: ../calendar/importers/GNOME_Evolution_Calendar_Importer.server.in.in.h:2
msgid "Evolution iCalendar importer"
msgstr "Evolution iCalendar importer"
-#: calendar/importers/GNOME_Evolution_Calendar_Importer.server.in.in.h:3
+#: ../calendar/importers/GNOME_Evolution_Calendar_Importer.server.in.in.h:3
msgid "Evolution vCalendar importer"
msgstr "Evolution vCalendar importer"
-#: calendar/importers/GNOME_Evolution_Calendar_Importer.server.in.in.h:4
+#: ../calendar/importers/GNOME_Evolution_Calendar_Importer.server.in.in.h:4
msgid "iCalendar files (.ics)"
msgstr "iCalendar files (.ics)"
-#: calendar/importers/GNOME_Evolution_Calendar_Importer.server.in.in.h:5
+#: ../calendar/importers/GNOME_Evolution_Calendar_Importer.server.in.in.h:5
msgid "vCalendar files (.vcf)"
msgstr "vCalendar files (.vcf)"
-#: calendar/importers/icalendar-importer.c:82
+#: ../calendar/importers/icalendar-importer.c:82
msgid "Appointments and Meetings"
msgstr "Appointments and Meetings"
-#: calendar/importers/icalendar-importer.c:486
+#: ../calendar/importers/icalendar-importer.c:486
msgid "Reminder!!"
msgstr "Reminder!!"
-#: calendar/importers/icalendar-importer.c:694
+#: ../calendar/importers/icalendar-importer.c:694
msgid "Calendar Events"
msgstr "Calendar Events"
-#: calendar/importers/icalendar-importer.c:719
+#: ../calendar/importers/icalendar-importer.c:719
msgid ""
"Evolution has found Gnome Calendar files.\n"
"Would you like to import them into Evolution?"
@@ -7790,1775 +7837,1780 @@ msgstr ""
"Would you like to import them into Evolution?"
#. * These are the timezone names from the Olson timezone data.
-#: calendar/zones.h:7
+#. * Don't include in any C files.
+#: ../calendar/zones.h:7
msgid "Africa/Abidjan"
msgstr "Africa/Abidjan"
-#: calendar/zones.h:8
+#: ../calendar/zones.h:8
msgid "Africa/Accra"
msgstr "Africa/Accra"
-#: calendar/zones.h:9
+#: ../calendar/zones.h:9
msgid "Africa/Addis_Ababa"
msgstr "Africa/Addis_Ababa"
-#: calendar/zones.h:10
+#: ../calendar/zones.h:10
msgid "Africa/Algiers"
msgstr "Africa/Algiers"
-#: calendar/zones.h:11
+#: ../calendar/zones.h:11
msgid "Africa/Asmera"
msgstr "Africa/Asmera"
-#: calendar/zones.h:12
+#: ../calendar/zones.h:12
msgid "Africa/Bamako"
msgstr "Africa/Bamako"
-#: calendar/zones.h:13
+#: ../calendar/zones.h:13
msgid "Africa/Bangui"
msgstr "Africa/Bangui"
-#: calendar/zones.h:14
+#: ../calendar/zones.h:14
msgid "Africa/Banjul"
msgstr "Africa/Banjul"
-#: calendar/zones.h:15
+#: ../calendar/zones.h:15
msgid "Africa/Bissau"
msgstr "Africa/Bissau"
-#: calendar/zones.h:16
+#: ../calendar/zones.h:16
msgid "Africa/Blantyre"
msgstr "Africa/Blantyre"
-#: calendar/zones.h:17
+#: ../calendar/zones.h:17
msgid "Africa/Brazzaville"
msgstr "Africa/Brazzaville"
-#: calendar/zones.h:18
+#: ../calendar/zones.h:18
msgid "Africa/Bujumbura"
msgstr "Africa/Bujumbura"
-#: calendar/zones.h:19
+#: ../calendar/zones.h:19
msgid "Africa/Cairo"
msgstr "Africa/Cairo"
-#: calendar/zones.h:20
+#: ../calendar/zones.h:20
msgid "Africa/Casablanca"
msgstr "Africa/Casablanca"
-#: calendar/zones.h:21
+#: ../calendar/zones.h:21
msgid "Africa/Ceuta"
msgstr "Africa/Ceuta"
-#: calendar/zones.h:22
+#: ../calendar/zones.h:22
msgid "Africa/Conakry"
msgstr "Africa/Conakry"
-#: calendar/zones.h:23
+#: ../calendar/zones.h:23
msgid "Africa/Dakar"
msgstr "Africa/Dakar"
-#: calendar/zones.h:24
+#: ../calendar/zones.h:24
msgid "Africa/Dar_es_Salaam"
msgstr "Africa/Dar_es_Salaam"
-#: calendar/zones.h:25
+#: ../calendar/zones.h:25
msgid "Africa/Djibouti"
msgstr "Africa/Djibouti"
-#: calendar/zones.h:26
+#: ../calendar/zones.h:26
msgid "Africa/Douala"
msgstr "Africa/Douala"
-#: calendar/zones.h:27
+#: ../calendar/zones.h:27
msgid "Africa/El_Aaiun"
msgstr "Africa/El_Aaiun"
-#: calendar/zones.h:28
+#: ../calendar/zones.h:28
msgid "Africa/Freetown"
msgstr "Africa/Freetown"
-#: calendar/zones.h:29
+#: ../calendar/zones.h:29
msgid "Africa/Gaborone"
msgstr "Africa/Gaborone"
-#: calendar/zones.h:30
+#: ../calendar/zones.h:30
msgid "Africa/Harare"
msgstr "Africa/Harare"
-#: calendar/zones.h:31
+#: ../calendar/zones.h:31
msgid "Africa/Johannesburg"
msgstr "Africa/Johannesburg"
-#: calendar/zones.h:32
+#: ../calendar/zones.h:32
msgid "Africa/Kampala"
msgstr "Africa/Kampala"
-#: calendar/zones.h:33
+#: ../calendar/zones.h:33
msgid "Africa/Khartoum"
msgstr "Africa/Khartoum"
-#: calendar/zones.h:34
+#: ../calendar/zones.h:34
msgid "Africa/Kigali"
msgstr "Africa/Kigali"
-#: calendar/zones.h:35
+#: ../calendar/zones.h:35
msgid "Africa/Kinshasa"
msgstr "Africa/Kinshasa"
-#: calendar/zones.h:36
+#: ../calendar/zones.h:36
msgid "Africa/Lagos"
msgstr "Africa/Lagos"
-#: calendar/zones.h:37
+#: ../calendar/zones.h:37
msgid "Africa/Libreville"
msgstr "Africa/Libreville"
-#: calendar/zones.h:38
+#: ../calendar/zones.h:38
msgid "Africa/Lome"
msgstr "Africa/Lome"
-#: calendar/zones.h:39
+#: ../calendar/zones.h:39
msgid "Africa/Luanda"
msgstr "Africa/Luanda"
-#: calendar/zones.h:40
+#: ../calendar/zones.h:40
msgid "Africa/Lubumbashi"
msgstr "Africa/Lubumbashi"
-#: calendar/zones.h:41
+#: ../calendar/zones.h:41
msgid "Africa/Lusaka"
msgstr "Africa/Lusaka"
-#: calendar/zones.h:42
+#: ../calendar/zones.h:42
msgid "Africa/Malabo"
msgstr "Africa/Malabo"
-#: calendar/zones.h:43
+#: ../calendar/zones.h:43
msgid "Africa/Maputo"
msgstr "Africa/Maputo"
-#: calendar/zones.h:44
+#: ../calendar/zones.h:44
msgid "Africa/Maseru"
msgstr "Africa/Maseru"
-#: calendar/zones.h:45
+#: ../calendar/zones.h:45
msgid "Africa/Mbabane"
msgstr "Africa/Mbabane"
-#: calendar/zones.h:46
+#: ../calendar/zones.h:46
msgid "Africa/Mogadishu"
msgstr "Africa/Mogadishu"
-#: calendar/zones.h:47
+#: ../calendar/zones.h:47
msgid "Africa/Monrovia"
msgstr "Africa/Monrovia"
-#: calendar/zones.h:48
+#: ../calendar/zones.h:48
msgid "Africa/Nairobi"
msgstr "Africa/Nairobi"
-#: calendar/zones.h:49
+#: ../calendar/zones.h:49
msgid "Africa/Ndjamena"
msgstr "Africa/Ndjamena"
-#: calendar/zones.h:50
+#: ../calendar/zones.h:50
msgid "Africa/Niamey"
msgstr "Africa/Niamey"
-#: calendar/zones.h:51
+#: ../calendar/zones.h:51
msgid "Africa/Nouakchott"
msgstr "Africa/Nouakchott"
-#: calendar/zones.h:52
+#: ../calendar/zones.h:52
msgid "Africa/Ouagadougou"
msgstr "Africa/Ouagadougou"
-#: calendar/zones.h:53
+#: ../calendar/zones.h:53
msgid "Africa/Porto-Novo"
msgstr "Africa/Porto-Novo"
-#: calendar/zones.h:54
+#: ../calendar/zones.h:54
msgid "Africa/Sao_Tome"
msgstr "Africa/Sao_Tome"
-#: calendar/zones.h:55
+#: ../calendar/zones.h:55
msgid "Africa/Timbuktu"
msgstr "Africa/Timbuktu"
-#: calendar/zones.h:56
+#: ../calendar/zones.h:56
msgid "Africa/Tripoli"
msgstr "Africa/Tripoli"
-#: calendar/zones.h:57
+#: ../calendar/zones.h:57
msgid "Africa/Tunis"
msgstr "Africa/Tunis"
-#: calendar/zones.h:58
+#: ../calendar/zones.h:58
msgid "Africa/Windhoek"
msgstr "Africa/Windhoek"
-#: calendar/zones.h:59
+#: ../calendar/zones.h:59
msgid "America/Adak"
msgstr "America/Adak"
-#: calendar/zones.h:60
+#: ../calendar/zones.h:60
msgid "America/Anchorage"
msgstr "America/Anchorage"
-#: calendar/zones.h:61
+#: ../calendar/zones.h:61
msgid "America/Anguilla"
msgstr "America/Anguilla"
-#: calendar/zones.h:62
+#: ../calendar/zones.h:62
msgid "America/Antigua"
msgstr "America/Antigua"
-#: calendar/zones.h:63
+#: ../calendar/zones.h:63
msgid "America/Araguaina"
msgstr "America/Araguaina"
-#: calendar/zones.h:64
+#: ../calendar/zones.h:64
msgid "America/Aruba"
msgstr "America/Aruba"
-#: calendar/zones.h:65
+#: ../calendar/zones.h:65
msgid "America/Asuncion"
msgstr "America/Asuncion"
-#: calendar/zones.h:66
+#: ../calendar/zones.h:66
msgid "America/Barbados"
msgstr "America/Barbados"
-#: calendar/zones.h:67
+#: ../calendar/zones.h:67
msgid "America/Belem"
msgstr "America/Belem"
-#: calendar/zones.h:68
+#: ../calendar/zones.h:68
msgid "America/Belize"
msgstr "America/Belize"
-#: calendar/zones.h:69
+#: ../calendar/zones.h:69
msgid "America/Boa_Vista"
msgstr "America/Boa_Vista"
-#: calendar/zones.h:70
+#: ../calendar/zones.h:70
msgid "America/Bogota"
msgstr "America/Bogota"
-#: calendar/zones.h:71
+#: ../calendar/zones.h:71
msgid "America/Boise"
msgstr "America/Boise"
-#: calendar/zones.h:72
+#: ../calendar/zones.h:72
msgid "America/Buenos_Aires"
msgstr "America/Buenos_Aires"
-#: calendar/zones.h:73
+#: ../calendar/zones.h:73
msgid "America/Cambridge_Bay"
msgstr "America/Cambridge_Bay"
-#: calendar/zones.h:74
+#: ../calendar/zones.h:74
msgid "America/Cancun"
msgstr "America/Cancun"
-#: calendar/zones.h:75
+#: ../calendar/zones.h:75
msgid "America/Caracas"
msgstr "America/Caracas"
-#: calendar/zones.h:76
+#: ../calendar/zones.h:76
msgid "America/Catamarca"
msgstr "America/Catamarca"
-#: calendar/zones.h:77
+#: ../calendar/zones.h:77
msgid "America/Cayenne"
msgstr "America/Cayenne"
-#: calendar/zones.h:78
+#: ../calendar/zones.h:78
msgid "America/Cayman"
msgstr "America/Cayman"
-#: calendar/zones.h:79
+#: ../calendar/zones.h:79
msgid "America/Chicago"
msgstr "America/Chicago"
-#: calendar/zones.h:80
+#: ../calendar/zones.h:80
msgid "America/Chihuahua"
msgstr "America/Chihuahua"
-#: calendar/zones.h:81
+#: ../calendar/zones.h:81
msgid "America/Cordoba"
msgstr "America/Cordoba"
-#: calendar/zones.h:82
+#: ../calendar/zones.h:82
msgid "America/Costa_Rica"
msgstr "America/Costa_Rica"
-#: calendar/zones.h:83
+#: ../calendar/zones.h:83
msgid "America/Cuiaba"
msgstr "America/Cuiaba"
-#: calendar/zones.h:84
+#: ../calendar/zones.h:84
msgid "America/Curacao"
msgstr "America/Curacao"
-#: calendar/zones.h:85
+#: ../calendar/zones.h:85
msgid "America/Danmarkshavn"
msgstr "America/Danmarkshavn"
-#: calendar/zones.h:86
+#: ../calendar/zones.h:86
msgid "America/Dawson"
msgstr "America/Dawson"
-#: calendar/zones.h:87
+#: ../calendar/zones.h:87
msgid "America/Dawson_Creek"
msgstr "America/Dawson_Creek"
-#: calendar/zones.h:88
+#: ../calendar/zones.h:88
msgid "America/Denver"
msgstr "America/Denver"
-#: calendar/zones.h:89
+#: ../calendar/zones.h:89
msgid "America/Detroit"
msgstr "America/Detroit"
-#: calendar/zones.h:90
+#: ../calendar/zones.h:90
msgid "America/Dominica"
msgstr "America/Dominica"
-#: calendar/zones.h:91
+#: ../calendar/zones.h:91
msgid "America/Edmonton"
msgstr "America/Edmonton"
-#: calendar/zones.h:92
+#: ../calendar/zones.h:92
msgid "America/Eirunepe"
msgstr "America/Eirunepe"
-#: calendar/zones.h:93
+#: ../calendar/zones.h:93
msgid "America/El_Salvador"
msgstr "America/El_Salvador"
-#: calendar/zones.h:94
+#: ../calendar/zones.h:94
msgid "America/Fortaleza"
msgstr "America/Fortaleza"
-#: calendar/zones.h:95
+#: ../calendar/zones.h:95
msgid "America/Glace_Bay"
msgstr "America/Glace_Bay"
-#: calendar/zones.h:96
+#: ../calendar/zones.h:96
msgid "America/Godthab"
msgstr "America/Godthab"
-#: calendar/zones.h:97
+#: ../calendar/zones.h:97
msgid "America/Goose_Bay"
msgstr "America/Goose_Bay"
-#: calendar/zones.h:98
+#: ../calendar/zones.h:98
msgid "America/Grand_Turk"
msgstr "America/Grand_Turk"
-#: calendar/zones.h:99
+#: ../calendar/zones.h:99
msgid "America/Grenada"
msgstr "America/Grenada"
-#: calendar/zones.h:100
+#: ../calendar/zones.h:100
msgid "America/Guadeloupe"
msgstr "America/Guadeloupe"
-#: calendar/zones.h:101
+#: ../calendar/zones.h:101
msgid "America/Guatemala"
msgstr "America/Guatemala"
-#: calendar/zones.h:102
+#: ../calendar/zones.h:102
msgid "America/Guayaquil"
msgstr "America/Guayaquil"
-#: calendar/zones.h:103
+#: ../calendar/zones.h:103
msgid "America/Guyana"
msgstr "America/Guyana"
-#: calendar/zones.h:104
+#: ../calendar/zones.h:104
msgid "America/Halifax"
msgstr "America/Halifax"
-#: calendar/zones.h:105
+#: ../calendar/zones.h:105
msgid "America/Havana"
msgstr "America/Havana"
-#: calendar/zones.h:106
+#: ../calendar/zones.h:106
msgid "America/Hermosillo"
msgstr "America/Hermosillo"
-#: calendar/zones.h:107
+#: ../calendar/zones.h:107
msgid "America/Indiana/Indianapolis"
msgstr "America/Indiana/Indianapolis"
-#: calendar/zones.h:108
+#: ../calendar/zones.h:108
msgid "America/Indiana/Knox"
msgstr "America/Indiana/Knox"
-#: calendar/zones.h:109
+#: ../calendar/zones.h:109
msgid "America/Indiana/Marengo"
msgstr "America/Indiana/Marengo"
-#: calendar/zones.h:110
+#: ../calendar/zones.h:110
msgid "America/Indiana/Vevay"
msgstr "America/Indiana/Vevay"
-#: calendar/zones.h:111
+#: ../calendar/zones.h:111
msgid "America/Indianapolis"
msgstr "America/Indianapolis"
-#: calendar/zones.h:112
+#: ../calendar/zones.h:112
msgid "America/Inuvik"
msgstr "America/Inuvik"
-#: calendar/zones.h:113
+#: ../calendar/zones.h:113
msgid "America/Iqaluit"
msgstr "America/Iqaluit"
-#: calendar/zones.h:114
+#: ../calendar/zones.h:114
msgid "America/Jamaica"
msgstr "America/Jamaica"
-#: calendar/zones.h:115
+#: ../calendar/zones.h:115
msgid "America/Jujuy"
msgstr "America/Jujuy"
-#: calendar/zones.h:116
+#: ../calendar/zones.h:116
msgid "America/Juneau"
msgstr "America/Juneau"
-#: calendar/zones.h:117
+#: ../calendar/zones.h:117
msgid "America/Kentucky/Louisville"
msgstr "America/Kentucky/Louisville"
-#: calendar/zones.h:118
+#: ../calendar/zones.h:118
msgid "America/Kentucky/Monticello"
msgstr "America/Kentucky/Monticello"
-#: calendar/zones.h:119
+#: ../calendar/zones.h:119
msgid "America/La_Paz"
msgstr "America/La_Paz"
-#: calendar/zones.h:120
+#: ../calendar/zones.h:120
msgid "America/Lima"
msgstr "America/Lima"
-#: calendar/zones.h:121
+#: ../calendar/zones.h:121
msgid "America/Los_Angeles"
msgstr "America/Los_Angeles"
-#: calendar/zones.h:122
+#: ../calendar/zones.h:122
msgid "America/Louisville"
msgstr "America/Louisville"
-#: calendar/zones.h:123
+#: ../calendar/zones.h:123
msgid "America/Maceio"
msgstr "America/Maceio"
-#: calendar/zones.h:124
+#: ../calendar/zones.h:124
msgid "America/Managua"
msgstr "America/Managua"
-#: calendar/zones.h:125
+#: ../calendar/zones.h:125
msgid "America/Manaus"
msgstr "America/Manaus"
-#: calendar/zones.h:126
+#: ../calendar/zones.h:126
msgid "America/Martinique"
msgstr "America/Martinique"
-#: calendar/zones.h:127
+#: ../calendar/zones.h:127
msgid "America/Mazatlan"
msgstr "America/Mazatlan"
-#: calendar/zones.h:128
+#: ../calendar/zones.h:128
msgid "America/Mendoza"
msgstr "America/Mendoza"
-#: calendar/zones.h:129
+#: ../calendar/zones.h:129
msgid "America/Menominee"
msgstr "America/Menominee"
-#: calendar/zones.h:130
+#: ../calendar/zones.h:130
msgid "America/Merida"
msgstr "America/Merida"
-#: calendar/zones.h:131
+#: ../calendar/zones.h:131
msgid "America/Mexico_City"
msgstr "America/Mexico_City"
-#: calendar/zones.h:132
+#: ../calendar/zones.h:132
msgid "America/Miquelon"
msgstr "America/Miquelon"
-#: calendar/zones.h:133
+#: ../calendar/zones.h:133
msgid "America/Monterrey"
msgstr "America/Monterrey"
-#: calendar/zones.h:134
+#: ../calendar/zones.h:134
msgid "America/Montevideo"
msgstr "America/Montevideo"
-#: calendar/zones.h:135
+#: ../calendar/zones.h:135
msgid "America/Montreal"
msgstr "America/Montreal"
-#: calendar/zones.h:136
+#: ../calendar/zones.h:136
msgid "America/Montserrat"
msgstr "America/Montserrat"
-#: calendar/zones.h:137
+#: ../calendar/zones.h:137
msgid "America/Nassau"
msgstr "America/Nassau"
-#: calendar/zones.h:138
-#: widgets/e-timezone-dialog/e-timezone-dialog.glade.h:4
+#: ../calendar/zones.h:138
+#: ../widgets/e-timezone-dialog/e-timezone-dialog.glade.h:4
msgid "America/New_York"
msgstr "America/New_York"
-#: calendar/zones.h:139
+#: ../calendar/zones.h:139
msgid "America/Nipigon"
msgstr "America/Nipigon"
-#: calendar/zones.h:140
+#: ../calendar/zones.h:140
msgid "America/Nome"
msgstr "America/Nome"
-#: calendar/zones.h:141
+#: ../calendar/zones.h:141
msgid "America/Noronha"
msgstr "America/Noronha"
-#: calendar/zones.h:142
+#: ../calendar/zones.h:142
msgid "America/North_Dakota/Center"
msgstr "America/North_Dakota/Centre"
-#: calendar/zones.h:143
+#: ../calendar/zones.h:143
msgid "America/Panama"
msgstr "America/Panama"
-#: calendar/zones.h:144
+#: ../calendar/zones.h:144
msgid "America/Pangnirtung"
msgstr "America/Pangnirtung"
-#: calendar/zones.h:145
+#: ../calendar/zones.h:145
msgid "America/Paramaribo"
msgstr "America/Paramaribo"
-#: calendar/zones.h:146
+#: ../calendar/zones.h:146
msgid "America/Phoenix"
msgstr "America/Phoenix"
-#: calendar/zones.h:147
+#: ../calendar/zones.h:147
msgid "America/Port-au-Prince"
msgstr "America/Port-au-Prince"
-#: calendar/zones.h:148
+#: ../calendar/zones.h:148
msgid "America/Port_of_Spain"
msgstr "America/Port_of_Spain"
-#: calendar/zones.h:149
+#: ../calendar/zones.h:149
msgid "America/Porto_Velho"
msgstr "America/Porto_Velho"
-#: calendar/zones.h:150
+#: ../calendar/zones.h:150
msgid "America/Puerto_Rico"
msgstr "America/Puerto_Rico"
-#: calendar/zones.h:151
+#: ../calendar/zones.h:151
msgid "America/Rainy_River"
msgstr "America/Rainy_River"
-#: calendar/zones.h:152
+#: ../calendar/zones.h:152
msgid "America/Rankin_Inlet"
msgstr "America/Rankin_Inlet"
-#: calendar/zones.h:153
+#: ../calendar/zones.h:153
msgid "America/Recife"
msgstr "America/Recife"
-#: calendar/zones.h:154
+#: ../calendar/zones.h:154
msgid "America/Regina"
msgstr "America/Regina"
-#: calendar/zones.h:155
+#: ../calendar/zones.h:155
msgid "America/Rio_Branco"
msgstr "America/Rio_Branco"
-#: calendar/zones.h:156
+#: ../calendar/zones.h:156
msgid "America/Rosario"
msgstr "America/Rosario"
-#: calendar/zones.h:157
+#: ../calendar/zones.h:157
msgid "America/Santiago"
msgstr "America/Santiago"
-#: calendar/zones.h:158
+#: ../calendar/zones.h:158
msgid "America/Santo_Domingo"
msgstr "America/Santo_Domingo"
-#: calendar/zones.h:159
+#: ../calendar/zones.h:159
msgid "America/Sao_Paulo"
msgstr "America/Sao_Paulo"
-#: calendar/zones.h:160
+#: ../calendar/zones.h:160
msgid "America/Scoresbysund"
msgstr "America/Scoresbysund"
-#: calendar/zones.h:161
+#: ../calendar/zones.h:161
msgid "America/Shiprock"
msgstr "America/Shiprock"
-#: calendar/zones.h:162
+#: ../calendar/zones.h:162
msgid "America/St_Johns"
msgstr "America/St_Johns"
-#: calendar/zones.h:163
+#: ../calendar/zones.h:163
msgid "America/St_Kitts"
msgstr "America/St_Kitts"
-#: calendar/zones.h:164
+#: ../calendar/zones.h:164
msgid "America/St_Lucia"
msgstr "America/St_Lucia"
-#: calendar/zones.h:165
+#: ../calendar/zones.h:165
msgid "America/St_Thomas"
msgstr "America/St_Thomas"
-#: calendar/zones.h:166
+#: ../calendar/zones.h:166
msgid "America/St_Vincent"
msgstr "America/St_Vincent"
-#: calendar/zones.h:167
+#: ../calendar/zones.h:167
msgid "America/Swift_Current"
msgstr "America/Swift_Current"
-#: calendar/zones.h:168
+#: ../calendar/zones.h:168
msgid "America/Tegucigalpa"
msgstr "America/Tegucigalpa"
-#: calendar/zones.h:169
+#: ../calendar/zones.h:169
msgid "America/Thule"
msgstr "America/Thule"
-#: calendar/zones.h:170
+#: ../calendar/zones.h:170
msgid "America/Thunder_Bay"
msgstr "America/Thunder_Bay"
-#: calendar/zones.h:171
+#: ../calendar/zones.h:171
msgid "America/Tijuana"
msgstr "America/Tijuana"
-#: calendar/zones.h:172
+#: ../calendar/zones.h:172
msgid "America/Tortola"
msgstr "America/Tortola"
-#: calendar/zones.h:173
+#: ../calendar/zones.h:173
msgid "America/Vancouver"
msgstr "America/Vancouver"
-#: calendar/zones.h:174
+#: ../calendar/zones.h:174
msgid "America/Whitehorse"
msgstr "America/Whitehorse"
-#: calendar/zones.h:175
+#: ../calendar/zones.h:175
msgid "America/Winnipeg"
msgstr "America/Winnipeg"
-#: calendar/zones.h:176
+#: ../calendar/zones.h:176
msgid "America/Yakutat"
msgstr "America/Yakutat"
-#: calendar/zones.h:177
+#: ../calendar/zones.h:177
msgid "America/Yellowknife"
msgstr "America/Yellowknife"
-#: calendar/zones.h:178
+#: ../calendar/zones.h:178
msgid "Antarctica/Casey"
msgstr "Antarctica/Casey"
-#: calendar/zones.h:179
+#: ../calendar/zones.h:179
msgid "Antarctica/Davis"
msgstr "Antarctica/Davis"
-#: calendar/zones.h:180
+#: ../calendar/zones.h:180
msgid "Antarctica/DumontDUrville"
msgstr "Antarctica/DumontDUrville"
-#: calendar/zones.h:181
+#: ../calendar/zones.h:181
msgid "Antarctica/Mawson"
msgstr "Antarctica/Mawson"
-#: calendar/zones.h:182
+#: ../calendar/zones.h:182
msgid "Antarctica/McMurdo"
msgstr "Antarctica/McMurdo"
-#: calendar/zones.h:183
+#: ../calendar/zones.h:183
msgid "Antarctica/Palmer"
msgstr "Antarctica/Palmer"
-#: calendar/zones.h:184
+#: ../calendar/zones.h:184
msgid "Antarctica/South_Pole"
msgstr "Antarctica/South_Pole"
-#: calendar/zones.h:185
+#: ../calendar/zones.h:185
msgid "Antarctica/Syowa"
msgstr "Antarctica/Syowa"
-#: calendar/zones.h:186
+#: ../calendar/zones.h:186
msgid "Antarctica/Vostok"
msgstr "Antarctica/Vostok"
-#: calendar/zones.h:187
+#: ../calendar/zones.h:187
msgid "Arctic/Longyearbyen"
msgstr "Arctic/Longyearbyen"
-#: calendar/zones.h:188
+#: ../calendar/zones.h:188
msgid "Asia/Aden"
msgstr "Asia/Aden"
-#: calendar/zones.h:189
+#: ../calendar/zones.h:189
msgid "Asia/Almaty"
msgstr "Asia/Almaty"
-#: calendar/zones.h:190
+#: ../calendar/zones.h:190
msgid "Asia/Amman"
msgstr "Asia/Amman"
-#: calendar/zones.h:191
+#: ../calendar/zones.h:191
msgid "Asia/Anadyr"
msgstr "Asia/Anadyr"
-#: calendar/zones.h:192
+#: ../calendar/zones.h:192
msgid "Asia/Aqtau"
msgstr "Asia/Aqtau"
-#: calendar/zones.h:193
+#: ../calendar/zones.h:193
msgid "Asia/Aqtobe"
msgstr "Asia/Aqtobe"
-#: calendar/zones.h:194
+#: ../calendar/zones.h:194
msgid "Asia/Ashgabat"
msgstr "Asia/Ashgabat"
-#: calendar/zones.h:195
+#: ../calendar/zones.h:195
msgid "Asia/Baghdad"
msgstr "Asia/Baghdad"
-#: calendar/zones.h:196
+#: ../calendar/zones.h:196
msgid "Asia/Bahrain"
msgstr "Asia/Bahrain"
-#: calendar/zones.h:197
+#: ../calendar/zones.h:197
msgid "Asia/Baku"
msgstr "Asia/Baku"
-#: calendar/zones.h:198
+#: ../calendar/zones.h:198
msgid "Asia/Bangkok"
msgstr "Asia/Bangkok"
-#: calendar/zones.h:199
+#: ../calendar/zones.h:199
msgid "Asia/Beirut"
msgstr "Asia/Beirut"
-#: calendar/zones.h:200
+#: ../calendar/zones.h:200
msgid "Asia/Bishkek"
msgstr "Asia/Bishkek"
-#: calendar/zones.h:201
+#: ../calendar/zones.h:201
msgid "Asia/Brunei"
msgstr "Asia/Brunei"
-#: calendar/zones.h:202
+#: ../calendar/zones.h:202
msgid "Asia/Calcutta"
msgstr "Asia/Calcutta"
-#: calendar/zones.h:203
+#: ../calendar/zones.h:203
msgid "Asia/Choibalsan"
msgstr "Asia/Choibalsan"
-#: calendar/zones.h:204
+#: ../calendar/zones.h:204
msgid "Asia/Chongqing"
msgstr "Asia/Chongqing"
-#: calendar/zones.h:205
+#: ../calendar/zones.h:205
msgid "Asia/Colombo"
msgstr "Asia/Colombo"
-#: calendar/zones.h:206
+#: ../calendar/zones.h:206
msgid "Asia/Damascus"
msgstr "Asia/Damascus"
-#: calendar/zones.h:207
+#: ../calendar/zones.h:207
msgid "Asia/Dhaka"
msgstr "Asia/Dhaka"
-#: calendar/zones.h:208
+#: ../calendar/zones.h:208
msgid "Asia/Dili"
msgstr "Asia/Dili"
-#: calendar/zones.h:209
+#: ../calendar/zones.h:209
msgid "Asia/Dubai"
msgstr "Asia/Dubai"
-#: calendar/zones.h:210
+#: ../calendar/zones.h:210
msgid "Asia/Dushanbe"
msgstr "Asia/Dushanbe"
-#: calendar/zones.h:211
+#: ../calendar/zones.h:211
msgid "Asia/Gaza"
msgstr "Asia/Gaza"
-#: calendar/zones.h:212
+#: ../calendar/zones.h:212
msgid "Asia/Harbin"
msgstr "Asia/Harbin"
-#: calendar/zones.h:213
+#: ../calendar/zones.h:213
msgid "Asia/Hong_Kong"
msgstr "Asia/Hong_Kong"
-#: calendar/zones.h:214
+#: ../calendar/zones.h:214
msgid "Asia/Hovd"
msgstr "Asia/Hovd"
-#: calendar/zones.h:215
+#: ../calendar/zones.h:215
msgid "Asia/Irkutsk"
msgstr "Asia/Irkutsk"
-#: calendar/zones.h:216
+#: ../calendar/zones.h:216
msgid "Asia/Istanbul"
msgstr "Asia/Istanbul"
-#: calendar/zones.h:217
+#: ../calendar/zones.h:217
msgid "Asia/Jakarta"
msgstr "Asia/Jakarta"
-#: calendar/zones.h:218
+#: ../calendar/zones.h:218
msgid "Asia/Jayapura"
msgstr "Asia/Jayapura"
-#: calendar/zones.h:219
+#: ../calendar/zones.h:219
msgid "Asia/Jerusalem"
msgstr "Asia/Jerusalem"
-#: calendar/zones.h:220
+#: ../calendar/zones.h:220
msgid "Asia/Kabul"
msgstr "Asia/Kabul"
-#: calendar/zones.h:221
+#: ../calendar/zones.h:221
msgid "Asia/Kamchatka"
msgstr "Asia/Kamchatka"
-#: calendar/zones.h:222
+#: ../calendar/zones.h:222
msgid "Asia/Karachi"
msgstr "Asia/Karachi"
-#: calendar/zones.h:223
+#: ../calendar/zones.h:223
msgid "Asia/Kashgar"
msgstr "Asia/Kashgar"
-#: calendar/zones.h:224
+#: ../calendar/zones.h:224
msgid "Asia/Katmandu"
msgstr "Asia/Katmandu"
-#: calendar/zones.h:225
+#: ../calendar/zones.h:225
msgid "Asia/Krasnoyarsk"
msgstr "Asia/Krasnoyarsk"
-#: calendar/zones.h:226
+#: ../calendar/zones.h:226
msgid "Asia/Kuala_Lumpur"
msgstr "Asia/Kuala_Lumpur"
-#: calendar/zones.h:227
+#: ../calendar/zones.h:227
msgid "Asia/Kuching"
msgstr "Asia/Kuching"
-#: calendar/zones.h:228
+#: ../calendar/zones.h:228
msgid "Asia/Kuwait"
msgstr "Asia/Kuwait"
-#: calendar/zones.h:229
+#: ../calendar/zones.h:229
msgid "Asia/Macao"
msgstr "Asia/Macao"
-#: calendar/zones.h:230
+#: ../calendar/zones.h:230
msgid "Asia/Macau"
msgstr "Asia/Macau"
-#: calendar/zones.h:231
+#: ../calendar/zones.h:231
msgid "Asia/Magadan"
msgstr "Asia/Magadan"
-#: calendar/zones.h:232
+#: ../calendar/zones.h:232
msgid "Asia/Makassar"
msgstr "Asia/Makassar"
-#: calendar/zones.h:233
+#: ../calendar/zones.h:233
msgid "Asia/Manila"
msgstr "Asia/Manila"
-#: calendar/zones.h:234
+#: ../calendar/zones.h:234
msgid "Asia/Muscat"
msgstr "Asia/Muscat"
-#: calendar/zones.h:235
+#: ../calendar/zones.h:235
msgid "Asia/Nicosia"
msgstr "Asia/Nicosia"
-#: calendar/zones.h:236
+#: ../calendar/zones.h:236
msgid "Asia/Novosibirsk"
msgstr "Asia/Novosibirsk"
-#: calendar/zones.h:237
+#: ../calendar/zones.h:237
msgid "Asia/Omsk"
msgstr "Asia/Omsk"
-#: calendar/zones.h:238
+#: ../calendar/zones.h:238
msgid "Asia/Oral"
msgstr "Asia/Oral"
-#: calendar/zones.h:239
+#: ../calendar/zones.h:239
msgid "Asia/Phnom_Penh"
msgstr "Asia/Phnom_Penh"
-#: calendar/zones.h:240
+#: ../calendar/zones.h:240
msgid "Asia/Pontianak"
msgstr "Asia/Pontianak"
-#: calendar/zones.h:241
+#: ../calendar/zones.h:241
msgid "Asia/Pyongyang"
msgstr "Asia/Pyongyang"
-#: calendar/zones.h:242
+#: ../calendar/zones.h:242
msgid "Asia/Qatar"
msgstr "Asia/Qatar"
-#: calendar/zones.h:243
+#: ../calendar/zones.h:243
msgid "Asia/Qyzylorda"
msgstr "Asia/Qyzylorda"
-#: calendar/zones.h:244
+#: ../calendar/zones.h:244
msgid "Asia/Rangoon"
msgstr "Asia/Rangoon"
-#: calendar/zones.h:245
+#: ../calendar/zones.h:245
msgid "Asia/Riyadh"
msgstr "Asia/Riyadh"
-#: calendar/zones.h:246
+#: ../calendar/zones.h:246
msgid "Asia/Saigon"
msgstr "Asia/Saigon"
-#: calendar/zones.h:247
+#: ../calendar/zones.h:247
msgid "Asia/Sakhalin"
msgstr "Asia/Sakhalin"
-#: calendar/zones.h:248
+#: ../calendar/zones.h:248
msgid "Asia/Samarkand"
msgstr "Asia/Samarkand"
-#: calendar/zones.h:249
+#: ../calendar/zones.h:249
msgid "Asia/Seoul"
msgstr "Asia/Seoul"
-#: calendar/zones.h:250
+#: ../calendar/zones.h:250
msgid "Asia/Shanghai"
msgstr "Asia/Shanghai"
-#: calendar/zones.h:251
+#: ../calendar/zones.h:251
msgid "Asia/Singapore"
msgstr "Asia/Singapore"
-#: calendar/zones.h:252
+#: ../calendar/zones.h:252
msgid "Asia/Taipei"
msgstr "Asia/Taipei"
-#: calendar/zones.h:253
+#: ../calendar/zones.h:253
msgid "Asia/Tashkent"
msgstr "Asia/Tashkent"
-#: calendar/zones.h:254
+#: ../calendar/zones.h:254
msgid "Asia/Tbilisi"
msgstr "Asia/Tbilisi"
-#: calendar/zones.h:255
+#: ../calendar/zones.h:255
msgid "Asia/Tehran"
msgstr "Asia/Tehran"
-#: calendar/zones.h:256
+#: ../calendar/zones.h:256
msgid "Asia/Thimphu"
msgstr "Asia/Thimphu"
-#: calendar/zones.h:257
+#: ../calendar/zones.h:257
msgid "Asia/Tokyo"
msgstr "Asia/Tokyo"
-#: calendar/zones.h:258
+#: ../calendar/zones.h:258
msgid "Asia/Ujung_Pandang"
msgstr "Asia/Ujung_Pandang"
-#: calendar/zones.h:259
+#: ../calendar/zones.h:259
msgid "Asia/Ulaanbaatar"
msgstr "Asia/Ulaanbaatar"
-#: calendar/zones.h:260
+#: ../calendar/zones.h:260
msgid "Asia/Urumqi"
msgstr "Asia/Urumqi"
-#: calendar/zones.h:261
+#: ../calendar/zones.h:261
msgid "Asia/Vientiane"
msgstr "Asia/Vientiane"
-#: calendar/zones.h:262
+#: ../calendar/zones.h:262
msgid "Asia/Vladivostok"
msgstr "Asia/Vladivostok"
-#: calendar/zones.h:263
+#: ../calendar/zones.h:263
msgid "Asia/Yakutsk"
msgstr "Asia/Yakutsk"
-#: calendar/zones.h:264
+#: ../calendar/zones.h:264
msgid "Asia/Yekaterinburg"
msgstr "Asia/Yekaterinburg"
-#: calendar/zones.h:265
+#: ../calendar/zones.h:265
msgid "Asia/Yerevan"
msgstr "Asia/Yerevan"
-#: calendar/zones.h:266
+#: ../calendar/zones.h:266
msgid "Atlantic/Azores"
msgstr "Atlantic/Azores"
-#: calendar/zones.h:267
+#: ../calendar/zones.h:267
msgid "Atlantic/Bermuda"
msgstr "Atlantic/Bermuda"
-#: calendar/zones.h:268
+#: ../calendar/zones.h:268
msgid "Atlantic/Canary"
msgstr "Atlantic/Canary"
-#: calendar/zones.h:269
+#: ../calendar/zones.h:269
msgid "Atlantic/Cape_Verde"
msgstr "Atlantic/Cape_Verde"
-#: calendar/zones.h:270
+#: ../calendar/zones.h:270
msgid "Atlantic/Faeroe"
msgstr "Atlantic/Faeroe"
-#: calendar/zones.h:271
+#: ../calendar/zones.h:271
msgid "Atlantic/Jan_Mayen"
msgstr "Atlantic/Jan_Mayen"
-#: calendar/zones.h:272
+#: ../calendar/zones.h:272
msgid "Atlantic/Madeira"
msgstr "Atlantic/Madeira"
-#: calendar/zones.h:273
+#: ../calendar/zones.h:273
msgid "Atlantic/Reykjavik"
msgstr "Atlantic/Reykjavik"
-#: calendar/zones.h:274
+#: ../calendar/zones.h:274
msgid "Atlantic/South_Georgia"
msgstr "Atlantic/South_Georgia"
-#: calendar/zones.h:275
+#: ../calendar/zones.h:275
msgid "Atlantic/St_Helena"
msgstr "Atlantic/St_Helena"
-#: calendar/zones.h:276
+#: ../calendar/zones.h:276
msgid "Atlantic/Stanley"
msgstr "Atlantic/Stanley"
-#: calendar/zones.h:277
+#: ../calendar/zones.h:277
msgid "Australia/Adelaide"
msgstr "Australia/Adelaide"
-#: calendar/zones.h:278
+#: ../calendar/zones.h:278
msgid "Australia/Brisbane"
msgstr "Australia/Brisbane"
-#: calendar/zones.h:279
+#: ../calendar/zones.h:279
msgid "Australia/Broken_Hill"
msgstr "Australia/Broken_Hill"
-#: calendar/zones.h:280
+#: ../calendar/zones.h:280
msgid "Australia/Darwin"
msgstr "Australia/Darwin"
-#: calendar/zones.h:281
+#: ../calendar/zones.h:281
msgid "Australia/Hobart"
msgstr "Australia/Hobart"
-#: calendar/zones.h:282
+#: ../calendar/zones.h:282
msgid "Australia/Lindeman"
msgstr "Australia/Lindeman"
-#: calendar/zones.h:283
+#: ../calendar/zones.h:283
msgid "Australia/Lord_Howe"
msgstr "Australia/Lord_Howe"
-#: calendar/zones.h:284
+#: ../calendar/zones.h:284
msgid "Australia/Melbourne"
msgstr "Australia/Melbourne"
-#: calendar/zones.h:285
+#: ../calendar/zones.h:285
msgid "Australia/Perth"
msgstr "Australia/Perth"
-#: calendar/zones.h:286
+#: ../calendar/zones.h:286
msgid "Australia/Sydney"
msgstr "Australia/Sydney"
-#: calendar/zones.h:287
+#: ../calendar/zones.h:287
msgid "Europe/Amsterdam"
msgstr "Europe/Amsterdam"
-#: calendar/zones.h:288
+#: ../calendar/zones.h:288
msgid "Europe/Andorra"
msgstr "Europe/Andorra"
-#: calendar/zones.h:289
+#: ../calendar/zones.h:289
msgid "Europe/Athens"
msgstr "Europe/Athens"
-#: calendar/zones.h:290
+#: ../calendar/zones.h:290
msgid "Europe/Belfast"
msgstr "Europe/Belfast"
-#: calendar/zones.h:291
+#: ../calendar/zones.h:291
msgid "Europe/Belgrade"
msgstr "Europe/Belgrade"
-#: calendar/zones.h:292
+#: ../calendar/zones.h:292
msgid "Europe/Berlin"
msgstr "Europe/Berlin"
-#: calendar/zones.h:293
+#: ../calendar/zones.h:293
msgid "Europe/Bratislava"
msgstr "Europe/Bratislava"
-#: calendar/zones.h:294
+#: ../calendar/zones.h:294
msgid "Europe/Brussels"
msgstr "Europe/Brussels"
-#: calendar/zones.h:295
+#: ../calendar/zones.h:295
msgid "Europe/Bucharest"
msgstr "Europe/Bucharest"
-#: calendar/zones.h:296
+#: ../calendar/zones.h:296
msgid "Europe/Budapest"
msgstr "Europe/Budapest"
-#: calendar/zones.h:297
+#: ../calendar/zones.h:297
msgid "Europe/Chisinau"
msgstr "Europe/Chisinau"
-#: calendar/zones.h:298
+#: ../calendar/zones.h:298
msgid "Europe/Copenhagen"
msgstr "Europe/Copenhagen"
-#: calendar/zones.h:299
+#: ../calendar/zones.h:299
msgid "Europe/Dublin"
msgstr "Europe/Dublin"
-#: calendar/zones.h:300
+#: ../calendar/zones.h:300
msgid "Europe/Gibraltar"
msgstr "Europe/Gibraltar"
-#: calendar/zones.h:301
+#: ../calendar/zones.h:301
msgid "Europe/Helsinki"
msgstr "Europe/Helsinki"
-#: calendar/zones.h:302
+#: ../calendar/zones.h:302
msgid "Europe/Istanbul"
msgstr "Europe/Istanbul"
-#: calendar/zones.h:303
+#: ../calendar/zones.h:303
msgid "Europe/Kaliningrad"
msgstr "Europe/Kaliningrad"
-#: calendar/zones.h:304
+#: ../calendar/zones.h:304
msgid "Europe/Kiev"
msgstr "Europe/Kiev"
-#: calendar/zones.h:305
+#: ../calendar/zones.h:305
msgid "Europe/Lisbon"
msgstr "Europe/Lisbon"
-#: calendar/zones.h:306
+#: ../calendar/zones.h:306
msgid "Europe/Ljubljana"
msgstr "Europe/Ljubljana"
-#: calendar/zones.h:307
+#: ../calendar/zones.h:307
msgid "Europe/London"
msgstr "Europe/London"
-#: calendar/zones.h:308
+#: ../calendar/zones.h:308
msgid "Europe/Luxembourg"
msgstr "Europe/Luxembourg"
-#: calendar/zones.h:309
+#: ../calendar/zones.h:309
msgid "Europe/Madrid"
msgstr "Europe/Madrid"
-#: calendar/zones.h:310
+#: ../calendar/zones.h:310
msgid "Europe/Malta"
msgstr "Europe/Malta"
-#: calendar/zones.h:311
+#: ../calendar/zones.h:311
msgid "Europe/Minsk"
msgstr "Europe/Minsk"
-#: calendar/zones.h:312
+#: ../calendar/zones.h:312
msgid "Europe/Monaco"
msgstr "Europe/Monaco"
-#: calendar/zones.h:313
+#: ../calendar/zones.h:313
msgid "Europe/Moscow"
msgstr "Europe/Moscow"
-#: calendar/zones.h:314
+#: ../calendar/zones.h:314
msgid "Europe/Nicosia"
msgstr "Europe/Nicosia"
-#: calendar/zones.h:315
+#: ../calendar/zones.h:315
msgid "Europe/Oslo"
msgstr "Europe/Oslo"
-#: calendar/zones.h:316
+#: ../calendar/zones.h:316
msgid "Europe/Paris"
msgstr "Europe/Paris"
-#: calendar/zones.h:317
+#: ../calendar/zones.h:317
msgid "Europe/Prague"
msgstr "Europe/Prague"
-#: calendar/zones.h:318
+#: ../calendar/zones.h:318
msgid "Europe/Riga"
msgstr "Europe/Riga"
-#: calendar/zones.h:319
+#: ../calendar/zones.h:319
msgid "Europe/Rome"
msgstr "Europe/Rome"
-#: calendar/zones.h:320
+#: ../calendar/zones.h:320
msgid "Europe/Samara"
msgstr "Europe/Samara"
-#: calendar/zones.h:321
+#: ../calendar/zones.h:321
msgid "Europe/San_Marino"
msgstr "Europe/San_Marino"
-#: calendar/zones.h:322
+#: ../calendar/zones.h:322
msgid "Europe/Sarajevo"
msgstr "Europe/Sarajevo"
-#: calendar/zones.h:323
+#: ../calendar/zones.h:323
msgid "Europe/Simferopol"
msgstr "Europe/Simferopol"
-#: calendar/zones.h:324
+#: ../calendar/zones.h:324
msgid "Europe/Skopje"
msgstr "Europe/Skopje"
-#: calendar/zones.h:325
+#: ../calendar/zones.h:325
msgid "Europe/Sofia"
msgstr "Europe/Sofia"
-#: calendar/zones.h:326
+#: ../calendar/zones.h:326
msgid "Europe/Stockholm"
msgstr "Europe/Stockholm"
-#: calendar/zones.h:327
+#: ../calendar/zones.h:327
msgid "Europe/Tallinn"
msgstr "Europe/Tallinn"
-#: calendar/zones.h:328
+#: ../calendar/zones.h:328
msgid "Europe/Tirane"
msgstr "Europe/Tirane"
-#: calendar/zones.h:329
+#: ../calendar/zones.h:329
msgid "Europe/Uzhgorod"
msgstr "Europe/Uzhgorod"
-#: calendar/zones.h:330
+#: ../calendar/zones.h:330
msgid "Europe/Vaduz"
msgstr "Europe/Vaduz"
-#: calendar/zones.h:331
+#: ../calendar/zones.h:331
msgid "Europe/Vatican"
msgstr "Europe/Vatican"
-#: calendar/zones.h:332
+#: ../calendar/zones.h:332
msgid "Europe/Vienna"
msgstr "Europe/Vienna"
-#: calendar/zones.h:333
+#: ../calendar/zones.h:333
msgid "Europe/Vilnius"
msgstr "Europe/Vilnius"
-#: calendar/zones.h:334
+#: ../calendar/zones.h:334
msgid "Europe/Warsaw"
msgstr "Europe/Warsaw"
-#: calendar/zones.h:335
+#: ../calendar/zones.h:335
msgid "Europe/Zagreb"
msgstr "Europe/Zagreb"
-#: calendar/zones.h:336
+#: ../calendar/zones.h:336
msgid "Europe/Zaporozhye"
msgstr "Europe/Zaporozhye"
-#: calendar/zones.h:337
+#: ../calendar/zones.h:337
msgid "Europe/Zurich"
msgstr "Europe/Zurich"
-#: calendar/zones.h:338
+#: ../calendar/zones.h:338
msgid "Indian/Antananarivo"
msgstr "Indian/Antananarivo"
-#: calendar/zones.h:339
+#: ../calendar/zones.h:339
msgid "Indian/Chagos"
msgstr "Indian/Chagos"
-#: calendar/zones.h:340
+#: ../calendar/zones.h:340
msgid "Indian/Christmas"
msgstr "Indian/Christmas"
-#: calendar/zones.h:341
+#: ../calendar/zones.h:341
msgid "Indian/Cocos"
msgstr "Indian/Cocos"
-#: calendar/zones.h:342
+#: ../calendar/zones.h:342
msgid "Indian/Comoro"
msgstr "Indian/Comoro"
-#: calendar/zones.h:343
+#: ../calendar/zones.h:343
msgid "Indian/Kerguelen"
msgstr "Indian/Kerguelen"
-#: calendar/zones.h:344
+#: ../calendar/zones.h:344
msgid "Indian/Mahe"
msgstr "Indian/Mahe"
-#: calendar/zones.h:345
+#: ../calendar/zones.h:345
msgid "Indian/Maldives"
msgstr "Indian/Maldives"
-#: calendar/zones.h:346
+#: ../calendar/zones.h:346
msgid "Indian/Mauritius"
msgstr "Indian/Mauritius"
-#: calendar/zones.h:347
+#: ../calendar/zones.h:347
msgid "Indian/Mayotte"
msgstr "Indian/Mayotte"
-#: calendar/zones.h:348
+#: ../calendar/zones.h:348
msgid "Indian/Reunion"
msgstr "Indian/Reunion"
-#: calendar/zones.h:349
+#: ../calendar/zones.h:349
msgid "Pacific/Apia"
msgstr "Pacific/Apia"
-#: calendar/zones.h:350
+#: ../calendar/zones.h:350
msgid "Pacific/Auckland"
msgstr "Pacific/Auckland"
-#: calendar/zones.h:351
+#: ../calendar/zones.h:351
msgid "Pacific/Chatham"
msgstr "Pacific/Chatham"
-#: calendar/zones.h:352
+#: ../calendar/zones.h:352
msgid "Pacific/Easter"
msgstr "Pacific/Easter"
-#: calendar/zones.h:353
+#: ../calendar/zones.h:353
msgid "Pacific/Efate"
msgstr "Pacific/Efate"
-#: calendar/zones.h:354
+#: ../calendar/zones.h:354
msgid "Pacific/Enderbury"
msgstr "Pacific/Enderbury"
-#: calendar/zones.h:355
+#: ../calendar/zones.h:355
msgid "Pacific/Fakaofo"
msgstr "Pacific/Fakaofo"
-#: calendar/zones.h:356
+#: ../calendar/zones.h:356
msgid "Pacific/Fiji"
msgstr "Pacific/Fiji"
-#: calendar/zones.h:357
+#: ../calendar/zones.h:357
msgid "Pacific/Funafuti"
msgstr "Pacific/Funafuti"
-#: calendar/zones.h:358
+#: ../calendar/zones.h:358
msgid "Pacific/Galapagos"
msgstr "Pacific/Galapagos"
-#: calendar/zones.h:359
+#: ../calendar/zones.h:359
msgid "Pacific/Gambier"
msgstr "Pacific/Gambier"
-#: calendar/zones.h:360
+#: ../calendar/zones.h:360
msgid "Pacific/Guadalcanal"
msgstr "Pacific/Guadalcanal"
-#: calendar/zones.h:361
+#: ../calendar/zones.h:361
msgid "Pacific/Guam"
msgstr "Pacific/Guam"
-#: calendar/zones.h:362
+#: ../calendar/zones.h:362
msgid "Pacific/Honolulu"
msgstr "Pacific/Honolulu"
-#: calendar/zones.h:363
+#: ../calendar/zones.h:363
msgid "Pacific/Johnston"
msgstr "Pacific/Johnston"
-#: calendar/zones.h:364
+#: ../calendar/zones.h:364
msgid "Pacific/Kiritimati"
msgstr "Pacific/Kiritimati"
-#: calendar/zones.h:365
+#: ../calendar/zones.h:365
msgid "Pacific/Kosrae"
msgstr "Pacific/Kosrae"
-#: calendar/zones.h:366
+#: ../calendar/zones.h:366
msgid "Pacific/Kwajalein"
msgstr "Pacific/Kwajalein"
-#: calendar/zones.h:367
+#: ../calendar/zones.h:367
msgid "Pacific/Majuro"
msgstr "Pacific/Majuro"
-#: calendar/zones.h:368
+#: ../calendar/zones.h:368
msgid "Pacific/Marquesas"
msgstr "Pacific/Marquesas"
-#: calendar/zones.h:369
+#: ../calendar/zones.h:369
msgid "Pacific/Midway"
msgstr "Pacific/Midway"
-#: calendar/zones.h:370
+#: ../calendar/zones.h:370
msgid "Pacific/Nauru"
msgstr "Pacific/Nauru"
-#: calendar/zones.h:371
+#: ../calendar/zones.h:371
msgid "Pacific/Niue"
msgstr "Pacific/Niue"
-#: calendar/zones.h:372
+#: ../calendar/zones.h:372
msgid "Pacific/Norfolk"
msgstr "Pacific/Norfolk"
-#: calendar/zones.h:373
+#: ../calendar/zones.h:373
msgid "Pacific/Noumea"
msgstr "Pacific/Noumea"
-#: calendar/zones.h:374
+#: ../calendar/zones.h:374
msgid "Pacific/Pago_Pago"
msgstr "Pacific/Pago_Pago"
-#: calendar/zones.h:375
+#: ../calendar/zones.h:375
msgid "Pacific/Palau"
msgstr "Pacific/Palau"
-#: calendar/zones.h:376
+#: ../calendar/zones.h:376
msgid "Pacific/Pitcairn"
msgstr "Pacific/Pitcairn"
-#: calendar/zones.h:377
+#: ../calendar/zones.h:377
msgid "Pacific/Ponape"
msgstr "Pacific/Ponape"
-#: calendar/zones.h:378
+#: ../calendar/zones.h:378
msgid "Pacific/Port_Moresby"
msgstr "Pacific/Port_Moresby"
-#: calendar/zones.h:379
+#: ../calendar/zones.h:379
msgid "Pacific/Rarotonga"
msgstr "Pacific/Rarotonga"
-#: calendar/zones.h:380
+#: ../calendar/zones.h:380
msgid "Pacific/Saipan"
msgstr "Pacific/Saipan"
-#: calendar/zones.h:381
+#: ../calendar/zones.h:381
msgid "Pacific/Tahiti"
msgstr "Pacific/Tahiti"
-#: calendar/zones.h:382
+#: ../calendar/zones.h:382
msgid "Pacific/Tarawa"
msgstr "Pacific/Tarawa"
-#: calendar/zones.h:383
+#: ../calendar/zones.h:383
msgid "Pacific/Tongatapu"
msgstr "Pacific/Tongatapu"
-#: calendar/zones.h:384
+#: ../calendar/zones.h:384
msgid "Pacific/Truk"
msgstr "Pacific/Truk"
-#: calendar/zones.h:385
+#: ../calendar/zones.h:385
msgid "Pacific/Wake"
msgstr "Pacific/Wake"
-#: calendar/zones.h:386
+#: ../calendar/zones.h:386
msgid "Pacific/Wallis"
msgstr "Pacific/Wallis"
-#: calendar/zones.h:387
+#: ../calendar/zones.h:387
msgid "Pacific/Yap"
msgstr "Pacific/Yap"
-#: composer/e-msg-composer-hdrs.c:519
+#: ../composer/e-msg-composer-hdrs.c:519
msgid "Posting destination"
msgstr "Posting destination"
-#: composer/e-msg-composer-hdrs.c:520
+#: ../composer/e-msg-composer-hdrs.c:520
msgid "Choose folders to post the message to."
msgstr "Choose folders to post the message to."
-#: composer/e-msg-composer-hdrs.c:554
+#: ../composer/e-msg-composer-hdrs.c:554
msgid "Click here for the address book"
msgstr "Click here for the address book"
#. * Reply-To:
-#: composer/e-msg-composer-hdrs.c:584
+#. * Create this before we call create_from_optionmenu,
+#. * expects the reply_to fields to be initialized.
+#: ../composer/e-msg-composer-hdrs.c:584
msgid "_Reply-To:"
msgstr "_Reply-To:"
#. * From
-#: composer/e-msg-composer-hdrs.c:591
+#: ../composer/e-msg-composer-hdrs.c:591
msgid "Fr_om:"
msgstr "Fr_om:"
#. * Subject
-#: composer/e-msg-composer-hdrs.c:598
+#: ../composer/e-msg-composer-hdrs.c:598
msgid "S_ubject:"
msgstr "S_ubject:"
-#: composer/e-msg-composer-hdrs.c:608
+#: ../composer/e-msg-composer-hdrs.c:608
msgid "_To:"
msgstr "_To:"
-#: composer/e-msg-composer-hdrs.c:609
+#: ../composer/e-msg-composer-hdrs.c:609
msgid "Enter the recipients of the message"
msgstr "Enter the recipients of the message"
-#: composer/e-msg-composer-hdrs.c:612
+#: ../composer/e-msg-composer-hdrs.c:612
msgid "_Cc:"
msgstr "_Cc:"
-#: composer/e-msg-composer-hdrs.c:613
+#: ../composer/e-msg-composer-hdrs.c:613
msgid "Enter the addresses that will receive a carbon copy of the message"
msgstr "Enter the addresses that will receive a carbon copy of the message"
-#: composer/e-msg-composer-hdrs.c:616
+#: ../composer/e-msg-composer-hdrs.c:616
msgid "_Bcc:"
msgstr "_Bcc:"
-#: composer/e-msg-composer-hdrs.c:617
+#: ../composer/e-msg-composer-hdrs.c:617
msgid "Enter the addresses that will receive a carbon copy of the message without appearing in the recipient list of the message."
msgstr "Enter the addresses that will receive a carbon copy of the message without appearing in the recipient list of the message."
#. * Post-To
-#: composer/e-msg-composer-hdrs.c:624
+#: ../composer/e-msg-composer-hdrs.c:624
msgid "_Post To:"
msgstr "_Post To:"
-#: composer/e-msg-composer-hdrs.c:629
+#: ../composer/e-msg-composer-hdrs.c:629
msgid "Click here to select folders to post to"
msgstr "Click here to select folders to post to"
-#: composer/e-msg-composer-hdrs.c:635
+#: ../composer/e-msg-composer-hdrs.c:635
msgid "Post To:"
msgstr "Post To:"
-#: composer/e-msg-composer.c:730
+#: ../composer/e-msg-composer.c:730
msgid "Cannot sign outgoing message: No signing certificate set for this account"
msgstr "Cannot sign outgoing message: No signing certificate set for this account"
-#: composer/e-msg-composer.c:737
+#: ../composer/e-msg-composer.c:737
msgid "Cannot encrypt outgoing message: No encryption certificate set for this account"
msgstr "Cannot encrypt outgoing message: No encryption certificate set for this account"
-#: composer/e-msg-composer.c:1222
-#: composer/e-msg-composer.c:1255
+#: ../composer/e-msg-composer.c:1222
+#: ../composer/e-msg-composer.c:1255
msgid "Unknown reason"
msgstr "Unknown reason"
-#: composer/e-msg-composer.c:1292
+#: ../composer/e-msg-composer.c:1292
msgid "Could not open file"
msgstr "Could not open file"
-#: composer/e-msg-composer.c:1300
+#: ../composer/e-msg-composer.c:1300
msgid "Unable to retrieve message from editor"
msgstr "Unable to retrieve message from editor"
-#: composer/e-msg-composer.c:1570
+#: ../composer/e-msg-composer.c:1570
msgid "Untitled Message"
msgstr "Untitled Message"
#. NB: This function is never used anymore
-#: composer/e-msg-composer.c:1604
+#: ../composer/e-msg-composer.c:1604
msgid "Open File"
msgstr "Open File"
-#: composer/e-msg-composer.c:2001
-#: mail/em-account-editor.c:578
-#: mail/em-account-editor.c:623
-#: mail/em-account-editor.c:690
+#: ../composer/e-msg-composer.c:2001
+#: ../mail/em-account-editor.c:588
+#: ../mail/em-account-editor.c:633
+#: ../mail/em-account-editor.c:700
msgid "Autogenerated"
msgstr "Autogenerated"
-#: composer/e-msg-composer.c:2100
+#: ../composer/e-msg-composer.c:2100
msgid "Si_gnature:"
msgstr "Si_gnature:"
-#: composer/e-msg-composer.c:2359
-#: composer/e-msg-composer.c:3360
-#: composer/e-msg-composer.c:3361
+#: ../composer/e-msg-composer.c:2359
+#: ../composer/e-msg-composer.c:3360
+#: ../composer/e-msg-composer.c:3361
msgid "Compose a message"
msgstr "Compose a message"
-#: composer/e-msg-composer.c:4541
+#: ../composer/e-msg-composer.c:4542
msgid "<b>(The composer contains a non-text message body, which cannot be edited.)<b>"
msgstr "<b>(The composer contains a non-text message body, which cannot be edited.)<b>"
#. mail-composer:no-attach primary
-#: composer/mail-composer-errors.xml.h:2
+#: ../composer/mail-composer-errors.xml.h:2
msgid "You cannot attach the file `{0}' to this message."
msgstr "You cannot attach the file `{0}' to this message."
#. mail-composer:attach-notfile primary
-#: composer/mail-composer-errors.xml.h:6
+#: ../composer/mail-composer-errors.xml.h:6
msgid "The file `{0}' is not a regular file and cannot be sent in a message."
msgstr "The file `{0}' is not a regular file and cannot be sent in a message."
#. mail-composer:attach-directory primary
-#: composer/mail-composer-errors.xml.h:8
+#: ../composer/mail-composer-errors.xml.h:8
msgid "Directories can not be attached to Messages."
msgstr "Directories can not be attached to Messages."
#. mail-composer:attach-directory secondary
-#: composer/mail-composer-errors.xml.h:10
+#: ../composer/mail-composer-errors.xml.h:10
msgid "To attach the contents of this directory, either attach the files in this directory individually, or create an archive of the directory and attach it."
msgstr "To attach the contents of this directory, either attach the files in this directory individually, or create an archive of the directory and attach it."
#. mail-composer:attach-nomessages primary
-#: composer/mail-composer-errors.xml.h:12
+#: ../composer/mail-composer-errors.xml.h:12
msgid "Could not retrieve messages to attach from {0}."
msgstr "Could not retrieve messages to attach from {0}."
#. mail-composer:attach-nomessages secondary
-#: composer/mail-composer-errors.xml.h:14
-#: composer/mail-composer-errors.xml.h:42
-#: mail/mail-errors.xml.h:105
-#: mail/mail-errors.xml.h:117
-#: widgets/misc/e-system-errors.xml.h:11
-#: widgets/misc/e-system-errors.xml.h:15
+#. mail:no-create-tmp-path secondary
+#. system:no-save-file secondary
+#: ../composer/mail-composer-errors.xml.h:14
+#: ../composer/mail-composer-errors.xml.h:42
+#: ../mail/mail-errors.xml.h:105
+#: ../mail/mail-errors.xml.h:117
+#: ../widgets/misc/e-system-errors.xml.h:11
+#: ../widgets/misc/e-system-errors.xml.h:15
msgid "Because \"{1}\"."
msgstr "Because \"{1}\"."
#. mail-composer:recover-autosave title
-#: composer/mail-composer-errors.xml.h:16
+#: ../composer/mail-composer-errors.xml.h:16
msgid "Unfinished messages found"
msgstr "Unfinished messages found"
#. mail-composer:recover-autosave primary
-#: composer/mail-composer-errors.xml.h:18
+#: ../composer/mail-composer-errors.xml.h:18
msgid "Do you want to recover unfinished messages?"
msgstr "Do you want to recover unfinished messages?"
#. mail-composer:recover-autosave secondary
-#: composer/mail-composer-errors.xml.h:20
+#: ../composer/mail-composer-errors.xml.h:20
msgid "Evolution quit unexpectedly while you were composing a new message. Recovering the message will allow you to continue where you left off."
msgstr "Evolution quit unexpectedly while you were composing a new message. Recovering the message will allow you to continue where you left off."
-#: composer/mail-composer-errors.xml.h:21
+#: ../composer/mail-composer-errors.xml.h:21
msgid "Don't Recover"
msgstr "Don't Recover"
-#: composer/mail-composer-errors.xml.h:22
+#: ../composer/mail-composer-errors.xml.h:22
msgid "Recover"
msgstr "Recover"
#. mail-composer:no-autosave primary
-#: composer/mail-composer-errors.xml.h:24
+#: ../composer/mail-composer-errors.xml.h:24
msgid "Could not save to autosave file \"{0}\"."
msgstr "Could not save to autosave file \"{0}\"."
#. mail-composer:no-autosave secondary
-#: composer/mail-composer-errors.xml.h:26
+#: ../composer/mail-composer-errors.xml.h:26
msgid "Error saving to autosave because \"{1}\"."
msgstr "Error saving to autosave because \"{1}\"."
#. mail-composer:exit-unsaved title
-#: composer/mail-composer-errors.xml.h:28
+#: ../composer/mail-composer-errors.xml.h:28
msgid "Warning: Modified Message"
msgstr "Warning: Modified Message"
#. mail-composer:exit-unsaved primary
-#: composer/mail-composer-errors.xml.h:30
+#: ../composer/mail-composer-errors.xml.h:30
msgid "Are you sure you want to discard the message, titled '{0}', you are composing?"
msgstr "Are you sure you want to discard the message, titled '{0}', you are composing?"
#. mail-composer:exit-unsaved secondary
-#: composer/mail-composer-errors.xml.h:32
+#: ../composer/mail-composer-errors.xml.h:32
msgid "Closing this composer window will discard the message permanently, unless you choose to save the message in your Drafts folder. This will allow you to continue the message at a later date."
msgstr "Closing this composer window will discard the message permanently, unless you choose to save the message in your Drafts folder. This will allow you to continue the message at a later date."
-#: composer/mail-composer-errors.xml.h:33
+#: ../composer/mail-composer-errors.xml.h:33
msgid "_Discard Changes"
msgstr "_Discard Changes"
-#: composer/mail-composer-errors.xml.h:34
+#: ../composer/mail-composer-errors.xml.h:34
msgid "_Save Message"
msgstr "_Save Message"
#. mail-composer:no-build-message primary
-#: composer/mail-composer-errors.xml.h:36
+#: ../composer/mail-composer-errors.xml.h:36
msgid "Could not create message."
msgstr "Could not create message."
#. mail-composer:no-build-message secondary
-#: composer/mail-composer-errors.xml.h:38
+#: ../composer/mail-composer-errors.xml.h:38
msgid "Because \"{0}\", you may need to select different mail options."
msgstr "Because \"{0}\", you may need to select different mail options."
#. mail-composer:no-sig-file primary
-#: composer/mail-composer-errors.xml.h:40
+#: ../composer/mail-composer-errors.xml.h:40
msgid "Could not read signature file \"{0}\"."
msgstr "Could not read signature file \"{0}\"."
#. mail-composer:all-accounts-deleted primary
-#: composer/mail-composer-errors.xml.h:44
+#: ../composer/mail-composer-errors.xml.h:44
msgid "All accounts have been removed."
msgstr "All accounts have been removed."
#. mail-composer:all-accounts-deleted secondary
-#: composer/mail-composer-errors.xml.h:46
+#: ../composer/mail-composer-errors.xml.h:46
msgid "You need to configure an account before you can compose mail."
msgstr "You need to configure an account before you can compose mail."
#. mail-composer:no-address-control primary
-#: composer/mail-composer-errors.xml.h:48
-#: composer/mail-composer-errors.xml.h:52
+#: ../composer/mail-composer-errors.xml.h:48
+#: ../composer/mail-composer-errors.xml.h:52
msgid "Could not create composer window."
msgstr "Could not create composer window."
#. mail-composer:no-address-control secondary
-#: composer/mail-composer-errors.xml.h:50
+#: ../composer/mail-composer-errors.xml.h:50
msgid "Unable to activate the address selector control."
msgstr "Unable to activate the address selector control."
#. mail-composer:no-editor-control secondary
-#: composer/mail-composer-errors.xml.h:54
+#: ../composer/mail-composer-errors.xml.h:54
msgid ""
"Unable to activate the HTML editor control.\n"
"\n"
@@ -9568,24 +9620,24 @@ msgstr ""
"\n"
"Please make sure that you have the correct version of gtkhtml and libgtkhtml installed."
-#: data/evolution.desktop.in.in.h:1
-#: shell/main.c:520
+#: ../data/evolution.desktop.in.in.h:1
+#: ../shell/main.c:521
msgid "Evolution"
msgstr "Evolution"
-#: data/evolution.desktop.in.in.h:2
+#: ../data/evolution.desktop.in.in.h:2
msgid "The Evolution Groupware Suite"
msgstr "The Evolution Groupware Suite"
-#: data/evolution.keys.in.in.h:1
+#: ../data/evolution.keys.in.in.h:1
msgid "address card"
msgstr "address card"
-#: data/evolution.keys.in.in.h:2
+#: ../data/evolution.keys.in.in.h:2
msgid "calendar information"
msgstr "calendar information"
-#: designs/OOA/ooa.glade.h:1
+#: ../designs/OOA/ooa.glade.h:1
msgid ""
"<b>Currently, your status is \"Out of the Office\". </b>\n"
"\n"
@@ -9595,15 +9647,15 @@ msgstr ""
"\n"
"Would you like to change your status to \"In the Office\"? "
-#: designs/OOA/ooa.glade.h:4
+#: ../designs/OOA/ooa.glade.h:4
msgid "<b>Out of Office Message:</b>"
msgstr "<b>Out of Office Message:</b>"
-#: designs/OOA/ooa.glade.h:5
+#: ../designs/OOA/ooa.glade.h:5
msgid "<b>Status:</b>"
msgstr "<b>Status:</b>"
-#: designs/OOA/ooa.glade.h:6
+#: ../designs/OOA/ooa.glade.h:6
msgid ""
"<small>The message specified below will be automatically sent to each person who sends\n"
"mail to you while you are out of the office.</small>"
@@ -9611,39 +9663,39 @@ msgstr ""
"<small>The message specified below will be automatically sent to each person who sends\n"
"mail to you while you are out of the office.</small>"
-#: designs/OOA/ooa.glade.h:8
+#: ../designs/OOA/ooa.glade.h:8
msgid "I am currently in the office"
msgstr "I am currently in the office"
-#: designs/OOA/ooa.glade.h:9
+#: ../designs/OOA/ooa.glade.h:9
msgid "I am currently out of the office"
msgstr "I am currently out of the office"
-#: designs/OOA/ooa.glade.h:10
+#: ../designs/OOA/ooa.glade.h:10
msgid "No, Don't Change Status"
msgstr "No, Don't Change Status"
-#: designs/OOA/ooa.glade.h:12
+#: ../designs/OOA/ooa.glade.h:12
msgid "Out of Office Assistant"
msgstr "Out of Office Assistant"
-#: designs/OOA/ooa.glade.h:13
+#: ../designs/OOA/ooa.glade.h:13
msgid "Yes, Change Status"
msgstr "Yes, Change Status"
-#: designs/read_receipts/read.glade.h:1
+#: ../designs/read_receipts/read.glade.h:1
msgid " "
msgstr " "
-#: designs/read_receipts/read.glade.h:2
+#: ../designs/read_receipts/read.glade.h:2
msgid "<b>Receiving Email</b>"
msgstr "<b>Receiving Email</b>"
-#: designs/read_receipts/read.glade.h:3
+#: ../designs/read_receipts/read.glade.h:3
msgid "<b>Sending Email:</b>"
msgstr "<b>Sending Email:</b>"
-#: designs/read_receipts/read.glade.h:4
+#: ../designs/read_receipts/read.glade.h:4
msgid ""
"<small>This page allows you to choose if you want to be notified via a read receipt when a message you\n"
"sent is read, and to specify what Evolution should do when someone requests a receipt from you.</small>"
@@ -9651,35 +9703,35 @@ msgstr ""
"<small>This page allows you to choose if you want to be notified via a read receipt when a message you\n"
"sent is read, and to specify what Evolution should do when someone requests a receipt from you.</small>"
-#: designs/read_receipts/read.glade.h:6
+#: ../designs/read_receipts/read.glade.h:6
msgid "Always send back a read reciept"
msgstr "Always send back a read reciept"
-#: designs/read_receipts/read.glade.h:7
+#: ../designs/read_receipts/read.glade.h:7
msgid "Ask me if I want to send back a read receipt"
msgstr "Ask me if I want to send back a read receipt"
-#: designs/read_receipts/read.glade.h:8
+#: ../designs/read_receipts/read.glade.h:8
msgid "Never send back a read receipt"
msgstr "Never send back a read receipt"
-#: designs/read_receipts/read.glade.h:9
+#: ../designs/read_receipts/read.glade.h:9
msgid "Read Receipts"
msgstr "Read Receipts"
-#: designs/read_receipts/read.glade.h:10
+#: ../designs/read_receipts/read.glade.h:10
msgid "Request a read receipt for all messages I send"
msgstr "Request a read receipt for all messages I send"
-#: designs/read_receipts/read.glade.h:11
+#: ../designs/read_receipts/read.glade.h:11
msgid "Unless the message is sent to a mailing list, and not to me personally"
msgstr "Unless the message is sent to a mailing list, and not to me personally"
-#: designs/read_receipts/read.glade.h:12
+#: ../designs/read_receipts/read.glade.h:12
msgid "When you receive an email with a read receipt request, what should Evolution do?"
msgstr "When you receive an email with a read receipt request, what should Evolution do?"
-#: e-util/e-dialog-utils.c:267
+#: ../e-util/e-dialog-utils.c:267
msgid ""
"A file by that name already exists.\n"
"Overwrite it?"
@@ -9688,323 +9740,320 @@ msgstr ""
"Overwrite it?"
#. system:ask-save-file-exists-overwrite title
-#: e-util/e-dialog-utils.c:269
-#: widgets/misc/e-system-errors.xml.h:2
+#: ../e-util/e-dialog-utils.c:269
+#: ../widgets/misc/e-system-errors.xml.h:2
msgid "Overwrite file?"
msgstr "Overwrite file?"
-#: e-util/e-passwords.c:472
-msgid "_Remember this password"
-msgstr "_Remember this password"
-
-#: e-util/e-passwords.c:473
-msgid "_Remember this password for the remainder of this session"
-msgstr "_Remember this password for the remainder of this session"
-
#. strptime format of a weekday, a date and a time,
-#: e-util/e-time-utils.c:185
-#: e-util/e-time-utils.c:398
+#. strftime format of a weekday, a date and a
+#: ../e-util/e-time-utils.c:185
+#: ../e-util/e-time-utils.c:398
msgid "%a %m/%d/%Y %I:%M %p"
msgstr "%a %d/%m/%Y %I:%M %p"
#. strptime format of a weekday, a date and a time,
-#: e-util/e-time-utils.c:190
-#: e-util/e-time-utils.c:389
+#. strftime format of a weekday, a date and a
+#: ../e-util/e-time-utils.c:190
+#: ../e-util/e-time-utils.c:389
msgid "%a %m/%d/%Y %H:%M"
msgstr "%a %d/%m/%Y %H:%M"
#. strptime format of a weekday, a date and a time,
-#: e-util/e-time-utils.c:195
+#: ../e-util/e-time-utils.c:195
msgid "%a %m/%d/%Y %I %p"
msgstr "%a %d/%m/%Y %I %p"
#. strptime format of a weekday, a date and a time,
-#: e-util/e-time-utils.c:200
+#: ../e-util/e-time-utils.c:200
msgid "%a %m/%d/%Y %H"
msgstr "%a %d/%m/%Y %H"
#. strptime format of a date and a time, in 12-hour format.
-#: e-util/e-time-utils.c:211
+#: ../e-util/e-time-utils.c:211
msgid "%m/%d/%Y %I:%M:%S %p"
msgstr "%d/%m/%Y %I:%M:%S %p"
#. strptime format of a date and a time, in 24-hour format.
-#: e-util/e-time-utils.c:215
+#: ../e-util/e-time-utils.c:215
msgid "%m/%d/%Y %H:%M:%S"
msgstr "%d/%m/%Y %H:%M:%S"
#. strptime format of a date and a time, in 12-hour format,
-#: e-util/e-time-utils.c:220
+#: ../e-util/e-time-utils.c:220
msgid "%m/%d/%Y %I:%M %p"
msgstr "%d/%m/%Y %I:%M %p"
#. strptime format of a date and a time, in 24-hour format,
-#: e-util/e-time-utils.c:225
+#: ../e-util/e-time-utils.c:225
msgid "%m/%d/%Y %H:%M"
msgstr "%d/%m/%Y %H:%M"
#. strptime format of a date and a time, in 12-hour format,
-#: e-util/e-time-utils.c:230
+#: ../e-util/e-time-utils.c:230
msgid "%m/%d/%Y %I %p"
msgstr "%d/%m/%Y %I %p"
#. strptime format of a date and a time, in 24-hour format,
-#: e-util/e-time-utils.c:235
+#: ../e-util/e-time-utils.c:235
msgid "%m/%d/%Y %H"
msgstr "%d/%m/%Y %H"
#. strptime format for a time of day, in 12-hour format.
-#: e-util/e-time-utils.c:339
-#: e-util/e-time-utils.c:438
+#: ../e-util/e-time-utils.c:339
+#: ../e-util/e-time-utils.c:438
msgid "%I:%M:%S %p"
msgstr "%I:%M:%S %p"
#. strptime format for a time of day, in 24-hour format.
-#: e-util/e-time-utils.c:343
-#: e-util/e-time-utils.c:430
+#: ../e-util/e-time-utils.c:343
+#: ../e-util/e-time-utils.c:430
msgid "%H:%M:%S"
msgstr "%H:%M:%S"
#. strptime format for time of day, without seconds,
-#: e-util/e-time-utils.c:348
-#: e-util/e-time-utils.c:435
-#: widgets/misc/e-dateedit.c:1431
-#: widgets/misc/e-dateedit.c:1697
+#. strftime format of a time in 12-hour format,
+#. This is a strftime() format. %I = hour (1-12), %M = minute, %p = am/pm string.
+#: ../e-util/e-time-utils.c:348
+#: ../e-util/e-time-utils.c:435
+#: ../widgets/misc/e-dateedit.c:1431
+#: ../widgets/misc/e-dateedit.c:1697
msgid "%I:%M %p"
msgstr "%I:%M %p"
#. strptime format for time of day, without seconds 24-hour format.
-#: e-util/e-time-utils.c:352
-#: e-util/e-time-utils.c:427
-#: widgets/misc/e-dateedit.c:1428
-#: widgets/misc/e-dateedit.c:1694
+#. without seconds.
+#: ../e-util/e-time-utils.c:352
+#: ../e-util/e-time-utils.c:427
+#: ../widgets/misc/e-dateedit.c:1428
+#: ../widgets/misc/e-dateedit.c:1694
msgid "%H:%M"
msgstr "%H:%M"
#. strptime format for hour and AM/PM, 12-hour format.
-#: e-util/e-time-utils.c:356
+#: ../e-util/e-time-utils.c:356
msgid "%I %p"
msgstr "%I %p"
-#: e-util/eggtrayicon.c:119
+#: ../e-util/eggtrayicon.c:119
msgid "The orientation of the tray."
msgstr "The orientation of the tray."
-#: filter/filter-datespec.c:73
+#: ../filter/filter-datespec.c:73
#, c-format
msgid "1 second ago"
msgid_plural "%d seconds ago"
msgstr[0] "1 second ago"
msgstr[1] "%d seconds ago"
-#: filter/filter-datespec.c:74
+#: ../filter/filter-datespec.c:74
#, c-format
msgid "1 minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "1 minute ago"
msgstr[1] "%d minutes ago"
-#: filter/filter-datespec.c:75
+#: ../filter/filter-datespec.c:75
#, c-format
msgid "1 hour ago"
msgid_plural "%d hours ago"
msgstr[0] "1 hour ago"
msgstr[1] "%d hours ago"
-#: filter/filter-datespec.c:76
+#: ../filter/filter-datespec.c:76
#, c-format
msgid "1 day ago"
msgid_plural "%d days ago"
msgstr[0] "1 day ago"
msgstr[1] "%d days ago"
-#: filter/filter-datespec.c:77
+#: ../filter/filter-datespec.c:77
#, c-format
msgid "1 week ago"
msgid_plural "%d weeks ago"
msgstr[0] "1 week ago"
msgstr[1] "%d weeks ago"
-#: filter/filter-datespec.c:78
+#: ../filter/filter-datespec.c:78
#, c-format
msgid "1 month ago"
msgid_plural "%d months ago"
msgstr[0] "1 month ago"
msgstr[1] "%d months ago"
-#: filter/filter-datespec.c:79
+#: ../filter/filter-datespec.c:79
#, c-format
msgid "1 year ago"
msgid_plural "%d years ago"
msgstr[0] "1 year ago"
msgstr[1] "%d years ago"
-#: filter/filter-datespec.c:280
+#: ../filter/filter-datespec.c:280
msgid "<click here to select a date>"
msgstr "<click here to select a date>"
-#: filter/filter-datespec.c:283
-#: filter/filter-datespec.c:294
+#: ../filter/filter-datespec.c:283
+#: ../filter/filter-datespec.c:294
msgid "now"
msgstr "now"
#. strftime for date filter display, only needs to show a day date (i.e. no time)
-#: filter/filter-datespec.c:290
+#: ../filter/filter-datespec.c:290
msgid "%d-%b-%Y"
msgstr "%d-%b-%Y"
-#: filter/filter-datespec.c:406
+#: ../filter/filter-datespec.c:406
msgid "Select a time to compare against"
msgstr "Select a time to compare against"
#. filter:no-date primary
-#: filter/filter-errors.xml.h:2
+#: ../filter/filter-errors.xml.h:2
msgid "Missing date."
msgstr "Missing date."
#. filter:no-date secondary
-#: filter/filter-errors.xml.h:4
+#: ../filter/filter-errors.xml.h:4
msgid "You must choose a date."
msgstr "You must choose a date."
#. filter:no-file primary
-#: filter/filter-errors.xml.h:6
+#: ../filter/filter-errors.xml.h:6
msgid "Missing file name."
msgstr "Missing file name."
#. filter:no-file secondary
-#: filter/filter-errors.xml.h:8
-#: filter/filter-errors.xml.h:12
+#: ../filter/filter-errors.xml.h:8
+#: ../filter/filter-errors.xml.h:12
msgid "You must specify a file name."
msgstr "You must specify a file name."
#. filter:bad-file primary
-#: filter/filter-errors.xml.h:10
+#: ../filter/filter-errors.xml.h:10
msgid "File \"{0}\" does not exist or is not a regular file."
msgstr "File \"{0}\" does not exist or is not a regular file."
#. filter:bad-regexp primary
-#: filter/filter-errors.xml.h:14
+#: ../filter/filter-errors.xml.h:14
msgid "Bad regular expression \"{0}\"."
msgstr "Bad regular expression \"{0}\"."
#. filter:bad-regexp secondary
-#: filter/filter-errors.xml.h:16
+#: ../filter/filter-errors.xml.h:16
msgid "Could not compile regular expression \"{1}\"."
msgstr "Could not compile regular expression \"{1}\"."
#. filter:no-name primary
-#: filter/filter-errors.xml.h:18
-#: mail/mail-errors.xml.h:219
+#: ../filter/filter-errors.xml.h:18
+#: ../mail/mail-errors.xml.h:219
msgid "Missing name."
msgstr "Missing name."
#. filter:no-name secondary
-#: filter/filter-errors.xml.h:20
+#: ../filter/filter-errors.xml.h:20
msgid "You must name this filter."
msgstr "You must name this filter."
#. filter:bad-name-notunique primary
-#: filter/filter-errors.xml.h:22
+#: ../filter/filter-errors.xml.h:22
msgid "Name \"{0}\" already used."
msgstr "Name \"{0}\" already used."
#. filter:bad-name-notunique secondary
-#: filter/filter-errors.xml.h:24
+#: ../filter/filter-errors.xml.h:24
msgid "Please choose another name."
msgstr "Please choose another name."
-#: filter/filter-file.c:288
+#: ../filter/filter-file.c:288
msgid "Choose a file"
msgstr "Choose a file"
-#: filter/filter-label.c:121
-#: mail/em-filter-i18n.h:26
-#: mail/em-migrate.c:1011
-#: mail/mail-config.c:75
-#: mail/mail-config.glade.h:90
+#: ../filter/filter-label.c:121
+#: ../mail/em-filter-i18n.h:26
+#: ../mail/em-migrate.c:1041
+#: ../mail/mail-config.c:76
+#: ../mail/mail-config.glade.h:90
msgid "Important"
msgstr "Important"
#. forest green
-#: filter/filter-label.c:124
-#: mail/em-migrate.c:1014
-#: mail/mail-config.c:78
-#: mail/mail-config.glade.h:140
+#: ../filter/filter-label.c:124
+#: ../mail/em-migrate.c:1044
+#: ../mail/mail-config.c:79
+#: ../mail/mail-config.glade.h:140
msgid "To Do"
msgstr "To Do"
#. blue
-#: filter/filter-label.c:125
-#: mail/em-migrate.c:1015
-#: mail/mail-config.c:79
-#: mail/mail-config.glade.h:93
+#: ../filter/filter-label.c:125
+#: ../mail/em-migrate.c:1045
+#: ../mail/mail-config.c:80
+#: ../mail/mail-config.glade.h:93
msgid "Later"
msgstr "Later"
-#: filter/filter-part.c:532
-#: shell/GNOME_Evolution_Test.server.in.in.h:3
+#: ../filter/filter-part.c:532
+#: ../shell/GNOME_Evolution_Test.server.in.in.h:3
msgid "Test"
msgstr "Test"
-#: filter/filter-rule.c:790
+#: ../filter/filter-rule.c:790
msgid "_Rule name:"
msgstr "_Rule name:"
-#: filter/filter-rule.c:818
+#: ../filter/filter-rule.c:818
msgid "<b>If</b>"
msgstr "<b>If</b>"
-#: filter/filter-rule.c:855
+#: ../filter/filter-rule.c:855
msgid "if all criteria are met"
msgstr "if all criteria are met"
-#: filter/filter-rule.c:855
+#: ../filter/filter-rule.c:855
msgid "if any criteria are met"
msgstr "if any criteria are met"
-#: filter/filter-rule.c:857
+#: ../filter/filter-rule.c:857
msgid "Execute actions"
msgstr "Execute actions"
-#: filter/filter-rule.c:878
+#: ../filter/filter-rule.c:878
msgid "All related"
msgstr "All related"
-#: filter/filter-rule.c:878
+#: ../filter/filter-rule.c:878
msgid "Replies"
msgstr "Replies"
-#: filter/filter-rule.c:878
+#: ../filter/filter-rule.c:878
msgid "Replies and parents"
msgstr "Replies and parents"
-#: filter/filter-rule.c:880
+#: ../filter/filter-rule.c:880
msgid "Include threads"
msgstr "Include threads"
-#: filter/filter-rule.c:975
-#: filter/filter.glade.h:3
+#: ../filter/filter-rule.c:975
+#: ../filter/filter.glade.h:3
msgid "Incoming"
msgstr "Incoming"
-#: filter/filter-rule.c:975
+#: ../filter/filter-rule.c:975
msgid "Outgoing"
msgstr "Outgoing"
-#: filter/filter.glade.h:1
+#: ../filter/filter.glade.h:1
msgid "<b>_Filter Rules</b>"
msgstr "<b>_Filter Rules</b>"
-#: filter/filter.glade.h:2
+#: ../filter/filter.glade.h:2
msgid "Compare against"
msgstr "Compare against"
-#: filter/filter.glade.h:4
+#: ../filter/filter.glade.h:4
msgid "Show filters for mail:"
msgstr "Show filters for mail:"
-#: filter/filter.glade.h:5
+#: ../filter/filter.glade.h:5
msgid ""
"The message's date will be compared against\n"
"12:00am of the date specified."
@@ -10012,7 +10061,7 @@ msgstr ""
"The message's date will be compared against\n"
"12:00am of the date specified."
-#: filter/filter.glade.h:7
+#: ../filter/filter.glade.h:7
msgid ""
"The message's date will be compared against\n"
"a time relative to when filtering occurs."
@@ -10020,7 +10069,7 @@ msgstr ""
"The message's date will be compared against\n"
"a time relative to when filtering occurs."
-#: filter/filter.glade.h:9
+#: ../filter/filter.glade.h:9
msgid ""
"The message's date will be compared against\n"
"the current time when filtering occurs."
@@ -10028,116 +10077,116 @@ msgstr ""
"The message's date will be compared against\n"
"the current time when filtering occurs."
-#: filter/filter.glade.h:12
+#: ../filter/filter.glade.h:12
msgid "a time relative to the current time"
msgstr "a time relative to the current time"
-#: filter/filter.glade.h:13
+#: ../filter/filter.glade.h:13
msgid "ago"
msgstr "ago"
-#: filter/filter.glade.h:17
+#: ../filter/filter.glade.h:17
msgid "months"
msgstr "months"
-#: filter/filter.glade.h:18
-#: mail/mail-config.glade.h:172
+#: ../filter/filter.glade.h:18
+#: ../mail/mail-config.glade.h:172
msgid "seconds"
msgstr "seconds"
-#: filter/filter.glade.h:19
+#: ../filter/filter.glade.h:19
msgid "the current time"
msgstr "the current time"
-#: filter/filter.glade.h:20
+#: ../filter/filter.glade.h:20
msgid "the time you specify"
msgstr "the time you specify"
-#: filter/filter.glade.h:22
+#: ../filter/filter.glade.h:22
msgid "years"
msgstr "years"
-#: filter/rule-editor.c:285
+#: ../filter/rule-editor.c:285
msgid "Add Rule"
msgstr "Add Rule"
-#: filter/rule-editor.c:361
+#: ../filter/rule-editor.c:361
msgid "Edit Rule"
msgstr "Edit Rule"
-#: filter/rule-editor.c:685
+#: ../filter/rule-editor.c:693
msgid "Rule name"
msgstr "Rule name"
-#: mail/GNOME_Evolution_Mail.server.in.in.h:1
+#: ../mail/GNOME_Evolution_Mail.server.in.in.h:1
msgid "Composer Preferences"
msgstr "Composer Preferences"
-#: mail/GNOME_Evolution_Mail.server.in.in.h:2
+#: ../mail/GNOME_Evolution_Mail.server.in.in.h:2
msgid "Configure mail preferences, including security and message display, here"
msgstr "Configure mail preferences, including security and message display, here"
-#: mail/GNOME_Evolution_Mail.server.in.in.h:3
+#: ../mail/GNOME_Evolution_Mail.server.in.in.h:3
msgid "Configure spell-checking, signatures, and the message composer here"
msgstr "Configure spell-checking, signatures, and the message composer here"
-#: mail/GNOME_Evolution_Mail.server.in.in.h:4
+#: ../mail/GNOME_Evolution_Mail.server.in.in.h:4
msgid "Configure your email accounts here"
msgstr "Configure your email accounts here"
-#: mail/GNOME_Evolution_Mail.server.in.in.h:5
+#: ../mail/GNOME_Evolution_Mail.server.in.in.h:5
msgid "Evolution Mail"
msgstr "Evolution Mail"
-#: mail/GNOME_Evolution_Mail.server.in.in.h:6
+#: ../mail/GNOME_Evolution_Mail.server.in.in.h:6
msgid "Evolution Mail accounts configuration control"
msgstr "Evolution Mail accounts configuration control"
-#: mail/GNOME_Evolution_Mail.server.in.in.h:7
+#: ../mail/GNOME_Evolution_Mail.server.in.in.h:7
msgid "Evolution Mail component"
msgstr "Evolution Mail component"
-#: mail/GNOME_Evolution_Mail.server.in.in.h:8
+#: ../mail/GNOME_Evolution_Mail.server.in.in.h:8
msgid "Evolution Mail composer"
msgstr "Evolution Mail composer"
-#: mail/GNOME_Evolution_Mail.server.in.in.h:9
+#: ../mail/GNOME_Evolution_Mail.server.in.in.h:9
msgid "Evolution Mail composer configuration control"
msgstr "Evolution Mail composer configuration control"
-#: mail/GNOME_Evolution_Mail.server.in.in.h:10
+#: ../mail/GNOME_Evolution_Mail.server.in.in.h:10
msgid "Evolution Mail preferences control"
msgstr "Evolution Mail preferences control"
-#: mail/GNOME_Evolution_Mail.server.in.in.h:11
-#: mail/em-folder-view.c:471
-#: mail/importers/elm-importer.c:418
-#: mail/importers/netscape-importer.c:1902
-#: mail/importers/pine-importer.c:474
-#: mail/mail-component.c:536
-#: mail/mail-component.c:587
+#: ../mail/GNOME_Evolution_Mail.server.in.in.h:11
+#: ../mail/em-folder-view.c:469
+#: ../mail/importers/elm-importer.c:418
+#: ../mail/importers/netscape-importer.c:1902
+#: ../mail/importers/pine-importer.c:474
+#: ../mail/mail-component.c:557
+#: ../mail/mail-component.c:608
msgid "Mail"
msgstr "Mail"
-#: mail/GNOME_Evolution_Mail.server.in.in.h:12
+#: ../mail/GNOME_Evolution_Mail.server.in.in.h:12
msgid "Mail Accounts"
msgstr "Mail Accounts"
-#: mail/GNOME_Evolution_Mail.server.in.in.h:13
-#: mail/mail-config.glade.h:95
+#: ../mail/GNOME_Evolution_Mail.server.in.in.h:13
+#: ../mail/mail-config.glade.h:95
msgid "Mail Preferences"
msgstr "Mail Preferences"
-#: mail/GNOME_Evolution_Mail.server.in.in.h:14
+#: ../mail/GNOME_Evolution_Mail.server.in.in.h:14
msgid "_Mail"
msgstr "_Mail"
-#: mail/em-account-editor.c:377
+#: ../mail/em-account-editor.c:387
#, c-format
msgid "%s License Agreement"
msgstr "%s Licence Agreement"
-#: mail/em-account-editor.c:384
+#: ../mail/em-account-editor.c:394
#, c-format
msgid ""
"\n"
@@ -10150,988 +10199,999 @@ msgstr ""
"for %s displayed below\n"
"and tick the check box for accepting it\n"
-#: mail/em-account-editor.c:454
-#: mail/em-filter-folder-element.c:237
-#: mail/em-vfolder-rule.c:494
+#: ../mail/em-account-editor.c:464
+#: ../mail/em-filter-folder-element.c:237
+#: ../mail/em-vfolder-rule.c:494
msgid "Select Folder"
msgstr "Select Folder"
-#: mail/em-account-editor.c:1817
+#: ../mail/em-account-editor.c:1664
+#: ../mail/mail-config.glade.h:89
+msgid "Identity"
+msgstr "Identity"
+
+#: ../mail/em-account-editor.c:1700
+#: ../mail/mail-config.glade.h:114
+msgid "Receiving Email"
+msgstr "Receiving Email"
+
+#: ../mail/em-account-editor.c:1877
msgid "Automatically check for _new mail every"
msgstr "Automatically check for _new mail every"
+#: ../mail/em-account-editor.c:2045
+#: ../mail/mail-config.glade.h:124
+msgid "Sending Email"
+msgstr "Sending Email"
+
+#: ../mail/em-account-editor.c:2089
+#: ../mail/mail-config.glade.h:67
+msgid "Defaults"
+msgstr "Defaults"
+
+#: ../mail/em-account-editor.c:2148
+#: ../mail/mail-config.glade.h:119
+msgid "Security"
+msgstr "Security"
+
#. Most sections for this is auto-generated fromt the camel config
-#: mail/em-account-editor.c:2086
-#: mail/em-account-editor.c:2164
+#: ../mail/em-account-editor.c:2185
+#: ../mail/em-account-editor.c:2260
msgid "Receiving Options"
msgstr "Receiving Options"
-#: mail/em-account-editor.c:2087
-#: mail/em-account-editor.c:2165
+#: ../mail/em-account-editor.c:2186
+#: ../mail/em-account-editor.c:2261
msgid "Checking for New Mail"
msgstr "Checking for New Mail"
-#: mail/em-account-editor.c:2509
-#: mail/mail-config.glade.h:33
+#: ../mail/em-account-editor.c:2585
+#: ../mail/mail-config.glade.h:33
msgid "Account Editor"
msgstr "Account Editor"
-#: mail/em-account-editor.c:2509
-#: mail/mail-config.glade.h:79
+#: ../mail/em-account-editor.c:2585
+#: ../mail/mail-config.glade.h:79
msgid "Evolution Account Assistant"
msgstr "Evolution Account Assistant"
#. translators: default account indicator
-#: mail/em-account-prefs.c:412
+#: ../mail/em-account-prefs.c:428
msgid "[Default]"
msgstr "[Default]"
-#: mail/em-account-prefs.c:466
+#: ../mail/em-account-prefs.c:482
msgid "Account name"
msgstr "Account name"
-#: mail/em-account-prefs.c:468
+#: ../mail/em-account-prefs.c:484
msgid "Protocol"
msgstr "Protocol"
-#: mail/em-composer-prefs.c:306
-#: mail/em-composer-prefs.c:429
-#: mail/mail-config.c:934
+#: ../mail/em-composer-prefs.c:306
+#: ../mail/em-composer-prefs.c:429
+#: ../mail/mail-config.c:935
msgid "Unnamed"
msgstr "Unnamed"
-#: mail/em-composer-prefs.c:894
+#: ../mail/em-composer-prefs.c:894
msgid "Language(s)"
msgstr "Language(s)"
-#: mail/em-composer-prefs.c:937
+#: ../mail/em-composer-prefs.c:937
msgid "Add signature script"
msgstr "Add signature script"
-#: mail/em-composer-prefs.c:957
+#: ../mail/em-composer-prefs.c:957
msgid "Signature(s)"
msgstr "Signature(s)"
-#: mail/em-composer-utils.c:910
+#: ../mail/em-composer-utils.c:911
msgid "-------- Forwarded Message --------"
msgstr "-------- Forwarded Message --------"
-#: mail/em-composer-utils.c:1526
+#: ../mail/em-composer-utils.c:1521
msgid "an unknown sender"
msgstr "an unknown sender"
#. Note to translators: this is the attribution string used when quoting messages.
-#: mail/em-composer-utils.c:1573
+#. * variables, see em-composer-utils.c:1514
+#: ../mail/em-composer-utils.c:1568
msgid "On ${AbbrevWeekdayName}, ${Year}-${Month}-${Day} at ${24Hour}:${Minute} ${TimeZone}, ${Sender} wrote:"
msgstr "On ${AbbrevWeekdayName}, ${Year}-${Month}-${Day} at ${24Hour}:${Minute} ${TimeZone}, ${Sender} wrote:"
-#: mail/em-filter-editor.c:147
+#: ../mail/em-filter-editor.c:147
msgid "_Filter Rules"
msgstr "_Filter Rules"
#. Automatically generated. Do not edit.
-#: mail/em-filter-i18n.h:2
+#: ../mail/em-filter-i18n.h:2
msgid "Adjust Score"
msgstr "Adjust Score"
-#: mail/em-filter-i18n.h:3
+#: ../mail/em-filter-i18n.h:3
msgid "Assign Color"
msgstr "Assign Colour"
-#: mail/em-filter-i18n.h:4
+#: ../mail/em-filter-i18n.h:4
msgid "Assign Score"
msgstr "Assign Score"
-#: mail/em-filter-i18n.h:5
+#: ../mail/em-filter-i18n.h:5
msgid "Attachments"
msgstr "Attachments"
-#: mail/em-filter-i18n.h:6
+#: ../mail/em-filter-i18n.h:6
msgid "Beep"
msgstr "Beep"
-#: mail/em-filter-i18n.h:7
+#: ../mail/em-filter-i18n.h:7
msgid "contains"
msgstr "contains"
-#: mail/em-filter-i18n.h:8
+#: ../mail/em-filter-i18n.h:8
msgid "Copy to Folder"
msgstr "Copy to Folder"
-#: mail/em-filter-i18n.h:9
+#: ../mail/em-filter-i18n.h:9
msgid "Date received"
msgstr "Date received"
-#: mail/em-filter-i18n.h:10
+#: ../mail/em-filter-i18n.h:10
msgid "Date sent"
msgstr "Date sent"
-#: mail/em-filter-i18n.h:12
+#: ../mail/em-filter-i18n.h:12
msgid "Deleted"
msgstr "Deleted"
-#: mail/em-filter-i18n.h:13
+#: ../mail/em-filter-i18n.h:13
msgid "does not contain"
msgstr "does not contain"
-#: mail/em-filter-i18n.h:14
+#: ../mail/em-filter-i18n.h:14
msgid "does not end with"
msgstr "does not end with"
-#: mail/em-filter-i18n.h:15
+#: ../mail/em-filter-i18n.h:15
msgid "does not exist"
msgstr "does not exist"
-#: mail/em-filter-i18n.h:16
+#: ../mail/em-filter-i18n.h:16
msgid "does not return"
msgstr "does not return"
-#: mail/em-filter-i18n.h:17
+#: ../mail/em-filter-i18n.h:17
msgid "does not sound like"
msgstr "does not sound like"
-#: mail/em-filter-i18n.h:18
+#: ../mail/em-filter-i18n.h:18
msgid "does not start with"
msgstr "does not start with"
-#: mail/em-filter-i18n.h:19
+#: ../mail/em-filter-i18n.h:19
msgid "Do Not Exist"
msgstr "Do Not Exist"
-#: mail/em-filter-i18n.h:20
+#: ../mail/em-filter-i18n.h:20
msgid "Draft"
msgstr "Draft"
-#: mail/em-filter-i18n.h:21
+#: ../mail/em-filter-i18n.h:21
msgid "ends with"
msgstr "ends with"
-#: mail/em-filter-i18n.h:22
+#: ../mail/em-filter-i18n.h:22
msgid "Exist"
msgstr "Exist"
-#: mail/em-filter-i18n.h:23
+#: ../mail/em-filter-i18n.h:23
msgid "exists"
msgstr "exists"
-#: mail/em-filter-i18n.h:24
+#: ../mail/em-filter-i18n.h:24
msgid "Expression"
msgstr "Expression"
-#: mail/em-filter-i18n.h:25
+#: ../mail/em-filter-i18n.h:25
msgid "Follow Up"
msgstr "Follow Up"
-#: mail/em-filter-i18n.h:27
+#: ../mail/em-filter-i18n.h:27
msgid "is"
msgstr "is"
-#: mail/em-filter-i18n.h:28
+#: ../mail/em-filter-i18n.h:28
msgid "is after"
msgstr "is after"
-#: mail/em-filter-i18n.h:29
+#: ../mail/em-filter-i18n.h:29
msgid "is before"
msgstr "is before"
-#: mail/em-filter-i18n.h:30
+#: ../mail/em-filter-i18n.h:30
msgid "is Flagged"
msgstr "is Flagged"
-#: mail/em-filter-i18n.h:31
+#: ../mail/em-filter-i18n.h:31
msgid "is greater than"
msgstr "is greater than"
-#: mail/em-filter-i18n.h:32
+#: ../mail/em-filter-i18n.h:32
msgid "is less than"
msgstr "is less than"
-#: mail/em-filter-i18n.h:33
+#: ../mail/em-filter-i18n.h:33
msgid "is not"
msgstr "is not"
-#: mail/em-filter-i18n.h:34
+#: ../mail/em-filter-i18n.h:34
msgid "is not Flagged"
msgstr "is not Flagged"
-#: mail/em-filter-i18n.h:35
-#: mail/mail-config.glade.h:92
-#: ui/evolution-mail-message.xml.h:48
+#: ../mail/em-filter-i18n.h:35
+#: ../mail/mail-config.glade.h:92
+#: ../ui/evolution-mail-message.xml.h:48
msgid "Junk"
msgstr "Junk"
-#: mail/em-filter-i18n.h:36
+#: ../mail/em-filter-i18n.h:36
msgid "Junk Test"
msgstr "Junk Test"
-#: mail/em-filter-i18n.h:37
-#: mail/em-folder-view.c:997
-#: widgets/misc/e-expander.c:189
+#: ../mail/em-filter-i18n.h:37
+#: ../mail/em-folder-view.c:992
+#: ../widgets/misc/e-expander.c:189
msgid "Label"
msgstr "Label"
-#: mail/em-filter-i18n.h:38
+#: ../mail/em-filter-i18n.h:38
msgid "Mailing list"
msgstr "Mailing list"
-#: mail/em-filter-i18n.h:39
+#: ../mail/em-filter-i18n.h:39
msgid "Match All"
msgstr "Match All"
-#: mail/em-filter-i18n.h:40
+#: ../mail/em-filter-i18n.h:40
msgid "Message Body"
msgstr "Message Body"
-#: mail/em-filter-i18n.h:41
+#: ../mail/em-filter-i18n.h:41
msgid "Message Header"
msgstr "Message Header"
-#: mail/em-filter-i18n.h:42
+#: ../mail/em-filter-i18n.h:42
msgid "Message is Junk"
msgstr "Message is Junk"
-#: mail/em-filter-i18n.h:43
+#: ../mail/em-filter-i18n.h:43
msgid "Message is not Junk"
msgstr "Message is not Junk"
-#: mail/em-filter-i18n.h:44
+#: ../mail/em-filter-i18n.h:44
msgid "Move to Folder"
msgstr "Move to Folder"
-#: mail/em-filter-i18n.h:45
+#: ../mail/em-filter-i18n.h:45
msgid "Pipe to Program"
msgstr "Pipe to Program"
-#: mail/em-filter-i18n.h:46
+#: ../mail/em-filter-i18n.h:46
msgid "Play Sound"
msgstr "Play Sound"
-#: mail/em-filter-i18n.h:47
-#: mail/message-tag-followup.c:80
+#: ../mail/em-filter-i18n.h:47
+#: ../mail/message-tag-followup.c:80
msgid "Read"
msgstr "Read"
-#: mail/em-filter-i18n.h:48
+#: ../mail/em-filter-i18n.h:48
msgid "Recipients"
msgstr "Recipients"
-#: mail/em-filter-i18n.h:49
+#: ../mail/em-filter-i18n.h:49
msgid "Regex Match"
msgstr "Regex Match"
-#: mail/em-filter-i18n.h:50
+#: ../mail/em-filter-i18n.h:50
msgid "Replied to"
msgstr "Replied to"
-#: mail/em-filter-i18n.h:51
+#: ../mail/em-filter-i18n.h:51
msgid "returns"
msgstr "returns"
-#: mail/em-filter-i18n.h:52
+#: ../mail/em-filter-i18n.h:52
msgid "returns greater than"
msgstr "returns greater than"
-#: mail/em-filter-i18n.h:53
+#: ../mail/em-filter-i18n.h:53
msgid "returns less than"
msgstr "returns less than"
-#: mail/em-filter-i18n.h:54
+#: ../mail/em-filter-i18n.h:54
msgid "Run Program"
msgstr "Run Program"
-#: mail/em-filter-i18n.h:55
-#: mail/message-list.etspec.h:10
+#: ../mail/em-filter-i18n.h:55
+#: ../mail/message-list.etspec.h:10
msgid "Score"
msgstr "Score"
-#: mail/em-filter-i18n.h:56
+#: ../mail/em-filter-i18n.h:56
msgid "Sender"
msgstr "Sender"
-#: mail/em-filter-i18n.h:57
+#: ../mail/em-filter-i18n.h:57
msgid "Set Status"
msgstr "Set Status"
-#: mail/em-filter-i18n.h:58
+#: ../mail/em-filter-i18n.h:58
msgid "Size (kB)"
msgstr "Size (kB)"
-#: mail/em-filter-i18n.h:59
+#: ../mail/em-filter-i18n.h:59
msgid "sounds like"
msgstr "sounds like"
-#: mail/em-filter-i18n.h:60
+#: ../mail/em-filter-i18n.h:60
msgid "Source Account"
msgstr "Source Account"
-#: mail/em-filter-i18n.h:61
+#: ../mail/em-filter-i18n.h:61
msgid "Specific header"
msgstr "Specific header"
-#: mail/em-filter-i18n.h:62
+#: ../mail/em-filter-i18n.h:62
msgid "starts with"
msgstr "starts with"
-#: mail/em-filter-i18n.h:64
+#: ../mail/em-filter-i18n.h:64
msgid "Stop Processing"
msgstr "Stop Processing"
-#: mail/em-filter-i18n.h:65
-#: mail/em-format-html.c:1533
-#: mail/em-format-quote.c:306
-#: mail/em-format.c:853
-#: mail/em-mailer-prefs.c:88
-#: mail/message-list.etspec.h:13
-#: mail/message-tag-followup.c:330
-#: plugins/shared-folder/properties.glade.h:7
-#: smime/lib/e-cert.c:1131
+#: ../mail/em-filter-i18n.h:65
+#: ../mail/em-format-html.c:1533
+#: ../mail/em-format-quote.c:306
+#: ../mail/em-format.c:853
+#: ../mail/em-mailer-prefs.c:88
+#: ../mail/message-list.etspec.h:13
+#: ../mail/message-tag-followup.c:330
+#: ../plugins/shared-folder/properties.glade.h:7
+#: ../smime/lib/e-cert.c:1131
msgid "Subject"
msgstr "Subject"
-#: mail/em-filter-i18n.h:66
+#: ../mail/em-filter-i18n.h:66
msgid "Unset Status"
msgstr "Unset Status"
#. and now for the action area
-#: mail/em-filter-rule.c:488
+#: ../mail/em-filter-rule.c:488
msgid "<b>Then</b>"
msgstr "<b>Then</b>"
-#: mail/em-folder-browser.c:133
+#: ../mail/em-folder-browser.c:133
msgid "Create _vFolder From Search..."
msgstr "Create _vFolder From Search..."
#. TODO: can this be done in a loop?
-#: mail/em-folder-properties.c:144
+#: ../mail/em-folder-properties.c:144
msgid "Total message:"
msgid_plural "Total messages:"
msgstr[0] "Total message:"
msgstr[1] "Total messages:"
-#: mail/em-folder-properties.c:156
+#: ../mail/em-folder-properties.c:156
msgid "Unread message:"
msgid_plural "Unread messages:"
msgstr[0] "Unread message:"
msgstr[1] "Unread messages:"
-#: mail/em-folder-properties.c:278
-#: plugins/shared-folder/properties.glade.h:3
+#: ../mail/em-folder-properties.c:278
+#: ../plugins/shared-folder/properties.glade.h:3
msgid "Folder Properties"
msgstr "Folder Properties"
-#: mail/em-folder-selection-button.c:123
+#: ../mail/em-folder-selection-button.c:123
msgid "<click here to select a folder>"
msgstr "<click here to select a folder>"
-#: mail/em-folder-selector.c:166
+#: ../mail/em-folder-selector.c:166
msgid "Create New Folder"
msgstr "Create New Folder"
-#: mail/em-folder-selector.c:166
-#: mail/em-folder-tree.c:2527
-#: mail/mail-component.c:739
-#: plugins/shared-folder/install-shared.c:144
-#: plugins/shared-folder/share-folder-common.c:345
+#: ../mail/em-folder-selector.c:166
+#: ../mail/em-folder-tree.c:2527
+#: ../mail/mail-component.c:770
+#: ../plugins/shared-folder/install-shared.c:144
+#: ../plugins/shared-folder/share-folder-common.c:345
msgid "Specify where to create the folder:"
msgstr "Specify where to create the folder:"
-#: mail/em-folder-selector.c:304
+#: ../mail/em-folder-selector.c:304
msgid "Create"
msgstr "Create"
-#: mail/em-folder-selector.c:308
+#: ../mail/em-folder-selector.c:308
msgid "Folder _name:"
msgstr "Folder _name:"
-#: mail/em-folder-tree-model.c:201
-#: mail/em-folder-tree-model.c:203
-#: mail/mail-vfolder.c:899
-#: mail/mail-vfolder.c:969
+#: ../mail/em-folder-tree-model.c:201
+#: ../mail/em-folder-tree-model.c:203
+#: ../mail/mail-vfolder.c:899
+#: ../mail/mail-vfolder.c:969
msgid "vFolders"
msgstr "vFolders"
#. UNMATCHED is always last
-#: mail/em-folder-tree-model.c:207
-#: mail/em-folder-tree-model.c:209
+#: ../mail/em-folder-tree-model.c:207
+#: ../mail/em-folder-tree-model.c:209
msgid "UNMATCHED"
msgstr "UNMATCHED"
-#: mail/em-folder-tree-model.c:468
-#: mail/mail-component.c:139
+#: ../mail/em-folder-tree-model.c:468
+#: ../mail/mail-component.c:142
msgid "Drafts"
msgstr "Drafts"
#. translators: standard local mailbox names
-#: mail/em-folder-tree-model.c:471
-#: mail/mail-component.c:138
+#: ../mail/em-folder-tree-model.c:471
+#: ../mail/mail-component.c:141
msgid "Inbox"
msgstr "Inbox"
-#: mail/em-folder-tree-model.c:474
-#: mail/mail-component.c:140
+#: ../mail/em-folder-tree-model.c:474
+#: ../mail/mail-component.c:143
msgid "Outbox"
msgstr "Outbox"
-#: mail/em-folder-tree-model.c:476
-#: mail/mail-component.c:141
+#: ../mail/em-folder-tree-model.c:476
+#: ../mail/mail-component.c:144
msgid "Sent"
msgstr "Sent"
-#: mail/em-folder-tree-model.c:495
-#: mail/em-folder-tree-model.c:799
+#: ../mail/em-folder-tree-model.c:495
+#: ../mail/em-folder-tree-model.c:799
msgid "Loading..."
msgstr "Loading..."
-#: mail/em-folder-tree.c:688
+#: ../mail/em-folder-tree.c:688
msgid "Mail Folder Tree"
msgstr "Mail Folder Tree"
-#: mail/em-folder-tree.c:921
+#: ../mail/em-folder-tree.c:921
#, c-format
msgid "Moving folder %s"
msgstr "Moving folder %s"
-#: mail/em-folder-tree.c:923
+#: ../mail/em-folder-tree.c:923
#, c-format
msgid "Copying folder %s"
msgstr "Copying folder %s"
-#: mail/em-folder-tree.c:930
-#: mail/message-list.c:1617
+#: ../mail/em-folder-tree.c:930
+#: ../mail/message-list.c:1612
#, c-format
msgid "Moving messages into folder %s"
msgstr "Moving messages into folder %s"
-#: mail/em-folder-tree.c:932
-#: mail/message-list.c:1619
+#: ../mail/em-folder-tree.c:932
+#: ../mail/message-list.c:1614
#, c-format
msgid "Copying messages into folder %s"
msgstr "Copying messages into folder %s"
-#: mail/em-folder-tree.c:948
+#: ../mail/em-folder-tree.c:948
msgid "Cannot drop message(s) into toplevel store"
msgstr "Cannot drop message(s) into toplevel store"
-#: mail/em-folder-tree.c:1044
-#: ui/evolution-mail-message.xml.h:106
+#: ../mail/em-folder-tree.c:1044
+#: ../ui/evolution-mail-message.xml.h:106
msgid "_Copy to Folder"
msgstr "_Copy to Folder"
-#: mail/em-folder-tree.c:1045
-#: ui/evolution-mail-message.xml.h:115
+#: ../mail/em-folder-tree.c:1045
+#: ../ui/evolution-mail-message.xml.h:115
msgid "_Move to Folder"
msgstr "_Move to Folder"
-#: mail/em-folder-tree.c:1750
-#: mail/mail-ops.c:1026
+#: ../mail/em-folder-tree.c:1750
+#: ../mail/mail-ops.c:1026
#, c-format
msgid "Scanning folders in \"%s\""
msgstr "Scanning folders in \"%s\""
-#: mail/em-folder-tree.c:2023
+#: ../mail/em-folder-tree.c:2023
#, c-format
msgid "Copying `%s' to `%s'"
msgstr "Copying `%s' to `%s'"
-#: mail/em-folder-tree.c:2297
-#: mail/em-folder-tree.c:2311
-#: mail/em-folder-view.c:860
-#: mail/em-folder-view.c:875
-#: mail/importers/evolution-mbox-importer.c:120
-#: mail/importers/evolution-outlook-importer.c:134
+#: ../mail/em-folder-tree.c:2297
+#: ../mail/em-folder-tree.c:2311
+#: ../mail/em-folder-view.c:862
+#: ../mail/em-folder-view.c:877
+#: ../mail/importers/evolution-mbox-importer.c:120
+#: ../mail/importers/evolution-outlook-importer.c:134
msgid "Select folder"
msgstr "Select folder"
-#: mail/em-folder-tree.c:2297
-#: mail/em-folder-view.c:875
+#: ../mail/em-folder-tree.c:2297
+#: ../mail/em-folder-view.c:877
msgid "C_opy"
msgstr "C_opy"
-#: mail/em-folder-tree.c:2338
-#: plugins/shared-folder/share-folder-common.c:138
+#: ../mail/em-folder-tree.c:2338
+#: ../plugins/shared-folder/share-folder-common.c:138
#, c-format
msgid "Creating folder `%s'"
msgstr "Creating folder `%s'"
-#: mail/em-folder-tree.c:2527
-#: mail/mail-component.c:739
-#: plugins/shared-folder/install-shared.c:144
-#: plugins/shared-folder/share-folder-common.c:345
+#: ../mail/em-folder-tree.c:2527
+#: ../mail/mail-component.c:770
+#: ../plugins/shared-folder/install-shared.c:144
+#: ../plugins/shared-folder/share-folder-common.c:345
msgid "Create folder"
msgstr "Create folder"
-#: mail/em-folder-tree.c:2720
+#: ../mail/em-folder-tree.c:2720
#, c-format
msgid "Rename the \"%s\" folder to:"
msgstr "Rename the \"%s\" folder to:"
-#: mail/em-folder-tree.c:2722
+#: ../mail/em-folder-tree.c:2722
msgid "Rename Folder"
msgstr "Rename Folder"
-#: mail/em-folder-tree.c:2728
+#: ../mail/em-folder-tree.c:2728
msgid "Folder names cannot contain '/'"
msgstr "Folder names cannot contain '/'"
-#: mail/em-folder-tree.c:2802
-#: ui/evolution-addressbook.xml.h:44
-#: ui/evolution-mail-global.xml.h:17
-#: ui/evolution-mail-messagedisplay.xml.h:8
-#: ui/evolution-message-composer.xml.h:53
-#: ui/evolution.xml.h:49
+#: ../mail/em-folder-tree.c:2802
+#: ../ui/evolution-addressbook.xml.h:44
+#: ../ui/evolution-mail-global.xml.h:17
+#: ../ui/evolution-mail-messagedisplay.xml.h:8
+#: ../ui/evolution-message-composer.xml.h:53
+#: ../ui/evolution.xml.h:49
msgid "_View"
msgstr "_View"
-#: mail/em-folder-tree.c:2803
+#: ../mail/em-folder-tree.c:2803
msgid "Open in _New Window"
msgstr "Open in _New Window"
-#: mail/em-folder-tree.c:2807
+#: ../mail/em-folder-tree.c:2807
msgid "_Copy..."
msgstr "_Copy..."
-#: mail/em-folder-tree.c:2808
+#: ../mail/em-folder-tree.c:2808
msgid "_Move..."
msgstr "_Move..."
#. FIXME: need to disable for nochildren folders
-#: mail/em-folder-tree.c:2812
+#: ../mail/em-folder-tree.c:2812
msgid "_New Folder..."
msgstr "_New Folder..."
-#: mail/em-folder-tree.c:2815
+#: ../mail/em-folder-tree.c:2815
msgid "_Rename..."
msgstr "_Rename..."
-#: mail/em-folder-view.c:965
-#: ui/evolution-mail-message.xml.h:109
-msgid "_Edit as New Message..."
-msgstr "_Edit as New Message..."
-
-#: mail/em-folder-view.c:967
-msgid "_Print"
-msgstr "_Print"
+#: ../mail/em-folder-view.c:970
+#: ../mail/em-popup.c:499
+#: ../ui/evolution-mail-message.xml.h:87
+msgid "Reply to _All"
+msgstr "Reply to _All"
-#: mail/em-folder-view.c:970
-#: ui/evolution-mail-message.xml.h:123
+#: ../mail/em-folder-view.c:971
+#: ../ui/evolution-mail-message.xml.h:123
msgid "_Reply to Sender"
msgstr "_Reply to Sender"
-#: mail/em-folder-view.c:971
-#: mail/em-popup.c:497
-#: ui/evolution-mail-message.xml.h:88
-msgid "Reply to _List"
-msgstr "Reply to _List"
-
-#: mail/em-folder-view.c:972
-#: mail/em-popup.c:498
-#: ui/evolution-mail-message.xml.h:87
-msgid "Reply to _All"
-msgstr "Reply to _All"
-
-#: mail/em-folder-view.c:973
-#: mail/em-popup.c:500
-#: ui/evolution-mail-message.xml.h:110
+#: ../mail/em-folder-view.c:972
+#: ../mail/em-popup.c:501
+#: ../ui/evolution-mail-message.xml.h:110
msgid "_Forward"
msgstr "_Forward"
-#: mail/em-folder-view.c:976
-msgid "Follo_w Up..."
-msgstr "Follo_w Up..."
+#: ../mail/em-folder-view.c:975
+#: ../ui/evolution-mail-message.xml.h:109
+msgid "_Edit as New Message..."
+msgstr "_Edit as New Message..."
-#: mail/em-folder-view.c:977
-msgid "Fla_g Completed"
-msgstr "Fla_g Completed"
+#: ../mail/em-folder-view.c:977
+msgid "_Print"
+msgstr "_Print"
-#: mail/em-folder-view.c:978
-msgid "Cl_ear Flag"
-msgstr "Cl_ear Flag"
+#: ../mail/em-folder-view.c:981
+msgid "U_ndelete"
+msgstr "U_ndelete"
-#: mail/em-folder-view.c:981
-#: ui/evolution-mail-message.xml.h:50
-msgid "Mar_k as Read"
-msgstr "Mar_k as Read"
+#: ../mail/em-folder-view.c:982
+msgid "Mo_ve to Folder..."
+msgstr "Mo_ve to Folder..."
-#: mail/em-folder-view.c:982
-msgid "Mark as _Unread"
-msgstr "Mark as _Unread"
+#: ../mail/em-folder-view.c:983
+#: ../ui/evolution-addressbook.xml.h:32
+msgid "_Copy to Folder..."
+msgstr "_Copy to Folder..."
-#: mail/em-folder-view.c:983
+#: ../mail/em-folder-view.c:986
msgid "Mark as _Important"
msgstr "Mark as _Important"
-#: mail/em-folder-view.c:984
+#: ../mail/em-folder-view.c:987
msgid "_Mark as Unimportant"
msgstr "_Mark as Unimportant"
-#: mail/em-folder-view.c:985
-#: ui/evolution-mail-message.xml.h:54
+#: ../mail/em-folder-view.c:988
+#: ../ui/evolution-mail-message.xml.h:54
msgid "Mark as _Junk"
msgstr "Mark as _Junk"
-#: mail/em-folder-view.c:986
-#: ui/evolution-mail-message.xml.h:55
+#: ../mail/em-folder-view.c:989
+#: ../ui/evolution-mail-message.xml.h:55
msgid "Mark as _Not Junk"
msgstr "Mark as _Not Junk"
-#: mail/em-folder-view.c:990
-msgid "U_ndelete"
-msgstr "U_ndelete"
+#: ../mail/em-folder-view.c:990
+msgid "Mark for Follo_w Up..."
+msgstr "Mark for Follo_w Up..."
-#: mail/em-folder-view.c:993
-msgid "Mo_ve to Folder..."
-msgstr "Mo_ve to Folder..."
-
-#: mail/em-folder-view.c:994
-#: ui/evolution-addressbook.xml.h:32
-msgid "_Copy to Folder..."
-msgstr "_Copy to Folder..."
-
-#: mail/em-folder-view.c:1002
-msgid "Add Sender to Address_book"
-msgstr "Add Sender to Address_book"
-
-#: mail/em-folder-view.c:1005
-msgid "Appl_y Filters"
-msgstr "Appl_y Filters"
+#: ../mail/em-folder-view.c:998
+msgid "Fla_g Completed"
+msgstr "Fla_g Completed"
-#: mail/em-folder-view.c:1006
-msgid "F_ilter Junk"
-msgstr "F_ilter Junk"
+#: ../mail/em-folder-view.c:999
+msgid "Cl_ear Flag"
+msgstr "Cl_ear Flag"
-#: mail/em-folder-view.c:1009
+#: ../mail/em-folder-view.c:1002
msgid "Crea_te Rule From Message"
msgstr "Crea_te Rule From Message"
-#: mail/em-folder-view.c:1010
+#: ../mail/em-folder-view.c:1003
msgid "vFolder on _Subject"
msgstr "vFolder on _Subject"
-#: mail/em-folder-view.c:1011
+#: ../mail/em-folder-view.c:1004
msgid "vFolder on Se_nder"
msgstr "vFolder on Se_nder"
-#: mail/em-folder-view.c:1012
+#: ../mail/em-folder-view.c:1005
msgid "vFolder on _Recipients"
msgstr "vFolder on _Recipients"
-#: mail/em-folder-view.c:1013
+#: ../mail/em-folder-view.c:1006
msgid "vFolder on Mailing _List"
msgstr "vFolder on Mailing _List"
-#: mail/em-folder-view.c:1017
+#: ../mail/em-folder-view.c:1010
msgid "Filter on Sub_ject"
msgstr "Filter on Sub_ject"
-#: mail/em-folder-view.c:1018
+#: ../mail/em-folder-view.c:1011
msgid "Filter on Sen_der"
msgstr "Filter on Sen_der"
-#: mail/em-folder-view.c:1019
+#: ../mail/em-folder-view.c:1012
msgid "Filter on Re_cipients"
msgstr "Filter on Re_cipients"
-#: mail/em-folder-view.c:1020
+#: ../mail/em-folder-view.c:1013
msgid "Filter on _Mailing List"
msgstr "Filter on _Mailing List"
#. default charset used in mail view
-#: mail/em-folder-view.c:1797
-#: mail/em-folder-view.c:1841
+#: ../mail/em-folder-view.c:1844
+#: ../mail/em-folder-view.c:1888
msgid "Default"
msgstr "Default"
-#: mail/em-folder-view.c:1940
+#: ../mail/em-folder-view.c:1987
msgid "Print Message"
msgstr "Print Message"
-#: mail/em-folder-view.c:2229
+#: ../mail/em-folder-view.c:2295
msgid "_Copy Link Location"
msgstr "_Copy Link Location"
-#: mail/em-folder-view.c:2515
+#: ../mail/em-folder-view.c:2297
+msgid "Create _vFolder"
+msgstr "Create _vFolder"
+
+#: ../mail/em-folder-view.c:2298
+msgid "_From this Address"
+msgstr "_From this Address"
+
+#: ../mail/em-folder-view.c:2299
+msgid "_To this Address"
+msgstr "_To this Address"
+
+#: ../mail/em-folder-view.c:2568
#, c-format
msgid "Click to mail %s"
msgstr "Click to mail %s"
#. message-search popup match count string
-#: mail/em-format-html-display.c:412
+#: ../mail/em-format-html-display.c:412
#, c-format
msgid "Matches: %d"
msgstr "Matches: %d"
-#: mail/em-format-html-display.c:680
-#: mail/em-format-html.c:579
+#: ../mail/em-format-html-display.c:680
+#: ../mail/em-format-html.c:579
msgid "Unsigned"
msgstr "Unsigned"
-#: mail/em-format-html-display.c:680
+#: ../mail/em-format-html-display.c:680
msgid "This message is not signed. There is no guarantee that this message is authentic."
msgstr "This message is not signed. There is no guarantee that this message is authentic."
-#: mail/em-format-html-display.c:681
-#: mail/em-format-html.c:580
+#: ../mail/em-format-html-display.c:681
+#: ../mail/em-format-html.c:580
msgid "Valid signature"
msgstr "Valid signature"
-#: mail/em-format-html-display.c:681
+#: ../mail/em-format-html-display.c:681
msgid "This message is signed and is valid meaning that it is very likely that this message is authentic."
msgstr "This message is signed and is valid meaning that it is very likely that this message is authentic."
-#: mail/em-format-html-display.c:682
-#: mail/em-format-html.c:581
+#: ../mail/em-format-html-display.c:682
+#: ../mail/em-format-html.c:581
msgid "Invalid signature"
msgstr "Invalid signature"
-#: mail/em-format-html-display.c:682
+#: ../mail/em-format-html-display.c:682
msgid "The signature of this message cannot be verified, it may have been altered in transit."
msgstr "The signature of this message cannot be verified, it may have been altered in transit."
-#: mail/em-format-html-display.c:683
+#: ../mail/em-format-html-display.c:683
msgid "Valid signature, cannot verify sender"
msgstr "Valid signature, cannot verify sender"
-#: mail/em-format-html-display.c:683
+#: ../mail/em-format-html-display.c:683
msgid "This message is signed with a valid signature, but the sender of the message cannot be verified."
msgstr "This message is signed with a valid signature, but the sender of the message cannot be verified."
-#: mail/em-format-html-display.c:689
-#: mail/em-format-html.c:588
+#: ../mail/em-format-html-display.c:689
+#: ../mail/em-format-html.c:588
msgid "Unencrypted"
msgstr "Unencrypted"
-#: mail/em-format-html-display.c:689
+#: ../mail/em-format-html-display.c:689
msgid "This message is not encrypted. Its content may be viewed in transit across the Internet."
msgstr "This message is not encrypted. Its content may be viewed in transit across the Internet."
-#: mail/em-format-html-display.c:690
-#: mail/em-format-html.c:589
+#: ../mail/em-format-html-display.c:690
+#: ../mail/em-format-html.c:589
msgid "Encrypted, weak"
msgstr "Encrypted, weak"
-#: mail/em-format-html-display.c:690
+#: ../mail/em-format-html-display.c:690
msgid "This message is encrypted, but with a weak encryption algorithm. It would be difficult, but not impossible for an outsider to view the content of this message in a practical amount of time."
msgstr "This message is encrypted, but with a weak encryption algorithm. It would be difficult, but not impossible for an outsider to view the content of this message in a practical amount of time."
-#: mail/em-format-html-display.c:691
-#: mail/em-format-html.c:590
+#: ../mail/em-format-html-display.c:691
+#: ../mail/em-format-html.c:590
msgid "Encrypted"
msgstr "Encrypted"
-#: mail/em-format-html-display.c:691
+#: ../mail/em-format-html-display.c:691
msgid "This message is encrypted. It would be difficult for an outsider to view the content of this message."
msgstr "This message is encrypted. It would be difficult for an outsider to view the content of this message."
-#: mail/em-format-html-display.c:692
-#: mail/em-format-html.c:591
+#: ../mail/em-format-html-display.c:692
+#: ../mail/em-format-html.c:591
msgid "Encrypted, strong"
msgstr "Encrypted, strong"
-#: mail/em-format-html-display.c:692
+#: ../mail/em-format-html-display.c:692
msgid "This message is encrypted, with a strong encryption algorithm. It would be very difficult for an outsider to view the content of this message in a practical amount of time."
msgstr "This message is encrypted, with a strong encryption algorithm. It would be very difficult for an outsider to view the content of this message in a practical amount of time."
-#: mail/em-format-html-display.c:793
-#: smime/gui/smime-ui.glade.h:47
+#: ../mail/em-format-html-display.c:793
+#: ../smime/gui/smime-ui.glade.h:47
msgid "_View Certificate"
msgstr "_View Certificate"
-#: mail/em-format-html-display.c:808
+#: ../mail/em-format-html-display.c:808
msgid "This certificate is not viewable"
msgstr "This certificate is not viewable"
-#: mail/em-format-html-display.c:1037
+#: ../mail/em-format-html-display.c:1037
msgid "Completed on %B %d, %Y, %l:%M %p"
msgstr "Completed on %d %B, %Y, %l:%M %p"
-#: mail/em-format-html-display.c:1045
+#: ../mail/em-format-html-display.c:1045
msgid "Overdue:"
msgstr "Overdue:"
-#: mail/em-format-html-display.c:1048
+#: ../mail/em-format-html-display.c:1048
msgid "by %B %d, %Y, %l:%M %p"
msgstr "by %d %B, %Y, %l:%M %p"
-#: mail/em-format-html-display.c:1095
+#: ../mail/em-format-html-display.c:1095
msgid "_View Inline"
msgstr "_View Inline"
-#: mail/em-format-html-display.c:1096
+#: ../mail/em-format-html-display.c:1096
msgid "_Hide"
msgstr "_Hide"
-#: mail/em-format-html-display.c:1340
+#: ../mail/em-format-html-display.c:1340
msgid "Attachment Button"
msgstr "Attachment Button"
-#: mail/em-format-html-print.c:130
+#: ../mail/em-format-html-print.c:130
#, c-format
msgid "Page %d of %d"
msgstr "Page %d of %d"
-#: mail/em-format-html.c:472
-#: mail/em-format-html.c:474
+#: ../mail/em-format-html.c:472
+#: ../mail/em-format-html.c:474
#, c-format
msgid "Retrieving `%s'"
msgstr "Retrieving `%s'"
-#: mail/em-format-html.c:582
+#: ../mail/em-format-html.c:582
msgid "Valid signature but cannot verify sender"
msgstr "Valid signature but cannot verify sender"
-#: mail/em-format-html.c:840
+#: ../mail/em-format-html.c:840
msgid "Malformed external-body part."
msgstr "Malformed external-body part."
-#: mail/em-format-html.c:870
+#: ../mail/em-format-html.c:870
#, c-format
msgid "Pointer to FTP site (%s)"
msgstr "Pointer to FTP site (%s)"
-#: mail/em-format-html.c:881
+#: ../mail/em-format-html.c:881
#, c-format
msgid "Pointer to local file (%s) valid at site \"%s\""
msgstr "Pointer to local file (%s) valid at site \"%s\""
-#: mail/em-format-html.c:883
+#: ../mail/em-format-html.c:883
#, c-format
msgid "Pointer to local file (%s)"
msgstr "Pointer to local file (%s)"
-#: mail/em-format-html.c:904
+#: ../mail/em-format-html.c:904
#, c-format
msgid "Pointer to remote data (%s)"
msgstr "Pointer to remote data (%s)"
-#: mail/em-format-html.c:915
+#: ../mail/em-format-html.c:915
#, c-format
msgid "Pointer to unknown external data (\"%s\" type)"
msgstr "Pointer to unknown external data (\"%s\" type)"
-#: mail/em-format-html.c:1137
+#: ../mail/em-format-html.c:1137
msgid "Formatting message"
msgstr "Formatting message"
-#: mail/em-format-html.c:1424
-#: mail/em-format-quote.c:193
-#: mail/em-format.c:848
-#: mail/em-mailer-prefs.c:83
-#: mail/message-list.etspec.h:7
-#: mail/message-tag-followup.c:326
+#: ../mail/em-format-html.c:1424
+#: ../mail/em-format-quote.c:193
+#: ../mail/em-format.c:848
+#: ../mail/em-mailer-prefs.c:83
+#: ../mail/message-list.etspec.h:7
+#: ../mail/message-tag-followup.c:326
msgid "From"
msgstr "From"
-#: mail/em-format-html.c:1424
-#: mail/em-format-quote.c:193
-#: mail/em-format.c:849
-#: mail/em-mailer-prefs.c:84
+#: ../mail/em-format-html.c:1424
+#: ../mail/em-format-quote.c:193
+#: ../mail/em-format.c:849
+#: ../mail/em-mailer-prefs.c:84
msgid "Reply-To"
msgstr "Reply-To"
-#: mail/em-format-html.c:1424
-#: mail/em-format-quote.c:193
-#: mail/em-format.c:850
-#: mail/em-mailer-prefs.c:85
-#: mail/message-list.etspec.h:14
+#: ../mail/em-format-html.c:1424
+#: ../mail/em-format-quote.c:193
+#: ../mail/em-format.c:850
+#: ../mail/em-mailer-prefs.c:85
+#: ../mail/message-list.etspec.h:14
msgid "To"
msgstr "To"
-#: mail/em-format-html.c:1424
-#: mail/em-format-quote.c:193
-#: mail/em-format.c:851
-#: mail/em-mailer-prefs.c:86
+#: ../mail/em-format-html.c:1424
+#: ../mail/em-format-quote.c:193
+#: ../mail/em-format.c:851
+#: ../mail/em-mailer-prefs.c:86
msgid "Cc"
msgstr "Cc"
-#: mail/em-format-html.c:1424
-#: mail/em-format-quote.c:193
-#: mail/em-format.c:852
-#: mail/em-mailer-prefs.c:87
+#: ../mail/em-format-html.c:1424
+#: ../mail/em-format-quote.c:193
+#: ../mail/em-format.c:852
+#: ../mail/em-mailer-prefs.c:87
msgid "Bcc"
msgstr "Bcc"
#. pseudo-header
-#: mail/em-format-html.c:1537
-#: mail/em-format-quote.c:315
-#: mail/em-mailer-prefs.c:986
+#: ../mail/em-format-html.c:1537
+#: ../mail/em-format-quote.c:315
+#: ../mail/em-mailer-prefs.c:986
msgid "Mailer"
msgstr "Mailer"
#. translators: strftime format for local time equivalent in Date header display, with day
-#: mail/em-format-html.c:1564
+#: ../mail/em-format-html.c:1564
msgid "<I> (%a, %R %Z)</I>"
msgstr "<I> (%a, %R %Z)</I>"
#. translators: strftime format for local time equivalent in Date header display, without day
-#: mail/em-format-html.c:1567
+#: ../mail/em-format-html.c:1567
msgid "<I> (%R %Z)</I>"
msgstr "<I> (%R %Z)</I>"
-#: mail/em-format-html.c:1577
-#: mail/em-format-quote.c:322
-#: mail/em-format.c:854
-#: mail/em-mailer-prefs.c:89
-#: mail/message-list.etspec.h:2
+#: ../mail/em-format-html.c:1577
+#: ../mail/em-format-quote.c:322
+#: ../mail/em-format.c:854
+#: ../mail/em-mailer-prefs.c:89
+#: ../mail/message-list.etspec.h:2
msgid "Date"
msgstr "Date"
-#: mail/em-format-html.c:1600
-#: mail/em-format.c:855
-#: mail/em-mailer-prefs.c:90
+#: ../mail/em-format-html.c:1600
+#: ../mail/em-format.c:855
+#: ../mail/em-mailer-prefs.c:90
msgid "Newsgroups"
msgstr "Newsgroups"
-#: mail/em-format.c:1104
+#: ../mail/em-format.c:1104
#, c-format
msgid "%s attachment"
msgstr "%s attachment"
-#: mail/em-format.c:1143
-#: mail/em-format.c:1276
+#: ../mail/em-format.c:1143
+#: ../mail/em-format.c:1276
msgid "Could not parse S/MIME message: Unknown error"
msgstr "Could not parse S/MIME message: Unknown error"
-#: mail/em-format.c:1266
+#: ../mail/em-format.c:1266
msgid "Unsupported encryption type for multipart/encrypted"
msgstr "Unsupported encryption type for multipart/encrypted"
-#: mail/em-format.c:1414
+#: ../mail/em-format.c:1414
msgid "Could not parse MIME message. Displaying as source."
msgstr "Could not parse MIME message. Displaying as source."
-#: mail/em-format.c:1433
+#: ../mail/em-format.c:1433
msgid "Unsupported signature format"
msgstr "Unsupported signature format"
-#: mail/em-format.c:1441
+#: ../mail/em-format.c:1441
msgid "Error verifying signature"
msgstr "Error verifying signature"
-#: mail/em-format.c:1441
+#: ../mail/em-format.c:1441
msgid "Unknown error verifying signature"
msgstr "Unknown error verifying signature"
-#: mail/em-junk-filter.c:110
+#: ../mail/em-junk-filter.c:111
msgid "Spamassassin (built-in)"
msgstr "Spamassassin (built-in)"
-#: mail/em-mailer-prefs.c:101
+#: ../mail/em-mailer-prefs.c:101
msgid "Every time"
msgstr "Every time"
-#: mail/em-mailer-prefs.c:102
+#: ../mail/em-mailer-prefs.c:102
msgid "Once per day"
msgstr "Once per day"
-#: mail/em-mailer-prefs.c:103
+#: ../mail/em-mailer-prefs.c:103
msgid "Once per week"
msgstr "Once per week"
-#: mail/em-mailer-prefs.c:104
+#: ../mail/em-mailer-prefs.c:104
msgid "Once per month"
msgstr "Once per month"
-#: mail/em-migrate.c:1168
+#: ../mail/em-migrate.c:1198
msgid ""
"The location and hierarchy of the Evolution mailbox folders has changed since Evolution 1.x.\n"
"\n"
@@ -11141,633 +11201,638 @@ msgstr ""
"\n"
"Please be patient while Evolution migrates your folders..."
-#: mail/em-migrate.c:1602
+#: ../mail/em-migrate.c:1632
#, c-format
msgid "Unable to create new folder `%s': %s"
msgstr "Unable to create new folder `%s': %s"
-#: mail/em-migrate.c:1628
+#: ../mail/em-migrate.c:1658
#, c-format
msgid "Unable to copy folder `%s' to `%s': %s"
msgstr "Unable to copy folder `%s' to `%s': %s"
-#: mail/em-migrate.c:1813
+#: ../mail/em-migrate.c:1843
#, c-format
msgid "Unable to scan for existing mailboxes at `%s': %s"
msgstr "Unable to scan for existing mailboxes at `%s': %s"
-#: mail/em-migrate.c:2017
+#: ../mail/em-migrate.c:2047
#, c-format
msgid "Unable to open old POP keep-on-server data `%s': %s"
msgstr "Unable to open old POP keep-on-server data `%s': %s"
-#: mail/em-migrate.c:2031
+#: ../mail/em-migrate.c:2061
#, c-format
msgid "Unable to create POP3 keep-on-server data directory `%s': %s"
msgstr "Unable to create POP3 keep-on-server data directory `%s': %s"
-#: mail/em-migrate.c:2060
+#: ../mail/em-migrate.c:2090
#, c-format
msgid "Unable to copy POP3 keep-on-server data `%s': %s"
msgstr "Unable to copy POP3 keep-on-server data `%s': %s"
-#: mail/em-migrate.c:2494
-#: mail/em-migrate.c:2506
+#: ../mail/em-migrate.c:2561
+#: ../mail/em-migrate.c:2573
#, c-format
msgid "Failed to create local mail storage `%s': %s"
msgstr "Failed to create local mail storage `%s': %s"
-#: mail/em-migrate.c:2657
+#: ../mail/em-migrate.c:2693
#, c-format
msgid "Unable to create local mail folders at `%s': %s"
msgstr "Unable to create local mail folders at `%s': %s"
-#: mail/em-migrate.c:2675
+#: ../mail/em-migrate.c:2711
msgid "Unable to read settings from previous Evolution install, `evolution/config.xmldb' does not exist or is corrupt."
msgstr "Unable to read settings from previous Evolution install, `evolution/config.xmldb' does not exist or is corrupt."
-#: mail/em-popup.c:381
+#: ../mail/em-popup.c:382
msgid "Save As..."
msgstr "Save As..."
-#: mail/em-popup.c:400
+#: ../mail/em-popup.c:401
#, c-format
msgid "untitled_image.%s"
msgstr "untitled_image.%s"
-#: mail/em-popup.c:494
+#: ../mail/em-popup.c:495
msgid "Set as _Background"
msgstr "Set as _Background"
-#: mail/em-popup.c:496
+#: ../mail/em-popup.c:497
msgid "_Reply to sender"
msgstr "_Reply to sender"
-#: mail/em-popup.c:548
+#: ../mail/em-popup.c:498
+#: ../ui/evolution-mail-message.xml.h:88
+msgid "Reply to _List"
+msgstr "Reply to _List"
+
+#: ../mail/em-popup.c:549
msgid "_Open Link in Browser"
msgstr "_Open Link in Browser"
-#: mail/em-popup.c:549
-msgid "Se_nd message to..."
-msgstr "Se_nd message to..."
+#: ../mail/em-popup.c:550
+msgid "_Send New Message To..."
+msgstr "_Send New Message To..."
-#: mail/em-popup.c:550
+#: ../mail/em-popup.c:551
msgid "_Add to Addressbook"
msgstr "_Add to Addressbook"
-#: mail/em-popup.c:681
+#: ../mail/em-popup.c:666
#, c-format
msgid "Open in %s..."
msgstr "Open in %s..."
-#: mail/em-subscribe-editor.c:611
+#: ../mail/em-subscribe-editor.c:611
msgid "This store does not support subscriptions, or they are not enabled."
msgstr "This store does not support subscriptions, or they are not enabled."
-#: mail/em-subscribe-editor.c:640
+#: ../mail/em-subscribe-editor.c:640
msgid "Subscribed"
msgstr "Subscribed"
-#: mail/em-subscribe-editor.c:644
+#: ../mail/em-subscribe-editor.c:644
msgid "Folder"
msgstr "Folder"
#. FIXME: This is just to get the shadow, is there a better way?
-#: mail/em-subscribe-editor.c:859
+#: ../mail/em-subscribe-editor.c:859
msgid "Please select a server."
msgstr "Please select a server."
-#: mail/em-subscribe-editor.c:880
+#: ../mail/em-subscribe-editor.c:880
msgid "No server has been selected"
msgstr "No server has been selected"
-#: mail/em-utils.c:105
+#: ../mail/em-utils.c:105
msgid "Don't show this message again."
msgstr "Don't show this message again."
-#: mail/em-utils.c:294
+#: ../mail/em-utils.c:294
msgid "Filters"
msgstr "Filters"
-#: mail/em-utils.c:434
+#: ../mail/em-utils.c:434
msgid "message"
msgstr "message"
-#: mail/em-utils.c:543
+#: ../mail/em-utils.c:543
msgid "Save Message..."
msgstr "Save Message..."
-#: mail/em-utils.c:592
+#: ../mail/em-utils.c:592
msgid "Add address"
msgstr "Add address"
#. Drop filename for messages from a mailbox
-#: mail/em-utils.c:1055
+#: ../mail/em-utils.c:1071
#, c-format
msgid "Messages from %s"
msgstr "Messages from %s"
-#: mail/em-vfolder-editor.c:104
+#: ../mail/em-vfolder-editor.c:104
msgid "v_Folders"
msgstr "v_Folders"
-#: mail/em-vfolder-rule.c:574
+#: ../mail/em-vfolder-rule.c:574
msgid "vFolder source"
msgstr "vFolder source"
-#: mail/evolution-mail.schemas.in.in.h:1
+#: ../mail/evolution-mail.schemas.in.in.h:1
msgid "Automatic link recognition"
msgstr "Automatic link recognition"
-#: mail/evolution-mail.schemas.in.in.h:2
+#: ../mail/evolution-mail.schemas.in.in.h:2
msgid "Automatic smiley recognition"
msgstr "Automatic smiley recognition"
-#: mail/evolution-mail.schemas.in.in.h:3
+#: ../mail/evolution-mail.schemas.in.in.h:3
msgid "Check incoming mail being junk"
msgstr "Check incoming mail being junk"
-#: mail/evolution-mail.schemas.in.in.h:4
+#: ../mail/evolution-mail.schemas.in.in.h:4
msgid "Citation highlight color"
msgstr "Citation highlight colour"
-#: mail/evolution-mail.schemas.in.in.h:5
+#: ../mail/evolution-mail.schemas.in.in.h:5
msgid "Citation highlight color."
msgstr "Citation highlight colour."
-#: mail/evolution-mail.schemas.in.in.h:6
+#: ../mail/evolution-mail.schemas.in.in.h:6
msgid "Composer Window default height"
msgstr "Composer Window default height"
-#: mail/evolution-mail.schemas.in.in.h:7
+#: ../mail/evolution-mail.schemas.in.in.h:7
msgid "Composer Window default width"
msgstr "Composer Window default width"
-#: mail/evolution-mail.schemas.in.in.h:8
+#: ../mail/evolution-mail.schemas.in.in.h:8
msgid "Default charset in which to compose messages"
msgstr "Default charset in which to compose messages"
-#: mail/evolution-mail.schemas.in.in.h:9
+#: ../mail/evolution-mail.schemas.in.in.h:9
msgid "Default charset in which to compose messages."
msgstr "Default charset in which to compose messages."
-#: mail/evolution-mail.schemas.in.in.h:10
+#: ../mail/evolution-mail.schemas.in.in.h:10
msgid "Default charset in which to display messages"
msgstr "Default charset in which to display messages"
-#: mail/evolution-mail.schemas.in.in.h:11
+#: ../mail/evolution-mail.schemas.in.in.h:11
msgid "Default charset in which to display messages."
msgstr "Default charset in which to display messages."
-#: mail/evolution-mail.schemas.in.in.h:12
+#: ../mail/evolution-mail.schemas.in.in.h:12
msgid "Default forward style"
msgstr "Default forward style"
-#: mail/evolution-mail.schemas.in.in.h:13
+#: ../mail/evolution-mail.schemas.in.in.h:13
msgid "Default height of the Composer Window"
msgstr "Default height of the Composer Window"
-#: mail/evolution-mail.schemas.in.in.h:14
+#: ../mail/evolution-mail.schemas.in.in.h:14
msgid "Default height of the Message Window"
msgstr "Default height of the Message Window"
-#: mail/evolution-mail.schemas.in.in.h:15
+#: ../mail/evolution-mail.schemas.in.in.h:15
msgid "Default height of the Subscribe dialog"
msgstr "Default height of the Subscribe dialogue"
-#: mail/evolution-mail.schemas.in.in.h:16
+#: ../mail/evolution-mail.schemas.in.in.h:16
msgid "Default reply style"
msgstr "Default reply style"
-#: mail/evolution-mail.schemas.in.in.h:17
+#: ../mail/evolution-mail.schemas.in.in.h:17
msgid "Default width of the Composer Window"
msgstr "Default width of the Composer Window"
-#: mail/evolution-mail.schemas.in.in.h:18
+#: ../mail/evolution-mail.schemas.in.in.h:18
msgid "Default width of the Message Window"
msgstr "Default width of the Message Window"
-#: mail/evolution-mail.schemas.in.in.h:19
+#: ../mail/evolution-mail.schemas.in.in.h:19
msgid "Default width of the Subscribe dialog"
msgstr "Default width of the Subscribe dialogue"
-#: mail/evolution-mail.schemas.in.in.h:20
+#: ../mail/evolution-mail.schemas.in.in.h:20
msgid "Draw spelling error indicators on words as you type."
msgstr "Draw spelling error indicators on words as you type."
-#: mail/evolution-mail.schemas.in.in.h:21
+#: ../mail/evolution-mail.schemas.in.in.h:21
msgid "Empty Trash folders on exit"
msgstr "Empty Trash folders on exit"
-#: mail/evolution-mail.schemas.in.in.h:22
+#: ../mail/evolution-mail.schemas.in.in.h:22
msgid "Empty all Trash folders when exiting Evolution."
msgstr "Empty all Trash folders when exiting Evolution."
-#: mail/evolution-mail.schemas.in.in.h:23
+#: ../mail/evolution-mail.schemas.in.in.h:23
msgid "Enable caret mode, so that you can see a cursor when reading mail."
msgstr "Enable caret mode, so that you can see a cursor when reading mail."
-#: mail/evolution-mail.schemas.in.in.h:24
+#: ../mail/evolution-mail.schemas.in.in.h:24
msgid "Enable/disable caret mode"
msgstr "Enable/disable caret mode"
-#: mail/evolution-mail.schemas.in.in.h:25
+#: ../mail/evolution-mail.schemas.in.in.h:25
msgid "Height of the message-list pane"
msgstr "Height of the message-list pane"
-#: mail/evolution-mail.schemas.in.in.h:26
+#: ../mail/evolution-mail.schemas.in.in.h:26
msgid "Height of the message-list pane."
msgstr "Height of the message-list pane."
-#: mail/evolution-mail.schemas.in.in.h:27
+#: ../mail/evolution-mail.schemas.in.in.h:27
msgid "If a user tries to open 10 or more messages at one time, ask the user if they really want to do it."
msgstr "If a user tries to open 10 or more messages at one time, ask the user if they really want to do it."
-#: mail/evolution-mail.schemas.in.in.h:28
+#: ../mail/evolution-mail.schemas.in.in.h:28
msgid "If there isn't a builtin viewer for a particular mime-type inside Evolution, any mime-types appearing in this list which map to a bonobo-component viewer in GNOME's mime-type database may be used for displaying content."
msgstr "If there isn't a builtin viewer for a particular mime-type inside Evolution, any mime-types appearing in this list which map to a bonobo-component viewer in GNOME's mime-type database may be used for displaying content."
-#: mail/evolution-mail.schemas.in.in.h:29
+#: ../mail/evolution-mail.schemas.in.in.h:29
msgid "Last time empty trash was run"
msgstr "Last time empty trash was run"
-#: mail/evolution-mail.schemas.in.in.h:30
+#: ../mail/evolution-mail.schemas.in.in.h:30
msgid "List of Labels and their associated colors"
msgstr "List of Labels and their associated colours"
-#: mail/evolution-mail.schemas.in.in.h:31
+#: ../mail/evolution-mail.schemas.in.in.h:31
msgid "List of accepted licenses"
msgstr "List of accepted licences"
-#: mail/evolution-mail.schemas.in.in.h:32
+#: ../mail/evolution-mail.schemas.in.in.h:32
msgid "List of accounts"
msgstr "List of accounts"
-#: mail/evolution-mail.schemas.in.in.h:33
+#: ../mail/evolution-mail.schemas.in.in.h:33
msgid "List of accounts known to the mail component of Evolution. The list contains strings naming subdirectories relative to /apps/evolution/mail/accounts."
msgstr "List of accounts known to the mail component of Evolution. The list contains strings naming subdirectories relative to /apps/evolution/mail/accounts."
-#: mail/evolution-mail.schemas.in.in.h:34
+#: ../mail/evolution-mail.schemas.in.in.h:34
msgid "List of custom headers and whether they are enabled."
msgstr "List of custom headers and whether they are enabled."
-#: mail/evolution-mail.schemas.in.in.h:35
+#: ../mail/evolution-mail.schemas.in.in.h:35
msgid "List of labels known to the mail component of Evolution. The list contains strings containing name:color where color uses the HTML hex encoding."
msgstr "List of labels known to the mail component of Evolution. The list contains strings containing name:colour where colour uses the HTML hex encoding."
-#: mail/evolution-mail.schemas.in.in.h:36
+#: ../mail/evolution-mail.schemas.in.in.h:36
msgid "List of mime types to check for bonobo component viewers"
msgstr "List of mime types to check for bonobo component viewers"
-#: mail/evolution-mail.schemas.in.in.h:37
+#: ../mail/evolution-mail.schemas.in.in.h:37
msgid "List of protocol names whose license has been accepted."
msgstr "List of protocol names whose license has been accepted."
-#: mail/evolution-mail.schemas.in.in.h:38
+#: ../mail/evolution-mail.schemas.in.in.h:38
msgid "Load images for HTML messages over http"
msgstr "Load images for HTML messages over http"
-#: mail/evolution-mail.schemas.in.in.h:39
+#: ../mail/evolution-mail.schemas.in.in.h:39
msgid "Load images for HTML messages over http(s). Possible values are: 0 - Never load images off the net 1 - Load images if sender is in the addressbook 2 - Always load images off the net"
msgstr "Load images for HTML messages over http(s). Possible values are: 0 - Never load images off the net 1 - Load images if sender is in the addressbook 2 - Always load images off the net"
-#: mail/evolution-mail.schemas.in.in.h:40
+#: ../mail/evolution-mail.schemas.in.in.h:40
msgid "Log filter actions"
msgstr "Log filter actions"
-#: mail/evolution-mail.schemas.in.in.h:41
+#: ../mail/evolution-mail.schemas.in.in.h:41
msgid "Log filter actions to the specified log file."
msgstr "Log filter actions to the specified log file."
-#: mail/evolution-mail.schemas.in.in.h:42
+#: ../mail/evolution-mail.schemas.in.in.h:42
msgid "Logfile to log filter actions"
msgstr "Logfile to log filter actions"
-#: mail/evolution-mail.schemas.in.in.h:43
+#: ../mail/evolution-mail.schemas.in.in.h:43
msgid "Logfile to log filter actions."
msgstr "Logfile to log filter actions."
-#: mail/evolution-mail.schemas.in.in.h:44
+#: ../mail/evolution-mail.schemas.in.in.h:44
msgid "Mark as Seen after specified timeout"
msgstr "Mark as Seen after specified timeout"
-#: mail/evolution-mail.schemas.in.in.h:45
+#: ../mail/evolution-mail.schemas.in.in.h:45
msgid "Mark as Seen after specified timeout."
msgstr "Mark as Seen after specified timeout."
-#: mail/evolution-mail.schemas.in.in.h:46
+#: ../mail/evolution-mail.schemas.in.in.h:46
msgid "Mark citations in the message \"Preview\""
msgstr "Mark citations in the message \"Preview\""
-#: mail/evolution-mail.schemas.in.in.h:47
+#: ../mail/evolution-mail.schemas.in.in.h:47
msgid "Mark citations in the message \"Preview\"."
msgstr "Mark citations in the message \"Preview\"."
-#: mail/evolution-mail.schemas.in.in.h:48
+#: ../mail/evolution-mail.schemas.in.in.h:48
msgid "Message Window default height"
msgstr "Message Window default height"
-#: mail/evolution-mail.schemas.in.in.h:49
+#: ../mail/evolution-mail.schemas.in.in.h:49
msgid "Message Window default width"
msgstr "Message Window default width"
-#: mail/evolution-mail.schemas.in.in.h:50
+#: ../mail/evolution-mail.schemas.in.in.h:50
msgid "Message-display style (normal, full headers, source)"
msgstr "Message-display style (normal, full headers, source)"
-#: mail/evolution-mail.schemas.in.in.h:51
+#: ../mail/evolution-mail.schemas.in.in.h:51
msgid "Minimum days between emptying the trash on exit"
msgstr "Minimum days between emptying the trash on exit"
-#: mail/evolution-mail.schemas.in.in.h:52
+#: ../mail/evolution-mail.schemas.in.in.h:52
msgid "Minimum time between emptying the trash on exit, in days."
msgstr "Minimum time between emptying the trash on exit, in days."
-#: mail/evolution-mail.schemas.in.in.h:53
+#: ../mail/evolution-mail.schemas.in.in.h:53
msgid "New Mail Notify sound file"
msgstr "New Mail Notify sound file"
-#: mail/evolution-mail.schemas.in.in.h:54
+#: ../mail/evolution-mail.schemas.in.in.h:54
msgid "New Mail Notify type"
msgstr "New Mail Notify type"
-#: mail/evolution-mail.schemas.in.in.h:55
+#: ../mail/evolution-mail.schemas.in.in.h:55
msgid "Prompt on empty subject"
msgstr "Prompt on empty subject"
-#: mail/evolution-mail.schemas.in.in.h:56
+#: ../mail/evolution-mail.schemas.in.in.h:56
msgid "Prompt the user when he or she tries to expunge a folder."
msgstr "Prompt the user when he or she tries to expunge a folder."
-#: mail/evolution-mail.schemas.in.in.h:57
+#: ../mail/evolution-mail.schemas.in.in.h:57
msgid "Prompt the user when he or she tries to send a message without a Subject."
msgstr "Prompt the user when he or she tries to send a message without a Subject."
-#: mail/evolution-mail.schemas.in.in.h:58
+#: ../mail/evolution-mail.schemas.in.in.h:58
msgid "Prompt when user expunges"
msgstr "Prompt when user expunges"
-#: mail/evolution-mail.schemas.in.in.h:59
+#: ../mail/evolution-mail.schemas.in.in.h:59
msgid "Prompt when user only fills Bcc"
msgstr "Prompt when user only fills Bcc"
-#: mail/evolution-mail.schemas.in.in.h:60
+#: ../mail/evolution-mail.schemas.in.in.h:60
msgid "Prompt when user tries to open 10 or more messages at once"
msgstr "Prompt when user tries to open 10 or more messages at once"
-#: mail/evolution-mail.schemas.in.in.h:61
+#: ../mail/evolution-mail.schemas.in.in.h:61
msgid "Prompt when user tries to send HTML mail to recipients that may not want to receive HTML mail."
msgstr "Prompt when user tries to send HTML mail to recipients that may not want to receive HTML mail."
-#: mail/evolution-mail.schemas.in.in.h:62
+#: ../mail/evolution-mail.schemas.in.in.h:62
msgid "Prompt when user tries to send a message with no To or Cc recipients."
msgstr "Prompt when user tries to send a message with no To or Cc recipients."
-#: mail/evolution-mail.schemas.in.in.h:63
+#: ../mail/evolution-mail.schemas.in.in.h:63
msgid "Prompt when user tries to send unwanted HTML"
msgstr "Prompt when user tries to send unwanted HTML"
-#: mail/evolution-mail.schemas.in.in.h:64
+#: ../mail/evolution-mail.schemas.in.in.h:64
msgid "Recognize links in text and replace them."
msgstr "Recognise links in text and replace them."
-#: mail/evolution-mail.schemas.in.in.h:65
+#: ../mail/evolution-mail.schemas.in.in.h:65
msgid "Recognize smileys in text and replace them with images."
msgstr "Recognise smileys in text and replace them with images."
-#: mail/evolution-mail.schemas.in.in.h:66
+#: ../mail/evolution-mail.schemas.in.in.h:66
msgid "Run junk test on incoming mail"
msgstr "Run junk test on incoming mail"
-#: mail/evolution-mail.schemas.in.in.h:67
+#: ../mail/evolution-mail.schemas.in.in.h:67
msgid "Send HTML mail by default"
msgstr "Send HTML mail by default"
-#: mail/evolution-mail.schemas.in.in.h:68
+#: ../mail/evolution-mail.schemas.in.in.h:68
msgid "Send HTML mail by default."
msgstr "Send HTML mail by default."
-#: mail/evolution-mail.schemas.in.in.h:69
+#: ../mail/evolution-mail.schemas.in.in.h:69
msgid "Show Animations"
msgstr "Show Animations"
-#: mail/evolution-mail.schemas.in.in.h:70
+#: ../mail/evolution-mail.schemas.in.in.h:70
msgid "Show animated images as animations."
msgstr "Show animated images as animations."
-#: mail/evolution-mail.schemas.in.in.h:71
+#: ../mail/evolution-mail.schemas.in.in.h:71
msgid "Show deleted messages (with a strike-through) in the message-list."
msgstr "Show deleted messages (with a strike-through) in the message-list."
-#: mail/evolution-mail.schemas.in.in.h:72
+#: ../mail/evolution-mail.schemas.in.in.h:72
msgid "Show deleted messages in the message-list"
msgstr "Show deleted messages in the message-list"
-#: mail/evolution-mail.schemas.in.in.h:73
+#: ../mail/evolution-mail.schemas.in.in.h:73
msgid "Show the \"Preview\" pane"
msgstr "Show the \"Preview\" pane"
-#: mail/evolution-mail.schemas.in.in.h:74
+#: ../mail/evolution-mail.schemas.in.in.h:74
msgid "Show the \"Preview\" pane."
msgstr "Show the \"Preview\" pane."
-#: mail/evolution-mail.schemas.in.in.h:75
+#: ../mail/evolution-mail.schemas.in.in.h:75
msgid "Sound file to play when new mail arrives."
msgstr "Sound file to play when new mail arrives."
-#: mail/evolution-mail.schemas.in.in.h:76
+#: ../mail/evolution-mail.schemas.in.in.h:76
msgid "Specifies the type of New Mail Notification the user wishes to use."
msgstr "Specifies the type of New Mail Notification the user wishes to use."
-#: mail/evolution-mail.schemas.in.in.h:77
+#: ../mail/evolution-mail.schemas.in.in.h:77
msgid "Spell check inline"
msgstr "Spell check inline"
-#: mail/evolution-mail.schemas.in.in.h:78
+#: ../mail/evolution-mail.schemas.in.in.h:78
msgid "Subscribe dialog default height"
msgstr "Subscribe dialogue default height"
-#: mail/evolution-mail.schemas.in.in.h:79
+#: ../mail/evolution-mail.schemas.in.in.h:79
msgid "Subscribe dialog default width"
msgstr "Subscribe dialogue default width"
-#: mail/evolution-mail.schemas.in.in.h:80
+#: ../mail/evolution-mail.schemas.in.in.h:80
msgid "Terminal font"
msgstr "Terminal font"
-#: mail/evolution-mail.schemas.in.in.h:81
+#: ../mail/evolution-mail.schemas.in.in.h:81
msgid "The last time empty trash was run, in days since the epoch."
msgstr "The last time empty trash was run, in days since the epoch."
-#: mail/evolution-mail.schemas.in.in.h:82
+#: ../mail/evolution-mail.schemas.in.in.h:82
msgid "The terminal font for mail display"
msgstr "The terminal font for mail display"
-#: mail/evolution-mail.schemas.in.in.h:83
+#: ../mail/evolution-mail.schemas.in.in.h:83
msgid "The variable width font for mail display"
msgstr "The variable width font for mail display"
-#: mail/evolution-mail.schemas.in.in.h:84
+#: ../mail/evolution-mail.schemas.in.in.h:84
msgid "This key should contain a list of XML structures specifying custom headers, and whether they are to be displayed. The format of the XML structure is &lt;header enabled&gt; - set enabled if the header is to be displayed in the mail view."
msgstr "This key should contain a list of XML structures specifying custom headers, and whether they are to be displayed. The format of the XML structure is &lt;header enabled&gt; - set enabled if the header is to be displayed in the mail view."
-#: mail/evolution-mail.schemas.in.in.h:85
+#: ../mail/evolution-mail.schemas.in.in.h:85
msgid "Thread the message list."
msgstr "Thread the message list."
-#: mail/evolution-mail.schemas.in.in.h:86
+#: ../mail/evolution-mail.schemas.in.in.h:86
msgid "Thread the message-list"
msgstr "Thread the message-list"
-#: mail/evolution-mail.schemas.in.in.h:87
+#: ../mail/evolution-mail.schemas.in.in.h:87
msgid "Thread the message-list based on Subject"
msgstr "Thread the message-list based on Subject"
-#: mail/evolution-mail.schemas.in.in.h:88
+#: ../mail/evolution-mail.schemas.in.in.h:88
msgid "Timeout for marking message as Seen"
msgstr "Timeout for marking message as Seen"
-#: mail/evolution-mail.schemas.in.in.h:89
+#: ../mail/evolution-mail.schemas.in.in.h:89
msgid "Timeout for marking message as Seen."
msgstr "Timeout for marking message as Seen."
-#: mail/evolution-mail.schemas.in.in.h:90
+#: ../mail/evolution-mail.schemas.in.in.h:90
msgid "UID string of the default account."
msgstr "UID string of the default account."
-#: mail/evolution-mail.schemas.in.in.h:91
+#: ../mail/evolution-mail.schemas.in.in.h:91
msgid "Use Spamassassin daemon and client"
msgstr "Use Spamassassin daemon and client"
-#: mail/evolution-mail.schemas.in.in.h:92
+#: ../mail/evolution-mail.schemas.in.in.h:92
msgid "Use Spamassassin daemon and client (spamc/spamd)"
msgstr "Use Spamassassin daemon and client (spamc/spamd)"
-#: mail/evolution-mail.schemas.in.in.h:93
+#: ../mail/evolution-mail.schemas.in.in.h:93
msgid "Use custom fonts"
msgstr "Use custom fonts"
-#: mail/evolution-mail.schemas.in.in.h:94
+#: ../mail/evolution-mail.schemas.in.in.h:94
msgid "Use custom fonts for displaying mail"
msgstr "Use custom fonts for displaying mail"
-#: mail/evolution-mail.schemas.in.in.h:95
+#: ../mail/evolution-mail.schemas.in.in.h:95
msgid "Use only local spam tests."
msgstr "Use only local spam tests."
-#: mail/evolution-mail.schemas.in.in.h:96
+#: ../mail/evolution-mail.schemas.in.in.h:96
msgid "Use only the local spam tests (no DNS)."
msgstr "Use only the local spam tests (no DNS)."
-#: mail/evolution-mail.schemas.in.in.h:97
+#: ../mail/evolution-mail.schemas.in.in.h:97
msgid "Variable width font"
msgstr "Variable width font"
-#: mail/evolution-mail.schemas.in.in.h:98
+#: ../mail/evolution-mail.schemas.in.in.h:98
msgid "View/Bcc menu item is checked"
msgstr "View/Bcc menu item is checked"
-#: mail/evolution-mail.schemas.in.in.h:99
+#: ../mail/evolution-mail.schemas.in.in.h:99
msgid "View/Bcc menu item is checked."
msgstr "View/Bcc menu item is checked."
-#: mail/evolution-mail.schemas.in.in.h:100
+#: ../mail/evolution-mail.schemas.in.in.h:100
msgid "View/Cc menu item is checked"
msgstr "View/Cc menu item is checked"
-#: mail/evolution-mail.schemas.in.in.h:101
+#: ../mail/evolution-mail.schemas.in.in.h:101
msgid "View/Cc menu item is checked."
msgstr "View/Cc menu item is checked."
-#: mail/evolution-mail.schemas.in.in.h:102
+#: ../mail/evolution-mail.schemas.in.in.h:102
msgid "View/From menu item is checked"
msgstr "View/From menu item is checked"
-#: mail/evolution-mail.schemas.in.in.h:103
+#: ../mail/evolution-mail.schemas.in.in.h:103
msgid "View/From menu item is checked."
msgstr "View/From menu item is checked."
-#: mail/evolution-mail.schemas.in.in.h:104
+#: ../mail/evolution-mail.schemas.in.in.h:104
msgid "View/PostTo menu item is checked"
msgstr "View/PostTo menu item is checked"
-#: mail/evolution-mail.schemas.in.in.h:105
+#: ../mail/evolution-mail.schemas.in.in.h:105
msgid "View/PostTo menu item is checked."
msgstr "View/PostTo menu item is checked."
-#: mail/evolution-mail.schemas.in.in.h:106
+#: ../mail/evolution-mail.schemas.in.in.h:106
msgid "View/ReplyTo menu item is checked"
msgstr "View/ReplyTo menu item is checked"
-#: mail/evolution-mail.schemas.in.in.h:107
+#: ../mail/evolution-mail.schemas.in.in.h:107
msgid "View/ReplyTo menu item is checked."
msgstr "View/ReplyTo menu item is checked."
-#: mail/evolution-mail.schemas.in.in.h:108
+#: ../mail/evolution-mail.schemas.in.in.h:108
msgid "Whether or not to fall back on threading by subjects when the messages do not contain In-Reply-To or References headers."
msgstr "Whether or not to fall back on threading by subjects when the messages do not contain In-Reply-To or References headers."
-#: mail/evolution-mail.schemas.in.in.h:109
+#: ../mail/evolution-mail.schemas.in.in.h:109
msgid "port for starting user runned spamd"
msgstr "port for starting user runned spamd"
-#: mail/evolution-mail.schemas.in.in.h:110
+#: ../mail/evolution-mail.schemas.in.in.h:110
msgid "spamd port"
msgstr "spamd port"
-#: mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:1
+#: ../mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:1
msgid "Evolution Elm importer"
msgstr "Evolution Elm importer"
-#: mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:2
+#: ../mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:2
msgid "Evolution Netscape Mail importer"
msgstr "Evolution Netscape Mail importer"
-#: mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:3
+#: ../mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:3
msgid "Evolution Outlook Express 4 importer"
msgstr "Evolution Outlook Express 4 importer"
-#: mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:4
+#: ../mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:4
msgid "Evolution Pine importer"
msgstr "Evolution Pine importer"
-#: mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:5
+#: ../mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:5
msgid "Evolution mbox importer"
msgstr "Evolution mbox importer"
-#: mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:6
+#: ../mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:6
msgid "MBox (mbox)"
msgstr "MBox (mbox)"
-#: mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:7
+#: ../mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:7
msgid "Outlook Express 4 (.mbx)"
msgstr "Outlook Express 4 (.mbx)"
-#: mail/importers/elm-importer.c:88
+#: ../mail/importers/elm-importer.c:88
msgid "Evolution is importing your old Elm mail"
msgstr "Evolution is importing your old Elm mail"
-#: mail/importers/elm-importer.c:89
-#: mail/importers/evolution-mbox-importer.c:225
-#: mail/importers/evolution-outlook-importer.c:259
-#: mail/importers/netscape-importer.c:1251
-#: mail/importers/pine-importer.c:117
+#: ../mail/importers/elm-importer.c:89
+#: ../mail/importers/evolution-mbox-importer.c:225
+#: ../mail/importers/evolution-outlook-importer.c:259
+#: ../mail/importers/netscape-importer.c:1251
+#: ../mail/importers/pine-importer.c:117
msgid "Importing..."
msgstr "Importing..."
-#: mail/importers/elm-importer.c:91
-#: mail/importers/evolution-mbox-importer.c:227
-#: mail/importers/evolution-outlook-importer.c:261
-#: mail/importers/netscape-importer.c:1253
-#: mail/importers/pine-importer.c:119
+#: ../mail/importers/elm-importer.c:91
+#: ../mail/importers/evolution-mbox-importer.c:227
+#: ../mail/importers/evolution-outlook-importer.c:261
+#: ../mail/importers/netscape-importer.c:1253
+#: ../mail/importers/pine-importer.c:119
msgid "Please wait"
msgstr "Please wait"
-#: mail/importers/elm-importer.c:244
+#: ../mail/importers/elm-importer.c:244
msgid "Importing Elm data"
msgstr "Importing Elm data"
-#: mail/importers/elm-importer.c:436
+#: ../mail/importers/elm-importer.c:436
msgid ""
"Evolution has found Elm mail files\n"
"Would you like to import them into Evolution?"
@@ -11775,43 +11840,43 @@ msgstr ""
"Evolution has found Elm mail files\n"
"Would you like to import them into Evolution?"
-#: mail/importers/elm-importer.c:444
+#: ../mail/importers/elm-importer.c:444
msgid "Elm"
msgstr "Elm"
-#: mail/importers/evolution-mbox-importer.c:117
-#: mail/importers/evolution-outlook-importer.c:131
+#: ../mail/importers/evolution-mbox-importer.c:117
+#: ../mail/importers/evolution-outlook-importer.c:131
msgid "Destination folder:"
msgstr "Destination folder:"
-#: mail/importers/evolution-mbox-importer.c:120
-#: mail/importers/evolution-outlook-importer.c:134
+#: ../mail/importers/evolution-mbox-importer.c:120
+#: ../mail/importers/evolution-outlook-importer.c:134
msgid "Select folder to import into"
msgstr "Select folder to import into"
-#: mail/importers/evolution-mbox-importer.c:223
-#: mail/importers/evolution-outlook-importer.c:257
-#: mail/importers/mail-importer.c:226
+#: ../mail/importers/evolution-mbox-importer.c:223
+#: ../mail/importers/evolution-outlook-importer.c:257
+#: ../mail/importers/mail-importer.c:226
#, c-format
msgid "Importing `%s'"
msgstr "Importing `%s'"
-#: mail/importers/evolution-outlook-importer.c:305
-#: mail/importers/mail-importer.c:140
+#: ../mail/importers/evolution-outlook-importer.c:305
+#: ../mail/importers/mail-importer.c:140
msgid "Importing mailbox"
msgstr "Importing mailbox"
-#: mail/importers/mail-importer.c:363
+#: ../mail/importers/mail-importer.c:363
#, c-format
msgid "Scanning %s"
msgstr "Scanning %s"
-#: mail/importers/netscape-importer.c:73
+#: ../mail/importers/netscape-importer.c:73
#, c-format
msgid "Priority Filter \"%s\""
msgstr "Priority Filter \"%s\""
-#: mail/importers/netscape-importer.c:662
+#: ../mail/importers/netscape-importer.c:662
msgid ""
"Some of your Netscape email filters are based on\n"
"email priorities, which are not used in Evolution.\n"
@@ -11837,7 +11902,7 @@ msgstr ""
"of priorities. Check the imported filters to make sure\n"
"everything still works as intended."
-#: mail/importers/netscape-importer.c:686
+#: ../mail/importers/netscape-importer.c:686
msgid ""
"Some of your Netscape email filters use\n"
"the \"Ignore Thread\" or \"Watch Thread\"\n"
@@ -11849,7 +11914,7 @@ msgstr ""
"feature, which is not supported in Evolution.\n"
"These filters will be dropped."
-#: mail/importers/netscape-importer.c:703
+#: ../mail/importers/netscape-importer.c:703
msgid ""
"Some of your Netscape email filters test the\n"
"body of emails for (in)equality to a given string,\n"
@@ -11863,23 +11928,23 @@ msgstr ""
"were modified to test whether that string is or is not\n"
"contained in the message body."
-#: mail/importers/netscape-importer.c:1250
+#: ../mail/importers/netscape-importer.c:1250
msgid "Evolution is importing your old Netscape data"
msgstr "Evolution is importing your old Netscape data"
-#: mail/importers/netscape-importer.c:1707
+#: ../mail/importers/netscape-importer.c:1707
msgid "Importing Netscape data"
msgstr "Importing Netscape data"
-#: mail/importers/netscape-importer.c:1907
+#: ../mail/importers/netscape-importer.c:1907
msgid "Settings"
msgstr "Settings"
-#: mail/importers/netscape-importer.c:1912
+#: ../mail/importers/netscape-importer.c:1912
msgid "Mail Filters"
msgstr "Mail Filters"
-#: mail/importers/netscape-importer.c:1933
+#: ../mail/importers/netscape-importer.c:1933
msgid ""
"Evolution has found Netscape mail files.\n"
"Would you like them to be imported into Evolution?"
@@ -11887,15 +11952,15 @@ msgstr ""
"Evolution has found Netscape mail files.\n"
"Would you like them to be imported into Evolution?"
-#: mail/importers/pine-importer.c:116
+#: ../mail/importers/pine-importer.c:116
msgid "Evolution is importing your old Pine data"
msgstr "Evolution is importing your old Pine data"
-#: mail/importers/pine-importer.c:314
+#: ../mail/importers/pine-importer.c:314
msgid "Importing Pine data"
msgstr "Importing Pine data"
-#: mail/importers/pine-importer.c:498
+#: ../mail/importers/pine-importer.c:498
msgid ""
"Evolution has found Pine mail files.\n"
"Would you like to import them into Evolution?"
@@ -11903,339 +11968,340 @@ msgstr ""
"Evolution has found Pine mail files.\n"
"Would you like to import them into Evolution?"
-#: mail/importers/pine-importer.c:506
+#: ../mail/importers/pine-importer.c:506
msgid "Pine"
msgstr "Pine"
-#: mail/mail-autofilter.c:74
+#: ../mail/mail-autofilter.c:74
#, c-format
msgid "Mail to %s"
msgstr "Mail to %s"
-#: mail/mail-autofilter.c:238
-#, c-format
-msgid "Subject is %s"
-msgstr "Subject is %s"
-
-#: mail/mail-autofilter.c:254
+#: ../mail/mail-autofilter.c:238
+#: ../mail/mail-autofilter.c:277
#, c-format
msgid "Mail from %s"
msgstr "Mail from %s"
-#: mail/mail-autofilter.c:273
+#: ../mail/mail-autofilter.c:261
+#, c-format
+msgid "Subject is %s"
+msgstr "Subject is %s"
+
+#: ../mail/mail-autofilter.c:296
#, c-format
msgid "%s mailing list"
msgstr "%s mailing list"
-#: mail/mail-autofilter.c:328
+#: ../mail/mail-autofilter.c:365
msgid "Add Filter Rule"
msgstr "Add Filter Rule"
-#: mail/mail-component.c:484
+#: ../mail/mail-component.c:505
#, c-format
msgid "%d deleted"
msgid_plural "%d deleted"
msgstr[0] "%d deleted"
msgstr[1] "%d deleted"
-#: mail/mail-component.c:486
+#: ../mail/mail-component.c:507
#, c-format
msgid "%d junk"
msgid_plural "%d junk"
msgstr[0] "%d junk"
msgstr[1] "%d junk"
-#: mail/mail-component.c:509
+#: ../mail/mail-component.c:530
#, c-format
msgid "%d draft"
msgid_plural "%d drafts"
msgstr[0] "%d draft"
msgstr[1] "%d drafts"
-#: mail/mail-component.c:511
+#: ../mail/mail-component.c:532
#, c-format
msgid "%d sent"
msgid_plural "%d sent"
msgstr[0] "%d sent"
msgstr[1] "%d sent"
-#: mail/mail-component.c:513
+#: ../mail/mail-component.c:534
#, c-format
msgid "%d unsent"
msgid_plural "%d unsent"
msgstr[0] "%d unsent"
msgstr[1] "%d unsent"
-#: mail/mail-component.c:517
+#: ../mail/mail-component.c:538
#, c-format
msgid "%d total"
msgid_plural "%d total"
msgstr[0] "%d total"
msgstr[1] "%d total"
-#: mail/mail-component.c:519
+#: ../mail/mail-component.c:540
#, c-format
msgid ", %d unread"
msgid_plural ", %d unread"
msgstr[0] ", %d unread"
msgstr[1] ", %d unread"
-#: mail/mail-component.c:691
+#: ../mail/mail-component.c:722
msgid "New Mail Message"
msgstr "New Mail Message"
-#: mail/mail-component.c:692
+#: ../mail/mail-component.c:723
msgid "_Mail Message"
msgstr "_Mail Message"
-#: mail/mail-component.c:693
+#: ../mail/mail-component.c:724
msgid "Compose a new mail message"
msgstr "Compose a new mail message"
-#: mail/mail-component.c:699
+#: ../mail/mail-component.c:730
msgid "New Mail Folder"
msgstr "New Mail Folder"
-#: mail/mail-component.c:700
+#: ../mail/mail-component.c:731
msgid "Mail _Folder"
msgstr "Mail _Folder"
-#: mail/mail-component.c:701
+#: ../mail/mail-component.c:732
msgid "Create a new mail folder"
msgstr "Create a new mail folder"
-#: mail/mail-component.c:848
+#: ../mail/mail-component.c:879
msgid "Failed upgrading Mail settings or folders."
msgstr "Failed upgrading Mail settings or folders."
-#: mail/mail-config.glade.h:1
-#: mail/mail-dialogs.glade.h:5
+#: ../mail/mail-config.glade.h:1
+#: ../mail/mail-dialogs.glade.h:5
msgid " "
msgstr " "
-#: mail/mail-config.glade.h:2
+#: ../mail/mail-config.glade.h:2
msgid " Ch_eck for Supported Types "
msgstr " Ch_eck for Supported Types "
-#: mail/mail-config.glade.h:4
+#: ../mail/mail-config.glade.h:4
msgid "<b>SSL is not supported in this build of Evolution</b>"
msgstr "<b>SSL is not supported in this build of Evolution</b>"
-#: mail/mail-config.glade.h:5
+#: ../mail/mail-config.glade.h:5
msgid "<b>S_ignatures</b>"
msgstr "<b>S_ignatures</b>"
-#: mail/mail-config.glade.h:6
+#: ../mail/mail-config.glade.h:6
msgid "<b>_Languages</b>"
msgstr "<b>_Languages</b>"
-#: mail/mail-config.glade.h:7
+#: ../mail/mail-config.glade.h:7
msgid "<small>This will make the the filter more reliable, but slower</small>"
msgstr "<small>This will make the the filter more reliable, but slower</small>"
-#: mail/mail-config.glade.h:8
+#: ../mail/mail-config.glade.h:8
msgid "<span weight=\"bold\">Account Information</span>"
msgstr "<span weight=\"bold\">Account Information</span>"
-#: mail/mail-config.glade.h:9
+#: ../mail/mail-config.glade.h:9
msgid "<span weight=\"bold\">Alerts</span>"
msgstr "<span weight=\"bold\">Alerts</span>"
-#: mail/mail-config.glade.h:10
+#: ../mail/mail-config.glade.h:10
msgid "<span weight=\"bold\">Authentication Type</span>"
msgstr "<span weight=\"bold\">Authentication Type</span>"
-#: mail/mail-config.glade.h:11
+#: ../mail/mail-config.glade.h:11
msgid "<span weight=\"bold\">Authentication</span>"
msgstr "<span weight=\"bold\">Authentication</span>"
-#: mail/mail-config.glade.h:12
+#: ../mail/mail-config.glade.h:12
msgid "<span weight=\"bold\">Composing Messages</span>"
msgstr "<span weight=\"bold\">Composing Messages</span>"
-#: mail/mail-config.glade.h:13
+#: ../mail/mail-config.glade.h:13
msgid "<span weight=\"bold\">Configuration</span>"
msgstr "<span weight=\"bold\">Configuration</span>"
-#: mail/mail-config.glade.h:14
+#: ../mail/mail-config.glade.h:14
msgid "<span weight=\"bold\">Default Behavior</span>"
msgstr "<span weight=\"bold\">Default Behavior</span>"
-#: mail/mail-config.glade.h:15
+#: ../mail/mail-config.glade.h:15
msgid "<span weight=\"bold\">Delete Mail</span>"
msgstr "<span weight=\"bold\">Delete Mail</span>"
-#: mail/mail-config.glade.h:16
+#: ../mail/mail-config.glade.h:16
msgid "<span weight=\"bold\">Displayed Mail _Headers</span>"
msgstr "<span weight=\"bold\">Displayed Mail _Headers</span>"
-#: mail/mail-config.glade.h:17
+#: ../mail/mail-config.glade.h:17
msgid "<span weight=\"bold\">Filter Options</span>"
msgstr "<span weight=\"bold\">Filter Options</span>"
-#: mail/mail-config.glade.h:18
-#: plugins/itip-formatter/itip-formatter.c:1667
+#: ../mail/mail-config.glade.h:18
+#: ../plugins/itip-formatter/itip-formatter.c:1667
msgid "<span weight=\"bold\">General</span>"
msgstr "<span weight=\"bold\">General</span>"
-#: mail/mail-config.glade.h:19
+#: ../mail/mail-config.glade.h:19
msgid "<span weight=\"bold\">Labels and Colors</span>"
msgstr "<span weight=\"bold\">Labels and Colours</span>"
-#: mail/mail-config.glade.h:20
+#: ../mail/mail-config.glade.h:20
msgid "<span weight=\"bold\">Loading Images</span>"
msgstr "<span weight=\"bold\">Loading Images</span>"
-#: mail/mail-config.glade.h:21
+#: ../mail/mail-config.glade.h:21
msgid "<span weight=\"bold\">Message Display</span>"
msgstr "<span weight=\"bold\">Message Display</span>"
-#: mail/mail-config.glade.h:22
+#: ../mail/mail-config.glade.h:22
msgid "<span weight=\"bold\">Message Fonts</span>"
msgstr "<span weight=\"bold\">Message Fonts</span>"
-#: mail/mail-config.glade.h:23
+#: ../mail/mail-config.glade.h:23
msgid "<span weight=\"bold\">New Mail Notification</span>"
msgstr "<span weight=\"bold\">New Mail Notification</span>"
-#: mail/mail-config.glade.h:24
+#: ../mail/mail-config.glade.h:24
msgid "<span weight=\"bold\">Optional Information</span>"
msgstr "<span weight=\"bold\">Optional Information</span>"
-#: mail/mail-config.glade.h:25
+#: ../mail/mail-config.glade.h:25
msgid "<span weight=\"bold\">Options</span>"
msgstr "<span weight=\"bold\">Options</span>"
-#: mail/mail-config.glade.h:26
+#: ../mail/mail-config.glade.h:26
msgid "<span weight=\"bold\">Pretty Good Privacy (PGP/GPG)</span>"
msgstr "<span weight=\"bold\">Pretty Good Privacy (PGP/GPG)</span>"
-#: mail/mail-config.glade.h:27
+#: ../mail/mail-config.glade.h:27
msgid "<span weight=\"bold\">Printed Fonts</span>"
msgstr "<span weight=\"bold\">Printed Fonts</span>"
-#: mail/mail-config.glade.h:28
+#: ../mail/mail-config.glade.h:28
msgid "<span weight=\"bold\">Required Information</span>"
msgstr "<span weight=\"bold\">Required Information</span>"
-#: mail/mail-config.glade.h:29
+#: ../mail/mail-config.glade.h:29
msgid "<span weight=\"bold\">Secure MIME (S/MIME)</span>"
msgstr "<span weight=\"bold\">Secure MIME (S/MIME)</span>"
-#: mail/mail-config.glade.h:30
+#: ../mail/mail-config.glade.h:30
msgid "<span weight=\"bold\">Security</span>"
msgstr "<span weight=\"bold\">Security</span>"
-#: mail/mail-config.glade.h:31
+#: ../mail/mail-config.glade.h:31
msgid "<span weight=\"bold\">Sent and Draft Messages</span>"
msgstr "<span weight=\"bold\">Sent and Draft Messages</span>"
-#: mail/mail-config.glade.h:32
+#: ../mail/mail-config.glade.h:32
msgid "<span weight=\"bold\">Server Configuration</span>"
msgstr "<span weight=\"bold\">Server Configuration</span>"
-#: mail/mail-config.glade.h:34
+#: ../mail/mail-config.glade.h:34
msgid "Account Management"
msgstr "Account Management"
-#: mail/mail-config.glade.h:35
+#: ../mail/mail-config.glade.h:35
msgid "Add Ne_w Signature..."
msgstr "Add Ne_w Signature..."
-#: mail/mail-config.glade.h:36
+#: ../mail/mail-config.glade.h:36
msgid "Add _Script"
msgstr "Add _Script"
-#: mail/mail-config.glade.h:37
+#: ../mail/mail-config.glade.h:37
msgid "Al_ways sign outgoing messages when using this account"
msgstr "Al_ways sign outgoing messages when using this account"
-#: mail/mail-config.glade.h:38
+#: ../mail/mail-config.glade.h:38
msgid "Also encrypt to sel_f when sending encrypted mail"
msgstr "Also encrypt to sel_f when sending encrypted mail"
-#: mail/mail-config.glade.h:39
+#: ../mail/mail-config.glade.h:39
msgid "Alway_s carbon-copy (cc) to:"
msgstr "Alway_s carbon-copy (cc) to:"
-#: mail/mail-config.glade.h:40
+#: ../mail/mail-config.glade.h:40
msgid "Always _blind carbon-copy (bcc) to:"
msgstr "Always _blind carbon-copy (bcc) to:"
-#: mail/mail-config.glade.h:41
+#: ../mail/mail-config.glade.h:41
msgid "Always _trust keys in my keyring when encrypting"
msgstr "Always _trust keys in my keyring when encrypting"
-#: mail/mail-config.glade.h:42
+#: ../mail/mail-config.glade.h:42
msgid "Always encrypt to _myself when sending encrypted mail"
msgstr "Always encrypt to _myself when sending encrypted mail"
-#: mail/mail-config.glade.h:43
+#: ../mail/mail-config.glade.h:43
msgid "Attach original message"
msgstr "Attach original message"
-#: mail/mail-config.glade.h:44
-#: mail/message-list.etspec.h:1
+#: ../mail/mail-config.glade.h:44
+#: ../mail/message-list.etspec.h:1
msgid "Attachment"
msgstr "Attachment"
-#: mail/mail-config.glade.h:45
+#: ../mail/mail-config.glade.h:45
msgid "Automatically _insert smiley images"
msgstr "Automatically _insert smiley images"
-#: mail/mail-config.glade.h:46
+#: ../mail/mail-config.glade.h:46
msgid "Baltic (ISO-8859-13)"
msgstr "Baltic (ISO-8859-13)"
-#: mail/mail-config.glade.h:47
+#: ../mail/mail-config.glade.h:47
msgid "Baltic (ISO-8859-4)"
msgstr "Baltic (ISO-8859-4)"
-#: mail/mail-config.glade.h:48
+#: ../mail/mail-config.glade.h:48
msgid "Beep w_hen new mail arrives"
msgstr "Beep w_hen new mail arrives"
-#: mail/mail-config.glade.h:49
+#: ../mail/mail-config.glade.h:49
msgid "C_haracter set:"
msgstr "C_haracter set:"
-#: mail/mail-config.glade.h:50
+#: ../mail/mail-config.glade.h:50
msgid "Ch_eck for Supported Types "
msgstr "Ch_eck for Supported Types "
-#: mail/mail-config.glade.h:51
+#: ../mail/mail-config.glade.h:51
msgid "Check _incoming mail for junk"
msgstr "Check _incoming mail for junk"
-#: mail/mail-config.glade.h:52
+#: ../mail/mail-config.glade.h:52
msgid "Check spelling while I _type"
msgstr "Check spelling while I _type"
-#: mail/mail-config.glade.h:53
+#: ../mail/mail-config.glade.h:53
msgid "Checks incoming mail messages to be Junk"
msgstr "Checks incoming mail messages to be Junk"
-#: mail/mail-config.glade.h:54
+#: ../mail/mail-config.glade.h:54
msgid "Cle_ar"
msgstr "Cle_ar"
-#: mail/mail-config.glade.h:55
+#: ../mail/mail-config.glade.h:55
msgid "Clea_r"
msgstr "Clea_r"
-#: mail/mail-config.glade.h:56
+#: ../mail/mail-config.glade.h:56
msgid "Color for _misspelled words:"
msgstr "Colour for _misspelled words:"
-#: mail/mail-config.glade.h:57
+#: ../mail/mail-config.glade.h:57
msgid "Colors"
msgstr "Colours"
-#: mail/mail-config.glade.h:58
+#: ../mail/mail-config.glade.h:58
msgid "Confirm _when expunging a folder"
msgstr "Confirm _when expunging a folder"
-#: mail/mail-config.glade.h:59
+#: ../mail/mail-config.glade.h:59
msgid ""
"Congratulations, your mail configuration is complete.\n"
"\n"
@@ -12251,124 +12317,116 @@ msgstr ""
"\n"
"Click \"Apply\" to save your settings."
-#: mail/mail-config.glade.h:65
+#: ../mail/mail-config.glade.h:65
msgid "De_fault"
msgstr "De_fault"
-#: mail/mail-config.glade.h:66
+#: ../mail/mail-config.glade.h:66
msgid "Default character e_ncoding:"
msgstr "Default character e_ncoding:"
-#: mail/mail-config.glade.h:67
-msgid "Defaults"
-msgstr "Defaults"
-
-#: mail/mail-config.glade.h:69
+#: ../mail/mail-config.glade.h:69
msgid "Digitally _sign outgoing messages (by default)"
msgstr "Digitally _sign outgoing messages (by default)"
-#: mail/mail-config.glade.h:70
+#: ../mail/mail-config.glade.h:70
msgid "Do not quote original message"
msgstr "Do not quote original message"
-#: mail/mail-config.glade.h:71
-#: shell/evolution-startup-wizard.glade.h:1
+#: ../mail/mail-config.glade.h:71
+#: ../shell/evolution-startup-wizard.glade.h:1
msgid "Done"
msgstr "Done"
-#: mail/mail-config.glade.h:72
+#: ../mail/mail-config.glade.h:72
msgid "Drafts _Folder:"
msgstr "Drafts _Folder:"
-#: mail/mail-config.glade.h:74
+#: ../mail/mail-config.glade.h:74
msgid "Email Accounts"
msgstr "Email Accounts"
-#: mail/mail-config.glade.h:75
+#: ../mail/mail-config.glade.h:75
msgid "Email _Address:"
msgstr "Email _Address:"
-#: mail/mail-config.glade.h:76
+#: ../mail/mail-config.glade.h:76
msgid "Empty trash folders on e_xit"
msgstr "Empty trash folders on e_xit"
-#: mail/mail-config.glade.h:77
+#: ../mail/mail-config.glade.h:77
msgid "Encry_ption certificate:"
msgstr "Encry_ption certificate:"
-#: mail/mail-config.glade.h:78
+#: ../mail/mail-config.glade.h:78
msgid "Encrypt out_going messages (by default)"
msgstr "Encrypt out_going messages (by default)"
-#: mail/mail-config.glade.h:80
+#: ../mail/mail-config.glade.h:80
msgid "Execute Command..."
msgstr "Execute Command..."
-#: mail/mail-config.glade.h:81
+#: ../mail/mail-config.glade.h:81
msgid "Fi_xed-width:"
msgstr "Fi_xed-width:"
-#: mail/mail-config.glade.h:82
+#: ../mail/mail-config.glade.h:82
msgid "Font Properties"
msgstr "Font Properties"
-#: mail/mail-config.glade.h:83
+#: ../mail/mail-config.glade.h:83
msgid "Format messages in _HTML"
msgstr "Format messages in _HTML"
-#: mail/mail-config.glade.h:85
+#: ../mail/mail-config.glade.h:85
msgid "HTML Mail"
msgstr "HTML Mail"
-#: mail/mail-config.glade.h:86
+#: ../mail/mail-config.glade.h:86
msgid "Headers"
msgstr "Headers"
-#: mail/mail-config.glade.h:87
+#: ../mail/mail-config.glade.h:87
msgid "Highlight _quotations with"
msgstr "Highlight _quotations with"
-#: mail/mail-config.glade.h:88
+#: ../mail/mail-config.glade.h:88
msgid "I_nclude remote tests"
msgstr "I_nclude remote tests"
-#: mail/mail-config.glade.h:89
-msgid "Identity"
-msgstr "Identity"
-
-#: mail/mail-config.glade.h:91
+#: ../mail/mail-config.glade.h:91
msgid "Inline"
msgstr "Inline"
-#: mail/mail-config.glade.h:94
+#: ../mail/mail-config.glade.h:94
msgid "Mail Configuration"
msgstr "Mail Configuration"
-#: mail/mail-config.glade.h:96
+#: ../mail/mail-config.glade.h:96
msgid "Mailbox location"
msgstr "Mailbox location"
-#: mail/mail-config.glade.h:97
+#: ../mail/mail-config.glade.h:97
msgid "Message Composer"
msgstr "Message Composer"
-#: mail/mail-config.glade.h:98
+#: ../mail/mail-config.glade.h:98
msgid "Note: you will not be prompted for a password until you connect for the first time"
msgstr "Note: you will not be prompted for a password until you connect for the first time"
-#: mail/mail-config.glade.h:99
+#: ../mail/mail-config.glade.h:99
msgid "Or_ganization:"
msgstr "Or_ganisation:"
-#: mail/mail-config.glade.h:100
+#: ../mail/mail-config.glade.h:100
msgid "PGP/GPG _Key ID:"
msgstr "PGP/GPG _Key ID:"
-#: mail/mail-config.glade.h:103
+#: ../mail/mail-config.glade.h:103
msgid "Play sound file when new mail arri_ves"
msgstr "Play sound file when new mail arri_ves"
-#: mail/mail-config.glade.h:104
+#: ../mail/mail-config.glade.h:104
msgid ""
"Please enter a descriptive name for this account in the space below.\n"
"This name will be used for display purposes only."
@@ -12376,131 +12434,119 @@ msgstr ""
"Please enter a descriptive name for this account in the space below.\n"
"This name will be used for display purposes only."
-#: mail/mail-config.glade.h:106
+#: ../mail/mail-config.glade.h:106
msgid "Please enter information about the way you will send mail. If you are not sure, ask your system administrator or Internet Service Provider."
msgstr "Please enter information about the way you will send mail. If you are not sure, ask your system administrator or Internet Service Provider."
-#: mail/mail-config.glade.h:107
+#: ../mail/mail-config.glade.h:107
msgid "Please enter your name and email address below. The \"optional\" fields below do not need to be filled in, unless you wish to include this information in email you send."
msgstr "Please enter your name and email address below. The \"optional\" fields below do not need to be filled in, unless you wish to include this information in email you send."
-#: mail/mail-config.glade.h:108
+#: ../mail/mail-config.glade.h:108
msgid "Please select among the following options"
msgstr "Please select among the following options"
-#: mail/mail-config.glade.h:109
+#: ../mail/mail-config.glade.h:109
msgid "Pr_ompt when sending messages with only Bcc recipients defined"
msgstr "Pr_ompt when sending messages with only Bcc recipients defined"
-#: mail/mail-config.glade.h:110
+#: ../mail/mail-config.glade.h:110
msgid "Quote original message"
msgstr "Quote original message"
-#: mail/mail-config.glade.h:111
+#: ../mail/mail-config.glade.h:111
msgid "Quoted"
msgstr "Quoted"
-#: mail/mail-config.glade.h:112
+#: ../mail/mail-config.glade.h:112
msgid "Re_member password"
msgstr "Re_member password"
-#: mail/mail-config.glade.h:113
+#: ../mail/mail-config.glade.h:113
msgid "Re_ply-To:"
msgstr "Re_ply-To:"
-#: mail/mail-config.glade.h:114
-msgid "Receiving Email"
-msgstr "Receiving Email"
-
-#: mail/mail-config.glade.h:115
+#: ../mail/mail-config.glade.h:115
msgid "Remember _password"
msgstr "Remember _password"
-#: mail/mail-config.glade.h:116
+#: ../mail/mail-config.glade.h:116
msgid "S_elect..."
msgstr "S_elect..."
-#: mail/mail-config.glade.h:117
+#: ../mail/mail-config.glade.h:117
msgid "S_tandard Font:"
msgstr "S_tandard Font:"
-#: mail/mail-config.glade.h:118
+#: ../mail/mail-config.glade.h:118
msgid "Se_lect..."
msgstr "Se_lect..."
-#: mail/mail-config.glade.h:119
-msgid "Security"
-msgstr "Security"
-
-#: mail/mail-config.glade.h:120
+#: ../mail/mail-config.glade.h:120
msgid "Select HTML fixed width font"
msgstr "Select HTML fixed width font"
-#: mail/mail-config.glade.h:121
+#: ../mail/mail-config.glade.h:121
msgid "Select HTML fixed width font for printing"
msgstr "Select HTML fixed width font for printing"
-#: mail/mail-config.glade.h:122
+#: ../mail/mail-config.glade.h:122
msgid "Select HTML variable width font"
msgstr "Select HTML variable width font"
-#: mail/mail-config.glade.h:123
+#: ../mail/mail-config.glade.h:123
msgid "Select HTML variable width font for printing"
msgstr "Select HTML variable width font for printing"
-#: mail/mail-config.glade.h:124
-msgid "Sending Email"
-msgstr "Sending Email"
-
-#: mail/mail-config.glade.h:125
+#: ../mail/mail-config.glade.h:125
msgid "Sending Mail"
msgstr "Sending Mail"
-#: mail/mail-config.glade.h:126
+#: ../mail/mail-config.glade.h:126
msgid "Sent _Messages Folder:"
msgstr "Sent _Messages Folder:"
-#: mail/mail-config.glade.h:127
+#: ../mail/mail-config.glade.h:127
msgid "Ser_ver requires authentication"
msgstr "Ser_ver requires authentication"
-#: mail/mail-config.glade.h:128
+#: ../mail/mail-config.glade.h:128
msgid "Server _Type: "
msgstr "Server _Type: "
-#: mail/mail-config.glade.h:129
+#: ../mail/mail-config.glade.h:129
msgid "Sig_ning certificate:"
msgstr "Sig_ning certificate:"
-#: mail/mail-config.glade.h:130
+#: ../mail/mail-config.glade.h:130
msgid "Signat_ure:"
msgstr "Signat_ure:"
-#: mail/mail-config.glade.h:131
+#: ../mail/mail-config.glade.h:131
msgid "Signatures"
msgstr "Signatures"
-#: mail/mail-config.glade.h:132
+#: ../mail/mail-config.glade.h:132
msgid "Specify _filename:"
msgstr "Specify _filename:"
-#: mail/mail-config.glade.h:133
+#: ../mail/mail-config.glade.h:133
msgid "Spell Checking"
msgstr "Spell Checking"
-#: mail/mail-config.glade.h:134
+#: ../mail/mail-config.glade.h:134
msgid "T_erminal Font:"
msgstr "T_erminal Font:"
-#: mail/mail-config.glade.h:135
+#: ../mail/mail-config.glade.h:135
msgid "T_ype: "
msgstr "T_ype: "
-#: mail/mail-config.glade.h:136
+#: ../mail/mail-config.glade.h:136
msgid "The list of languages here reflects only the languages for which you have a dictionary installed."
msgstr "The list of languages here reflects only the languages for which you have a dictionary installed."
-#: mail/mail-config.glade.h:137
+#: ../mail/mail-config.glade.h:137
msgid ""
"The output of this script will be used as your\n"
"signature. The name you specify will be used\n"
@@ -12510,7 +12556,7 @@ msgstr ""
"signature. The name you specify will be used\n"
"for display purposes only. "
-#: mail/mail-config.glade.h:141
+#: ../mail/mail-config.glade.h:141
msgid ""
"Type the name by which you would like to refer to this account.\n"
"For example: \"Work\" or \"Personal\""
@@ -12518,15 +12564,15 @@ msgstr ""
"Type the name by which you would like to refer to this account.\n"
"For example: \"Work\" or \"Personal\""
-#: mail/mail-config.glade.h:143
+#: ../mail/mail-config.glade.h:143
msgid "User_name:"
msgstr "User_name:"
-#: mail/mail-config.glade.h:144
+#: ../mail/mail-config.glade.h:144
msgid "V_ariable-width:"
msgstr "V_ariable-width:"
-#: mail/mail-config.glade.h:145
+#: ../mail/mail-config.glade.h:145
msgid ""
"Welcome to the Evolution Mail Configuration Assistant.\n"
"\n"
@@ -12536,91 +12582,91 @@ msgstr ""
"\n"
"Click \"Forward\" to begin. "
-#: mail/mail-config.glade.h:149
+#: ../mail/mail-config.glade.h:149
msgid "_Add Signature"
msgstr "_Add Signature"
-#: mail/mail-config.glade.h:150
+#: ../mail/mail-config.glade.h:150
msgid "_Always load images from the Internet"
msgstr "_Always load images from the Internet"
-#: mail/mail-config.glade.h:151
+#: ../mail/mail-config.glade.h:151
msgid "_Do not notify me when new mail arrives"
msgstr "_Do not notify me when new mail arrives"
-#: mail/mail-config.glade.h:152
+#: ../mail/mail-config.glade.h:152
msgid "_Don't sign meeting requests (for Outlook compatibility)"
msgstr "_Don't sign meeting requests (for Outlook compatibility)"
-#: mail/mail-config.glade.h:154
+#: ../mail/mail-config.glade.h:154
msgid "_Forward style:"
msgstr "_Forward style:"
-#: mail/mail-config.glade.h:155
+#: ../mail/mail-config.glade.h:155
msgid "_Full Name:"
msgstr "_Full Name:"
-#: mail/mail-config.glade.h:156
+#: ../mail/mail-config.glade.h:156
msgid "_Host:"
msgstr "_Host:"
-#: mail/mail-config.glade.h:157
+#: ../mail/mail-config.glade.h:157
msgid "_Load images if sender is in address book"
msgstr "_Load images if sender is in address book"
-#: mail/mail-config.glade.h:158
+#: ../mail/mail-config.glade.h:158
msgid "_Make this my default account"
msgstr "_Make this my default account"
-#: mail/mail-config.glade.h:159
+#: ../mail/mail-config.glade.h:159
msgid "_Mark messages as read after"
msgstr "_Mark messages as read after"
-#: mail/mail-config.glade.h:161
+#: ../mail/mail-config.glade.h:161
msgid "_Never load images from the Internet"
msgstr "_Never load images from the Internet"
-#: mail/mail-config.glade.h:162
+#: ../mail/mail-config.glade.h:162
msgid "_Path:"
msgstr "_Path:"
-#: mail/mail-config.glade.h:163
+#: ../mail/mail-config.glade.h:163
msgid "_Prompt when sending HTML messages to contacts that don't want them"
msgstr "_Prompt when sending HTML messages to contacts that don't want them"
-#: mail/mail-config.glade.h:164
+#: ../mail/mail-config.glade.h:164
msgid "_Prompt when sending messages with an empty subject line"
msgstr "_Prompt when sending messages with an empty subject line"
-#: mail/mail-config.glade.h:165
+#: ../mail/mail-config.glade.h:165
msgid "_Reply style:"
msgstr "_Reply style:"
-#: mail/mail-config.glade.h:166
+#: ../mail/mail-config.glade.h:166
msgid "_Script:"
msgstr "_Script:"
-#: mail/mail-config.glade.h:167
+#: ../mail/mail-config.glade.h:167
msgid "_Show animated images"
msgstr "_Show animated images"
-#: mail/mail-config.glade.h:168
+#: ../mail/mail-config.glade.h:168
msgid "_Use Secure Connection:"
msgstr "_Use Secure Connection:"
-#: mail/mail-config.glade.h:169
+#: ../mail/mail-config.glade.h:169
msgid "_Use the same fonts as other applications"
msgstr "_Use the same fonts as other applications"
-#: mail/mail-config.glade.h:170
+#: ../mail/mail-config.glade.h:170
msgid "color"
msgstr "colour"
-#: mail/mail-config.glade.h:171
+#: ../mail/mail-config.glade.h:171
msgid "description"
msgstr "description"
-#: mail/mail-dialogs.glade.h:1
+#: ../mail/mail-dialogs.glade.h:1
msgid ""
"\n"
" Please read carefully the license agreement displayed\n"
@@ -12630,63 +12676,63 @@ msgstr ""
" Please read carefully the licence agreement displayed\n"
" below and tick the check box for accepting it\n"
-#: mail/mail-dialogs.glade.h:7
+#: ../mail/mail-dialogs.glade.h:7
msgid "<b>vFolder Sources</b>"
msgstr "<b>vFolder Sources</b>"
-#: mail/mail-dialogs.glade.h:8
+#: ../mail/mail-dialogs.glade.h:8
msgid "<span weight=\"bold\">Digital Signature</span>"
msgstr "<span weight=\"bold\">Digital Signature</span>"
-#: mail/mail-dialogs.glade.h:9
+#: ../mail/mail-dialogs.glade.h:9
msgid "<span weight=\"bold\">Encryption</span>"
msgstr "<span weight=\"bold\">Encryption</span>"
-#: mail/mail-dialogs.glade.h:10
+#: ../mail/mail-dialogs.glade.h:10
msgid "Case _Sensitive"
msgstr "Case _Sensitive"
-#: mail/mail-dialogs.glade.h:11
-#: mail/message-tags.glade.h:2
+#: ../mail/mail-dialogs.glade.h:11
+#: ../mail/message-tags.glade.h:2
msgid "Co_mpleted"
msgstr "Co_mpleted"
-#: mail/mail-dialogs.glade.h:13
+#: ../mail/mail-dialogs.glade.h:13
msgid "F_ind:"
msgstr "F_ind:"
-#: mail/mail-dialogs.glade.h:14
+#: ../mail/mail-dialogs.glade.h:14
msgid "Find in Message"
msgstr "Find in Message"
-#: mail/mail-dialogs.glade.h:15
-#: mail/message-tag-followup.c:295
-#: mail/message-tags.glade.h:3
+#: ../mail/mail-dialogs.glade.h:15
+#: ../mail/message-tag-followup.c:295
+#: ../mail/message-tags.glade.h:3
msgid "Flag to Follow Up"
msgstr "Flag to Follow Up"
-#: mail/mail-dialogs.glade.h:16
+#: ../mail/mail-dialogs.glade.h:16
msgid "Folder Subscriptions"
msgstr "Folder Subscriptions"
-#: mail/mail-dialogs.glade.h:17
+#: ../mail/mail-dialogs.glade.h:17
msgid "License Agreement"
msgstr "Licence Agreement"
-#: mail/mail-dialogs.glade.h:18
+#: ../mail/mail-dialogs.glade.h:18
msgid "None Selected"
msgstr "None Selected"
-#: mail/mail-dialogs.glade.h:19
+#: ../mail/mail-dialogs.glade.h:19
msgid "S_erver:"
msgstr "S_erver:"
-#: mail/mail-dialogs.glade.h:20
+#: ../mail/mail-dialogs.glade.h:20
msgid "Security Information"
msgstr "Security Information"
-#: mail/mail-dialogs.glade.h:22
-#: mail/message-tags.glade.h:4
+#: ../mail/mail-dialogs.glade.h:22
+#: ../mail/message-tags.glade.h:4
msgid ""
"The messages you have selected for follow up are listed below.\n"
"Please select a follow up action from the \"Flag\" menu."
@@ -12694,75 +12740,75 @@ msgstr ""
"The messages you have selected for follow up are listed below.\n"
"Please select a follow up action from the \"Flag\" menu."
-#: mail/mail-dialogs.glade.h:24
+#: ../mail/mail-dialogs.glade.h:24
msgid "_Accept License"
msgstr "_Accept Licence"
-#: mail/mail-dialogs.glade.h:25
-#: mail/message-tags.glade.h:6
+#: ../mail/mail-dialogs.glade.h:25
+#: ../mail/message-tags.glade.h:6
msgid "_Due By:"
msgstr "_Due By:"
-#: mail/mail-dialogs.glade.h:26
-#: mail/message-tags.glade.h:7
+#: ../mail/mail-dialogs.glade.h:26
+#: ../mail/message-tags.glade.h:7
msgid "_Flag:"
msgstr "_Flag:"
-#: mail/mail-dialogs.glade.h:27
+#: ../mail/mail-dialogs.glade.h:27
msgid "_Subscribe"
msgstr "_Subscribe"
-#: mail/mail-dialogs.glade.h:28
+#: ../mail/mail-dialogs.glade.h:28
msgid "_Tick this to accept the license agreement"
msgstr "_Tick this to accept the licence agreement"
-#: mail/mail-dialogs.glade.h:29
+#: ../mail/mail-dialogs.glade.h:29
msgid "_Unsubscribe"
msgstr "_Unsubscribe"
-#: mail/mail-dialogs.glade.h:30
+#: ../mail/mail-dialogs.glade.h:30
msgid "specific folders only"
msgstr "specific folders only"
-#: mail/mail-dialogs.glade.h:31
+#: ../mail/mail-dialogs.glade.h:31
msgid "with all active remote folders"
msgstr "with all active remote folders"
-#: mail/mail-dialogs.glade.h:32
+#: ../mail/mail-dialogs.glade.h:32
msgid "with all local and active remote folders"
msgstr "with all local and active remote folders"
-#: mail/mail-dialogs.glade.h:33
+#: ../mail/mail-dialogs.glade.h:33
msgid "with all local folders"
msgstr "with all local folders"
#. mail:camel-service-auth-invalid primary
-#: mail/mail-errors.xml.h:2
+#: ../mail/mail-errors.xml.h:2
msgid "Invalid authentication"
msgstr "Invalid authentication"
#. mail:camel-service-auth-invalid secondary
-#: mail/mail-errors.xml.h:4
+#: ../mail/mail-errors.xml.h:4
msgid "This server does not support this type of authentication and may not support authentication at all."
msgstr "This server does not support this type of authentication and may not support authentication at all."
#. mail:camel-service-auth-failed primary
-#: mail/mail-errors.xml.h:6
+#: ../mail/mail-errors.xml.h:6
msgid "Your login to your server \"{0}\" as \"{0}\" failed."
msgstr "Your login to your server \"{0}\" as \"{0}\" failed."
#. mail:camel-service-auth-failed secondary
-#: mail/mail-errors.xml.h:8
+#: ../mail/mail-errors.xml.h:8
msgid "Check to make sure your password is spelled correctly. Remember that many passwords are case sensitive; your caps lock might be on."
msgstr "Check to make sure your password is spelled correctly. Remember that many passwords are case sensitive; your caps lock might be on."
#. mail:ask-send-html primary
-#: mail/mail-errors.xml.h:10
+#: ../mail/mail-errors.xml.h:10
msgid "Are you sure you want to send a message in HTML format?"
msgstr "Are you sure you want to send a message in HTML format?"
#. mail:ask-send-html secondary
-#: mail/mail-errors.xml.h:12
+#: ../mail/mail-errors.xml.h:12
msgid ""
"Please make sure the following recipients are willing and able to receive HTML email:\n"
"{0}\n"
@@ -12773,23 +12819,23 @@ msgstr ""
"Send anyway?"
#. mail:ask-send-no-subject primary
-#: mail/mail-errors.xml.h:17
+#: ../mail/mail-errors.xml.h:17
msgid "Are you sure you want to send a message without a subject?"
msgstr "Are you sure you want to send a message without a subject?"
#. mail:ask-send-no-subject secondary
-#: mail/mail-errors.xml.h:19
+#: ../mail/mail-errors.xml.h:19
msgid "Adding a meaningful Subject line to your messages will give your recipients an idea of what your mail is about."
msgstr "Adding a meaningful Subject line to your messages will give your recipients an idea of what your mail is about."
#. mail:ask-send-only-bcc-contact primary
-#: mail/mail-errors.xml.h:22
-#: mail/mail-errors.xml.h:29
+#: ../mail/mail-errors.xml.h:22
+#: ../mail/mail-errors.xml.h:29
msgid "Are you sure you want to send a message with only BCC recipients?"
msgstr "Are you sure you want to send a message with only BCC recipients?"
#. mail:ask-send-only-bcc-contact secondary
-#: mail/mail-errors.xml.h:24
+#: ../mail/mail-errors.xml.h:24
msgid ""
"The contact list you are sending to is configured to hide list recipients.\n"
"\n"
@@ -12800,89 +12846,89 @@ msgstr ""
"Many email systems add an Apparently-To header to messages that only have BCC recipients. This header, if added, will list all of your recipients in your message. To avoid this, you should add at least one To: or CC: recipient. "
#. mail:ask-send-only-bcc secondary
-#: mail/mail-errors.xml.h:31
+#: ../mail/mail-errors.xml.h:31
msgid "Many email systems add an Apparently-To header to messages that only have BCC recipients. This header, if added, will list all of your recipients to your message anyway. To avoid this, you should add at least one To: or CC: recipient."
msgstr "Many email systems add an Apparently-To header to messages that only have BCC recipients. This header, if added, will list all of your recipients to your message anyway. To avoid this, you should add at least one To: or CC: recipient."
#. mail:send-no-recipients primary
-#: mail/mail-errors.xml.h:34
+#: ../mail/mail-errors.xml.h:34
msgid "This message cannot be sent because you have not specified any Recipients"
msgstr "This message cannot be sent because you have not specified any Recipients"
#. mail:send-no-recipients secondary
-#: mail/mail-errors.xml.h:36
+#: ../mail/mail-errors.xml.h:36
msgid "Please enter a valid email address in the To: field. You can search for email addresses by clicking on the To: button next to the entry box."
msgstr "Please enter a valid email address in the To: field. You can search for email addresses by clicking on the To: button next to the entry box."
#. mail:ask-default-drafts primary
-#: mail/mail-errors.xml.h:38
+#: ../mail/mail-errors.xml.h:38
msgid "Use default drafts folder?"
msgstr "Use default drafts folder?"
#. mail:ask-default-drafts secondary
-#: mail/mail-errors.xml.h:40
+#: ../mail/mail-errors.xml.h:40
msgid "Unable to open the drafts folder for this account. Use the system drafts folder instead?"
msgstr "Unable to open the drafts folder for this account. Use the system drafts folder instead?"
-#: mail/mail-errors.xml.h:41
+#: ../mail/mail-errors.xml.h:41
msgid "Use _Default"
msgstr "Use _Default"
#. mail:ask-expunge primary
-#: mail/mail-errors.xml.h:43
+#: ../mail/mail-errors.xml.h:43
msgid "Are you sure you want to permanently remove all the deleted message in folder \"{0}\"?"
msgstr "Are you sure you want to permanently remove all the deleted message in folder \"{0}\"?"
#. mail:ask-expunge secondary
-#: mail/mail-errors.xml.h:45
-#: mail/mail-errors.xml.h:50
+#: ../mail/mail-errors.xml.h:45
+#: ../mail/mail-errors.xml.h:50
msgid "If you continue, you will not be able to recover these messages."
msgstr "If you continue, you will not be able to recover these messages."
-#: mail/mail-errors.xml.h:46
+#: ../mail/mail-errors.xml.h:46
msgid "_Expunge"
msgstr "_Expunge"
#. mail:ask-empty-trash primary
-#: mail/mail-errors.xml.h:48
+#: ../mail/mail-errors.xml.h:48
msgid "Are you sure you want to permanently remove all the deleted messages in all folders?"
msgstr "Are you sure you want to permanently remove all the deleted messages in all folders?"
-#: mail/mail-errors.xml.h:51
+#: ../mail/mail-errors.xml.h:51
msgid "_Empty Trash"
msgstr "_Empty Wastebasket"
#. mail:ask-open-many primary
-#: mail/mail-errors.xml.h:53
+#: ../mail/mail-errors.xml.h:53
msgid "Are you sure you want to open {0} messages at once?"
msgstr "Are you sure you want to open {0} messages at once?"
#. mail:ask-open-many secondary
-#: mail/mail-errors.xml.h:55
+#: ../mail/mail-errors.xml.h:55
msgid "Opening too many messages at once may take a long time."
msgstr "Opening too many messages at once may take a long time."
-#: mail/mail-errors.xml.h:56
+#: ../mail/mail-errors.xml.h:56
msgid "_Open Messages"
msgstr "_Open Messages"
#. mail:exit-unsaved primary
-#: mail/mail-errors.xml.h:58
+#: ../mail/mail-errors.xml.h:58
msgid "You have unsent messages, do you wish to quit anyway?"
msgstr "You have unsent messages, do you wish to quit anyway?"
#. mail:exit-unsaved secondary
-#: mail/mail-errors.xml.h:60
+#: ../mail/mail-errors.xml.h:60
msgid "If you quit, these messages will not be sent until Evolution is started again."
msgstr "If you quit, these messages will not be sent until Evolution is started again."
#. mail:camel-exception primary
-#: mail/mail-errors.xml.h:62
+#: ../mail/mail-errors.xml.h:62
msgid "Your message with the subject \"{0}\" was not delivered."
msgstr "Your message with the subject \"{0}\" was not delivered."
#. mail:camel-exception secondary
-#: mail/mail-errors.xml.h:64
+#: ../mail/mail-errors.xml.h:64
msgid ""
"The message was sent via the \"sendmail\" external application. Sendmail reports the following error: status 67: mail not sent.\n"
"The message is stored in the Outbox folder. Check the message for errors and resend."
@@ -12891,250 +12937,251 @@ msgstr ""
"The message is stored in the Outbox folder. Check the message for errors and resend."
#. mail:async-error primary
-#: mail/mail-errors.xml.h:67
+#: ../mail/mail-errors.xml.h:67
msgid "Error while {0}."
msgstr "Error while {0}."
#. mail:async-error secondary
-#: mail/mail-errors.xml.h:69
+#: ../mail/mail-errors.xml.h:69
msgid "{1}."
msgstr "{1}."
#. mail:async-error-nodescribe primary
-#: mail/mail-errors.xml.h:71
+#: ../mail/mail-errors.xml.h:71
msgid "Error while performing operation."
msgstr "Error while performing operation."
#. mail:async-error-nodescribe secondary
-#: mail/mail-errors.xml.h:73
+#: ../mail/mail-errors.xml.h:73
msgid "{0}."
msgstr "{0}."
#. mail:ask-session-password primary
-#: mail/mail-errors.xml.h:87
+#: ../mail/mail-errors.xml.h:87
msgid "Enter password."
msgstr "Enter password."
#. mail:filter-load-error primary
-#: mail/mail-errors.xml.h:91
+#: ../mail/mail-errors.xml.h:91
msgid "Error loading filter definitions."
msgstr "Error loading filter definitions."
#. mail:no-save-path primary
-#: mail/mail-errors.xml.h:95
+#: ../mail/mail-errors.xml.h:95
msgid "Cannot save to directory \"{0}\"."
msgstr "Cannot save to directory \"{0}\"."
#. mail:no-create-path primary
-#: mail/mail-errors.xml.h:99
-#: mail/mail-errors.xml.h:107
-#: mail/mail-errors.xml.h:111
+#. mail:no-write-path-notfile primary
+#: ../mail/mail-errors.xml.h:99
+#: ../mail/mail-errors.xml.h:107
+#: ../mail/mail-errors.xml.h:111
msgid "Cannot save to file \"{0}\"."
msgstr "Cannot save to file \"{0}\"."
#. mail:no-create-path secondary
-#: mail/mail-errors.xml.h:101
+#: ../mail/mail-errors.xml.h:101
msgid "Cannot create the save directory, because \"{1}\""
msgstr "Cannot create the save directory, because \"{1}\""
#. mail:no-create-tmp-path primary
-#: mail/mail-errors.xml.h:103
+#: ../mail/mail-errors.xml.h:103
msgid "Cannot create temporary save directory."
msgstr "Cannot create temporary save directory."
#. mail:no-write-path-exists secondary
-#: mail/mail-errors.xml.h:109
+#: ../mail/mail-errors.xml.h:109
msgid "File exists but cannot overwrite it."
msgstr "File exists but cannot overwrite it."
#. mail:no-write-path-notfile secondary
-#: mail/mail-errors.xml.h:113
+#: ../mail/mail-errors.xml.h:113
msgid "File exists but is not a regular file."
msgstr "File exists but is not a regular file."
#. mail:no-delete-folder primary
-#: mail/mail-errors.xml.h:115
+#: ../mail/mail-errors.xml.h:115
msgid "Cannot delete folder \"{0}\"."
msgstr "Cannot delete folder \"{0}\"."
#. mail:no-delete-special-folder primary
-#: mail/mail-errors.xml.h:119
+#: ../mail/mail-errors.xml.h:119
msgid "Cannot delete system folder \"{0}\"."
msgstr "Cannot delete system folder \"{0}\"."
#. mail:no-delete-special-folder secondary
-#: mail/mail-errors.xml.h:121
-#: mail/mail-errors.xml.h:125
+#: ../mail/mail-errors.xml.h:121
+#: ../mail/mail-errors.xml.h:125
msgid "System folders are required for Ximian Evolution to function correctly and cannot be renamed, moved, or deleted."
msgstr "System folders are required for Ximian Evolution to function correctly and cannot be renamed, moved, or deleted."
#. mail:no-rename-special-folder primary
-#: mail/mail-errors.xml.h:123
+#: ../mail/mail-errors.xml.h:123
msgid "Cannot rename or move system folder \"{0}\"."
msgstr "Cannot rename or move system folder \"{0}\"."
#. mail:ask-delete-folder title
-#: mail/mail-errors.xml.h:127
+#: ../mail/mail-errors.xml.h:127
msgid "Delete \"{0}\"?"
msgstr "Delete \"{0}\"?"
#. mail:ask-delete-folder primary
-#: mail/mail-errors.xml.h:129
+#: ../mail/mail-errors.xml.h:129
msgid "Really delete folder \"{0}\" and all of its subfolders?"
msgstr "Really delete folder \"{0}\" and all of its subfolders?"
#. mail:ask-delete-folder secondary
-#: mail/mail-errors.xml.h:131
+#: ../mail/mail-errors.xml.h:131
msgid "If you delete the folder, all of its contents and its subfolders contents will be deleted permanently."
msgstr "If you delete the folder, all of its contents and its subfolders contents will be deleted permanently."
#. mail:no-rename-folder-exists primary
-#: mail/mail-errors.xml.h:133
-#: mail/mail-errors.xml.h:137
+#: ../mail/mail-errors.xml.h:133
+#: ../mail/mail-errors.xml.h:137
msgid "Cannot rename \"{0}\" to \"{1}\"."
msgstr "Cannot rename \"{0}\" to \"{1}\"."
#. mail:no-rename-folder-exists secondary
-#: mail/mail-errors.xml.h:135
-#: mail/mail-errors.xml.h:197
+#: ../mail/mail-errors.xml.h:135
+#: ../mail/mail-errors.xml.h:197
msgid "A folder named \"{1}\" already exists. Please use a different name."
msgstr "A folder named \"{1}\" already exists. Please use a different name."
#. mail:no-rename-folder secondary
-#: mail/mail-errors.xml.h:139
+#: ../mail/mail-errors.xml.h:139
msgid "Because \"{2}\"."
msgstr "Because \"{2}\"."
#. mail:no-move-folder-nostore primary
-#: mail/mail-errors.xml.h:141
-#: mail/mail-errors.xml.h:145
+#: ../mail/mail-errors.xml.h:141
+#: ../mail/mail-errors.xml.h:145
msgid "Cannot move folder \"{0}\" to \"{1}\"."
msgstr "Cannot move folder \"{0}\" to \"{1}\"."
#. mail:no-move-folder-nostore secondary
-#: mail/mail-errors.xml.h:143
-#: mail/mail-errors.xml.h:151
+#: ../mail/mail-errors.xml.h:143
+#: ../mail/mail-errors.xml.h:151
msgid "Cannot open source \"{2}\"."
msgstr "Cannot open source \"{2}\"."
#. mail:no-move-folder-to-nostore secondary
-#: mail/mail-errors.xml.h:147
-#: mail/mail-errors.xml.h:155
+#: ../mail/mail-errors.xml.h:147
+#: ../mail/mail-errors.xml.h:155
msgid "Cannot open target \"{2}\"."
msgstr "Cannot open target \"{2}\"."
#. mail:no-copy-folder-nostore primary
-#: mail/mail-errors.xml.h:149
-#: mail/mail-errors.xml.h:153
+#: ../mail/mail-errors.xml.h:149
+#: ../mail/mail-errors.xml.h:153
msgid "Cannot copy folder \"{0}\" to \"{1}\"."
msgstr "Cannot copy folder \"{0}\" to \"{1}\"."
#. mail:no-create-folder-nostore primary
-#: mail/mail-errors.xml.h:157
+#: ../mail/mail-errors.xml.h:157
msgid "Cannot create folder \"{0}\"."
msgstr "Cannot create folder \"{0}\"."
#. mail:no-create-folder-nostore secondary
-#: mail/mail-errors.xml.h:159
+#: ../mail/mail-errors.xml.h:159
msgid "Cannot open source \"{1}\""
msgstr "Cannot open source \"{1}\""
#. mail:account-incomplete primary
-#: mail/mail-errors.xml.h:161
-#: mail/mail-errors.xml.h:165
+#: ../mail/mail-errors.xml.h:161
+#: ../mail/mail-errors.xml.h:165
msgid "Cannot save changes to account."
msgstr "Cannot save changes to account."
#. mail:account-incomplete secondary
-#: mail/mail-errors.xml.h:163
+#: ../mail/mail-errors.xml.h:163
msgid "You have not filled in all of the required information."
msgstr "You have not filled in all of the required information."
#. mail:account-notunique secondary
-#: mail/mail-errors.xml.h:167
+#: ../mail/mail-errors.xml.h:167
msgid "You may not create two accounts with the same name."
msgstr "You may not create two accounts with the same name."
#. mail:ask-delete-account title
-#: mail/mail-errors.xml.h:169
+#: ../mail/mail-errors.xml.h:169
msgid "Delete account?"
msgstr "Delete account?"
#. mail:ask-delete-account primary
-#: mail/mail-errors.xml.h:171
+#: ../mail/mail-errors.xml.h:171
msgid "Are you sure you want to delete this account?"
msgstr "Are you sure you want to delete this account?"
#. mail:ask-delete-account secondary
-#: mail/mail-errors.xml.h:173
+#: ../mail/mail-errors.xml.h:173
msgid "If you proceed, the account information will be deleted permanently."
msgstr "If you proceed, the account information will be deleted permanently."
-#: mail/mail-errors.xml.h:174
+#: ../mail/mail-errors.xml.h:174
msgid "Don't delete"
msgstr "Don't delete"
#. mail:no-save-signature primary
-#: mail/mail-errors.xml.h:176
+#: ../mail/mail-errors.xml.h:176
msgid "Could not save signature file."
msgstr "Could not save signature file."
#. mail:no-save-signature secondary
-#: mail/mail-errors.xml.h:178
+#: ../mail/mail-errors.xml.h:178
msgid "Because \"{0}\"."
msgstr "Because \"{0}\"."
#. mail:signature-notscript primary
-#: mail/mail-errors.xml.h:180
+#: ../mail/mail-errors.xml.h:180
msgid "Cannot set signature script \"{0}\"."
msgstr "Cannot set signature script \"{0}\"."
#. mail:signature-notscript secondary
-#: mail/mail-errors.xml.h:182
+#: ../mail/mail-errors.xml.h:182
msgid "The script file must exist and be executable."
msgstr "The script file must exist and be executable."
#. mail:ask-signature-changed title
-#: mail/mail-errors.xml.h:184
+#: ../mail/mail-errors.xml.h:184
msgid "Discard changed?"
msgstr "Discard changed?"
#. mail:ask-signature-changed primary
-#: mail/mail-errors.xml.h:186
+#: ../mail/mail-errors.xml.h:186
msgid "Do you wish to save your changes?"
msgstr "Do you wish to save your changes?"
#. mail:ask-signature-changed secondary
-#: mail/mail-errors.xml.h:188
+#: ../mail/mail-errors.xml.h:188
msgid "This signature has been changed, but has not been saved."
msgstr "This signature has been changed, but has not been saved."
-#: mail/mail-errors.xml.h:189
+#: ../mail/mail-errors.xml.h:189
msgid "_Discard changes"
msgstr "_Discard changes"
#. mail:vfolder-notexist primary
-#: mail/mail-errors.xml.h:191
+#: ../mail/mail-errors.xml.h:191
msgid "Cannot edit vFolder \"{0}\" as it does not exist."
msgstr "Cannot edit vFolder \"{0}\" as it does not exist."
#. mail:vfolder-notexist secondary
-#: mail/mail-errors.xml.h:193
+#: ../mail/mail-errors.xml.h:193
msgid "This folder may have been added implicitly, go to the vFolder editor to add it explicitly, if required."
msgstr "This folder may have been added implicitly, go to the vFolder editor to add it explicitly, if required."
#. mail:vfolder-notunique primary
-#: mail/mail-errors.xml.h:195
+#: ../mail/mail-errors.xml.h:195
msgid "Cannot add vFolder \"{0}\"."
msgstr "Cannot add vFolder \"{0}\"."
#. mail:vfolder-updated primary
-#: mail/mail-errors.xml.h:199
+#: ../mail/mail-errors.xml.h:199
msgid "vFolders automatically updated."
msgstr "vFolders automatically updated."
#. mail:vfolder-updated secondary
-#: mail/mail-errors.xml.h:201
+#: ../mail/mail-errors.xml.h:201
msgid ""
"The following vFolder(s):\n"
"{0}\n"
@@ -13149,12 +13196,12 @@ msgstr ""
"And have been updated."
#. mail:filter-updated primary
-#: mail/mail-errors.xml.h:207
+#: ../mail/mail-errors.xml.h:207
msgid "Mail filters automatically updated."
msgstr "Mail filters automatically updated."
#. mail:filter-updated secondary
-#: mail/mail-errors.xml.h:209
+#: ../mail/mail-errors.xml.h:209
msgid ""
"The following filter rule(s):\n"
"{0}\n"
@@ -13169,27 +13216,27 @@ msgstr ""
"And have been updated."
#. mail:no-folder primary
-#: mail/mail-errors.xml.h:215
+#: ../mail/mail-errors.xml.h:215
msgid "Missing folder."
msgstr "Missing folder."
#. mail:no-folder secondary
-#: mail/mail-errors.xml.h:217
+#: ../mail/mail-errors.xml.h:217
msgid "You must specify a folder."
msgstr "You must specify a folder."
#. mail:no-name-vfolder secondary
-#: mail/mail-errors.xml.h:221
+#: ../mail/mail-errors.xml.h:221
msgid "You must name this vFolder."
msgstr "You must name this vFolder."
#. mail:vfolder-no-source primary
-#: mail/mail-errors.xml.h:223
+#: ../mail/mail-errors.xml.h:223
msgid "No sources selected."
msgstr "No sources selected."
#. mail:vfolder-no-source secondary
-#: mail/mail-errors.xml.h:225
+#: ../mail/mail-errors.xml.h:225
msgid ""
"You must specify at least one folder as a source.\n"
"Either by selecting the folders individually, and/or by selecting\n"
@@ -13200,12 +13247,12 @@ msgstr ""
"all local folders, all remote folders, or both."
#. mail:ask-migrate-existing primary
-#: mail/mail-errors.xml.h:229
+#: ../mail/mail-errors.xml.h:229
msgid "Problem migrating old mail folder \"{0}\"."
msgstr "Problem migrating old mail folder \"{0}\"."
#. mail:ask-migrate-existing secondary
-#: mail/mail-errors.xml.h:231
+#: ../mail/mail-errors.xml.h:231
msgid ""
"A non-empty folder at \"{1}\" already exists.\n"
"\n"
@@ -13215,26 +13262,26 @@ msgstr ""
"\n"
"You can choose to ignore this folder, overwrite or append its contents, or quit.\n"
-#: mail/mail-errors.xml.h:235
+#: ../mail/mail-errors.xml.h:235
msgid "Ignore"
msgstr "Ignore"
-#: mail/mail-errors.xml.h:236
-#: widgets/misc/e-system-errors.xml.h:7
+#: ../mail/mail-errors.xml.h:236
+#: ../widgets/misc/e-system-errors.xml.h:7
msgid "_Overwrite"
msgstr "_Overwrite"
-#: mail/mail-errors.xml.h:237
+#: ../mail/mail-errors.xml.h:237
msgid "_Append"
msgstr "_Append"
#. mail:no-load-license primary
-#: mail/mail-errors.xml.h:239
+#: ../mail/mail-errors.xml.h:239
msgid "Unable to read license file."
msgstr "Unable to read licence file."
#. mail:no-load-license secondary
-#: mail/mail-errors.xml.h:241
+#: ../mail/mail-errors.xml.h:241
msgid ""
"Cannot read the license file \"{0}\", due to an\n"
" installation problem. You will not be able to use this provider until\n"
@@ -13245,23 +13292,23 @@ msgstr ""
" you can accept its licence."
#. mail:checking-service title
-#: mail/mail-errors.xml.h:245
+#: ../mail/mail-errors.xml.h:245
msgid "Querying server"
msgstr "Querying server"
#. mail:checking-service primary
-#: mail/mail-errors.xml.h:247
+#: ../mail/mail-errors.xml.h:247
msgid "Please wait."
msgstr "Please wait."
#. mail:checking-service secondary
-#: mail/mail-errors.xml.h:249
+#: ../mail/mail-errors.xml.h:249
msgid "Querying server for a list of supported authentication mechanisms."
msgstr "Querying server for a list of supported authentication mechanisms."
# mail:gw-accountsetup-error primary
#. mail:gw-accountsetup-error primary
-#: mail/mail-errors.xml.h:251
+#: ../mail/mail-errors.xml.h:251
msgid ""
"Unable to connect to the GroupWise\n"
"server."
@@ -13271,7 +13318,7 @@ msgstr ""
# mail:gw-accountsetup-error secondary
#. mail:gw-accountsetup-error secondary
-#: mail/mail-errors.xml.h:254
+#: ../mail/mail-errors.xml.h:254
msgid ""
"\n"
"Please check your account settings and try again.\n"
@@ -13279,21 +13326,21 @@ msgstr ""
"\n"
"Please check your account settings and try again.\n"
-#: mail/mail-folder-cache.c:813
+#: ../mail/mail-folder-cache.c:813
#, c-format
msgid "Pinging %s"
msgstr "Pinging %s"
-#: mail/mail-ops.c:101
+#: ../mail/mail-ops.c:101
msgid "Filtering Folder"
msgstr "Filtering Folder"
-#: mail/mail-ops.c:262
+#: ../mail/mail-ops.c:262
msgid "Fetching Mail"
msgstr "Fetching Mail"
-#: mail/mail-ops.c:542
-#: mail/mail-ops.c:585
+#: ../mail/mail-ops.c:542
+#: ../mail/mail-ops.c:585
#, c-format
msgid ""
"Failed to append to %s: %s\n"
@@ -13303,121 +13350,121 @@ msgstr ""
"Appending to local `Sent' folder instead."
#. sending mail, filtering failed
-#: mail/mail-ops.c:564
+#: ../mail/mail-ops.c:564
#, c-format
msgid "Failed to apply outgoing filters: %s"
msgstr "Failed to apply outgoing filters: %s"
-#: mail/mail-ops.c:602
+#: ../mail/mail-ops.c:602
#, c-format
msgid "Failed to append to local `Sent' folder: %s"
msgstr "Failed to append to local `Sent' folder: %s"
-#: mail/mail-ops.c:702
+#: ../mail/mail-ops.c:702
#, c-format
msgid "Sending message %d of %d"
msgstr "Sending message %d of %d"
-#: mail/mail-ops.c:727
+#: ../mail/mail-ops.c:727
#, c-format
msgid "Failed to send %d of %d messages"
msgstr "Failed to send %d of %d messages"
-#: mail/mail-ops.c:729
-#: mail/mail-send-recv.c:613
+#: ../mail/mail-ops.c:729
+#: ../mail/mail-send-recv.c:613
msgid "Cancelled."
msgstr "Cancelled."
-#: mail/mail-ops.c:731
+#: ../mail/mail-ops.c:731
msgid "Complete."
msgstr "Complete."
-#: mail/mail-ops.c:828
+#: ../mail/mail-ops.c:828
msgid "Saving message to folder"
msgstr "Saving message to folder"
-#: mail/mail-ops.c:913
+#: ../mail/mail-ops.c:913
#, c-format
msgid "Moving messages to %s"
msgstr "Moving messages to %s"
-#: mail/mail-ops.c:913
+#: ../mail/mail-ops.c:913
#, c-format
msgid "Copying messages to %s"
msgstr "Copying messages to %s"
-#: mail/mail-ops.c:1139
+#: ../mail/mail-ops.c:1139
msgid "Forwarded messages"
msgstr "Forwarded messages"
-#: mail/mail-ops.c:1182
+#: ../mail/mail-ops.c:1182
#, c-format
msgid "Opening folder %s"
msgstr "Opening folder %s"
-#: mail/mail-ops.c:1254
+#: ../mail/mail-ops.c:1254
#, c-format
msgid "Opening store %s"
msgstr "Opening store %s"
-#: mail/mail-ops.c:1332
+#: ../mail/mail-ops.c:1332
#, c-format
msgid "Removing folder %s"
msgstr "Removing folder %s"
-#: mail/mail-ops.c:1426
+#: ../mail/mail-ops.c:1426
#, c-format
msgid "Storing folder '%s'"
msgstr "Storing folder '%s'"
-#: mail/mail-ops.c:1491
+#: ../mail/mail-ops.c:1491
#, c-format
msgid "Expunging and storing account '%s'"
msgstr "Expunging and storing account '%s'"
-#: mail/mail-ops.c:1492
+#: ../mail/mail-ops.c:1492
#, c-format
msgid "Storing account '%s'"
msgstr "Storing account '%s'"
-#: mail/mail-ops.c:1547
+#: ../mail/mail-ops.c:1547
msgid "Refreshing folder"
msgstr "Refreshing folder"
-#: mail/mail-ops.c:1583
-#: mail/mail-ops.c:1634
+#: ../mail/mail-ops.c:1583
+#: ../mail/mail-ops.c:1634
msgid "Expunging folder"
msgstr "Expunging folder"
-#: mail/mail-ops.c:1631
+#: ../mail/mail-ops.c:1631
#, c-format
msgid "Emptying trash in '%s'"
msgstr "Emptying trash in '%s'"
-#: mail/mail-ops.c:1632
+#: ../mail/mail-ops.c:1632
msgid "Local Folders"
msgstr "Local Folders"
-#: mail/mail-ops.c:1715
+#: ../mail/mail-ops.c:1715
#, c-format
msgid "Retrieving message %s"
msgstr "Retrieving message %s"
-#: mail/mail-ops.c:1787
+#: ../mail/mail-ops.c:1787
#, c-format
msgid "Retrieving %d message"
msgid_plural "Retrieving %d messages"
msgstr[0] "Retrieving %d message"
msgstr[1] "Retrieving %d messages"
-#: mail/mail-ops.c:1873
+#: ../mail/mail-ops.c:1873
#, c-format
msgid "Saving %d message"
msgid_plural "Saving %d messsages"
msgstr[0] "Saving %d message"
msgstr[1] "Saving %d messages"
-#: mail/mail-ops.c:1923
+#: ../mail/mail-ops.c:1923
#, c-format
msgid ""
"Unable to create output file: %s\n"
@@ -13426,7 +13473,7 @@ msgstr ""
"Unable to create output file: %s\n"
" %s"
-#: mail/mail-ops.c:1951
+#: ../mail/mail-ops.c:1951
#, c-format
msgid ""
"Error saving messages to: %s:\n"
@@ -13435,11 +13482,11 @@ msgstr ""
"Error saving messages to: %s:\n"
" %s"
-#: mail/mail-ops.c:2022
+#: ../mail/mail-ops.c:2022
msgid "Saving attachment"
msgstr "Saving attachment"
-#: mail/mail-ops.c:2034
+#: ../mail/mail-ops.c:2034
#, c-format
msgid ""
"Cannot create output file: %s:\n"
@@ -13448,443 +13495,439 @@ msgstr ""
"Cannot create output file: %s:\n"
" %s"
-#: mail/mail-ops.c:2044
+#: ../mail/mail-ops.c:2044
#, c-format
msgid "Could not write data: %s"
msgstr "Could not write data: %s"
-#: mail/mail-ops.c:2194
+#: ../mail/mail-ops.c:2194
#, c-format
msgid "Disconnecting from %s"
msgstr "Disconnecting from %s"
-#: mail/mail-ops.c:2194
+#: ../mail/mail-ops.c:2194
#, c-format
msgid "Reconnecting to %s"
msgstr "Reconnecting to %s"
-#: mail/mail-ops.c:2310
+#: ../mail/mail-ops.c:2310
msgid "Checking Service"
msgstr "Checking Service"
-#: mail/mail-send-recv.c:158
+#: ../mail/mail-send-recv.c:158
msgid "Cancelling..."
msgstr "Cancelling..."
-#: mail/mail-send-recv.c:265
+#: ../mail/mail-send-recv.c:265
#, c-format
msgid "Server: %s, Type: %s"
msgstr "Server: %s, Type: %s"
-#: mail/mail-send-recv.c:267
+#: ../mail/mail-send-recv.c:267
#, c-format
msgid "Path: %s, Type: %s"
msgstr "Path: %s, Type: %s"
-#: mail/mail-send-recv.c:269
+#: ../mail/mail-send-recv.c:269
#, c-format
msgid "Type: %s"
msgstr "Type: %s"
-#: mail/mail-send-recv.c:320
+#: ../mail/mail-send-recv.c:320
msgid "Send & Receive Mail"
msgstr "Send & Receive Mail"
-#: mail/mail-send-recv.c:327
+#: ../mail/mail-send-recv.c:327
msgid "Cancel _All"
msgstr "Cancel _All"
-#: mail/mail-send-recv.c:416
+#: ../mail/mail-send-recv.c:416
msgid "Updating..."
msgstr "Updating..."
-#: mail/mail-send-recv.c:416
-#: mail/mail-send-recv.c:468
+#: ../mail/mail-send-recv.c:416
+#: ../mail/mail-send-recv.c:468
msgid "Waiting..."
msgstr "Waiting..."
-#: mail/mail-session.c:208
+#: ../mail/mail-session.c:208
#, c-format
msgid "Enter Password for %s"
msgstr "Enter Password for %s"
-#: mail/mail-session.c:210
+#: ../mail/mail-session.c:210
msgid "Enter Password"
msgstr "Enter Password"
-#: mail/mail-session.c:239
+#: ../mail/mail-session.c:239
msgid "User canceled operation."
msgstr "User cancelled operation."
-#: mail/mail-signature-editor.c:372
+#: ../mail/mail-signature-editor.c:372
msgid "Edit signature"
msgstr "Edit signature"
-#: mail/mail-signature-editor.c:412
+#: ../mail/mail-signature-editor.c:412
msgid "Enter a name for this signature."
msgstr "Enter a name for this signature."
-#: mail/mail-signature-editor.c:415
-#: plugins/shared-folder/properties.glade.h:5
+#: ../mail/mail-signature-editor.c:415
+#: ../plugins/shared-folder/properties.glade.h:5
msgid "Name:"
msgstr "Name:"
-#: mail/mail-tools.c:115
+#: ../mail/mail-tools.c:115
#, c-format
msgid "Could not create spool directory `%s': %s"
msgstr "Could not create spool directory `%s': %s"
-#: mail/mail-tools.c:142
+#: ../mail/mail-tools.c:142
#, c-format
msgid "Trying to movemail a non-mbox source `%s'"
msgstr "Trying to movemail a non-mbox source `%s'"
-#: mail/mail-tools.c:277
+#: ../mail/mail-tools.c:277
#, c-format
msgid "Forwarded message - %s"
msgstr "Forwarded message - %s"
-#: mail/mail-tools.c:279
+#: ../mail/mail-tools.c:279
msgid "Forwarded message"
msgstr "Forwarded message"
-#: mail/mail-tools.c:320
+#: ../mail/mail-tools.c:320
#, c-format
msgid "Invalid folder: `%s'"
msgstr "Invalid folder: `%s'"
-#: mail/mail-vfolder.c:90
+#: ../mail/mail-vfolder.c:90
#, c-format
msgid "Setting up vFolder: %s"
msgstr "Setting up vFolder: %s"
-#: mail/mail-vfolder.c:239
+#: ../mail/mail-vfolder.c:239
#, c-format
msgid "Updating vFolders for '%s:%s'"
msgstr "Updating vFolders for '%s:%s'"
-#: mail/mail-vfolder.c:246
+#: ../mail/mail-vfolder.c:246
#, c-format
msgid "Updating vFolders for '%s'"
msgstr "Updating vFolders for '%s'"
-#: mail/mail-vfolder.c:1008
+#: ../mail/mail-vfolder.c:1008
msgid "Edit vFolder"
msgstr "Edit vFolder"
-#: mail/mail-vfolder.c:1092
+#: ../mail/mail-vfolder.c:1092
msgid "New vFolder"
msgstr "New vFolder"
-#: mail/message-list.c:999
+#: ../mail/message-list.c:994
msgid "Unseen"
msgstr "Unseen"
-#: mail/message-list.c:1000
+#: ../mail/message-list.c:995
msgid "Seen"
msgstr "Seen"
-#: mail/message-list.c:1001
+#: ../mail/message-list.c:996
msgid "Answered"
msgstr "Answered"
-#: mail/message-list.c:1002
+#: ../mail/message-list.c:997
msgid "Multiple Unseen Messages"
msgstr "Multiple Unseen Messages"
-#: mail/message-list.c:1003
+#: ../mail/message-list.c:998
msgid "Multiple Messages"
msgstr "Multiple Messages"
-#: mail/message-list.c:1007
+#: ../mail/message-list.c:1002
msgid "Lowest"
msgstr "Lowest"
-#: mail/message-list.c:1008
+#: ../mail/message-list.c:1003
msgid "Lower"
msgstr "Lower"
-#: mail/message-list.c:1012
+#: ../mail/message-list.c:1007
msgid "Higher"
msgstr "Higher"
-#: mail/message-list.c:1013
+#: ../mail/message-list.c:1008
msgid "Highest"
msgstr "Highest"
-#: mail/message-list.c:1341
+#: ../mail/message-list.c:1336
msgid "?"
msgstr "?"
#. strftime format of a time,
-#: mail/message-list.c:1348
-#: plugins/itip-formatter/itip-view.c:189
+#: ../mail/message-list.c:1343
+#: ../plugins/itip-formatter/itip-view.c:189
msgid "Today %l:%M %p"
msgstr "Today %l:%M %p"
-#: mail/message-list.c:1357
+#: ../mail/message-list.c:1352
msgid "Yesterday %l:%M %p"
msgstr "Yesterday %l:%M %p"
-#: mail/message-list.c:1369
+#: ../mail/message-list.c:1364
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
-#: mail/message-list.c:1377
+#: ../mail/message-list.c:1372
msgid "%b %d %l:%M %p"
msgstr "%d %b %l:%M %p"
-#: mail/message-list.c:1379
+#: ../mail/message-list.c:1374
msgid "%b %d %Y"
msgstr "%d %b %Y"
-#: mail/message-list.c:2046
+#: ../mail/message-list.c:2041
msgid "Message List"
msgstr "Message List"
-#: mail/message-list.c:3386
+#: ../mail/message-list.c:3384
msgid "Generating message list"
msgstr "Generating message list"
-#: mail/message-list.etspec.h:3
+#: ../mail/message-list.etspec.h:3
msgid "Due By"
msgstr "Due By"
-#: mail/message-list.etspec.h:4
+#: ../mail/message-list.etspec.h:4
msgid "Flag Status"
msgstr "Flag Status"
-#: mail/message-list.etspec.h:5
+#: ../mail/message-list.etspec.h:5
msgid "Flagged"
msgstr "Flagged"
-#: mail/message-list.etspec.h:6
+#: ../mail/message-list.etspec.h:6
msgid "Follow Up Flag"
msgstr "Follow Up Flag"
-#: mail/message-list.etspec.h:8
+#: ../mail/message-list.etspec.h:8
msgid "Original Location"
msgstr "Original Location"
-#: mail/message-list.etspec.h:9
+#: ../mail/message-list.etspec.h:9
msgid "Received"
msgstr "Received"
-#: mail/message-list.etspec.h:11
+#: ../mail/message-list.etspec.h:11
msgid "Size"
msgstr "Size"
-#: mail/message-tag-followup.c:74
+#: ../mail/message-tag-followup.c:74
msgid "Call"
msgstr "Call"
-#: mail/message-tag-followup.c:75
+#: ../mail/message-tag-followup.c:75
msgid "Do Not Forward"
msgstr "Do Not Forward"
-#: mail/message-tag-followup.c:76
+#: ../mail/message-tag-followup.c:76
msgid "Follow-Up"
msgstr "Follow-Up"
-#: mail/message-tag-followup.c:77
+#: ../mail/message-tag-followup.c:77
msgid "For Your Information"
msgstr "For Your Information"
-#: mail/message-tag-followup.c:78
-#: ui/evolution-mail-message.xml.h:42
+#: ../mail/message-tag-followup.c:78
+#: ../ui/evolution-mail-message.xml.h:42
msgid "Forward"
msgstr "Forward"
-#: mail/message-tag-followup.c:79
+#: ../mail/message-tag-followup.c:79
msgid "No Response Necessary"
msgstr "No Response Necessary"
-#: mail/message-tag-followup.c:81
-#: ui/evolution-mail-message.xml.h:85
+#: ../mail/message-tag-followup.c:81
+#: ../ui/evolution-mail-message.xml.h:85
msgid "Reply"
msgstr "Reply"
-#: mail/message-tag-followup.c:82
-#: ui/evolution-mail-message.xml.h:86
+#: ../mail/message-tag-followup.c:82
+#: ../ui/evolution-mail-message.xml.h:86
msgid "Reply to All"
msgstr "Reply to All"
-#: mail/message-tag-followup.c:83
+#: ../mail/message-tag-followup.c:83
msgid "Review"
msgstr "Review"
-#: mail/searchtypes.xml.h:1
+#: ../mail/searchtypes.xml.h:1
msgid "Body contains"
msgstr "Body contains"
-#: mail/searchtypes.xml.h:2
+#: ../mail/searchtypes.xml.h:2
msgid "Message contains"
msgstr "Message contains"
-#: mail/searchtypes.xml.h:3
+#: ../mail/searchtypes.xml.h:3
msgid "Recipients contain"
msgstr "Recipients contain"
-#: mail/searchtypes.xml.h:4
+#: ../mail/searchtypes.xml.h:4
msgid "Sender contains"
msgstr "Sender contains"
-#: mail/searchtypes.xml.h:5
+#: ../mail/searchtypes.xml.h:5
msgid "Subject contains"
msgstr "Subject contains"
-#: mail/searchtypes.xml.h:6
+#: ../mail/searchtypes.xml.h:6
msgid "Subject or Sender contains"
msgstr "Subject or Sender contains"
-#: plugins/backup-restore/backup-restore.c:51
+#: ../plugins/backup-restore/backup-restore.c:51
msgid "Select name of Evolution archive"
msgstr "Select name of Evolution archive"
-#: plugins/backup-restore/backup-restore.c:61
+#: ../plugins/backup-restore/backup-restore.c:61
msgid "_Restart Evolution after backup"
msgstr "_Restart Evolution after backup"
-#: plugins/backup-restore/backup-restore.c:89
+#: ../plugins/backup-restore/backup-restore.c:89
msgid "Select Evolution archive to restore"
msgstr "Select Evolution archive to restore"
-#: plugins/backup-restore/backup-restore.c:97
+#: ../plugins/backup-restore/backup-restore.c:97
msgid "_Restart Evolution after restore"
msgstr "_Restart Evolution after restore"
-#: plugins/backup-restore/backup.c:109
+#: ../plugins/backup-restore/backup.c:109
msgid "Backup Evolution directory"
msgstr "Backup Evolution directory"
-#: plugins/backup-restore/backup.c:111
+#: ../plugins/backup-restore/backup.c:111
msgid "Restore Evolution directory"
msgstr "Restore Evolution directory"
-#: plugins/backup-restore/backup.c:113
+#: ../plugins/backup-restore/backup.c:113
msgid "Check Evolution archive"
msgstr "Check Evolution archive"
-#: plugins/backup-restore/backup.c:115
+#: ../plugins/backup-restore/backup.c:115
msgid "Restart Evolution"
msgstr "Restart Evolution"
-#: plugins/backup-restore/org-gnome-backup-restore.xml.h:1
+#: ../plugins/backup-restore/org-gnome-backup-restore.xml.h:1
msgid "Backup Settings..."
msgstr "Backup Settings..."
-#: plugins/backup-restore/org-gnome-backup-restore.xml.h:2
+#: ../plugins/backup-restore/org-gnome-backup-restore.xml.h:2
msgid "Backup and restore Evolution data and settings"
msgstr "Backup and restore Evolution data and settings"
-#: plugins/backup-restore/org-gnome-backup-restore.xml.h:3
+#: ../plugins/backup-restore/org-gnome-backup-restore.xml.h:3
msgid "Restore Settings..."
msgstr "Restore Settings..."
-#: plugins/bbdb/bbdb.c:388
+#: ../plugins/bbdb/bbdb.c:388
msgid "Automatic Contacts"
msgstr "Automatic Contacts"
-#: plugins/bbdb/bbdb.c:397
+#: ../plugins/bbdb/bbdb.c:397
msgid "<span weight=\"bold\">Automatic Contacts</span>"
msgstr "<span weight=\"bold\">Automatic Contacts</span>"
#. Enable BBDB checkbox
-#: plugins/bbdb/bbdb.c:410
+#: ../plugins/bbdb/bbdb.c:410
msgid "_Automatically create entries in the addressbook when responding to mail"
msgstr "_Automatically create entries in the addressbook when responding to mail"
-#: plugins/bbdb/bbdb.c:428
+#: ../plugins/bbdb/bbdb.c:428
msgid "<span weight=\"bold\">Instant Messaging Contacts</span>"
msgstr "<span weight=\"bold\">Instant Messaging Contacts</span>"
#. Enable Gaim Checkbox
-#: plugins/bbdb/bbdb.c:441
+#: ../plugins/bbdb/bbdb.c:441
msgid "Periodically synchronize contact information and images from my _instant messenger"
msgstr "Periodically synchronise contact information and images from my _instant messenger"
#. Synchronize now button.
-#: plugins/bbdb/bbdb.c:448
+#: ../plugins/bbdb/bbdb.c:448
msgid "Synchronize with _buddy list now"
msgstr "Synchronise with _buddy list now"
-#: plugins/calendar-weather/calendar-weather.c:54
-#: plugins/calendar-weather/calendar-weather.c:60
+#: ../plugins/calendar-weather/calendar-weather.c:54
+#: ../plugins/calendar-weather/calendar-weather.c:60
msgid "Weather: Cloudy"
msgstr "Weather: Cloudy"
-#: plugins/calendar-weather/calendar-weather.c:61
+#: ../plugins/calendar-weather/calendar-weather.c:61
msgid "Weather: Fog"
msgstr "Weather: Fog"
-#: plugins/calendar-weather/calendar-weather.c:62
+#: ../plugins/calendar-weather/calendar-weather.c:62
msgid "Weather: Partly Cloudy"
msgstr "Weather: Partly Cloudy"
-#: plugins/calendar-weather/calendar-weather.c:63
+#: ../plugins/calendar-weather/calendar-weather.c:63
msgid "Weather: Rain"
msgstr "Weather: Rain"
-#: plugins/calendar-weather/calendar-weather.c:64
+#: ../plugins/calendar-weather/calendar-weather.c:64
msgid "Weather: Snow"
msgstr "Weather: Snow"
-#: plugins/calendar-weather/calendar-weather.c:65
+#: ../plugins/calendar-weather/calendar-weather.c:65
msgid "Weather: Sunny"
msgstr "Weather: Sunny"
-#: plugins/calendar-weather/calendar-weather.c:66
+#: ../plugins/calendar-weather/calendar-weather.c:66
msgid "Weather: Thunderstorms"
msgstr "Weather: Thunderstorms"
-#: plugins/calendar-weather/calendar-weather.c:100
-msgid "Weather"
-msgstr "Weather"
-
-#: plugins/calendar-weather/calendar-weather.c:268
+#: ../plugins/calendar-weather/calendar-weather.c:268
msgid "Select a location"
msgstr "Select a location"
-#: plugins/calendar-weather/calendar-weather.c:655
+#: ../plugins/calendar-weather/calendar-weather.c:655
msgid "_Units:"
msgstr "_Units:"
-#: plugins/calendar-weather/calendar-weather.c:662
+#: ../plugins/calendar-weather/calendar-weather.c:662
msgid "Metric (Celsius, cm, etc)"
msgstr "Metric (Celsius, cm, etc)"
-#: plugins/calendar-weather/calendar-weather.c:663
+#: ../plugins/calendar-weather/calendar-weather.c:663
msgid "Imperial (Fahrenheit, inches, etc)"
msgstr "Imperial (Fahrenheit, inches, etc)"
-#: plugins/default-source/default-source.c:82
+#: ../plugins/default-source/default-source.c:82
msgid "Mark as default folder"
msgstr "Mark as default folder"
-#: plugins/default-source/default-source.c:108
+#: ../plugins/default-source/default-source.c:108
msgid "Mark as default folder"
msgstr "Mark as default folder"
#. i18n: "Secure Password Authentication" is an Outlookism
-#: plugins/exchange-account-setup/exchange-account-setup.c:53
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:59
msgid "Secure Password"
msgstr "Secure Password"
#. i18n: "NTLM" probably doesn't translate
-#: plugins/exchange-account-setup/exchange-account-setup.c:56
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:62
msgid "This option will connect to the Exchange server using secure password (NTLM) authentication."
msgstr "This option will connect to the Exchange server using secure password (NTLM) authentication."
-#: plugins/exchange-account-setup/exchange-account-setup.c:64
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:70
msgid "Plaintext Password"
msgstr "Plaintext Password"
-#: plugins/exchange-account-setup/exchange-account-setup.c:66
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:72
msgid "This option will connect to the Exchange server using standard plaintext password authentication."
msgstr "This option will connect to the Exchange server using standard plaintext password authentication."
#. Description section
-#: plugins/exchange-account-setup/exchange-account-setup.c:113
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:193
msgid ""
"The message specified below will be automatically sent to \n"
"each person who sends mail to you while you are out of the office."
@@ -13892,441 +13935,444 @@ msgstr ""
"The message specified below will be automatically sent to \n"
"each person who sends mail to you while you are out of the office."
-#: plugins/exchange-account-setup/exchange-account-setup.c:140
-msgid "I am in the office"
-msgstr "I am in the office"
-
-#: plugins/exchange-account-setup/exchange-account-setup.c:154
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:221
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:231
msgid "I am out of the office"
msgstr "I am out of the office"
-#: plugins/exchange-account-setup/exchange-account-setup.c:168
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:224
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:228
+msgid "I am in the office"
+msgstr "I am in the office"
+
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:257
msgid "Out of office Message:"
msgstr "Out of office Message:"
-#: plugins/exchange-account-setup/exchange-account-setup.c:194
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:302
msgid "Exchange Settings"
msgstr "Exchange Settings"
-#: plugins/exchange-account-setup/exchange-account-setup.c:332
-#: plugins/exchange-account-setup/exchange-ask-password.c:200
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:448
+#: ../plugins/exchange-account-setup/exchange-ask-password.c:200
msgid "_OWA Url:"
msgstr "_OWA Url:"
-#: plugins/exchange-account-setup/exchange-account-setup.c:340
-#: plugins/exchange-account-setup/exchange-ask-password.c:193
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:456
+#: ../plugins/exchange-account-setup/exchange-ask-password.c:193
msgid "A_uthenticate"
msgstr "A_uthenticate"
-#: plugins/exchange-account-setup/exchange-account-setup.c:457
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:664
msgid "Authentication Type"
msgstr "Authentication Type"
-#: plugins/exchange-account-setup/exchange-account-setup.c:471
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:678
msgid "Ch_eck for Supported Types"
msgstr "Ch_eck for Supported Types"
-#: plugins/folder-unsubscribe/folder-unsubscribe.c:57
+#: ../plugins/folder-unsubscribe/folder-unsubscribe.c:57
#, c-format
msgid "Unsubscribing from folder \"%s\""
msgstr "Unsubscribing from folder \"%s\""
-#: plugins/groupwise-account-setup/camel-gw-listener.c:413
+#: ../plugins/groupwise-account-setup/camel-gw-listener.c:413
msgid "Checklist"
msgstr "Checklist"
-#: plugins/groupwise-send-options/org-gnome-compose-send-options.xml.h:1
+#: ../plugins/groupwise-send-options/org-gnome-compose-send-options.xml.h:1
msgid "Add Send Options to groupwise messages"
msgstr "Add Send Options to groupwise messages"
-#: plugins/groupwise-send-options/org-gnome-compose-send-options.xml.h:2
-#: widgets/misc/e-send-options.glade.h:20
+#: ../plugins/groupwise-send-options/org-gnome-compose-send-options.xml.h:2
+#: ../widgets/misc/e-send-options.glade.h:20
msgid "Send Options"
msgstr "Send Options"
-#: plugins/itip-formatter/itip-formatter.c:704
+#: ../plugins/itip-formatter/itip-formatter.c:704
msgid "Unable to parse item"
msgstr "Unable to parse item"
-#: plugins/itip-formatter/itip-formatter.c:757
+#: ../plugins/itip-formatter/itip-formatter.c:757
#, c-format
msgid "Unable to send item to calendar '%s'. %s"
msgstr "Unable to send item to calendar '%s'. %s"
-#: plugins/itip-formatter/itip-formatter.c:768
+#: ../plugins/itip-formatter/itip-formatter.c:768
#, c-format
msgid "Sent to calendar '%s' as accepted"
msgstr "Sent to calendar '%s' as accepted"
-#: plugins/itip-formatter/itip-formatter.c:772
+#: ../plugins/itip-formatter/itip-formatter.c:772
#, c-format
msgid "Sent to calendar '%s' as tentative"
msgstr "Sent to calendar '%s' as tentative"
-#: plugins/itip-formatter/itip-formatter.c:777
+#: ../plugins/itip-formatter/itip-formatter.c:777
#, c-format
msgid "Sent to calendar '%s' as declined"
msgstr "Sent to calendar '%s' as declined"
-#: plugins/itip-formatter/itip-formatter.c:782
+#: ../plugins/itip-formatter/itip-formatter.c:782
#, c-format
msgid "Sent to calendar '%s' as cancelled"
msgstr "Sent to calendar '%s' as cancelled"
-#: plugins/itip-formatter/itip-formatter.c:833
+#: ../plugins/itip-formatter/itip-formatter.c:833
msgid "Attendee status could not be updated because the status is invalid"
msgstr "Attendee status could not be updated because the status is invalid"
-#: plugins/itip-formatter/itip-formatter.c:844
+#: ../plugins/itip-formatter/itip-formatter.c:844
#, c-format
msgid "Unable to update attendee. %s"
msgstr "Unable to update attendee. %s"
-#: plugins/itip-formatter/itip-formatter.c:848
+#: ../plugins/itip-formatter/itip-formatter.c:848
msgid "Attendee status updated"
msgstr "Attendee status updated"
-#: plugins/itip-formatter/itip-formatter.c:973
+#: ../plugins/itip-formatter/itip-formatter.c:973
msgid "The calendar attached is not valid"
msgstr "The calendar attached is not valid"
-#: plugins/itip-formatter/itip-formatter.c:974
+#: ../plugins/itip-formatter/itip-formatter.c:974
msgid "The message claims to contain a calendar, but the calendar is not valid iCalendar."
msgstr "The message claims to contain a calendar, but the calendar is not valid iCalendar."
-#: plugins/itip-formatter/itip-formatter.c:1008
-#: plugins/itip-formatter/itip-formatter.c:1064
+#: ../plugins/itip-formatter/itip-formatter.c:1008
+#: ../plugins/itip-formatter/itip-formatter.c:1064
msgid "The item in the calendar is not valid"
msgstr "The item in the calendar is not valid"
-#: plugins/itip-formatter/itip-formatter.c:1009
-#: plugins/itip-formatter/itip-formatter.c:1065
+#: ../plugins/itip-formatter/itip-formatter.c:1009
+#: ../plugins/itip-formatter/itip-formatter.c:1065
msgid "The message does contain a calendar, but the calendar contains no events, tasks or free/busy information"
msgstr "The message does contain a calendar, but the calendar contains no events, tasks or free/busy information"
-#: plugins/itip-formatter/itip-formatter.c:1020
+#: ../plugins/itip-formatter/itip-formatter.c:1020
msgid "The calendar attached contains multiple items"
msgstr "The calendar attached contains multiple items"
-#: plugins/itip-formatter/itip-formatter.c:1021
+#: ../plugins/itip-formatter/itip-formatter.c:1021
msgid "To process all of these items, the file should be saved and the calendar imported"
msgstr "To process all of these items, the file should be saved and the calendar imported"
-#: plugins/itip-formatter/itip-formatter.c:1658
+#: ../plugins/itip-formatter/itip-formatter.c:1658
msgid "Meetings and Tasks"
msgstr "Meetings and Tasks"
#. Delete message after acting
-#: plugins/itip-formatter/itip-formatter.c:1681
+#: ../plugins/itip-formatter/itip-formatter.c:1681
msgid "_Delete message after acting"
msgstr "_Delete message after acting"
-#: plugins/itip-formatter/itip-formatter.c:1691
+#: ../plugins/itip-formatter/itip-formatter.c:1691
msgid "<span weight=\"bold\">Conflict Search</span>"
msgstr "<span weight=\"bold\">Conflict Search</span>"
#. Source selector
-#: plugins/itip-formatter/itip-formatter.c:1704
+#: ../plugins/itip-formatter/itip-formatter.c:1704
msgid "Select the calendars to search for meeting conflicts"
msgstr "Select the calendars to search for meeting conflicts"
#. strftime format of a weekday and a date.
-#: plugins/itip-formatter/itip-view.c:175
-#: ui/evolution-calendar.xml.h:34
-#: widgets/misc/e-cell-date-edit.c:240
-#: widgets/misc/e-dateedit.c:450
+#: ../plugins/itip-formatter/itip-view.c:175
+#: ../ui/evolution-calendar.xml.h:34
+#: ../widgets/misc/e-cell-date-edit.c:240
+#: ../widgets/misc/e-dateedit.c:450
msgid "Today"
msgstr "Today"
#. strftime format of a time,
-#: plugins/itip-formatter/itip-view.c:180
+#: ../plugins/itip-formatter/itip-view.c:180
msgid "Today %H:%M"
msgstr "Today %H:%M"
#. strftime format of a time,
-#: plugins/itip-formatter/itip-view.c:184
+#: ../plugins/itip-formatter/itip-view.c:184
msgid "Today %H:%M:%S"
msgstr "Today %H:%M:%S"
#. strftime format of a time,
-#: plugins/itip-formatter/itip-view.c:193
+#: ../plugins/itip-formatter/itip-view.c:193
msgid "Today %l:%M:%S %p"
msgstr "Today %l:%M:%S %p"
#. strftime format of a weekday and a date.
-#: plugins/itip-formatter/itip-view.c:203
+#: ../plugins/itip-formatter/itip-view.c:203
msgid "Tomorrow"
msgstr "Tomorrow"
#. strftime format of a time,
-#: plugins/itip-formatter/itip-view.c:208
+#: ../plugins/itip-formatter/itip-view.c:208
msgid "Tomorrow %H:%M"
msgstr "Tomorrow %H:%M"
#. strftime format of a time,
-#: plugins/itip-formatter/itip-view.c:212
+#: ../plugins/itip-formatter/itip-view.c:212
msgid "Tomorrow %H:%M:%S"
msgstr "Tomorrow %H:%M:%S"
#. strftime format of a time,
-#: plugins/itip-formatter/itip-view.c:217
+#: ../plugins/itip-formatter/itip-view.c:217
msgid "Tomorrow %l:%M %p"
msgstr "Tomorrow %l:%M %p"
#. strftime format of a time,
-#: plugins/itip-formatter/itip-view.c:221
+#: ../plugins/itip-formatter/itip-view.c:221
msgid "Tomorrow %l:%M:%S %p"
msgstr "Tomorrow %l:%M:%S %p"
#. strftime format of a weekday.
-#: plugins/itip-formatter/itip-view.c:240
+#: ../plugins/itip-formatter/itip-view.c:240
#, c-format
msgid "%A"
msgstr "%A"
#. strftime format of a weekday and a
-#: plugins/itip-formatter/itip-view.c:245
+#: ../plugins/itip-formatter/itip-view.c:245
msgid "%A %H:%M"
msgstr "%A %H:%M"
#. strftime format of a weekday and a
-#: plugins/itip-formatter/itip-view.c:249
+#: ../plugins/itip-formatter/itip-view.c:249
msgid "%A %H:%M:%S"
msgstr "%A %H:%M:%S"
#. strftime format of a weekday and a
-#: plugins/itip-formatter/itip-view.c:254
+#: ../plugins/itip-formatter/itip-view.c:254
msgid "%A %l:%M %p"
msgstr "%A %l:%M %p"
#. strftime format of a weekday and a
-#: plugins/itip-formatter/itip-view.c:258
+#: ../plugins/itip-formatter/itip-view.c:258
msgid "%A %l:%M:%S %p"
msgstr "%A %l:%M:%S %p"
#. strftime format of a weekday and a date
-#: plugins/itip-formatter/itip-view.c:267
+#: ../plugins/itip-formatter/itip-view.c:267
msgid "%A, %B %e"
msgstr "%A, %B %e"
#. strftime format of a weekday, a date
-#: plugins/itip-formatter/itip-view.c:273
+#. in 24-hour format, without seconds.
+#: ../plugins/itip-formatter/itip-view.c:273
msgid "%A, %B %e %H:%M"
msgstr "%A, %B %e %H:%M"
#. strftime format of a weekday, a date without a year
-#: plugins/itip-formatter/itip-view.c:277
+#: ../plugins/itip-formatter/itip-view.c:277
msgid "%A, %B %e %H:%M:%S"
msgstr "%A, %B %e %H:%M:%S"
#. strftime format of a weekday, a date without a year
-#: plugins/itip-formatter/itip-view.c:282
+#: ../plugins/itip-formatter/itip-view.c:282
msgid "%A, %B %e %l:%M %p"
msgstr "%A, %B %e %l:%M %p"
#. strftime format of a weekday, a date without a year
-#: plugins/itip-formatter/itip-view.c:286
+#: ../plugins/itip-formatter/itip-view.c:286
msgid "%A, %B %e %l:%M:%S %p"
msgstr "%A, %B %e %l:%M:%S %p"
#. strftime format of a weekday and a date.
-#: plugins/itip-formatter/itip-view.c:292
+#: ../plugins/itip-formatter/itip-view.c:292
msgid "%A, %B %e, %Y"
msgstr "%A, %B %e, %Y"
#. strftime format of a weekday, a date and a
-#: plugins/itip-formatter/itip-view.c:297
+#: ../plugins/itip-formatter/itip-view.c:297
msgid "%A, %B %e, %Y %H:%M"
msgstr "%A, %B %e, %Y %H:%M"
#. strftime format of a weekday, a date and a
-#: plugins/itip-formatter/itip-view.c:301
+#: ../plugins/itip-formatter/itip-view.c:301
msgid "%A, %B %e, %Y %H:%M:%S"
msgstr "%A, %B %e, %Y %H:%M:%S"
#. strftime format of a weekday, a date and a
-#: plugins/itip-formatter/itip-view.c:306
+#: ../plugins/itip-formatter/itip-view.c:306
msgid "%A, %B %e, %Y %l:%M %p"
msgstr "%A, %B %e, %Y %l:%M %p"
#. strftime format of a weekday, a date and a
-#: plugins/itip-formatter/itip-view.c:310
+#: ../plugins/itip-formatter/itip-view.c:310
msgid "%A, %B %e, %Y %l:%M:%S %p"
msgstr "%A, %B %e, %Y %l:%M:%S %p"
-#: plugins/itip-formatter/itip-view.c:335
+#: ../plugins/itip-formatter/itip-view.c:335
#, c-format
msgid "<b>%s</b> through %s has published the following meeting information:"
msgstr "<b>%s</b> through %s has published the following meeting information:"
-#: plugins/itip-formatter/itip-view.c:337
+#: ../plugins/itip-formatter/itip-view.c:337
#, c-format
msgid "<b>%s</b> has published the following meeting information:"
msgstr "<b>%s</b> has published the following meeting information:"
-#: plugins/itip-formatter/itip-view.c:342
+#: ../plugins/itip-formatter/itip-view.c:342
#, c-format
msgid "<b>%s</b> requests the presence of %s at the following meeting:"
msgstr "<b>%s</b> requests the presence of %s at the following meeting:"
-#: plugins/itip-formatter/itip-view.c:345
+#: ../plugins/itip-formatter/itip-view.c:345
#, c-format
msgid "<b>%s</b> through %s requests your presence at the following meeting:"
msgstr "<b>%s</b> through %s requests your presence at the following meeting:"
-#: plugins/itip-formatter/itip-view.c:347
+#: ../plugins/itip-formatter/itip-view.c:347
#, c-format
msgid "<b>%s</b> requests your presence at the following meeting:"
msgstr "<b>%s</b> requests your presence at the following meeting:"
-#: plugins/itip-formatter/itip-view.c:353
+#: ../plugins/itip-formatter/itip-view.c:353
#, c-format
msgid "<b>%s</b> through %s wishes to add to an existing meeting:"
msgstr "<b>%s</b> through %s wishes to add to an existing meeting:"
-#: plugins/itip-formatter/itip-view.c:355
+#: ../plugins/itip-formatter/itip-view.c:355
#, c-format
msgid "<b>%s</b> wishes to add to an existing meeting:"
msgstr "<b>%s</b> wishes to add to an existing meeting:"
-#: plugins/itip-formatter/itip-view.c:358
+#: ../plugins/itip-formatter/itip-view.c:358
#, c-format
msgid "<b>%s</b> wishes to receive the latest information for the following meeting:"
msgstr "<b>%s</b> wishes to receive the latest information for the following meeting:"
-#: plugins/itip-formatter/itip-view.c:361
+#: ../plugins/itip-formatter/itip-view.c:361
#, c-format
msgid "<b>%s</b> has sent back the following meeting response:"
msgstr "<b>%s</b> has sent back the following meeting response:"
-#: plugins/itip-formatter/itip-view.c:365
+#: ../plugins/itip-formatter/itip-view.c:365
#, c-format
msgid "<b>%s</b> through %s has cancelled the following meeting:"
msgstr "<b>%s</b> through %s has cancelled the following meeting:"
-#: plugins/itip-formatter/itip-view.c:367
+#: ../plugins/itip-formatter/itip-view.c:367
#, c-format
msgid "<b>%s</b> has cancelled the following meeting."
msgstr "<b>%s</b> has cancelled the following meeting."
-#: plugins/itip-formatter/itip-view.c:370
+#: ../plugins/itip-formatter/itip-view.c:370
#, c-format
msgid "<b>%s</b> has proposed the following meeting changes."
msgstr "<b>%s</b> has proposed the following meeting changes."
-#: plugins/itip-formatter/itip-view.c:374
+#: ../plugins/itip-formatter/itip-view.c:374
#, c-format
msgid "<b>%s</b> through %s has declined the following meeting changes:"
msgstr "<b>%s</b> through %s has declined the following meeting changes:"
-#: plugins/itip-formatter/itip-view.c:376
+#: ../plugins/itip-formatter/itip-view.c:376
#, c-format
msgid "<b>%s</b> has declined the following meeting changes."
msgstr "<b>%s</b> has declined the following meeting changes."
-#: plugins/itip-formatter/itip-view.c:403
+#: ../plugins/itip-formatter/itip-view.c:403
#, c-format
msgid "<b>%s</b> through %s has published the following task:"
msgstr "<b>%s</b> through %s has published the following task:"
-#: plugins/itip-formatter/itip-view.c:405
+#: ../plugins/itip-formatter/itip-view.c:405
#, c-format
msgid "<b>%s</b> has published the following task:"
msgstr "<b>%s</b> has published the following task:"
-#: plugins/itip-formatter/itip-view.c:410
+#: ../plugins/itip-formatter/itip-view.c:410
#, c-format
msgid "<b>%s</b> requests the assignment of %s to the following task:"
msgstr "<b>%s</b> requests the assignment of %s to the following task:"
-#: plugins/itip-formatter/itip-view.c:413
+#: ../plugins/itip-formatter/itip-view.c:413
#, c-format
msgid "<b>%s</b> through %s has assigned you a task:"
msgstr "<b>%s</b> through %s has assigned you a task:"
-#: plugins/itip-formatter/itip-view.c:415
+#: ../plugins/itip-formatter/itip-view.c:415
#, c-format
msgid "<b>%s</b> has assigned you a task:"
msgstr "<b>%s</b> has assigned you a task:"
-#: plugins/itip-formatter/itip-view.c:421
+#: ../plugins/itip-formatter/itip-view.c:421
#, c-format
msgid "<b>%s</b> through %s wishes to add to an existing task:"
msgstr "<b>%s</b> through %s wishes to add to an existing task:"
-#: plugins/itip-formatter/itip-view.c:423
+#: ../plugins/itip-formatter/itip-view.c:423
#, c-format
msgid "<b>%s</b> wishes to add to an existing task:"
msgstr "<b>%s</b> wishes to add to an existing task:"
-#: plugins/itip-formatter/itip-view.c:426
+#: ../plugins/itip-formatter/itip-view.c:426
#, c-format
msgid "<b>%s</b> wishes to receive the latest information for the following assigned task:"
msgstr "<b>%s</b> wishes to receive the latest information for the following assigned task:"
-#: plugins/itip-formatter/itip-view.c:429
+#: ../plugins/itip-formatter/itip-view.c:429
#, c-format
msgid "<b>%s</b> has sent back the following assigned task response:"
msgstr "<b>%s</b> has sent back the following assigned task response:"
-#: plugins/itip-formatter/itip-view.c:433
+#: ../plugins/itip-formatter/itip-view.c:433
#, c-format
msgid "<b>%s</b> through %s has cancelled the following assigned task:"
msgstr "<b>%s</b> through %s has cancelled the following assigned task:"
-#: plugins/itip-formatter/itip-view.c:435
+#: ../plugins/itip-formatter/itip-view.c:435
#, c-format
msgid "<b>%s</b> has cancelled the following assigned task:"
msgstr "<b>%s</b> has cancelled the following assigned task:"
-#: plugins/itip-formatter/itip-view.c:438
+#: ../plugins/itip-formatter/itip-view.c:438
#, c-format
msgid "<b>%s</b> has proposed the following task assignment changes:"
msgstr "<b>%s</b> has proposed the following task assignment changes:"
-#: plugins/itip-formatter/itip-view.c:442
+#: ../plugins/itip-formatter/itip-view.c:442
#, c-format
msgid "<b>%s</b> through %s has declined the following assigned task:"
msgstr "<b>%s</b> through %s has declined the following assigned task:"
-#: plugins/itip-formatter/itip-view.c:444
+#: ../plugins/itip-formatter/itip-view.c:444
#, c-format
msgid "<b>%s</b> has declined the following assigned task:"
msgstr "<b>%s</b> has declined the following assigned task:"
#. Comment
-#: plugins/itip-formatter/itip-view.c:892
-#: plugins/itip-formatter/itip-view.c:942
+#: ../plugins/itip-formatter/itip-view.c:892
+#: ../plugins/itip-formatter/itip-view.c:942
msgid "Comment:"
msgstr "Comment:"
#. org.gnome.mailing-list-actions:no-header primary
-#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:2
+#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:2
msgid "Action not available"
msgstr "Action not available"
#. org.gnome.mailing-list-actions:no-header secondary
-#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:4
+#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:4
msgid "This message does not contain the header information required for this action."
msgstr "This message does not contain the header information required for this action."
#. org.gnome.mailing-list-actions:posting-not-allowed primary
-#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:6
+#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:6
msgid "Posting not allowed"
msgstr "Posting not allowed"
#. org.gnome.mailing-list-actions:posting-not-allowed secondary
-#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:8
+#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:8
msgid "Posting to this mailing list is not allowed. Possibly, this is a read-only mailing list. Contact the list owner for details."
msgstr "Posting to this mailing list is not allowed. Possibly, this is a read-only mailing list. Contact the list owner for details."
#. org.gnome.mailing-list-actions:ask-send-message primary
-#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:10
+#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:10
msgid "Send e-mail message to mailing list?"
msgstr "Send e-mail message to mailing list?"
#. org.gnome.mailing-list-actions:ask-send-message secondary
-#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:12
+#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:12
msgid ""
"An e-mail message will be sent to the URL \"{0}\". You can either send the message automatically, or see and change it first.\n"
"\n"
@@ -14336,21 +14382,21 @@ msgstr ""
"\n"
"You should receive an answer from the mailing list shortly after the message has been sent."
-#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:15
+#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:15
msgid "_Send message"
msgstr "_Send message"
-#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:16
+#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:16
msgid "_Edit message"
msgstr "_Edit message"
#. org.gnome.mailing-list-actions:malformed-header primary
-#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:18
+#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:18
msgid "Malformed header"
msgstr "Malformed header"
#. org.gnome.mailing-list-actions:malformed-header secondary
-#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:20
+#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:20
msgid ""
"The {0} header of this message is malformed and could not be processed.\n"
"\n"
@@ -14361,12 +14407,12 @@ msgstr ""
"Header: {1}"
#. org.gnome.mailing-list-actions:no-action primary
-#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:24
+#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:24
msgid "No e-mail action"
msgstr "No e-mail action"
#. org.gnome.mailing-list-actions:no-action secondary
-#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:26
+#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:26
msgid ""
"The action could not be performed. This means the header for this action did not contain any action we could handle.\n"
"\n"
@@ -14377,149 +14423,149 @@ msgstr ""
"Header: {0}"
#. Create the checkbox we will display, complete with mnemonic that is unique in the dialog
-#: plugins/new-mail-notify/new-mail-notify.c:66
+#: ../plugins/new-mail-notify/new-mail-notify.c:66
msgid "_Generates a D-BUS message when new mail arrives"
msgstr "_Generates a D-BUS message when new mail arrives"
-#: plugins/plugin-manager/org-gnome-plugin-manager.xml.h:1
+#: ../plugins/plugin-manager/org-gnome-plugin-manager.xml.h:1
msgid "Enable and disable plugins"
msgstr "Enable and disable plugins"
-#: plugins/plugin-manager/org-gnome-plugin-manager.xml.h:2
+#: ../plugins/plugin-manager/org-gnome-plugin-manager.xml.h:2
msgid "Manage Plugins..."
msgstr "Manage Plugins..."
-#: plugins/plugin-manager/plugin-manager.c:45
+#: ../plugins/plugin-manager/plugin-manager.c:45
msgid "Author(s)"
msgstr "Author(s)"
-#: plugins/plugin-manager/plugin-manager.c:46
+#: ../plugins/plugin-manager/plugin-manager.c:46
msgid "Id"
msgstr "Id"
-#: plugins/plugin-manager/plugin-manager.c:47
+#: ../plugins/plugin-manager/plugin-manager.c:47
msgid "Path"
msgstr "Path"
-#: plugins/plugin-manager/plugin-manager.c:48
+#: ../plugins/plugin-manager/plugin-manager.c:48
msgid "Description"
msgstr "Description"
#. Setup the ui
-#: plugins/plugin-manager/plugin-manager.c:188
+#: ../plugins/plugin-manager/plugin-manager.c:188
msgid "Plugin Manager"
msgstr "Plugin Manager"
-#: plugins/plugin-manager/plugin-manager.c:201
+#: ../plugins/plugin-manager/plugin-manager.c:201
msgid "Note: Some changes will not take effect until restart"
msgstr "Note: Some changes will not take effect until restart"
-#: plugins/plugin-manager/plugin-manager.c:210
+#: ../plugins/plugin-manager/plugin-manager.c:210
msgid "Plugin"
msgstr "Plugin"
-#: plugins/prefer-plain/prefer-plain.c:105
+#: ../plugins/prefer-plain/prefer-plain.c:105
msgid "Show HTML if present"
msgstr "Show HTML if present"
-#: plugins/prefer-plain/prefer-plain.c:106
+#: ../plugins/prefer-plain/prefer-plain.c:106
msgid "Prefer PLAIN"
msgstr "Prefer PLAIN"
-#: plugins/prefer-plain/prefer-plain.c:107
+#: ../plugins/prefer-plain/prefer-plain.c:107
msgid "Only ever show PLAIN"
msgstr "Only ever show PLAIN"
-#: plugins/prefer-plain/prefer-plain.c:150
+#: ../plugins/prefer-plain/prefer-plain.c:150
msgid "HTML Mode"
msgstr "HTML Mode"
-#: plugins/save-attachments/org-gnome-save-attachments.xml.h:1
+#: ../plugins/save-attachments/org-gnome-save-attachments.xml.h:1
msgid "Save Attachments ..."
msgstr "Save Attachments ..."
-#: plugins/save-attachments/org-gnome-save-attachments.xml.h:2
+#: ../plugins/save-attachments/org-gnome-save-attachments.xml.h:2
msgid "Save all attachments"
msgstr "Save all attachments"
-#: plugins/save-attachments/save-attachments.c:331
+#: ../plugins/save-attachments/save-attachments.c:331
msgid "Select save base name"
msgstr "Select save base name"
-#: plugins/save-attachments/save-attachments.c:351
+#: ../plugins/save-attachments/save-attachments.c:351
msgid "MIME Type"
msgstr "MIME Type"
-#: plugins/save-attachments/save-attachments.c:359
-#: ui/evolution-message-composer.xml.h:16
-#: ui/evolution-signature-editor.xml.h:6
+#: ../plugins/save-attachments/save-attachments.c:359
+#: ../ui/evolution-message-composer.xml.h:16
+#: ../ui/evolution-signature-editor.xml.h:6
msgid "Save"
msgstr "Save"
-#: plugins/save-calendar/csv-format.c:167
+#: ../plugins/save-calendar/csv-format.c:167
#, c-format
msgid "%s%d/%s%d/%s%d %s%d:%s%d:%s%d"
msgstr "%s%d/%s%d/%s%d %s%d:%s%d:%s%d"
-#: plugins/save-calendar/csv-format.c:370
+#: ../plugins/save-calendar/csv-format.c:370
#, c-format
msgid "Uid%sSummary%sDescription List%sCategories List%sComment List%sCompleted%sCreated%sContact List%sStart%sEnd%sDue%sPercent Done%sPriority%sUrl%sAttendees List%sLocation%sModified%s"
msgstr "Uid%sSummary%sDescription List%sCategories List%sComment List%sCompleted%sCreated%sContact List%sStart%sEnd%sDue%sPercent Done%sPriority%sUrl%sAttendees List%sLocation%sModified%s"
-#: plugins/save-calendar/csv-format.c:519
+#: ../plugins/save-calendar/csv-format.c:519
msgid "Advanced options for the CSV format"
msgstr "Advanced options for the CSV format"
-#: plugins/save-calendar/csv-format.c:526
+#: ../plugins/save-calendar/csv-format.c:526
msgid "Prepend a header"
msgstr "Prepend a header"
-#: plugins/save-calendar/csv-format.c:535
+#: ../plugins/save-calendar/csv-format.c:535
msgid "Value delimiter:"
msgstr "Value delimiter:"
-#: plugins/save-calendar/csv-format.c:541
+#: ../plugins/save-calendar/csv-format.c:541
msgid "Record delimiter:"
msgstr "Record delimiter:"
-#: plugins/save-calendar/csv-format.c:547
+#: ../plugins/save-calendar/csv-format.c:547
msgid "Encapsulate values with:"
msgstr "Encapsulate values with:"
-#: plugins/save-calendar/csv-format.c:569
+#: ../plugins/save-calendar/csv-format.c:569
msgid "Comma separated value format (.csv)"
msgstr "Comma separated value format (.csv)"
-#: plugins/save-calendar/ical-format.c:120
+#: ../plugins/save-calendar/ical-format.c:136
msgid "iCalendar format (.ics)"
msgstr "iCalendar format (.ics)"
-#: plugins/save-calendar/rdf-format.c:390
+#: ../plugins/save-calendar/rdf-format.c:390
msgid "RDF format (.rdf)"
msgstr "RDF format (.rdf)"
-#: plugins/save-calendar/save-calendar.c:172
-#: plugins/save-calendar/save-calendar.c:182
+#: ../plugins/save-calendar/save-calendar.c:171
+#: ../plugins/save-calendar/save-calendar.c:181
msgid "Select destination file"
msgstr "Select destination file"
-#: plugins/save-calendar/save-calendar.c:217
+#: ../plugins/save-calendar/save-calendar.c:216
#, c-format
msgid "The suggested filename extension of this filetype (%s) is unused in the chosen filename. Do you want to continue?"
msgstr "The suggested filename extension of this filetype (%s) is unused in the chosen filename. Do you want to continue?"
-#: plugins/send-options/send-options.c:82
+#: ../plugins/send-options/send-options.c:82
#, c-format
msgid "%sEnter password for %s (user %s)"
msgstr "%sEnter password for %s (user %s)"
#. org.gnome.evolution.mail_shared_folder:invalid-user primary
-#: plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:2
+#: ../plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:2
msgid "Invalid user"
msgstr "Invalid user"
#. org.gnome.evolution.mail_shared_folder:invalid-user secondary
-#: plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:4
+#: ../plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:4
msgid ""
"\n"
"You cannot share folder with specified user \"{0}\" \n"
@@ -14528,12 +14574,12 @@ msgstr ""
"You cannot share folder with specified user \"{0}\" \n"
#. org.gnome.evolution.mail_shared_folder:no-user primary
-#: plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:8
+#: ../plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:8
msgid "Specify User"
msgstr "Specify User"
#. org.gnome.evolution.mail_shared_folder:no-user secondary
-#: plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:10
+#: ../plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:10
msgid ""
"\n"
"\tYou have to specify a user name whom you want to add to the list \n"
@@ -14541,190 +14587,190 @@ msgstr ""
"\n"
"\tYou have to specify a user name whom you want to add to the list \n"
-#: plugins/shared-folder/properties.glade.h:2
+#: ../plugins/shared-folder/properties.glade.h:2
msgid "<b>Users :</b>"
msgstr "<b>Users :</b>"
-#: plugins/shared-folder/properties.glade.h:4
+#: ../plugins/shared-folder/properties.glade.h:4
msgid "Message"
msgstr "Message"
-#: plugins/shared-folder/properties.glade.h:6
+#: ../plugins/shared-folder/properties.glade.h:6
msgid "Shared Folder Notification"
msgstr "Shared Folder Notification"
-#: plugins/shared-folder/properties.glade.h:8
+#: ../plugins/shared-folder/properties.glade.h:8
msgid "The participants will receive the following notification.\n"
msgstr "The participants will receive the following notification.\n"
-#: plugins/shared-folder/properties.glade.h:11
+#: ../plugins/shared-folder/properties.glade.h:11
msgid "_Contacts..."
msgstr "_Contacts..."
-#: plugins/shared-folder/properties.glade.h:12
+#: ../plugins/shared-folder/properties.glade.h:12
msgid "_Cutomize notification message"
msgstr "_Cutomise notification message"
-#: plugins/shared-folder/properties.glade.h:13
+#: ../plugins/shared-folder/properties.glade.h:13
msgid "_Not Shared"
msgstr "_Not Shared"
-#: plugins/shared-folder/properties.glade.h:15
+#: ../plugins/shared-folder/properties.glade.h:15
msgid "_Shared With ..."
msgstr "_Shared With ..."
-#: plugins/shared-folder/properties.glade.h:16
+#: ../plugins/shared-folder/properties.glade.h:16
msgid "_Sharing"
msgstr "_Sharing"
-#: plugins/shared-folder/share-folder-common.c:315
+#: ../plugins/shared-folder/share-folder-common.c:315
msgid "Users"
msgstr "Users"
-#: plugins/shared-folder/share-folder-common.c:316
+#: ../plugins/shared-folder/share-folder-common.c:316
msgid "Enter the users and set permissions"
msgstr "Enter the users and set permissions"
-#: plugins/shared-folder/share-folder-common.c:401
+#: ../plugins/shared-folder/share-folder-common.c:401
msgid "Sharing"
msgstr "Sharing"
#. Create the checkbox we will display, complete with mnemonic that is unique in the dialog
-#: plugins/subject-thread/subject-thread.c:54
+#: ../plugins/subject-thread/subject-thread.c:54
msgid "Fall back to threading messages by sub_ject"
msgstr "Fall back to threading messages by sub_ject"
-#: shell/GNOME_Evolution_Shell.server.in.in.h:1
+#: ../shell/GNOME_Evolution_Shell.server.in.in.h:1
msgid "Evolution Shell"
msgstr "Evolution Shell"
-#: shell/GNOME_Evolution_Test.server.in.in.h:1
+#: ../shell/GNOME_Evolution_Test.server.in.in.h:1
msgid "Evolution Test"
msgstr "Evolution Test"
-#: shell/GNOME_Evolution_Test.server.in.in.h:2
+#: ../shell/GNOME_Evolution_Test.server.in.in.h:2
msgid "Evolution Test component"
msgstr "Evolution Test component"
-#: shell/apps_evolution_shell.schemas.in.in.h:1
+#: ../shell/apps_evolution_shell.schemas.in.in.h:1
msgid "A GNOME Print description of the current printer settings"
msgstr "A GNOME Print description of the current printer settings"
-#: shell/apps_evolution_shell.schemas.in.in.h:2
+#: ../shell/apps_evolution_shell.schemas.in.in.h:2
msgid "Configuration version"
msgstr "Configuration version"
-#: shell/apps_evolution_shell.schemas.in.in.h:3
+#: ../shell/apps_evolution_shell.schemas.in.in.h:3
msgid "Default sidebar width"
msgstr "Default sidebar width"
-#: shell/apps_evolution_shell.schemas.in.in.h:4
+#: ../shell/apps_evolution_shell.schemas.in.in.h:4
msgid "Default window height"
msgstr "Default window height"
-#: shell/apps_evolution_shell.schemas.in.in.h:5
+#: ../shell/apps_evolution_shell.schemas.in.in.h:5
msgid "Default window width"
msgstr "Default window width"
-#: shell/apps_evolution_shell.schemas.in.in.h:6
+#: ../shell/apps_evolution_shell.schemas.in.in.h:6
msgid "ID or alias of the component to be shown by default at start-up."
msgstr "ID or alias of the component to be shown by default at start-up."
-#: shell/apps_evolution_shell.schemas.in.in.h:7
+#: ../shell/apps_evolution_shell.schemas.in.in.h:7
msgid "Last upgraded configuration version"
msgstr "Last upgraded configuration version"
-#: shell/apps_evolution_shell.schemas.in.in.h:8
+#: ../shell/apps_evolution_shell.schemas.in.in.h:8
msgid "List of paths for the folders to be synchronized to disk for offline usage"
msgstr "List of paths for the folders to be synchronised to disk for offline usage"
-#: shell/apps_evolution_shell.schemas.in.in.h:9
+#: ../shell/apps_evolution_shell.schemas.in.in.h:9
msgid "Printer settings"
msgstr "Printer settings"
-#: shell/apps_evolution_shell.schemas.in.in.h:10
+#: ../shell/apps_evolution_shell.schemas.in.in.h:10
msgid "Skip development warning dialog"
msgstr "Skip development warning dialogue"
-#: shell/apps_evolution_shell.schemas.in.in.h:11
-#: shell/main.c:475
+#: ../shell/apps_evolution_shell.schemas.in.in.h:11
+#: ../shell/main.c:476
msgid "Start in offline mode"
msgstr "Start in offline mode"
-#: shell/apps_evolution_shell.schemas.in.in.h:12
+#: ../shell/apps_evolution_shell.schemas.in.in.h:12
msgid "The configuration version of Evolution, with major/minor/configuration level"
msgstr "The configuration version of Evolution, with major/minor/configuration level"
-#: shell/apps_evolution_shell.schemas.in.in.h:13
+#: ../shell/apps_evolution_shell.schemas.in.in.h:13
msgid "The default height for the main window, in pixels."
msgstr "The default height for the main window, in pixels."
-#: shell/apps_evolution_shell.schemas.in.in.h:14
+#: ../shell/apps_evolution_shell.schemas.in.in.h:14
msgid "The default width for the main window, in pixels."
msgstr "The default width for the main window, in pixels."
-#: shell/apps_evolution_shell.schemas.in.in.h:15
+#: ../shell/apps_evolution_shell.schemas.in.in.h:15
msgid "The default width for the sidebar, in pixels."
msgstr "The default width for the sidebar, in pixels."
-#: shell/apps_evolution_shell.schemas.in.in.h:16
+#: ../shell/apps_evolution_shell.schemas.in.in.h:16
msgid "The last upgraded configuration version of Evolution, with major/minor/configuration level"
msgstr "The last upgraded configuration version of Evolution, with major/minor/configuration level"
-#: shell/apps_evolution_shell.schemas.in.in.h:17
+#: ../shell/apps_evolution_shell.schemas.in.in.h:17
msgid "The style of the window buttons. Can be \"text\", \"icons\", \"both\", \"toolbar\". If \"toolbar\" is set, the style of the buutons is determined by the GNOME toolbar setting."
msgstr "The style of the window buttons. Can be \"text\", \"icons\", \"both\", \"toolbar\". If \"toolbar\" is set, the style of the buttons is determined by the GNOME toolbar setting."
-#: shell/apps_evolution_shell.schemas.in.in.h:18
+#: ../shell/apps_evolution_shell.schemas.in.in.h:18
msgid "Toolbar is visible"
msgstr "Toolbar is visible"
-#: shell/apps_evolution_shell.schemas.in.in.h:19
+#: ../shell/apps_evolution_shell.schemas.in.in.h:19
msgid "Whether Evolution will start up in offline mode instead of online mode."
msgstr "Whether Evolution will start up in offline mode instead of online mode."
-#: shell/apps_evolution_shell.schemas.in.in.h:20
+#: ../shell/apps_evolution_shell.schemas.in.in.h:20
msgid "Whether the toolbar should be visible."
msgstr "Whether the toolbar should be visible."
-#: shell/apps_evolution_shell.schemas.in.in.h:21
+#: ../shell/apps_evolution_shell.schemas.in.in.h:21
msgid "Whether the warning dialog in development versions of Evolution is skipped."
msgstr "Whether the warning dialogue in development versions of Evolution is skipped."
-#: shell/apps_evolution_shell.schemas.in.in.h:22
+#: ../shell/apps_evolution_shell.schemas.in.in.h:22
msgid "Whether the window buttons should be visible."
msgstr "Whether the window buttons should be visible."
-#: shell/apps_evolution_shell.schemas.in.in.h:23
+#: ../shell/apps_evolution_shell.schemas.in.in.h:23
msgid "Window button style"
msgstr "Window button style"
-#: shell/apps_evolution_shell.schemas.in.in.h:24
+#: ../shell/apps_evolution_shell.schemas.in.in.h:24
msgid "Window buttons are visible"
msgstr "Window buttons are visible"
-#: shell/e-active-connection-dialog.glade.h:1
+#: ../shell/e-active-connection-dialog.glade.h:1
msgid "<b>Active Connections</b>"
msgstr "<b>Active Connections</b>"
-#: shell/e-active-connection-dialog.glade.h:2
+#: ../shell/e-active-connection-dialog.glade.h:2
msgid "Active Connections"
msgstr "Active Connections"
-#: shell/e-active-connection-dialog.glade.h:3
+#: ../shell/e-active-connection-dialog.glade.h:3
msgid "Click OK to close these connections and go offline"
msgstr "Click OK to close these connections and go offline"
-#: shell/e-shell-folder-title-bar.c:586
-#: shell/e-shell-folder-title-bar.c:587
+#: ../shell/e-shell-folder-title-bar.c:586
+#: ../shell/e-shell-folder-title-bar.c:587
msgid "(Untitled)"
msgstr "(Untitled)"
-#: shell/e-shell-importer.c:147
+#: ../shell/e-shell-importer.c:147
msgid "Choose the type of importer to run:"
msgstr "Choose the type of importer to run:"
-#: shell/e-shell-importer.c:150
+#: ../shell/e-shell-importer.c:150
msgid ""
"Choose the file that you want to import into Evolution, and select what type of file it is from the list.\n"
"\n"
@@ -14734,16 +14780,16 @@ msgstr ""
"\n"
"You can select \"Automatic\" if you do not know, and Evolution will attempt to work it out."
-#: shell/e-shell-importer.c:156
+#: ../shell/e-shell-importer.c:156
msgid "Choose the destination for this import"
msgstr "Choose the destination for this import"
-#: shell/e-shell-importer.c:159
-#: shell/e-shell-startup-wizard.c:750
+#: ../shell/e-shell-importer.c:159
+#: ../shell/e-shell-startup-wizard.c:750
msgid "Please select the information that you would like to import:"
msgstr "Please select the information that you would like to import:"
-#: shell/e-shell-importer.c:162
+#: ../shell/e-shell-importer.c:162
msgid ""
"Evolution checked for settings to import from the following\n"
"applications: Pine, Netscape, Elm, iCalendar. No settings\n"
@@ -14755,8 +14801,8 @@ msgstr ""
"that could be imported where found. If you would like to\n"
"try again, please click the \"Back\" button.\n"
-#: shell/e-shell-importer.c:233
-#: shell/e-shell-importer.c:267
+#: ../shell/e-shell-importer.c:233
+#: ../shell/e-shell-importer.c:267
#, c-format
msgid ""
"Importing %s\n"
@@ -14765,32 +14811,32 @@ msgstr ""
"Importing %s\n"
"Importing item %d."
-#: shell/e-shell-importer.c:341
+#: ../shell/e-shell-importer.c:341
msgid "Select importer"
msgstr "Select importer"
-#: shell/e-shell-importer.c:462
-#: shell/e-shell-importer.c:1086
+#: ../shell/e-shell-importer.c:462
+#: ../shell/e-shell-importer.c:1086
#, c-format
msgid "File %s does not exist"
msgstr "File %s does not exist"
-#: shell/e-shell-importer.c:470
+#: ../shell/e-shell-importer.c:470
msgid "Importing"
msgstr "Importing"
-#: shell/e-shell-importer.c:478
+#: ../shell/e-shell-importer.c:478
#, c-format
msgid "Importing %s.\n"
msgstr "Importing %s.\n"
-#: shell/e-shell-importer.c:488
-#: shell/e-shell-importer.c:489
+#: ../shell/e-shell-importer.c:488
+#: ../shell/e-shell-importer.c:489
#, c-format
msgid "Error loading %s"
msgstr "Error loading %s"
-#: shell/e-shell-importer.c:507
+#: ../shell/e-shell-importer.c:507
#, c-format
msgid ""
"Importing %s\n"
@@ -14799,32 +14845,32 @@ msgstr ""
"Importing %s\n"
"Importing item 1."
-#: shell/e-shell-importer.c:583
+#: ../shell/e-shell-importer.c:583
msgid "Automatic"
msgstr "Automatic"
-#: shell/e-shell-importer.c:639
+#: ../shell/e-shell-importer.c:639
msgid "F_ilename:"
msgstr "F_ilename:"
-#: shell/e-shell-importer.c:644
+#: ../shell/e-shell-importer.c:644
msgid "Select a file"
msgstr "Select a file"
-#: shell/e-shell-importer.c:656
+#: ../shell/e-shell-importer.c:656
msgid "File _type:"
msgstr "File _type:"
-#: shell/e-shell-importer.c:695
+#: ../shell/e-shell-importer.c:695
msgid "Import data and settings from _older programs"
msgstr "Import data and settings from _older programs"
-#: shell/e-shell-importer.c:698
+#: ../shell/e-shell-importer.c:698
msgid "Import a _single file"
msgstr "Import a _single file"
-#: shell/e-shell-importer.c:766
-#: shell/e-shell-startup-wizard.c:571
+#: ../shell/e-shell-importer.c:766
+#: ../shell/e-shell-startup-wizard.c:571
msgid ""
"Please wait...\n"
"Scanning for existing setups"
@@ -14832,42 +14878,42 @@ msgstr ""
"Please wait...\n"
"Scanning for existing setups"
-#: shell/e-shell-importer.c:773
+#: ../shell/e-shell-importer.c:773
msgid "Starting Intelligent Importers"
msgstr "Starting Intelligent Importers"
-#: shell/e-shell-importer.c:899
-#: shell/e-shell-startup-wizard.c:700
+#: ../shell/e-shell-importer.c:899
+#: ../shell/e-shell-startup-wizard.c:700
#, c-format
msgid "From %s:"
msgstr "From %s:"
-#: shell/e-shell-importer.c:1105
+#: ../shell/e-shell-importer.c:1105
#, c-format
msgid "No importer available for file %s"
msgstr "No importer available for file %s"
-#: shell/e-shell-importer.c:1119
+#: ../shell/e-shell-importer.c:1119
msgid "Unable to execute importer"
msgstr "Unable to execute importer"
-#: shell/e-shell-importer.c:1235
+#: ../shell/e-shell-importer.c:1235
msgid "_Import"
msgstr "_Import"
-#: shell/e-shell-offline-handler.c:589
+#: ../shell/e-shell-offline-handler.c:589
msgid "Closing connections..."
msgstr "Closing connections..."
-#: shell/e-shell-settings-dialog.c:318
+#: ../shell/e-shell-settings-dialog.c:318
msgid "Evolution Settings"
msgstr "Evolution Settings"
-#: shell/e-shell-startup-wizard.c:577
+#: ../shell/e-shell-startup-wizard.c:577
msgid "Starting import"
msgstr "Starting import"
-#: shell/e-shell-startup-wizard.c:797
+#: ../shell/e-shell-startup-wizard.c:797
msgid ""
"If you quit the Evolution Setup Assistant now, all of the information that you have entered will be forgotten. You will need to run this assistant again before using Evolution.\n"
"\n"
@@ -14877,137 +14923,138 @@ msgstr ""
"\n"
"Do you want to quit using the Assistant now?"
-#: shell/e-shell-utils.c:116
+#: ../shell/e-shell-utils.c:116
msgid "No folder name specified."
msgstr "No folder name specified."
-#: shell/e-shell-utils.c:123
+#: ../shell/e-shell-utils.c:123
msgid "Folder name cannot contain the Return character."
msgstr "Folder name cannot contain the Return character."
-#: shell/e-shell-utils.c:129
+#: ../shell/e-shell-utils.c:129
msgid "Folder name cannot contain the character \"/\"."
msgstr "Folder name cannot contain the character \"/\"."
-#: shell/e-shell-utils.c:135
+#: ../shell/e-shell-utils.c:135
msgid "Folder name cannot contain the character \"#\"."
msgstr "Folder name cannot contain the character \"#\"."
-#: shell/e-shell-utils.c:141
+#: ../shell/e-shell-utils.c:141
msgid "'.' and '..' are reserved folder names."
msgstr "'.' and '..' are reserved folder names."
-#: shell/e-shell-window-commands.c:67
+#: ../shell/e-shell-window-commands.c:69
msgid "The GNOME Pilot tools do not appear to be installed on this system."
msgstr "The GNOME Pilot tools do not appear to be installed on this system."
-#: shell/e-shell-window-commands.c:75
+#: ../shell/e-shell-window-commands.c:77
#, c-format
msgid "Error executing %s."
msgstr "Error executing %s."
-#: shell/e-shell-window-commands.c:124
+#: ../shell/e-shell-window-commands.c:126
msgid "Bug buddy is not installed."
msgstr "Bug buddy is not installed."
-#: shell/e-shell-window-commands.c:132
+#: ../shell/e-shell-window-commands.c:134
msgid "Bug buddy could not be run."
msgstr "Bug buddy could not be run."
#. The translator-credits string is for translators to list
-#: shell/e-shell-window-commands.c:426
+#. * about box
+#: ../shell/e-shell-window-commands.c:501
msgid "translator-credits"
msgstr ""
"Gareth Owen <gowen72@yahoo.com>\n"
"David Lodge <dave@cirt.net>"
-#: shell/e-shell-window-commands.c:440
+#: ../shell/e-shell-window-commands.c:515
msgid "Groupware Suite"
msgstr "Groupware Suite"
-#: shell/e-shell-window-commands.c:681
+#: ../shell/e-shell-window-commands.c:742
msgid "_Work Online"
msgstr "_Work Online"
-#: shell/e-shell-window-commands.c:694
-#: ui/evolution.xml.h:51
+#: ../shell/e-shell-window-commands.c:755
+#: ../ui/evolution.xml.h:51
msgid "_Work Offline"
msgstr "_Work Offline"
-#: shell/e-shell-window-commands.c:707
-#: ui/evolution.xml.h:34
+#: ../shell/e-shell-window-commands.c:768
+#: ../ui/evolution.xml.h:34
msgid "Work Offline"
msgstr "Work Offline"
-#: shell/e-shell-window.c:341
+#: ../shell/e-shell-window.c:341
msgid "Evolution is currently online. Click on this button to work offline."
msgstr "Evolution is currently online. Click on this button to work offline."
-#: shell/e-shell-window.c:349
+#: ../shell/e-shell-window.c:349
msgid "Evolution is in the process of going offline."
msgstr "Evolution is in the process of going offline."
-#: shell/e-shell-window.c:356
+#: ../shell/e-shell-window.c:356
msgid "Evolution is currently offline. Click on this button to work online."
msgstr "Evolution is currently offline. Click on this button to work online."
-#: shell/e-shell-window.c:708
+#: ../shell/e-shell-window.c:713
#, c-format
msgid "Switch to %s"
msgstr "Switch to %s"
-#: shell/e-shell.c:597
+#: ../shell/e-shell.c:598
msgid "Uknown system error."
msgstr "Uknown system error."
-#: shell/e-shell.c:805
-#: shell/e-shell.c:806
+#: ../shell/e-shell.c:800
+#: ../shell/e-shell.c:801
#, c-format
msgid "%ld KB"
msgstr "%ld KB"
-#: shell/e-shell.c:1249
-#: widgets/misc/e-cell-date-edit.c:256
+#: ../shell/e-shell.c:1254
+#: ../widgets/misc/e-cell-date-edit.c:256
msgid "OK"
msgstr "OK"
-#: shell/e-shell.c:1251
+#: ../shell/e-shell.c:1256
msgid "Invalid arguments"
msgstr "Invalid arguments"
-#: shell/e-shell.c:1253
+#: ../shell/e-shell.c:1258
msgid "Cannot register on OAF"
msgstr "Cannot register on OAF"
-#: shell/e-shell.c:1255
+#: ../shell/e-shell.c:1260
msgid "Configuration Database not found"
msgstr "Configuration Database not found"
-#: shell/e-shell.c:1257
+#: ../shell/e-shell.c:1262
msgid "Generic error"
msgstr "Generic error"
-#: shell/e-user-creatable-items-handler.c:685
+#: ../shell/e-user-creatable-items-handler.c:685
msgid "New"
msgstr "New"
-#: shell/evolution-startup-wizard.glade.h:2
+#: ../shell/evolution-startup-wizard.glade.h:2
msgid "Evolution Setup Assistant"
msgstr "Evolution Setup Assistant"
-#: shell/evolution-startup-wizard.glade.h:3
+#: ../shell/evolution-startup-wizard.glade.h:3
msgid "Importing Files"
msgstr "Importing Files"
-#: shell/evolution-startup-wizard.glade.h:4
+#: ../shell/evolution-startup-wizard.glade.h:4
msgid "Timezone "
msgstr "Timezone "
-#: shell/evolution-startup-wizard.glade.h:5
+#: ../shell/evolution-startup-wizard.glade.h:5
msgid "Welcome"
msgstr "Welcome"
-#: shell/evolution-startup-wizard.glade.h:6
+#: ../shell/evolution-startup-wizard.glade.h:6
msgid ""
"Welcome to Evolution. The next few screens will allow Evolution to connect to your email accounts, and to import files from other applications. \n"
"\n"
@@ -15017,7 +15064,7 @@ msgstr ""
"\n"
"Please click the \"Forward\" button to continue. "
-#: shell/evolution-startup-wizard.glade.h:9
+#: ../shell/evolution-startup-wizard.glade.h:9
msgid ""
"You have successfully entered all of the information needed to set up Evolution. \n"
"\n"
@@ -15027,47 +15074,47 @@ msgstr ""
"\n"
"Click the \"Apply\" button to save your settings. "
-#: shell/evolution-test-component.c:140
+#: ../shell/evolution-test-component.c:140
msgid "New Test"
msgstr "New Test"
-#: shell/evolution-test-component.c:141
+#: ../shell/evolution-test-component.c:141
msgid "_Test"
msgstr "_Test"
-#: shell/evolution-test-component.c:142
+#: ../shell/evolution-test-component.c:142
msgid "Create a new test item"
msgstr "Create a new test item"
-#: shell/importer/import.glade.h:1
+#: ../shell/importer/import.glade.h:1
msgid "Click \"Import\" to begin importing the file into Evolution. "
msgstr "Click \"Import\" to begin importing the file into Evolution. "
-#: shell/importer/import.glade.h:2
+#: ../shell/importer/import.glade.h:2
msgid "Evolution Import Assistant"
msgstr "Evolution Import Assistant"
-#: shell/importer/import.glade.h:3
+#: ../shell/importer/import.glade.h:3
msgid "Import File"
msgstr "Import File"
-#: shell/importer/import.glade.h:4
+#: ../shell/importer/import.glade.h:4
msgid "Import Location"
msgstr "Import Location"
-#: shell/importer/import.glade.h:5
+#: ../shell/importer/import.glade.h:5
msgid "Importer Type"
msgstr "Importer Type"
-#: shell/importer/import.glade.h:6
+#: ../shell/importer/import.glade.h:6
msgid "Select Importers"
msgstr "Select Importers"
-#: shell/importer/import.glade.h:7
+#: ../shell/importer/import.glade.h:7
msgid "Select a File"
msgstr "Select a File"
-#: shell/importer/import.glade.h:8
+#: ../shell/importer/import.glade.h:8
msgid ""
"Welcome to the Evolution Import Assistant.\n"
"With this assistant you will be guided through the process of\n"
@@ -15077,29 +15124,29 @@ msgstr ""
"With this assistant you will be guided through the process of\n"
"importing external files into Evolution."
-#: shell/importer/intelligent.c:193
+#: ../shell/importer/intelligent.c:193
msgid "Importers"
msgstr "Importers"
-#: shell/importer/intelligent.c:195
-#: smime/gui/smime-ui.glade.h:28
+#: ../shell/importer/intelligent.c:195
+#: ../smime/gui/smime-ui.glade.h:28
msgid "Import"
msgstr "Import"
-#: shell/importer/intelligent.c:199
+#: ../shell/importer/intelligent.c:199
msgid "Don't import"
msgstr "Don't import"
-#: shell/importer/intelligent.c:203
+#: ../shell/importer/intelligent.c:203
msgid "Don't ask me again"
msgstr "Don't ask me again"
-#: shell/importer/intelligent.c:211
+#: ../shell/importer/intelligent.c:211
msgid "Evolution can import data from the following files:"
msgstr "Evolution can import data from the following files:"
#. Preview/Alpha/Beta version warning message
-#: shell/main.c:237
+#: ../shell/main.c:238
#, no-c-format
msgid ""
"Hi. Thanks for taking the time to download this preview release\n"
@@ -15134,7 +15181,7 @@ msgstr ""
"We hope that you enjoy the results of our hard work, and we\n"
"eagerly await your contributions!\n"
-#: shell/main.c:261
+#: ../shell/main.c:262
msgid ""
"Thanks\n"
"The Evolution Team\n"
@@ -15142,39 +15189,39 @@ msgstr ""
"Thanks\n"
"The Evolution Team\n"
-#: shell/main.c:268
+#: ../shell/main.c:269
msgid "Don't tell me again"
msgstr "Don't tell me again"
-#: shell/main.c:473
+#: ../shell/main.c:474
msgid "Start Evolution activating the specified component"
msgstr "Start Evolution activating the specified component"
-#: shell/main.c:477
+#: ../shell/main.c:478
msgid "Start in online mode"
msgstr "Start in online mode"
-#: shell/main.c:480
+#: ../shell/main.c:481
msgid "Forcibly shut down all Evolution components"
msgstr "Forcibly shut down all Evolution components"
-#: shell/main.c:484
+#: ../shell/main.c:485
msgid "Forcibly re-migrate from Evolution 1.4"
msgstr "Forcibly re-migrate from Evolution 1.4"
-#: shell/main.c:487
+#: ../shell/main.c:488
msgid "Send the debugging output of all components to a file."
msgstr "Send the debugging output of all components to a file."
-#: shell/main.c:490
+#: ../shell/main.c:491
msgid "Disable the mono plugin environment."
msgstr "Disable the mono plugin environment."
-#: shell/main.c:493
+#: ../shell/main.c:494
msgid "Disable loading of any plugins."
msgstr "Disable loading of any plugins."
-#: shell/main.c:524
+#: ../shell/main.c:525
#, c-format
msgid ""
"%s: --online and --offline cannot be used together.\n"
@@ -15184,12 +15231,12 @@ msgstr ""
" Use %s --help for more information.\n"
#. shell:upgrade-nospace primary
-#: shell/shell-errors.xml.h:2
+#: ../shell/shell-errors.xml.h:2
msgid "Insufficient disk space for upgrade."
msgstr "Insufficient disk space for upgrade."
#. shell:upgrade-nospace secondary
-#: shell/shell-errors.xml.h:4
+#: ../shell/shell-errors.xml.h:4
msgid ""
"Upgrading your data and settings will require upto {0} of disk space, but you only have {1} available.\n"
"\n"
@@ -15200,7 +15247,7 @@ msgstr ""
"You will need to make more space available in your home directory before you can continue."
#. shell:upgrade-failed primary
-#: shell/shell-errors.xml.h:8
+#: ../shell/shell-errors.xml.h:8
msgid ""
"Upgrade from previous version failed:\n"
"{0}"
@@ -15209,7 +15256,7 @@ msgstr ""
"{0}"
#. shell:upgrade-failed secondary
-#: shell/shell-errors.xml.h:11
+#: ../shell/shell-errors.xml.h:11
msgid ""
"{1}\n"
"\n"
@@ -15219,21 +15266,21 @@ msgstr ""
"\n"
"If you choose to continue, you may not have access to some of your old data.\n"
-#: shell/shell-errors.xml.h:15
+#: ../shell/shell-errors.xml.h:15
msgid "Continue"
msgstr "Continue"
# shell:upgrade-remove-1-4 title
# shell:upgrade-remove-1-4 primary
#. shell:upgrade-remove-1-4 title
-#: shell/shell-errors.xml.h:17
-#: shell/shell-errors.xml.h:19
+#: ../shell/shell-errors.xml.h:17
+#: ../shell/shell-errors.xml.h:19
msgid "Delete old data from version {0}?"
msgstr "Delete old data from version {0}?"
# shell:upgrade-remove-1-4 secondary
#. shell:upgrade-remove-1-4 secondary
-#: shell/shell-errors.xml.h:21
+#: ../shell/shell-errors.xml.h:21
msgid ""
"The previous version of evolution stored its data in a different location.\n"
"\n"
@@ -15243,25 +15290,25 @@ msgstr ""
"\n"
"If you choose to remove this data, the entire contents of the \"evolution\" directory will be removed permanently. If you choose to keep this data, then you may manually remove the contents of \"evolution\" at your convenience.\n"
-#: shell/shell-errors.xml.h:25
+#: ../shell/shell-errors.xml.h:25
msgid "_Remind Me Later"
msgstr "_Remind Me Later"
-#: shell/shell-errors.xml.h:26
+#: ../shell/shell-errors.xml.h:26
msgid "_Keep Data"
msgstr "_Keep Data"
# shell:upgrade-remove-1-4-confirm title
# shell:upgrade-remove-1-4-confirm primary
#. shell:upgrade-remove-1-4-confirm title
-#: shell/shell-errors.xml.h:28
-#: shell/shell-errors.xml.h:30
+#: ../shell/shell-errors.xml.h:28
+#: ../shell/shell-errors.xml.h:30
msgid "Really delete old data?"
msgstr "Really delete old data?"
# shell:upgrade-remove-1-4-confirm secondary
#. shell:upgrade-remove-1-4-confirm secondary
-#: shell/shell-errors.xml.h:32
+#: ../shell/shell-errors.xml.h:32
msgid ""
"The entire contents of the \"evolution\" directory is about to be be permanently removed.\n"
"\n"
@@ -15276,19 +15323,19 @@ msgstr ""
"Once deleted, you cannot downgrade to the previous version of Evolution without manual intervention.\n"
#. shell:noshell title
-#: shell/shell-errors.xml.h:39
-#: shell/shell-errors.xml.h:47
+#: ../shell/shell-errors.xml.h:39
+#: ../shell/shell-errors.xml.h:47
msgid "Cannot start Evolution"
msgstr "Cannot start Evolution"
#. shell:noshell primary
-#: shell/shell-errors.xml.h:41
-#: shell/shell-errors.xml.h:49
+#: ../shell/shell-errors.xml.h:41
+#: ../shell/shell-errors.xml.h:49
msgid "Evolution can not start."
msgstr "Evolution can not start."
#. shell:noshell secondary
-#: shell/shell-errors.xml.h:43
+#: ../shell/shell-errors.xml.h:43
msgid ""
"Your system configuration does not match your Evolution configuration.\n"
"\n"
@@ -15299,7 +15346,7 @@ msgstr ""
"Click help for details"
#. shell:noshell-reason secondary
-#: shell/shell-errors.xml.h:51
+#: ../shell/shell-errors.xml.h:51
msgid ""
"Your system configuration does not match your Evolution configuration:\n"
"\n"
@@ -15313,7 +15360,7 @@ msgstr ""
"\n"
"Click help for details."
-#: smime/gui/ca-trust-dialog.c:96
+#: ../smime/gui/ca-trust-dialog.c:96
#, c-format
msgid ""
"Certificate '%s' is a CA certificate.\n"
@@ -15324,69 +15371,69 @@ msgstr ""
"\n"
"Edit trust settings:"
-#: smime/gui/cert-trust-dialog.c:145
+#: ../smime/gui/cert-trust-dialog.c:145
msgid "Because you trust the certificate authority that issued this certificate, then you trust the authenticity of this certificate unless otherwise indicated here"
msgstr "Because you trust the certificate authority that issued this certificate, then you trust the authenticity of this certificate unless otherwise indicated here"
-#: smime/gui/cert-trust-dialog.c:149
+#: ../smime/gui/cert-trust-dialog.c:149
msgid "Because you do not trust the certificate authority that issued this certificate, then you do not trust the authenticity of this certificate unless otherwise indicated here"
msgstr "Because you do not trust the certificate authority that issued this certificate, then you do not trust the authenticity of this certificate unless otherwise indicated here"
-#: smime/gui/certificate-manager.c:134
-#: smime/gui/certificate-manager.c:142
-#: smime/gui/certificate-manager.c:375
-#: smime/gui/certificate-manager.c:383
-#: smime/gui/certificate-manager.c:595
-#: smime/gui/certificate-manager.c:603
+#: ../smime/gui/certificate-manager.c:134
+#: ../smime/gui/certificate-manager.c:142
+#: ../smime/gui/certificate-manager.c:377
+#: ../smime/gui/certificate-manager.c:385
+#: ../smime/gui/certificate-manager.c:597
+#: ../smime/gui/certificate-manager.c:605
msgid "Select a cert to import..."
msgstr "Select a cert to import..."
-#: smime/gui/certificate-manager.c:263
-#: smime/gui/certificate-manager.c:472
-#: smime/gui/certificate-manager.c:690
+#: ../smime/gui/certificate-manager.c:265
+#: ../smime/gui/certificate-manager.c:474
+#: ../smime/gui/certificate-manager.c:692
msgid "Certificate Name"
msgstr "Certificate Name"
-#: smime/gui/certificate-manager.c:272
-#: smime/gui/certificate-manager.c:490
+#: ../smime/gui/certificate-manager.c:274
+#: ../smime/gui/certificate-manager.c:492
msgid "Purposes"
msgstr "Purposes"
-#: smime/gui/certificate-manager.c:281
-#: smime/gui/smime-ui.glade.h:36
-#: smime/lib/e-cert.c:569
+#: ../smime/gui/certificate-manager.c:283
+#: ../smime/gui/smime-ui.glade.h:36
+#: ../smime/lib/e-cert.c:569
msgid "Serial Number"
msgstr "Serial Number"
-#: smime/gui/certificate-manager.c:289
+#: ../smime/gui/certificate-manager.c:291
msgid "Expires"
msgstr "Expires"
-#: smime/gui/certificate-manager.c:481
+#: ../smime/gui/certificate-manager.c:483
msgid "E-Mail Address"
msgstr "E-Mail Address"
-#: smime/gui/certificate-viewer.c:334
+#: ../smime/gui/certificate-viewer.c:334
#, c-format
msgid "Certificate Viewer: %s"
msgstr "Certificate Viewer: %s"
-#: smime/gui/component.c:45
+#: ../smime/gui/component.c:45
#, c-format
msgid "Enter the password for `%s'"
msgstr "Enter the password for `%s'"
#. we're setting the password initially
-#: smime/gui/component.c:68
+#: ../smime/gui/component.c:68
msgid "Enter new password for certificate database"
msgstr "Enter new password for certificate database"
-#: smime/gui/component.c:70
+#: ../smime/gui/component.c:70
msgid "Enter new password"
msgstr "Enter new password"
#. FIXME: add serial no, validity date, uses
-#: smime/gui/e-cert-selector.c:119
+#: ../smime/gui/e-cert-selector.c:119
#, c-format
msgid ""
"Issued to:\n"
@@ -15395,7 +15442,7 @@ msgstr ""
"Issued to:\n"
" Subject: %s\n"
-#: smime/gui/e-cert-selector.c:120
+#: ../smime/gui/e-cert-selector.c:120
#, c-format
msgid ""
"Issued by:\n"
@@ -15404,1830 +15451,1834 @@ msgstr ""
"Issued by:\n"
" Subject: %s\n"
-#: smime/gui/e-cert-selector.c:167
+#: ../smime/gui/e-cert-selector.c:167
msgid "Select certificate"
msgstr "Select certificate"
-#: smime/gui/smime-ui.glade.h:1
+#: ../smime/gui/smime-ui.glade.h:1
msgid "<Not Part of Certificate>"
msgstr "<Not Part of Certificate>"
-#: smime/gui/smime-ui.glade.h:2
+#: ../smime/gui/smime-ui.glade.h:2
msgid "<b>Certificate Fields</b>"
msgstr "<b>Certificate Fields</b>"
-#: smime/gui/smime-ui.glade.h:3
+#: ../smime/gui/smime-ui.glade.h:3
msgid "<b>Certificate Hierarchy</b>"
msgstr "<b>Certificate Hierarchy</b>"
-#: smime/gui/smime-ui.glade.h:4
+#: ../smime/gui/smime-ui.glade.h:4
msgid "<b>Field Value</b>"
msgstr "<b>Field Value</b>"
-#: smime/gui/smime-ui.glade.h:5
+#: ../smime/gui/smime-ui.glade.h:5
msgid "<b>Fingerprints</b>"
msgstr "<b>Fingerprints</b>"
-#: smime/gui/smime-ui.glade.h:6
+#: ../smime/gui/smime-ui.glade.h:6
msgid "<b>Issued By</b>"
msgstr "<b>Issued By</b>"
-#: smime/gui/smime-ui.glade.h:7
+#: ../smime/gui/smime-ui.glade.h:7
msgid "<b>Issued To</b>"
msgstr "<b>Issued To</b>"
-#: smime/gui/smime-ui.glade.h:8
+#: ../smime/gui/smime-ui.glade.h:8
msgid "<b>This certificate has been verified for the following uses:</b>"
msgstr "<b>This certificate has been verified for the following uses:</b>"
-#: smime/gui/smime-ui.glade.h:9
+#: ../smime/gui/smime-ui.glade.h:9
msgid "<b>Validity</b>"
msgstr "<b>Validity</b>"
-#: smime/gui/smime-ui.glade.h:10
+#: ../smime/gui/smime-ui.glade.h:10
msgid "Authorities"
msgstr "Authorities"
-#: smime/gui/smime-ui.glade.h:11
+#: ../smime/gui/smime-ui.glade.h:11
msgid "Backup"
msgstr "Backup"
-#: smime/gui/smime-ui.glade.h:12
+#: ../smime/gui/smime-ui.glade.h:12
msgid "Backup All"
msgstr "Backup All"
-#: smime/gui/smime-ui.glade.h:13
+#: ../smime/gui/smime-ui.glade.h:13
msgid "Before trusting this CA for any purpose, you should examine its certificate and its policy and procedures (if available)."
msgstr "Before trusting this CA for any purpose, you should examine its certificate and its policy and procedures (if available)."
-#: smime/gui/smime-ui.glade.h:14
-#: smime/lib/e-cert.c:1076
+#: ../smime/gui/smime-ui.glade.h:14
+#: ../smime/lib/e-cert.c:1076
msgid "Certificate"
msgstr "Certificate"
-#: smime/gui/smime-ui.glade.h:15
+#: ../smime/gui/smime-ui.glade.h:15
msgid "Certificate Authority Trust"
msgstr "Certificate Authority Trust"
-#: smime/gui/smime-ui.glade.h:16
+#: ../smime/gui/smime-ui.glade.h:16
msgid "Certificate details"
msgstr "Certificate details"
-#: smime/gui/smime-ui.glade.h:17
+#: ../smime/gui/smime-ui.glade.h:17
msgid "Common Name (CN)"
msgstr "Common Name (CN)"
-#: smime/gui/smime-ui.glade.h:18
+#: ../smime/gui/smime-ui.glade.h:18
msgid "Contact Certificates"
msgstr "Contact Certificates"
-#: smime/gui/smime-ui.glade.h:20
+#: ../smime/gui/smime-ui.glade.h:20
msgid "Do not trust the authenticity of this certificate"
msgstr "Do not trust the authenticity of this certificate"
-#: smime/gui/smime-ui.glade.h:21
+#: ../smime/gui/smime-ui.glade.h:21
msgid "Dummy window only"
msgstr "Dummy window only"
-#: smime/gui/smime-ui.glade.h:22
+#: ../smime/gui/smime-ui.glade.h:22
msgid "Edit"
msgstr "Edit"
-#: smime/gui/smime-ui.glade.h:23
+#: ../smime/gui/smime-ui.glade.h:23
msgid "Email Certificate Trust Settings"
msgstr "Email Certificate Trust Settings"
-#: smime/gui/smime-ui.glade.h:24
+#: ../smime/gui/smime-ui.glade.h:24
msgid "Email Recipient Certificate"
msgstr "Email Recipient Certificate"
-#: smime/gui/smime-ui.glade.h:25
+#: ../smime/gui/smime-ui.glade.h:25
msgid "Email Signer Certificate"
msgstr "Email Signer Certificate"
-#: smime/gui/smime-ui.glade.h:26
+#: ../smime/gui/smime-ui.glade.h:26
msgid "Expires On"
msgstr "Expires On"
-#: smime/gui/smime-ui.glade.h:29
+#: ../smime/gui/smime-ui.glade.h:29
msgid "Issued On"
msgstr "Issued On"
-#: smime/gui/smime-ui.glade.h:30
+#: ../smime/gui/smime-ui.glade.h:30
msgid "MD5 Fingerprint"
msgstr "MD5 Fingerprint"
-#: smime/gui/smime-ui.glade.h:31
+#: ../smime/gui/smime-ui.glade.h:31
msgid "Organization (O)"
msgstr "Organisation (O)"
-#: smime/gui/smime-ui.glade.h:32
+#: ../smime/gui/smime-ui.glade.h:32
msgid "Organizational Unit (OU)"
msgstr "Organisational Unit (OU)"
-#: smime/gui/smime-ui.glade.h:33
+#: ../smime/gui/smime-ui.glade.h:33
msgid "SHA1 Fingerprint"
msgstr "SHA1 Fingerprint"
-#: smime/gui/smime-ui.glade.h:34
-#: smime/lib/e-cert.c:818
+#: ../smime/gui/smime-ui.glade.h:34
+#: ../smime/lib/e-cert.c:818
msgid "SSL Client Certificate"
msgstr "SSL Client Certificate"
-#: smime/gui/smime-ui.glade.h:35
-#: smime/lib/e-cert.c:822
+#: ../smime/gui/smime-ui.glade.h:35
+#: ../smime/lib/e-cert.c:822
msgid "SSL Server Certificate"
msgstr "SSL Server Certificate"
-#: smime/gui/smime-ui.glade.h:37
+#: ../smime/gui/smime-ui.glade.h:37
msgid "Trust the authenticity of this certificate"
msgstr "Trust the authenticity of this certificate"
-#: smime/gui/smime-ui.glade.h:38
+#: ../smime/gui/smime-ui.glade.h:38
msgid "Trust this CA to identify email users."
msgstr "Trust this CA to identify email users."
-#: smime/gui/smime-ui.glade.h:39
+#: ../smime/gui/smime-ui.glade.h:39
msgid "Trust this CA to identify software developers."
msgstr "Trust this CA to identify software developers."
-#: smime/gui/smime-ui.glade.h:40
+#: ../smime/gui/smime-ui.glade.h:40
msgid "Trust this CA to identify web sites."
msgstr "Trust this CA to identify web sites."
-#: smime/gui/smime-ui.glade.h:41
+#: ../smime/gui/smime-ui.glade.h:41
msgid "View"
msgstr "View"
-#: smime/gui/smime-ui.glade.h:42
+#: ../smime/gui/smime-ui.glade.h:42
msgid "You have certificates from these organizations that identify you:"
msgstr "You have certificates from these organisations that identify you:"
-#: smime/gui/smime-ui.glade.h:43
+#: ../smime/gui/smime-ui.glade.h:43
msgid "You have certificates on file that identify these certificate authorities:"
msgstr "You have certificates on file that identify these certificate authorities:"
-#: smime/gui/smime-ui.glade.h:44
+#: ../smime/gui/smime-ui.glade.h:44
msgid "You have certificates on file that identify these people:"
msgstr "You have certificates on file that identify these people:"
-#: smime/gui/smime-ui.glade.h:45
+#: ../smime/gui/smime-ui.glade.h:45
msgid "Your Certificates"
msgstr "Your Certificates"
-#: smime/gui/smime-ui.glade.h:46
+#: ../smime/gui/smime-ui.glade.h:46
msgid "_Edit CA Trust"
msgstr "_Edit CA Trust"
-#: smime/gui/smime-ui.glade.h:48
+#: ../smime/gui/smime-ui.glade.h:48
msgid "dialog1"
msgstr "dialogue1"
#. XXX we shouldn't be popping up dialogs in this code.
-#: smime/lib/e-cert-db.c:612
+#: ../smime/lib/e-cert-db.c:612
msgid "Certificate already exists"
msgstr "Certificate already exists"
-#: smime/lib/e-cert.c:238
-#: smime/lib/e-cert.c:248
+#: ../smime/lib/e-cert.c:238
+#: ../smime/lib/e-cert.c:248
msgid "%d/%m/%Y"
msgstr "%d/%m/%Y"
#. x509 certificate usage types
-#: smime/lib/e-cert.c:424
+#: ../smime/lib/e-cert.c:424
msgid "Sign"
msgstr "Sign"
-#: smime/lib/e-cert.c:425
+#: ../smime/lib/e-cert.c:425
msgid "Encrypt"
msgstr "Encrypt"
-#: smime/lib/e-cert.c:530
+#: ../smime/lib/e-cert.c:530
msgid "Version"
msgstr "Version"
-#: smime/lib/e-cert.c:545
+#: ../smime/lib/e-cert.c:545
msgid "Version 1"
msgstr "Version 1"
-#: smime/lib/e-cert.c:548
+#: ../smime/lib/e-cert.c:548
msgid "Version 2"
msgstr "Version 2"
-#: smime/lib/e-cert.c:551
+#: ../smime/lib/e-cert.c:551
msgid "Version 3"
msgstr "Version 3"
-#: smime/lib/e-cert.c:633
+#: ../smime/lib/e-cert.c:633
msgid "PKCS #1 MD2 With RSA Encryption"
msgstr "PKCS #1 MD2 With RSA Encryption"
-#: smime/lib/e-cert.c:636
+#: ../smime/lib/e-cert.c:636
msgid "PKCS #1 MD5 With RSA Encryption"
msgstr "PKCS #1 MD5 With RSA Encryption"
-#: smime/lib/e-cert.c:639
+#: ../smime/lib/e-cert.c:639
msgid "PKCS #1 SHA-1 With RSA Encryption"
msgstr "PKCS #1 SHA-1 With RSA Encryption"
-#: smime/lib/e-cert.c:642
+#: ../smime/lib/e-cert.c:642
msgid "C"
msgstr "C"
-#: smime/lib/e-cert.c:645
+#: ../smime/lib/e-cert.c:645
msgid "CN"
msgstr "CN"
-#: smime/lib/e-cert.c:648
+#: ../smime/lib/e-cert.c:648
msgid "OU"
msgstr "OU"
-#: smime/lib/e-cert.c:651
+#: ../smime/lib/e-cert.c:651
msgid "O"
msgstr "O"
-#: smime/lib/e-cert.c:654
+#: ../smime/lib/e-cert.c:654
msgid "L"
msgstr "L"
-#: smime/lib/e-cert.c:657
+#: ../smime/lib/e-cert.c:657
msgid "DN"
msgstr "DN"
-#: smime/lib/e-cert.c:660
+#: ../smime/lib/e-cert.c:660
msgid "DC"
msgstr "DC"
-#: smime/lib/e-cert.c:663
+#: ../smime/lib/e-cert.c:663
msgid "ST"
msgstr "ST"
-#: smime/lib/e-cert.c:666
+#: ../smime/lib/e-cert.c:666
msgid "PKCS #1 RSA Encryption"
msgstr "PKCS #1 RSA Encryption"
-#: smime/lib/e-cert.c:669
+#: ../smime/lib/e-cert.c:669
msgid "Certificate Key Usage"
msgstr "Certificate Key Usage"
-#: smime/lib/e-cert.c:672
+#: ../smime/lib/e-cert.c:672
msgid "Netscape Certificate Type"
msgstr "Netscape Certificate Type"
-#: smime/lib/e-cert.c:675
+#: ../smime/lib/e-cert.c:675
msgid "Certificate Authority Key Identifier"
msgstr "Certificate Authority Key Identifier"
-#: smime/lib/e-cert.c:678
+#: ../smime/lib/e-cert.c:678
msgid "UID"
msgstr "UID"
-#: smime/lib/e-cert.c:687
+#: ../smime/lib/e-cert.c:687
#, c-format
msgid "Object Identifier (%s)"
msgstr "Object Identifier (%s)"
-#: smime/lib/e-cert.c:738
+#: ../smime/lib/e-cert.c:738
msgid "Algorithm Identifier"
msgstr "Algorithm Identifier"
-#: smime/lib/e-cert.c:746
+#: ../smime/lib/e-cert.c:746
msgid "Algorithm Parameters"
msgstr "Algorithm Parameters"
-#: smime/lib/e-cert.c:768
+#: ../smime/lib/e-cert.c:768
msgid "Subject Public Key Info"
msgstr "Subject Public Key Info"
-#: smime/lib/e-cert.c:773
+#: ../smime/lib/e-cert.c:773
msgid "Subject Public Key Algorithm"
msgstr "Subject Public Key Algorithm"
-#: smime/lib/e-cert.c:788
+#: ../smime/lib/e-cert.c:788
msgid "Subject's Public Key"
msgstr "Subject's Public Key"
-#: smime/lib/e-cert.c:809
-#: smime/lib/e-cert.c:858
+#: ../smime/lib/e-cert.c:809
+#: ../smime/lib/e-cert.c:858
msgid "Error: Unable to process extension"
msgstr "Error: Unable to process extension"
-#: smime/lib/e-cert.c:830
-#: smime/lib/e-cert.c:842
+#: ../smime/lib/e-cert.c:830
+#: ../smime/lib/e-cert.c:842
msgid "Object Signer"
msgstr "Object Signer"
-#: smime/lib/e-cert.c:834
+#: ../smime/lib/e-cert.c:834
msgid "SSL Certificate Authority"
msgstr "SSL Certificate Authority"
-#: smime/lib/e-cert.c:838
+#: ../smime/lib/e-cert.c:838
msgid "Email Certificate Authority"
msgstr "Email Certificate Authority"
-#: smime/lib/e-cert.c:866
+#: ../smime/lib/e-cert.c:866
msgid "Signing"
msgstr "Signing"
-#: smime/lib/e-cert.c:870
+#: ../smime/lib/e-cert.c:870
msgid "Non-repudiation"
msgstr "Non-repudiation"
-#: smime/lib/e-cert.c:874
+#: ../smime/lib/e-cert.c:874
msgid "Key Encipherment"
msgstr "Key Encipherment"
-#: smime/lib/e-cert.c:878
+#: ../smime/lib/e-cert.c:878
msgid "Data Encipherment"
msgstr "Data Encipherment"
-#: smime/lib/e-cert.c:882
+#: ../smime/lib/e-cert.c:882
msgid "Key Agreement"
msgstr "Key Agreement"
-#: smime/lib/e-cert.c:886
+#: ../smime/lib/e-cert.c:886
msgid "Certificate Signer"
msgstr "Certificate Signer"
-#: smime/lib/e-cert.c:890
+#: ../smime/lib/e-cert.c:890
msgid "CRL Signer"
msgstr "CRL Signer"
-#: smime/lib/e-cert.c:938
+#: ../smime/lib/e-cert.c:938
msgid "Critical"
msgstr "Critical"
-#: smime/lib/e-cert.c:940
-#: smime/lib/e-cert.c:943
+#: ../smime/lib/e-cert.c:940
+#: ../smime/lib/e-cert.c:943
msgid "Not Critical"
msgstr "Not Critical"
-#: smime/lib/e-cert.c:964
+#: ../smime/lib/e-cert.c:964
msgid "Extensions"
msgstr "Extensions"
-#: smime/lib/e-cert.c:1035
+#: ../smime/lib/e-cert.c:1035
#, c-format
msgid "%s = %s"
msgstr "%s = %s"
-#: smime/lib/e-cert.c:1091
-#: smime/lib/e-cert.c:1211
+#: ../smime/lib/e-cert.c:1091
+#: ../smime/lib/e-cert.c:1211
msgid "Certificate Signature Algorithm"
msgstr "Certificate Signature Algorithm"
-#: smime/lib/e-cert.c:1100
+#: ../smime/lib/e-cert.c:1100
msgid "Issuer"
msgstr "Issuer"
-#: smime/lib/e-cert.c:1154
+#: ../smime/lib/e-cert.c:1154
msgid "Issuer Unique ID"
msgstr "Issuer Unique ID"
-#: smime/lib/e-cert.c:1173
+#: ../smime/lib/e-cert.c:1173
msgid "Subject Unique ID"
msgstr "Subject Unique ID"
-#: smime/lib/e-cert.c:1216
+#: ../smime/lib/e-cert.c:1216
msgid "Certificate Signature Value"
msgstr "Certificate Signature Value"
-#: smime/lib/e-pkcs12.c:264
+#: ../smime/lib/e-pkcs12.c:264
msgid "PKCS12 File Password"
msgstr "PKCS12 File Password"
-#: smime/lib/e-pkcs12.c:264
+#: ../smime/lib/e-pkcs12.c:264
msgid "Enter password for PKCS12 file:"
msgstr "Enter password for PKCS12 file:"
-#: smime/lib/e-pkcs12.c:363
+#: ../smime/lib/e-pkcs12.c:363
msgid "Imported Certificate"
msgstr "Imported Certificate"
-#: tools/evolution-launch-composer.c:324
+#: ../tools/evolution-launch-composer.c:324
msgid "An attachment to add."
msgstr "An attachment to add."
-#: tools/evolution-launch-composer.c:325
+#: ../tools/evolution-launch-composer.c:325
msgid "Content type of the attachment."
msgstr "Content type of the attachment."
-#: tools/evolution-launch-composer.c:326
+#: ../tools/evolution-launch-composer.c:326
msgid "The filename to display in the mail."
msgstr "The filename to display in the mail."
-#: tools/evolution-launch-composer.c:327
+#: ../tools/evolution-launch-composer.c:327
msgid "Description of the attachment."
msgstr "Description of the attachment."
-#: tools/evolution-launch-composer.c:328
+#: ../tools/evolution-launch-composer.c:328
msgid "Mark attachment to be shown inline by default."
msgstr "Mark attachment to be shown inline by default."
-#: tools/evolution-launch-composer.c:329
+#: ../tools/evolution-launch-composer.c:329
msgid "Default subject for the message."
msgstr "Default subject for the message."
#. This most likely means that KILL_PROCESS_CMD wasn't
-#: tools/killev.c:61
+#: ../tools/killev.c:61
#, c-format
msgid "Could not execute '%s': %s\n"
msgstr "Could not execute '%s': %s\n"
-#: tools/killev.c:76
+#: ../tools/killev.c:76
#, c-format
msgid "Shutting down %s (%s)\n"
msgstr "Shutting down %s (%s)\n"
-#: ui/evolution-addressbook.xml.h:3
+#: ../ui/evolution-addressbook.xml.h:3
msgid "Copy Contact(s) to Another Folder..."
msgstr "Copy Contact(s) to Another Folder..."
-#: ui/evolution-addressbook.xml.h:4
-#: ui/evolution-calendar.xml.h:2
+#: ../ui/evolution-addressbook.xml.h:4
+#: ../ui/evolution-calendar.xml.h:2
msgid "Copy the selection"
msgstr "Copy the selection"
-#: ui/evolution-addressbook.xml.h:5
+#: ../ui/evolution-addressbook.xml.h:5
msgid "Copy to Folder..."
msgstr "Copy to Folder..."
-#: ui/evolution-addressbook.xml.h:7
-#: ui/evolution-calendar.xml.h:3
+#: ../ui/evolution-addressbook.xml.h:7
+#: ../ui/evolution-calendar.xml.h:3
msgid "Cut the selection"
msgstr "Cut the selection"
-#: ui/evolution-addressbook.xml.h:9
+#: ../ui/evolution-addressbook.xml.h:9
msgid "Delete selected contacts"
msgstr "Delete selected contacts"
-#: ui/evolution-addressbook.xml.h:11
+#: ../ui/evolution-addressbook.xml.h:11
msgid "Move Contact(s) to Another Folder..."
msgstr "Move Contact(s) to Another Folder..."
-#: ui/evolution-addressbook.xml.h:12
+#: ../ui/evolution-addressbook.xml.h:12
msgid "Move to Folder..."
msgstr "Move to Folder..."
-#: ui/evolution-addressbook.xml.h:14
-#: ui/evolution-calendar.xml.h:16
+#: ../ui/evolution-addressbook.xml.h:14
+#: ../ui/evolution-calendar.xml.h:16
msgid "Paste the clipboard"
msgstr "Paste the clipboard"
-#: ui/evolution-addressbook.xml.h:15
+#: ../ui/evolution-addressbook.xml.h:15
msgid "Previews the contacts to be printed"
msgstr "Previews the contacts to be printed"
-#: ui/evolution-addressbook.xml.h:17
-#: ui/evolution-calendar.xml.h:20
-#: ui/evolution-mail-message.xml.h:81
-#: ui/evolution-tasks.xml.h:15
+#: ../ui/evolution-addressbook.xml.h:17
+#: ../ui/evolution-calendar.xml.h:20
+#: ../ui/evolution-mail-message.xml.h:81
+#: ../ui/evolution-tasks.xml.h:15
msgid "Print Pre_view"
msgstr "Print Pre_view"
-#: ui/evolution-addressbook.xml.h:18
+#: ../ui/evolution-addressbook.xml.h:18
msgid "Print selected contacts"
msgstr "Print selected contacts"
-#: ui/evolution-addressbook.xml.h:20
+#: ../ui/evolution-addressbook.xml.h:20
msgid "Save selected contacts as a VCard."
msgstr "Save selected contacts as a VCard."
-#: ui/evolution-addressbook.xml.h:21
+#: ../ui/evolution-addressbook.xml.h:21
msgid "Select All"
msgstr "Select All"
-#: ui/evolution-addressbook.xml.h:22
+#: ../ui/evolution-addressbook.xml.h:22
msgid "Select all contacts"
msgstr "Select all contacts"
-#: ui/evolution-addressbook.xml.h:23
+#: ../ui/evolution-addressbook.xml.h:23
msgid "Send a message to the selected contacts."
msgstr "Send a message to the selected contacts."
-#: ui/evolution-addressbook.xml.h:24
+#: ../ui/evolution-addressbook.xml.h:24
msgid "Send message to contact"
msgstr "Send message to contact"
-#: ui/evolution-addressbook.xml.h:25
+#: ../ui/evolution-addressbook.xml.h:25
msgid "Send selected contacts to another person."
msgstr "Send selected contacts to another person."
-#: ui/evolution-addressbook.xml.h:26
+#: ../ui/evolution-addressbook.xml.h:26
msgid "Show contact preview window"
msgstr "Show contact preview window"
-#: ui/evolution-addressbook.xml.h:27
+#: ../ui/evolution-addressbook.xml.h:27
msgid "Stop"
msgstr "Stop"
-#: ui/evolution-addressbook.xml.h:28
+#: ../ui/evolution-addressbook.xml.h:28
msgid "Stop Loading"
msgstr "Stop Loading"
-#: ui/evolution-addressbook.xml.h:29
+#: ../ui/evolution-addressbook.xml.h:29
msgid "View the current contact"
msgstr "View the current contact"
-#: ui/evolution-addressbook.xml.h:30
-#: ui/evolution-calendar.xml.h:38
-#: ui/evolution-mail-global.xml.h:14
-#: ui/evolution-mail-list.xml.h:23
-#: ui/evolution-mail-message.xml.h:103
-#: ui/evolution-mail-messagedisplay.xml.h:4
-#: ui/evolution-tasks.xml.h:19
-#: ui/evolution.xml.h:36
+#: ../ui/evolution-addressbook.xml.h:30
+#: ../ui/evolution-calendar.xml.h:38
+#: ../ui/evolution-mail-global.xml.h:14
+#: ../ui/evolution-mail-list.xml.h:23
+#: ../ui/evolution-mail-message.xml.h:103
+#: ../ui/evolution-mail-messagedisplay.xml.h:4
+#: ../ui/evolution-tasks.xml.h:19
+#: ../ui/evolution.xml.h:36
msgid "_Actions"
msgstr "_Actions"
-#: ui/evolution-addressbook.xml.h:35
+#: ../ui/evolution-addressbook.xml.h:35
msgid "_Forward Contact..."
msgstr "_Forward Contact..."
-#: ui/evolution-addressbook.xml.h:36
+#: ../ui/evolution-addressbook.xml.h:36
msgid "_Move to Folder..."
msgstr "_Move to Folder..."
-#: ui/evolution-addressbook.xml.h:39
-#: ui/evolution-mail-global.xml.h:16
+#: ../ui/evolution-addressbook.xml.h:39
+#: ../ui/evolution-mail-global.xml.h:16
msgid "_Preview Pane"
msgstr "_Preview Pane"
-#: ui/evolution-addressbook.xml.h:41
+#: ../ui/evolution-addressbook.xml.h:41
msgid "_Save as VCard..."
msgstr "_Save as VCard..."
-#: ui/evolution-addressbook.xml.h:42
+#: ../ui/evolution-addressbook.xml.h:42
msgid "_Select All"
msgstr "_Select All"
-#: ui/evolution-addressbook.xml.h:43
+#: ../ui/evolution-addressbook.xml.h:43
msgid "_Send Message to Contact..."
msgstr "_Send Message to Contact..."
-#: ui/evolution-calendar.xml.h:4
+#: ../ui/evolution-calendar.xml.h:4
msgid "Day"
msgstr "Day"
-#: ui/evolution-calendar.xml.h:6
+#: ../ui/evolution-calendar.xml.h:6
msgid "Delete All Occurrences"
msgstr "Delete All Occurrences"
-#: ui/evolution-calendar.xml.h:7
+#: ../ui/evolution-calendar.xml.h:7
msgid "Delete the appointment"
msgstr "Delete the appointment"
-#: ui/evolution-calendar.xml.h:8
+#: ../ui/evolution-calendar.xml.h:8
msgid "Delete this Occurrence"
msgstr "Delete this Occurrence"
-#: ui/evolution-calendar.xml.h:9
+#: ../ui/evolution-calendar.xml.h:9
msgid "Delete this occurrence"
msgstr "Delete this occurrence"
-#: ui/evolution-calendar.xml.h:10
+#: ../ui/evolution-calendar.xml.h:10
msgid "Go To"
msgstr "Go To"
-#: ui/evolution-calendar.xml.h:11
+#: ../ui/evolution-calendar.xml.h:11
msgid "Go back"
msgstr "Go back"
-#: ui/evolution-calendar.xml.h:12
+#: ../ui/evolution-calendar.xml.h:12
msgid "Go forward"
msgstr "Go forward"
-#: ui/evolution-calendar.xml.h:13
+#: ../ui/evolution-calendar.xml.h:13
msgid "List"
msgstr "List"
-#: ui/evolution-calendar.xml.h:14
+#: ../ui/evolution-calendar.xml.h:14
msgid "Month"
msgstr "Month"
-#: ui/evolution-calendar.xml.h:15
-#: ui/evolution-mail-message.xml.h:65
+#: ../ui/evolution-calendar.xml.h:15
+#: ../ui/evolution-mail-message.xml.h:65
msgid "Next"
msgstr "Next"
-#: ui/evolution-calendar.xml.h:17
+#: ../ui/evolution-calendar.xml.h:17
msgid "Previews the calendar to be printed"
msgstr "Previews the calendar to be printed"
-#: ui/evolution-calendar.xml.h:18
-#: ui/evolution-mail-message.xml.h:79
+#: ../ui/evolution-calendar.xml.h:18
+#: ../ui/evolution-mail-message.xml.h:79
msgid "Previous"
msgstr "Previous"
-#: ui/evolution-calendar.xml.h:21
+#: ../ui/evolution-calendar.xml.h:21
msgid "Print this calendar"
msgstr "Print this calendar"
-#: ui/evolution-calendar.xml.h:22
+#: ../ui/evolution-calendar.xml.h:22
msgid "Publish Free/Busy information for this calendar"
msgstr "Publish Free/Busy information for this calendar"
-#: ui/evolution-calendar.xml.h:23
-#: ui/evolution-tasks.xml.h:17
+#: ../ui/evolution-calendar.xml.h:23
+#: ../ui/evolution-tasks.xml.h:17
msgid "Purg_e"
msgstr "Purg_e"
-#: ui/evolution-calendar.xml.h:24
+#: ../ui/evolution-calendar.xml.h:24
msgid "Purge old appointments and meetings"
msgstr "Purge old appointments and meetings"
-#: ui/evolution-calendar.xml.h:25
+#: ../ui/evolution-calendar.xml.h:25
msgid "Select _Date"
msgstr "Select _Date"
-#: ui/evolution-calendar.xml.h:27
+#: ../ui/evolution-calendar.xml.h:27
msgid "Select a specific date"
msgstr "Select a specific date"
-#: ui/evolution-calendar.xml.h:28
+#: ../ui/evolution-calendar.xml.h:28
msgid "Select today"
msgstr "Select today"
-#: ui/evolution-calendar.xml.h:29
+#: ../ui/evolution-calendar.xml.h:29
msgid "Show as list"
msgstr "Show as list"
-#: ui/evolution-calendar.xml.h:30
+#: ../ui/evolution-calendar.xml.h:30
msgid "Show one day"
msgstr "Show one day"
-#: ui/evolution-calendar.xml.h:31
+#: ../ui/evolution-calendar.xml.h:31
msgid "Show one month"
msgstr "Show one month"
-#: ui/evolution-calendar.xml.h:32
+#: ../ui/evolution-calendar.xml.h:32
msgid "Show one week"
msgstr "Show one week"
-#: ui/evolution-calendar.xml.h:33
+#: ../ui/evolution-calendar.xml.h:33
msgid "Show the working week"
msgstr "Show the working week"
-#: ui/evolution-calendar.xml.h:35
+#: ../ui/evolution-calendar.xml.h:35
msgid "View the current appointment"
msgstr "View the current appointment"
-#: ui/evolution-calendar.xml.h:36
+#: ../ui/evolution-calendar.xml.h:36
msgid "Week"
msgstr "Week"
-#: ui/evolution-calendar.xml.h:37
+#: ../ui/evolution-calendar.xml.h:37
msgid "Work Week"
msgstr "Work Week"
-#: ui/evolution-calendar.xml.h:42
+#: ../ui/evolution-calendar.xml.h:42
msgid "_Open Appointment"
msgstr "_Open Appointment"
-#: ui/evolution-composer-entries.xml.h:1
+#: ../ui/evolution-composer-entries.xml.h:1
msgid "Copy selected text to the clipboard"
msgstr "Copy selected text to the clipboard"
-#: ui/evolution-composer-entries.xml.h:2
-#: ui/evolution-mail-message.xml.h:21
+#: ../ui/evolution-composer-entries.xml.h:2
+#: ../ui/evolution-mail-message.xml.h:21
msgid "Cu_t"
msgstr "Cu_t"
-#: ui/evolution-composer-entries.xml.h:3
+#: ../ui/evolution-composer-entries.xml.h:3
msgid "Cut selected text to the clipboard"
msgstr "Cut selected text to the clipboard"
-#: ui/evolution-composer-entries.xml.h:4
+#: ../ui/evolution-composer-entries.xml.h:4
msgid "Paste text from the clipboard"
msgstr "Paste text from the clipboard"
-#: ui/evolution-composer-entries.xml.h:5
-#: ui/evolution-mail-list.xml.h:13
-#: ui/evolution-subscribe.xml.h:6
+#: ../ui/evolution-composer-entries.xml.h:5
+#: ../ui/evolution-mail-list.xml.h:13
+#: ../ui/evolution-subscribe.xml.h:6
msgid "Select _All"
msgstr "Select _All"
-#: ui/evolution-composer-entries.xml.h:6
+#: ../ui/evolution-composer-entries.xml.h:6
msgid "Select all text"
msgstr "Select all text"
-#: ui/evolution-executive-summary.xml.h:1
+#: ../ui/evolution-executive-summary.xml.h:1
msgid "Customize My Evolution"
msgstr "Customise My Evolution"
-#: ui/evolution-mail-global.xml.h:2
+#: ../ui/evolution-mail-global.xml.h:2
msgid "Cancel the current mail operation"
msgstr "Cancel the current mail operation"
-#: ui/evolution-mail-global.xml.h:3
+#: ../ui/evolution-mail-global.xml.h:3
msgid "Compose _New Message"
msgstr "Compose _New Message"
-#: ui/evolution-mail-global.xml.h:4
+#: ../ui/evolution-mail-global.xml.h:4
msgid "Create or edit rules for filtering new mail"
msgstr "Create or edit rules for filtering new mail"
-#: ui/evolution-mail-global.xml.h:5
+#: ../ui/evolution-mail-global.xml.h:5
msgid "Create or edit vFolder definitions"
msgstr "Create or edit vFolder definitions"
-#: ui/evolution-mail-global.xml.h:6
+#: ../ui/evolution-mail-global.xml.h:6
msgid "Empty _Trash"
msgstr "Empty _Trash"
-#: ui/evolution-mail-global.xml.h:7
+#: ../ui/evolution-mail-global.xml.h:7
msgid "Open a window for composing a mail message"
msgstr "Open a window for composing a mail message"
-#: ui/evolution-mail-global.xml.h:8
+#: ../ui/evolution-mail-global.xml.h:8
msgid "Permanently remove all deleted messages from all folders"
msgstr "Permanently remove all deleted messages from all folders"
-#: ui/evolution-mail-global.xml.h:9
+#: ../ui/evolution-mail-global.xml.h:9
msgid "Post Ne_w Message"
msgstr "Post Ne_w Message"
-#: ui/evolution-mail-global.xml.h:10
+#: ../ui/evolution-mail-global.xml.h:10
msgid "Post a message to a Public folder"
msgstr "Post a message to a Public folder"
-#: ui/evolution-mail-global.xml.h:11
+#: ../ui/evolution-mail-global.xml.h:11
msgid "S_ubscribe to Folders..."
msgstr "S_ubscribe to Folders..."
-#: ui/evolution-mail-global.xml.h:12
+#: ../ui/evolution-mail-global.xml.h:12
msgid "Show message preview window"
msgstr "Show message preview window"
-#: ui/evolution-mail-global.xml.h:13
+#: ../ui/evolution-mail-global.xml.h:13
msgid "Subscribe or unsubscribe to folders on remote servers"
msgstr "Subscribe or unsubscribe to folders on remote servers"
-#: ui/evolution-mail-global.xml.h:15
+#: ../ui/evolution-mail-global.xml.h:15
msgid "_Filters..."
msgstr "_Filters..."
-#: ui/evolution-mail-global.xml.h:18
+#: ../ui/evolution-mail-global.xml.h:18
msgid "vFolder _Editor..."
msgstr "vFolder _Editor..."
-#: ui/evolution-mail-list.xml.h:1
+#: ../ui/evolution-mail-list.xml.h:1
msgid "Change the properties of this folder"
msgstr "Change the properties of this folder"
-#: ui/evolution-mail-list.xml.h:2
-#: ui/evolution-mail-message.xml.h:10
+#: ../ui/evolution-mail-list.xml.h:2
+#: ../ui/evolution-mail-message.xml.h:10
msgid "Copy selected message(s) to the clipboard"
msgstr "Copy selected message(s) to the clipboard"
-#: ui/evolution-mail-list.xml.h:3
-#: ui/evolution-mail-message.xml.h:22
+#: ../ui/evolution-mail-list.xml.h:3
+#: ../ui/evolution-mail-message.xml.h:22
msgid "Cut selected message(s) to the clipboard"
msgstr "Cut selected message(s) to the clipboard"
-#: ui/evolution-mail-list.xml.h:4
+#: ../ui/evolution-mail-list.xml.h:4
msgid "E_xpunge"
msgstr "E_xpunge"
-#: ui/evolution-mail-list.xml.h:5
+#: ../ui/evolution-mail-list.xml.h:5
msgid "Hide S_elected Messages"
msgstr "Hide S_elected Messages"
-#: ui/evolution-mail-list.xml.h:6
+#: ../ui/evolution-mail-list.xml.h:6
msgid "Hide _Deleted Messages"
msgstr "Hide _Deleted Messages"
-#: ui/evolution-mail-list.xml.h:7
+#: ../ui/evolution-mail-list.xml.h:7
msgid "Hide _Read Messages"
msgstr "Hide _Read Messages"
-#: ui/evolution-mail-list.xml.h:8
+#: ../ui/evolution-mail-list.xml.h:8
msgid "Hide deleted messages rather than displaying them with a line through them"
msgstr "Hide deleted messages rather than displaying them with a line through them"
-#: ui/evolution-mail-list.xml.h:9
+#: ../ui/evolution-mail-list.xml.h:9
msgid "Mark All as _Read"
msgstr "Mark All as _Read"
-#: ui/evolution-mail-list.xml.h:10
+#: ../ui/evolution-mail-list.xml.h:10
msgid "Mark all visible messages as read"
msgstr "Mark all visible messages as read"
-#: ui/evolution-mail-list.xml.h:11
-#: ui/evolution-mail-message.xml.h:74
+#: ../ui/evolution-mail-list.xml.h:11
+#: ../ui/evolution-mail-message.xml.h:74
msgid "Paste message(s) from the clipboard"
msgstr "Paste message(s) from the clipboard"
-#: ui/evolution-mail-list.xml.h:12
+#: ../ui/evolution-mail-list.xml.h:12
msgid "Permanently remove all deleted messages from this folder"
msgstr "Permanently remove all deleted messages from this folder"
-#: ui/evolution-mail-list.xml.h:14
+#: ../ui/evolution-mail-list.xml.h:14
msgid "Select _Thread"
msgstr "Select _Thread"
-#: ui/evolution-mail-list.xml.h:15
+#: ../ui/evolution-mail-list.xml.h:15
msgid "Select all and only the messages that are not currently selected"
msgstr "Select all and only the messages that are not currently selected"
-#: ui/evolution-mail-list.xml.h:16
+#: ../ui/evolution-mail-list.xml.h:16
msgid "Select all messages in the same thread as the selected message"
msgstr "Select all messages in the same thread as the selected message"
-#: ui/evolution-mail-list.xml.h:17
+#: ../ui/evolution-mail-list.xml.h:17
msgid "Select all visible messages"
msgstr "Select all visible messages"
-#: ui/evolution-mail-list.xml.h:18
+#: ../ui/evolution-mail-list.xml.h:18
msgid "Sh_ow Hidden Messages"
msgstr "Sh_ow Hidden Messages"
-#: ui/evolution-mail-list.xml.h:19
+#: ../ui/evolution-mail-list.xml.h:19
msgid "Show messages that have been temporarily hidden"
msgstr "Show messages that have been temporarily hidden"
-#: ui/evolution-mail-list.xml.h:20
+#: ../ui/evolution-mail-list.xml.h:20
msgid "Temporarily hide all messages that have already been read"
msgstr "Temporarily hide all messages that have already been read"
-#: ui/evolution-mail-list.xml.h:21
+#: ../ui/evolution-mail-list.xml.h:21
msgid "Temporarily hide the selected messages"
msgstr "Temporarily hide the selected messages"
-#: ui/evolution-mail-list.xml.h:22
+#: ../ui/evolution-mail-list.xml.h:22
msgid "Threaded Message list"
msgstr "Threaded Message list"
-#: ui/evolution-mail-list.xml.h:25
+#: ../ui/evolution-mail-list.xml.h:25
msgid "_Folder"
msgstr "_Folder"
-#: ui/evolution-mail-list.xml.h:26
-#: ui/evolution-subscribe.xml.h:12
+#: ../ui/evolution-mail-list.xml.h:26
+#: ../ui/evolution-subscribe.xml.h:12
msgid "_Invert Selection"
msgstr "_Invert Selection"
-#: ui/evolution-mail-list.xml.h:28
+#: ../ui/evolution-mail-list.xml.h:28
msgid "_Threaded Message List"
msgstr "_Threaded Message List"
-#: ui/evolution-mail-message.xml.h:1
+#: ../ui/evolution-mail-message.xml.h:1
msgid "A_dd Sender to Address Book"
msgstr "A_dd Sender to Address Book"
-#: ui/evolution-mail-message.xml.h:2
+#: ../ui/evolution-mail-message.xml.h:2
msgid "A_pply Filters"
msgstr "A_pply Filters"
-#: ui/evolution-mail-message.xml.h:3
+#: ../ui/evolution-mail-message.xml.h:3
msgid "Add Sender to Address Book"
msgstr "Add Sender to Address Book"
-#: ui/evolution-mail-message.xml.h:4
+#: ../ui/evolution-mail-message.xml.h:4
msgid "Apply filter rules to the selected messages"
msgstr "Apply filter rules to the selected messages"
-#: ui/evolution-mail-message.xml.h:5
+#: ../ui/evolution-mail-message.xml.h:5
msgid "Caret _Mode"
msgstr "Caret _Mode"
-#: ui/evolution-mail-message.xml.h:6
+#: ../ui/evolution-mail-message.xml.h:6
msgid "Compose a reply to all of the recipients of the selected message"
msgstr "Compose a reply to all of the recipients of the selected message"
-#: ui/evolution-mail-message.xml.h:7
+#: ../ui/evolution-mail-message.xml.h:7
msgid "Compose a reply to the mailing list of the selected message"
msgstr "Compose a reply to the mailing list of the selected message"
-#: ui/evolution-mail-message.xml.h:8
+#: ../ui/evolution-mail-message.xml.h:8
msgid "Compose a reply to the sender of the selected message"
msgstr "Compose a reply to the sender of the selected message"
-#: ui/evolution-mail-message.xml.h:11
+#: ../ui/evolution-mail-message.xml.h:11
msgid "Copy selected messages to another folder"
msgstr "Copy selected messages to another folder"
-#: ui/evolution-mail-message.xml.h:12
+#: ../ui/evolution-mail-message.xml.h:12
msgid "Create _vFolder From Message"
msgstr "Create _vFolder From Message"
-#: ui/evolution-mail-message.xml.h:13
+#: ../ui/evolution-mail-message.xml.h:13
msgid "Create a rule to filter messages from this sender"
msgstr "Create a rule to filter messages from this sender"
-#: ui/evolution-mail-message.xml.h:14
+#: ../ui/evolution-mail-message.xml.h:14
msgid "Create a rule to filter messages to these recipients"
msgstr "Create a rule to filter messages to these recipients"
-#: ui/evolution-mail-message.xml.h:15
+#: ../ui/evolution-mail-message.xml.h:15
msgid "Create a rule to filter messages to this mailing list"
msgstr "Create a rule to filter messages to this mailing list"
-#: ui/evolution-mail-message.xml.h:16
+#: ../ui/evolution-mail-message.xml.h:16
msgid "Create a rule to filter messages with this subject"
msgstr "Create a rule to filter messages with this subject"
-#: ui/evolution-mail-message.xml.h:17
+#: ../ui/evolution-mail-message.xml.h:17
msgid "Create a vFolder for these recipients"
msgstr "Create a vFolder for these recipients"
-#: ui/evolution-mail-message.xml.h:18
+#: ../ui/evolution-mail-message.xml.h:18
msgid "Create a vFolder for this mailing list"
msgstr "Create a vFolder for this mailing list"
-#: ui/evolution-mail-message.xml.h:19
+#: ../ui/evolution-mail-message.xml.h:19
msgid "Create a vFolder for this sender"
msgstr "Create a vFolder for this sender"
-#: ui/evolution-mail-message.xml.h:20
+#: ../ui/evolution-mail-message.xml.h:20
msgid "Create a vFolder for this subject"
msgstr "Create a vFolder for this subject"
-#: ui/evolution-mail-message.xml.h:23
+#: ../ui/evolution-mail-message.xml.h:23
msgid "Decrease the text size"
msgstr "Decrease the text size"
-#: ui/evolution-mail-message.xml.h:25
+#: ../ui/evolution-mail-message.xml.h:25
msgid "Display the next important message"
msgstr "Display the next important message"
-#: ui/evolution-mail-message.xml.h:26
+#: ../ui/evolution-mail-message.xml.h:26
msgid "Display the next message"
msgstr "Display the next message"
-#: ui/evolution-mail-message.xml.h:27
+#: ../ui/evolution-mail-message.xml.h:27
msgid "Display the next unread message"
msgstr "Display the next unread message"
-#: ui/evolution-mail-message.xml.h:28
+#: ../ui/evolution-mail-message.xml.h:28
msgid "Display the next unread thread"
msgstr "Display the next unread thread"
-#: ui/evolution-mail-message.xml.h:29
+#: ../ui/evolution-mail-message.xml.h:29
msgid "Display the previous important message"
msgstr "Display the previous important message"
-#: ui/evolution-mail-message.xml.h:30
+#: ../ui/evolution-mail-message.xml.h:30
msgid "Display the previous message"
msgstr "Display the previous message"
-#: ui/evolution-mail-message.xml.h:31
+#: ../ui/evolution-mail-message.xml.h:31
msgid "Display the previous unread message"
msgstr "Display the previous unread message"
-#: ui/evolution-mail-message.xml.h:32
+#: ../ui/evolution-mail-message.xml.h:32
msgid "F_orward As..."
msgstr "F_orward As..."
-#: ui/evolution-mail-message.xml.h:33
+#: ../ui/evolution-mail-message.xml.h:33
msgid "Filter _Junk"
msgstr "Filter _Junk"
-#: ui/evolution-mail-message.xml.h:34
+#: ../ui/evolution-mail-message.xml.h:34
msgid "Filter on Mailing _List..."
msgstr "Filter on Mailing _List..."
-#: ui/evolution-mail-message.xml.h:35
+#: ../ui/evolution-mail-message.xml.h:35
msgid "Filter on Se_nder..."
msgstr "Filter on Se_nder..."
-#: ui/evolution-mail-message.xml.h:36
+#: ../ui/evolution-mail-message.xml.h:36
msgid "Filter on _Recipients..."
msgstr "Filter on _Recipients..."
-#: ui/evolution-mail-message.xml.h:37
+#: ../ui/evolution-mail-message.xml.h:37
msgid "Filter on _Subject..."
msgstr "Filter on _Subject..."
-#: ui/evolution-mail-message.xml.h:38
+#: ../ui/evolution-mail-message.xml.h:38
msgid "Filter the selected messages for junk status"
msgstr "Filter the selected messages for junk status"
-#: ui/evolution-mail-message.xml.h:39
+#: ../ui/evolution-mail-message.xml.h:39
msgid "Flag selected message(s) for follow-up"
msgstr "Flag selected message(s) for follow-up"
-#: ui/evolution-mail-message.xml.h:40
+#: ../ui/evolution-mail-message.xml.h:40
msgid "Follow _Up..."
msgstr "Follow _Up..."
-#: ui/evolution-mail-message.xml.h:41
+#: ../ui/evolution-mail-message.xml.h:41
msgid "Force images in HTML mail to be loaded"
msgstr "Force images in HTML mail to be loaded"
-#: ui/evolution-mail-message.xml.h:43
+#: ../ui/evolution-mail-message.xml.h:43
msgid "Forward the selected message in the body of a new message"
msgstr "Forward the selected message in the body of a new message"
-#: ui/evolution-mail-message.xml.h:44
+#: ../ui/evolution-mail-message.xml.h:44
msgid "Forward the selected message quoted like a reply"
msgstr "Forward the selected message quoted like a reply"
-#: ui/evolution-mail-message.xml.h:45
+#: ../ui/evolution-mail-message.xml.h:45
msgid "Forward the selected message to someone"
msgstr "Forward the selected message to someone"
-#: ui/evolution-mail-message.xml.h:46
+#: ../ui/evolution-mail-message.xml.h:46
msgid "Forward the selected message to someone as an attachment"
msgstr "Forward the selected message to someone as an attachment"
-#: ui/evolution-mail-message.xml.h:47
+#: ../ui/evolution-mail-message.xml.h:47
msgid "Increase the text size"
msgstr "Increase the text size"
-#: ui/evolution-mail-message.xml.h:49
+#: ../ui/evolution-mail-message.xml.h:49
msgid "Load _Images"
msgstr "Load _Images"
-#: ui/evolution-mail-message.xml.h:51
+#: ../ui/evolution-mail-message.xml.h:50
+msgid "Mar_k as Read"
+msgstr "Mar_k as Read"
+
+#: ../ui/evolution-mail-message.xml.h:51
msgid "Mark as I_mportant"
msgstr "Mark as I_mportant"
-#: ui/evolution-mail-message.xml.h:52
+#: ../ui/evolution-mail-message.xml.h:52
msgid "Mark as U_nread"
msgstr "Mark as U_nread"
-#: ui/evolution-mail-message.xml.h:53
+#: ../ui/evolution-mail-message.xml.h:53
msgid "Mark as Unimp_ortant"
msgstr "Mark as Unimp_ortant"
-#: ui/evolution-mail-message.xml.h:56
+#: ../ui/evolution-mail-message.xml.h:56
msgid "Mark the selected message(s) as having been read"
msgstr "Mark the selected message(s) as having been read"
-#: ui/evolution-mail-message.xml.h:57
+#: ../ui/evolution-mail-message.xml.h:57
msgid "Mark the selected message(s) as important"
msgstr "Mark the selected message(s) as important"
-#: ui/evolution-mail-message.xml.h:58
+#: ../ui/evolution-mail-message.xml.h:58
msgid "Mark the selected message(s) as junk"
msgstr "Mark the selected message(s) as junk"
-#: ui/evolution-mail-message.xml.h:59
+#: ../ui/evolution-mail-message.xml.h:59
msgid "Mark the selected message(s) as not being junk"
msgstr "Mark the selected message(s) as not being junk"
-#: ui/evolution-mail-message.xml.h:60
+#: ../ui/evolution-mail-message.xml.h:60
msgid "Mark the selected message(s) as not having been read"
msgstr "Mark the selected message(s) as not having been read"
-#: ui/evolution-mail-message.xml.h:61
+#: ../ui/evolution-mail-message.xml.h:61
msgid "Mark the selected message(s) as unimportant"
msgstr "Mark the selected message(s) as unimportant"
-#: ui/evolution-mail-message.xml.h:62
+#: ../ui/evolution-mail-message.xml.h:62
msgid "Mark the selected messages for deletion"
msgstr "Mark the selected messages for deletion"
-#: ui/evolution-mail-message.xml.h:63
+#: ../ui/evolution-mail-message.xml.h:63
msgid "Move"
msgstr "Move"
-#: ui/evolution-mail-message.xml.h:64
+#: ../ui/evolution-mail-message.xml.h:64
msgid "Move selected message(s) to another folder"
msgstr "Move selected message(s) to another folder"
-#: ui/evolution-mail-message.xml.h:66
+#: ../ui/evolution-mail-message.xml.h:66
msgid "Next _Important Message"
msgstr "Next _Important Message"
-#: ui/evolution-mail-message.xml.h:67
+#: ../ui/evolution-mail-message.xml.h:67
msgid "Next _Thread"
msgstr "Next _Thread"
-#: ui/evolution-mail-message.xml.h:68
+#: ../ui/evolution-mail-message.xml.h:68
msgid "Next _Unread Message"
msgstr "Next _Unread Message"
-#: ui/evolution-mail-message.xml.h:69
+#: ../ui/evolution-mail-message.xml.h:69
msgid "Not Junk"
msgstr "Not Junk"
-#: ui/evolution-mail-message.xml.h:70
+#: ../ui/evolution-mail-message.xml.h:70
msgid "Open the selected message in a new window"
msgstr "Open the selected message in a new window"
-#: ui/evolution-mail-message.xml.h:71
+#: ../ui/evolution-mail-message.xml.h:71
msgid "Open the selected message in the composer for editing"
msgstr "Open the selected message in the composer for editing"
-#: ui/evolution-mail-message.xml.h:72
+#: ../ui/evolution-mail-message.xml.h:72
msgid "Original Si_ze"
msgstr "Original Si_ze"
-#: ui/evolution-mail-message.xml.h:73
+#: ../ui/evolution-mail-message.xml.h:73
msgid "P_revious Unread Message"
msgstr "P_revious Unread Message"
-#: ui/evolution-mail-message.xml.h:75
+#: ../ui/evolution-mail-message.xml.h:75
msgid "Post a Repl_y"
msgstr "Post a Repl_y"
-#: ui/evolution-mail-message.xml.h:76
+#: ../ui/evolution-mail-message.xml.h:76
msgid "Post a reply to a message in a Public folder"
msgstr "Post a reply to a message in a Public folder"
-#: ui/evolution-mail-message.xml.h:77
+#: ../ui/evolution-mail-message.xml.h:77
msgid "Pr_evious Important Message"
msgstr "Pr_evious Important Message"
-#: ui/evolution-mail-message.xml.h:78
+#: ../ui/evolution-mail-message.xml.h:78
msgid "Preview the message to be printed"
msgstr "Preview the message to be printed"
-#: ui/evolution-mail-message.xml.h:82
+#: ../ui/evolution-mail-message.xml.h:82
msgid "Print this message"
msgstr "Print this message"
-#: ui/evolution-mail-message.xml.h:83
+#: ../ui/evolution-mail-message.xml.h:83
msgid "Re_direct"
msgstr "Re_direct"
-#: ui/evolution-mail-message.xml.h:84
+#: ../ui/evolution-mail-message.xml.h:84
msgid "Redirect (bounce) the selected message to someone"
msgstr "Redirect (bounce) the selected message to someone"
-#: ui/evolution-mail-message.xml.h:89
+#: ../ui/evolution-mail-message.xml.h:89
msgid "Reset the text to its original size"
msgstr "Reset the text to its original size"
-#: ui/evolution-mail-message.xml.h:90
+#: ../ui/evolution-mail-message.xml.h:90
msgid "S_earch in Message..."
msgstr "S_earch in Message..."
-#: ui/evolution-mail-message.xml.h:91
+#: ../ui/evolution-mail-message.xml.h:91
msgid "S_maller"
msgstr "S_maller"
-#: ui/evolution-mail-message.xml.h:92
+#: ../ui/evolution-mail-message.xml.h:92
msgid "Save the message as a text file"
msgstr "Save the message as a text file"
-#: ui/evolution-mail-message.xml.h:93
+#: ../ui/evolution-mail-message.xml.h:93
msgid "Search for text in the body of the displayed message"
msgstr "Search for text in the body of the displayed message"
-#: ui/evolution-mail-message.xml.h:94
+#: ../ui/evolution-mail-message.xml.h:94
msgid "Set up the page settings for your current printer"
msgstr "Set up the page settings for your current printer"
-#: ui/evolution-mail-message.xml.h:95
+#: ../ui/evolution-mail-message.xml.h:95
msgid "Show Email _Source"
msgstr "Show Email _Source"
-#: ui/evolution-mail-message.xml.h:96
+#: ../ui/evolution-mail-message.xml.h:96
msgid "Show Full _Headers"
msgstr "Show Full _Headers"
-#: ui/evolution-mail-message.xml.h:97
+#: ../ui/evolution-mail-message.xml.h:97
msgid "Show a blinking cursor in the body of displayed messages"
msgstr "Show a blinking cursor in the body of displayed messages"
-#: ui/evolution-mail-message.xml.h:98
+#: ../ui/evolution-mail-message.xml.h:98
msgid "Show message in the normal style"
msgstr "Show message in the normal style"
-#: ui/evolution-mail-message.xml.h:99
+#: ../ui/evolution-mail-message.xml.h:99
msgid "Show message with all email headers"
msgstr "Show message with all email headers"
-#: ui/evolution-mail-message.xml.h:100
+#: ../ui/evolution-mail-message.xml.h:100
msgid "Show the raw email source of the message"
msgstr "Show the raw email source of the message"
-#: ui/evolution-mail-message.xml.h:101
+#: ../ui/evolution-mail-message.xml.h:101
msgid "Text Si_ze"
msgstr "Text Si_ze"
-#: ui/evolution-mail-message.xml.h:102
+#: ../ui/evolution-mail-message.xml.h:102
msgid "Un-delete the selected messages"
msgstr "Un-delete the selected messages"
-#: ui/evolution-mail-message.xml.h:104
+#: ../ui/evolution-mail-message.xml.h:104
msgid "_Attached"
msgstr "_Attached"
-#: ui/evolution-mail-message.xml.h:107
+#: ../ui/evolution-mail-message.xml.h:107
msgid "_Create Filter From Message"
msgstr "_Create Filter From Message"
-#: ui/evolution-mail-message.xml.h:111
+#: ../ui/evolution-mail-message.xml.h:111
msgid "_Go To"
msgstr "_Go To"
-#: ui/evolution-mail-message.xml.h:112
+#: ../ui/evolution-mail-message.xml.h:112
msgid "_Inline"
msgstr "_Inline"
-#: ui/evolution-mail-message.xml.h:113
+#: ../ui/evolution-mail-message.xml.h:113
msgid "_Larger"
msgstr "_Larger"
-#: ui/evolution-mail-message.xml.h:114
+#: ../ui/evolution-mail-message.xml.h:114
msgid "_Message Display"
msgstr "_Message Display"
-#: ui/evolution-mail-message.xml.h:116
+#: ../ui/evolution-mail-message.xml.h:116
msgid "_Next Message"
msgstr "_Next Message"
-#: ui/evolution-mail-message.xml.h:117
+#: ../ui/evolution-mail-message.xml.h:117
msgid "_Normal Display"
msgstr "_Normal Display"
-#: ui/evolution-mail-message.xml.h:118
+#: ../ui/evolution-mail-message.xml.h:118
msgid "_Open Message"
msgstr "_Open Message"
-#: ui/evolution-mail-message.xml.h:120
+#: ../ui/evolution-mail-message.xml.h:120
msgid "_Previous Message"
msgstr "_Previous Message"
-#: ui/evolution-mail-message.xml.h:122
+#: ../ui/evolution-mail-message.xml.h:122
msgid "_Quoted"
msgstr "_Quoted"
-#: ui/evolution-mail-message.xml.h:125
-#: ui/evolution.xml.h:48
+#: ../ui/evolution-mail-message.xml.h:125
+#: ../ui/evolution.xml.h:48
msgid "_Tools"
msgstr "_Tools"
-#: ui/evolution-mail-message.xml.h:126
+#: ../ui/evolution-mail-message.xml.h:126
msgid "_Undelete"
msgstr "_Undelete"
-#: ui/evolution-mail-message.xml.h:127
+#: ../ui/evolution-mail-message.xml.h:127
msgid "vFolder on Mailing _List..."
msgstr "vFolder on Mailing _List..."
-#: ui/evolution-mail-message.xml.h:128
+#: ../ui/evolution-mail-message.xml.h:128
msgid "vFolder on Se_nder..."
msgstr "vFolder on Se_nder..."
-#: ui/evolution-mail-message.xml.h:129
+#: ../ui/evolution-mail-message.xml.h:129
msgid "vFolder on _Recipients..."
msgstr "vFolder on _Recipients..."
-#: ui/evolution-mail-message.xml.h:130
+#: ../ui/evolution-mail-message.xml.h:130
msgid "vFolder on _Subject..."
msgstr "vFolder on _Subject..."
-#: ui/evolution-mail-messagedisplay.xml.h:1
-#: ui/evolution-message-composer.xml.h:3
-#: ui/evolution-signature-editor.xml.h:2
-#: ui/evolution.xml.h:4
+#: ../ui/evolution-mail-messagedisplay.xml.h:1
+#: ../ui/evolution-message-composer.xml.h:3
+#: ../ui/evolution-signature-editor.xml.h:2
+#: ../ui/evolution.xml.h:4
msgid "Close"
msgstr "Close"
-#: ui/evolution-mail-messagedisplay.xml.h:2
-#: ui/evolution.xml.h:5
+#: ../ui/evolution-mail-messagedisplay.xml.h:2
+#: ../ui/evolution.xml.h:5
msgid "Close this window"
msgstr "Close this window"
-#: ui/evolution-mail-messagedisplay.xml.h:3
-#: ui/evolution.xml.h:19
+#: ../ui/evolution-mail-messagedisplay.xml.h:3
+#: ../ui/evolution.xml.h:19
msgid "Main toolbar"
msgstr "Main toolbar"
-#: ui/evolution-mail-messagedisplay.xml.h:5
-#: ui/evolution-message-composer.xml.h:41
-#: ui/evolution-subscribe.xml.h:9
-#: ui/evolution.xml.h:37
+#: ../ui/evolution-mail-messagedisplay.xml.h:5
+#: ../ui/evolution-message-composer.xml.h:41
+#: ../ui/evolution-subscribe.xml.h:9
+#: ../ui/evolution.xml.h:37
msgid "_Close"
msgstr "_Close"
-#: ui/evolution-mail-messagedisplay.xml.h:7
-#: ui/evolution-message-composer.xml.h:44
-#: ui/evolution-signature-editor.xml.h:13
-#: ui/evolution-subscribe.xml.h:11
-#: ui/evolution.xml.h:39
+#: ../ui/evolution-mail-messagedisplay.xml.h:7
+#: ../ui/evolution-message-composer.xml.h:44
+#: ../ui/evolution-signature-editor.xml.h:13
+#: ../ui/evolution-subscribe.xml.h:11
+#: ../ui/evolution.xml.h:39
msgid "_File"
msgstr "_File"
-#: ui/evolution-message-composer.xml.h:1
+#: ../ui/evolution-message-composer.xml.h:1
msgid "Attach"
msgstr "Attach"
-#: ui/evolution-message-composer.xml.h:2
+#: ../ui/evolution-message-composer.xml.h:2
msgid "Attach a file"
msgstr "Attach a file"
-#: ui/evolution-message-composer.xml.h:4
-#: ui/evolution-signature-editor.xml.h:3
+#: ../ui/evolution-message-composer.xml.h:4
+#: ../ui/evolution-signature-editor.xml.h:3
msgid "Close the current file"
msgstr "Close the current file"
-#: ui/evolution-message-composer.xml.h:5
+#: ../ui/evolution-message-composer.xml.h:5
msgid "Delete all but signature"
msgstr "Delete all but signature"
-#: ui/evolution-message-composer.xml.h:6
+#: ../ui/evolution-message-composer.xml.h:6
msgid "Encrypt this message with PGP"
msgstr "Encrypt this message with PGP"
-#: ui/evolution-message-composer.xml.h:7
+#: ../ui/evolution-message-composer.xml.h:7
msgid "Encrypt this message with your S/MIME Encryption Cetificate"
msgstr "Encrypt this message with your S/MIME Encryption Cetificate"
-#: ui/evolution-message-composer.xml.h:8
-#: ui/evolution-signature-editor.xml.h:4
+#: ../ui/evolution-message-composer.xml.h:8
+#: ../ui/evolution-signature-editor.xml.h:4
msgid "For_mat"
msgstr "For_mat"
-#: ui/evolution-message-composer.xml.h:9
+#: ../ui/evolution-message-composer.xml.h:9
msgid "HT_ML"
msgstr "HT_ML"
-#: ui/evolution-message-composer.xml.h:11
+#: ../ui/evolution-message-composer.xml.h:11
msgid "Open a file"
msgstr "Open a file"
-#: ui/evolution-message-composer.xml.h:12
+#: ../ui/evolution-message-composer.xml.h:12
msgid "PGP Encrypt"
msgstr "PGP Encrypt"
-#: ui/evolution-message-composer.xml.h:13
+#: ../ui/evolution-message-composer.xml.h:13
msgid "PGP Sign"
msgstr "PGP Sign"
-#: ui/evolution-message-composer.xml.h:14
+#: ../ui/evolution-message-composer.xml.h:14
msgid "S/MIME Encrypt"
msgstr "S/MIME Encrypt"
-#: ui/evolution-message-composer.xml.h:15
+#: ../ui/evolution-message-composer.xml.h:15
msgid "S/MIME Sign"
msgstr "S/MIME Sign"
-#: ui/evolution-message-composer.xml.h:17
+#: ../ui/evolution-message-composer.xml.h:17
msgid "Save As"
msgstr "Save As"
-#: ui/evolution-message-composer.xml.h:18
+#: ../ui/evolution-message-composer.xml.h:18
msgid "Save _As..."
msgstr "Save _As..."
-#: ui/evolution-message-composer.xml.h:19
+#: ../ui/evolution-message-composer.xml.h:19
msgid "Save _Draft"
msgstr "Save _Draft"
-#: ui/evolution-message-composer.xml.h:20
+#: ../ui/evolution-message-composer.xml.h:20
msgid "Save in folder..."
msgstr "Save in folder..."
-#: ui/evolution-message-composer.xml.h:21
-#: ui/evolution-signature-editor.xml.h:9
+#: ../ui/evolution-message-composer.xml.h:21
+#: ../ui/evolution-signature-editor.xml.h:9
msgid "Save the current file"
msgstr "Save the current file"
-#: ui/evolution-message-composer.xml.h:22
+#: ../ui/evolution-message-composer.xml.h:22
msgid "Save the current file with a different name"
msgstr "Save the current file with a different name"
-#: ui/evolution-message-composer.xml.h:23
+#: ../ui/evolution-message-composer.xml.h:23
msgid "Save the message in a specified folder"
msgstr "Save the message in a specified folder"
-#: ui/evolution-message-composer.xml.h:25
-#: ui/evolution-signature-editor.xml.h:11
+#: ../ui/evolution-message-composer.xml.h:25
+#: ../ui/evolution-signature-editor.xml.h:11
msgid "Send the mail in HTML format"
msgstr "Send the mail in HTML format"
-#: ui/evolution-message-composer.xml.h:26
+#: ../ui/evolution-message-composer.xml.h:26
msgid "Send this message"
msgstr "Send this message"
-#: ui/evolution-message-composer.xml.h:27
+#: ../ui/evolution-message-composer.xml.h:27
msgid "Show / hide attachments"
msgstr "Show / hide attachments"
-#: ui/evolution-message-composer.xml.h:28
+#: ../ui/evolution-message-composer.xml.h:28
msgid "Show _attachments"
msgstr "Show _attachments"
-#: ui/evolution-message-composer.xml.h:29
+#: ../ui/evolution-message-composer.xml.h:29
msgid "Show attachments"
msgstr "Show attachments"
-#: ui/evolution-message-composer.xml.h:30
+#: ../ui/evolution-message-composer.xml.h:30
msgid "Sign this message with your PGP key"
msgstr "Sign this message with your PGP key"
-#: ui/evolution-message-composer.xml.h:31
+#: ../ui/evolution-message-composer.xml.h:31
msgid "Sign this message with your S/MIME Signature Certificate"
msgstr "Sign this message with your S/MIME Signature Certificate"
-#: ui/evolution-message-composer.xml.h:32
+#: ../ui/evolution-message-composer.xml.h:32
msgid "Toggles whether the BCC field is displayed"
msgstr "Toggles whether the BCC field is displayed"
-#: ui/evolution-message-composer.xml.h:33
+#: ../ui/evolution-message-composer.xml.h:33
msgid "Toggles whether the CC field is displayed"
msgstr "Toggles whether the CC field is displayed"
-#: ui/evolution-message-composer.xml.h:34
+#: ../ui/evolution-message-composer.xml.h:34
msgid "Toggles whether the From chooser is displayed"
msgstr "Toggles whether the From chooser is displayed"
-#: ui/evolution-message-composer.xml.h:35
+#: ../ui/evolution-message-composer.xml.h:35
msgid "Toggles whether the Post-To field is displayed"
msgstr "Toggles whether the Post-To field is displayed"
-#: ui/evolution-message-composer.xml.h:36
+#: ../ui/evolution-message-composer.xml.h:36
msgid "Toggles whether the Reply-To field is displayed"
msgstr "Toggles whether the Reply-To field is displayed"
-#: ui/evolution-message-composer.xml.h:37
+#: ../ui/evolution-message-composer.xml.h:37
msgid "Toggles whether the To field is displayed"
msgstr "Toggles whether the To field is displayed"
-#: ui/evolution-message-composer.xml.h:38
+#: ../ui/evolution-message-composer.xml.h:38
msgid "_Attachment..."
msgstr "_Attachment..."
-#: ui/evolution-message-composer.xml.h:39
+#: ../ui/evolution-message-composer.xml.h:39
msgid "_Bcc Field"
msgstr "_Bcc Field"
-#: ui/evolution-message-composer.xml.h:40
+#: ../ui/evolution-message-composer.xml.h:40
msgid "_Cc Field"
msgstr "_Cc Field"
-#: ui/evolution-message-composer.xml.h:42
+#: ../ui/evolution-message-composer.xml.h:42
msgid "_Delete all"
msgstr "_Delete all"
-#: ui/evolution-message-composer.xml.h:45
+#: ../ui/evolution-message-composer.xml.h:45
msgid "_From Field"
msgstr "_From Field"
-#: ui/evolution-message-composer.xml.h:46
-#: ui/evolution-signature-editor.xml.h:14
+#: ../ui/evolution-message-composer.xml.h:46
+#: ../ui/evolution-signature-editor.xml.h:14
msgid "_Insert"
msgstr "_Insert"
-#: ui/evolution-message-composer.xml.h:47
+#: ../ui/evolution-message-composer.xml.h:47
msgid "_Open..."
msgstr "_Open..."
-#: ui/evolution-message-composer.xml.h:48
+#: ../ui/evolution-message-composer.xml.h:48
msgid "_Post-To Field"
msgstr "_Post-To Field"
-#: ui/evolution-message-composer.xml.h:49
+#: ../ui/evolution-message-composer.xml.h:49
msgid "_Reply-To Field"
msgstr "_Reply-To Field"
-#: ui/evolution-message-composer.xml.h:50
-#: ui/evolution-signature-editor.xml.h:15
+#: ../ui/evolution-message-composer.xml.h:50
+#: ../ui/evolution-signature-editor.xml.h:15
msgid "_Save"
msgstr "_Save"
-#: ui/evolution-message-composer.xml.h:51
+#: ../ui/evolution-message-composer.xml.h:51
msgid "_Security"
msgstr "_Security"
-#: ui/evolution-message-composer.xml.h:52
+#: ../ui/evolution-message-composer.xml.h:52
msgid "_To Field"
msgstr "_To Field"
-#: ui/evolution-signature-editor.xml.h:1
+#: ../ui/evolution-signature-editor.xml.h:1
msgid "C_lose"
msgstr "C_lose"
-#: ui/evolution-signature-editor.xml.h:5
+#: ../ui/evolution-signature-editor.xml.h:5
msgid "H_TML"
msgstr "H_TML"
-#: ui/evolution-signature-editor.xml.h:7
+#: ../ui/evolution-signature-editor.xml.h:7
msgid "Save and Close"
msgstr "Save and Close"
-#: ui/evolution-signature-editor.xml.h:8
+#: ../ui/evolution-signature-editor.xml.h:8
msgid "Save and _Close"
msgstr "Save and _Close"
-#: ui/evolution-signature-editor.xml.h:10
+#: ../ui/evolution-signature-editor.xml.h:10
msgid "Save the current file and close the window"
msgstr "Save the current file and close the window"
-#: ui/evolution-subscribe.xml.h:1
+#: ../ui/evolution-subscribe.xml.h:1
msgid "Add folder to your list of subscribed folders"
msgstr "Add folder to your list of subscribed folders"
-#: ui/evolution-subscribe.xml.h:2
+#: ../ui/evolution-subscribe.xml.h:2
msgid "F_older"
msgstr "F_older"
-#: ui/evolution-subscribe.xml.h:3
+#: ../ui/evolution-subscribe.xml.h:3
msgid "Refresh List"
msgstr "Refresh List"
-#: ui/evolution-subscribe.xml.h:4
+#: ../ui/evolution-subscribe.xml.h:4
msgid "Refresh List of Folders"
msgstr "Refresh List of Folders"
-#: ui/evolution-subscribe.xml.h:5
+#: ../ui/evolution-subscribe.xml.h:5
msgid "Remove folder from your list of subscribed folders"
msgstr "Remove folder from your list of subscribed folders"
-#: ui/evolution-subscribe.xml.h:7
+#: ../ui/evolution-subscribe.xml.h:7
msgid "Subscribe"
msgstr "Subscribe"
-#: ui/evolution-subscribe.xml.h:8
+#: ../ui/evolution-subscribe.xml.h:8
msgid "Unsubscribe"
msgstr "Unsubscribe"
-#: ui/evolution-tasks.xml.h:3
+#: ../ui/evolution-tasks.xml.h:3
msgid "Copy selected task"
msgstr "Copy selected task"
-#: ui/evolution-tasks.xml.h:5
+#: ../ui/evolution-tasks.xml.h:5
msgid "Cut selected task"
msgstr "Cut selected task"
-#: ui/evolution-tasks.xml.h:7
+#: ../ui/evolution-tasks.xml.h:7
msgid "Delete completed tasks"
msgstr "Delete completed tasks"
-#: ui/evolution-tasks.xml.h:8
+#: ../ui/evolution-tasks.xml.h:8
msgid "Delete selected tasks"
msgstr "Delete selected tasks"
-#: ui/evolution-tasks.xml.h:9
+#: ../ui/evolution-tasks.xml.h:9
msgid "Mar_k as Complete"
msgstr "Mar_k as Complete"
-#: ui/evolution-tasks.xml.h:10
+#: ../ui/evolution-tasks.xml.h:10
msgid "Mark selected tasks as complete"
msgstr "Mark selected tasks as complete"
-#: ui/evolution-tasks.xml.h:12
+#: ../ui/evolution-tasks.xml.h:12
msgid "Paste task from the clipboard"
msgstr "Paste task from the clipboard"
-#: ui/evolution-tasks.xml.h:13
+#: ../ui/evolution-tasks.xml.h:13
msgid "Previews the list of tasks to be printed"
msgstr "Previews the list of tasks to be printed"
-#: ui/evolution-tasks.xml.h:16
+#: ../ui/evolution-tasks.xml.h:16
msgid "Print the list of tasks"
msgstr "Print the list of tasks"
-#: ui/evolution-tasks.xml.h:18
+#: ../ui/evolution-tasks.xml.h:18
msgid "View the selected task"
msgstr "View the selected task"
-#: ui/evolution-tasks.xml.h:23
+#: ../ui/evolution-tasks.xml.h:23
msgid "_Open Task"
msgstr "_Open Task"
-#: ui/evolution.xml.h:1
+#: ../ui/evolution.xml.h:1
msgid "About Evolution..."
msgstr "About Evolution..."
-#: ui/evolution.xml.h:2
+#: ../ui/evolution.xml.h:2
msgid "Change Evolution's settings"
msgstr "Change Evolution's settings"
-#: ui/evolution.xml.h:3
+#: ../ui/evolution.xml.h:3
msgid "Change the visibility of the toolbar"
msgstr "Change the visibility of the toolbar"
-#: ui/evolution.xml.h:6
+#: ../ui/evolution.xml.h:6
msgid "Create a new window displaying this folder"
msgstr "Create a new window displaying this folder"
-#: ui/evolution.xml.h:7
+#: ../ui/evolution.xml.h:7
msgid "Display window buttons using the desktop toolbar setting"
msgstr "Display window buttons using the desktop toolbar setting"
-#: ui/evolution.xml.h:8
+#: ../ui/evolution.xml.h:8
msgid "Display window buttons with icons and text"
msgstr "Display window buttons with icons and text"
-#: ui/evolution.xml.h:9
+#: ../ui/evolution.xml.h:9
msgid "Display window buttons with icons only"
msgstr "Display window buttons with icons only"
-#: ui/evolution.xml.h:10
+#: ../ui/evolution.xml.h:10
msgid "Display window buttons with text only"
msgstr "Display window buttons with text only"
-#: ui/evolution.xml.h:11
+#: ../ui/evolution.xml.h:11
msgid "E_xit"
msgstr "E_xit"
-#: ui/evolution.xml.h:12
+#: ../ui/evolution.xml.h:12
msgid "Evolution _FAQ"
msgstr "Evolution _FAQ"
-#: ui/evolution.xml.h:13
+#: ../ui/evolution.xml.h:13
msgid "Exit the program"
msgstr "Exit the program"
-#: ui/evolution.xml.h:14
+#: ../ui/evolution.xml.h:14
msgid "Forget _Passwords"
msgstr "Forget _Passwords"
-#: ui/evolution.xml.h:15
+#: ../ui/evolution.xml.h:15
msgid "Forget remembered passwords so you will be prompted for them again"
msgstr "Forget remembered passwords so you will be prompted for them again"
-#: ui/evolution.xml.h:16
+#: ../ui/evolution.xml.h:16
msgid "Hide window buttons"
msgstr "Hide window buttons"
-#: ui/evolution.xml.h:17
+#: ../ui/evolution.xml.h:17
msgid "Icons _and text"
msgstr "Icons _and text"
-#: ui/evolution.xml.h:18
+#: ../ui/evolution.xml.h:18
msgid "Import data from other programs"
msgstr "Import data from other programs"
-#: ui/evolution.xml.h:20
+#: ../ui/evolution.xml.h:20
msgid "New _Window"
msgstr "New _Window"
-#: ui/evolution.xml.h:21
+#: ../ui/evolution.xml.h:21
msgid "Pi_lot Settings..."
msgstr "Pi_lot Settings..."
-#: ui/evolution.xml.h:22
+#: ../ui/evolution.xml.h:22
msgid "Prefere_nces"
msgstr "Prefere_nces"
-#: ui/evolution.xml.h:23
+#: ../ui/evolution.xml.h:23
msgid "Send / Receive"
msgstr "Send / Receive"
-#: ui/evolution.xml.h:24
+#: ../ui/evolution.xml.h:24
msgid "Send queued items and retrieve new items"
msgstr "Send queued items and retrieve new items"
-#: ui/evolution.xml.h:25
+#: ../ui/evolution.xml.h:25
msgid "Set up Pilot configuration"
msgstr "Set up Pilot configuration"
-#: ui/evolution.xml.h:26
+#: ../ui/evolution.xml.h:26
msgid "Show information about Evolution"
msgstr "Show information about Evolution"
-#: ui/evolution.xml.h:27
+#: ../ui/evolution.xml.h:27
msgid "Submit Bug Report"
msgstr "Submit Bug Report"
-#: ui/evolution.xml.h:28
+#: ../ui/evolution.xml.h:28
msgid "Submit _Bug Report"
msgstr "Submit _Bug Report"
-#: ui/evolution.xml.h:29
+#: ../ui/evolution.xml.h:29
msgid "Submit a bug report using Bug Buddy"
msgstr "Submit a bug report using Bug Buddy"
-#: ui/evolution.xml.h:30
+#: ../ui/evolution.xml.h:30
msgid "Toggle whether we are working offline."
msgstr "Toggle whether we are working offline."
-#: ui/evolution.xml.h:31
+#: ../ui/evolution.xml.h:31
msgid "Tool_bar"
msgstr "Tool_bar"
-#: ui/evolution.xml.h:32
+#: ../ui/evolution.xml.h:32
msgid "Tool_bar style"
msgstr "Tool_bar style"
-#: ui/evolution.xml.h:33
+#: ../ui/evolution.xml.h:33
msgid "Window B_uttons"
msgstr "Window B_uttons"
-#: ui/evolution.xml.h:35
+#: ../ui/evolution.xml.h:35
msgid "_About Evolution..."
msgstr "_About Evolution..."
-#: ui/evolution.xml.h:40
+#: ../ui/evolution.xml.h:40
msgid "_Help"
msgstr "_Help"
-#: ui/evolution.xml.h:41
+#: ../ui/evolution.xml.h:41
msgid "_Hide buttons"
msgstr "_Hide buttons"
-#: ui/evolution.xml.h:42
+#: ../ui/evolution.xml.h:42
msgid "_Icons only"
msgstr "_Icons only"
-#: ui/evolution.xml.h:43
+#: ../ui/evolution.xml.h:43
msgid "_Import..."
msgstr "_Import..."
-#: ui/evolution.xml.h:44
+#: ../ui/evolution.xml.h:44
msgid "_New"
msgstr "_New"
-#: ui/evolution.xml.h:45
+#: ../ui/evolution.xml.h:45
msgid "_Quick Reference"
msgstr "_Quick Reference"
-#: ui/evolution.xml.h:46
+#: ../ui/evolution.xml.h:46
msgid "_Send / Receive"
msgstr "_Send / Receive"
-#: ui/evolution.xml.h:47
+#: ../ui/evolution.xml.h:47
msgid "_Text only"
msgstr "_Text only"
-#: ui/evolution.xml.h:50
+#: ../ui/evolution.xml.h:50
msgid "_Window"
msgstr "_Window"
-#: views/addressbook/galview.xml.h:1
+#: ../views/addressbook/galview.xml.h:1
msgid "By _Company"
msgstr "By _Company"
-#: views/addressbook/galview.xml.h:2
+#: ../views/addressbook/galview.xml.h:2
msgid "_Address Cards"
msgstr "_Address Cards"
-#: views/addressbook/galview.xml.h:3
+#: ../views/addressbook/galview.xml.h:3
msgid "_Phone List"
msgstr "_Phone List"
-#: views/calendar/galview.xml.h:1
+#: ../views/calendar/galview.xml.h:1
msgid "W_eek View"
msgstr "W_eek View"
-#: views/calendar/galview.xml.h:2
+#: ../views/calendar/galview.xml.h:2
msgid "_Day View"
msgstr "_Day View"
-#: views/calendar/galview.xml.h:3
+#: ../views/calendar/galview.xml.h:3
msgid "_List View"
msgstr "_List View"
-#: views/calendar/galview.xml.h:4
+#: ../views/calendar/galview.xml.h:4
msgid "_Month View"
msgstr "_Month View"
-#: views/calendar/galview.xml.h:5
+#: ../views/calendar/galview.xml.h:5
msgid "_Work Week View"
msgstr "_Work Week View"
-#: views/mail/galview.xml.h:1
+#: ../views/mail/galview.xml.h:1
msgid "As _Sent Folder"
msgstr "As _Sent Folder"
-#: views/mail/galview.xml.h:2
+#: ../views/mail/galview.xml.h:2
msgid "By S_tatus"
msgstr "By S_tatus"
-#: views/mail/galview.xml.h:3
+#: ../views/mail/galview.xml.h:3
msgid "By Se_nder"
msgstr "By Se_nder"
-#: views/mail/galview.xml.h:4
+#: ../views/mail/galview.xml.h:4
msgid "By Su_bject"
msgstr "By Su_bject"
-#: views/mail/galview.xml.h:5
+#: ../views/mail/galview.xml.h:5
msgid "By _Follow Up Flag"
msgstr "By _Follow Up Flag"
-#: views/mail/galview.xml.h:6
+#: ../views/mail/galview.xml.h:6
msgid "_Messages"
msgstr "_Messages"
-#: views/tasks/galview.xml.h:1
+#: ../views/tasks/galview.xml.h:1
msgid "With _Due Date"
msgstr "With _Due Date"
-#: views/tasks/galview.xml.h:2
+#: ../views/tasks/galview.xml.h:2
msgid "With _Status"
msgstr "With _Status"
-#: widgets/e-timezone-dialog/e-timezone-dialog.c:195
-#: widgets/e-timezone-dialog/e-timezone-dialog.c:637
+#: ../widgets/e-timezone-dialog/e-timezone-dialog.c:195
+#: ../widgets/e-timezone-dialog/e-timezone-dialog.c:637
msgid "UTC"
msgstr "UTC"
-#: widgets/e-timezone-dialog/e-timezone-dialog.glade.h:2
+#: ../widgets/e-timezone-dialog/e-timezone-dialog.glade.h:2
msgid "<b>Time Zones</b>"
msgstr "<b>Time Zones</b>"
-#: widgets/e-timezone-dialog/e-timezone-dialog.glade.h:3
+#: ../widgets/e-timezone-dialog/e-timezone-dialog.glade.h:3
msgid "<b>_Selection</b>"
msgstr "<b>_Selection</b>"
-#: widgets/e-timezone-dialog/e-timezone-dialog.glade.h:5
+#: ../widgets/e-timezone-dialog/e-timezone-dialog.glade.h:5
msgid "Select a Time Zone"
msgstr "Select a Time Zone"
-#: widgets/e-timezone-dialog/e-timezone-dialog.glade.h:6
+#: ../widgets/e-timezone-dialog/e-timezone-dialog.glade.h:6
msgid "TimeZone Combobox"
msgstr "TimeZone Combobox"
-#: widgets/e-timezone-dialog/e-timezone-dialog.glade.h:7
+#: ../widgets/e-timezone-dialog/e-timezone-dialog.glade.h:7
msgid ""
"Use the left mouse button to zoom in on an area of the map and select a time zone.\n"
"Use the right mouse button to zoom out."
@@ -17235,375 +17286,375 @@ msgstr ""
"Use the left mouse button to zoom in on an area of the map and select a time zone.\n"
"Use the right mouse button to zoom out."
-#: widgets/menus/gal-view-menus.c:292
+#: ../widgets/menus/gal-view-menus.c:292
msgid "_Current View"
msgstr "_Current View"
-#: widgets/menus/gal-view-menus.c:360
+#: ../widgets/menus/gal-view-menus.c:360
msgid "Save Custom View..."
msgstr "Save Custom View..."
#. Translators: These are the first characters of each day of the
-#: widgets/misc/e-calendar-item.c:415
+#: ../widgets/misc/e-calendar-item.c:415
msgid "MTWTFSS"
msgstr "MTWTFSS"
#. This is a strftime() format. %B = Month name, %Y = Year.
-#: widgets/misc/e-calendar-item.c:1123
+#: ../widgets/misc/e-calendar-item.c:1123
msgid "%B %Y"
msgstr "%B %Y"
-#: widgets/misc/e-calendar.c:177
-#: widgets/misc/e-calendar.c:201
+#: ../widgets/misc/e-calendar.c:177
+#: ../widgets/misc/e-calendar.c:201
msgid "Previous Button"
msgstr "Previous Button"
-#: widgets/misc/e-calendar.c:226
+#: ../widgets/misc/e-calendar.c:226
msgid "Month Calendar"
msgstr "Month Calendar"
-#: widgets/misc/e-cell-date-edit.c:232
-#: widgets/misc/e-dateedit.c:444
+#: ../widgets/misc/e-cell-date-edit.c:232
+#: ../widgets/misc/e-dateedit.c:444
msgid "Now"
msgstr "Now"
-#: widgets/misc/e-cell-date-edit.c:801
+#: ../widgets/misc/e-cell-date-edit.c:801
#, c-format
msgid "The time must be in the format: %s"
msgstr "The time must be in the format: %s"
-#: widgets/misc/e-cell-percent.c:76
+#: ../widgets/misc/e-cell-percent.c:76
msgid "The percent value must be between 0 and 100, inclusive"
msgstr "The percent value must be between 0 and 100, inclusive"
-#: widgets/misc/e-charset-picker.c:63
+#: ../widgets/misc/e-charset-picker.c:63
msgid "Baltic"
msgstr "Baltic"
-#: widgets/misc/e-charset-picker.c:64
+#: ../widgets/misc/e-charset-picker.c:64
msgid "Central European"
msgstr "Central European"
-#: widgets/misc/e-charset-picker.c:65
+#: ../widgets/misc/e-charset-picker.c:65
msgid "Chinese"
msgstr "Chinese"
-#: widgets/misc/e-charset-picker.c:66
+#: ../widgets/misc/e-charset-picker.c:66
msgid "Cyrillic"
msgstr "Cyrillic"
-#: widgets/misc/e-charset-picker.c:67
+#: ../widgets/misc/e-charset-picker.c:67
msgid "Greek"
msgstr "Greek"
-#: widgets/misc/e-charset-picker.c:68
+#: ../widgets/misc/e-charset-picker.c:68
msgid "Hebrew"
msgstr "Hebrew"
-#: widgets/misc/e-charset-picker.c:69
+#: ../widgets/misc/e-charset-picker.c:69
msgid "Japanese"
msgstr "Japanese"
-#: widgets/misc/e-charset-picker.c:70
+#: ../widgets/misc/e-charset-picker.c:70
msgid "Korean"
msgstr "Korean"
-#: widgets/misc/e-charset-picker.c:71
+#: ../widgets/misc/e-charset-picker.c:71
msgid "Turkish"
msgstr "Turkish"
-#: widgets/misc/e-charset-picker.c:72
+#: ../widgets/misc/e-charset-picker.c:72
msgid "Unicode"
msgstr "Unicode"
-#: widgets/misc/e-charset-picker.c:73
+#: ../widgets/misc/e-charset-picker.c:73
msgid "Western European"
msgstr "Western European"
-#: widgets/misc/e-charset-picker.c:74
+#: ../widgets/misc/e-charset-picker.c:74
msgid "Western European, New"
msgstr "Western European, New"
-#: widgets/misc/e-charset-picker.c:91
-#: widgets/misc/e-charset-picker.c:92
-#: widgets/misc/e-charset-picker.c:93
+#: ../widgets/misc/e-charset-picker.c:91
+#: ../widgets/misc/e-charset-picker.c:92
+#: ../widgets/misc/e-charset-picker.c:93
msgid "Traditional"
msgstr "Traditional"
-#: widgets/misc/e-charset-picker.c:94
-#: widgets/misc/e-charset-picker.c:95
-#: widgets/misc/e-charset-picker.c:96
-#: widgets/misc/e-charset-picker.c:97
+#: ../widgets/misc/e-charset-picker.c:94
+#: ../widgets/misc/e-charset-picker.c:95
+#: ../widgets/misc/e-charset-picker.c:96
+#: ../widgets/misc/e-charset-picker.c:97
msgid "Simplified"
msgstr "Simplified"
-#: widgets/misc/e-charset-picker.c:100
+#: ../widgets/misc/e-charset-picker.c:100
msgid "Ukrainian"
msgstr "Ukrainian"
-#: widgets/misc/e-charset-picker.c:103
+#: ../widgets/misc/e-charset-picker.c:103
msgid "Visual"
msgstr "Visual"
-#: widgets/misc/e-charset-picker.c:171
+#: ../widgets/misc/e-charset-picker.c:171
#, c-format
msgid "Unknown character set: %s"
msgstr "Unknown character set: %s"
-#: widgets/misc/e-charset-picker.c:216
-#: widgets/misc/e-charset-picker.c:479
+#: ../widgets/misc/e-charset-picker.c:216
+#: ../widgets/misc/e-charset-picker.c:479
msgid "Character Encoding"
msgstr "Character Encoding"
-#: widgets/misc/e-charset-picker.c:231
+#: ../widgets/misc/e-charset-picker.c:231
msgid "Enter the character set to use"
msgstr "Enter the character set to use"
-#: widgets/misc/e-charset-picker.c:338
+#: ../widgets/misc/e-charset-picker.c:338
msgid "Other..."
msgstr "Other..."
-#: widgets/misc/e-clipped-label.c:111
+#: ../widgets/misc/e-clipped-label.c:111
msgid "..."
msgstr "..."
-#: widgets/misc/e-dateedit.c:313
+#: ../widgets/misc/e-dateedit.c:313
msgid "Date and Time Entry"
msgstr "Date and Time Entry"
-#: widgets/misc/e-dateedit.c:332
+#: ../widgets/misc/e-dateedit.c:332
msgid "Text entry to input date"
msgstr "Text entry to input date"
-#: widgets/misc/e-dateedit.c:333
+#: ../widgets/misc/e-dateedit.c:333
msgid "Text Date Entry"
msgstr "Text Date Entry"
-#: widgets/misc/e-dateedit.c:350
+#: ../widgets/misc/e-dateedit.c:350
msgid "Click this button to show a calendar"
msgstr "Click this button to show a calendar"
-#: widgets/misc/e-dateedit.c:351
+#: ../widgets/misc/e-dateedit.c:351
msgid "Date Button"
msgstr "Date Button"
-#: widgets/misc/e-dateedit.c:371
+#: ../widgets/misc/e-dateedit.c:371
msgid "Combo box to select time"
msgstr "Combo box to select time"
-#: widgets/misc/e-dateedit.c:372
+#: ../widgets/misc/e-dateedit.c:372
msgid "Time Combo Box"
msgstr "Time Combo Box"
-#: widgets/misc/e-error.c:84
-#: widgets/misc/e-error.c:85
-#: widgets/misc/e-error.c:127
+#: ../widgets/misc/e-error.c:84
+#: ../widgets/misc/e-error.c:85
+#: ../widgets/misc/e-error.c:127
msgid "Evolution Error"
msgstr "Evolution Error"
-#: widgets/misc/e-error.c:86
-#: widgets/misc/e-error.c:87
-#: widgets/misc/e-error.c:125
+#: ../widgets/misc/e-error.c:86
+#: ../widgets/misc/e-error.c:87
+#: ../widgets/misc/e-error.c:125
msgid "Evolution Warning"
msgstr "Evolution Warning"
-#: widgets/misc/e-error.c:124
+#: ../widgets/misc/e-error.c:124
msgid "Evolution Information"
msgstr "Evolution Information"
-#: widgets/misc/e-error.c:126
+#: ../widgets/misc/e-error.c:126
msgid "Evolution Query"
msgstr "Evolution Query"
#. setup a dummy error
-#: widgets/misc/e-error.c:438
+#: ../widgets/misc/e-error.c:438
#, c-format
msgid "<span weight=\"bold\">Internal error, unknown error '%s' requested</span>"
msgstr "<span weight=\"bold\">Internal error, unknown error '%s' requested</span>"
-#: widgets/misc/e-expander.c:181
+#: ../widgets/misc/e-expander.c:181
msgid "Expanded"
msgstr "Expanded"
-#: widgets/misc/e-expander.c:182
+#: ../widgets/misc/e-expander.c:182
msgid "Whether or not the expander is expanded"
msgstr "Whether or not the expander is expanded"
-#: widgets/misc/e-expander.c:190
+#: ../widgets/misc/e-expander.c:190
msgid "Text of the expander's label"
msgstr "Text of the expander's label"
-#: widgets/misc/e-expander.c:197
+#: ../widgets/misc/e-expander.c:197
msgid "Use underline"
msgstr "Use underline"
-#: widgets/misc/e-expander.c:198
+#: ../widgets/misc/e-expander.c:198
msgid "If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key"
msgstr "If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key"
-#: widgets/misc/e-expander.c:205
+#: ../widgets/misc/e-expander.c:205
msgid "Spacing"
msgstr "Spacing"
-#: widgets/misc/e-expander.c:206
+#: ../widgets/misc/e-expander.c:206
msgid "Space to put between the label and the child"
msgstr "Space to put between the label and the child"
-#: widgets/misc/e-expander.c:215
+#: ../widgets/misc/e-expander.c:215
msgid "Label widget"
msgstr "Label widget"
-#: widgets/misc/e-expander.c:216
+#: ../widgets/misc/e-expander.c:216
msgid "A widget to display in place of the usual expander label"
msgstr "A widget to display in place of the usual expander label"
-#: widgets/misc/e-expander.c:222
+#: ../widgets/misc/e-expander.c:222
msgid "Expander Size"
msgstr "Expander Size"
-#: widgets/misc/e-expander.c:223
+#: ../widgets/misc/e-expander.c:223
msgid "Size of the expander arrow"
msgstr "Size of the expander arrow"
-#: widgets/misc/e-expander.c:231
+#: ../widgets/misc/e-expander.c:231
msgid "Indicator Spacing"
msgstr "Indicator Spacing"
-#: widgets/misc/e-expander.c:232
+#: ../widgets/misc/e-expander.c:232
msgid "Spacing around expander arrow"
msgstr "Spacing around expander arrow"
-#: widgets/misc/e-filter-bar.c:195
+#: ../widgets/misc/e-filter-bar.c:195
msgid "_Searches"
msgstr "_Searches"
-#: widgets/misc/e-filter-bar.c:197
+#: ../widgets/misc/e-filter-bar.c:197
msgid "Search Editor"
msgstr "Search Editor"
#. FIXME: get the toplevel window...
-#: widgets/misc/e-filter-bar.c:220
+#: ../widgets/misc/e-filter-bar.c:220
msgid "Save Search"
msgstr "Save Search"
-#: widgets/misc/e-filter-bar.h:92
-#: widgets/misc/e-filter-bar.h:99
+#: ../widgets/misc/e-filter-bar.h:92
+#: ../widgets/misc/e-filter-bar.h:99
msgid "_Save Search..."
msgstr "_Save Search..."
-#: widgets/misc/e-filter-bar.h:93
-#: widgets/misc/e-filter-bar.h:100
+#: ../widgets/misc/e-filter-bar.h:93
+#: ../widgets/misc/e-filter-bar.h:100
msgid "_Edit Saved Searches..."
msgstr "_Edit Saved Searches..."
-#: widgets/misc/e-filter-bar.h:94
-#: widgets/misc/e-filter-bar.h:101
+#: ../widgets/misc/e-filter-bar.h:94
+#: ../widgets/misc/e-filter-bar.h:101
msgid "_Advanced..."
msgstr "_Advanced..."
-#: widgets/misc/e-image-chooser.c:172
+#: ../widgets/misc/e-image-chooser.c:172
msgid "Choose Image"
msgstr "Choose Image"
-#: widgets/misc/e-map.c:647
+#: ../widgets/misc/e-map.c:647
msgid "World Map"
msgstr "World Map"
-#: widgets/misc/e-map.c:649
+#: ../widgets/misc/e-map.c:649
msgid "Mouse-based interactive map widget for selecting timezone. Keyboard users should select the timezone from the below combo box instead."
msgstr "Mouse-based interactive map widget for selecting timezone. Keyboard users should select the timezone from the below combo box instead."
-#: widgets/misc/e-pilot-settings.c:103
+#: ../widgets/misc/e-pilot-settings.c:103
msgid "Sync with:"
msgstr "Sync with:"
-#: widgets/misc/e-pilot-settings.c:111
+#: ../widgets/misc/e-pilot-settings.c:111
msgid "Sync Private Records:"
msgstr "Sync Private Records:"
-#: widgets/misc/e-pilot-settings.c:120
+#: ../widgets/misc/e-pilot-settings.c:120
msgid "Sync Categories:"
msgstr "Sync Categories:"
#. To translators: This is the accessibility name of
-#: widgets/misc/e-search-bar.c:343
+#: ../widgets/misc/e-search-bar.c:343
msgid "Search Text Entry"
msgstr "Search Text Entry"
-#: widgets/misc/e-search-bar.c:547
+#: ../widgets/misc/e-search-bar.c:547
msgid "_Search"
msgstr "_Search"
-#: widgets/misc/e-search-bar.c:553
+#: ../widgets/misc/e-search-bar.c:553
msgid "_Find Now"
msgstr "_Find Now"
-#: widgets/misc/e-search-bar.c:554
-#: widgets/misc/e-search-bar.c:941
+#: ../widgets/misc/e-search-bar.c:554
+#: ../widgets/misc/e-search-bar.c:941
msgid "_Clear"
msgstr "_Clear"
-#: widgets/misc/e-search-bar.c:645
+#: ../widgets/misc/e-search-bar.c:645
msgid "Search Type"
msgstr "Search Type"
-#: widgets/misc/e-search-bar.c:849
+#: ../widgets/misc/e-search-bar.c:849
msgid "Item ID"
msgstr "Item ID"
-#: widgets/misc/e-search-bar.c:856
+#: ../widgets/misc/e-search-bar.c:856
msgid "Subitem ID"
msgstr "Subitem ID"
-#: widgets/misc/e-search-bar.c:863
+#: ../widgets/misc/e-search-bar.c:863
msgid "Text"
msgstr "Text"
-#: widgets/misc/e-search-bar.c:943
+#: ../widgets/misc/e-search-bar.c:943
msgid "Find _Now"
msgstr "Find _Now"
-#: widgets/misc/e-send-options.c:505
+#: ../widgets/misc/e-send-options.c:505
msgid "When de_leted:"
msgstr "When de_leted:"
-#: widgets/misc/e-send-options.glade.h:1
+#: ../widgets/misc/e-send-options.glade.h:1
msgid "<b>Delivery Options</b>"
msgstr "<b>Delivery Options</b>"
-#: widgets/misc/e-send-options.glade.h:2
+#: ../widgets/misc/e-send-options.glade.h:2
msgid "<b>Replies</b>"
msgstr "<b>Replies</b>"
-#: widgets/misc/e-send-options.glade.h:3
+#: ../widgets/misc/e-send-options.glade.h:3
msgid "<b>Return Notification</b>"
msgstr "<b>Return Notification</b>"
-#: widgets/misc/e-send-options.glade.h:4
+#: ../widgets/misc/e-send-options.glade.h:4
msgid "<b>Status Tracking</b>"
msgstr "<b>Status Tracking</b>"
-#: widgets/misc/e-send-options.glade.h:5
+#: ../widgets/misc/e-send-options.glade.h:5
msgid "A_uto-delete sent item"
msgstr "A_uto-delete sent item"
-#: widgets/misc/e-send-options.glade.h:6
+#: ../widgets/misc/e-send-options.glade.h:6
msgid "C_lassification"
msgstr "C_lassification"
-#: widgets/misc/e-send-options.glade.h:7
+#: ../widgets/misc/e-send-options.glade.h:7
msgid "Creat_e a sent item to track information"
msgstr "Creat_e a sent item to track information"
-#: widgets/misc/e-send-options.glade.h:8
+#: ../widgets/misc/e-send-options.glade.h:8
msgid "Deli_vered and opened"
msgstr "Deli_vered and opened"
-#: widgets/misc/e-send-options.glade.h:9
+#: ../widgets/misc/e-send-options.glade.h:9
msgid "Gene_ral Options"
msgstr "Gene_ral Options"
-#: widgets/misc/e-send-options.glade.h:10
+#: ../widgets/misc/e-send-options.glade.h:10
msgid ""
"None\n"
"Mail Receipt"
@@ -17611,7 +17662,7 @@ msgstr ""
"None\n"
"Mail Receipt"
-#: widgets/misc/e-send-options.glade.h:12
+#: ../widgets/misc/e-send-options.glade.h:12
msgid ""
"None\n"
"Mail Receipt\n"
@@ -17619,7 +17670,7 @@ msgstr ""
"None\n"
"Mail Receipt\n"
-#: widgets/misc/e-send-options.glade.h:15
+#: ../widgets/misc/e-send-options.glade.h:15
msgid ""
"Public\n"
"Private\n"
@@ -17629,15 +17680,15 @@ msgstr ""
"Private\n"
"Confidential\n"
-#: widgets/misc/e-send-options.glade.h:19
+#: ../widgets/misc/e-send-options.glade.h:19
msgid "R_eply requested"
msgstr "R_eply requested"
-#: widgets/misc/e-send-options.glade.h:21
+#: ../widgets/misc/e-send-options.glade.h:21
msgid "Sta_tus Tracking"
msgstr "Sta_tus Tracking"
-#: widgets/misc/e-send-options.glade.h:22
+#: ../widgets/misc/e-send-options.glade.h:22
msgid ""
"Undefined\n"
"High\n"
@@ -17649,85 +17700,85 @@ msgstr ""
"Standard\n"
"Low"
-#: widgets/misc/e-send-options.glade.h:26
+#: ../widgets/misc/e-send-options.glade.h:26
msgid "W_ithin"
msgstr "W_ithin"
-#: widgets/misc/e-send-options.glade.h:27
+#: ../widgets/misc/e-send-options.glade.h:27
msgid "When acce_pted: "
msgstr "When acce_pted: "
-#: widgets/misc/e-send-options.glade.h:28
+#: ../widgets/misc/e-send-options.glade.h:28
msgid "When co_mpleted:"
msgstr "When co_mpleted:"
-#: widgets/misc/e-send-options.glade.h:29
+#: ../widgets/misc/e-send-options.glade.h:29
msgid "When decli_ned: "
msgstr "When decli_ned: "
-#: widgets/misc/e-send-options.glade.h:30
+#: ../widgets/misc/e-send-options.glade.h:30
msgid "_After:"
msgstr "_After:"
-#: widgets/misc/e-send-options.glade.h:31
+#: ../widgets/misc/e-send-options.glade.h:31
msgid "_All information"
msgstr "_All information"
-#: widgets/misc/e-send-options.glade.h:32
+#: ../widgets/misc/e-send-options.glade.h:32
msgid "_Delay message delivery"
msgstr "_Delay message delivery"
-#: widgets/misc/e-send-options.glade.h:33
+#: ../widgets/misc/e-send-options.glade.h:33
msgid "_Delivered"
msgstr "_Delivered"
-#: widgets/misc/e-send-options.glade.h:35
+#: ../widgets/misc/e-send-options.glade.h:35
msgid "_Set expiration date"
msgstr "_Set expiration date"
-#: widgets/misc/e-send-options.glade.h:36
+#: ../widgets/misc/e-send-options.glade.h:36
msgid "_Until:"
msgstr "_Until:"
-#: widgets/misc/e-send-options.glade.h:37
+#: ../widgets/misc/e-send-options.glade.h:37
msgid "_When convenient"
msgstr "_When convenient"
-#: widgets/misc/e-send-options.glade.h:38
+#: ../widgets/misc/e-send-options.glade.h:38
msgid "_When opened: "
msgstr "_When opened: "
#. system:ask-save-file-exists-overwrite primary
-#: widgets/misc/e-system-errors.xml.h:4
+#: ../widgets/misc/e-system-errors.xml.h:4
msgid "File exists \"{0}\"."
msgstr "File exists \"{0}\"."
#. system:ask-save-file-exists-overwrite secondary
-#: widgets/misc/e-system-errors.xml.h:6
+#: ../widgets/misc/e-system-errors.xml.h:6
msgid "Do you wish to overwrite it?"
msgstr "Do you wish to overwrite it?"
#. system:no-save-file primary
-#: widgets/misc/e-system-errors.xml.h:9
+#: ../widgets/misc/e-system-errors.xml.h:9
msgid "Cannot save file \"{0}\"."
msgstr "Cannot save file \"{0}\"."
#. system:no-load-file primary
-#: widgets/misc/e-system-errors.xml.h:13
+#: ../widgets/misc/e-system-errors.xml.h:13
msgid "Cannot open file \"{0}\"."
msgstr "Cannot open file \"{0}\"."
-#: widgets/misc/e-task-widget.c:208
+#: ../widgets/misc/e-task-widget.c:208
#, c-format
msgid "%s (...)"
msgstr "%s (...)"
-#: widgets/misc/e-task-widget.c:213
+#: ../widgets/misc/e-task-widget.c:213
#, c-format
msgid "%s (%d%% complete)"
msgstr "%s (%d%% complete)"
-#: widgets/misc/e-url-entry.c:107
+#: ../widgets/misc/e-url-entry.c:107
msgid "click here to go to url"
msgstr "click here to go to url"
diff --git a/po/es.po b/po/es.po
index dde41033a0..b1862bedce 100644
--- a/po/es.po
+++ b/po/es.po
@@ -16,8 +16,8 @@ msgid ""
msgstr ""
"Project-Id-Version: es\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-02-19 14:03+0100\n"
-"PO-Revision-Date: 2005-02-27 16:50+0100\n"
+"POT-Creation-Date: 2005-03-09 22:27+0100\n"
+"PO-Revision-Date: 2005-03-09 22:28+0100\n"
"Last-Translator: Francisco Javier F. Serrador <serrador@cvs.gnome.org>\n"
"Language-Team: Spanish <traductores@es.gnome.org>\n"
"MIME-Version: 1.0\n"
@@ -33,12 +33,12 @@ msgid "evolution addressbook"
msgstr "libreta de direcciones de Evolution"
#: ../a11y/addressbook/ea-minicard-view.c:34
-#: ../addressbook/gui/component/addressbook-component.c:182
+#: ../addressbook/gui/component/addressbook-component.c:196
msgid "New Contact"
msgstr "Contacto nuevo"
#: ../a11y/addressbook/ea-minicard-view.c:35
-#: ../addressbook/gui/component/addressbook-component.c:190
+#: ../addressbook/gui/component/addressbook-component.c:204
msgid "New Contact List"
msgstr "Lista de contactos nueva"
@@ -50,7 +50,7 @@ msgstr[0] "la carpeta de libretas de direcciones actual tiene %d tarjeta"
msgstr[1] "la carpeta de libretas de direcciones actual tiene %d tarjetas"
#: ../a11y/addressbook/ea-minicard.c:31
-#: ../calendar/gui/alarm-notify/alarm-queue.c:863
+#: ../calendar/gui/alarm-notify/alarm-queue.c:878
#: ../ui/evolution-message-composer.xml.h:10
msgid "Open"
msgstr "Abrir"
@@ -151,7 +151,7 @@ msgid "calendar view for one or more days"
msgstr "vista de calendario para uno o más días"
#: ../a11y/calendar/ea-gnome-calendar.c:187
-#: ../calendar/gui/calendar-component.c:520
+#: ../calendar/gui/calendar-component.c:660
msgid "%A %d %b %Y"
msgstr "%A, %d de %b de %Y"
@@ -162,7 +162,7 @@ msgstr "%A, %d de %b de %Y"
#. You can change the order but don't change the
#. specifiers or add anything.
#: ../a11y/calendar/ea-gnome-calendar.c:190
-#: ../calendar/gui/calendar-component.c:523
+#: ../calendar/gui/calendar-component.c:663
#: ../calendar/gui/e-day-view-top-item.c:719 ../calendar/gui/e-day-view.c:1511
#: ../calendar/gui/e-week-view-main-item.c:321
msgid "%a %d %b"
@@ -171,9 +171,9 @@ msgstr "%a, %d de %b"
#: ../a11y/calendar/ea-gnome-calendar.c:192
#: ../a11y/calendar/ea-gnome-calendar.c:197
#: ../a11y/calendar/ea-gnome-calendar.c:199
-#: ../calendar/gui/calendar-component.c:525
-#: ../calendar/gui/calendar-component.c:530
-#: ../calendar/gui/calendar-component.c:532
+#: ../calendar/gui/calendar-component.c:665
+#: ../calendar/gui/calendar-component.c:670
+#: ../calendar/gui/calendar-component.c:672
msgid "%a %d %b %Y"
msgstr "%a, %d de %b de %Y"
@@ -181,10 +181,10 @@ msgstr "%a, %d de %b de %Y"
#: ../a11y/calendar/ea-gnome-calendar.c:222
#: ../a11y/calendar/ea-gnome-calendar.c:228
#: ../a11y/calendar/ea-gnome-calendar.c:230
-#: ../calendar/gui/calendar-component.c:544
-#: ../calendar/gui/calendar-component.c:551
-#: ../calendar/gui/calendar-component.c:557
-#: ../calendar/gui/calendar-component.c:559
+#: ../calendar/gui/calendar-component.c:684
+#: ../calendar/gui/calendar-component.c:691
+#: ../calendar/gui/calendar-component.c:697
+#: ../calendar/gui/calendar-component.c:699
msgid "%d %b %Y"
msgstr "%d de %B de %Y"
@@ -194,7 +194,7 @@ msgstr "%d de %B de %Y"
#. month name. You can change the order but don't
#. change the specifiers or add anything.
#: ../a11y/calendar/ea-gnome-calendar.c:220
-#: ../calendar/gui/calendar-component.c:549
+#: ../calendar/gui/calendar-component.c:689
#: ../calendar/gui/e-day-view-top-item.c:723 ../calendar/gui/e-day-view.c:1527
#: ../calendar/gui/e-week-view-main-item.c:335
msgid "%d %b"
@@ -240,17 +240,17 @@ msgstr "vista de calendario para un mes"
msgid "calendar view for one or more weeks"
msgstr "vista de calendario para una o más semanas"
-#: ../a11y/widgets/ea-calendar-item.c:290
#: ../a11y/widgets/ea-calendar-item.c:296
+#: ../a11y/widgets/ea-calendar-item.c:302
msgid "%d %B %Y"
msgstr "%d de %B de %Y"
-#: ../a11y/widgets/ea-calendar-item.c:298
+#: ../a11y/widgets/ea-calendar-item.c:304
#, c-format
msgid "Calendar: from %s to %s"
msgstr "Calendario: desde %s a %s"
-#: ../a11y/widgets/ea-calendar-item.c:333
+#: ../a11y/widgets/ea-calendar-item.c:339
msgid "evolution calendar item"
msgstr "elemento de calendario de Evolution"
@@ -442,7 +442,8 @@ msgstr "La libreta de direcciones de Evolution ha terminado inesperadamente."
#. addressbook:backend-died secondary
#: ../addressbook/addressbook-errors.xml.h:57
-msgid "Your contacts for {0} will not be available until Evolution is restarted."
+msgid ""
+"Your contacts for {0} will not be available until Evolution is restarted."
msgstr ""
"Sus contactos para {0} no estarán disponibles hasta que Evolution sea "
"reiniciado."
@@ -520,7 +521,7 @@ msgstr "Configure el autocompletado aquí"
#. Create the contacts group
#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:5
#: ../addressbook/gui/component/addressbook-view.c:1119
-#: ../calendar/gui/migration.c:385
+#: ../calendar/gui/calendar-component.c:235 ../calendar/gui/migration.c:385
msgid "Contacts"
msgstr "Contactos"
@@ -558,64 +559,67 @@ msgstr "Gestione sus certificados S/MIME aquí"
#. create the local source group
#. On This Computer is always first and vFolders is always last
-#: ../addressbook/gui/component/addressbook-component.c:120
+#: ../addressbook/gui/component/addressbook-component.c:133
#: ../addressbook/gui/component/addressbook-migrate.c:493
-#: ../calendar/gui/migration.c:459 ../calendar/gui/migration.c:552
+#: ../calendar/gui/calendar-component.c:208 ../calendar/gui/migration.c:459
+#: ../calendar/gui/migration.c:552 ../calendar/gui/tasks-component.c:188
#: ../mail/em-folder-tree-model.c:197 ../mail/em-folder-tree-model.c:199
-#: ../mail/mail-component.c:270 ../mail/mail-vfolder.c:222
+#: ../mail/mail-component.c:290 ../mail/mail-vfolder.c:222
msgid "On This Computer"
msgstr "En este equipo"
#. Create the default Person addressbook
#. Create the default Person calendar
#. Create the default Person task list
+#. Create the default Person addressbook
#. orange
-#: ../addressbook/gui/component/addressbook-component.c:128
+#: ../addressbook/gui/component/addressbook-component.c:141
#: ../addressbook/gui/component/addressbook-migrate.c:501
#: ../addressbook/gui/contact-editor/contact-editor.glade.h:20
-#: ../calendar/gui/migration.c:467 ../calendar/gui/migration.c:560
-#: ../filter/filter-label.c:123 ../mail/em-migrate.c:1013
-#: ../mail/mail-config.c:77 ../mail/mail-config.glade.h:101
+#: ../calendar/gui/calendar-component.c:216 ../calendar/gui/migration.c:467
+#: ../calendar/gui/migration.c:560 ../calendar/gui/tasks-component.c:196
+#: ../filter/filter-label.c:123 ../mail/em-migrate.c:1043
+#: ../mail/mail-config.c:78 ../mail/mail-config.glade.h:101
msgid "Personal"
msgstr "Privado"
#. Create the LDAP source group
-#: ../addressbook/gui/component/addressbook-component.c:136
+#: ../addressbook/gui/component/addressbook-component.c:149
#: ../addressbook/gui/component/addressbook-migrate.c:509
msgid "On LDAP Servers"
msgstr "En servidores LDAP"
-#: ../addressbook/gui/component/addressbook-component.c:183
+#: ../addressbook/gui/component/addressbook-component.c:197
msgid "_Contact"
msgstr "_Contacto"
-#: ../addressbook/gui/component/addressbook-component.c:184
+#: ../addressbook/gui/component/addressbook-component.c:198
msgid "Create a new contact"
msgstr "Crea un contacto nuevo"
-#: ../addressbook/gui/component/addressbook-component.c:191
+#: ../addressbook/gui/component/addressbook-component.c:205
msgid "Contact _List"
msgstr "_Lista de contactos"
-#: ../addressbook/gui/component/addressbook-component.c:192
+#: ../addressbook/gui/component/addressbook-component.c:206
msgid "Create a new contact list"
msgstr "Crea una lista de contactos nueva"
-#: ../addressbook/gui/component/addressbook-component.c:198
-#: ../addressbook/gui/component/addressbook-config.c:1121
+#: ../addressbook/gui/component/addressbook-component.c:212
+#: ../addressbook/gui/component/addressbook-config.c:1120
#: ../addressbook/gui/component/addressbook-view.c:757
msgid "New Address Book"
msgstr "Libreta de direcciones nueva"
-#: ../addressbook/gui/component/addressbook-component.c:199
+#: ../addressbook/gui/component/addressbook-component.c:213
msgid "Address _Book"
msgstr "_Libreta de direcciones"
-#: ../addressbook/gui/component/addressbook-component.c:200
+#: ../addressbook/gui/component/addressbook-component.c:214
msgid "Create a new address book"
msgstr "Crea una libreta de direcciones nueva"
-#: ../addressbook/gui/component/addressbook-component.c:273
+#: ../addressbook/gui/component/addressbook-component.c:287
msgid "Failed upgrading Addressbook settings or folders."
msgstr "Falló al actualizar la configuración de la libreta o las carpetas."
@@ -670,18 +674,18 @@ msgstr "Búsqueda"
msgid "Downloading"
msgstr "Descargando"
-#: ../addressbook/gui/component/addressbook-config.c:1119
+#: ../addressbook/gui/component/addressbook-config.c:1118
#: ../addressbook/gui/component/ldap-config.glade.h:14
msgid "Address Book Properties"
msgstr "Propiedades de la libreta de direcciones"
#: ../addressbook/gui/component/addressbook-migrate.c:72
-#: ../calendar/gui/migration.c:142 ../mail/em-migrate.c:1160
+#: ../calendar/gui/migration.c:142 ../mail/em-migrate.c:1190
msgid "Migrating..."
msgstr "Migrando..."
#: ../addressbook/gui/component/addressbook-migrate.c:124
-#: ../calendar/gui/migration.c:189 ../mail/em-migrate.c:1201
+#: ../calendar/gui/migration.c:189 ../mail/em-migrate.c:1231
#, c-format
msgid "Migrating `%s':"
msgstr "Migrando «%s»:"
@@ -739,16 +743,16 @@ msgstr ""
#: ../addressbook/gui/component/addressbook-view.c:758
#: ../addressbook/gui/widgets/e-addressbook-view.c:935
-#: ../calendar/gui/calendar-component.c:386
-#: ../calendar/gui/tasks-component.c:330 ../mail/em-filter-i18n.h:11
+#: ../calendar/gui/calendar-component.c:526
+#: ../calendar/gui/tasks-component.c:430 ../mail/em-filter-i18n.h:11
#: ../ui/evolution-addressbook.xml.h:8 ../ui/evolution-calendar.xml.h:5
#: ../ui/evolution-mail-message.xml.h:24 ../ui/evolution-tasks.xml.h:6
msgid "Delete"
msgstr "Borrar"
#: ../addressbook/gui/component/addressbook-view.c:760
-#: ../calendar/gui/calendar-component.c:387
-#: ../calendar/gui/tasks-component.c:331
+#: ../calendar/gui/calendar-component.c:527
+#: ../calendar/gui/tasks-component.c:431
msgid "Properties..."
msgstr "Propiedades..."
@@ -895,7 +899,7 @@ msgid "Add Address Book"
msgstr "Añade una libreta de direcciones"
#: ../addressbook/gui/component/ldap-config.glade.h:15
-#: ../mail/em-account-editor.c:292
+#: ../mail/em-account-editor.c:302
msgid "Always"
msgstr "Siempre"
@@ -916,8 +920,10 @@ msgid "Email address"
msgstr "Dirección de correo-e"
#: ../addressbook/gui/component/ldap-config.glade.h:21
-msgid "Evolution will use this email address to authenticate you with the server."
-msgstr "Evolution usará esta dirección de correo-e para autenticarle con el servidor."
+msgid ""
+"Evolution will use this email address to authenticate you with the server."
+msgstr ""
+"Evolution usará esta dirección de correo-e para autenticarle con el servidor."
#: ../addressbook/gui/component/ldap-config.glade.h:22
msgid "Find Possible Search Bases"
@@ -928,7 +934,7 @@ msgid "Lo_gin:"
msgstr "_Inicio de sesión:"
#: ../addressbook/gui/component/ldap-config.glade.h:25
-#: ../mail/em-account-editor.c:290
+#: ../mail/em-account-editor.c:300
msgid "Never"
msgstr "Nunca"
@@ -1053,7 +1059,7 @@ msgid "Using email address"
msgstr "Usando dirección de correo-e"
#: ../addressbook/gui/component/ldap-config.glade.h:42
-#: ../mail/em-account-editor.c:291
+#: ../mail/em-account-editor.c:301
msgid "Whenever Possible"
msgstr "Cuando sea posible"
@@ -1108,7 +1114,7 @@ msgstr "tarjetas"
#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:12
#: ../calendar/gui/dialogs/alarm-dialog.glade.h:26
#: ../calendar/gui/dialogs/calendar-setup.glade.h:14
-#: ../filter/filter.glade.h:16 ../mail/em-account-editor.c:1825
+#: ../filter/filter.glade.h:16 ../mail/em-account-editor.c:1885
#: ../plugins/calendar-http/calendar-http.c:263
#: ../plugins/calendar-weather/calendar-weather.c:564
msgid "minutes"
@@ -1207,8 +1213,8 @@ msgstr "Teléfono"
#: ../addressbook/gui/contact-editor/contact-editor.glade.h:23
#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:235
#: ../addressbook/gui/contact-editor/e-contact-editor.c:199
-#: ../filter/filter-label.c:122 ../mail/em-migrate.c:1012
-#: ../mail/mail-config.c:76 ../mail/mail-config.glade.h:148
+#: ../filter/filter-label.c:122 ../mail/em-migrate.c:1042
+#: ../mail/mail-config.c:77 ../mail/mail-config.glade.h:148
msgid "Work"
msgstr "Trabajo"
@@ -2435,7 +2441,7 @@ msgstr "Nombre _completo:"
msgid "E-_mail:"
msgstr "_Correo-e:"
-#: ../addressbook/gui/contact-editor/eab-editor.c:319
+#: ../addressbook/gui/contact-editor/eab-editor.c:326
msgid ""
"Are you sure you want\n"
"to delete these contacts?"
@@ -2443,7 +2449,7 @@ msgstr ""
"¿Está seguro de que quiere\n"
"borrar estos contactos?"
-#: ../addressbook/gui/contact-editor/eab-editor.c:322
+#: ../addressbook/gui/contact-editor/eab-editor.c:329
msgid ""
"Are you sure you want\n"
"to delete this contact?"
@@ -2562,7 +2568,7 @@ msgid "Add an email to the List"
msgstr "Añadir un correo-e a la lista"
#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:5
-#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:820
+#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:817
msgid "Contact List Editor"
msgstr "Editor de listas de contactos"
@@ -2592,7 +2598,8 @@ msgstr "_Seleccionar"
#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:12
msgid "_Type an email address or drag a contact into the list below:"
-msgstr "_Teclee una dirección de correo o arrastre un contacto a la lista inferior:"
+msgstr ""
+"_Teclee una dirección de correo o arrastre un contacto a la lista inferior:"
#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:162
#: ../addressbook/gui/widgets/e-addressbook-model.c:296
@@ -2607,11 +2614,11 @@ msgstr "Libro"
msgid "Is New List"
msgstr "Es una lista nueva"
-#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:710
+#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:707
msgid "_Members"
msgstr "_Miembros"
-#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:713
+#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:710
msgid "Contact List Members"
msgstr "Miembros de la lista de contactos"
@@ -2720,7 +2727,7 @@ msgstr "Fuente"
#: ../addressbook/gui/widgets/e-addressbook-view.c:244
#: ../calendar/gui/dialogs/meeting-page.etspec.h:11
#: ../calendar/gui/e-calendar-table.etspec.h:13
-#: ../calendar/gui/e-meeting-list-view.c:244
+#: ../calendar/gui/e-meeting-list-view.c:319
#: ../calendar/gui/e-meeting-time-sel.etspec.h:11
msgid "Type"
msgstr "Tipo"
@@ -2774,8 +2781,8 @@ msgid "Cut"
msgstr "Cortar"
#: ../addressbook/gui/widgets/e-addressbook-view.c:933
-#: ../calendar/gui/calendar-component.c:385
-#: ../calendar/gui/tasks-component.c:329 ../ui/evolution-addressbook.xml.h:2
+#: ../calendar/gui/calendar-component.c:525
+#: ../calendar/gui/tasks-component.c:429 ../ui/evolution-addressbook.xml.h:2
#: ../ui/evolution-mail-message.xml.h:9 ../ui/evolution-tasks.xml.h:2
msgid "Copy"
msgstr "Copiar"
@@ -2931,7 +2938,7 @@ msgstr "Radio"
#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:33
#: ../calendar/gui/dialogs/meeting-page.etspec.h:9
-#: ../calendar/gui/e-meeting-list-view.c:251
+#: ../calendar/gui/e-meeting-list-view.c:326
#: ../calendar/gui/e-meeting-time-sel.etspec.h:9
msgid "Role"
msgstr "Papel"
@@ -3286,11 +3293,13 @@ msgstr ""
#: ../addressbook/gui/widgets/eab-gui-util.c:149
msgid "The backend for this addressbook was unable to parse this query."
-msgstr "El backend de esta libreta de direcciones no pudo analizar esta consulta."
+msgstr ""
+"El backend de esta libreta de direcciones no pudo analizar esta consulta."
#: ../addressbook/gui/widgets/eab-gui-util.c:152
msgid "The backend for this addressbook refused to perform this query."
-msgstr "El backend para esta libreta de direcciones rehusó a efectuar esta consulta."
+msgstr ""
+"El backend para esta libreta de direcciones rehusó a efectuar esta consulta."
#: ../addressbook/gui/widgets/eab-gui-util.c:155
msgid "This query did not complete successfully."
@@ -3711,7 +3720,8 @@ msgid "Export in asynchronous mode"
msgstr "Exportar en modo asíncrono"
#: ../addressbook/tools/evolution-addressbook-export.c:63
-msgid "The number of cards in one output file in asychronous mode, default size 100."
+msgid ""
+"The number of cards in one output file in asychronous mode, default size 100."
msgstr ""
"El número de tarjetas en un archivo de salida en modo asíncrono, tamaño por "
"omisión 100."
@@ -3721,7 +3731,8 @@ msgid "NUMBER"
msgstr "NÚMERO"
#: ../addressbook/tools/evolution-addressbook-export.c:91
-msgid "Command line arguments error, please use --help option to see the usage."
+msgid ""
+"Command line arguments error, please use --help option to see the usage."
msgstr ""
"Error en los argumentos de la línea de comandos, por favor use la opción --"
"help para ver el uso."
@@ -3758,7 +3769,8 @@ msgstr "No ha especificado un nombre de archivo."
#. calendar:prompt-cancel-task primary
#: ../calendar/calendar-errors.xml.h:2 ../calendar/calendar-errors.xml.h:12
msgid "Would you like to send all the participants a cancellation notice?"
-msgstr "¿Quiere enviar a todos los participantes una notificación de cancelación?"
+msgstr ""
+"¿Quiere enviar a todos los participantes una notificación de cancelación?"
#. calendar:prompt-cancel-meeting secondary
#: ../calendar/calendar-errors.xml.h:4
@@ -3788,7 +3800,8 @@ msgstr "¿Seguro que quiere borrar esta reunión?"
#. calendar:prompt-delete-meeting secondary
#: ../calendar/calendar-errors.xml.h:10
-msgid "All information on this meeting will be deleted and can not be restored."
+msgid ""
+"All information on this meeting will be deleted and can not be restored."
msgstr ""
"Toda la información acerca de esta reunión será borrada y no podrá ser "
"recuperada."
@@ -3855,7 +3868,8 @@ msgstr "¿Seguro que quiere borrar la cita titulada «{0}»?"
#. calendar:prompt-delete-titled-appointment secondary
#. calendar:prompt-delete-appointment secondary
#: ../calendar/calendar-errors.xml.h:34 ../calendar/calendar-errors.xml.h:38
-msgid "All information on this appointment will be deleted and can not be restored."
+msgid ""
+"All information on this appointment will be deleted and can not be restored."
msgstr ""
"Toda la información acerca de esta cita será borrada y no puede ser "
"recuperada."
@@ -3878,8 +3892,10 @@ msgstr "¿Seguro que quiere borrar la entrada del diario «{0}»?"
#. calendar:prompt-delete-named-journal secondary
#. calendar:prompt-delete-journal secondary
#: ../calendar/calendar-errors.xml.h:50 ../calendar/calendar-errors.xml.h:54
-msgid "All information in this journal will be deleted and can not be restored."
-msgstr "Toda la información en este diario será borrada y no podrá recuperarse."
+msgid ""
+"All information in this journal will be deleted and can not be restored."
+msgstr ""
+"Toda la información en este diario será borrada y no podrá recuperarse."
#. calendar:prompt-delete-appointments primary
#: ../calendar/calendar-errors.xml.h:56
@@ -3891,7 +3907,8 @@ msgstr "¿Seguro que quiere borrar estas {0} citas?"
msgid ""
"All information on these appointments will be deleted and can not be "
"restored."
-msgstr "Toda la información de estas citas será borrada y no puede ser recuperada."
+msgstr ""
+"Toda la información de estas citas será borrada y no puede ser recuperada."
#. calendar:prompt-delete-tasks primary
#: ../calendar/calendar-errors.xml.h:60
@@ -3964,7 +3981,8 @@ msgstr "¿Quiere enviar invitaciones a los participantes?"
#. calendar:prompt-meeting-invite secondary
#: ../calendar/calendar-errors.xml.h:86
-msgid "Email invitations will be sent to all participants and allow them to RSVP."
+msgid ""
+"Email invitations will be sent to all participants and allow them to RSVP."
msgstr ""
"Las invitaciones serán enviadas por correo-e a todos los participantes y las "
"permitirá RSVP."
@@ -3978,7 +3996,8 @@ msgstr "Enviar"
#. calendar:prompt-send-updated-meeting-info primary
#: ../calendar/calendar-errors.xml.h:90
msgid "Would you like to send updated meeting information to participants?"
-msgstr "¿Quiere enviar información de la reunión actualizada a los participantes?"
+msgstr ""
+"¿Quiere enviar información de la reunión actualizada a los participantes?"
#. calendar:prompt-send-updated-meeting-info secondary
#: ../calendar/calendar-errors.xml.h:92
@@ -4025,7 +4044,8 @@ msgstr "Las tareas de Evolution han terminado inesperadamente."
#. calendar:tasks-crashed secondary
#: ../calendar/calendar-errors.xml.h:110
msgid "Your tasks will not be available until Evolution is restarted."
-msgstr "Sus tareas no estarán disponibles hasta que Evolution sea iniciado de nuevo."
+msgstr ""
+"Sus tareas no estarán disponibles hasta que Evolution sea iniciado de nuevo."
#. calendar:calendar-crashed primary
#: ../calendar/calendar-errors.xml.h:112
@@ -4035,7 +4055,8 @@ msgstr "El calendario de Evolution ha terminado inesperadamente."
#. calendar:calendar-crashed secondary
#: ../calendar/calendar-errors.xml.h:114
msgid "Your calendars will not be available until Evolution is restarted."
-msgstr "Sus calendarios no estarán disponibles hasta que Evolution sea reiniciado."
+msgstr ""
+"Sus calendarios no estarán disponibles hasta que Evolution sea reiniciado."
#. calendar:prompt-delete-calendar primary
#: ../calendar/calendar-errors.xml.h:116
@@ -4113,10 +4134,8 @@ msgstr "La lista de tareas no está marcada para usarse sin conexión"
#. calendar:server-version secondary
#: ../calendar/calendar-errors.xml.h:146
-msgid " Some features may not work correctly with your current server version"
-msgstr ""
-"Algunas características quizá no funcionen correctamente con su versión "
-"actual del servidor"
+msgid " Some features may not work correctly with your current server version "
+msgstr "Algunas características quizá no funcionen correctamente con su versión actual del servidor"
#: ../calendar/common/authentication.c:49 ../calendar/gui/e-pub-utils.c:301
#: ../smime/gui/component.c:48
@@ -4153,7 +4172,7 @@ msgid "Calendar and Tasks"
msgstr "Calendario y tareas"
#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:2
-#: ../calendar/gui/calendar-component.c:1150
+#: ../calendar/gui/calendar-component.c:1290
msgid "Calendars"
msgstr "Calendarios"
@@ -4187,7 +4206,7 @@ msgstr "Componente de Tareas de Evolution"
#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:10
#: ../calendar/gui/e-tasks.c:1219 ../calendar/gui/print.c:1822
-#: ../calendar/gui/tasks-component.c:408 ../calendar/gui/tasks-component.c:881
+#: ../calendar/gui/tasks-component.c:508 ../calendar/gui/tasks-component.c:981
#: ../calendar/gui/tasks-control.c:408
#: ../calendar/importers/icalendar-importer.c:83
#: ../calendar/importers/icalendar-importer.c:701
@@ -4280,28 +4299,28 @@ msgstr "lugar"
msgid "start-time"
msgstr "hora de inicio"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:864
+#: ../calendar/gui/alarm-notify/alarm-queue.c:879
msgid "Dismiss"
msgstr "Rechazar"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:865
+#: ../calendar/gui/alarm-notify/alarm-queue.c:880
msgid "Dismiss All"
msgstr "Rechazar todas"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:947
+#: ../calendar/gui/alarm-notify/alarm-queue.c:962
msgid "No summary available."
msgstr "No hay resumen disponible."
-#: ../calendar/gui/alarm-notify/alarm-queue.c:956
-#: ../calendar/gui/alarm-notify/alarm-queue.c:958
+#: ../calendar/gui/alarm-notify/alarm-queue.c:971
+#: ../calendar/gui/alarm-notify/alarm-queue.c:973
msgid "No description available."
msgstr "No hay descripción disponible."
-#: ../calendar/gui/alarm-notify/alarm-queue.c:966
+#: ../calendar/gui/alarm-notify/alarm-queue.c:981
msgid "No location information available."
msgstr "No hay información del lugar disponible."
-#: ../calendar/gui/alarm-notify/alarm-queue.c:982
+#: ../calendar/gui/alarm-notify/alarm-queue.c:997
#, c-format
msgid ""
"Alarm on %s\n"
@@ -4314,12 +4333,12 @@ msgstr ""
"Empieza a las %s\n"
"Termina a las %s"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1084
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1108
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1099
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1123
msgid "Warning"
msgstr "Advertencia"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1088
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1103
msgid ""
"Evolution does not support calendar reminders with\n"
"email notifications yet, but this reminder was\n"
@@ -4331,7 +4350,7 @@ msgstr ""
"configurado para enviar un mensaje de correo-e. En su lugar\n"
"Evolution mostrará un diálogo de recordatorio normal."
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1114
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1129
#, c-format
msgid ""
"An Evolution Calendar reminder is about to trigger. This reminder is "
@@ -4348,7 +4367,7 @@ msgstr ""
"\n"
"¿Está seguro que quiere ejecutar este programa?"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1128
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1143
msgid "Do not ask me about this program again."
msgstr "No preguntar otra vez sobre este programa."
@@ -4378,7 +4397,8 @@ msgstr "Color de fondo para las tareas que vencen hoy, en formato «#rrggbb»."
#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:4
msgid "Background color of tasks that are overdue, in \"#rrggbb\" format."
-msgstr "Color de fondo para las tareas que están retrasadas, en formato «#rrggbb»."
+msgstr ""
+"Color de fondo para las tareas que están retrasadas, en formato «#rrggbb»."
#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:5
msgid "Calendars to run alarms for"
@@ -4394,7 +4414,8 @@ msgstr "Confirmar compactación"
#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:8
msgid "Days on which the start and end of work hours should be indicated."
-msgstr "Días en los cuales debe indicarse el inicio y fin de las horas de trabajo."
+msgstr ""
+"Días en los cuales debe indicarse el inicio y fin de las horas de trabajo."
#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:9
msgid "Default appointment reminder"
@@ -4593,7 +4614,8 @@ msgstr ""
"\"."
#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:48
-msgid "Units for determining when to hide tasks, \"minutes\", \"hours\" or \"days\"."
+msgid ""
+"Units for determining when to hide tasks, \"minutes\", \"hours\" or \"days\"."
msgstr ""
"Unidades para determinar cuándo ocultar tareas, \"minutes\", \"hours\" o "
"\"days\"."
@@ -4604,11 +4626,13 @@ msgstr "Comienzo de la semana"
#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:51
msgid "Weekday the week starts on, from Sunday (0) to Saturday (6)."
-msgstr "El día en que empieza la semana, desde el domingo (0) hasta el sábado (6)."
+msgstr ""
+"El día en que empieza la semana, desde el domingo (0) hasta el sábado (6)."
#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:52
msgid "Whether or not to use the notification tray for display alarms."
-msgstr "Indica si se debe usar o no la bandeja de notificación para mostrar alarmas."
+msgstr ""
+"Indica si se debe usar o no la bandeja de notificación para mostrar alarmas."
#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:53
msgid "Whether to ask for confirmation when deleting an appointment or task."
@@ -4638,17 +4662,20 @@ msgstr "Indica si debe ocultar las tareas terminadas en la vista de tareas."
#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:58
msgid "Whether to set a default reminder for appointments."
-msgstr "Indica si debe establecer un recordatorio predeterminado para las citas."
+msgstr ""
+"Indica si debe establecer un recordatorio predeterminado para las citas."
#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:59
-msgid "Whether to show times in twenty four hour format instead of using am/pm."
+msgid ""
+"Whether to show times in twenty four hour format instead of using am/pm."
msgstr ""
"Indica si debe mostrar las horas en formato de veintucuatro horas en vez de "
"usar am/pm."
#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:60
msgid "Whether to show week numbers in the date navigator."
-msgstr "Indica si debe mostrar los números de la semana en el navegador de fechas."
+msgstr ""
+"Indica si debe mostrar los números de la semana en el navegador de fechas."
#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:61
msgid "Work days"
@@ -4691,7 +4718,7 @@ msgid "Unmatched"
msgstr "No coincidente"
#: ../calendar/gui/calendar-commands.c:120
-#: ../calendar/gui/calendar-component.c:568
+#: ../calendar/gui/calendar-component.c:708
#: ../calendar/gui/dialogs/calendar-setup.c:362
#: ../calendar/gui/gnome-cal.c:1942
#: ../plugins/groupwise-account-setup/camel-gw-listener.c:382
@@ -4722,73 +4749,92 @@ msgstr "Purgar acontecimientos anteriores a"
msgid "days"
msgstr "días"
-#: ../calendar/gui/calendar-component.c:384
+#. Create the On the web source group
+#. Create the Webcal source group
+#. Create the LDAP source group
+#: ../calendar/gui/calendar-component.c:223 ../calendar/gui/migration.c:486
+#: ../calendar/gui/migration.c:579 ../calendar/gui/tasks-component.c:204
+msgid "On The Web"
+msgstr "En la web"
+
+#: ../calendar/gui/calendar-component.c:241 ../calendar/gui/migration.c:388
+msgid "Birthdays & Anniversaries"
+msgstr "Cumpleaños y aniversarios"
+
+#. Create the weather group
+#: ../calendar/gui/calendar-component.c:247
+#: ../plugins/calendar-weather/calendar-weather.c:100
+msgid "Weather"
+msgstr "Meteorología"
+
+#: ../calendar/gui/calendar-component.c:524
#: ../calendar/gui/dialogs/calendar-setup.c:442
msgid "New Calendar"
msgstr "Calendario nuevo"
-#: ../calendar/gui/calendar-component.c:703
+#: ../calendar/gui/calendar-component.c:843
msgid "Failed upgrading calendars."
msgstr "Fallo al actualizar calendarios."
-#: ../calendar/gui/calendar-component.c:999
+#: ../calendar/gui/calendar-component.c:1139
#, c-format
msgid "Unable to open the calendar '%s' for creating events and meetings"
-msgstr "no se pudo abrir el calendario «%s» para crear acontecimientos y reuniones"
+msgstr ""
+"no se pudo abrir el calendario «%s» para crear acontecimientos y reuniones"
-#: ../calendar/gui/calendar-component.c:1015
+#: ../calendar/gui/calendar-component.c:1155
msgid "There is no calendar available for creating events and meetings"
msgstr "No hay un calendario disponible para crear acontecimientos y reuniones"
-#: ../calendar/gui/calendar-component.c:1125
+#: ../calendar/gui/calendar-component.c:1265
msgid "Calendar Source Selector"
msgstr "Selector de origen del calendario"
-#: ../calendar/gui/calendar-component.c:1316
+#: ../calendar/gui/calendar-component.c:1456
msgid "New appointment"
msgstr "Cita nueva"
-#: ../calendar/gui/calendar-component.c:1317
+#: ../calendar/gui/calendar-component.c:1457
msgid "_Appointment"
msgstr "_Cita"
-#: ../calendar/gui/calendar-component.c:1318
+#: ../calendar/gui/calendar-component.c:1458
msgid "Create a new appointment"
msgstr "Crea una cita nueva"
-#: ../calendar/gui/calendar-component.c:1324
+#: ../calendar/gui/calendar-component.c:1464
msgid "New meeting"
msgstr "Reunión nueva"
-#: ../calendar/gui/calendar-component.c:1325
+#: ../calendar/gui/calendar-component.c:1465
msgid "M_eeting"
msgstr "_Reunión"
-#: ../calendar/gui/calendar-component.c:1326
+#: ../calendar/gui/calendar-component.c:1466
msgid "Create a new meeting request"
msgstr "Crea una solicitud de reunión nueva"
-#: ../calendar/gui/calendar-component.c:1332
+#: ../calendar/gui/calendar-component.c:1472
msgid "New all day appointment"
msgstr "Cita para todo el día nueva"
-#: ../calendar/gui/calendar-component.c:1333
+#: ../calendar/gui/calendar-component.c:1473
msgid "All Day A_ppointment"
msgstr "_Cita para todo el día"
-#: ../calendar/gui/calendar-component.c:1334
+#: ../calendar/gui/calendar-component.c:1474
msgid "Create a new all-day appointment"
msgstr "Crea una cita nueva para todo el día"
-#: ../calendar/gui/calendar-component.c:1340
+#: ../calendar/gui/calendar-component.c:1480
msgid "New calendar"
msgstr "Calendario nuevo"
-#: ../calendar/gui/calendar-component.c:1341
+#: ../calendar/gui/calendar-component.c:1481
msgid "Cale_ndar"
msgstr "Cale_ndario"
-#: ../calendar/gui/calendar-component.c:1342
+#: ../calendar/gui/calendar-component.c:1482
msgid "Create a new calendar"
msgstr "Crea un calendario nuevo"
@@ -4820,7 +4866,7 @@ msgstr "Método no soportado al abrir el calendario"
msgid "Permission denied to open the calendar"
msgstr "Permiso denegado para abrir el calendario"
-#: ../calendar/gui/comp-editor-factory.c:437 ../shell/e-shell.c:1259
+#: ../calendar/gui/comp-editor-factory.c:437 ../shell/e-shell.c:1264
msgid "Unknown error"
msgstr "Error desconocido"
@@ -4963,7 +5009,7 @@ msgid "%.0fG"
msgstr "%.0fGib"
#: ../calendar/gui/dialogs/cal-attachment-bar.c:298
-#: ../calendar/gui/dialogs/cal-attachment-bar.c:913
+#: ../calendar/gui/dialogs/cal-attachment-bar.c:922
#: ../composer/e-msg-composer-attachment-bar.c:295 ../mail/em-utils.c:436
msgid "attachment"
msgstr "adjunto"
@@ -5045,7 +5091,7 @@ msgstr "Tipo MIME:"
#. g_object_set((GObject *)renderer, "activatable", TRUE, NULL);
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:576
-#: ../mail/em-account-prefs.c:460 ../mail/em-composer-prefs.c:888
+#: ../mail/em-account-prefs.c:476 ../mail/em-composer-prefs.c:888
#: ../plugins/plugin-manager/plugin-manager.c:213
msgid "Enabled"
msgstr "Activado"
@@ -5065,16 +5111,16 @@ msgstr "No eliminar"
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:787
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:820
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:853
-#: ../mail/em-account-prefs.c:307 ../mail/em-account-prefs.c:335
-#: ../mail/em-account-prefs.c:366
+#: ../mail/em-account-prefs.c:323 ../mail/em-account-prefs.c:351
+#: ../mail/em-account-prefs.c:382
msgid "Disable"
msgstr "Desactivar"
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:787
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:820
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:855
-#: ../mail/em-account-prefs.c:307 ../mail/em-account-prefs.c:335
-#: ../mail/em-account-prefs.c:368
+#: ../mail/em-account-prefs.c:323 ../mail/em-account-prefs.c:351
+#: ../mail/em-account-prefs.c:384
msgid "Enable"
msgstr "Activar"
@@ -5128,7 +5174,8 @@ msgstr "<b>Semana laboral</b>"
#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:15
#, no-c-format
-msgid "<i>%u and %d will be replaced by user and domain from the email address.</i>"
+msgid ""
+"<i>%u and %d will be replaced by user and domain from the email address.</i>"
msgstr ""
"<i>%u y %d serán reemplazadas por un usuario y dominio desde la dirección de "
"correo-e.</i>"
@@ -5302,7 +5349,8 @@ msgstr "_Sáb"
#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:56
msgid "_Show appointment end times in week and month views"
-msgstr "Mostrar la hora del final de las citas en las vistas s_emanales y mensuales"
+msgstr ""
+"Mostrar la hora del final de las citas en las vistas s_emanales y mensuales"
#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:57
msgid "_Time divisions:"
@@ -5330,7 +5378,8 @@ msgstr "opción del menú para elegir las unidades de tiempo"
#: ../calendar/gui/dialogs/calendar-setup.c:284
msgid "Copy calendar contents locally for offline operation"
-msgstr "Copiar el contenido del calendario localmente para operación desconectada"
+msgstr ""
+"Copiar el contenido del calendario localmente para operación desconectada"
#: ../calendar/gui/dialogs/calendar-setup.c:336
#: ../calendar/gui/dialogs/calendar-setup.glade.h:4
@@ -5474,8 +5523,8 @@ msgstr[1] "%d mensajes adjuntos"
#: ../calendar/gui/dialogs/comp-editor.c:412
#: ../calendar/gui/e-calendar-table.c:1164
#: ../calendar/gui/e-calendar-view.c:1402 ../composer/e-msg-composer.c:2906
-#: ../mail/em-folder-tree.c:1046 ../mail/em-folder-view.c:972
-#: ../mail/message-list.c:1712 ../ui/evolution-addressbook.xml.h:31
+#: ../mail/em-folder-tree.c:1046 ../mail/em-folder-view.c:966
+#: ../mail/message-list.c:1707 ../ui/evolution-addressbook.xml.h:31
#: ../ui/evolution-calendar.xml.h:39 ../ui/evolution-composer-entries.xml.h:7
#: ../ui/evolution-mail-message.xml.h:105 ../ui/evolution-tasks.xml.h:20
msgid "_Copy"
@@ -5483,89 +5532,90 @@ msgstr "_Copiar"
#: ../calendar/gui/dialogs/comp-editor.c:413 ../composer/e-msg-composer.c:2907
#: ../mail/em-folder-tree.c:1047 ../mail/em-folder-tree.c:2311
-#: ../mail/em-folder-view.c:868 ../mail/message-list.c:1713
+#: ../mail/em-folder-view.c:862 ../mail/message-list.c:1708
msgid "_Move"
msgstr "_Mover"
#: ../calendar/gui/dialogs/comp-editor.c:415 ../composer/e-msg-composer.c:2909
-#: ../mail/em-folder-tree.c:1049 ../mail/message-list.c:1715
+#: ../mail/em-folder-tree.c:1049 ../mail/message-list.c:1710
msgid "Cancel _Drag"
msgstr "Cancelar _arrastre"
-#: ../calendar/gui/dialogs/comp-editor.c:659
+#: ../calendar/gui/dialogs/comp-editor.c:682
msgid "Could not update object"
msgstr "No se pudo actualizar el objeto"
-#: ../calendar/gui/dialogs/comp-editor.c:820 ../composer/e-msg-composer.c:2310
+#: ../calendar/gui/dialogs/comp-editor.c:843 ../composer/e-msg-composer.c:2310
#, c-format
msgid "<b>%d</b> File Attached"
msgid_plural "<b>%d</b> Files Attached"
msgstr[0] "<b>%d</b> archivo adjunto"
msgstr[1] "<b>%d</b> archivos adjuntos"
-#: ../calendar/gui/dialogs/comp-editor.c:873 ../composer/e-msg-composer.c:2339
+#: ../calendar/gui/dialogs/comp-editor.c:900 ../composer/e-msg-composer.c:2339
msgid "Hide _Attachment Bar (drop attachments here)"
msgstr "Ocultar barra de _adjuntos (soltar adjuntos aquí)"
-#: ../calendar/gui/dialogs/comp-editor.c:876
-#: ../calendar/gui/dialogs/comp-editor.c:928 ../composer/e-msg-composer.c:2342
+#: ../calendar/gui/dialogs/comp-editor.c:903
+#: ../calendar/gui/dialogs/comp-editor.c:955 ../composer/e-msg-composer.c:2342
#: ../composer/e-msg-composer.c:3471
msgid "Show _Attachment Bar (drop attachments here)"
msgstr "Mostrar barra de _adjuntos (soltar adjuntos aquí)"
-#: ../calendar/gui/dialogs/comp-editor.c:952 ../composer/e-msg-composer.c:3493
+#: ../calendar/gui/dialogs/comp-editor.c:979 ../composer/e-msg-composer.c:3493
msgid "Attachment Button: Press space key to toggle attachment bar"
-msgstr "Botón de adjuntos: Pulse la tecla espacio para cambiar la barra de adjuntos"
+msgstr ""
+"Botón de adjuntos: Pulse la tecla espacio para cambiar la barra de adjuntos"
-#: ../calendar/gui/dialogs/comp-editor.c:1499
-#: ../calendar/gui/dialogs/comp-editor.c:1542
+#: ../calendar/gui/dialogs/comp-editor.c:1526
+#: ../calendar/gui/dialogs/comp-editor.c:1569
msgid "Edit Appointment"
msgstr "Editar cita"
-#: ../calendar/gui/dialogs/comp-editor.c:1505
-#: ../calendar/gui/dialogs/comp-editor.c:1548
+#: ../calendar/gui/dialogs/comp-editor.c:1532
+#: ../calendar/gui/dialogs/comp-editor.c:1575
#, c-format
msgid "Meeting - %s"
msgstr "Reunión - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1507
-#: ../calendar/gui/dialogs/comp-editor.c:1550
+#: ../calendar/gui/dialogs/comp-editor.c:1534
+#: ../calendar/gui/dialogs/comp-editor.c:1577
#, c-format
msgid "Appointment - %s"
msgstr "Cita - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1511
-#: ../calendar/gui/dialogs/comp-editor.c:1554
+#: ../calendar/gui/dialogs/comp-editor.c:1538
+#: ../calendar/gui/dialogs/comp-editor.c:1581
#, c-format
msgid "Assigned Task - %s"
msgstr "Tarea asignada - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1513
-#: ../calendar/gui/dialogs/comp-editor.c:1556
+#: ../calendar/gui/dialogs/comp-editor.c:1540
+#: ../calendar/gui/dialogs/comp-editor.c:1583
#, c-format
msgid "Task - %s"
msgstr "Tarea - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1516
-#: ../calendar/gui/dialogs/comp-editor.c:1559
+#: ../calendar/gui/dialogs/comp-editor.c:1543
+#: ../calendar/gui/dialogs/comp-editor.c:1586
#, c-format
msgid "Journal entry - %s"
msgstr "Entrada del diario - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1527
-#: ../calendar/gui/dialogs/comp-editor.c:1569
+#: ../calendar/gui/dialogs/comp-editor.c:1554
+#: ../calendar/gui/dialogs/comp-editor.c:1596
msgid "No summary"
msgstr "Sin resumen"
-#: ../calendar/gui/dialogs/comp-editor.c:2001
-#: ../calendar/gui/dialogs/comp-editor.c:2034
-#: ../calendar/gui/dialogs/comp-editor.c:2058
+#: ../calendar/gui/dialogs/comp-editor.c:2030
+#: ../calendar/gui/dialogs/comp-editor.c:2063
+#: ../calendar/gui/dialogs/comp-editor.c:2087
msgid "Changes made to this item may be discarded if an update arrives"
msgstr ""
"Los cambios efectuados a este elemento pueden descartarse si llega una "
"actualización por correo"
-#: ../calendar/gui/dialogs/comp-editor.c:2082
+#: ../calendar/gui/dialogs/comp-editor.c:2111
msgid "Unable to use current version!"
msgstr "Imposible obtener versión actual."
@@ -5599,7 +5649,8 @@ msgstr "El elemento no se pudo borrar debido a un error de CORBA"
#: ../calendar/gui/dialogs/delete-error.c:70
msgid "The event could not be deleted because permission was denied"
-msgstr "El acontecimiento no se pudo borrar porque el se ha denegado el permiso"
+msgstr ""
+"El acontecimiento no se pudo borrar porque el se ha denegado el permiso"
#: ../calendar/gui/dialogs/delete-error.c:73
msgid "The task could not be deleted because permission was denied"
@@ -5607,7 +5658,8 @@ msgstr "La tarea no se pudo borrar porque se ha denegado el permiso"
#: ../calendar/gui/dialogs/delete-error.c:76
msgid "The journal entry could not be deleted because permission was denied"
-msgstr "La entrada del diario no se pudo borrar porque se ha denegado el permiso"
+msgstr ""
+"La entrada del diario no se pudo borrar porque se ha denegado el permiso"
#: ../calendar/gui/dialogs/delete-error.c:79
msgid "The item could not be deleted because permission was denied"
@@ -5830,9 +5882,9 @@ msgstr "Hora de _inicio:"
#: ../calendar/gui/dialogs/meeting-page.glade.h:5
#: ../calendar/gui/e-cal-model-tasks.c:652
#: ../calendar/gui/e-itip-control.c:1104 ../composer/e-msg-composer.c:2117
-#: ../filter/filter-rule.c:878 ../mail/em-account-editor.c:675
-#: ../mail/em-account-editor.c:1273 ../mail/em-account-prefs.c:421
-#: ../mail/em-folder-view.c:999
+#: ../filter/filter-rule.c:878 ../mail/em-account-editor.c:685
+#: ../mail/em-account-editor.c:1291 ../mail/em-account-prefs.c:437
+#: ../mail/em-folder-view.c:993
#: ../plugins/calendar-weather/calendar-weather.c:371
#: ../plugins/calendar-weather/calendar-weather.c:425
#: ../plugins/itip-formatter/itip-formatter.c:1376
@@ -5859,7 +5911,7 @@ msgid "_Delegate To..."
msgstr "_Delegado a..."
#: ../calendar/gui/dialogs/meeting-page.etspec.h:1
-#: ../calendar/gui/e-meeting-list-view.c:235
+#: ../calendar/gui/e-meeting-list-view.c:308
#: ../calendar/gui/e-meeting-time-sel.etspec.h:1
msgid "Attendee"
msgstr "Participante"
@@ -5895,7 +5947,7 @@ msgid "Member"
msgstr "Miembro"
#: ../calendar/gui/dialogs/meeting-page.etspec.h:8
-#: ../calendar/gui/e-meeting-list-view.c:258
+#: ../calendar/gui/e-meeting-list-view.c:333
#: ../calendar/gui/e-meeting-time-sel.etspec.h:8
msgid "RSVP"
msgstr "Confirmar"
@@ -5903,7 +5955,7 @@ msgstr "Confirmar"
#: ../calendar/gui/dialogs/meeting-page.etspec.h:10
#: ../calendar/gui/dialogs/task-editor.c:146
#: ../calendar/gui/e-calendar-table.etspec.h:10
-#: ../calendar/gui/e-meeting-list-view.c:265
+#: ../calendar/gui/e-meeting-list-view.c:340
#: ../calendar/gui/e-meeting-time-sel.etspec.h:10 ../mail/em-filter-i18n.h:63
#: ../mail/message-list.etspec.h:12
msgid "Status"
@@ -5971,31 +6023,34 @@ msgstr "Agrupar lista de tareas"
msgid "Task List Name"
msgstr "Nombre de la lista de tareas"
-#: ../calendar/gui/dialogs/recur-comp.c:51
+#: ../calendar/gui/dialogs/recur-comp.c:52
msgid "You are modifying a recurring event, what would you like to modify?"
-msgstr "Está modificando un acontecimiento que se repite, ¿qué quiere modificar?"
+msgstr ""
+"Está modificando un acontecimiento que se repite, ¿qué quiere modificar?"
-#: ../calendar/gui/dialogs/recur-comp.c:55
+#: ../calendar/gui/dialogs/recur-comp.c:56
msgid "You are modifying a recurring task, what would you like to modify?"
msgstr "Está modificando una tarea que se repite, ¿qué quiere modificar?"
-#: ../calendar/gui/dialogs/recur-comp.c:59
-msgid "You are modifying a recurring journal entry, what would you like to modify?"
-msgstr "Está modificando una entrada del diario que se repite, ¿qué quiere modificar?"
+#: ../calendar/gui/dialogs/recur-comp.c:60
+msgid ""
+"You are modifying a recurring journal entry, what would you like to modify?"
+msgstr ""
+"Está modificando una entrada del diario que se repite, ¿qué quiere modificar?"
-#: ../calendar/gui/dialogs/recur-comp.c:87
+#: ../calendar/gui/dialogs/recur-comp.c:88
msgid "This Instance Only"
msgstr "Esta instancia únicamente"
-#: ../calendar/gui/dialogs/recur-comp.c:91
+#: ../calendar/gui/dialogs/recur-comp.c:92
msgid "This and Prior Instances"
msgstr "Esta instancia y las anteriores"
-#: ../calendar/gui/dialogs/recur-comp.c:97
+#: ../calendar/gui/dialogs/recur-comp.c:98
msgid "This and Future Instances"
msgstr "Esta instancia y las futuras"
-#: ../calendar/gui/dialogs/recur-comp.c:102
+#: ../calendar/gui/dialogs/recur-comp.c:103
msgid "All Instances"
msgstr "Todas las instancias"
@@ -6127,7 +6182,7 @@ msgstr "Terminado"
#: ../calendar/gui/dialogs/task-details-page.glade.h:5
#: ../calendar/gui/e-cal-component-preview.c:248
-#: ../calendar/gui/e-calendar-table.c:382 ../mail/message-list.c:1011
+#: ../calendar/gui/e-calendar-table.c:382 ../mail/message-list.c:1006
msgid "High"
msgstr "Alta"
@@ -6142,14 +6197,14 @@ msgstr "En proceso"
#: ../calendar/gui/dialogs/task-details-page.glade.h:7
#: ../calendar/gui/e-cal-component-preview.c:252
-#: ../calendar/gui/e-calendar-table.c:384 ../mail/message-list.c:1009
+#: ../calendar/gui/e-calendar-table.c:384 ../mail/message-list.c:1004
msgid "Low"
msgstr "Baja"
#: ../calendar/gui/dialogs/task-details-page.glade.h:8
#: ../calendar/gui/e-cal-component-preview.c:250
#: ../calendar/gui/e-cal-model.c:899 ../calendar/gui/e-calendar-table.c:383
-#: ../mail/message-list.c:1010
+#: ../mail/message-list.c:1005
msgid "Normal"
msgstr "Normal"
@@ -6349,7 +6404,7 @@ msgstr "%s a %s"
msgid "%s for an unknown trigger type"
msgstr "%s para un tipo de disparador desconocido"
-#: ../calendar/gui/e-cal-component-preview.c:70 ../mail/em-folder-view.c:2587
+#: ../calendar/gui/e-cal-component-preview.c:70 ../mail/em-folder-view.c:2573
#, c-format
msgid "Click to open %s"
msgstr "Pulse para abrir %s"
@@ -6378,7 +6433,7 @@ msgstr "Fecha de vencimiento:"
#. Status
#: ../calendar/gui/e-cal-component-preview.c:222
#: ../calendar/gui/e-itip-control.c:1132
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:129
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:209
#: ../plugins/itip-formatter/itip-view.c:884
msgid "Status:"
msgstr "Estado:"
@@ -6461,7 +6516,7 @@ msgstr "No"
#: ../calendar/gui/e-meeting-list-view.c:139
#: ../calendar/gui/e-meeting-list-view.c:153
#: ../calendar/gui/e-meeting-store.c:124 ../calendar/gui/e-meeting-store.c:159
-#: ../calendar/gui/e-meeting-store.c:224 ../mail/em-utils.c:1157
+#: ../calendar/gui/e-meeting-store.c:224 ../mail/em-utils.c:1173
#: ../plugins/itip-formatter/itip-formatter.c:251
#: ../plugins/itip-formatter/itip-formatter.c:1398
#: ../plugins/plugin-manager/plugin-manager.c:72
@@ -6551,8 +6606,8 @@ msgid "Open _Web Page"
msgstr "Abrir página _web"
#: ../calendar/gui/e-calendar-table.c:1158
-#: ../calendar/gui/e-calendar-view.c:1396 ../mail/em-folder-view.c:982
-#: ../mail/em-popup.c:493 ../ui/evolution-mail-message.xml.h:124
+#: ../calendar/gui/e-calendar-view.c:1396 ../mail/em-folder-view.c:976
+#: ../mail/em-popup.c:494 ../ui/evolution-mail-message.xml.h:124
msgid "_Save As..."
msgstr "Guardar _como..."
@@ -6597,7 +6652,7 @@ msgstr "_Marcar tareas seleccionadas como terminadas"
#. FIXME: need to disable for undeletable folders
#: ../calendar/gui/e-calendar-table.c:1176
#: ../calendar/gui/e-calendar-view.c:1414 ../mail/em-folder-tree.c:2814
-#: ../mail/em-folder-view.c:986 ../ui/evolution-addressbook.xml.h:33
+#: ../mail/em-folder-view.c:980 ../ui/evolution-addressbook.xml.h:33
#: ../ui/evolution-calendar.xml.h:40 ../ui/evolution-mail-message.xml.h:108
#: ../ui/evolution-tasks.xml.h:21
msgid "_Delete"
@@ -6872,12 +6927,12 @@ msgstr ""
#: ../calendar/gui/e-itip-control.c:1137
#: ../calendar/gui/e-meeting-list-view.c:175
#: ../calendar/gui/e-meeting-store.c:188 ../calendar/gui/e-meeting-store.c:211
-#: ../calendar/gui/itip-utils.c:422
+#: ../calendar/gui/itip-utils.c:421
#: ../plugins/itip-formatter/itip-formatter.c:1389
msgid "Accepted"
msgstr "Aceptado"
-#: ../calendar/gui/e-itip-control.c:1141 ../calendar/gui/itip-utils.c:425
+#: ../calendar/gui/e-itip-control.c:1141 ../calendar/gui/itip-utils.c:424
#: ../plugins/itip-formatter/itip-formatter.c:1392
msgid "Tentatively Accepted"
msgstr "Aceptado provisionalmente"
@@ -6885,7 +6940,7 @@ msgstr "Aceptado provisionalmente"
#: ../calendar/gui/e-itip-control.c:1145
#: ../calendar/gui/e-meeting-list-view.c:176
#: ../calendar/gui/e-meeting-store.c:190 ../calendar/gui/e-meeting-store.c:213
-#: ../calendar/gui/itip-utils.c:428 ../calendar/gui/itip-utils.c:454
+#: ../calendar/gui/itip-utils.c:427 ../calendar/gui/itip-utils.c:453
#: ../plugins/itip-formatter/itip-formatter.c:1395
msgid "Declined"
msgstr "Rechazado"
@@ -6899,7 +6954,8 @@ msgstr ""
"calendarios"
#: ../calendar/gui/e-itip-control.c:1231
-msgid "The task has been cancelled, however it could not be found in your task lists"
+msgid ""
+"The task has been cancelled, however it could not be found in your task lists"
msgstr ""
"La tarea ha sido cancelada, sin embargo no pudo encontrarse en sus listas de "
"tareas"
@@ -7110,7 +7166,8 @@ msgstr "Estado de asistencia actualizado\n"
#: ../calendar/gui/e-itip-control.c:1979
#: ../plugins/itip-formatter/itip-formatter.c:852
msgid "Attendee status can not be updated because the item no longer exists"
-msgstr "El estado de asistencia no puede ser actualizado porque no existe el elemento"
+msgstr ""
+"El estado de asistencia no puede ser actualizado porque no existe el elemento"
#: ../calendar/gui/e-itip-control.c:2006
msgid "Removal Complete"
@@ -7156,7 +7213,7 @@ msgstr "Actualizar el estado del remitente"
msgid "Send Latest Information"
msgstr "Enviar la última información"
-#: ../calendar/gui/e-itip-control.c:2375 ../calendar/gui/itip-utils.c:442
+#: ../calendar/gui/e-itip-control.c:2375 ../calendar/gui/itip-utils.c:441
#: ../mail/mail-send-recv.c:414 ../mail/mail-send-recv.c:466
#: ../ui/evolution-mail-global.xml.h:1
msgid "Cancel"
@@ -7499,57 +7556,57 @@ msgstr "Septiembre"
msgid "_Select Today"
msgstr "_Seleccionar hoy"
-#: ../calendar/gui/itip-utils.c:271 ../calendar/gui/itip-utils.c:319
-#: ../calendar/gui/itip-utils.c:351
+#: ../calendar/gui/itip-utils.c:270 ../calendar/gui/itip-utils.c:318
+#: ../calendar/gui/itip-utils.c:350
msgid "An organizer must be set."
msgstr "Debe especificar un organizador."
-#: ../calendar/gui/itip-utils.c:306
+#: ../calendar/gui/itip-utils.c:305
msgid "At least one attendee is necessary"
msgstr "Es necesario por lo menos un asistente"
-#: ../calendar/gui/itip-utils.c:394 ../calendar/gui/itip-utils.c:503
+#: ../calendar/gui/itip-utils.c:393 ../calendar/gui/itip-utils.c:502
msgid "Event information"
msgstr "Información del acontecimiento"
-#: ../calendar/gui/itip-utils.c:396 ../calendar/gui/itip-utils.c:505
+#: ../calendar/gui/itip-utils.c:395 ../calendar/gui/itip-utils.c:504
msgid "Task information"
msgstr "Información de la tarea"
-#: ../calendar/gui/itip-utils.c:398 ../calendar/gui/itip-utils.c:507
+#: ../calendar/gui/itip-utils.c:397 ../calendar/gui/itip-utils.c:506
msgid "Journal information"
msgstr "Información de la entrada de diario"
-#: ../calendar/gui/itip-utils.c:400 ../calendar/gui/itip-utils.c:525
+#: ../calendar/gui/itip-utils.c:399 ../calendar/gui/itip-utils.c:524
msgid "Free/Busy information"
msgstr "Información de disponibilidad"
-#: ../calendar/gui/itip-utils.c:402
+#: ../calendar/gui/itip-utils.c:401
msgid "Calendar information"
msgstr "Información de calendario"
-#: ../calendar/gui/itip-utils.c:438
+#: ../calendar/gui/itip-utils.c:437
msgid "Updated"
msgstr "Actualizado"
-#: ../calendar/gui/itip-utils.c:446
+#: ../calendar/gui/itip-utils.c:445
msgid "Refresh"
msgstr "Regenerar"
-#: ../calendar/gui/itip-utils.c:450
+#: ../calendar/gui/itip-utils.c:449
msgid "Counter-proposal"
msgstr "Contra-propuesta"
-#: ../calendar/gui/itip-utils.c:521
+#: ../calendar/gui/itip-utils.c:520
#, c-format
msgid "Free/Busy information (%s to %s)"
msgstr "Información de disponibilidad (de %s a %s)"
-#: ../calendar/gui/itip-utils.c:531
+#: ../calendar/gui/itip-utils.c:530
msgid "iCalendar information"
msgstr "Información de iCalendar"
-#: ../calendar/gui/itip-utils.c:673
+#: ../calendar/gui/itip-utils.c:672
msgid "You must be an attendee of the event."
msgstr "Debe ser un asistente del acontecimiento."
@@ -7577,19 +7634,11 @@ msgstr ""
"\n"
"Tenga paciencia mientras Evolution migra sus carpetas..."
-#: ../calendar/gui/migration.c:388
-msgid "Birthdays & Anniversaries"
-msgstr "Cumpleaños y aniversarios"
-
-#. Create the Webcal source group
-#: ../calendar/gui/migration.c:486 ../calendar/gui/migration.c:579
-msgid "On The Web"
-msgstr "En la web"
-
#. FIXME: set proper domain/code
#: ../calendar/gui/migration.c:745 ../calendar/gui/migration.c:912
msgid "Unable to migrate old settings from evolution/config.xmldb"
-msgstr "No es posible migrar la configuración antigua desde evolution/config.xmldb"
+msgstr ""
+"No es posible migrar la configuración antigua desde evolution/config.xmldb"
#. FIXME: domain/code
#: ../calendar/gui/migration.c:774
@@ -7826,76 +7875,76 @@ msgstr "Vista previa"
msgid "Print Item"
msgstr "Imprimir elemento"
-#: ../calendar/gui/tasks-component.c:328
+#: ../calendar/gui/tasks-component.c:428
msgid "New Task List"
msgstr "Lista de tareas nueva"
-#: ../calendar/gui/tasks-component.c:404
+#: ../calendar/gui/tasks-component.c:504
#, c-format
msgid "%d task"
msgid_plural "%d tasks"
msgstr[0] "%d tarea"
msgstr[1] "%d tareas"
-#: ../calendar/gui/tasks-component.c:406 ../mail/mail-component.c:523
+#: ../calendar/gui/tasks-component.c:506 ../mail/mail-component.c:544
#, c-format
msgid ", %d selected"
msgid_plural ", %d selected"
msgstr[0] ",%d seleccionado"
msgstr[1] ",%d seleccionados"
-#: ../calendar/gui/tasks-component.c:453
+#: ../calendar/gui/tasks-component.c:553
msgid "Failed upgrading tasks."
msgstr "Fallo al actualizar las tareas."
-#: ../calendar/gui/tasks-component.c:747
+#: ../calendar/gui/tasks-component.c:847
#, c-format
msgid "Unable to open the task list '%s' for creating events and meetings"
msgstr ""
"No es posible abrir la lista de tareas «%s» para crear acontecimientos y "
"reuniones"
-#: ../calendar/gui/tasks-component.c:762
+#: ../calendar/gui/tasks-component.c:862
msgid "There is no calendar available for creating tasks"
msgstr "No hay un calendario disponible para crear tareas"
-#: ../calendar/gui/tasks-component.c:856
+#: ../calendar/gui/tasks-component.c:956
msgid "Task Source Selector"
msgstr "Selector de origen de tareas"
-#: ../calendar/gui/tasks-component.c:1039
+#: ../calendar/gui/tasks-component.c:1139
msgid "New task"
msgstr "Tarea nueva"
-#: ../calendar/gui/tasks-component.c:1040
+#: ../calendar/gui/tasks-component.c:1140
msgid "_Task"
msgstr "_Tarea"
-#: ../calendar/gui/tasks-component.c:1041
+#: ../calendar/gui/tasks-component.c:1141
msgid "Create a new task"
msgstr "Crea una tarea nueva"
-#: ../calendar/gui/tasks-component.c:1047
+#: ../calendar/gui/tasks-component.c:1147
msgid "New assigned task"
msgstr "Nueva tarea asignada"
-#: ../calendar/gui/tasks-component.c:1048
+#: ../calendar/gui/tasks-component.c:1148
msgid "Assigne_d Task"
msgstr "Tarea _asignada"
-#: ../calendar/gui/tasks-component.c:1049
+#: ../calendar/gui/tasks-component.c:1149
msgid "Create a new assigned task"
msgstr "Crea una tarea nueva asignada"
-#: ../calendar/gui/tasks-component.c:1055
+#: ../calendar/gui/tasks-component.c:1155
msgid "New task list"
msgstr "Lista de tareas nueva"
-#: ../calendar/gui/tasks-component.c:1056
+#: ../calendar/gui/tasks-component.c:1156
msgid "Task l_ist"
msgstr "_Lista de tareas"
-#: ../calendar/gui/tasks-component.c:1057
+#: ../calendar/gui/tasks-component.c:1157
msgid "Create a new task list"
msgstr "Crea una lista de tareas nueva"
@@ -9575,7 +9624,8 @@ msgid "Post To:"
msgstr "Publicar en:"
#: ../composer/e-msg-composer.c:730
-msgid "Cannot sign outgoing message: No signing certificate set for this account"
+msgid ""
+"Cannot sign outgoing message: No signing certificate set for this account"
msgstr ""
"No se puede firmar el mensaje saliente: No hay establecido un certificado de "
"firma para esta cuenta"
@@ -9609,8 +9659,8 @@ msgstr "Mensaje sin título"
msgid "Open File"
msgstr "Abrir archivo"
-#: ../composer/e-msg-composer.c:2001 ../mail/em-account-editor.c:578
-#: ../mail/em-account-editor.c:623 ../mail/em-account-editor.c:690
+#: ../composer/e-msg-composer.c:2001 ../mail/em-account-editor.c:588
+#: ../mail/em-account-editor.c:633 ../mail/em-account-editor.c:700
msgid "Autogenerated"
msgstr "Auto-generado"
@@ -9627,7 +9677,8 @@ msgstr "Redactar un mensaje"
msgid ""
"<b>(The composer contains a non-text message body, which cannot be edited.)"
"<b>"
-msgstr "<b>(El editor contiene un mensaje sin texto, que no puede editarse)</b>"
+msgstr ""
+"<b>(El editor contiene un mensaje sin texto, que no puede editarse)</b>"
#. mail-composer:no-attach primary
#: ../composer/mail-composer-errors.xml.h:2
@@ -9637,7 +9688,8 @@ msgstr "No puede adjuntar el archivo «{0}» a este mensaje."
#. mail-composer:attach-notfile primary
#: ../composer/mail-composer-errors.xml.h:6
msgid "The file `{0}' is not a regular file and cannot be sent in a message."
-msgstr "El archivo «{0}» no es un archivo regular y no puede enviarse en un mensaje."
+msgstr ""
+"El archivo «{0}» no es un archivo regular y no puede enviarse en un mensaje."
#. mail-composer:attach-directory primary
#: ../composer/mail-composer-errors.xml.h:8
@@ -9718,7 +9770,8 @@ msgstr "Aviso: Mensaje modificado"
msgid ""
"Are you sure you want to discard the message, titled '{0}', you are "
"composing?"
-msgstr "¿Seguro que quiere descartar el mensaje titulado '{0}' que está redactando?"
+msgstr ""
+"¿Seguro que quiere descartar el mensaje titulado '{0}' que está redactando?"
#. mail-composer:exit-unsaved secondary
#: ../composer/mail-composer-errors.xml.h:32
@@ -9747,7 +9800,8 @@ msgstr "No se pudo crear un mensaje."
#. mail-composer:no-build-message secondary
#: ../composer/mail-composer-errors.xml.h:38
msgid "Because \"{0}\", you may need to select different mail options."
-msgstr "Debido a «{0}», quizá necesite seleccionar diferentes opciones de correo."
+msgstr ""
+"Debido a «{0}», quizá necesite seleccionar diferentes opciones de correo."
#. mail-composer:no-sig-file primary
#: ../composer/mail-composer-errors.xml.h:40
@@ -9788,7 +9842,7 @@ msgstr ""
"\n"
"Asegúrese de que tiene la versión correcta de gtkhtml y libgtkthml instalada."
-#: ../data/evolution.desktop.in.in.h:1 ../shell/main.c:520
+#: ../data/evolution.desktop.in.in.h:1 ../shell/main.c:521
msgid "Evolution"
msgstr "Evolution"
@@ -9922,14 +9976,6 @@ msgstr ""
msgid "Overwrite file?"
msgstr "¿Sobreescribir archivo?"
-#: ../e-util/e-passwords.c:472
-msgid "_Remember this password"
-msgstr "_Recuerda esta contraseña"
-
-#: ../e-util/e-passwords.c:473
-msgid "_Remember this password for the remainder of this session"
-msgstr "_Recordar esta clave durante el resto de esta sesión"
-
#. strptime format of a weekday, a date and a time,
#. in 12-hour format, without seconds.
#. strftime format of a weekday, a date and a
@@ -10160,20 +10206,20 @@ msgid "Choose a file"
msgstr "Elija un archivo"
#: ../filter/filter-label.c:121 ../mail/em-filter-i18n.h:26
-#: ../mail/em-migrate.c:1011 ../mail/mail-config.c:75
+#: ../mail/em-migrate.c:1041 ../mail/mail-config.c:76
#: ../mail/mail-config.glade.h:90
msgid "Important"
msgstr "Importante"
#. forest green
-#: ../filter/filter-label.c:124 ../mail/em-migrate.c:1014
-#: ../mail/mail-config.c:78 ../mail/mail-config.glade.h:140
+#: ../filter/filter-label.c:124 ../mail/em-migrate.c:1044
+#: ../mail/mail-config.c:79 ../mail/mail-config.glade.h:140
msgid "To Do"
msgstr "Tareas pendientes"
#. blue
-#: ../filter/filter-label.c:125 ../mail/em-migrate.c:1015
-#: ../mail/mail-config.c:79 ../mail/mail-config.glade.h:93
+#: ../filter/filter-label.c:125 ../mail/em-migrate.c:1045
+#: ../mail/mail-config.c:80 ../mail/mail-config.glade.h:93
msgid "Later"
msgstr "Más tarde"
@@ -10306,7 +10352,8 @@ msgid "Composer Preferences"
msgstr "Preferencias del editor"
#: ../mail/GNOME_Evolution_Mail.server.in.in.h:2
-msgid "Configure mail preferences, including security and message display, here"
+msgid ""
+"Configure mail preferences, including security and message display, here"
msgstr ""
"Configure las preferencias de correo incluyendo seguridad y visualización de "
"mensajes, aquí"
@@ -10343,11 +10390,11 @@ msgstr "Control de configuración del redactor de correo de Evolution"
msgid "Evolution Mail preferences control"
msgstr "Control de preferencias de Evolution"
-#: ../mail/GNOME_Evolution_Mail.server.in.in.h:11 ../mail/em-folder-view.c:472
+#: ../mail/GNOME_Evolution_Mail.server.in.in.h:11 ../mail/em-folder-view.c:469
#: ../mail/importers/elm-importer.c:418
#: ../mail/importers/netscape-importer.c:1902
-#: ../mail/importers/pine-importer.c:474 ../mail/mail-component.c:536
-#: ../mail/mail-component.c:587
+#: ../mail/importers/pine-importer.c:474 ../mail/mail-component.c:557
+#: ../mail/mail-component.c:608
msgid "Mail"
msgstr "Correo"
@@ -10364,12 +10411,12 @@ msgstr "Opciones de correo"
msgid "_Mail"
msgstr "Co_rreo"
-#: ../mail/em-account-editor.c:377
+#: ../mail/em-account-editor.c:387
#, c-format
msgid "%s License Agreement"
msgstr "Acuerdo de licencia %s"
-#: ../mail/em-account-editor.c:384
+#: ../mail/em-account-editor.c:394
#, c-format
msgid ""
"\n"
@@ -10382,47 +10429,67 @@ msgstr ""
"para %s mostrado abajo\n"
"y marque la casilla para aceptarlo.\n"
-#: ../mail/em-account-editor.c:454 ../mail/em-filter-folder-element.c:237
+#: ../mail/em-account-editor.c:464 ../mail/em-filter-folder-element.c:237
#: ../mail/em-vfolder-rule.c:494
msgid "Select Folder"
msgstr "Seleccionar carpeta"
-#: ../mail/em-account-editor.c:1817
+#: ../mail/em-account-editor.c:1664 ../mail/mail-config.glade.h:89
+msgid "Identity"
+msgstr "Identidad"
+
+#: ../mail/em-account-editor.c:1700 ../mail/mail-config.glade.h:114
+msgid "Receiving Email"
+msgstr "Recibiendo mensajes"
+
+#: ../mail/em-account-editor.c:1877
msgid "Automatically check for _new mail every"
msgstr "_Comprobar si hay correo nuevo automáticamente cada"
+#: ../mail/em-account-editor.c:2045 ../mail/mail-config.glade.h:124
+msgid "Sending Email"
+msgstr "Enviando correo"
+
+#: ../mail/em-account-editor.c:2089 ../mail/mail-config.glade.h:67
+msgid "Defaults"
+msgstr "Predeterminados"
+
+#: ../mail/em-account-editor.c:2148 ../mail/mail-config.glade.h:119
+msgid "Security"
+msgstr "Seguridad"
+
#. Most sections for this is auto-generated fromt the camel config
-#: ../mail/em-account-editor.c:2086 ../mail/em-account-editor.c:2164
+#: ../mail/em-account-editor.c:2185 ../mail/em-account-editor.c:2260
msgid "Receiving Options"
msgstr "Opciones de recepción"
-#: ../mail/em-account-editor.c:2087 ../mail/em-account-editor.c:2165
+#: ../mail/em-account-editor.c:2186 ../mail/em-account-editor.c:2261
msgid "Checking for New Mail"
msgstr "Comprobación de correo nuevo"
-#: ../mail/em-account-editor.c:2509 ../mail/mail-config.glade.h:33
+#: ../mail/em-account-editor.c:2585 ../mail/mail-config.glade.h:33
msgid "Account Editor"
msgstr "Editor de cuentas"
-#: ../mail/em-account-editor.c:2509 ../mail/mail-config.glade.h:79
+#: ../mail/em-account-editor.c:2585 ../mail/mail-config.glade.h:79
msgid "Evolution Account Assistant"
msgstr "Asistente de cuentas de Evolution"
#. translators: default account indicator
-#: ../mail/em-account-prefs.c:412
+#: ../mail/em-account-prefs.c:428
msgid "[Default]"
msgstr "[Predeterminada]"
-#: ../mail/em-account-prefs.c:466
+#: ../mail/em-account-prefs.c:482
msgid "Account name"
msgstr "Nombre de la cuenta"
-#: ../mail/em-account-prefs.c:468
+#: ../mail/em-account-prefs.c:484
msgid "Protocol"
msgstr "Protocolo"
#: ../mail/em-composer-prefs.c:306 ../mail/em-composer-prefs.c:429
-#: ../mail/mail-config.c:934
+#: ../mail/mail-config.c:935
msgid "Unnamed"
msgstr "Sin nombre"
@@ -10438,18 +10505,18 @@ msgstr "Añadir firma"
msgid "Signature(s)"
msgstr "Firma(s)"
-#: ../mail/em-composer-utils.c:910
+#: ../mail/em-composer-utils.c:911
msgid "-------- Forwarded Message --------"
msgstr "--------- Mensaje reenviado --------"
-#: ../mail/em-composer-utils.c:1526
+#: ../mail/em-composer-utils.c:1521
msgid "an unknown sender"
msgstr "un remitente desconocido"
#. Note to translators: this is the attribution string used when quoting messages.
#. * each ${Variable} gets replaced with a value. To see a full list of available
#. * variables, see em-composer-utils.c:1514
-#: ../mail/em-composer-utils.c:1573
+#: ../mail/em-composer-utils.c:1568
msgid ""
"On ${AbbrevWeekdayName}, ${Year}-${Month}-${Day} at ${24Hour}:${Minute} "
"${TimeZone}, ${Sender} wrote:"
@@ -10595,7 +10662,7 @@ msgstr "Spam"
msgid "Junk Test"
msgstr "Test de spam"
-#: ../mail/em-filter-i18n.h:37 ../mail/em-folder-view.c:998
+#: ../mail/em-filter-i18n.h:37 ../mail/em-folder-view.c:992
#: ../widgets/misc/e-expander.c:189
msgid "Label"
msgstr "Etiquetar"
@@ -10752,7 +10819,7 @@ msgid "Create New Folder"
msgstr "Crear carpeta nueva"
#: ../mail/em-folder-selector.c:166 ../mail/em-folder-tree.c:2527
-#: ../mail/mail-component.c:739 ../plugins/shared-folder/install-shared.c:144
+#: ../mail/mail-component.c:770 ../plugins/shared-folder/install-shared.c:144
#: ../plugins/shared-folder/share-folder-common.c:345
msgid "Specify where to create the folder:"
msgstr "Especifique donde crear la carpeta:"
@@ -10775,20 +10842,20 @@ msgstr "Carpetas virtuales"
msgid "UNMATCHED"
msgstr "NO COINCIDENTE"
-#: ../mail/em-folder-tree-model.c:468 ../mail/mail-component.c:139
+#: ../mail/em-folder-tree-model.c:468 ../mail/mail-component.c:142
msgid "Drafts"
msgstr "Borradores"
#. translators: standard local mailbox names
-#: ../mail/em-folder-tree-model.c:471 ../mail/mail-component.c:138
+#: ../mail/em-folder-tree-model.c:471 ../mail/mail-component.c:141
msgid "Inbox"
msgstr "Bandeja de entrada"
-#: ../mail/em-folder-tree-model.c:474 ../mail/mail-component.c:140
+#: ../mail/em-folder-tree-model.c:474 ../mail/mail-component.c:143
msgid "Outbox"
msgstr "Bandeja de salida"
-#: ../mail/em-folder-tree-model.c:476 ../mail/mail-component.c:141
+#: ../mail/em-folder-tree-model.c:476 ../mail/mail-component.c:144
msgid "Sent"
msgstr "Correo enviado"
@@ -10810,12 +10877,12 @@ msgstr "Moviendo la carpeta %s"
msgid "Copying folder %s"
msgstr "Copiando la carpeta %s"
-#: ../mail/em-folder-tree.c:930 ../mail/message-list.c:1617
+#: ../mail/em-folder-tree.c:930 ../mail/message-list.c:1612
#, c-format
msgid "Moving messages into folder %s"
msgstr "Moviendo los mensajes a la carpeta %s"
-#: ../mail/em-folder-tree.c:932 ../mail/message-list.c:1619
+#: ../mail/em-folder-tree.c:932 ../mail/message-list.c:1614
#, c-format
msgid "Copying messages into folder %s"
msgstr "Copiando los mensajes a la carpeta %s"
@@ -10843,13 +10910,13 @@ msgid "Copying `%s' to `%s'"
msgstr "Copiando «%s» a «%s»"
#: ../mail/em-folder-tree.c:2297 ../mail/em-folder-tree.c:2311
-#: ../mail/em-folder-view.c:868 ../mail/em-folder-view.c:883
+#: ../mail/em-folder-view.c:862 ../mail/em-folder-view.c:877
#: ../mail/importers/evolution-mbox-importer.c:120
#: ../mail/importers/evolution-outlook-importer.c:134
msgid "Select folder"
msgstr "Seleccionar carpeta"
-#: ../mail/em-folder-tree.c:2297 ../mail/em-folder-view.c:883
+#: ../mail/em-folder-tree.c:2297 ../mail/em-folder-view.c:877
msgid "C_opy"
msgstr "C_opiar"
@@ -10859,7 +10926,7 @@ msgstr "C_opiar"
msgid "Creating folder `%s'"
msgstr "Creando carpeta «%s»"
-#: ../mail/em-folder-tree.c:2527 ../mail/mail-component.c:739
+#: ../mail/em-folder-tree.c:2527 ../mail/mail-component.c:770
#: ../plugins/shared-folder/install-shared.c:144
#: ../plugins/shared-folder/share-folder-common.c:345
msgid "Create folder"
@@ -10906,130 +10973,130 @@ msgstr "Carpeta _nueva..."
msgid "_Rename..."
msgstr "_Renombrar..."
-#: ../mail/em-folder-view.c:976 ../mail/em-popup.c:498
+#: ../mail/em-folder-view.c:970 ../mail/em-popup.c:499
#: ../ui/evolution-mail-message.xml.h:87
msgid "Reply to _All"
msgstr "Responder a _todos"
-#: ../mail/em-folder-view.c:977 ../ui/evolution-mail-message.xml.h:123
+#: ../mail/em-folder-view.c:971 ../ui/evolution-mail-message.xml.h:123
msgid "_Reply to Sender"
msgstr "Responder al _remitente"
-#: ../mail/em-folder-view.c:978 ../mail/em-popup.c:500
+#: ../mail/em-folder-view.c:972 ../mail/em-popup.c:501
#: ../ui/evolution-mail-message.xml.h:110
msgid "_Forward"
msgstr "Reen_viar"
-#: ../mail/em-folder-view.c:981 ../ui/evolution-mail-message.xml.h:109
+#: ../mail/em-folder-view.c:975 ../ui/evolution-mail-message.xml.h:109
msgid "_Edit as New Message..."
msgstr "_Editar como un mensaje nuevo..."
-#: ../mail/em-folder-view.c:983
+#: ../mail/em-folder-view.c:977
msgid "_Print"
msgstr "Im_primir"
-#: ../mail/em-folder-view.c:987
+#: ../mail/em-folder-view.c:981
msgid "U_ndelete"
msgstr "_Recuperar"
-#: ../mail/em-folder-view.c:988
+#: ../mail/em-folder-view.c:982
msgid "Mo_ve to Folder..."
msgstr "Mo_ver a la carpeta..."
-#: ../mail/em-folder-view.c:989 ../ui/evolution-addressbook.xml.h:32
+#: ../mail/em-folder-view.c:983 ../ui/evolution-addressbook.xml.h:32
msgid "_Copy to Folder..."
msgstr "_Copiar a la carpeta..."
-#: ../mail/em-folder-view.c:992
+#: ../mail/em-folder-view.c:986
msgid "Mark as _Important"
msgstr "Marcar como _importante"
-#: ../mail/em-folder-view.c:993
+#: ../mail/em-folder-view.c:987
msgid "_Mark as Unimportant"
msgstr "Marcar como no im_portante"
-#: ../mail/em-folder-view.c:994 ../ui/evolution-mail-message.xml.h:54
+#: ../mail/em-folder-view.c:988 ../ui/evolution-mail-message.xml.h:54
msgid "Mark as _Junk"
msgstr "Marcar como _spam"
-#: ../mail/em-folder-view.c:995 ../ui/evolution-mail-message.xml.h:55
+#: ../mail/em-folder-view.c:989 ../ui/evolution-mail-message.xml.h:55
msgid "Mark as _Not Junk"
msgstr "Marcar como _no spam"
-#: ../mail/em-folder-view.c:996
+#: ../mail/em-folder-view.c:990
msgid "Mark for Follo_w Up..."
msgstr "Marcar para se_guimiento..."
-#: ../mail/em-folder-view.c:1004
+#: ../mail/em-folder-view.c:998
msgid "Fla_g Completed"
msgstr "Ma_rcar como terminado"
-#: ../mail/em-folder-view.c:1005
+#: ../mail/em-folder-view.c:999
msgid "Cl_ear Flag"
msgstr "_Quitar marca"
-#: ../mail/em-folder-view.c:1008
+#: ../mail/em-folder-view.c:1002
msgid "Crea_te Rule From Message"
msgstr "Crear re_gla desde el mensaje"
-#: ../mail/em-folder-view.c:1009
+#: ../mail/em-folder-view.c:1003
msgid "vFolder on _Subject"
msgstr "Carpeta virtual según el a_sunto"
-#: ../mail/em-folder-view.c:1010
+#: ../mail/em-folder-view.c:1004
msgid "vFolder on Se_nder"
msgstr "Carpeta virtual según el re_mitente"
-#: ../mail/em-folder-view.c:1011
+#: ../mail/em-folder-view.c:1005
msgid "vFolder on _Recipients"
msgstr "Carpeta virtual según los des_tinatarios"
-#: ../mail/em-folder-view.c:1012
+#: ../mail/em-folder-view.c:1006
msgid "vFolder on Mailing _List"
msgstr "Carpeta virtual según la _lista de correo"
-#: ../mail/em-folder-view.c:1016
+#: ../mail/em-folder-view.c:1010
msgid "Filter on Sub_ject"
msgstr "Filtro según el _asunto"
-#: ../mail/em-folder-view.c:1017
+#: ../mail/em-folder-view.c:1011
msgid "Filter on Sen_der"
msgstr "Filtro según el _remitente"
-#: ../mail/em-folder-view.c:1018
+#: ../mail/em-folder-view.c:1012
msgid "Filter on Re_cipients"
msgstr "Filtro según los _destinatarios"
-#: ../mail/em-folder-view.c:1019
+#: ../mail/em-folder-view.c:1013
msgid "Filter on _Mailing List"
msgstr "Filtro según la lista de _correo"
#. default charset used in mail view
-#: ../mail/em-folder-view.c:1850 ../mail/em-folder-view.c:1894
+#: ../mail/em-folder-view.c:1844 ../mail/em-folder-view.c:1888
msgid "Default"
msgstr "Predeterminado"
-#: ../mail/em-folder-view.c:1993
+#: ../mail/em-folder-view.c:1987
msgid "Print Message"
msgstr "Imprimir mensaje"
-#: ../mail/em-folder-view.c:2292
+#: ../mail/em-folder-view.c:2295
msgid "_Copy Link Location"
msgstr "_Copiar dirección del enlace"
-#: ../mail/em-folder-view.c:2294
+#: ../mail/em-folder-view.c:2297
msgid "Create _vFolder"
msgstr "Crear carpeta _virtual"
-#: ../mail/em-folder-view.c:2295
+#: ../mail/em-folder-view.c:2298
msgid "_From this Address"
msgstr "_Desde esta dirección"
-#: ../mail/em-folder-view.c:2296
+#: ../mail/em-folder-view.c:2299
msgid "_To this Address"
msgstr "_A esta dirección"
-#: ../mail/em-folder-view.c:2582
+#: ../mail/em-folder-view.c:2568
#, c-format
msgid "Click to mail %s"
msgstr "Pulse para enviar correo a %s"
@@ -11322,7 +11389,7 @@ msgstr "Una vez por semana"
msgid "Once per month"
msgstr "Una vez por mes"
-#: ../mail/em-migrate.c:1168
+#: ../mail/em-migrate.c:1198
msgid ""
"The location and hierarchy of the Evolution mailbox folders has changed "
"since Evolution 1.x.\n"
@@ -11334,47 +11401,47 @@ msgstr ""
"\n"
"Tenga paciencia mientras Evolution migra sus carpetas..."
-#: ../mail/em-migrate.c:1602
+#: ../mail/em-migrate.c:1632
#, c-format
msgid "Unable to create new folder `%s': %s"
msgstr "No se pudo crear la carpeta nueva: «%s»: %s"
-#: ../mail/em-migrate.c:1628
+#: ../mail/em-migrate.c:1658
#, c-format
msgid "Unable to copy folder `%s' to `%s': %s"
msgstr "No se pudo copiar el la carpeta «%s» a «%s»: %s"
-#: ../mail/em-migrate.c:1813
+#: ../mail/em-migrate.c:1843
#, c-format
msgid "Unable to scan for existing mailboxes at `%s': %s"
msgstr "No se pudo buscar buzones existentes en «%s»: %s"
-#: ../mail/em-migrate.c:2017
+#: ../mail/em-migrate.c:2047
#, c-format
msgid "Unable to open old POP keep-on-server data `%s': %s"
msgstr "No se pudo abrir los datos antiguos POP keep-on-server «%s»: %s"
-#: ../mail/em-migrate.c:2031
+#: ../mail/em-migrate.c:2061
#, c-format
msgid "Unable to create POP3 keep-on-server data directory `%s': %s"
msgstr "Fallo al crear directorio de datos POP3 keep-on-server «%s»: %s"
-#: ../mail/em-migrate.c:2060
+#: ../mail/em-migrate.c:2090
#, c-format
msgid "Unable to copy POP3 keep-on-server data `%s': %s"
msgstr "No se pudo copiar los datos POP3 keep-on-server «%s»: %s"
-#: ../mail/em-migrate.c:2494 ../mail/em-migrate.c:2506
+#: ../mail/em-migrate.c:2561 ../mail/em-migrate.c:2573
#, c-format
msgid "Failed to create local mail storage `%s': %s"
msgstr "Fallo al crear almacén de correo local «%s»: %s"
-#: ../mail/em-migrate.c:2657
+#: ../mail/em-migrate.c:2693
#, c-format
msgid "Unable to create local mail folders at `%s': %s"
msgstr "No se pudo crear las carpetas de correo local en: «%s»: %s"
-#: ../mail/em-migrate.c:2675
+#: ../mail/em-migrate.c:2711
msgid ""
"Unable to read settings from previous Evolution install, `evolution/config."
"xmldb' does not exist or is corrupt."
@@ -11382,40 +11449,40 @@ msgstr ""
"No se pudo leer la configuración de la instalación anterior de Evolution, "
"«evolution/config.xmldb» no existe o está corrompido."
-#: ../mail/em-popup.c:381
+#: ../mail/em-popup.c:382
msgid "Save As..."
msgstr "Guardar como..."
-#: ../mail/em-popup.c:400
+#: ../mail/em-popup.c:401
#, c-format
msgid "untitled_image.%s"
msgstr "imagen_sin_título.%s"
-#: ../mail/em-popup.c:494
+#: ../mail/em-popup.c:495
msgid "Set as _Background"
msgstr "Establecer como _fondo"
-#: ../mail/em-popup.c:496
+#: ../mail/em-popup.c:497
msgid "_Reply to sender"
msgstr "_Responder al remitente"
-#: ../mail/em-popup.c:497 ../ui/evolution-mail-message.xml.h:88
+#: ../mail/em-popup.c:498 ../ui/evolution-mail-message.xml.h:88
msgid "Reply to _List"
msgstr "Responder a la _lista"
-#: ../mail/em-popup.c:548
+#: ../mail/em-popup.c:549
msgid "_Open Link in Browser"
msgstr "_Abrir enlace en el navegador"
-#: ../mail/em-popup.c:549
+#: ../mail/em-popup.c:550
msgid "_Send New Message To..."
msgstr "_Enviar un mensaje nuevo a..."
-#: ../mail/em-popup.c:550
+#: ../mail/em-popup.c:551
msgid "_Add to Addressbook"
msgstr "_Añadir a la libreta de direcciones"
-#: ../mail/em-popup.c:681
+#: ../mail/em-popup.c:666
#, c-format
msgid "Open in %s..."
msgstr "Abrir en %s..."
@@ -11462,7 +11529,7 @@ msgid "Add address"
msgstr "Añadir dirección"
#. Drop filename for messages from a mailbox
-#: ../mail/em-utils.c:1055
+#: ../mail/em-utils.c:1071
#, c-format
msgid "Messages from %s"
msgstr "Correos de %s"
@@ -11729,7 +11796,8 @@ msgid "Prompt the user when he or she tries to expunge a folder."
msgstr "Preguntar al usuario cuando intenta compactar una carpeta."
#: ../mail/evolution-mail.schemas.in.in.h:57
-msgid "Prompt the user when he or she tries to send a message without a Subject."
+msgid ""
+"Prompt the user when he or she tries to send a message without a Subject."
msgstr "Preguntar al usuario cuando intenta enviar un mensaje sin un asunto."
#: ../mail/evolution-mail.schemas.in.in.h:58
@@ -11810,7 +11878,8 @@ msgstr "Reproducir un archivo de sonido cuando llegue correo nuevo."
#: ../mail/evolution-mail.schemas.in.in.h:76
msgid "Specifies the type of New Mail Notification the user wishes to use."
-msgstr "Especifica el tipo de notificación de correo nuevo que el usuario desea usar."
+msgstr ""
+"Especifica el tipo de notificación de correo nuevo que el usuario desea usar."
#: ../mail/evolution-mail.schemas.in.in.h:77
msgid "Spell check inline"
@@ -12176,80 +12245,80 @@ msgstr "lista de correo %s"
msgid "Add Filter Rule"
msgstr "Añadir regla de filtrado"
-#: ../mail/mail-component.c:484
+#: ../mail/mail-component.c:505
#, c-format
msgid "%d deleted"
msgid_plural "%d deleted"
msgstr[0] "%d borrado"
msgstr[1] "%d borrados"
-#: ../mail/mail-component.c:486
+#: ../mail/mail-component.c:507
#, c-format
msgid "%d junk"
msgid_plural "%d junk"
msgstr[0] "%d spam"
msgstr[1] "%d spams"
-#: ../mail/mail-component.c:509
+#: ../mail/mail-component.c:530
#, c-format
msgid "%d draft"
msgid_plural "%d drafts"
msgstr[0] "%d borrador"
msgstr[1] "%d borradores"
-#: ../mail/mail-component.c:511
+#: ../mail/mail-component.c:532
#, c-format
msgid "%d sent"
msgid_plural "%d sent"
msgstr[0] "%d enviado"
msgstr[1] "%d enviados"
-#: ../mail/mail-component.c:513
+#: ../mail/mail-component.c:534
#, c-format
msgid "%d unsent"
msgid_plural "%d unsent"
msgstr[0] "%d sin enviar"
msgstr[1] "%d sin enviar"
-#: ../mail/mail-component.c:517
+#: ../mail/mail-component.c:538
#, c-format
msgid "%d total"
msgid_plural "%d total"
msgstr[0] "%d en total"
msgstr[1] "%d en total"
-#: ../mail/mail-component.c:519
+#: ../mail/mail-component.c:540
#, c-format
msgid ", %d unread"
msgid_plural ", %d unread"
msgstr[0] ", %d no leído"
msgstr[1] ", %d no leídos"
-#: ../mail/mail-component.c:691
+#: ../mail/mail-component.c:722
msgid "New Mail Message"
msgstr "Mensaje de correo nuevo"
-#: ../mail/mail-component.c:692
+#: ../mail/mail-component.c:723
msgid "_Mail Message"
msgstr "_Mensaje de correo"
-#: ../mail/mail-component.c:693
+#: ../mail/mail-component.c:724
msgid "Compose a new mail message"
msgstr "Redacta un mensaje de correo nuevo"
-#: ../mail/mail-component.c:699
+#: ../mail/mail-component.c:730
msgid "New Mail Folder"
msgstr "Nueva carpeta de correo"
-#: ../mail/mail-component.c:700
+#: ../mail/mail-component.c:731
msgid "Mail _Folder"
msgstr "_Carpeta de correo"
-#: ../mail/mail-component.c:701
+#: ../mail/mail-component.c:732
msgid "Create a new mail folder"
msgstr "Crea una carpeta de correo nueva"
-#: ../mail/mail-component.c:848
+#: ../mail/mail-component.c:879
msgid "Failed upgrading Mail settings or folders."
msgstr "Fallo al actualizar la configuración de correo o carpetas."
@@ -12275,7 +12344,8 @@ msgstr "<b>_Idiomas</b>"
#: ../mail/mail-config.glade.h:7
msgid "<small>This will make the the filter more reliable, but slower</small>"
-msgstr "<small>Esto hará que el filtrado sea más exacto, pero más lento</small>"
+msgstr ""
+"<small>Esto hará que el filtrado sea más exacto, pero más lento</small>"
#: ../mail/mail-config.glade.h:8
msgid "<span weight=\"bold\">Account Information</span>"
@@ -12502,10 +12572,6 @@ msgstr "_Predeterminada"
msgid "Default character e_ncoding:"
msgstr "_Codificación de caracteres predeterminada:"
-#: ../mail/mail-config.glade.h:67
-msgid "Defaults"
-msgstr "Predeterminados"
-
#: ../mail/mail-config.glade.h:69
msgid "Digitally _sign outgoing messages (by default)"
msgstr "Firmar _digitalmente los mensajes salientes (por omisión)"
@@ -12575,10 +12641,6 @@ msgstr "_Resaltar texto citado con este color:"
msgid "I_nclude remote tests"
msgstr "I_ncluir tests remotos"
-#: ../mail/mail-config.glade.h:89
-msgid "Identity"
-msgstr "Identidad"
-
#: ../mail/mail-config.glade.h:91
msgid "Inline"
msgstr "Incluido en línea"
@@ -12664,10 +12726,6 @@ msgstr "_Recordar contraseña"
msgid "Re_ply-To:"
msgstr "Res_ponder a:"
-#: ../mail/mail-config.glade.h:114
-msgid "Receiving Email"
-msgstr "Recibiendo mensajes"
-
#: ../mail/mail-config.glade.h:115
msgid "Remember _password"
msgstr "Recordar _contraseña"
@@ -12684,10 +12742,6 @@ msgstr "Tipografía _estándar:"
msgid "Se_lect..."
msgstr "_Seleccione..."
-#: ../mail/mail-config.glade.h:119
-msgid "Security"
-msgstr "Seguridad"
-
#: ../mail/mail-config.glade.h:120
msgid "Select HTML fixed width font"
msgstr "Selecciona letra de anchura fija para HTML"
@@ -12704,10 +12758,6 @@ msgstr "Selecciona letra de anchura variable en HTML"
msgid "Select HTML variable width font for printing"
msgstr "Selecciona letra de anchura variable en HTML para imprimir"
-#: ../mail/mail-config.glade.h:124
-msgid "Sending Email"
-msgstr "Enviando correo"
-
#: ../mail/mail-config.glade.h:125
msgid "Sending Mail"
msgstr "Envío de correo"
@@ -12810,7 +12860,8 @@ msgstr "_No notificarme cuando llegue correo nuevo"
#: ../mail/mail-config.glade.h:152
msgid "_Don't sign meeting requests (for Outlook compatibility)"
-msgstr "No _firmar las solicitudes de reunión (para compatibilidad con Outlook)"
+msgstr ""
+"No _firmar las solicitudes de reunión (para compatibilidad con Outlook)"
#: ../mail/mail-config.glade.h:154
msgid "_Forward style:"
@@ -13091,8 +13142,10 @@ msgstr ""
#. mail:send-no-recipients primary
#: ../mail/mail-errors.xml.h:34
-msgid "This message cannot be sent because you have not specified any Recipients"
-msgstr "El mensaje no puede ser enviado porque no ha especificado ningún destinatario"
+msgid ""
+"This message cannot be sent because you have not specified any Recipients"
+msgstr ""
+"El mensaje no puede ser enviado porque no ha especificado ningún destinatario"
#. mail:send-no-recipients secondary
#: ../mail/mail-errors.xml.h:36
@@ -13317,7 +13370,8 @@ msgstr "No se puede renombrar «{0}» a «{1}»."
#. mail:vfolder-notunique secondary
#: ../mail/mail-errors.xml.h:135 ../mail/mail-errors.xml.h:197
msgid "A folder named \"{1}\" already exists. Please use a different name."
-msgstr "Ya existe una carpeta llamada «{1}». Por favor, use un nombre diferente."
+msgstr ""
+"Ya existe una carpeta llamada «{1}». Por favor, use un nombre diferente."
#. mail:no-rename-folder secondary
#: ../mail/mail-errors.xml.h:139
@@ -13898,73 +13952,73 @@ msgstr "Editar carpeta virtual"
msgid "New vFolder"
msgstr "Carpeta virtual nueva"
-#: ../mail/message-list.c:999
+#: ../mail/message-list.c:994
msgid "Unseen"
msgstr "Sin leer"
-#: ../mail/message-list.c:1000
+#: ../mail/message-list.c:995
msgid "Seen"
msgstr "Visto"
-#: ../mail/message-list.c:1001
+#: ../mail/message-list.c:996
msgid "Answered"
msgstr "Contestado"
-#: ../mail/message-list.c:1002
+#: ../mail/message-list.c:997
msgid "Multiple Unseen Messages"
msgstr "Múltiples mensajes sin leer"
-#: ../mail/message-list.c:1003
+#: ../mail/message-list.c:998
msgid "Multiple Messages"
msgstr "Múltiples mensajes"
-#: ../mail/message-list.c:1007
+#: ../mail/message-list.c:1002
msgid "Lowest"
msgstr "La más baja"
-#: ../mail/message-list.c:1008
+#: ../mail/message-list.c:1003
msgid "Lower"
msgstr "Más baja"
-#: ../mail/message-list.c:1012
+#: ../mail/message-list.c:1007
msgid "Higher"
msgstr "Más alta"
-#: ../mail/message-list.c:1013
+#: ../mail/message-list.c:1008
msgid "Highest"
msgstr "La más alta"
-#: ../mail/message-list.c:1341
+#: ../mail/message-list.c:1336
msgid "?"
msgstr "?"
#. strftime format of a time,
#. in 12-hour format, without seconds.
-#: ../mail/message-list.c:1348 ../plugins/itip-formatter/itip-view.c:189
+#: ../mail/message-list.c:1343 ../plugins/itip-formatter/itip-view.c:189
msgid "Today %l:%M %p"
msgstr "Hoy %l:%M %p"
-#: ../mail/message-list.c:1357
+#: ../mail/message-list.c:1352
msgid "Yesterday %l:%M %p"
msgstr "Ayer %l:%M %p"
-#: ../mail/message-list.c:1369
+#: ../mail/message-list.c:1364
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
-#: ../mail/message-list.c:1377
+#: ../mail/message-list.c:1372
msgid "%b %d %l:%M %p"
msgstr "%b %d %l:%M %p"
-#: ../mail/message-list.c:1379
+#: ../mail/message-list.c:1374
msgid "%b %d %Y"
msgstr "%d %b %Y"
-#: ../mail/message-list.c:2046
+#: ../mail/message-list.c:2041
msgid "Message List"
msgstr "Lista de mensajes"
-#: ../mail/message-list.c:3386
+#: ../mail/message-list.c:3384
msgid "Generating message list"
msgstr "Generando la lista de mensajes"
@@ -14110,7 +14164,8 @@ msgstr "<span weight=\"bold\">Contactos automáticos</span>"
#. Enable BBDB checkbox
#: ../plugins/bbdb/bbdb.c:410
-msgid "_Automatically create entries in the addressbook when responding to mail"
+msgid ""
+"_Automatically create entries in the addressbook when responding to mail"
msgstr ""
"Crear entradas _automáticamente en la libreta de direcciones cuando se "
"responda al correo"
@@ -14162,10 +14217,6 @@ msgstr "Meteorología: Soleado"
msgid "Weather: Thunderstorms"
msgstr "Meteorología: Tormenta"
-#: ../plugins/calendar-weather/calendar-weather.c:100
-msgid "Weather"
-msgstr "Meteorología"
-
#: ../plugins/calendar-weather/calendar-weather.c:268
msgid "Select a location"
msgstr "Seleccione un lugar"
@@ -14191,12 +14242,12 @@ msgid "Mark as default folder"
msgstr "Marcar como carpeta predeterminada"
#. i18n: "Secure Password Authentication" is an Outlookism
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:53
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:59
msgid "Secure Password"
msgstr "Contraseña segura"
#. i18n: "NTLM" probably doesn't translate
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:56
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:62
msgid ""
"This option will connect to the Exchange server using secure password (NTLM) "
"authentication."
@@ -14204,11 +14255,11 @@ msgstr ""
"Esta opción conectará con el servidor Exchange usando autenticación con "
"contraseña segura (NTLM)."
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:64
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:70
msgid "Plaintext Password"
msgstr "Contraseña en texto simple"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:66
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:72
msgid ""
"This option will connect to the Exchange server using standard plaintext "
"password authentication."
@@ -14217,7 +14268,7 @@ msgstr ""
"contraseña estándar de texto simple."
#. Description section
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:113
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:193
msgid ""
"The message specified below will be automatically sent to \n"
"each person who sends mail to you while you are out of the office."
@@ -14225,37 +14276,39 @@ msgstr ""
"El mensaje especificado abajo se enviará automáticamente a cada\n"
" persona que le envíe correo mientras está fuera de la oficina."
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:140
-msgid "I am in the office"
-msgstr "Ahora estoy en la oficina"
-
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:154
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:221
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:231
msgid "I am out of the office"
msgstr "Ahora estoy fuera de la oficina"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:168
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:224
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:228
+msgid "I am in the office"
+msgstr "Ahora estoy en la oficina"
+
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:257
msgid "Out of office Message:"
msgstr "Mensaje de ausencia de la oficina:"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:194
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:302
msgid "Exchange Settings"
msgstr "Configuración de Exchange"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:332
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:448
#: ../plugins/exchange-account-setup/exchange-ask-password.c:200
msgid "_OWA Url:"
msgstr "Url _OWA:"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:340
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:456
#: ../plugins/exchange-account-setup/exchange-ask-password.c:193
msgid "A_uthenticate"
msgstr "A_utenticación"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:457
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:664
msgid "Authentication Type"
msgstr "Tipo de autenticación"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:471
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:678
msgid "Ch_eck for Supported Types"
msgstr "_Comprobar tipos soportados "
@@ -14308,7 +14361,8 @@ msgstr "Enviado al calendario «%s» como cancelado"
#: ../plugins/itip-formatter/itip-formatter.c:833
msgid "Attendee status could not be updated because the status is invalid"
-msgstr "El estado de asistencia no pudo ser actualizado a causa de un estado inválido"
+msgstr ""
+"El estado de asistencia no pudo ser actualizado a causa de un estado inválido"
#: ../plugins/itip-formatter/itip-formatter.c:844
#, c-format
@@ -14537,7 +14591,8 @@ msgstr "<b>%s</b> solicita la presencia de %s en la reunión siguiente:"
#: ../plugins/itip-formatter/itip-view.c:345
#, c-format
msgid "<b>%s</b> through %s requests your presence at the following meeting:"
-msgstr "<b>%s</b> solicita su presencia en la siguiente reunión a través de %s:"
+msgstr ""
+"<b>%s</b> solicita su presencia en la siguiente reunión a través de %s:"
#: ../plugins/itip-formatter/itip-view.c:347
#, c-format
@@ -14556,7 +14611,8 @@ msgstr "<b>%s</b> desea apuntarse a una reunión existente:"
#: ../plugins/itip-formatter/itip-view.c:358
#, c-format
-msgid "<b>%s</b> wishes to receive the latest information for the following meeting:"
+msgid ""
+"<b>%s</b> wishes to receive the latest information for the following meeting:"
msgstr "<b>%s</b> desea recibir la última información de la reunión siguiente:"
#: ../plugins/itip-formatter/itip-view.c:361
@@ -14582,7 +14638,8 @@ msgstr "<b>%s</b> ha propuesto los cambios siguientes para la reunión."
#: ../plugins/itip-formatter/itip-view.c:374
#, c-format
msgid "<b>%s</b> through %s has declined the following meeting changes:"
-msgstr "<b>%s</b> ha declinado los siguientes cambios para la reunión a través de %s:"
+msgstr ""
+"<b>%s</b> ha declinado los siguientes cambios para la reunión a través de %s:"
#: ../plugins/itip-formatter/itip-view.c:376
#, c-format
@@ -14641,7 +14698,8 @@ msgstr "<b>%s</b> ha devuelto la siguiente respuesta a la tarea:"
#: ../plugins/itip-formatter/itip-view.c:433
#, c-format
msgid "<b>%s</b> through %s has cancelled the following assigned task:"
-msgstr "<b>%s</b> ha cancelado la siguiente asignación de tarea a través de %s:"
+msgstr ""
+"<b>%s</b> ha cancelado la siguiente asignación de tarea a través de %s:"
#: ../plugins/itip-formatter/itip-view.c:435
#, c-format
@@ -14651,7 +14709,8 @@ msgstr "<b>%s</b> ha cancelado la siguiente tarea asignada:"
#: ../plugins/itip-formatter/itip-view.c:438
#, c-format
msgid "<b>%s</b> has proposed the following task assignment changes:"
-msgstr "<b>%s</b> ha propuesto los siguientes cambios en la asignación de tareas:"
+msgstr ""
+"<b>%s</b> ha propuesto los siguientes cambios en la asignación de tareas:"
#: ../plugins/itip-formatter/itip-view.c:442
#, c-format
@@ -14881,7 +14940,7 @@ msgstr "Encapsular valores con:"
msgid "Comma separated value format (.csv)"
msgstr "Formato de valores separados por comas (.csv)"
-#: ../plugins/save-calendar/ical-format.c:120
+#: ../plugins/save-calendar/ical-format.c:136
msgid "iCalendar format (.ics)"
msgstr "Formato iCalendar (.ics)"
@@ -14889,12 +14948,12 @@ msgstr "Formato iCalendar (.ics)"
msgid "RDF format (.rdf)"
msgstr "Formato RDF (.rdf)"
-#: ../plugins/save-calendar/save-calendar.c:172
-#: ../plugins/save-calendar/save-calendar.c:182
+#: ../plugins/save-calendar/save-calendar.c:171
+#: ../plugins/save-calendar/save-calendar.c:181
msgid "Select destination file"
msgstr "Seleccione archivo de destino"
-#: ../plugins/save-calendar/save-calendar.c:217
+#: ../plugins/save-calendar/save-calendar.c:216
#, c-format
msgid ""
"The suggested filename extension of this filetype (%s) is unused in the "
@@ -15004,7 +15063,8 @@ msgstr "Componente de Prueba de Evolution"
#: ../shell/apps_evolution_shell.schemas.in.in.h:1
msgid "A GNOME Print description of the current printer settings"
-msgstr "Una descripción de impresora Gnome de la configuración actual de impresora"
+msgstr ""
+"Una descripción de impresora Gnome de la configuración actual de impresora"
#: ../shell/apps_evolution_shell.schemas.in.in.h:2
msgid "Configuration version"
@@ -15031,8 +15091,10 @@ msgid "Last upgraded configuration version"
msgstr "Última versión de la configuración actualizada"
#: ../shell/apps_evolution_shell.schemas.in.in.h:8
-msgid "List of paths for the folders to be synchronized to disk for offline usage"
-msgstr "Lista de rutas a las carpetas que serán sincronizadas para uso en desconexión"
+msgid ""
+"List of paths for the folders to be synchronized to disk for offline usage"
+msgstr ""
+"Lista de rutas a las carpetas que serán sincronizadas para uso en desconexión"
#: ../shell/apps_evolution_shell.schemas.in.in.h:9
msgid "Printer settings"
@@ -15042,12 +15104,13 @@ msgstr "Configuración de impresora"
msgid "Skip development warning dialog"
msgstr "Saltar el diálogo de advertencia de desarrollo"
-#: ../shell/apps_evolution_shell.schemas.in.in.h:11 ../shell/main.c:475
+#: ../shell/apps_evolution_shell.schemas.in.in.h:11 ../shell/main.c:476
msgid "Start in offline mode"
msgstr "Iniciar en modo desconectado"
#: ../shell/apps_evolution_shell.schemas.in.in.h:12
-msgid "The configuration version of Evolution, with major/minor/configuration level"
+msgid ""
+"The configuration version of Evolution, with major/minor/configuration level"
msgstr ""
"La versión de configuración de Evolution, con nivel de configuracion mayor/"
"menor"
@@ -15097,7 +15160,8 @@ msgid "Whether the toolbar should be visible."
msgstr "Indica si la barra de herramientas debería ser visible."
#: ../shell/apps_evolution_shell.schemas.in.in.h:21
-msgid "Whether the warning dialog in development versions of Evolution is skipped."
+msgid ""
+"Whether the warning dialog in development versions of Evolution is skipped."
msgstr ""
"Indica si se salta el diálogo de advertencia en las versiones de desarrollo "
"de Evolution."
@@ -15295,7 +15359,8 @@ msgstr "No ha especificado un nombre de carpeta."
#: ../shell/e-shell-utils.c:123
msgid "Folder name cannot contain the Return character."
-msgstr "El nombre de la carpeta no puede contener el carácter de retorno de carro."
+msgstr ""
+"El nombre de la carpeta no puede contener el carácter de retorno de carro."
#: ../shell/e-shell-utils.c:129
msgid "Folder name cannot contain the character \"/\"."
@@ -15309,49 +15374,51 @@ msgstr "El nombre de la carpeta no puede contener el carácter «#»."
msgid "'.' and '..' are reserved folder names."
msgstr "'.' y '..' son nombres reservados de carpetas."
-#: ../shell/e-shell-window-commands.c:67
+#: ../shell/e-shell-window-commands.c:69
msgid "The GNOME Pilot tools do not appear to be installed on this system."
-msgstr "Las utilidades GNOME Pilot no parecen estar instaladas en este sistema."
+msgstr ""
+"Las utilidades GNOME Pilot no parecen estar instaladas en este sistema."
-#: ../shell/e-shell-window-commands.c:75
+#: ../shell/e-shell-window-commands.c:77
#, c-format
msgid "Error executing %s."
msgstr "Error ejecutando %s."
-#: ../shell/e-shell-window-commands.c:124
+#: ../shell/e-shell-window-commands.c:126
msgid "Bug buddy is not installed."
msgstr "Bug Buddy no está instalado."
-#: ../shell/e-shell-window-commands.c:132
+#: ../shell/e-shell-window-commands.c:134
msgid "Bug buddy could not be run."
msgstr "No se ha podido ejecutar Bug Buddy."
#. The translator-credits string is for translators to list
#. * per language credits for translation, displayed in the
#. * about box
-#: ../shell/e-shell-window-commands.c:426
+#: ../shell/e-shell-window-commands.c:501
msgid "translator-credits"
msgstr "Francisco Javier F. Serrador"
-#: ../shell/e-shell-window-commands.c:440
+#: ../shell/e-shell-window-commands.c:515
msgid "Groupware Suite"
msgstr "Suite de trabajo en grupo"
-#: ../shell/e-shell-window-commands.c:681
+#: ../shell/e-shell-window-commands.c:742
msgid "_Work Online"
msgstr "_Trabajar conectado"
-#: ../shell/e-shell-window-commands.c:694 ../ui/evolution.xml.h:51
+#: ../shell/e-shell-window-commands.c:755 ../ui/evolution.xml.h:51
msgid "_Work Offline"
msgstr "_Trabajar desconectado"
-#: ../shell/e-shell-window-commands.c:707 ../ui/evolution.xml.h:34
+#: ../shell/e-shell-window-commands.c:768 ../ui/evolution.xml.h:34
msgid "Work Offline"
msgstr "Trabajar desconectado"
#: ../shell/e-shell-window.c:341
msgid "Evolution is currently online. Click on this button to work offline."
-msgstr "Evolution está conectado. Pulse este botón para trabajar desconectado."
+msgstr ""
+"Evolution está conectado. Pulse este botón para trabajar desconectado."
#: ../shell/e-shell-window.c:349
msgid "Evolution is in the process of going offline."
@@ -15359,39 +15426,40 @@ msgstr "Evolution está en proceso de desconectarse."
#: ../shell/e-shell-window.c:356
msgid "Evolution is currently offline. Click on this button to work online."
-msgstr "Evolution está desconectado. Pulse este botón para trabajar conectado."
+msgstr ""
+"Evolution está desconectado. Pulse este botón para trabajar conectado."
-#: ../shell/e-shell-window.c:708
+#: ../shell/e-shell-window.c:713
#, c-format
msgid "Switch to %s"
msgstr "Cambiar a %s"
-#: ../shell/e-shell.c:597
+#: ../shell/e-shell.c:598
msgid "Uknown system error."
msgstr "Error de sistema desconocido."
-#: ../shell/e-shell.c:805 ../shell/e-shell.c:806
+#: ../shell/e-shell.c:800 ../shell/e-shell.c:801
#, c-format
msgid "%ld KB"
msgstr "%ld KiB"
-#: ../shell/e-shell.c:1249 ../widgets/misc/e-cell-date-edit.c:256
+#: ../shell/e-shell.c:1254 ../widgets/misc/e-cell-date-edit.c:256
msgid "OK"
msgstr "Aceptar"
-#: ../shell/e-shell.c:1251
+#: ../shell/e-shell.c:1256
msgid "Invalid arguments"
msgstr "Argumentos inválidos"
-#: ../shell/e-shell.c:1253
+#: ../shell/e-shell.c:1258
msgid "Cannot register on OAF"
msgstr "No se pudo registrar en OAF"
-#: ../shell/e-shell.c:1255
+#: ../shell/e-shell.c:1260
msgid "Configuration Database not found"
msgstr "No se encontró la base de datos de configuración"
-#: ../shell/e-shell.c:1257
+#: ../shell/e-shell.c:1262
msgid "Generic error"
msgstr "Error genérico"
@@ -15510,7 +15578,7 @@ msgid "Evolution can import data from the following files:"
msgstr "Evolution puede importar datos de los siguiente s archivos:"
#. Preview/Alpha/Beta version warning message
-#: ../shell/main.c:237
+#: ../shell/main.c:238
#, no-c-format
msgid ""
"Hi. Thanks for taking the time to download this preview release\n"
@@ -15545,7 +15613,7 @@ msgstr ""
"\n"
"Esperamos que disfrute de nuestro duro trabajo y esperamos su contribución.\n"
-#: ../shell/main.c:261
+#: ../shell/main.c:262
msgid ""
"Thanks\n"
"The Evolution Team\n"
@@ -15553,39 +15621,39 @@ msgstr ""
"Gracias\n"
"El equipo de Evolution\n"
-#: ../shell/main.c:268
+#: ../shell/main.c:269
msgid "Don't tell me again"
msgstr "No preguntarme más veces"
-#: ../shell/main.c:473
+#: ../shell/main.c:474
msgid "Start Evolution activating the specified component"
msgstr "Iniciar Evolution activando el componente especificado"
-#: ../shell/main.c:477
+#: ../shell/main.c:478
msgid "Start in online mode"
msgstr "Iniciar en modo conectado"
-#: ../shell/main.c:480
+#: ../shell/main.c:481
msgid "Forcibly shut down all Evolution components"
msgstr "Forzar el cierre de todos los componentes de Evolution"
-#: ../shell/main.c:484
+#: ../shell/main.c:485
msgid "Forcibly re-migrate from Evolution 1.4"
msgstr "Fuerza la re-emigración desde Evolution 1.4"
-#: ../shell/main.c:487
+#: ../shell/main.c:488
msgid "Send the debugging output of all components to a file."
msgstr "Envía la salida de depuración de todos los componentes a un archivo."
-#: ../shell/main.c:490
+#: ../shell/main.c:491
msgid "Disable the mono plugin environment."
msgstr "Desactiva el entorno de complementos de mono."
-#: ../shell/main.c:493
+#: ../shell/main.c:494
msgid "Disable loading of any plugins."
msgstr "Desactiva la carga de cualquier complemento."
-#: ../shell/main.c:524
+#: ../shell/main.c:525
#, c-format
msgid ""
"%s: --online and --offline cannot be used together.\n"
@@ -15770,34 +15838,34 @@ msgstr ""
#: ../smime/gui/certificate-manager.c:134
#: ../smime/gui/certificate-manager.c:142
-#: ../smime/gui/certificate-manager.c:375
-#: ../smime/gui/certificate-manager.c:383
-#: ../smime/gui/certificate-manager.c:595
-#: ../smime/gui/certificate-manager.c:603
+#: ../smime/gui/certificate-manager.c:377
+#: ../smime/gui/certificate-manager.c:385
+#: ../smime/gui/certificate-manager.c:597
+#: ../smime/gui/certificate-manager.c:605
msgid "Select a cert to import..."
msgstr "Seleccione un certificado para importar..."
-#: ../smime/gui/certificate-manager.c:263
-#: ../smime/gui/certificate-manager.c:472
-#: ../smime/gui/certificate-manager.c:690
+#: ../smime/gui/certificate-manager.c:265
+#: ../smime/gui/certificate-manager.c:474
+#: ../smime/gui/certificate-manager.c:692
msgid "Certificate Name"
msgstr "Nombre del certificado"
-#: ../smime/gui/certificate-manager.c:272
-#: ../smime/gui/certificate-manager.c:490
+#: ../smime/gui/certificate-manager.c:274
+#: ../smime/gui/certificate-manager.c:492
msgid "Purposes"
msgstr "Propósito"
-#: ../smime/gui/certificate-manager.c:281 ../smime/gui/smime-ui.glade.h:36
+#: ../smime/gui/certificate-manager.c:283 ../smime/gui/smime-ui.glade.h:36
#: ../smime/lib/e-cert.c:569
msgid "Serial Number"
msgstr "Número de serie"
-#: ../smime/gui/certificate-manager.c:289
+#: ../smime/gui/certificate-manager.c:291
msgid "Expires"
msgstr "Caducidad"
-#: ../smime/gui/certificate-manager.c:481
+#: ../smime/gui/certificate-manager.c:483
msgid "E-Mail Address"
msgstr "Dirección de correo-e"
@@ -16000,7 +16068,8 @@ msgid "You have certificates from these organizations that identify you:"
msgstr "Tiene certificados de estas organizaciones que le identifican:"
#: ../smime/gui/smime-ui.glade.h:43
-msgid "You have certificates on file that identify these certificate authorities:"
+msgid ""
+"You have certificates on file that identify these certificate authorities:"
msgstr ""
"Tiene archivados los certificados que identifican a estas autoridades de "
"certificación:"
@@ -16563,7 +16632,8 @@ msgstr "Abre una ventana para escribir un mensaje de correo"
#: ../ui/evolution-mail-global.xml.h:8
msgid "Permanently remove all deleted messages from all folders"
-msgstr "Elimina permanentemente todos los mensajes borrados de todas las carpetas"
+msgstr ""
+"Elimina permanentemente todos los mensajes borrados de todas las carpetas"
#: ../ui/evolution-mail-global.xml.h:9
msgid "Post Ne_w Message"
@@ -16622,8 +16692,10 @@ msgid "Hide _Read Messages"
msgstr "Oculta_r mensajes leídos"
#: ../ui/evolution-mail-list.xml.h:8
-msgid "Hide deleted messages rather than displaying them with a line through them"
-msgstr "Oculta los mensajes borrados en lugar de mostrarlos tachados por una línea"
+msgid ""
+"Hide deleted messages rather than displaying them with a line through them"
+msgstr ""
+"Oculta los mensajes borrados en lugar de mostrarlos tachados por una línea"
#: ../ui/evolution-mail-list.xml.h:9
msgid "Mark All as _Read"
@@ -17834,7 +17906,8 @@ msgstr "Consulta de Evolution"
#. setup a dummy error
#: ../widgets/misc/e-error.c:438
#, c-format
-msgid "<span weight=\"bold\">Internal error, unknown error '%s' requested</span>"
+msgid ""
+"<span weight=\"bold\">Internal error, unknown error '%s' requested</span>"
msgstr ""
"<span weight=\"bold\">Error interno, solicitado un error desconocido «%s»</"
"span>"
@@ -18155,6 +18228,12 @@ msgstr "%s (%d%% completado)"
msgid "click here to go to url"
msgstr "pulse aquí para ir a la url"
+#~ msgid "_Remember this password"
+#~ msgstr "_Recuerda esta contraseña"
+
+#~ msgid "_Remember this password for the remainder of this session"
+#~ msgstr "_Recordar esta clave durante el resto de esta sesión"
+
#~ msgid "Mark as _Unread"
#~ msgstr "Marcar como _no leído"
@@ -32403,4 +32482,3 @@ msgstr "pulse aquí para ir a la url"
#~ msgid "th"
#~ msgstr "º"
-
diff --git a/po/fi.po b/po/fi.po
index 110b626ce3..00190470fd 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: evolution\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-02-22 11:57+0200\n"
-"PO-Revision-Date: 2005-03-04 11:08+0200\n"
+"POT-Creation-Date: 2005-03-09 07:29+0200\n"
+"PO-Revision-Date: 2005-03-09 07:30+0200\n"
"Last-Translator: Ilkka Tuohela <hile@iki.fi>\n"
"Language-Team: Finnish <gnome-fi-laatu@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
@@ -41,7 +41,7 @@ msgstr[0] "Valitussa osoitekirjassa on %d kortti"
msgstr[1] "Valitussa osoitekirjassa on %d korttia"
#: ../a11y/addressbook/ea-minicard.c:31
-#: ../calendar/gui/alarm-notify/alarm-queue.c:863
+#: ../calendar/gui/alarm-notify/alarm-queue.c:878
#: ../ui/evolution-message-composer.xml.h:10
msgid "Open"
msgstr "Avaa"
@@ -231,17 +231,17 @@ msgstr "kalenterin kuukausinäkymä"
msgid "calendar view for one or more weeks"
msgstr "kalenterinäkymä yhdelle tai useammalle viikolle"
-#: ../a11y/widgets/ea-calendar-item.c:290
#: ../a11y/widgets/ea-calendar-item.c:296
+#: ../a11y/widgets/ea-calendar-item.c:302
msgid "%d %B %Y"
msgstr "%d. %Bta %Y"
-#: ../a11y/widgets/ea-calendar-item.c:298
+#: ../a11y/widgets/ea-calendar-item.c:304
#, c-format
msgid "Calendar: from %s to %s"
msgstr "Kalenteri väliltä %s - %s"
-#: ../a11y/widgets/ea-calendar-item.c:333
+#: ../a11y/widgets/ea-calendar-item.c:339
msgid "evolution calendar item"
msgstr "evolutionin kalenterin kohta"
@@ -551,7 +551,7 @@ msgstr "Hallitse S/Mime varmenteitasi"
#: ../calendar/gui/calendar-component.c:208 ../calendar/gui/migration.c:459
#: ../calendar/gui/migration.c:552 ../calendar/gui/tasks-component.c:188
#: ../mail/em-folder-tree-model.c:197 ../mail/em-folder-tree-model.c:199
-#: ../mail/mail-component.c:270 ../mail/mail-vfolder.c:222
+#: ../mail/mail-component.c:290 ../mail/mail-vfolder.c:222
msgid "On This Computer"
msgstr "Tällä tietokoneella"
@@ -565,8 +565,8 @@ msgstr "Tällä tietokoneella"
#: ../addressbook/gui/contact-editor/contact-editor.glade.h:20
#: ../calendar/gui/calendar-component.c:216 ../calendar/gui/migration.c:467
#: ../calendar/gui/migration.c:560 ../calendar/gui/tasks-component.c:196
-#: ../filter/filter-label.c:123 ../mail/em-migrate.c:1013
-#: ../mail/mail-config.c:77 ../mail/mail-config.glade.h:101
+#: ../filter/filter-label.c:123 ../mail/em-migrate.c:1043
+#: ../mail/mail-config.c:78 ../mail/mail-config.glade.h:101
msgid "Personal"
msgstr "Henkilökohtainen"
@@ -593,7 +593,7 @@ msgid "Create a new contact list"
msgstr "Luo uusi yhteystietoluettelo"
#: ../addressbook/gui/component/addressbook-component.c:212
-#: ../addressbook/gui/component/addressbook-config.c:1121
+#: ../addressbook/gui/component/addressbook-config.c:1120
#: ../addressbook/gui/component/addressbook-view.c:757
msgid "New Address Book"
msgstr "Uusi osoitekirja"
@@ -661,18 +661,18 @@ msgstr "Etsitään"
msgid "Downloading"
msgstr "Haetaan"
-#: ../addressbook/gui/component/addressbook-config.c:1119
+#: ../addressbook/gui/component/addressbook-config.c:1118
#: ../addressbook/gui/component/ldap-config.glade.h:14
msgid "Address Book Properties"
msgstr "Osoitekirjan ominaisuudet"
#: ../addressbook/gui/component/addressbook-migrate.c:72
-#: ../calendar/gui/migration.c:142 ../mail/em-migrate.c:1160
+#: ../calendar/gui/migration.c:142 ../mail/em-migrate.c:1190
msgid "Migrating..."
msgstr "Siirretään..."
#: ../addressbook/gui/component/addressbook-migrate.c:124
-#: ../calendar/gui/migration.c:189 ../mail/em-migrate.c:1201
+#: ../calendar/gui/migration.c:189 ../mail/em-migrate.c:1231
#, c-format
msgid "Migrating `%s':"
msgstr "Siirretään '%s'"
@@ -881,7 +881,7 @@ msgid "Add Address Book"
msgstr "Lisää osoitekirja"
#: ../addressbook/gui/component/ldap-config.glade.h:15
-#: ../mail/em-account-editor.c:300
+#: ../mail/em-account-editor.c:302
msgid "Always"
msgstr "Aina"
@@ -917,7 +917,7 @@ msgid "Lo_gin:"
msgstr "_Kirjautuminen:"
#: ../addressbook/gui/component/ldap-config.glade.h:25
-#: ../mail/em-account-editor.c:298
+#: ../mail/em-account-editor.c:300
msgid "Never"
msgstr "Ei koskaan"
@@ -1040,7 +1040,7 @@ msgid "Using email address"
msgstr "Käytetään sähköpostiosoitetta"
#: ../addressbook/gui/component/ldap-config.glade.h:42
-#: ../mail/em-account-editor.c:299
+#: ../mail/em-account-editor.c:301
msgid "Whenever Possible"
msgstr "Milloin mahdollista"
@@ -1095,7 +1095,7 @@ msgstr "kortteja"
#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:12
#: ../calendar/gui/dialogs/alarm-dialog.glade.h:26
#: ../calendar/gui/dialogs/calendar-setup.glade.h:14
-#: ../filter/filter.glade.h:16 ../mail/em-account-editor.c:1883
+#: ../filter/filter.glade.h:16 ../mail/em-account-editor.c:1885
#: ../plugins/calendar-http/calendar-http.c:263
#: ../plugins/calendar-weather/calendar-weather.c:564
msgid "minutes"
@@ -1194,8 +1194,8 @@ msgstr "Puhelin"
#: ../addressbook/gui/contact-editor/contact-editor.glade.h:23
#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:235
#: ../addressbook/gui/contact-editor/e-contact-editor.c:199
-#: ../filter/filter-label.c:122 ../mail/em-migrate.c:1012
-#: ../mail/mail-config.c:76 ../mail/mail-config.glade.h:148
+#: ../filter/filter-label.c:122 ../mail/em-migrate.c:1042
+#: ../mail/mail-config.c:77 ../mail/mail-config.glade.h:148
msgid "Work"
msgstr "Työ"
@@ -2422,7 +2422,7 @@ msgstr "_Koko nimi:"
msgid "E-_mail:"
msgstr "Sähköposti:"
-#: ../addressbook/gui/contact-editor/eab-editor.c:324
+#: ../addressbook/gui/contact-editor/eab-editor.c:326
msgid ""
"Are you sure you want\n"
"to delete these contacts?"
@@ -2430,7 +2430,7 @@ msgstr ""
"Haluatko varmasti\n"
"poistaa nämä yhteystiedot?"
-#: ../addressbook/gui/contact-editor/eab-editor.c:327
+#: ../addressbook/gui/contact-editor/eab-editor.c:329
msgid ""
"Are you sure you want\n"
"to delete this contact?"
@@ -2707,7 +2707,7 @@ msgstr "Lähde"
#: ../addressbook/gui/widgets/e-addressbook-view.c:244
#: ../calendar/gui/dialogs/meeting-page.etspec.h:11
#: ../calendar/gui/e-calendar-table.etspec.h:13
-#: ../calendar/gui/e-meeting-list-view.c:244
+#: ../calendar/gui/e-meeting-list-view.c:319
#: ../calendar/gui/e-meeting-time-sel.etspec.h:11
msgid "Type"
msgstr "Tyyppi"
@@ -2918,7 +2918,7 @@ msgstr "Radio"
#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:33
#: ../calendar/gui/dialogs/meeting-page.etspec.h:9
-#: ../calendar/gui/e-meeting-list-view.c:251
+#: ../calendar/gui/e-meeting-list-view.c:326
#: ../calendar/gui/e-meeting-time-sel.etspec.h:9
msgid "Role"
msgstr "Rooli"
@@ -4097,9 +4097,8 @@ msgstr "Tehtävälista ei ole merkitty käytettäväksi yhteydettömässä tilas
#. calendar:server-version secondary
#: ../calendar/calendar-errors.xml.h:146
-msgid " Some features may not work correctly with your current server version"
-msgstr ""
-"Jotkut ominaisuudet eivät toimi oikein nykyisen palvelinversioisi kanssa"
+msgid " Some features may not work correctly with your current server version "
+msgstr "Jotkut ominaisuudet eivät toimi oikein nykyisen palvelinversioisi kanssa"
#: ../calendar/common/authentication.c:49 ../calendar/gui/e-pub-utils.c:301
#: ../smime/gui/component.c:48
@@ -4263,28 +4262,28 @@ msgstr "sijainti"
msgid "start-time"
msgstr "alkamisaika"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:864
+#: ../calendar/gui/alarm-notify/alarm-queue.c:879
msgid "Dismiss"
msgstr "Hylkää"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:865
+#: ../calendar/gui/alarm-notify/alarm-queue.c:880
msgid "Dismiss All"
msgstr "Hylkää kaikki"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:947
+#: ../calendar/gui/alarm-notify/alarm-queue.c:962
msgid "No summary available."
msgstr "Ei yhteenvetoa saatavilla"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:956
-#: ../calendar/gui/alarm-notify/alarm-queue.c:958
+#: ../calendar/gui/alarm-notify/alarm-queue.c:971
+#: ../calendar/gui/alarm-notify/alarm-queue.c:973
msgid "No description available."
msgstr "Ei kuvausta saatavilla"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:966
+#: ../calendar/gui/alarm-notify/alarm-queue.c:981
msgid "No location information available."
msgstr "Ei sijaintitietoja saatavilla"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:982
+#: ../calendar/gui/alarm-notify/alarm-queue.c:997
#, c-format
msgid ""
"Alarm on %s\n"
@@ -4297,12 +4296,12 @@ msgstr ""
"Alkaa %s\n"
"Päättyy %s"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1084
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1108
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1099
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1123
msgid "Warning"
msgstr "Varoitus"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1088
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1103
msgid ""
"Evolution does not support calendar reminders with\n"
"email notifications yet, but this reminder was\n"
@@ -4314,7 +4313,7 @@ msgstr ""
"lähettämään sähköpostia. Evolution näyttää sen sijaan\n"
"tavallisen huomautusikkunan."
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1114
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1129
#, c-format
msgid ""
"An Evolution Calendar reminder is about to trigger. This reminder is "
@@ -4331,7 +4330,7 @@ msgstr ""
"\n"
"Haluatko varmasti suorittaa tämän ohjelman?"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1128
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1143
msgid "Do not ask me about this program again."
msgstr "Älä kysy tästä ohjelmasta enää uudelleen"
@@ -4809,7 +4808,7 @@ msgstr "Menetelmä ei ollut tuettu avattaessa kalenteria"
msgid "Permission denied to open the calendar"
msgstr "Kalenterin avaamiseen ei ollut tarvittavia oikeuksia"
-#: ../calendar/gui/comp-editor-factory.c:437 ../shell/e-shell.c:1259
+#: ../calendar/gui/comp-editor-factory.c:437 ../shell/e-shell.c:1264
msgid "Unknown error"
msgstr "Tuntematon virhe"
@@ -4952,7 +4951,7 @@ msgid "%.0fG"
msgstr "%.0fG"
#: ../calendar/gui/dialogs/cal-attachment-bar.c:298
-#: ../calendar/gui/dialogs/cal-attachment-bar.c:913
+#: ../calendar/gui/dialogs/cal-attachment-bar.c:922
#: ../composer/e-msg-composer-attachment-bar.c:295 ../mail/em-utils.c:436
msgid "attachment"
msgstr "liite"
@@ -5034,7 +5033,7 @@ msgstr "MIME-tyyppi:"
#. g_object_set((GObject *)renderer, "activatable", TRUE, NULL);
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:576
-#: ../mail/em-account-prefs.c:460 ../mail/em-composer-prefs.c:888
+#: ../mail/em-account-prefs.c:476 ../mail/em-composer-prefs.c:888
#: ../plugins/plugin-manager/plugin-manager.c:213
msgid "Enabled"
msgstr "Käytä"
@@ -5054,16 +5053,16 @@ msgstr "Älä poista"
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:787
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:820
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:853
-#: ../mail/em-account-prefs.c:307 ../mail/em-account-prefs.c:335
-#: ../mail/em-account-prefs.c:366
+#: ../mail/em-account-prefs.c:323 ../mail/em-account-prefs.c:351
+#: ../mail/em-account-prefs.c:382
msgid "Disable"
msgstr "Älä käytä"
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:787
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:820
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:855
-#: ../mail/em-account-prefs.c:307 ../mail/em-account-prefs.c:335
-#: ../mail/em-account-prefs.c:368
+#: ../mail/em-account-prefs.c:323 ../mail/em-account-prefs.c:351
+#: ../mail/em-account-prefs.c:384
msgid "Enable"
msgstr "Käytä"
@@ -5463,8 +5462,8 @@ msgstr[1] "%d liitettyä viestiä"
#: ../calendar/gui/dialogs/comp-editor.c:412
#: ../calendar/gui/e-calendar-table.c:1164
#: ../calendar/gui/e-calendar-view.c:1402 ../composer/e-msg-composer.c:2906
-#: ../mail/em-folder-tree.c:1046 ../mail/em-folder-view.c:973
-#: ../mail/message-list.c:1712 ../ui/evolution-addressbook.xml.h:31
+#: ../mail/em-folder-tree.c:1046 ../mail/em-folder-view.c:966
+#: ../mail/message-list.c:1707 ../ui/evolution-addressbook.xml.h:31
#: ../ui/evolution-calendar.xml.h:39 ../ui/evolution-composer-entries.xml.h:7
#: ../ui/evolution-mail-message.xml.h:105 ../ui/evolution-tasks.xml.h:20
msgid "_Copy"
@@ -5472,87 +5471,87 @@ msgstr "_Kopioi"
#: ../calendar/gui/dialogs/comp-editor.c:413 ../composer/e-msg-composer.c:2907
#: ../mail/em-folder-tree.c:1047 ../mail/em-folder-tree.c:2311
-#: ../mail/em-folder-view.c:869 ../mail/message-list.c:1713
+#: ../mail/em-folder-view.c:862 ../mail/message-list.c:1708
msgid "_Move"
msgstr "_Siirrä"
#: ../calendar/gui/dialogs/comp-editor.c:415 ../composer/e-msg-composer.c:2909
-#: ../mail/em-folder-tree.c:1049 ../mail/message-list.c:1715
+#: ../mail/em-folder-tree.c:1049 ../mail/message-list.c:1710
msgid "Cancel _Drag"
msgstr "Peruuta _raahaus"
-#: ../calendar/gui/dialogs/comp-editor.c:659
+#: ../calendar/gui/dialogs/comp-editor.c:682
msgid "Could not update object"
msgstr "Kohdetta ei voitu päivittää"
-#: ../calendar/gui/dialogs/comp-editor.c:820 ../composer/e-msg-composer.c:2310
+#: ../calendar/gui/dialogs/comp-editor.c:843 ../composer/e-msg-composer.c:2310
#, c-format
msgid "<b>%d</b> File Attached"
msgid_plural "<b>%d</b> Files Attached"
msgstr[0] "<b>%d</b> tiedosto liitetty"
msgstr[1] "<b>%d</b> tiedostoa liitetty"
-#: ../calendar/gui/dialogs/comp-editor.c:873 ../composer/e-msg-composer.c:2339
+#: ../calendar/gui/dialogs/comp-editor.c:900 ../composer/e-msg-composer.c:2339
msgid "Hide _Attachment Bar (drop attachments here)"
msgstr "Piilota _liitepalkki (tiputa liitteitä tähän)"
-#: ../calendar/gui/dialogs/comp-editor.c:876
-#: ../calendar/gui/dialogs/comp-editor.c:928 ../composer/e-msg-composer.c:2342
+#: ../calendar/gui/dialogs/comp-editor.c:903
+#: ../calendar/gui/dialogs/comp-editor.c:955 ../composer/e-msg-composer.c:2342
#: ../composer/e-msg-composer.c:3471
msgid "Show _Attachment Bar (drop attachments here)"
msgstr "Näytä _liitepalkki (tiputa liitteitä tähän)"
-#: ../calendar/gui/dialogs/comp-editor.c:952 ../composer/e-msg-composer.c:3493
+#: ../calendar/gui/dialogs/comp-editor.c:979 ../composer/e-msg-composer.c:3493
msgid "Attachment Button: Press space key to toggle attachment bar"
msgstr "Liitenappi: Paina välilyntöä, jos haluat nähdä liitepalkin"
-#: ../calendar/gui/dialogs/comp-editor.c:1499
-#: ../calendar/gui/dialogs/comp-editor.c:1542
+#: ../calendar/gui/dialogs/comp-editor.c:1526
+#: ../calendar/gui/dialogs/comp-editor.c:1569
msgid "Edit Appointment"
msgstr "Muokkaa tapaamista"
-#: ../calendar/gui/dialogs/comp-editor.c:1505
-#: ../calendar/gui/dialogs/comp-editor.c:1548
+#: ../calendar/gui/dialogs/comp-editor.c:1532
+#: ../calendar/gui/dialogs/comp-editor.c:1575
#, c-format
msgid "Meeting - %s"
msgstr "Kokous - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1507
-#: ../calendar/gui/dialogs/comp-editor.c:1550
+#: ../calendar/gui/dialogs/comp-editor.c:1534
+#: ../calendar/gui/dialogs/comp-editor.c:1577
#, c-format
msgid "Appointment - %s"
msgstr "Tapaaminen - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1511
-#: ../calendar/gui/dialogs/comp-editor.c:1554
+#: ../calendar/gui/dialogs/comp-editor.c:1538
+#: ../calendar/gui/dialogs/comp-editor.c:1581
#, c-format
msgid "Assigned Task - %s"
msgstr "Tehtävänanto - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1513
-#: ../calendar/gui/dialogs/comp-editor.c:1556
+#: ../calendar/gui/dialogs/comp-editor.c:1540
+#: ../calendar/gui/dialogs/comp-editor.c:1583
#, c-format
msgid "Task - %s"
msgstr "Tehtävä - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1516
-#: ../calendar/gui/dialogs/comp-editor.c:1559
+#: ../calendar/gui/dialogs/comp-editor.c:1543
+#: ../calendar/gui/dialogs/comp-editor.c:1586
#, c-format
msgid "Journal entry - %s"
msgstr "Päiväkirjamerkintä - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1527
-#: ../calendar/gui/dialogs/comp-editor.c:1569
+#: ../calendar/gui/dialogs/comp-editor.c:1554
+#: ../calendar/gui/dialogs/comp-editor.c:1596
msgid "No summary"
msgstr "Ei kuvausta"
-#: ../calendar/gui/dialogs/comp-editor.c:2001
-#: ../calendar/gui/dialogs/comp-editor.c:2034
-#: ../calendar/gui/dialogs/comp-editor.c:2058
+#: ../calendar/gui/dialogs/comp-editor.c:2030
+#: ../calendar/gui/dialogs/comp-editor.c:2063
+#: ../calendar/gui/dialogs/comp-editor.c:2087
msgid "Changes made to this item may be discarded if an update arrives"
msgstr "Tähän kohtaan tehdyt muutokset voidaan hylätä, jos päivitys saapuu"
-#: ../calendar/gui/dialogs/comp-editor.c:2082
+#: ../calendar/gui/dialogs/comp-editor.c:2111
msgid "Unable to use current version!"
msgstr "Nykyistä versiota ei voida käyttää!"
@@ -5819,9 +5818,9 @@ msgstr "_Alkamisaika:"
#: ../calendar/gui/dialogs/meeting-page.glade.h:5
#: ../calendar/gui/e-cal-model-tasks.c:652
#: ../calendar/gui/e-itip-control.c:1104 ../composer/e-msg-composer.c:2117
-#: ../filter/filter-rule.c:878 ../mail/em-account-editor.c:683
-#: ../mail/em-account-editor.c:1289 ../mail/em-account-prefs.c:421
-#: ../mail/em-folder-view.c:1000
+#: ../filter/filter-rule.c:878 ../mail/em-account-editor.c:685
+#: ../mail/em-account-editor.c:1291 ../mail/em-account-prefs.c:437
+#: ../mail/em-folder-view.c:993
#: ../plugins/calendar-weather/calendar-weather.c:371
#: ../plugins/calendar-weather/calendar-weather.c:425
#: ../plugins/itip-formatter/itip-formatter.c:1376
@@ -5848,7 +5847,7 @@ msgid "_Delegate To..."
msgstr "_Valtuuta..."
#: ../calendar/gui/dialogs/meeting-page.etspec.h:1
-#: ../calendar/gui/e-meeting-list-view.c:235
+#: ../calendar/gui/e-meeting-list-view.c:308
#: ../calendar/gui/e-meeting-time-sel.etspec.h:1
msgid "Attendee"
msgstr "Osanottaja"
@@ -5884,7 +5883,7 @@ msgid "Member"
msgstr "Jäsen"
#: ../calendar/gui/dialogs/meeting-page.etspec.h:8
-#: ../calendar/gui/e-meeting-list-view.c:258
+#: ../calendar/gui/e-meeting-list-view.c:333
#: ../calendar/gui/e-meeting-time-sel.etspec.h:8
msgid "RSVP"
msgstr "Kuittauspyyntö"
@@ -5892,7 +5891,7 @@ msgstr "Kuittauspyyntö"
#: ../calendar/gui/dialogs/meeting-page.etspec.h:10
#: ../calendar/gui/dialogs/task-editor.c:146
#: ../calendar/gui/e-calendar-table.etspec.h:10
-#: ../calendar/gui/e-meeting-list-view.c:265
+#: ../calendar/gui/e-meeting-list-view.c:340
#: ../calendar/gui/e-meeting-time-sel.etspec.h:10 ../mail/em-filter-i18n.h:63
#: ../mail/message-list.etspec.h:12
msgid "Status"
@@ -5960,32 +5959,32 @@ msgstr "Tehtävälistan ryhmä"
msgid "Task List Name"
msgstr "Tehtävälistan nimi"
-#: ../calendar/gui/dialogs/recur-comp.c:51
+#: ../calendar/gui/dialogs/recur-comp.c:52
msgid "You are modifying a recurring event, what would you like to modify?"
msgstr "Muokkaat toistuvaa tapahtumaa, mitä haluat muokata?"
-#: ../calendar/gui/dialogs/recur-comp.c:55
+#: ../calendar/gui/dialogs/recur-comp.c:56
msgid "You are modifying a recurring task, what would you like to modify?"
msgstr "Muokkaat toistuvaa tehtävää, mitä haluat muokata?"
-#: ../calendar/gui/dialogs/recur-comp.c:59
+#: ../calendar/gui/dialogs/recur-comp.c:60
msgid ""
"You are modifying a recurring journal entry, what would you like to modify?"
msgstr "Muokkaat toistuvaa päiväkirjamerkintää, mitä haluat tehdä?"
-#: ../calendar/gui/dialogs/recur-comp.c:87
+#: ../calendar/gui/dialogs/recur-comp.c:88
msgid "This Instance Only"
msgstr "Vain tätä kertaa"
-#: ../calendar/gui/dialogs/recur-comp.c:91
+#: ../calendar/gui/dialogs/recur-comp.c:92
msgid "This and Prior Instances"
msgstr "Tätä ja edellisiä kertoja"
-#: ../calendar/gui/dialogs/recur-comp.c:97
+#: ../calendar/gui/dialogs/recur-comp.c:98
msgid "This and Future Instances"
msgstr "Tätä ja tulevia kertoja"
-#: ../calendar/gui/dialogs/recur-comp.c:102
+#: ../calendar/gui/dialogs/recur-comp.c:103
msgid "All Instances"
msgstr "Kaikki tahot"
@@ -6118,7 +6117,7 @@ msgstr "Valmis"
#: ../calendar/gui/dialogs/task-details-page.glade.h:5
#: ../calendar/gui/e-cal-component-preview.c:248
-#: ../calendar/gui/e-calendar-table.c:382 ../mail/message-list.c:1011
+#: ../calendar/gui/e-calendar-table.c:382 ../mail/message-list.c:1006
msgid "High"
msgstr "Korkea"
@@ -6133,14 +6132,14 @@ msgstr "Työn alla"
#: ../calendar/gui/dialogs/task-details-page.glade.h:7
#: ../calendar/gui/e-cal-component-preview.c:252
-#: ../calendar/gui/e-calendar-table.c:384 ../mail/message-list.c:1009
+#: ../calendar/gui/e-calendar-table.c:384 ../mail/message-list.c:1004
msgid "Low"
msgstr "Matala"
#: ../calendar/gui/dialogs/task-details-page.glade.h:8
#: ../calendar/gui/e-cal-component-preview.c:250
#: ../calendar/gui/e-cal-model.c:899 ../calendar/gui/e-calendar-table.c:383
-#: ../mail/message-list.c:1010
+#: ../mail/message-list.c:1005
msgid "Normal"
msgstr "Tavallinen"
@@ -6340,7 +6339,7 @@ msgstr "%s %s"
msgid "%s for an unknown trigger type"
msgstr "%s tuntemattomalle liipasintyypille"
-#: ../calendar/gui/e-cal-component-preview.c:70 ../mail/em-folder-view.c:2588
+#: ../calendar/gui/e-cal-component-preview.c:70 ../mail/em-folder-view.c:2573
#, c-format
msgid "Click to open %s"
msgstr "Näpäytä avataksesi %s"
@@ -6369,7 +6368,7 @@ msgstr "Eräpäivä:"
#. Status
#: ../calendar/gui/e-cal-component-preview.c:222
#: ../calendar/gui/e-itip-control.c:1132
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:129
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:209
#: ../plugins/itip-formatter/itip-view.c:884
msgid "Status:"
msgstr "Tila:"
@@ -6452,7 +6451,7 @@ msgstr "Ei"
#: ../calendar/gui/e-meeting-list-view.c:139
#: ../calendar/gui/e-meeting-list-view.c:153
#: ../calendar/gui/e-meeting-store.c:124 ../calendar/gui/e-meeting-store.c:159
-#: ../calendar/gui/e-meeting-store.c:224 ../mail/em-utils.c:1157
+#: ../calendar/gui/e-meeting-store.c:224 ../mail/em-utils.c:1173
#: ../plugins/itip-formatter/itip-formatter.c:251
#: ../plugins/itip-formatter/itip-formatter.c:1398
#: ../plugins/plugin-manager/plugin-manager.c:72
@@ -6542,8 +6541,8 @@ msgid "Open _Web Page"
msgstr "_Avaa www-sivu"
#: ../calendar/gui/e-calendar-table.c:1158
-#: ../calendar/gui/e-calendar-view.c:1396 ../mail/em-folder-view.c:983
-#: ../mail/em-popup.c:493 ../ui/evolution-mail-message.xml.h:124
+#: ../calendar/gui/e-calendar-view.c:1396 ../mail/em-folder-view.c:976
+#: ../mail/em-popup.c:494 ../ui/evolution-mail-message.xml.h:124
msgid "_Save As..."
msgstr "Tallenna _nimellä..."
@@ -6588,7 +6587,7 @@ msgstr "_Merkitse valitut tehtävät valmiiksi"
#. FIXME: need to disable for undeletable folders
#: ../calendar/gui/e-calendar-table.c:1176
#: ../calendar/gui/e-calendar-view.c:1414 ../mail/em-folder-tree.c:2814
-#: ../mail/em-folder-view.c:987 ../ui/evolution-addressbook.xml.h:33
+#: ../mail/em-folder-view.c:980 ../ui/evolution-addressbook.xml.h:33
#: ../ui/evolution-calendar.xml.h:40 ../ui/evolution-mail-message.xml.h:108
#: ../ui/evolution-tasks.xml.h:21
msgid "_Delete"
@@ -6862,12 +6861,12 @@ msgstr ""
#: ../calendar/gui/e-itip-control.c:1137
#: ../calendar/gui/e-meeting-list-view.c:175
#: ../calendar/gui/e-meeting-store.c:188 ../calendar/gui/e-meeting-store.c:211
-#: ../calendar/gui/itip-utils.c:422
+#: ../calendar/gui/itip-utils.c:421
#: ../plugins/itip-formatter/itip-formatter.c:1389
msgid "Accepted"
msgstr "Hyväksytty"
-#: ../calendar/gui/e-itip-control.c:1141 ../calendar/gui/itip-utils.c:425
+#: ../calendar/gui/e-itip-control.c:1141 ../calendar/gui/itip-utils.c:424
#: ../plugins/itip-formatter/itip-formatter.c:1392
msgid "Tentatively Accepted"
msgstr "Alustavasti hyväksytty"
@@ -6875,7 +6874,7 @@ msgstr "Alustavasti hyväksytty"
#: ../calendar/gui/e-itip-control.c:1145
#: ../calendar/gui/e-meeting-list-view.c:176
#: ../calendar/gui/e-meeting-store.c:190 ../calendar/gui/e-meeting-store.c:213
-#: ../calendar/gui/itip-utils.c:428 ../calendar/gui/itip-utils.c:454
+#: ../calendar/gui/itip-utils.c:427 ../calendar/gui/itip-utils.c:453
#: ../plugins/itip-formatter/itip-formatter.c:1395
msgid "Declined"
msgstr "Hylätty"
@@ -7142,7 +7141,7 @@ msgstr "Päivitä vastaajan tila"
msgid "Send Latest Information"
msgstr "Lähetä viimeisimmät tiedot"
-#: ../calendar/gui/e-itip-control.c:2375 ../calendar/gui/itip-utils.c:442
+#: ../calendar/gui/e-itip-control.c:2375 ../calendar/gui/itip-utils.c:441
#: ../mail/mail-send-recv.c:414 ../mail/mail-send-recv.c:466
#: ../ui/evolution-mail-global.xml.h:1
msgid "Cancel"
@@ -7485,57 +7484,57 @@ msgstr "Syyskuu"
msgid "_Select Today"
msgstr "_Valitse tämä päivä"
-#: ../calendar/gui/itip-utils.c:271 ../calendar/gui/itip-utils.c:319
-#: ../calendar/gui/itip-utils.c:351
+#: ../calendar/gui/itip-utils.c:270 ../calendar/gui/itip-utils.c:318
+#: ../calendar/gui/itip-utils.c:350
msgid "An organizer must be set."
msgstr "Järjestäjä tulee asettaa."
-#: ../calendar/gui/itip-utils.c:306
+#: ../calendar/gui/itip-utils.c:305
msgid "At least one attendee is necessary"
msgstr "Vähintään yksi läsnäoliko on välttämätön."
-#: ../calendar/gui/itip-utils.c:394 ../calendar/gui/itip-utils.c:503
+#: ../calendar/gui/itip-utils.c:393 ../calendar/gui/itip-utils.c:502
msgid "Event information"
msgstr "Tapahtuman tiedot"
-#: ../calendar/gui/itip-utils.c:396 ../calendar/gui/itip-utils.c:505
+#: ../calendar/gui/itip-utils.c:395 ../calendar/gui/itip-utils.c:504
msgid "Task information"
msgstr "Tehtävän tiedot"
-#: ../calendar/gui/itip-utils.c:398 ../calendar/gui/itip-utils.c:507
+#: ../calendar/gui/itip-utils.c:397 ../calendar/gui/itip-utils.c:506
msgid "Journal information"
msgstr "Päiväkirjan tiedot"
-#: ../calendar/gui/itip-utils.c:400 ../calendar/gui/itip-utils.c:525
+#: ../calendar/gui/itip-utils.c:399 ../calendar/gui/itip-utils.c:524
msgid "Free/Busy information"
msgstr "Vapaa/varattu-tiedot"
-#: ../calendar/gui/itip-utils.c:402
+#: ../calendar/gui/itip-utils.c:401
msgid "Calendar information"
msgstr "Kalenteritiedot"
-#: ../calendar/gui/itip-utils.c:438
+#: ../calendar/gui/itip-utils.c:437
msgid "Updated"
msgstr "Päivitetty"
-#: ../calendar/gui/itip-utils.c:446
+#: ../calendar/gui/itip-utils.c:445
msgid "Refresh"
msgstr "Virkistä"
-#: ../calendar/gui/itip-utils.c:450
+#: ../calendar/gui/itip-utils.c:449
msgid "Counter-proposal"
msgstr "Vastaehdotus"
-#: ../calendar/gui/itip-utils.c:521
+#: ../calendar/gui/itip-utils.c:520
#, c-format
msgid "Free/Busy information (%s to %s)"
msgstr "Vapaa/varattu-tiedot (%s - %s)"
-#: ../calendar/gui/itip-utils.c:531
+#: ../calendar/gui/itip-utils.c:530
msgid "iCalendar information"
msgstr "iCalendarin tiedot"
-#: ../calendar/gui/itip-utils.c:673
+#: ../calendar/gui/itip-utils.c:672
msgid "You must be an attendee of the event."
msgstr "Sinun täytyy osallistua tapahtumaan."
@@ -7815,7 +7814,7 @@ msgid_plural "%d tasks"
msgstr[0] "%d tehtävä"
msgstr[1] "%d tehtävää"
-#: ../calendar/gui/tasks-component.c:506 ../mail/mail-component.c:523
+#: ../calendar/gui/tasks-component.c:506 ../mail/mail-component.c:544
#, c-format
msgid ", %d selected"
msgid_plural ", %d selected"
@@ -9588,8 +9587,8 @@ msgstr "Nimeämätön viesti"
msgid "Open File"
msgstr "Avaa tiedosto"
-#: ../composer/e-msg-composer.c:2001 ../mail/em-account-editor.c:586
-#: ../mail/em-account-editor.c:631 ../mail/em-account-editor.c:698
+#: ../composer/e-msg-composer.c:2001 ../mail/em-account-editor.c:588
+#: ../mail/em-account-editor.c:633 ../mail/em-account-editor.c:700
msgid "Autogenerated"
msgstr "Automaattisesti luotu"
@@ -9771,7 +9770,7 @@ msgstr ""
"\n"
"Tarkista, että oikeat versiot ohjelmista gtkhtml ja libgtkhtml on asennettu."
-#: ../data/evolution.desktop.in.in.h:1 ../shell/main.c:520
+#: ../data/evolution.desktop.in.in.h:1 ../shell/main.c:521
msgid "Evolution"
msgstr "Evolution"
@@ -9906,14 +9905,6 @@ msgstr ""
msgid "Overwrite file?"
msgstr "Kirjoita tiedoston yli?"
-#: ../e-util/e-passwords.c:472
-msgid "_Remember this password"
-msgstr "_Muista tämä salasana"
-
-#: ../e-util/e-passwords.c:473
-msgid "_Remember this password for the remainder of this session"
-msgstr "Muista salasana tämän istunnon loppuun asti"
-
#. strptime format of a weekday, a date and a time,
#. in 12-hour format, without seconds.
#. strftime format of a weekday, a date and a
@@ -10144,20 +10135,20 @@ msgid "Choose a file"
msgstr "Valitse tiedosto"
#: ../filter/filter-label.c:121 ../mail/em-filter-i18n.h:26
-#: ../mail/em-migrate.c:1011 ../mail/mail-config.c:75
+#: ../mail/em-migrate.c:1041 ../mail/mail-config.c:76
#: ../mail/mail-config.glade.h:90
msgid "Important"
msgstr "Tärkeä"
#. forest green
-#: ../filter/filter-label.c:124 ../mail/em-migrate.c:1014
-#: ../mail/mail-config.c:78 ../mail/mail-config.glade.h:140
+#: ../filter/filter-label.c:124 ../mail/em-migrate.c:1044
+#: ../mail/mail-config.c:79 ../mail/mail-config.glade.h:140
msgid "To Do"
msgstr "Tehtävää"
#. blue
-#: ../filter/filter-label.c:125 ../mail/em-migrate.c:1015
-#: ../mail/mail-config.c:79 ../mail/mail-config.glade.h:93
+#: ../filter/filter-label.c:125 ../mail/em-migrate.c:1045
+#: ../mail/mail-config.c:80 ../mail/mail-config.glade.h:93
msgid "Later"
msgstr "Myöhemmin"
@@ -10329,11 +10320,11 @@ msgstr "Evolution sähköpostin muokkaimen asetukset"
msgid "Evolution Mail preferences control"
msgstr "Evolution sähköpostin asetukset"
-#: ../mail/GNOME_Evolution_Mail.server.in.in.h:11 ../mail/em-folder-view.c:473
+#: ../mail/GNOME_Evolution_Mail.server.in.in.h:11 ../mail/em-folder-view.c:469
#: ../mail/importers/elm-importer.c:418
#: ../mail/importers/netscape-importer.c:1902
-#: ../mail/importers/pine-importer.c:474 ../mail/mail-component.c:536
-#: ../mail/mail-component.c:587
+#: ../mail/importers/pine-importer.c:474 ../mail/mail-component.c:557
+#: ../mail/mail-component.c:608
msgid "Mail"
msgstr "Sähköposti"
@@ -10350,12 +10341,12 @@ msgstr "Sähköpostin asetukset"
msgid "_Mail"
msgstr "_Sähköposti"
-#: ../mail/em-account-editor.c:385
+#: ../mail/em-account-editor.c:387
#, c-format
msgid "%s License Agreement"
msgstr "Lisenssisopimus ohjelmalle %s"
-#: ../mail/em-account-editor.c:392
+#: ../mail/em-account-editor.c:394
#, c-format
msgid ""
"\n"
@@ -10368,67 +10359,67 @@ msgstr ""
"ohjelmalle %s\n"
"ja ruksita laatikko, jos hyväksyt lisenssin\n"
-#: ../mail/em-account-editor.c:462 ../mail/em-filter-folder-element.c:237
+#: ../mail/em-account-editor.c:464 ../mail/em-filter-folder-element.c:237
#: ../mail/em-vfolder-rule.c:494
msgid "Select Folder"
msgstr "Valitse kansio"
-#: ../mail/em-account-editor.c:1662 ../mail/mail-config.glade.h:89
+#: ../mail/em-account-editor.c:1664 ../mail/mail-config.glade.h:89
msgid "Identity"
msgstr "Omat tiedot"
-#: ../mail/em-account-editor.c:1698 ../mail/mail-config.glade.h:114
+#: ../mail/em-account-editor.c:1700 ../mail/mail-config.glade.h:114
msgid "Receiving Email"
msgstr "Vastaanotto"
-#: ../mail/em-account-editor.c:1875
+#: ../mail/em-account-editor.c:1877
msgid "Automatically check for _new mail every"
msgstr "T_arkista onko uutta postia joka"
-#: ../mail/em-account-editor.c:2044 ../mail/mail-config.glade.h:124
+#: ../mail/em-account-editor.c:2045 ../mail/mail-config.glade.h:124
msgid "Sending Email"
msgstr "Lähetys"
-#: ../mail/em-account-editor.c:2088 ../mail/mail-config.glade.h:67
+#: ../mail/em-account-editor.c:2089 ../mail/mail-config.glade.h:67
msgid "Defaults"
msgstr "Oletusasetukset"
-#: ../mail/em-account-editor.c:2147 ../mail/mail-config.glade.h:119
+#: ../mail/em-account-editor.c:2148 ../mail/mail-config.glade.h:119
msgid "Security"
msgstr "Turvallisuus"
#. Most sections for this is auto-generated fromt the camel config
-#: ../mail/em-account-editor.c:2184 ../mail/em-account-editor.c:2259
+#: ../mail/em-account-editor.c:2185 ../mail/em-account-editor.c:2260
msgid "Receiving Options"
msgstr "Vastaanoton asetukset"
-#: ../mail/em-account-editor.c:2185 ../mail/em-account-editor.c:2260
+#: ../mail/em-account-editor.c:2186 ../mail/em-account-editor.c:2261
msgid "Checking for New Mail"
msgstr "Uusien viestien haku"
-#: ../mail/em-account-editor.c:2600 ../mail/mail-config.glade.h:33
+#: ../mail/em-account-editor.c:2585 ../mail/mail-config.glade.h:33
msgid "Account Editor"
msgstr "Tilimuokkain"
-#: ../mail/em-account-editor.c:2600 ../mail/mail-config.glade.h:79
+#: ../mail/em-account-editor.c:2585 ../mail/mail-config.glade.h:79
msgid "Evolution Account Assistant"
msgstr "Evolutionin sähköpostitilien apulainen"
#. translators: default account indicator
-#: ../mail/em-account-prefs.c:412
+#: ../mail/em-account-prefs.c:428
msgid "[Default]"
msgstr "[Oletus]"
-#: ../mail/em-account-prefs.c:466
+#: ../mail/em-account-prefs.c:482
msgid "Account name"
msgstr "Tilin nimi"
-#: ../mail/em-account-prefs.c:468
+#: ../mail/em-account-prefs.c:484
msgid "Protocol"
msgstr "Protokolla"
#: ../mail/em-composer-prefs.c:306 ../mail/em-composer-prefs.c:429
-#: ../mail/mail-config.c:934
+#: ../mail/mail-config.c:935
msgid "Unnamed"
msgstr "Nimeämätön"
@@ -10444,18 +10435,18 @@ msgstr "Lisää allekirjoitus-skripti"
msgid "Signature(s)"
msgstr "Allekirjoitukset"
-#: ../mail/em-composer-utils.c:910
+#: ../mail/em-composer-utils.c:911
msgid "-------- Forwarded Message --------"
msgstr "------- Välitetty viesti ---------"
-#: ../mail/em-composer-utils.c:1526
+#: ../mail/em-composer-utils.c:1521
msgid "an unknown sender"
msgstr "Tuntematon lähettäjä"
#. Note to translators: this is the attribution string used when quoting messages.
#. * each ${Variable} gets replaced with a value. To see a full list of available
#. * variables, see em-composer-utils.c:1514
-#: ../mail/em-composer-utils.c:1573
+#: ../mail/em-composer-utils.c:1568
msgid ""
"On ${AbbrevWeekdayName}, ${Year}-${Month}-${Day} at ${24Hour}:${Minute} "
"${TimeZone}, ${Sender} wrote:"
@@ -10601,7 +10592,7 @@ msgstr "Roskaposti"
msgid "Junk Test"
msgstr "Roskapostitesti"
-#: ../mail/em-filter-i18n.h:37 ../mail/em-folder-view.c:999
+#: ../mail/em-filter-i18n.h:37 ../mail/em-folder-view.c:992
#: ../widgets/misc/e-expander.c:189
msgid "Label"
msgstr "Merkitse"
@@ -10758,7 +10749,7 @@ msgid "Create New Folder"
msgstr "Luo uusi kansio"
#: ../mail/em-folder-selector.c:166 ../mail/em-folder-tree.c:2527
-#: ../mail/mail-component.c:739 ../plugins/shared-folder/install-shared.c:144
+#: ../mail/mail-component.c:770 ../plugins/shared-folder/install-shared.c:144
#: ../plugins/shared-folder/share-folder-common.c:345
msgid "Specify where to create the folder:"
msgstr "Määrittele mihin kansio luodaan:"
@@ -10781,20 +10772,20 @@ msgstr "vKansiot"
msgid "UNMATCHED"
msgstr "EI VASTAAVAA"
-#: ../mail/em-folder-tree-model.c:468 ../mail/mail-component.c:139
+#: ../mail/em-folder-tree-model.c:468 ../mail/mail-component.c:142
msgid "Drafts"
msgstr "Luonnokset"
#. translators: standard local mailbox names
-#: ../mail/em-folder-tree-model.c:471 ../mail/mail-component.c:138
+#: ../mail/em-folder-tree-model.c:471 ../mail/mail-component.c:141
msgid "Inbox"
msgstr "Saapuneet"
-#: ../mail/em-folder-tree-model.c:474 ../mail/mail-component.c:140
+#: ../mail/em-folder-tree-model.c:474 ../mail/mail-component.c:143
msgid "Outbox"
msgstr "Lähtevät"
-#: ../mail/em-folder-tree-model.c:476 ../mail/mail-component.c:141
+#: ../mail/em-folder-tree-model.c:476 ../mail/mail-component.c:144
msgid "Sent"
msgstr "Lähetetyt"
@@ -10816,12 +10807,12 @@ msgstr "Siirretään kansiota %s"
msgid "Copying folder %s"
msgstr "Kopioidaan kansiota %s"
-#: ../mail/em-folder-tree.c:930 ../mail/message-list.c:1617
+#: ../mail/em-folder-tree.c:930 ../mail/message-list.c:1612
#, c-format
msgid "Moving messages into folder %s"
msgstr "Siirretään viestejä kansioon %s"
-#: ../mail/em-folder-tree.c:932 ../mail/message-list.c:1619
+#: ../mail/em-folder-tree.c:932 ../mail/message-list.c:1614
#, c-format
msgid "Copying messages into folder %s"
msgstr "Kopioidaan viestejä kansioon %s"
@@ -10849,13 +10840,13 @@ msgid "Copying `%s' to `%s'"
msgstr "Kopioidaan %s paikkaan %s"
#: ../mail/em-folder-tree.c:2297 ../mail/em-folder-tree.c:2311
-#: ../mail/em-folder-view.c:869 ../mail/em-folder-view.c:884
+#: ../mail/em-folder-view.c:862 ../mail/em-folder-view.c:877
#: ../mail/importers/evolution-mbox-importer.c:120
#: ../mail/importers/evolution-outlook-importer.c:134
msgid "Select folder"
msgstr "Valitse kansio"
-#: ../mail/em-folder-tree.c:2297 ../mail/em-folder-view.c:884
+#: ../mail/em-folder-tree.c:2297 ../mail/em-folder-view.c:877
msgid "C_opy"
msgstr "_Kopioi"
@@ -10865,7 +10856,7 @@ msgstr "_Kopioi"
msgid "Creating folder `%s'"
msgstr "Luodaan kansiota %s"
-#: ../mail/em-folder-tree.c:2527 ../mail/mail-component.c:739
+#: ../mail/em-folder-tree.c:2527 ../mail/mail-component.c:770
#: ../plugins/shared-folder/install-shared.c:144
#: ../plugins/shared-folder/share-folder-common.c:345
msgid "Create folder"
@@ -10912,130 +10903,130 @@ msgstr "_Uusi kansio..."
msgid "_Rename..."
msgstr "_Nimeä uudestaan..."
-#: ../mail/em-folder-view.c:977 ../mail/em-popup.c:498
+#: ../mail/em-folder-view.c:970 ../mail/em-popup.c:499
#: ../ui/evolution-mail-message.xml.h:87
msgid "Reply to _All"
msgstr "Vastaa k_aikille"
-#: ../mail/em-folder-view.c:978 ../ui/evolution-mail-message.xml.h:123
+#: ../mail/em-folder-view.c:971 ../ui/evolution-mail-message.xml.h:123
msgid "_Reply to Sender"
msgstr "_Vastaa lähettäjälle"
-#: ../mail/em-folder-view.c:979 ../mail/em-popup.c:500
+#: ../mail/em-folder-view.c:972 ../mail/em-popup.c:501
#: ../ui/evolution-mail-message.xml.h:110
msgid "_Forward"
msgstr "_Välitä"
-#: ../mail/em-folder-view.c:982 ../ui/evolution-mail-message.xml.h:109
+#: ../mail/em-folder-view.c:975 ../ui/evolution-mail-message.xml.h:109
msgid "_Edit as New Message..."
msgstr "_Muokkaa uutena viestinä..."
-#: ../mail/em-folder-view.c:984
+#: ../mail/em-folder-view.c:977
msgid "_Print"
msgstr "_Tulosta"
-#: ../mail/em-folder-view.c:988
+#: ../mail/em-folder-view.c:981
msgid "U_ndelete"
msgstr "_Palauta"
-#: ../mail/em-folder-view.c:989
+#: ../mail/em-folder-view.c:982
msgid "Mo_ve to Folder..."
msgstr "_Siirrä kansioon..."
-#: ../mail/em-folder-view.c:990 ../ui/evolution-addressbook.xml.h:32
+#: ../mail/em-folder-view.c:983 ../ui/evolution-addressbook.xml.h:32
msgid "_Copy to Folder..."
msgstr "_Kopioi kansioon..."
-#: ../mail/em-folder-view.c:993
+#: ../mail/em-folder-view.c:986
msgid "Mark as _Important"
msgstr "Merkitse tärkeäks_i"
-#: ../mail/em-folder-view.c:994
+#: ../mail/em-folder-view.c:987
msgid "_Mark as Unimportant"
msgstr "Merkitse tärkeäks_i"
-#: ../mail/em-folder-view.c:995 ../ui/evolution-mail-message.xml.h:54
+#: ../mail/em-folder-view.c:988 ../ui/evolution-mail-message.xml.h:54
msgid "Mark as _Junk"
msgstr "Merkitse _roskapostiksi"
-#: ../mail/em-folder-view.c:996 ../ui/evolution-mail-message.xml.h:55
+#: ../mail/em-folder-view.c:989 ../ui/evolution-mail-message.xml.h:55
msgid "Mark as _Not Junk"
msgstr "Merkitse _ei-roskapostiksi"
-#: ../mail/em-folder-view.c:997
+#: ../mail/em-folder-view.c:990
msgid "Mark for Follo_w Up..."
msgstr "_Merkitse vastineeseen..."
-#: ../mail/em-folder-view.c:1005
+#: ../mail/em-folder-view.c:998
msgid "Fla_g Completed"
msgstr "_Merkitse valmiiksi"
-#: ../mail/em-folder-view.c:1006
+#: ../mail/em-folder-view.c:999
msgid "Cl_ear Flag"
msgstr "_Poista merkki"
-#: ../mail/em-folder-view.c:1009
+#: ../mail/em-folder-view.c:1002
msgid "Crea_te Rule From Message"
msgstr "_Luo viestistä sääntö"
-#: ../mail/em-folder-view.c:1010
+#: ../mail/em-folder-view.c:1003
msgid "vFolder on _Subject"
msgstr "vKansio _aiheen perusteella"
-#: ../mail/em-folder-view.c:1011
+#: ../mail/em-folder-view.c:1004
msgid "vFolder on Se_nder"
msgstr "vKansio _lähettäjän perusteella"
-#: ../mail/em-folder-view.c:1012
+#: ../mail/em-folder-view.c:1005
msgid "vFolder on _Recipients"
msgstr "vKansio _vastaanottajien perusteella"
-#: ../mail/em-folder-view.c:1013
+#: ../mail/em-folder-view.c:1006
msgid "vFolder on Mailing _List"
msgstr "VKansio _listan perusteella"
-#: ../mail/em-folder-view.c:1017
+#: ../mail/em-folder-view.c:1010
msgid "Filter on Sub_ject"
msgstr "Suodata a_iheen mukaan"
-#: ../mail/em-folder-view.c:1018
+#: ../mail/em-folder-view.c:1011
msgid "Filter on Sen_der"
msgstr "Suodata _lähettäjän mukaan"
-#: ../mail/em-folder-view.c:1019
+#: ../mail/em-folder-view.c:1012
msgid "Filter on Re_cipients"
msgstr "Suodata _vastaanottajien mukaan"
-#: ../mail/em-folder-view.c:1020
+#: ../mail/em-folder-view.c:1013
msgid "Filter on _Mailing List"
msgstr "Suodata _postituslistan mukaan"
#. default charset used in mail view
-#: ../mail/em-folder-view.c:1851 ../mail/em-folder-view.c:1895
+#: ../mail/em-folder-view.c:1844 ../mail/em-folder-view.c:1888
msgid "Default"
msgstr "Oletukset"
-#: ../mail/em-folder-view.c:1994
+#: ../mail/em-folder-view.c:1987
msgid "Print Message"
msgstr "Tulosta viesti"
-#: ../mail/em-folder-view.c:2293
+#: ../mail/em-folder-view.c:2295
msgid "_Copy Link Location"
msgstr "_Kopioi linkin sijainti"
-#: ../mail/em-folder-view.c:2295
+#: ../mail/em-folder-view.c:2297
msgid "Create _vFolder"
msgstr "Luo vKansio"
-#: ../mail/em-folder-view.c:2296
+#: ../mail/em-folder-view.c:2298
msgid "_From this Address"
msgstr "_Tästä osoitteesta"
-#: ../mail/em-folder-view.c:2297
+#: ../mail/em-folder-view.c:2299
msgid "_To this Address"
msgstr "_Osoitteeseen:"
-#: ../mail/em-folder-view.c:2583
+#: ../mail/em-folder-view.c:2568
#, c-format
msgid "Click to mail %s"
msgstr "Näpäytä lähettääksesi %s"
@@ -11329,7 +11320,7 @@ msgstr "Kerran viikossa"
msgid "Once per month"
msgstr "Kerran kuussa"
-#: ../mail/em-migrate.c:1168
+#: ../mail/em-migrate.c:1198
msgid ""
"The location and hierarchy of the Evolution mailbox folders has changed "
"since Evolution 1.x.\n"
@@ -11341,47 +11332,47 @@ msgstr ""
"\n"
"Odota kärsivällisesti, että Evolution muuntaa kansioitasi..."
-#: ../mail/em-migrate.c:1602
+#: ../mail/em-migrate.c:1632
#, c-format
msgid "Unable to create new folder `%s': %s"
msgstr "Kansiota '%s' ei voida luoda: %s"
-#: ../mail/em-migrate.c:1628
+#: ../mail/em-migrate.c:1658
#, c-format
msgid "Unable to copy folder `%s' to `%s': %s"
msgstr "Kansiota %s ei voitu kopioidaan kohtaan %s: %s"
-#: ../mail/em-migrate.c:1813
+#: ../mail/em-migrate.c:1843
#, c-format
msgid "Unable to scan for existing mailboxes at `%s': %s"
msgstr "Sähköpostin läpikäynti kohteesta '%s' epäonnistui: %s"
-#: ../mail/em-migrate.c:2017
+#: ../mail/em-migrate.c:2047
#, c-format
msgid "Unable to open old POP keep-on-server data `%s': %s"
msgstr "Vanhaa POP keep-on-server tietoa '%s' ei voitu avata: %s"
-#: ../mail/em-migrate.c:2031
+#: ../mail/em-migrate.c:2061
#, c-format
msgid "Unable to create POP3 keep-on-server data directory `%s': %s"
msgstr "POP3 keep-on-server tietojen hakemistoa '%s' ei voitu luoda: %s"
-#: ../mail/em-migrate.c:2060
+#: ../mail/em-migrate.c:2090
#, c-format
msgid "Unable to copy POP3 keep-on-server data `%s': %s"
msgstr "POP3 keep-on-server tietoa `%s' ei voitu kopioida: %s"
-#: ../mail/em-migrate.c:2494 ../mail/em-migrate.c:2506
+#: ../mail/em-migrate.c:2561 ../mail/em-migrate.c:2573
#, c-format
msgid "Failed to create local mail storage `%s': %s"
msgstr "Paikallista sähköpostitilaa '%s' ei voitu luoda: %s"
-#: ../mail/em-migrate.c:2657
+#: ../mail/em-migrate.c:2693
#, c-format
msgid "Unable to create local mail folders at `%s': %s"
msgstr "Paikallisia sähköpostikansioita ei voitu luoda paikkaan '%s': %s"
-#: ../mail/em-migrate.c:2675
+#: ../mail/em-migrate.c:2711
msgid ""
"Unable to read settings from previous Evolution install, `evolution/config."
"xmldb' does not exist or is corrupt."
@@ -11389,40 +11380,40 @@ msgstr ""
"Asetuksia ei voitu lukea aikaisemmasta Evolutionin asennuksesta, evolution/"
"config.xmldb' on joko vaurioitunut tai puuttuu."
-#: ../mail/em-popup.c:381
+#: ../mail/em-popup.c:382
msgid "Save As..."
msgstr "Tallenna nimellä..."
-#: ../mail/em-popup.c:400
+#: ../mail/em-popup.c:401
#, c-format
msgid "untitled_image.%s"
msgstr "nimetön_kuva.%s"
-#: ../mail/em-popup.c:494
+#: ../mail/em-popup.c:495
msgid "Set as _Background"
msgstr "Aseta _taustaksi"
-#: ../mail/em-popup.c:496
+#: ../mail/em-popup.c:497
msgid "_Reply to sender"
msgstr "_Vastaa lähettäjälle"
-#: ../mail/em-popup.c:497 ../ui/evolution-mail-message.xml.h:88
+#: ../mail/em-popup.c:498 ../ui/evolution-mail-message.xml.h:88
msgid "Reply to _List"
msgstr "Vastaa _listalle"
-#: ../mail/em-popup.c:548
+#: ../mail/em-popup.c:549
msgid "_Open Link in Browser"
msgstr "_Avaa linkki selaimessa"
-#: ../mail/em-popup.c:549
+#: ../mail/em-popup.c:550
msgid "_Send New Message To..."
msgstr "Lähetä uusi _viesti..."
-#: ../mail/em-popup.c:550
+#: ../mail/em-popup.c:551
msgid "_Add to Addressbook"
msgstr "_Lisää osoitekirjaan"
-#: ../mail/em-popup.c:681
+#: ../mail/em-popup.c:666
#, c-format
msgid "Open in %s..."
msgstr "Avaa ohjelmassa %s..."
@@ -11469,7 +11460,7 @@ msgid "Add address"
msgstr "Lisää osoite"
#. Drop filename for messages from a mailbox
-#: ../mail/em-utils.c:1055
+#: ../mail/em-utils.c:1071
#, c-format
msgid "Messages from %s"
msgstr "Viestit %s:ltä"
@@ -12186,80 +12177,80 @@ msgstr "%s postilista"
msgid "Add Filter Rule"
msgstr "Lisää suodatussääntö"
-#: ../mail/mail-component.c:484
+#: ../mail/mail-component.c:505
#, c-format
msgid "%d deleted"
msgid_plural "%d deleted"
msgstr[0] "%d poistettu"
msgstr[1] "%d poistettu"
-#: ../mail/mail-component.c:486
+#: ../mail/mail-component.c:507
#, c-format
msgid "%d junk"
msgid_plural "%d junk"
msgstr[0] "%d roskaposti"
msgstr[1] "%d roskapostia"
-#: ../mail/mail-component.c:509
+#: ../mail/mail-component.c:530
#, c-format
msgid "%d draft"
msgid_plural "%d drafts"
msgstr[0] "%d luonnos"
msgstr[1] "%d luonnosta"
-#: ../mail/mail-component.c:511
+#: ../mail/mail-component.c:532
#, c-format
msgid "%d sent"
msgid_plural "%d sent"
msgstr[0] "%d lähetetty"
msgstr[1] "%d lähetettyä"
-#: ../mail/mail-component.c:513
+#: ../mail/mail-component.c:534
#, c-format
msgid "%d unsent"
msgid_plural "%d unsent"
msgstr[0] "%d lähettämätön"
msgstr[1] "%d lähettämätöntä"
-#: ../mail/mail-component.c:517
+#: ../mail/mail-component.c:538
#, c-format
msgid "%d total"
msgid_plural "%d total"
msgstr[0] "%d viesti"
msgstr[1] "%d viestä"
-#: ../mail/mail-component.c:519
+#: ../mail/mail-component.c:540
#, c-format
msgid ", %d unread"
msgid_plural ", %d unread"
msgstr[0] "%d lukematon"
msgstr[1] "%d lukematonta"
-#: ../mail/mail-component.c:691
+#: ../mail/mail-component.c:722
msgid "New Mail Message"
msgstr "Uusi viesti"
-#: ../mail/mail-component.c:692
+#: ../mail/mail-component.c:723
msgid "_Mail Message"
msgstr "_Lähetä viesti"
-#: ../mail/mail-component.c:693
+#: ../mail/mail-component.c:724
msgid "Compose a new mail message"
msgstr "Kirjoita uusi viesti"
-#: ../mail/mail-component.c:699
+#: ../mail/mail-component.c:730
msgid "New Mail Folder"
msgstr "Uusi sähköpostikansio"
-#: ../mail/mail-component.c:700
+#: ../mail/mail-component.c:731
msgid "Mail _Folder"
msgstr "Sähköpostikansio"
-#: ../mail/mail-component.c:701
+#: ../mail/mail-component.c:732
msgid "Create a new mail folder"
msgstr "Luo uusi sähköpostikansio"
-#: ../mail/mail-component.c:848
+#: ../mail/mail-component.c:879
msgid "Failed upgrading Mail settings or folders."
msgstr "Sähköpostin asetusten tai kansioiden päivitys epäonnistui."
@@ -13889,73 +13880,73 @@ msgstr "Muokkaa vKansiota"
msgid "New vFolder"
msgstr "Uusi vKansio"
-#: ../mail/message-list.c:999
+#: ../mail/message-list.c:994
msgid "Unseen"
msgstr "Nähty"
-#: ../mail/message-list.c:1000
+#: ../mail/message-list.c:995
msgid "Seen"
msgstr "Näkemättä"
-#: ../mail/message-list.c:1001
+#: ../mail/message-list.c:996
msgid "Answered"
msgstr "Vastattu"
-#: ../mail/message-list.c:1002
+#: ../mail/message-list.c:997
msgid "Multiple Unseen Messages"
msgstr "Useita lukemattomia viestejä"
-#: ../mail/message-list.c:1003
+#: ../mail/message-list.c:998
msgid "Multiple Messages"
msgstr "Useita viestejä"
-#: ../mail/message-list.c:1007
+#: ../mail/message-list.c:1002
msgid "Lowest"
msgstr "Matalin"
-#: ../mail/message-list.c:1008
+#: ../mail/message-list.c:1003
msgid "Lower"
msgstr "Matalampi"
-#: ../mail/message-list.c:1012
+#: ../mail/message-list.c:1007
msgid "Higher"
msgstr "Korkeampi"
-#: ../mail/message-list.c:1013
+#: ../mail/message-list.c:1008
msgid "Highest"
msgstr "Korkein"
-#: ../mail/message-list.c:1341
+#: ../mail/message-list.c:1336
msgid "?"
msgstr "?"
#. strftime format of a time,
#. in 12-hour format, without seconds.
-#: ../mail/message-list.c:1348 ../plugins/itip-formatter/itip-view.c:189
+#: ../mail/message-list.c:1343 ../plugins/itip-formatter/itip-view.c:189
msgid "Today %l:%M %p"
msgstr "Tänään %l:%M %p"
-#: ../mail/message-list.c:1357
+#: ../mail/message-list.c:1352
msgid "Yesterday %l:%M %p"
msgstr "Eilen %l:%M %p"
-#: ../mail/message-list.c:1369
+#: ../mail/message-list.c:1364
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
-#: ../mail/message-list.c:1377
+#: ../mail/message-list.c:1372
msgid "%b %d %l:%M %p"
msgstr "%b %d %l:%M %p"
-#: ../mail/message-list.c:1379
+#: ../mail/message-list.c:1374
msgid "%b %d %Y"
msgstr "%b %d %Y"
-#: ../mail/message-list.c:2046
+#: ../mail/message-list.c:2041
msgid "Message List"
msgstr "_Viestilista"
-#: ../mail/message-list.c:3386
+#: ../mail/message-list.c:3384
msgid "Generating message list"
msgstr "Luodaan viestiluetteloa"
@@ -14176,22 +14167,22 @@ msgid "Mark as default folder"
msgstr "Merkitse oletuskansioksi"
#. i18n: "Secure Password Authentication" is an Outlookism
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:53
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:59
msgid "Secure Password"
msgstr "Turvallinen salasana"
#. i18n: "NTLM" probably doesn't translate
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:56
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:62
msgid ""
"This option will connect to the Exchange server using secure password (NTLM) "
"authentication."
msgstr "Yhdistä Exchange-palvelimelle käyttäen turvallista salasanaa (NTLM)."
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:64
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:70
msgid "Plaintext Password"
msgstr "Selväkielinen salasana"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:66
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:72
msgid ""
"This option will connect to the Exchange server using standard plaintext "
"password authentication."
@@ -14199,7 +14190,7 @@ msgstr ""
"Yhdistä Exchange-palvelimelle käyttäen tavallista selväkielistä salasanaa."
#. Description section
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:113
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:193
msgid ""
"The message specified below will be automatically sent to \n"
"each person who sends mail to you while you are out of the office."
@@ -14207,37 +14198,39 @@ msgstr ""
"Alla määritelty viesti lähetään automaattisesti jokaiselle \n"
"henkilölle, joka lähettää sähköpostia sinulle kun et ole tavoitettavissa."
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:140
-msgid "I am in the office"
-msgstr "Olen tavoitettavissa"
-
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:154
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:221
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:231
msgid "I am out of the office"
msgstr "En ole tavoitettavissa"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:168
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:224
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:228
+msgid "I am in the office"
+msgstr "Olen tavoitettavissa"
+
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:257
msgid "Out of office Message:"
msgstr "<b>Ei tavoitettavissa:</b>"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:194
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:302
msgid "Exchange Settings"
msgstr "Exchangen asetukset"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:332
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:448
#: ../plugins/exchange-account-setup/exchange-ask-password.c:200
msgid "_OWA Url:"
msgstr "_OWA Url:"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:340
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:456
#: ../plugins/exchange-account-setup/exchange-ask-password.c:193
msgid "A_uthenticate"
msgstr "K_irjautuminen"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:457
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:664
msgid "Authentication Type"
msgstr "Kirjautumisen tyyppi"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:471
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:678
msgid "Ch_eck for Supported Types"
msgstr "Tar_kista tuetut tyypit"
@@ -14861,7 +14854,7 @@ msgstr "Kapsuloi arvot käyttäen:"
msgid "Comma separated value format (.csv)"
msgstr "Pilkulla erotettu muoto (.csv)"
-#: ../plugins/save-calendar/ical-format.c:120
+#: ../plugins/save-calendar/ical-format.c:136
msgid "iCalendar format (.ics)"
msgstr "iCalendar muoto (.ics)"
@@ -14869,12 +14862,12 @@ msgstr "iCalendar muoto (.ics)"
msgid "RDF format (.rdf)"
msgstr "RDF-muoto (.rdf)"
-#: ../plugins/save-calendar/save-calendar.c:172
-#: ../plugins/save-calendar/save-calendar.c:182
+#: ../plugins/save-calendar/save-calendar.c:171
+#: ../plugins/save-calendar/save-calendar.c:181
msgid "Select destination file"
msgstr "Valitse kohdetiedosto"
-#: ../plugins/save-calendar/save-calendar.c:217
+#: ../plugins/save-calendar/save-calendar.c:216
#, c-format
msgid ""
"The suggested filename extension of this filetype (%s) is unused in the "
@@ -15024,7 +15017,7 @@ msgstr "Tulostimen asetukset"
msgid "Skip development warning dialog"
msgstr "Hypätäänkö kehitysversiovaroituksen yli"
-#: ../shell/apps_evolution_shell.schemas.in.in.h:11 ../shell/main.c:475
+#: ../shell/apps_evolution_shell.schemas.in.in.h:11 ../shell/main.c:476
msgid "Start in offline mode"
msgstr "Aloita yhteydettömässä tilassa"
@@ -15290,27 +15283,27 @@ msgstr "Kansion nimi ei voi sisältää merkkiä \"#\""
msgid "'.' and '..' are reserved folder names."
msgstr "'.' ja '..' ovat varattuja kansion nimiä"
-#: ../shell/e-shell-window-commands.c:67
+#: ../shell/e-shell-window-commands.c:69
msgid "The GNOME Pilot tools do not appear to be installed on this system."
msgstr "Gnomen Pilot-työkalut eivät ole asennetuina tähän järjestelmään."
-#: ../shell/e-shell-window-commands.c:75
+#: ../shell/e-shell-window-commands.c:77
#, c-format
msgid "Error executing %s."
msgstr "Virhe suoritettaessa %s."
-#: ../shell/e-shell-window-commands.c:124
+#: ../shell/e-shell-window-commands.c:126
msgid "Bug buddy is not installed."
msgstr "Bug buddya ei ole asennettu."
-#: ../shell/e-shell-window-commands.c:132
+#: ../shell/e-shell-window-commands.c:134
msgid "Bug buddy could not be run."
msgstr "Bug buddya ei voitu ajaa."
#. The translator-credits string is for translators to list
#. * per language credits for translation, displayed in the
#. * about box
-#: ../shell/e-shell-window-commands.c:426
+#: ../shell/e-shell-window-commands.c:501
msgid "translator-credits"
msgstr ""
"Jarkko Ranta, 2000-2001\n"
@@ -15319,19 +15312,19 @@ msgstr ""
"\n"
"http://gnome-fi.org/"
-#: ../shell/e-shell-window-commands.c:440
+#: ../shell/e-shell-window-commands.c:515
msgid "Groupware Suite"
msgstr "Ryhmätyöohjelmisto"
-#: ../shell/e-shell-window-commands.c:681
+#: ../shell/e-shell-window-commands.c:742
msgid "_Work Online"
msgstr "_Yhtedellinen tila"
-#: ../shell/e-shell-window-commands.c:694 ../ui/evolution.xml.h:51
+#: ../shell/e-shell-window-commands.c:755 ../ui/evolution.xml.h:51
msgid "_Work Offline"
msgstr "_Yhteydetön tila"
-#: ../shell/e-shell-window-commands.c:707 ../ui/evolution.xml.h:34
+#: ../shell/e-shell-window-commands.c:768 ../ui/evolution.xml.h:34
msgid "Work Offline"
msgstr "Valitse yhteydetön tila"
@@ -15351,37 +15344,37 @@ msgstr ""
"Evolution on yhteydettömässä tilassa. Paina tästä siirtyäksesi "
"yhteydelliseen tilaan."
-#: ../shell/e-shell-window.c:708
+#: ../shell/e-shell-window.c:713
#, c-format
msgid "Switch to %s"
msgstr "Vaihda %s:aan"
-#: ../shell/e-shell.c:597
+#: ../shell/e-shell.c:598
msgid "Uknown system error."
msgstr "Tuntematon järjestelmävirhe."
-#: ../shell/e-shell.c:805 ../shell/e-shell.c:806
+#: ../shell/e-shell.c:800 ../shell/e-shell.c:801
#, c-format
msgid "%ld KB"
msgstr "%ld KB"
-#: ../shell/e-shell.c:1249 ../widgets/misc/e-cell-date-edit.c:256
+#: ../shell/e-shell.c:1254 ../widgets/misc/e-cell-date-edit.c:256
msgid "OK"
msgstr "OK"
-#: ../shell/e-shell.c:1251
+#: ../shell/e-shell.c:1256
msgid "Invalid arguments"
msgstr "Virheelisiä argumentteja"
-#: ../shell/e-shell.c:1253
+#: ../shell/e-shell.c:1258
msgid "Cannot register on OAF"
msgstr "OAF:ia ei voidaan rekisteröidä"
-#: ../shell/e-shell.c:1255
+#: ../shell/e-shell.c:1260
msgid "Configuration Database not found"
msgstr "Asetustietokantaa ei löytynyt"
-#: ../shell/e-shell.c:1257
+#: ../shell/e-shell.c:1262
msgid "Generic error"
msgstr "Yleinen virhe"
@@ -15499,7 +15492,7 @@ msgid "Evolution can import data from the following files:"
msgstr "Evolution voi tuoda tietoa seuraavista tiedostoista:"
#. Preview/Alpha/Beta version warning message
-#: ../shell/main.c:237
+#: ../shell/main.c:238
#, no-c-format
msgid ""
"Hi. Thanks for taking the time to download this preview release\n"
@@ -15534,7 +15527,7 @@ msgstr ""
"Toivomme että nautit suuren työmme tuloksista, ja odotamme innolla\n"
"osallistumistasi kehitykseen!\n"
-#: ../shell/main.c:261
+#: ../shell/main.c:262
msgid ""
"Thanks\n"
"The Evolution Team\n"
@@ -15542,39 +15535,39 @@ msgstr ""
"Kiitos\n"
"Evolution-tiimi\n"
-#: ../shell/main.c:268
+#: ../shell/main.c:269
msgid "Don't tell me again"
msgstr "Älä kerro enää uudelleen"
-#: ../shell/main.c:473
+#: ../shell/main.c:474
msgid "Start Evolution activating the specified component"
msgstr "Käynnistä Evolution aktivoimalla määritelty komponentti"
-#: ../shell/main.c:477
+#: ../shell/main.c:478
msgid "Start in online mode"
msgstr "Aloita yhteydellisessä tilassa"
-#: ../shell/main.c:480
+#: ../shell/main.c:481
msgid "Forcibly shut down all Evolution components"
msgstr "Sulje kaikki Evolutionin osat väkisin"
-#: ../shell/main.c:484
+#: ../shell/main.c:485
msgid "Forcibly re-migrate from Evolution 1.4"
msgstr "Uudelleentuo tiedot väkisin Evolution 1.4:stä"
-#: ../shell/main.c:487
+#: ../shell/main.c:488
msgid "Send the debugging output of all components to a file."
msgstr "Lähetä testitulosteet kaikista komponenteista tiedostoon."
-#: ../shell/main.c:490
+#: ../shell/main.c:491
msgid "Disable the mono plugin environment."
msgstr "Älä käytä mono-liitännäisiä."
-#: ../shell/main.c:493
+#: ../shell/main.c:494
msgid "Disable loading of any plugins."
msgstr "Älä lataa mitään liitännäisiä."
-#: ../shell/main.c:524
+#: ../shell/main.c:525
#, c-format
msgid ""
"%s: --online and --offline cannot be used together.\n"
@@ -15747,34 +15740,34 @@ msgstr ""
#: ../smime/gui/certificate-manager.c:134
#: ../smime/gui/certificate-manager.c:142
-#: ../smime/gui/certificate-manager.c:375
-#: ../smime/gui/certificate-manager.c:383
-#: ../smime/gui/certificate-manager.c:595
-#: ../smime/gui/certificate-manager.c:603
+#: ../smime/gui/certificate-manager.c:377
+#: ../smime/gui/certificate-manager.c:385
+#: ../smime/gui/certificate-manager.c:597
+#: ../smime/gui/certificate-manager.c:605
msgid "Select a cert to import..."
msgstr "Valitse tuotava varmenne..."
-#: ../smime/gui/certificate-manager.c:263
-#: ../smime/gui/certificate-manager.c:472
-#: ../smime/gui/certificate-manager.c:690
+#: ../smime/gui/certificate-manager.c:265
+#: ../smime/gui/certificate-manager.c:474
+#: ../smime/gui/certificate-manager.c:692
msgid "Certificate Name"
msgstr "Varmenteen nimi"
-#: ../smime/gui/certificate-manager.c:272
-#: ../smime/gui/certificate-manager.c:490
+#: ../smime/gui/certificate-manager.c:274
+#: ../smime/gui/certificate-manager.c:492
msgid "Purposes"
msgstr "Tarkoitukset"
-#: ../smime/gui/certificate-manager.c:281 ../smime/gui/smime-ui.glade.h:36
+#: ../smime/gui/certificate-manager.c:283 ../smime/gui/smime-ui.glade.h:36
#: ../smime/lib/e-cert.c:569
msgid "Serial Number"
msgstr "Sarjanumero"
-#: ../smime/gui/certificate-manager.c:289
+#: ../smime/gui/certificate-manager.c:291
msgid "Expires"
msgstr "Vanhenee"
-#: ../smime/gui/certificate-manager.c:481
+#: ../smime/gui/certificate-manager.c:483
msgid "E-Mail Address"
msgstr "Sähköpostiosoite"
@@ -18133,6 +18126,12 @@ msgstr "%s (%d%% valmiina)"
msgid "click here to go to url"
msgstr "näpäytä tästä siirtyäksesi URLiin"
+#~ msgid "_Remember this password"
+#~ msgstr "_Muista tämä salasana"
+
+#~ msgid "_Remember this password for the remainder of this session"
+#~ msgstr "Muista salasana tämän istunnon loppuun asti"
+
#~ msgid "Mark as _Unread"
#~ msgstr "Merkitse luke_mattomaksi"
diff --git a/po/fr.po b/po/fr.po
index 9338ae04da..b9c44e0c79 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -1,4 +1,3 @@
-# French translation of evolution.
# Copyright (C) 2000-2005 Free Software Foundation, Inc.
# This file is distributed under the same license as the evolution package.
#
@@ -16,11 +15,11 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: evolution 2.1.5\n"
+"Project-Id-Version: evolution 2.2.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-02-20 19:17+0100\n"
-"PO-Revision-Date: 2005-02-20 16:47+0100\n"
-"Last-Translator: Vincent Carriere <carriere_vincent@yahoo.fr>\n"
+"POT-Creation-Date: 2005-03-13 19:18+0100\n"
+"PO-Revision-Date: 2005-03-13 19:18+0100\n"
+"Last-Translator: Christophe Merlet (RedFox) <redfox@redfoxcenter.org>\n"
"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -34,12 +33,12 @@ msgid "evolution addressbook"
msgstr "carnet d'adresses d'Evolution"
#: a11y/addressbook/ea-minicard-view.c:34
-#: addressbook/gui/component/addressbook-component.c:182
+#: addressbook/gui/component/addressbook-component.c:196
msgid "New Contact"
msgstr "Nouveau contact"
#: a11y/addressbook/ea-minicard-view.c:35
-#: addressbook/gui/component/addressbook-component.c:190
+#: addressbook/gui/component/addressbook-component.c:204
msgid "New Contact List"
msgstr "Nouvelle liste de contacts"
@@ -51,7 +50,7 @@ msgstr[0] "dossier actuel du carnet d'adresses possède %d carte"
msgstr[1] "dossier actuel du carnet d'adresses possède %d cartes"
#: a11y/addressbook/ea-minicard.c:31
-#: calendar/gui/alarm-notify/alarm-queue.c:863
+#: calendar/gui/alarm-notify/alarm-queue.c:878
#: ui/evolution-message-composer.xml.h:10
msgid "Open"
msgstr "Ouvrir"
@@ -152,7 +151,7 @@ msgstr "vue du calendrier pour une semaine de travail"
msgid "calendar view for one or more days"
msgstr "vue du calendrier pour un ou plusieurs jours"
-#: a11y/calendar/ea-gnome-calendar.c:187 calendar/gui/calendar-component.c:520
+#: a11y/calendar/ea-gnome-calendar.c:187 calendar/gui/calendar-component.c:660
msgid "%A %d %b %Y"
msgstr "%A %d %b %Y"
@@ -162,22 +161,22 @@ msgstr "%A %d %b %Y"
#. %d = day of month, %b = abbreviated month name.
#. You can change the order but don't change the
#. specifiers or add anything.
-#: a11y/calendar/ea-gnome-calendar.c:190 calendar/gui/calendar-component.c:523
+#: a11y/calendar/ea-gnome-calendar.c:190 calendar/gui/calendar-component.c:663
#: calendar/gui/e-day-view-top-item.c:719 calendar/gui/e-day-view.c:1511
#: calendar/gui/e-week-view-main-item.c:321
msgid "%a %d %b"
msgstr "%a %d %b"
#: a11y/calendar/ea-gnome-calendar.c:192 a11y/calendar/ea-gnome-calendar.c:197
-#: a11y/calendar/ea-gnome-calendar.c:199 calendar/gui/calendar-component.c:525
-#: calendar/gui/calendar-component.c:530 calendar/gui/calendar-component.c:532
+#: a11y/calendar/ea-gnome-calendar.c:199 calendar/gui/calendar-component.c:665
+#: calendar/gui/calendar-component.c:670 calendar/gui/calendar-component.c:672
msgid "%a %d %b %Y"
msgstr "%a %d %b %Y"
#: a11y/calendar/ea-gnome-calendar.c:216 a11y/calendar/ea-gnome-calendar.c:222
#: a11y/calendar/ea-gnome-calendar.c:228 a11y/calendar/ea-gnome-calendar.c:230
-#: calendar/gui/calendar-component.c:544 calendar/gui/calendar-component.c:551
-#: calendar/gui/calendar-component.c:557 calendar/gui/calendar-component.c:559
+#: calendar/gui/calendar-component.c:684 calendar/gui/calendar-component.c:691
+#: calendar/gui/calendar-component.c:697 calendar/gui/calendar-component.c:699
msgid "%d %b %Y"
msgstr "%d %b %Y"
@@ -186,7 +185,7 @@ msgstr "%d %b %Y"
#. strftime format %d = day of month, %b = abbreviated
#. month name. You can change the order but don't
#. change the specifiers or add anything.
-#: a11y/calendar/ea-gnome-calendar.c:220 calendar/gui/calendar-component.c:549
+#: a11y/calendar/ea-gnome-calendar.c:220 calendar/gui/calendar-component.c:689
#: calendar/gui/e-day-view-top-item.c:723 calendar/gui/e-day-view.c:1527
#: calendar/gui/e-week-view-main-item.c:335
msgid "%d %b"
@@ -231,16 +230,16 @@ msgstr "vue du calendrier pour un mois"
msgid "calendar view for one or more weeks"
msgstr "vue du calendrier pour une ou plusieurs semaines"
-#: a11y/widgets/ea-calendar-item.c:290 a11y/widgets/ea-calendar-item.c:296
+#: a11y/widgets/ea-calendar-item.c:296 a11y/widgets/ea-calendar-item.c:302
msgid "%d %B %Y"
msgstr "%d %B %Y"
-#: a11y/widgets/ea-calendar-item.c:298
+#: a11y/widgets/ea-calendar-item.c:304
#, c-format
msgid "Calendar: from %s to %s"
msgstr "Calendrier : du %s au %s"
-#: a11y/widgets/ea-calendar-item.c:333
+#: a11y/widgets/ea-calendar-item.c:339
msgid "evolution calendar item"
msgstr "élément du calendrier d'Evolution"
@@ -512,7 +511,7 @@ msgstr "Configurez la complétion automatique ici"
#. Create the contacts group
#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:5
#: addressbook/gui/component/addressbook-view.c:1119
-#: calendar/gui/migration.c:385
+#: calendar/gui/calendar-component.c:235 calendar/gui/migration.c:385
msgid "Contacts"
msgstr "Contacts"
@@ -550,64 +549,67 @@ msgstr "Gérer vos certificats S/Mime ici"
#. create the local source group
#. On This Computer is always first and vFolders is always last
-#: addressbook/gui/component/addressbook-component.c:120
+#: addressbook/gui/component/addressbook-component.c:133
#: addressbook/gui/component/addressbook-migrate.c:493
-#: calendar/gui/migration.c:459 calendar/gui/migration.c:552
+#: calendar/gui/calendar-component.c:208 calendar/gui/migration.c:459
+#: calendar/gui/migration.c:552 calendar/gui/tasks-component.c:188
#: mail/em-folder-tree-model.c:197 mail/em-folder-tree-model.c:199
-#: mail/mail-component.c:270 mail/mail-vfolder.c:222
+#: mail/mail-component.c:290 mail/mail-vfolder.c:222
msgid "On This Computer"
msgstr "Sur cet ordinateur"
#. Create the default Person addressbook
#. Create the default Person calendar
#. Create the default Person task list
+#. Create the default Person addressbook
#. orange
-#: addressbook/gui/component/addressbook-component.c:128
+#: addressbook/gui/component/addressbook-component.c:141
#: addressbook/gui/component/addressbook-migrate.c:501
#: addressbook/gui/contact-editor/contact-editor.glade.h:20
-#: calendar/gui/migration.c:467 calendar/gui/migration.c:560
-#: filter/filter-label.c:123 mail/em-migrate.c:1013 mail/mail-config.c:77
+#: calendar/gui/calendar-component.c:216 calendar/gui/migration.c:467
+#: calendar/gui/migration.c:560 calendar/gui/tasks-component.c:196
+#: filter/filter-label.c:123 mail/em-migrate.c:1043 mail/mail-config.c:78
#: mail/mail-config.glade.h:101
msgid "Personal"
msgstr "Personnel"
#. Create the LDAP source group
-#: addressbook/gui/component/addressbook-component.c:136
+#: addressbook/gui/component/addressbook-component.c:149
#: addressbook/gui/component/addressbook-migrate.c:509
msgid "On LDAP Servers"
msgstr "Sur les serveurs LDAP"
-#: addressbook/gui/component/addressbook-component.c:183
+#: addressbook/gui/component/addressbook-component.c:197
msgid "_Contact"
msgstr "_Contacts"
-#: addressbook/gui/component/addressbook-component.c:184
+#: addressbook/gui/component/addressbook-component.c:198
msgid "Create a new contact"
msgstr "Créer un nouveau contact"
-#: addressbook/gui/component/addressbook-component.c:191
+#: addressbook/gui/component/addressbook-component.c:205
msgid "Contact _List"
msgstr "_Liste de contacts"
-#: addressbook/gui/component/addressbook-component.c:192
+#: addressbook/gui/component/addressbook-component.c:206
msgid "Create a new contact list"
msgstr "Créer une nouvelle liste de contacts"
-#: addressbook/gui/component/addressbook-component.c:198
-#: addressbook/gui/component/addressbook-config.c:1121
+#: addressbook/gui/component/addressbook-component.c:212
+#: addressbook/gui/component/addressbook-config.c:1120
#: addressbook/gui/component/addressbook-view.c:757
msgid "New Address Book"
msgstr "Nouveau carnet d'adresses"
-#: addressbook/gui/component/addressbook-component.c:199
+#: addressbook/gui/component/addressbook-component.c:213
msgid "Address _Book"
msgstr "_Carnet d'adresses"
-#: addressbook/gui/component/addressbook-component.c:200
+#: addressbook/gui/component/addressbook-component.c:214
msgid "Create a new address book"
msgstr "Créer un nouveau carnet d'adresses"
-#: addressbook/gui/component/addressbook-component.c:273
+#: addressbook/gui/component/addressbook-component.c:287
msgid "Failed upgrading Addressbook settings or folders."
msgstr ""
"Échec lors de la mise à jour des paramètres ou des dossier du carnet "
@@ -663,18 +665,18 @@ msgstr "Recherche"
msgid "Downloading"
msgstr "Téléchargement"
-#: addressbook/gui/component/addressbook-config.c:1119
+#: addressbook/gui/component/addressbook-config.c:1118
#: addressbook/gui/component/ldap-config.glade.h:14
msgid "Address Book Properties"
msgstr "Propriétés du carnet d'adresses"
#: addressbook/gui/component/addressbook-migrate.c:72
-#: calendar/gui/migration.c:142 mail/em-migrate.c:1160
+#: calendar/gui/migration.c:142 mail/em-migrate.c:1190
msgid "Migrating..."
msgstr "Migration..."
#: addressbook/gui/component/addressbook-migrate.c:124
-#: calendar/gui/migration.c:189 mail/em-migrate.c:1201
+#: calendar/gui/migration.c:189 mail/em-migrate.c:1231
#, c-format
msgid "Migrating `%s':"
msgstr "Migration de « %s » :"
@@ -705,9 +707,9 @@ msgid ""
"\n"
"Please be patient while Evolution migrates your folders..."
msgstr ""
-"Le format des contacts pour les listes de courrier a changé.\n"
+"Le format des contacts pour les listes de diffusions a changé.\n"
"\n"
-"Veuillez être patient pendant qu'Evolution fait migrer vos dossiers..."
+"Veuillez être patient pendant qu'Evolution migre vos dossiers..."
#: addressbook/gui/component/addressbook-migrate.c:1146
msgid ""
@@ -731,7 +733,7 @@ msgstr ""
#: addressbook/gui/component/addressbook-view.c:758
#: addressbook/gui/widgets/e-addressbook-view.c:935
-#: calendar/gui/calendar-component.c:386 calendar/gui/tasks-component.c:330
+#: calendar/gui/calendar-component.c:526 calendar/gui/tasks-component.c:430
#: mail/em-filter-i18n.h:11 ui/evolution-addressbook.xml.h:8
#: ui/evolution-calendar.xml.h:5 ui/evolution-mail-message.xml.h:24
#: ui/evolution-tasks.xml.h:6
@@ -739,7 +741,7 @@ msgid "Delete"
msgstr "Supprimer"
#: addressbook/gui/component/addressbook-view.c:760
-#: calendar/gui/calendar-component.c:387 calendar/gui/tasks-component.c:331
+#: calendar/gui/calendar-component.c:527 calendar/gui/tasks-component.c:431
msgid "Properties..."
msgstr "Propriétés..."
@@ -883,7 +885,7 @@ msgid "Add Address Book"
msgstr "Ajouter carnet d'adresses"
#: addressbook/gui/component/ldap-config.glade.h:15
-#: mail/em-account-editor.c:292
+#: mail/em-account-editor.c:302
msgid "Always"
msgstr "Toujours"
@@ -919,7 +921,7 @@ msgid "Lo_gin:"
msgstr "Co_nnexion :"
#: addressbook/gui/component/ldap-config.glade.h:25
-#: mail/em-account-editor.c:290
+#: mail/em-account-editor.c:300
msgid "Never"
msgstr "Jamais"
@@ -1047,7 +1049,7 @@ msgid "Using email address"
msgstr "En utilisant l'adresse électronique"
#: addressbook/gui/component/ldap-config.glade.h:42
-#: mail/em-account-editor.c:291
+#: mail/em-account-editor.c:301
msgid "Whenever Possible"
msgstr "Lorsque c'est possible"
@@ -1101,7 +1103,7 @@ msgstr "cartes"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:12
#: calendar/gui/dialogs/alarm-dialog.glade.h:26
#: calendar/gui/dialogs/calendar-setup.glade.h:14 filter/filter.glade.h:16
-#: mail/em-account-editor.c:1825 plugins/calendar-http/calendar-http.c:263
+#: mail/em-account-editor.c:1885 plugins/calendar-http/calendar-http.c:263
#: plugins/calendar-weather/calendar-weather.c:564
msgid "minutes"
msgstr "minutes"
@@ -1199,7 +1201,7 @@ msgstr "Téléphone"
#: addressbook/gui/contact-editor/contact-editor.glade.h:23
#: addressbook/gui/contact-editor/e-contact-editor-im.c:235
#: addressbook/gui/contact-editor/e-contact-editor.c:199
-#: filter/filter-label.c:122 mail/em-migrate.c:1012 mail/mail-config.c:76
+#: filter/filter-label.c:122 mail/em-migrate.c:1042 mail/mail-config.c:77
#: mail/mail-config.glade.h:148
msgid "Work"
msgstr "Travail"
@@ -1299,7 +1301,7 @@ msgstr "_Vidéo-conférence :"
#: addressbook/gui/contact-editor/contact-editor.glade.h:46
msgid "_Wants to receive HTML mail"
-msgstr "_Préfère recevoir le courrier en HTML"
+msgstr "_Préfère recevoir les courriels en HTML"
#: addressbook/gui/contact-editor/contact-editor.glade.h:47
msgid "_Web Log:"
@@ -2425,9 +2427,9 @@ msgstr "_Nom complet :"
#: addressbook/gui/contact-editor/e-contact-quick-add.c:316
msgid "E-_mail:"
-msgstr "_Courrier électronique :"
+msgstr "_Adresse électronique :"
-#: addressbook/gui/contact-editor/eab-editor.c:319
+#: addressbook/gui/contact-editor/eab-editor.c:326
msgid ""
"Are you sure you want\n"
"to delete these contacts?"
@@ -2435,7 +2437,7 @@ msgstr ""
"Êtes-vous sûr de vouloir \n"
"supprimer ces contacts ?"
-#: addressbook/gui/contact-editor/eab-editor.c:322
+#: addressbook/gui/contact-editor/eab-editor.c:329
msgid ""
"Are you sure you want\n"
"to delete this contact?"
@@ -2554,7 +2556,7 @@ msgid "Add an email to the List"
msgstr "Ajouter une adresse électronique à la liste"
#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:5
-#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:820
+#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:817
msgid "Contact List Editor"
msgstr "Éditeur de liste de contacts"
@@ -2601,11 +2603,11 @@ msgstr "Carnet"
msgid "Is New List"
msgstr "Est une nouvelle liste"
-#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:710
+#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:707
msgid "_Members"
msgstr "_Membres"
-#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:713
+#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:710
msgid "Contact List Members"
msgstr "Membres de la liste de contacts"
@@ -2714,7 +2716,7 @@ msgstr "Source"
#: addressbook/gui/widgets/e-addressbook-view.c:244
#: calendar/gui/dialogs/meeting-page.etspec.h:11
#: calendar/gui/e-calendar-table.etspec.h:13
-#: calendar/gui/e-meeting-list-view.c:244
+#: calendar/gui/e-meeting-list-view.c:319
#: calendar/gui/e-meeting-time-sel.etspec.h:11
msgid "Type"
msgstr "Type"
@@ -2741,7 +2743,7 @@ msgstr "Nouvelle liste de contacts..."
#: addressbook/gui/widgets/e-addressbook-view.c:923
#: ui/evolution-addressbook.xml.h:10
msgid "Forward Contact"
-msgstr "Faire suivre au contact"
+msgstr "Faire suivre le contact"
#: addressbook/gui/widgets/e-addressbook-view.c:924
msgid "Send Message to Contact"
@@ -2768,7 +2770,7 @@ msgid "Cut"
msgstr "Couper"
#: addressbook/gui/widgets/e-addressbook-view.c:933
-#: calendar/gui/calendar-component.c:385 calendar/gui/tasks-component.c:329
+#: calendar/gui/calendar-component.c:525 calendar/gui/tasks-component.c:429
#: ui/evolution-addressbook.xml.h:2 ui/evolution-mail-message.xml.h:9
#: ui/evolution-tasks.xml.h:2
msgid "Copy"
@@ -2831,17 +2833,17 @@ msgstr "Téléphone société"
#: addressbook/gui/widgets/e-addressbook-view.etspec.h:10
#: addressbook/gui/widgets/eab-contact-display.c:560 smime/lib/e-cert.c:826
msgid "Email"
-msgstr "Courrier électronique"
+msgstr "Adresse électronique"
#: addressbook/gui/widgets/e-addressbook-view.etspec.h:11
#: addressbook/gui/widgets/eab-popup-control.c:441
msgid "Email 2"
-msgstr "Courrier électronique 2"
+msgstr "Adresse électronique 2"
#: addressbook/gui/widgets/e-addressbook-view.etspec.h:12
#: addressbook/gui/widgets/eab-popup-control.c:451
msgid "Email 3"
-msgstr "Courrier électronique 3"
+msgstr "Adresse électronique 3"
#: addressbook/gui/widgets/e-addressbook-view.etspec.h:13
msgid "Family Name"
@@ -2924,7 +2926,7 @@ msgstr "Radio"
#: addressbook/gui/widgets/e-addressbook-view.etspec.h:33
#: calendar/gui/dialogs/meeting-page.etspec.h:9
-#: calendar/gui/e-meeting-list-view.c:251
+#: calendar/gui/e-meeting-list-view.c:326
#: calendar/gui/e-meeting-time-sel.etspec.h:9
msgid "Role"
msgstr "Rôle"
@@ -3072,7 +3074,7 @@ msgstr "Membres de la liste"
#: addressbook/gui/widgets/eab-contact-display.c:337
#: addressbook/gui/widgets/eab-contact-display.c:339
msgid "E-mail"
-msgstr "Courrier électronique"
+msgstr "Adresse électronique"
#: addressbook/gui/widgets/eab-contact-display.c:361
msgid "Position"
@@ -3382,7 +3384,7 @@ msgstr "VCards multiples"
#: addressbook/gui/widgets/eab-gui-util.c:940
#, c-format
msgid "VCard for %s"
-msgstr "VCard pour %s"
+msgstr "VCard de %s"
#.
#. * This is the code for the UI thingie that lets you manipulate the e-mail
@@ -4132,10 +4134,10 @@ msgstr "La liste des tâches n'est pas marquée pour un usage hors-ligne."
#. calendar:server-version secondary
#: calendar/calendar-errors.xml.h:146
-msgid " Some features may not work correctly with your current server version"
+msgid " Some features may not work correctly with your current server version "
msgstr ""
-"Il est probable que certaines fonctionnalités ne fonctionnent pas "
-"correctement avec la version actuelle du serveur"
+" Certaines fonctionnalités peuvent ne pas fonctionner correctement avec la "
+"version actuelle du serveur"
#: calendar/common/authentication.c:49 calendar/gui/e-pub-utils.c:301
#: smime/gui/component.c:48
@@ -4172,7 +4174,7 @@ msgid "Calendar and Tasks"
msgstr "Calendrier et tâches"
#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:2
-#: calendar/gui/calendar-component.c:1150
+#: calendar/gui/calendar-component.c:1290
msgid "Calendars"
msgstr "Calendriers"
@@ -4208,7 +4210,7 @@ msgstr "Composant Tâches d'Evolution"
#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:10
#: calendar/gui/e-tasks.c:1219 calendar/gui/print.c:1822
-#: calendar/gui/tasks-component.c:408 calendar/gui/tasks-component.c:881
+#: calendar/gui/tasks-component.c:508 calendar/gui/tasks-component.c:981
#: calendar/gui/tasks-control.c:408 calendar/importers/icalendar-importer.c:83
#: calendar/importers/icalendar-importer.c:701
#: plugins/groupwise-account-setup/camel-gw-listener.c:383
@@ -4297,28 +4299,28 @@ msgstr "emplacement"
msgid "start-time"
msgstr "heure de début"
-#: calendar/gui/alarm-notify/alarm-queue.c:864
+#: calendar/gui/alarm-notify/alarm-queue.c:879
msgid "Dismiss"
msgstr "Faire disparaître"
-#: calendar/gui/alarm-notify/alarm-queue.c:865
+#: calendar/gui/alarm-notify/alarm-queue.c:880
msgid "Dismiss All"
msgstr "Faire tout disparaître"
-#: calendar/gui/alarm-notify/alarm-queue.c:947
+#: calendar/gui/alarm-notify/alarm-queue.c:962
msgid "No summary available."
msgstr "Aucun résumé disponible."
-#: calendar/gui/alarm-notify/alarm-queue.c:956
-#: calendar/gui/alarm-notify/alarm-queue.c:958
+#: calendar/gui/alarm-notify/alarm-queue.c:971
+#: calendar/gui/alarm-notify/alarm-queue.c:973
msgid "No description available."
msgstr "Aucune description disponible."
-#: calendar/gui/alarm-notify/alarm-queue.c:966
+#: calendar/gui/alarm-notify/alarm-queue.c:981
msgid "No location information available."
msgstr "Aucune information sur l'emplacement disponible."
-#: calendar/gui/alarm-notify/alarm-queue.c:982
+#: calendar/gui/alarm-notify/alarm-queue.c:997
#, c-format
msgid ""
"Alarm on %s\n"
@@ -4331,12 +4333,12 @@ msgstr ""
"Débute à %s\n"
"Fini à %s"
-#: calendar/gui/alarm-notify/alarm-queue.c:1084
-#: calendar/gui/alarm-notify/alarm-queue.c:1108
+#: calendar/gui/alarm-notify/alarm-queue.c:1099
+#: calendar/gui/alarm-notify/alarm-queue.c:1123
msgid "Warning"
msgstr "Avertissement"
-#: calendar/gui/alarm-notify/alarm-queue.c:1088
+#: calendar/gui/alarm-notify/alarm-queue.c:1103
msgid ""
"Evolution does not support calendar reminders with\n"
"email notifications yet, but this reminder was\n"
@@ -4349,7 +4351,7 @@ msgstr ""
"un courrier. Evolution affichera une fenêtre\n"
"d'avertissement classique à la place."
-#: calendar/gui/alarm-notify/alarm-queue.c:1114
+#: calendar/gui/alarm-notify/alarm-queue.c:1129
#, c-format
msgid ""
"An Evolution Calendar reminder is about to trigger. This reminder is "
@@ -4366,7 +4368,7 @@ msgstr ""
"\n"
"Voulez-vous vraiment lancer ce programme ?"
-#: calendar/gui/alarm-notify/alarm-queue.c:1128
+#: calendar/gui/alarm-notify/alarm-queue.c:1143
msgid "Do not ask me about this program again."
msgstr "Ne plus me demander à propos de ce programme."
@@ -4720,7 +4722,7 @@ msgstr "L'emplacement contient"
msgid "Unmatched"
msgstr "Différent"
-#: calendar/gui/calendar-commands.c:120 calendar/gui/calendar-component.c:568
+#: calendar/gui/calendar-commands.c:120 calendar/gui/calendar-component.c:708
#: calendar/gui/dialogs/calendar-setup.c:362 calendar/gui/gnome-cal.c:1942
#: plugins/groupwise-account-setup/camel-gw-listener.c:382
#: plugins/groupwise-account-setup/camel-gw-listener.c:412
@@ -4750,77 +4752,95 @@ msgstr "Purger les événements plus vieux que"
msgid "days"
msgstr "jours"
-#: calendar/gui/calendar-component.c:384
+#. Create the On the web source group
+#. Create the Webcal source group
+#. Create the LDAP source group
+#: calendar/gui/calendar-component.c:223 calendar/gui/migration.c:486
+#: calendar/gui/migration.c:579 calendar/gui/tasks-component.c:204
+msgid "On The Web"
+msgstr "Sur internet"
+
+#: calendar/gui/calendar-component.c:241 calendar/gui/migration.c:388
+msgid "Birthdays & Anniversaries"
+msgstr "Anniversaires"
+
+#. Create the weather group
+#: calendar/gui/calendar-component.c:247
+#: plugins/calendar-weather/calendar-weather.c:100
+msgid "Weather"
+msgstr "Météo"
+
+#: calendar/gui/calendar-component.c:524
#: calendar/gui/dialogs/calendar-setup.c:442
msgid "New Calendar"
msgstr "Nouveau calendrier"
-#: calendar/gui/calendar-component.c:703
+#: calendar/gui/calendar-component.c:843
msgid "Failed upgrading calendars."
msgstr "Échec de la mise à jour des calendriers."
-#: calendar/gui/calendar-component.c:999
+#: calendar/gui/calendar-component.c:1139
#, c-format
msgid "Unable to open the calendar '%s' for creating events and meetings"
msgstr ""
"Impossible d'ouvrir le calendrier « %s » pour créer des événements et des "
"réunions"
-#: calendar/gui/calendar-component.c:1015
+#: calendar/gui/calendar-component.c:1155
msgid "There is no calendar available for creating events and meetings"
msgstr ""
"Il n'y a pas de calendrier disponible pour créer des événements et des "
"réunions"
-#: calendar/gui/calendar-component.c:1125
+#: calendar/gui/calendar-component.c:1265
msgid "Calendar Source Selector"
msgstr "Sélecteur de source de calendrier"
-#: calendar/gui/calendar-component.c:1316
+#: calendar/gui/calendar-component.c:1456
msgid "New appointment"
msgstr "Nouveau rendez-vous"
-#: calendar/gui/calendar-component.c:1317
+#: calendar/gui/calendar-component.c:1457
msgid "_Appointment"
msgstr "_Rendez-vous"
-#: calendar/gui/calendar-component.c:1318
+#: calendar/gui/calendar-component.c:1458
msgid "Create a new appointment"
msgstr "Créer un nouveau rendez-vous"
-#: calendar/gui/calendar-component.c:1324
+#: calendar/gui/calendar-component.c:1464
msgid "New meeting"
msgstr "Nouvelle réunion"
-#: calendar/gui/calendar-component.c:1325
+#: calendar/gui/calendar-component.c:1465
msgid "M_eeting"
msgstr "_Réunion"
-#: calendar/gui/calendar-component.c:1326
+#: calendar/gui/calendar-component.c:1466
msgid "Create a new meeting request"
msgstr "Créer une nouvelle demande de réunion"
-#: calendar/gui/calendar-component.c:1332
+#: calendar/gui/calendar-component.c:1472
msgid "New all day appointment"
msgstr "Nouveau rendez-vous sur une journée entière"
-#: calendar/gui/calendar-component.c:1333
+#: calendar/gui/calendar-component.c:1473
msgid "All Day A_ppointment"
msgstr "Rendez-vous _journée entière"
-#: calendar/gui/calendar-component.c:1334
+#: calendar/gui/calendar-component.c:1474
msgid "Create a new all-day appointment"
msgstr "Créer un nouveau rendez-vous journée entière"
-#: calendar/gui/calendar-component.c:1340
+#: calendar/gui/calendar-component.c:1480
msgid "New calendar"
msgstr "Nouveau calendrier"
-#: calendar/gui/calendar-component.c:1341
+#: calendar/gui/calendar-component.c:1481
msgid "Cale_ndar"
msgstr "Cale_ndrier"
-#: calendar/gui/calendar-component.c:1342
+#: calendar/gui/calendar-component.c:1482
msgid "Create a new calendar"
msgstr "Créer un nouveau calendrier"
@@ -4852,7 +4872,7 @@ msgstr "Méthode non supportée pour l'ouverture du calendrier"
msgid "Permission denied to open the calendar"
msgstr "Vous n'avez pas les droits suffisants pour ouvrir le calendrier."
-#: calendar/gui/comp-editor-factory.c:437 shell/e-shell.c:1259
+#: calendar/gui/comp-editor-factory.c:437 shell/e-shell.c:1264
msgid "Unknown error"
msgstr "Erreur inconnue"
@@ -4993,7 +5013,7 @@ msgid "%.0fG"
msgstr "%.0fG"
#: calendar/gui/dialogs/cal-attachment-bar.c:298
-#: calendar/gui/dialogs/cal-attachment-bar.c:913
+#: calendar/gui/dialogs/cal-attachment-bar.c:922
#: composer/e-msg-composer-attachment-bar.c:295 mail/em-utils.c:436
msgid "attachment"
msgstr "pièce jointe"
@@ -5073,7 +5093,7 @@ msgid "MIME type:"
msgstr "Type MIME :"
#. g_object_set((GObject *)renderer, "activatable", TRUE, NULL);
-#: calendar/gui/dialogs/cal-prefs-dialog.c:576 mail/em-account-prefs.c:460
+#: calendar/gui/dialogs/cal-prefs-dialog.c:576 mail/em-account-prefs.c:476
#: mail/em-composer-prefs.c:888 plugins/plugin-manager/plugin-manager.c:213
msgid "Enabled"
msgstr "Activé"
@@ -5092,15 +5112,15 @@ msgstr "Ne pas supprimer"
#: calendar/gui/dialogs/cal-prefs-dialog.c:787
#: calendar/gui/dialogs/cal-prefs-dialog.c:820
-#: calendar/gui/dialogs/cal-prefs-dialog.c:853 mail/em-account-prefs.c:307
-#: mail/em-account-prefs.c:335 mail/em-account-prefs.c:366
+#: calendar/gui/dialogs/cal-prefs-dialog.c:853 mail/em-account-prefs.c:323
+#: mail/em-account-prefs.c:351 mail/em-account-prefs.c:382
msgid "Disable"
msgstr "Désactiver"
#: calendar/gui/dialogs/cal-prefs-dialog.c:787
#: calendar/gui/dialogs/cal-prefs-dialog.c:820
-#: calendar/gui/dialogs/cal-prefs-dialog.c:855 mail/em-account-prefs.c:307
-#: mail/em-account-prefs.c:335 mail/em-account-prefs.c:368
+#: calendar/gui/dialogs/cal-prefs-dialog.c:855 mail/em-account-prefs.c:323
+#: mail/em-account-prefs.c:351 mail/em-account-prefs.c:384
msgid "Enable"
msgstr "Activer"
@@ -5506,8 +5526,8 @@ msgstr[1] "%d messages attachés"
#: calendar/gui/dialogs/comp-editor.c:412 calendar/gui/e-calendar-table.c:1164
#: calendar/gui/e-calendar-view.c:1402 composer/e-msg-composer.c:2906
-#: mail/em-folder-tree.c:1046 mail/em-folder-view.c:972
-#: mail/message-list.c:1712 ui/evolution-addressbook.xml.h:31
+#: mail/em-folder-tree.c:1046 mail/em-folder-view.c:966
+#: mail/message-list.c:1707 ui/evolution-addressbook.xml.h:31
#: ui/evolution-calendar.xml.h:39 ui/evolution-composer-entries.xml.h:7
#: ui/evolution-mail-message.xml.h:105 ui/evolution-tasks.xml.h:20
msgid "_Copy"
@@ -5515,91 +5535,91 @@ msgstr "_Copier"
#: calendar/gui/dialogs/comp-editor.c:413 composer/e-msg-composer.c:2907
#: mail/em-folder-tree.c:1047 mail/em-folder-tree.c:2311
-#: mail/em-folder-view.c:868 mail/message-list.c:1713
+#: mail/em-folder-view.c:862 mail/message-list.c:1708
msgid "_Move"
msgstr "_Déplacer"
#: calendar/gui/dialogs/comp-editor.c:415 composer/e-msg-composer.c:2909
-#: mail/em-folder-tree.c:1049 mail/message-list.c:1715
+#: mail/em-folder-tree.c:1049 mail/message-list.c:1710
msgid "Cancel _Drag"
msgstr "Annuler le _déplacement"
-#: calendar/gui/dialogs/comp-editor.c:659
+#: calendar/gui/dialogs/comp-editor.c:682
msgid "Could not update object"
msgstr "Impossible de mettre à jour l'objet."
-#: calendar/gui/dialogs/comp-editor.c:820 composer/e-msg-composer.c:2310
+#: calendar/gui/dialogs/comp-editor.c:843 composer/e-msg-composer.c:2310
#, c-format
msgid "<b>%d</b> File Attached"
msgid_plural "<b>%d</b> Files Attached"
msgstr[0] "<b>%d</b> fichier attaché"
msgstr[1] "<b>%d</b> fichiers attachés"
-#: calendar/gui/dialogs/comp-editor.c:873 composer/e-msg-composer.c:2339
+#: calendar/gui/dialogs/comp-editor.c:900 composer/e-msg-composer.c:2339
msgid "Hide _Attachment Bar (drop attachments here)"
msgstr "Masquer la barre des pièces _jointes (déposer les pièces jointes ici)"
-#: calendar/gui/dialogs/comp-editor.c:876
-#: calendar/gui/dialogs/comp-editor.c:928 composer/e-msg-composer.c:2342
+#: calendar/gui/dialogs/comp-editor.c:903
+#: calendar/gui/dialogs/comp-editor.c:955 composer/e-msg-composer.c:2342
#: composer/e-msg-composer.c:3471
msgid "Show _Attachment Bar (drop attachments here)"
msgstr "Afficher la barre des pièces _jointes (déposer les pièces jointes ici)"
-#: calendar/gui/dialogs/comp-editor.c:952 composer/e-msg-composer.c:3493
+#: calendar/gui/dialogs/comp-editor.c:979 composer/e-msg-composer.c:3493
msgid "Attachment Button: Press space key to toggle attachment bar"
msgstr ""
"Bouton de la pièce jointe : appuyer sur la barre d'espace pour commuter la "
"barre des pièces jointes"
-#: calendar/gui/dialogs/comp-editor.c:1499
-#: calendar/gui/dialogs/comp-editor.c:1542
+#: calendar/gui/dialogs/comp-editor.c:1526
+#: calendar/gui/dialogs/comp-editor.c:1569
msgid "Edit Appointment"
msgstr "Éditer le rendez-vous"
-#: calendar/gui/dialogs/comp-editor.c:1505
-#: calendar/gui/dialogs/comp-editor.c:1548
+#: calendar/gui/dialogs/comp-editor.c:1532
+#: calendar/gui/dialogs/comp-editor.c:1575
#, c-format
msgid "Meeting - %s"
msgstr "Réunion - %s"
-#: calendar/gui/dialogs/comp-editor.c:1507
-#: calendar/gui/dialogs/comp-editor.c:1550
+#: calendar/gui/dialogs/comp-editor.c:1534
+#: calendar/gui/dialogs/comp-editor.c:1577
#, c-format
msgid "Appointment - %s"
msgstr "Rendez-vous - %s"
-#: calendar/gui/dialogs/comp-editor.c:1511
-#: calendar/gui/dialogs/comp-editor.c:1554
+#: calendar/gui/dialogs/comp-editor.c:1538
+#: calendar/gui/dialogs/comp-editor.c:1581
#, c-format
msgid "Assigned Task - %s"
msgstr "Tâche assignée - %s"
-#: calendar/gui/dialogs/comp-editor.c:1513
-#: calendar/gui/dialogs/comp-editor.c:1556
+#: calendar/gui/dialogs/comp-editor.c:1540
+#: calendar/gui/dialogs/comp-editor.c:1583
#, c-format
msgid "Task - %s"
msgstr "Tâche - %s"
-#: calendar/gui/dialogs/comp-editor.c:1516
-#: calendar/gui/dialogs/comp-editor.c:1559
+#: calendar/gui/dialogs/comp-editor.c:1543
+#: calendar/gui/dialogs/comp-editor.c:1586
#, c-format
msgid "Journal entry - %s"
msgstr "Entrée de journal - %s"
-#: calendar/gui/dialogs/comp-editor.c:1527
-#: calendar/gui/dialogs/comp-editor.c:1569
+#: calendar/gui/dialogs/comp-editor.c:1554
+#: calendar/gui/dialogs/comp-editor.c:1596
msgid "No summary"
msgstr "Aucun résumé"
-#: calendar/gui/dialogs/comp-editor.c:2001
-#: calendar/gui/dialogs/comp-editor.c:2034
-#: calendar/gui/dialogs/comp-editor.c:2058
+#: calendar/gui/dialogs/comp-editor.c:2030
+#: calendar/gui/dialogs/comp-editor.c:2063
+#: calendar/gui/dialogs/comp-editor.c:2087
msgid "Changes made to this item may be discarded if an update arrives"
msgstr ""
"Les changements apportés à cet élément peuvent être annulés en cas de "
"réception d'une mise à jour."
-#: calendar/gui/dialogs/comp-editor.c:2082
+#: calendar/gui/dialogs/comp-editor.c:2111
msgid "Unable to use current version!"
msgstr "Impossible d'utiliser la version courante !"
@@ -5867,8 +5887,8 @@ msgstr "Heure de _début :"
#: calendar/gui/dialogs/meeting-page.glade.h:5
#: calendar/gui/e-cal-model-tasks.c:652 calendar/gui/e-itip-control.c:1104
#: composer/e-msg-composer.c:2117 filter/filter-rule.c:878
-#: mail/em-account-editor.c:675 mail/em-account-editor.c:1273
-#: mail/em-account-prefs.c:421 mail/em-folder-view.c:999
+#: mail/em-account-editor.c:685 mail/em-account-editor.c:1291
+#: mail/em-account-prefs.c:437 mail/em-folder-view.c:993
#: plugins/calendar-weather/calendar-weather.c:371
#: plugins/calendar-weather/calendar-weather.c:425
#: plugins/itip-formatter/itip-formatter.c:1376
@@ -5895,7 +5915,7 @@ msgid "_Delegate To..."
msgstr "_Déléguer à..."
#: calendar/gui/dialogs/meeting-page.etspec.h:1
-#: calendar/gui/e-meeting-list-view.c:235
+#: calendar/gui/e-meeting-list-view.c:308
#: calendar/gui/e-meeting-time-sel.etspec.h:1
msgid "Attendee"
msgstr "Participant"
@@ -5931,7 +5951,7 @@ msgid "Member"
msgstr "Membre"
#: calendar/gui/dialogs/meeting-page.etspec.h:8
-#: calendar/gui/e-meeting-list-view.c:258
+#: calendar/gui/e-meeting-list-view.c:333
#: calendar/gui/e-meeting-time-sel.etspec.h:8
msgid "RSVP"
msgstr "Réponse S.V.P"
@@ -5939,7 +5959,7 @@ msgstr "Réponse S.V.P"
#: calendar/gui/dialogs/meeting-page.etspec.h:10
#: calendar/gui/dialogs/task-editor.c:146
#: calendar/gui/e-calendar-table.etspec.h:10
-#: calendar/gui/e-meeting-list-view.c:265
+#: calendar/gui/e-meeting-list-view.c:340
#: calendar/gui/e-meeting-time-sel.etspec.h:10 mail/em-filter-i18n.h:63
#: mail/message-list.etspec.h:12
msgid "Status"
@@ -6007,38 +6027,38 @@ msgstr "Groupe de listes des tâches"
msgid "Task List Name"
msgstr "Nom de la liste des tâches"
-#: calendar/gui/dialogs/recur-comp.c:51
+#: calendar/gui/dialogs/recur-comp.c:52
msgid "You are modifying a recurring event, what would you like to modify?"
msgstr ""
"Vous êtes en train de modifier un événement récurrent. Que souhaitez-vous "
"modifier ?"
-#: calendar/gui/dialogs/recur-comp.c:55
+#: calendar/gui/dialogs/recur-comp.c:56
msgid "You are modifying a recurring task, what would you like to modify?"
msgstr ""
"Vous êtes en train de modifier une tâche récurrente. Que souhaitez-vous "
"modifier ?"
-#: calendar/gui/dialogs/recur-comp.c:59
+#: calendar/gui/dialogs/recur-comp.c:60
msgid ""
"You are modifying a recurring journal entry, what would you like to modify?"
msgstr ""
"Vous êtes en train de modifier une entrée de journal récurrente. Que "
"souhaitez-vous modifier ?"
-#: calendar/gui/dialogs/recur-comp.c:87
+#: calendar/gui/dialogs/recur-comp.c:88
msgid "This Instance Only"
msgstr "Seulement cette occurrence"
-#: calendar/gui/dialogs/recur-comp.c:91
+#: calendar/gui/dialogs/recur-comp.c:92
msgid "This and Prior Instances"
msgstr "Cette instance et les plus prioritaires"
-#: calendar/gui/dialogs/recur-comp.c:97
+#: calendar/gui/dialogs/recur-comp.c:98
msgid "This and Future Instances"
msgstr "Cette instances et les instances futures"
-#: calendar/gui/dialogs/recur-comp.c:102
+#: calendar/gui/dialogs/recur-comp.c:103
msgid "All Instances"
msgstr "Toutes les occurrences"
@@ -6168,7 +6188,7 @@ msgstr "Achevée"
#: calendar/gui/dialogs/task-details-page.glade.h:5
#: calendar/gui/e-cal-component-preview.c:248
-#: calendar/gui/e-calendar-table.c:382 mail/message-list.c:1011
+#: calendar/gui/e-calendar-table.c:382 mail/message-list.c:1006
msgid "High"
msgstr "Haute"
@@ -6182,13 +6202,13 @@ msgstr "En cours"
#: calendar/gui/dialogs/task-details-page.glade.h:7
#: calendar/gui/e-cal-component-preview.c:252
-#: calendar/gui/e-calendar-table.c:384 mail/message-list.c:1009
+#: calendar/gui/e-calendar-table.c:384 mail/message-list.c:1004
msgid "Low"
msgstr "Basse"
#: calendar/gui/dialogs/task-details-page.glade.h:8
#: calendar/gui/e-cal-component-preview.c:250 calendar/gui/e-cal-model.c:899
-#: calendar/gui/e-calendar-table.c:383 mail/message-list.c:1010
+#: calendar/gui/e-calendar-table.c:383 mail/message-list.c:1005
msgid "Normal"
msgstr "Normal"
@@ -6387,7 +6407,7 @@ msgstr "%s à %s"
msgid "%s for an unknown trigger type"
msgstr "%s pour un type d'activation inconnu"
-#: calendar/gui/e-cal-component-preview.c:70 mail/em-folder-view.c:2587
+#: calendar/gui/e-cal-component-preview.c:70 mail/em-folder-view.c:2573
#, c-format
msgid "Click to open %s"
msgstr "Cliquez pour ouvrir %s"
@@ -6415,7 +6435,7 @@ msgstr "Date d'échéance :"
#. Status
#: calendar/gui/e-cal-component-preview.c:222
#: calendar/gui/e-itip-control.c:1132
-#: plugins/exchange-account-setup/exchange-account-setup.c:129
+#: plugins/exchange-account-setup/exchange-account-setup.c:209
#: plugins/itip-formatter/itip-view.c:884
msgid "Status:"
msgstr "État :"
@@ -6493,7 +6513,7 @@ msgstr "Non"
#: calendar/gui/e-meeting-list-view.c:139
#: calendar/gui/e-meeting-list-view.c:153 calendar/gui/e-meeting-store.c:124
#: calendar/gui/e-meeting-store.c:159 calendar/gui/e-meeting-store.c:224
-#: mail/em-utils.c:1157 plugins/itip-formatter/itip-formatter.c:251
+#: mail/em-utils.c:1173 plugins/itip-formatter/itip-formatter.c:251
#: plugins/itip-formatter/itip-formatter.c:1398
#: plugins/plugin-manager/plugin-manager.c:72 shell/e-component-registry.c:201
#: shell/e-component-registry.c:205 widgets/misc/e-charset-picker.c:62
@@ -6579,7 +6599,7 @@ msgid "Open _Web Page"
msgstr "Ouvrir le _site internet"
#: calendar/gui/e-calendar-table.c:1158 calendar/gui/e-calendar-view.c:1396
-#: mail/em-folder-view.c:982 mail/em-popup.c:493
+#: mail/em-folder-view.c:976 mail/em-popup.c:494
#: ui/evolution-mail-message.xml.h:124
msgid "_Save As..."
msgstr "Enregistrer _sous..."
@@ -6622,7 +6642,7 @@ msgstr "_Marquer les tâches sélectionnées comme terminées"
#. FIXME: need to disable for undeletable folders
#: calendar/gui/e-calendar-table.c:1176 calendar/gui/e-calendar-view.c:1414
-#: mail/em-folder-tree.c:2814 mail/em-folder-view.c:986
+#: mail/em-folder-tree.c:2814 mail/em-folder-view.c:980
#: ui/evolution-addressbook.xml.h:33 ui/evolution-calendar.xml.h:40
#: ui/evolution-mail-message.xml.h:108 ui/evolution-tasks.xml.h:21
msgid "_Delete"
@@ -6897,18 +6917,18 @@ msgstr ""
#: calendar/gui/e-itip-control.c:1137 calendar/gui/e-meeting-list-view.c:175
#: calendar/gui/e-meeting-store.c:188 calendar/gui/e-meeting-store.c:211
-#: calendar/gui/itip-utils.c:422 plugins/itip-formatter/itip-formatter.c:1389
+#: calendar/gui/itip-utils.c:421 plugins/itip-formatter/itip-formatter.c:1389
msgid "Accepted"
msgstr "Accepté"
-#: calendar/gui/e-itip-control.c:1141 calendar/gui/itip-utils.c:425
+#: calendar/gui/e-itip-control.c:1141 calendar/gui/itip-utils.c:424
#: plugins/itip-formatter/itip-formatter.c:1392
msgid "Tentatively Accepted"
msgstr "Accepté provisoirement"
#: calendar/gui/e-itip-control.c:1145 calendar/gui/e-meeting-list-view.c:176
#: calendar/gui/e-meeting-store.c:190 calendar/gui/e-meeting-store.c:213
-#: calendar/gui/itip-utils.c:428 calendar/gui/itip-utils.c:454
+#: calendar/gui/itip-utils.c:427 calendar/gui/itip-utils.c:453
#: plugins/itip-formatter/itip-formatter.c:1395
msgid "Declined"
msgstr "Refusé"
@@ -7181,7 +7201,7 @@ msgstr "Mettre à jour le statut de l'interlocuteur"
msgid "Send Latest Information"
msgstr "Envoyer les dernières informations"
-#: calendar/gui/e-itip-control.c:2375 calendar/gui/itip-utils.c:442
+#: calendar/gui/e-itip-control.c:2375 calendar/gui/itip-utils.c:441
#: mail/mail-send-recv.c:414 mail/mail-send-recv.c:466
#: ui/evolution-mail-global.xml.h:1
msgid "Cancel"
@@ -7520,57 +7540,57 @@ msgstr "Septembre"
msgid "_Select Today"
msgstr "_Sélectionner aujourd'hui"
-#: calendar/gui/itip-utils.c:271 calendar/gui/itip-utils.c:319
-#: calendar/gui/itip-utils.c:351
+#: calendar/gui/itip-utils.c:270 calendar/gui/itip-utils.c:318
+#: calendar/gui/itip-utils.c:350
msgid "An organizer must be set."
msgstr "Un organiseur doit être configuré."
-#: calendar/gui/itip-utils.c:306
+#: calendar/gui/itip-utils.c:305
msgid "At least one attendee is necessary"
msgstr "Au moins un participant est nécessaire."
-#: calendar/gui/itip-utils.c:394 calendar/gui/itip-utils.c:503
+#: calendar/gui/itip-utils.c:393 calendar/gui/itip-utils.c:502
msgid "Event information"
msgstr "Informations de l'événement"
-#: calendar/gui/itip-utils.c:396 calendar/gui/itip-utils.c:505
+#: calendar/gui/itip-utils.c:395 calendar/gui/itip-utils.c:504
msgid "Task information"
msgstr "Informations de la tâche"
-#: calendar/gui/itip-utils.c:398 calendar/gui/itip-utils.c:507
+#: calendar/gui/itip-utils.c:397 calendar/gui/itip-utils.c:506
msgid "Journal information"
msgstr "Informations du journal"
-#: calendar/gui/itip-utils.c:400 calendar/gui/itip-utils.c:525
+#: calendar/gui/itip-utils.c:399 calendar/gui/itip-utils.c:524
msgid "Free/Busy information"
msgstr "Information Libre/Occupé"
-#: calendar/gui/itip-utils.c:402
+#: calendar/gui/itip-utils.c:401
msgid "Calendar information"
msgstr "Informations du calendrier"
-#: calendar/gui/itip-utils.c:438
+#: calendar/gui/itip-utils.c:437
msgid "Updated"
msgstr "Mis à jour"
-#: calendar/gui/itip-utils.c:446
+#: calendar/gui/itip-utils.c:445
msgid "Refresh"
msgstr "Rafraîchir"
-#: calendar/gui/itip-utils.c:450
+#: calendar/gui/itip-utils.c:449
msgid "Counter-proposal"
msgstr "Contre-proposition"
-#: calendar/gui/itip-utils.c:521
+#: calendar/gui/itip-utils.c:520
#, c-format
msgid "Free/Busy information (%s to %s)"
msgstr "Information Libre/Occupé (%s à %s)"
-#: calendar/gui/itip-utils.c:531
+#: calendar/gui/itip-utils.c:530
msgid "iCalendar information"
msgstr "Information iCalendar"
-#: calendar/gui/itip-utils.c:673
+#: calendar/gui/itip-utils.c:672
msgid "You must be an attendee of the event."
msgstr "Vous devez être inscrit comme participant à l'événement."
@@ -7598,15 +7618,6 @@ msgstr ""
"\n"
"Veuillez être patient pendant qu'Evolution fait migrer vos dossiers..."
-#: calendar/gui/migration.c:388
-msgid "Birthdays & Anniversaries"
-msgstr "Anniversaires"
-
-#. Create the Webcal source group
-#: calendar/gui/migration.c:486 calendar/gui/migration.c:579
-msgid "On The Web"
-msgstr "Sur internet"
-
#. FIXME: set proper domain/code
#: calendar/gui/migration.c:745 calendar/gui/migration.c:912
msgid "Unable to migrate old settings from evolution/config.xmldb"
@@ -7849,76 +7860,76 @@ msgstr "Aperçu avant impression"
msgid "Print Item"
msgstr "Imprimer l'élément"
-#: calendar/gui/tasks-component.c:328
+#: calendar/gui/tasks-component.c:428
msgid "New Task List"
msgstr "Nouvelle liste de tâches"
-#: calendar/gui/tasks-component.c:404
+#: calendar/gui/tasks-component.c:504
#, c-format
msgid "%d task"
msgid_plural "%d tasks"
msgstr[0] "%d tâche"
msgstr[1] "%d tâches"
-#: calendar/gui/tasks-component.c:406 mail/mail-component.c:523
+#: calendar/gui/tasks-component.c:506 mail/mail-component.c:544
#, c-format
msgid ", %d selected"
msgid_plural ", %d selected"
msgstr[0] ", %d sélectionné"
msgstr[1] ", %d sélectionnés"
-#: calendar/gui/tasks-component.c:453
+#: calendar/gui/tasks-component.c:553
msgid "Failed upgrading tasks."
msgstr "La mise à jour des tâches a échoué."
-#: calendar/gui/tasks-component.c:747
+#: calendar/gui/tasks-component.c:847
#, c-format
msgid "Unable to open the task list '%s' for creating events and meetings"
msgstr ""
"Impossible d'ouvrir la liste de tâches « %s » pour créer des événements et "
"des réunions"
-#: calendar/gui/tasks-component.c:762
+#: calendar/gui/tasks-component.c:862
msgid "There is no calendar available for creating tasks"
msgstr "Il n'y a pas de calendrier disponible pour créer des tâches"
-#: calendar/gui/tasks-component.c:856
+#: calendar/gui/tasks-component.c:956
msgid "Task Source Selector"
msgstr "Sélecteur de source de tâche"
-#: calendar/gui/tasks-component.c:1039
+#: calendar/gui/tasks-component.c:1139
msgid "New task"
msgstr "Nouvelle tâche"
-#: calendar/gui/tasks-component.c:1040
+#: calendar/gui/tasks-component.c:1140
msgid "_Task"
msgstr "_Tâche"
-#: calendar/gui/tasks-component.c:1041
+#: calendar/gui/tasks-component.c:1141
msgid "Create a new task"
msgstr "Créer une nouvelle tâche"
-#: calendar/gui/tasks-component.c:1047
+#: calendar/gui/tasks-component.c:1147
msgid "New assigned task"
msgstr "Tâche nouvellement assignée"
-#: calendar/gui/tasks-component.c:1048
+#: calendar/gui/tasks-component.c:1148
msgid "Assigne_d Task"
msgstr "_Assigner une tâche"
-#: calendar/gui/tasks-component.c:1049
+#: calendar/gui/tasks-component.c:1149
msgid "Create a new assigned task"
msgstr "Créer une tâche nouvellement assignée"
-#: calendar/gui/tasks-component.c:1055
+#: calendar/gui/tasks-component.c:1155
msgid "New task list"
msgstr "Nouvelle liste des tâches"
-#: calendar/gui/tasks-component.c:1056
+#: calendar/gui/tasks-component.c:1156
msgid "Task l_ist"
msgstr "_Liste de tâches"
-#: calendar/gui/tasks-component.c:1057
+#: calendar/gui/tasks-component.c:1157
msgid "Create a new task list"
msgstr "Créer une nouvelle liste des tâches"
@@ -9632,8 +9643,8 @@ msgstr "Message sans titre"
msgid "Open File"
msgstr "Ouvrir un fichier"
-#: composer/e-msg-composer.c:2001 mail/em-account-editor.c:578
-#: mail/em-account-editor.c:623 mail/em-account-editor.c:690
+#: composer/e-msg-composer.c:2001 mail/em-account-editor.c:588
+#: mail/em-account-editor.c:633 mail/em-account-editor.c:700
msgid "Autogenerated"
msgstr "Générée automatiquement"
@@ -9750,8 +9761,8 @@ msgid ""
"Are you sure you want to discard the message, titled '{0}', you are "
"composing?"
msgstr ""
-"Êtes-vous sûr de vouloir annuler le message, dont le titre est « {0} », que "
-"vous êtes entrain de composer."
+"Êtes-vous sûr de vouloir abandonner le message, dont le titre est « {0} », "
+"que vous êtes en train de composer ?"
#. mail-composer:exit-unsaved secondary
#: composer/mail-composer-errors.xml.h:32
@@ -9825,7 +9836,7 @@ msgstr ""
"Veuillez vous assurer que vous avez les bonnes versions de gtkhtml et "
"libgtkhtml."
-#: data/evolution.desktop.in.in.h:1 shell/main.c:520
+#: data/evolution.desktop.in.in.h:1 shell/main.c:521
msgid "Evolution"
msgstr "Evolution"
@@ -9960,14 +9971,6 @@ msgstr ""
msgid "Overwrite file?"
msgstr "Écraser le fichier ?"
-#: e-util/e-passwords.c:472
-msgid "_Remember this password"
-msgstr "_Mémoriser ce mot de passe"
-
-#: e-util/e-passwords.c:473
-msgid "_Remember this password for the remainder of this session"
-msgstr "_Mémoriser ce mot de passe jusqu'à la fin de la session"
-
#. strptime format of a weekday, a date and a time,
#. in 12-hour format, without seconds.
#. strftime format of a weekday, a date and a
@@ -10197,19 +10200,19 @@ msgstr "Veuillez choisir un autre nom."
msgid "Choose a file"
msgstr "Choisissez un fichier"
-#: filter/filter-label.c:121 mail/em-filter-i18n.h:26 mail/em-migrate.c:1011
-#: mail/mail-config.c:75 mail/mail-config.glade.h:90
+#: filter/filter-label.c:121 mail/em-filter-i18n.h:26 mail/em-migrate.c:1041
+#: mail/mail-config.c:76 mail/mail-config.glade.h:90
msgid "Important"
msgstr "Important"
#. forest green
-#: filter/filter-label.c:124 mail/em-migrate.c:1014 mail/mail-config.c:78
+#: filter/filter-label.c:124 mail/em-migrate.c:1044 mail/mail-config.c:79
#: mail/mail-config.glade.h:140
msgid "To Do"
msgstr "À faire"
#. blue
-#: filter/filter-label.c:125 mail/em-migrate.c:1015 mail/mail-config.c:79
+#: filter/filter-label.c:125 mail/em-migrate.c:1045 mail/mail-config.c:80
#: mail/mail-config.glade.h:93
msgid "Later"
msgstr "Plus tard"
@@ -10383,10 +10386,10 @@ msgstr "Composant de configuration du composeur de courrier d'Evolution"
msgid "Evolution Mail preferences control"
msgstr "Préférences de la messagerie d'Evolution"
-#: mail/GNOME_Evolution_Mail.server.in.in.h:11 mail/em-folder-view.c:472
+#: mail/GNOME_Evolution_Mail.server.in.in.h:11 mail/em-folder-view.c:469
#: mail/importers/elm-importer.c:418 mail/importers/netscape-importer.c:1902
-#: mail/importers/pine-importer.c:474 mail/mail-component.c:536
-#: mail/mail-component.c:587
+#: mail/importers/pine-importer.c:474 mail/mail-component.c:557
+#: mail/mail-component.c:608
msgid "Mail"
msgstr "Courrier"
@@ -10402,12 +10405,12 @@ msgstr "Préférences du courrier"
msgid "_Mail"
msgstr "_Courrier"
-#: mail/em-account-editor.c:377
+#: mail/em-account-editor.c:387
#, c-format
msgid "%s License Agreement"
msgstr "Accord de licence %s"
-#: mail/em-account-editor.c:384
+#: mail/em-account-editor.c:394
#, c-format
msgid ""
"\n"
@@ -10420,47 +10423,67 @@ msgstr ""
"affiché ci-dessous pour « %s »\n"
"et cochez la case pour l'accepter\n"
-#: mail/em-account-editor.c:454 mail/em-filter-folder-element.c:237
+#: mail/em-account-editor.c:464 mail/em-filter-folder-element.c:237
#: mail/em-vfolder-rule.c:494
msgid "Select Folder"
msgstr "Sélectionnez un dossier"
-#: mail/em-account-editor.c:1817
+#: mail/em-account-editor.c:1664 mail/mail-config.glade.h:89
+msgid "Identity"
+msgstr "Identité"
+
+#: mail/em-account-editor.c:1700 mail/mail-config.glade.h:114
+msgid "Receiving Email"
+msgstr "Réception des courriels"
+
+#: mail/em-account-editor.c:1877
msgid "Automatically check for _new mail every"
-msgstr "Vérifier automatiquement les _nouveaux mails toutes les"
+msgstr "Vérifier automatiquement les _nouveaux courriels toutes les"
+
+#: mail/em-account-editor.c:2045 mail/mail-config.glade.h:124
+msgid "Sending Email"
+msgstr "Envoi des courriels"
+
+#: mail/em-account-editor.c:2089 mail/mail-config.glade.h:67
+msgid "Defaults"
+msgstr "Valeurs par défaut"
+
+#: mail/em-account-editor.c:2148 mail/mail-config.glade.h:119
+msgid "Security"
+msgstr "Sécurité"
#. Most sections for this is auto-generated fromt the camel config
-#: mail/em-account-editor.c:2086 mail/em-account-editor.c:2164
+#: mail/em-account-editor.c:2185 mail/em-account-editor.c:2260
msgid "Receiving Options"
msgstr "Options de réception"
-#: mail/em-account-editor.c:2087 mail/em-account-editor.c:2165
+#: mail/em-account-editor.c:2186 mail/em-account-editor.c:2261
msgid "Checking for New Mail"
-msgstr "Recherche de nouveau courrier"
+msgstr "Vérification de nouveaux courriels"
-#: mail/em-account-editor.c:2509 mail/mail-config.glade.h:33
+#: mail/em-account-editor.c:2585 mail/mail-config.glade.h:33
msgid "Account Editor"
msgstr "Éditeur de compte"
-#: mail/em-account-editor.c:2509 mail/mail-config.glade.h:79
+#: mail/em-account-editor.c:2585 mail/mail-config.glade.h:79
msgid "Evolution Account Assistant"
msgstr "Assistant de compte d'Evolution"
#. translators: default account indicator
-#: mail/em-account-prefs.c:412
+#: mail/em-account-prefs.c:428
msgid "[Default]"
msgstr "[Défaut]"
-#: mail/em-account-prefs.c:466
+#: mail/em-account-prefs.c:482
msgid "Account name"
msgstr "Nom du compte"
-#: mail/em-account-prefs.c:468
+#: mail/em-account-prefs.c:484
msgid "Protocol"
msgstr "Protocole"
#: mail/em-composer-prefs.c:306 mail/em-composer-prefs.c:429
-#: mail/mail-config.c:934
+#: mail/mail-config.c:935
msgid "Unnamed"
msgstr "Sans nom"
@@ -10476,18 +10499,18 @@ msgstr "Ajouter un script de signature"
msgid "Signature(s)"
msgstr "Signatures"
-#: mail/em-composer-utils.c:910
+#: mail/em-composer-utils.c:911
msgid "-------- Forwarded Message --------"
msgstr "-------- Message transféré --------"
-#: mail/em-composer-utils.c:1526
+#: mail/em-composer-utils.c:1521
msgid "an unknown sender"
msgstr "Un expéditeur inconnu"
#. Note to translators: this is the attribution string used when quoting messages.
#. * each ${Variable} gets replaced with a value. To see a full list of available
#. * variables, see em-composer-utils.c:1514
-#: mail/em-composer-utils.c:1573
+#: mail/em-composer-utils.c:1568
msgid ""
"On ${AbbrevWeekdayName}, ${Year}-${Month}-${Day} at ${24Hour}:${Minute} "
"${TimeZone}, ${Sender} wrote:"
@@ -10627,13 +10650,13 @@ msgstr "n'est pas marqué"
#: mail/em-filter-i18n.h:35 mail/mail-config.glade.h:92
#: ui/evolution-mail-message.xml.h:48
msgid "Junk"
-msgstr "Spam"
+msgstr "Pourriel"
#: mail/em-filter-i18n.h:36
msgid "Junk Test"
-msgstr "Test spam"
+msgstr "Test pourriel"
-#: mail/em-filter-i18n.h:37 mail/em-folder-view.c:998
+#: mail/em-filter-i18n.h:37 mail/em-folder-view.c:992
#: widgets/misc/e-expander.c:189
msgid "Label"
msgstr "Étiquette"
@@ -10656,11 +10679,11 @@ msgstr "En-tête du message"
#: mail/em-filter-i18n.h:42
msgid "Message is Junk"
-msgstr "Le message est un spam"
+msgstr "Le message est un pourriel"
#: mail/em-filter-i18n.h:43
msgid "Message is not Junk"
-msgstr "Le message n'est pas un spam"
+msgstr "Le message n'est pas un pourriel"
#: mail/em-filter-i18n.h:44
msgid "Move to Folder"
@@ -10788,7 +10811,7 @@ msgid "Create New Folder"
msgstr "Créer un nouveau dossier"
#: mail/em-folder-selector.c:166 mail/em-folder-tree.c:2527
-#: mail/mail-component.c:739 plugins/shared-folder/install-shared.c:144
+#: mail/mail-component.c:770 plugins/shared-folder/install-shared.c:144
#: plugins/shared-folder/share-folder-common.c:345
msgid "Specify where to create the folder:"
msgstr "Précisez où créer le dossier >"
@@ -10811,20 +10834,20 @@ msgstr "Dossiers virtuels"
msgid "UNMATCHED"
msgstr "CORRESPONDPAS"
-#: mail/em-folder-tree-model.c:468 mail/mail-component.c:139
+#: mail/em-folder-tree-model.c:468 mail/mail-component.c:142
msgid "Drafts"
msgstr "Brouillons"
#. translators: standard local mailbox names
-#: mail/em-folder-tree-model.c:471 mail/mail-component.c:138
+#: mail/em-folder-tree-model.c:471 mail/mail-component.c:141
msgid "Inbox"
msgstr "Boîte de réception"
-#: mail/em-folder-tree-model.c:474 mail/mail-component.c:140
+#: mail/em-folder-tree-model.c:474 mail/mail-component.c:143
msgid "Outbox"
msgstr "Boîte d'envoi"
-#: mail/em-folder-tree-model.c:476 mail/mail-component.c:141
+#: mail/em-folder-tree-model.c:476 mail/mail-component.c:144
msgid "Sent"
msgstr "Envoyé"
@@ -10846,12 +10869,12 @@ msgstr "Déplacement du dossier %s"
msgid "Copying folder %s"
msgstr "Copie du dossier %s"
-#: mail/em-folder-tree.c:930 mail/message-list.c:1617
+#: mail/em-folder-tree.c:930 mail/message-list.c:1612
#, c-format
msgid "Moving messages into folder %s"
msgstr "Déplacement des messages vers le dossier %s"
-#: mail/em-folder-tree.c:932 mail/message-list.c:1619
+#: mail/em-folder-tree.c:932 mail/message-list.c:1614
#, c-format
msgid "Copying messages into folder %s"
msgstr "Copie des messages vers le dossier %s"
@@ -10880,13 +10903,13 @@ msgid "Copying `%s' to `%s'"
msgstr "Copie de %s vers %s"
#: mail/em-folder-tree.c:2297 mail/em-folder-tree.c:2311
-#: mail/em-folder-view.c:868 mail/em-folder-view.c:883
+#: mail/em-folder-view.c:862 mail/em-folder-view.c:877
#: mail/importers/evolution-mbox-importer.c:120
#: mail/importers/evolution-outlook-importer.c:134
msgid "Select folder"
msgstr "Sélectionnez un dossier"
-#: mail/em-folder-tree.c:2297 mail/em-folder-view.c:883
+#: mail/em-folder-tree.c:2297 mail/em-folder-view.c:877
msgid "C_opy"
msgstr "C_opier"
@@ -10895,7 +10918,7 @@ msgstr "C_opier"
msgid "Creating folder `%s'"
msgstr "Création du dossier « %s »"
-#: mail/em-folder-tree.c:2527 mail/mail-component.c:739
+#: mail/em-folder-tree.c:2527 mail/mail-component.c:770
#: plugins/shared-folder/install-shared.c:144
#: plugins/shared-folder/share-folder-common.c:345
msgid "Create folder"
@@ -10941,130 +10964,130 @@ msgstr "_Nouveau dossier..."
msgid "_Rename..."
msgstr "_Renommer..."
-#: mail/em-folder-view.c:976 mail/em-popup.c:498
+#: mail/em-folder-view.c:970 mail/em-popup.c:499
#: ui/evolution-mail-message.xml.h:87
msgid "Reply to _All"
msgstr "Répondre à _tous"
-#: mail/em-folder-view.c:977 ui/evolution-mail-message.xml.h:123
+#: mail/em-folder-view.c:971 ui/evolution-mail-message.xml.h:123
msgid "_Reply to Sender"
msgstr "_Répondre à l'expéditeur"
-#: mail/em-folder-view.c:978 mail/em-popup.c:500
+#: mail/em-folder-view.c:972 mail/em-popup.c:501
#: ui/evolution-mail-message.xml.h:110
msgid "_Forward"
msgstr "_Faire suivre"
-#: mail/em-folder-view.c:981 ui/evolution-mail-message.xml.h:109
+#: mail/em-folder-view.c:975 ui/evolution-mail-message.xml.h:109
msgid "_Edit as New Message..."
msgstr "_Éditer comme un nouveau message..."
-#: mail/em-folder-view.c:983
+#: mail/em-folder-view.c:977
msgid "_Print"
msgstr "_Imprimer"
-#: mail/em-folder-view.c:987
+#: mail/em-folder-view.c:981
msgid "U_ndelete"
msgstr "_Récupérer"
-#: mail/em-folder-view.c:988
+#: mail/em-folder-view.c:982
msgid "Mo_ve to Folder..."
msgstr "Déplacer _vers le dossier..."
-#: mail/em-folder-view.c:989 ui/evolution-addressbook.xml.h:32
+#: mail/em-folder-view.c:983 ui/evolution-addressbook.xml.h:32
msgid "_Copy to Folder..."
msgstr "_Copier vers le dossier..."
-#: mail/em-folder-view.c:992
+#: mail/em-folder-view.c:986
msgid "Mark as _Important"
msgstr "Marquer comme _important"
-#: mail/em-folder-view.c:993
+#: mail/em-folder-view.c:987
msgid "_Mark as Unimportant"
msgstr "Marquer comme non im_portant"
-#: mail/em-folder-view.c:994 ui/evolution-mail-message.xml.h:54
+#: mail/em-folder-view.c:988 ui/evolution-mail-message.xml.h:54
msgid "Mark as _Junk"
-msgstr "Marquer comme _spam"
+msgstr "Marquer comme _pourriel"
-#: mail/em-folder-view.c:995 ui/evolution-mail-message.xml.h:55
+#: mail/em-folder-view.c:989 ui/evolution-mail-message.xml.h:55
msgid "Mark as _Not Junk"
-msgstr "Marquer comme non _spam"
+msgstr "Marquer comme _non pourriel"
-#: mail/em-folder-view.c:996
+#: mail/em-folder-view.c:990
msgid "Mark for Follo_w Up..."
msgstr "Marquer pour _donner suite..."
-#: mail/em-folder-view.c:1004
+#: mail/em-folder-view.c:998
msgid "Fla_g Completed"
msgstr "Marquer _Achevé"
-#: mail/em-folder-view.c:1005
+#: mail/em-folder-view.c:999
msgid "Cl_ear Flag"
msgstr "_Effacer les marqueurs"
-#: mail/em-folder-view.c:1008
+#: mail/em-folder-view.c:1002
msgid "Crea_te Rule From Message"
msgstr "Créer une _règle à partir du message"
-#: mail/em-folder-view.c:1009
+#: mail/em-folder-view.c:1003
msgid "vFolder on _Subject"
msgstr "Dossier virtuel sur l'_objet"
-#: mail/em-folder-view.c:1010
+#: mail/em-folder-view.c:1004
msgid "vFolder on Se_nder"
msgstr "Dossier virtuel sur l'e_xpéditeur"
-#: mail/em-folder-view.c:1011
+#: mail/em-folder-view.c:1005
msgid "vFolder on _Recipients"
msgstr "Dossier virtuel sur les de_stinataires"
-#: mail/em-folder-view.c:1012
+#: mail/em-folder-view.c:1006
msgid "vFolder on Mailing _List"
msgstr "Dossier virtuel sur la _liste de diffusion"
-#: mail/em-folder-view.c:1016
+#: mail/em-folder-view.c:1010
msgid "Filter on Sub_ject"
msgstr "Filtre sur l'_objet"
-#: mail/em-folder-view.c:1017
+#: mail/em-folder-view.c:1011
msgid "Filter on Sen_der"
msgstr "Filtre sur l'e_xpéditeur"
-#: mail/em-folder-view.c:1018
+#: mail/em-folder-view.c:1012
msgid "Filter on Re_cipients"
msgstr "Filtre sur les de_stinataires"
-#: mail/em-folder-view.c:1019
+#: mail/em-folder-view.c:1013
msgid "Filter on _Mailing List"
msgstr "Filtre sur la _liste de diffusion"
#. default charset used in mail view
-#: mail/em-folder-view.c:1850 mail/em-folder-view.c:1894
+#: mail/em-folder-view.c:1844 mail/em-folder-view.c:1888
msgid "Default"
msgstr "Défaut"
-#: mail/em-folder-view.c:1993
+#: mail/em-folder-view.c:1987
msgid "Print Message"
msgstr "Imprimer le message"
-#: mail/em-folder-view.c:2292
+#: mail/em-folder-view.c:2295
msgid "_Copy Link Location"
msgstr "_Copier l'emplacement du lien"
-#: mail/em-folder-view.c:2294
+#: mail/em-folder-view.c:2297
msgid "Create _vFolder"
msgstr "Créer un dossier _virtuel"
-#: mail/em-folder-view.c:2295
+#: mail/em-folder-view.c:2298
msgid "_From this Address"
msgstr "_De cette adresse"
-#: mail/em-folder-view.c:2296
+#: mail/em-folder-view.c:2299
msgid "_To this Address"
msgstr "_À cette adresse"
-#: mail/em-folder-view.c:2582
+#: mail/em-folder-view.c:2568
#, c-format
msgid "Click to mail %s"
msgstr "Cliquer sur le message %s"
@@ -11284,7 +11307,7 @@ msgstr "Cci"
#: mail/em-format-html.c:1537 mail/em-format-quote.c:315
#: mail/em-mailer-prefs.c:986
msgid "Mailer"
-msgstr "Logiciel de messagerie"
+msgstr "Client de messagerie"
#. translators: strftime format for local time equivalent in Date header display, with day
#: mail/em-format-html.c:1564
@@ -11354,7 +11377,7 @@ msgstr "Une fois par semaine"
msgid "Once per month"
msgstr "Une fois par mois"
-#: mail/em-migrate.c:1168
+#: mail/em-migrate.c:1198
msgid ""
"The location and hierarchy of the Evolution mailbox folders has changed "
"since Evolution 1.x.\n"
@@ -11366,56 +11389,56 @@ msgstr ""
"\n"
"Veuillez être patient pendant qu'Evolution déplace vos dossiers..."
-#: mail/em-migrate.c:1602
+#: mail/em-migrate.c:1632
#, c-format
msgid "Unable to create new folder `%s': %s"
msgstr "Impossible de créer le nouveau dossier « %s » : %s"
-#: mail/em-migrate.c:1628
+#: mail/em-migrate.c:1658
#, c-format
msgid "Unable to copy folder `%s' to `%s': %s"
msgstr "Impossible de copier le dossier « %s » vers « %s » : %s"
-#: mail/em-migrate.c:1813
+#: mail/em-migrate.c:1843
#, c-format
msgid "Unable to scan for existing mailboxes at `%s': %s"
msgstr ""
"Impossible de rechercher les boîtes aux lettres existant dans « %s » : %s"
-#: mail/em-migrate.c:2017
+#: mail/em-migrate.c:2047
#, c-format
msgid "Unable to open old POP keep-on-server data `%s': %s"
msgstr ""
"Impossible d'ouvrir les anciennes données POP conservées sur le serveur « %"
"s » : %s"
-#: mail/em-migrate.c:2031
+#: mail/em-migrate.c:2061
#, c-format
msgid "Unable to create POP3 keep-on-server data directory `%s': %s"
msgstr ""
"Impossible de créer un répertoire pour les données POP3 restées sur le "
"serveur « %s » : %s"
-#: mail/em-migrate.c:2060
+#: mail/em-migrate.c:2090
#, c-format
msgid "Unable to copy POP3 keep-on-server data `%s': %s"
msgstr ""
"Impossible de copier les données POP3 restées sur le serveur « %s »  : %s"
-#: mail/em-migrate.c:2494 mail/em-migrate.c:2506
+#: mail/em-migrate.c:2561 mail/em-migrate.c:2573
#, c-format
msgid "Failed to create local mail storage `%s': %s"
msgstr ""
"La création du répertoire de stockage de courrier local « %s » a échouée : %s"
-#: mail/em-migrate.c:2657
+#: mail/em-migrate.c:2693
#, c-format
msgid "Unable to create local mail folders at `%s': %s"
msgstr ""
"Impossible de créer les répertoires de stockage de courrier local sur « %"
"s » : %s"
-#: mail/em-migrate.c:2675
+#: mail/em-migrate.c:2711
msgid ""
"Unable to read settings from previous Evolution install, `evolution/config."
"xmldb' does not exist or is corrupt."
@@ -11423,40 +11446,40 @@ msgstr ""
"Impossible de lire les paramètres de l'installation d'Evolution précédente, "
"« evolution/config.xmldb » n'existe pas ou est corrompu."
-#: mail/em-popup.c:381
+#: mail/em-popup.c:382
msgid "Save As..."
msgstr "Enregistrer sous..."
-#: mail/em-popup.c:400
+#: mail/em-popup.c:401
#, c-format
msgid "untitled_image.%s"
msgstr "image_sanstitre.%s"
-#: mail/em-popup.c:494
+#: mail/em-popup.c:495
msgid "Set as _Background"
msgstr "Définir comme _arrière-plan"
-#: mail/em-popup.c:496
+#: mail/em-popup.c:497
msgid "_Reply to sender"
msgstr "_Répondre à l'expéditeur"
-#: mail/em-popup.c:497 ui/evolution-mail-message.xml.h:88
+#: mail/em-popup.c:498 ui/evolution-mail-message.xml.h:88
msgid "Reply to _List"
msgstr "Répondre à la _liste"
-#: mail/em-popup.c:548
+#: mail/em-popup.c:549
msgid "_Open Link in Browser"
msgstr "_Ouvrir un lien dans le navigateur"
-#: mail/em-popup.c:549
+#: mail/em-popup.c:550
msgid "_Send New Message To..."
msgstr "Envoyer un nouveau _message à..."
-#: mail/em-popup.c:550
+#: mail/em-popup.c:551
msgid "_Add to Addressbook"
msgstr "A_jouter dans le carnet d'adresses"
-#: mail/em-popup.c:681
+#: mail/em-popup.c:666
#, c-format
msgid "Open in %s..."
msgstr "Ouvrir dans %s..."
@@ -11504,7 +11527,7 @@ msgid "Add address"
msgstr "Ajouter adresse"
#. Drop filename for messages from a mailbox
-#: mail/em-utils.c:1055
+#: mail/em-utils.c:1071
#, c-format
msgid "Messages from %s"
msgstr "Messages de %s"
@@ -11527,7 +11550,7 @@ msgstr "Reconnaître automatiquement les frimousses"
#: mail/evolution-mail.schemas.in.in.h:3
msgid "Check incoming mail being junk"
-msgstr "Vérifier si les messages entrants sont des spams"
+msgstr "Vérifier si les messages entrants sont des pourriels"
#: mail/evolution-mail.schemas.in.in.h:4
msgid "Citation highlight color"
@@ -11827,11 +11850,11 @@ msgstr ""
#: mail/evolution-mail.schemas.in.in.h:66
msgid "Run junk test on incoming mail"
-msgstr "Lancer le test de spam sur les messages entrants"
+msgstr "Lancer le test de pourriel sur les messages entrants"
#: mail/evolution-mail.schemas.in.in.h:67
msgid "Send HTML mail by default"
-msgstr "Envoyer par défaut le courrier au format HTML"
+msgstr "Envoyer par défaut le courriel au format HTML"
#: mail/evolution-mail.schemas.in.in.h:68
msgid "Send HTML mail by default."
@@ -11957,11 +11980,11 @@ msgstr "Utiliser des polices personnalisées pour afficher le courrier"
#: mail/evolution-mail.schemas.in.in.h:95
msgid "Use only local spam tests."
-msgstr "Utiliser seulement des tests de spam locaux."
+msgstr "Utiliser seulement des tests de pourriels locaux."
#: mail/evolution-mail.schemas.in.in.h:96
msgid "Use only the local spam tests (no DNS)."
-msgstr "Utiliser seulement des tests de spam locaux (pas de DNS)."
+msgstr "Utiliser seulement des tests de pourriels locaux (pas de DNS)."
#: mail/evolution-mail.schemas.in.in.h:97
msgid "Variable width font"
@@ -12237,80 +12260,80 @@ msgstr "Liste de diffusion %s"
msgid "Add Filter Rule"
msgstr "Ajouter une règle de filtre"
-#: mail/mail-component.c:484
+#: mail/mail-component.c:505
#, c-format
msgid "%d deleted"
msgid_plural "%d deleted"
msgstr[0] "%d supprimé"
msgstr[1] "%d supprimés"
-#: mail/mail-component.c:486
+#: mail/mail-component.c:507
#, c-format
msgid "%d junk"
msgid_plural "%d junk"
-msgstr[0] "%d spam"
-msgstr[1] "%d spams"
+msgstr[0] "%d pourriel"
+msgstr[1] "%d pourriels"
-#: mail/mail-component.c:509
+#: mail/mail-component.c:530
#, c-format
msgid "%d draft"
msgid_plural "%d drafts"
msgstr[0] "%d brouillon"
msgstr[1] "%d brouillons"
-#: mail/mail-component.c:511
+#: mail/mail-component.c:532
#, c-format
msgid "%d sent"
msgid_plural "%d sent"
msgstr[0] "%d envoyé"
msgstr[1] "%d envoyés"
-#: mail/mail-component.c:513
+#: mail/mail-component.c:534
#, c-format
msgid "%d unsent"
msgid_plural "%d unsent"
msgstr[0] "%d non envoyé"
msgstr[1] "%d non envoyés"
-#: mail/mail-component.c:517
+#: mail/mail-component.c:538
#, c-format
msgid "%d total"
msgid_plural "%d total"
msgstr[0] "%d total"
msgstr[1] "%d total"
-#: mail/mail-component.c:519
+#: mail/mail-component.c:540
#, c-format
msgid ", %d unread"
msgid_plural ", %d unread"
msgstr[0] ", %d non lu"
msgstr[1] ", %d non lus"
-#: mail/mail-component.c:691
+#: mail/mail-component.c:722
msgid "New Mail Message"
msgstr "Nouveau message"
-#: mail/mail-component.c:692
+#: mail/mail-component.c:723
msgid "_Mail Message"
msgstr "_Message"
-#: mail/mail-component.c:693
+#: mail/mail-component.c:724
msgid "Compose a new mail message"
msgstr "Composer un nouveau message"
-#: mail/mail-component.c:699
+#: mail/mail-component.c:730
msgid "New Mail Folder"
msgstr "Nouveau dossier pour le courrier"
-#: mail/mail-component.c:700
+#: mail/mail-component.c:731
msgid "Mail _Folder"
msgstr "_Dossier pour courrier"
-#: mail/mail-component.c:701
+#: mail/mail-component.c:732
msgid "Create a new mail folder"
msgstr "Créer un nouveau dossier pour le courrier"
-#: mail/mail-component.c:848
+#: mail/mail-component.c:879
msgid "Failed upgrading Mail settings or folders."
msgstr "Echec lors de la mise à jour des dossiers ou paramètres de courrier."
@@ -12461,11 +12484,11 @@ msgstr "Éga_lement chiffrer pour moi-même lors de l'envoi de courrier chiffré
#: mail/mail-config.glade.h:39
msgid "Alway_s carbon-copy (cc) to:"
-msgstr "Toujours envoyer une copie (_Cc) à :"
+msgstr "Toujours envoyer une _copie (Cc) à :"
#: mail/mail-config.glade.h:40
msgid "Always _blind carbon-copy (bcc) to:"
-msgstr "Toujours envoyer une copie cachée (Cc_i) à :"
+msgstr "Toujours envoyer une copie _invisible (Cci) à :"
#: mail/mail-config.glade.h:41
msgid "Always _trust keys in my keyring when encrypting"
@@ -12510,7 +12533,7 @@ msgstr "_Vérifier les types supportés "
#: mail/mail-config.glade.h:51
msgid "Check _incoming mail for junk"
-msgstr "Vérifier la présence de spams dans les messages _entrants"
+msgstr "Vérifier la présence de pourriels dans les messages _entrants"
#: mail/mail-config.glade.h:52
msgid "Check spelling while I _type"
@@ -12518,7 +12541,7 @@ msgstr "Vérifier l'or_thographe pendant la frappe"
#: mail/mail-config.glade.h:53
msgid "Checks incoming mail messages to be Junk"
-msgstr "Vérifier si les messages entrants sont du spam"
+msgstr "Vérifier si les messages entrants sont du pourriel"
#: mail/mail-config.glade.h:54
msgid "Cle_ar"
@@ -12563,10 +12586,6 @@ msgstr "Dé_faut"
msgid "Default character e_ncoding:"
msgstr "_Codage des caractères par défaut :"
-#: mail/mail-config.glade.h:67
-msgid "Defaults"
-msgstr "Valeurs par défaut"
-
#: mail/mail-config.glade.h:69
msgid "Digitally _sign outgoing messages (by default)"
msgstr "_Signer numériquement les messages sortants (par défaut)"
@@ -12635,10 +12654,6 @@ msgstr "Mettre les citations en _surbrillance avec"
msgid "I_nclude remote tests"
msgstr "I_nclure les tests distants :"
-#: mail/mail-config.glade.h:89
-msgid "Identity"
-msgstr "Identité"
-
#: mail/mail-config.glade.h:91
msgid "Inline"
msgstr "Dans le corps"
@@ -12729,10 +12744,6 @@ msgstr "_Mémoriser le mot de passe"
msgid "Re_ply-To:"
msgstr "Ré_pondre à :"
-#: mail/mail-config.glade.h:114
-msgid "Receiving Email"
-msgstr "Réception des messages"
-
#: mail/mail-config.glade.h:115
msgid "Remember _password"
msgstr "_Mémoriser le mot de passe"
@@ -12749,10 +12760,6 @@ msgstr "Police par _défaut :"
msgid "Se_lect..."
msgstr "Sé_lectionner..."
-#: mail/mail-config.glade.h:119
-msgid "Security"
-msgstr "Sécurité"
-
#: mail/mail-config.glade.h:120
msgid "Select HTML fixed width font"
msgstr "Sélection d'une police HTML à largeur fixe"
@@ -12769,10 +12776,6 @@ msgstr "Sélection d'une police HTML à largeur variable"
msgid "Select HTML variable width font for printing"
msgstr "Sélection d'une police HTML à largeur variable pour l'impression"
-#: mail/mail-config.glade.h:124
-msgid "Sending Email"
-msgstr "Envoi du message"
-
#: mail/mail-config.glade.h:125
msgid "Sending Mail"
msgstr "Envoi du courrier"
@@ -12840,7 +12843,7 @@ msgid ""
"Type the name by which you would like to refer to this account.\n"
"For example: \"Work\" or \"Personal\""
msgstr ""
-"Saisissez le nom par lequel vous voulez désigner ce compte.\n"
+"Saisissez le nom sous lequel vous voulez désigner ce compte.\n"
"Par exemple : « Travail » ou « Personnel »"
#: mail/mail-config.glade.h:143
@@ -13975,73 +13978,73 @@ msgstr "Éditer le dossier virtuel"
msgid "New vFolder"
msgstr "Nouveau dossier virtuel"
-#: mail/message-list.c:999
+#: mail/message-list.c:994
msgid "Unseen"
msgstr "Non vu"
-#: mail/message-list.c:1000
+#: mail/message-list.c:995
msgid "Seen"
msgstr "Vu"
-#: mail/message-list.c:1001
+#: mail/message-list.c:996
msgid "Answered"
msgstr "Répondu"
-#: mail/message-list.c:1002
+#: mail/message-list.c:997
msgid "Multiple Unseen Messages"
msgstr "Multiples messages non vus"
-#: mail/message-list.c:1003
+#: mail/message-list.c:998
msgid "Multiple Messages"
msgstr "Messages multiples"
-#: mail/message-list.c:1007
+#: mail/message-list.c:1002
msgid "Lowest"
msgstr "Le plus bas"
-#: mail/message-list.c:1008
+#: mail/message-list.c:1003
msgid "Lower"
msgstr "Plus bas"
-#: mail/message-list.c:1012
+#: mail/message-list.c:1007
msgid "Higher"
msgstr "Plus haut"
-#: mail/message-list.c:1013
+#: mail/message-list.c:1008
msgid "Highest"
msgstr "Le plus haut"
-#: mail/message-list.c:1341
+#: mail/message-list.c:1336
msgid "?"
msgstr "?"
#. strftime format of a time,
#. in 12-hour format, without seconds.
-#: mail/message-list.c:1348 plugins/itip-formatter/itip-view.c:189
+#: mail/message-list.c:1343 plugins/itip-formatter/itip-view.c:189
msgid "Today %l:%M %p"
msgstr "Aujourd'hui %H:%M"
-#: mail/message-list.c:1357
+#: mail/message-list.c:1352
msgid "Yesterday %l:%M %p"
msgstr "Hier %H:%M"
-#: mail/message-list.c:1369
+#: mail/message-list.c:1364
msgid "%a %l:%M %p"
msgstr "%a %H:%M"
-#: mail/message-list.c:1377
+#: mail/message-list.c:1372
msgid "%b %d %l:%M %p"
msgstr "%d %b %H:%M"
-#: mail/message-list.c:1379
+#: mail/message-list.c:1374
msgid "%b %d %Y"
msgstr "%d %b %Y"
-#: mail/message-list.c:2046
+#: mail/message-list.c:2041
msgid "Message List"
msgstr "Liste des messages"
-#: mail/message-list.c:3386
+#: mail/message-list.c:3384
msgid "Generating message list"
msgstr "Génération de la liste des messages"
@@ -14240,10 +14243,6 @@ msgstr "Météo : ensoleillé"
msgid "Weather: Thunderstorms"
msgstr "Météo : orages "
-#: plugins/calendar-weather/calendar-weather.c:100
-msgid "Weather"
-msgstr "Météo"
-
#: plugins/calendar-weather/calendar-weather.c:268
msgid "Select a location"
msgstr "Sélectionnez un emplacement"
@@ -14269,12 +14268,12 @@ msgid "Mark as default folder"
msgstr "Marquer comme dossier par défaut"
#. i18n: "Secure Password Authentication" is an Outlookism
-#: plugins/exchange-account-setup/exchange-account-setup.c:53
+#: plugins/exchange-account-setup/exchange-account-setup.c:59
msgid "Secure Password"
msgstr "Mot de passe sécurisé"
#. i18n: "NTLM" probably doesn't translate
-#: plugins/exchange-account-setup/exchange-account-setup.c:56
+#: plugins/exchange-account-setup/exchange-account-setup.c:62
msgid ""
"This option will connect to the Exchange server using secure password (NTLM) "
"authentication."
@@ -14282,11 +14281,11 @@ msgstr ""
"Cette option utilisera l'authentification par mot de passe sécurisé (NTLM) "
"pour se connecter au serveur Exchange."
-#: plugins/exchange-account-setup/exchange-account-setup.c:64
+#: plugins/exchange-account-setup/exchange-account-setup.c:70
msgid "Plaintext Password"
msgstr "Mot de passe en texte brut"
-#: plugins/exchange-account-setup/exchange-account-setup.c:66
+#: plugins/exchange-account-setup/exchange-account-setup.c:72
msgid ""
"This option will connect to the Exchange server using standard plaintext "
"password authentication."
@@ -14295,7 +14294,7 @@ msgstr ""
"connecter au serveur Exchange."
#. Description section
-#: plugins/exchange-account-setup/exchange-account-setup.c:113
+#: plugins/exchange-account-setup/exchange-account-setup.c:193
msgid ""
"The message specified below will be automatically sent to \n"
"each person who sends mail to you while you are out of the office."
@@ -14304,37 +14303,39 @@ msgstr ""
"vous\n"
"envoyant du courrier pendant votre absence du bureau."
-#: plugins/exchange-account-setup/exchange-account-setup.c:140
-msgid "I am in the office"
-msgstr "Je suis actuellement au bureau"
-
-#: plugins/exchange-account-setup/exchange-account-setup.c:154
+#: plugins/exchange-account-setup/exchange-account-setup.c:221
+#: plugins/exchange-account-setup/exchange-account-setup.c:231
msgid "I am out of the office"
msgstr "Je suis actuellement absent du bureau"
-#: plugins/exchange-account-setup/exchange-account-setup.c:168
+#: plugins/exchange-account-setup/exchange-account-setup.c:224
+#: plugins/exchange-account-setup/exchange-account-setup.c:228
+msgid "I am in the office"
+msgstr "Je suis actuellement au bureau"
+
+#: plugins/exchange-account-setup/exchange-account-setup.c:257
msgid "Out of office Message:"
msgstr "Message « Absent du bureau » :"
-#: plugins/exchange-account-setup/exchange-account-setup.c:194
+#: plugins/exchange-account-setup/exchange-account-setup.c:302
msgid "Exchange Settings"
msgstr "Paramètres d'Exchange"
-#: plugins/exchange-account-setup/exchange-account-setup.c:332
+#: plugins/exchange-account-setup/exchange-account-setup.c:448
#: plugins/exchange-account-setup/exchange-ask-password.c:200
msgid "_OWA Url:"
msgstr "Url _OWA :"
-#: plugins/exchange-account-setup/exchange-account-setup.c:340
+#: plugins/exchange-account-setup/exchange-account-setup.c:456
#: plugins/exchange-account-setup/exchange-ask-password.c:193
msgid "A_uthenticate"
msgstr "S'a_uthentifier"
-#: plugins/exchange-account-setup/exchange-account-setup.c:457
+#: plugins/exchange-account-setup/exchange-account-setup.c:664
msgid "Authentication Type"
msgstr "Type d'authentification"
-#: plugins/exchange-account-setup/exchange-account-setup.c:471
+#: plugins/exchange-account-setup/exchange-account-setup.c:678
msgid "Ch_eck for Supported Types"
msgstr "_Vérifier les types supportés "
@@ -14864,11 +14865,11 @@ msgstr "_Génère un message D-BUS lorsqu'un nouveau courrier arrive"
#: plugins/plugin-manager/org-gnome-plugin-manager.xml.h:1
msgid "Enable and disable plugins"
-msgstr "Activer et désactiver les extensions"
+msgstr "Active et désactive les greffons"
#: plugins/plugin-manager/org-gnome-plugin-manager.xml.h:2
msgid "Manage Plugins..."
-msgstr "Gérer les extensions..."
+msgstr "Gérer les greffons..."
#: plugins/plugin-manager/plugin-manager.c:45
msgid "Author(s)"
@@ -14876,7 +14877,7 @@ msgstr "Auteur(s)"
#: plugins/plugin-manager/plugin-manager.c:46
msgid "Id"
-msgstr "Id"
+msgstr "Identifiant"
#: plugins/plugin-manager/plugin-manager.c:47
msgid "Path"
@@ -14889,7 +14890,7 @@ msgstr "Description"
#. Setup the ui
#: plugins/plugin-manager/plugin-manager.c:188
msgid "Plugin Manager"
-msgstr "Gestionnaire d'extensions"
+msgstr "Gestionnaire de greffons"
#: plugins/plugin-manager/plugin-manager.c:201
msgid "Note: Some changes will not take effect until restart"
@@ -14897,7 +14898,7 @@ msgstr "Note : certains changements ne prendront effet qu'après un redémarrag
#: plugins/plugin-manager/plugin-manager.c:210
msgid "Plugin"
-msgstr "Extension"
+msgstr "Greffon"
#: plugins/prefer-plain/prefer-plain.c:105
msgid "Show HTML if present"
@@ -14977,7 +14978,7 @@ msgstr "Encapsuler les valeurs avec :"
msgid "Comma separated value format (.csv)"
msgstr "Format comma separated value (.csv)"
-#: plugins/save-calendar/ical-format.c:120
+#: plugins/save-calendar/ical-format.c:136
msgid "iCalendar format (.ics)"
msgstr "Format iCalendar (.ics)"
@@ -14985,12 +14986,12 @@ msgstr "Format iCalendar (.ics)"
msgid "RDF format (.rdf)"
msgstr "Format RDF (.rdf)"
-#: plugins/save-calendar/save-calendar.c:172
-#: plugins/save-calendar/save-calendar.c:182
+#: plugins/save-calendar/save-calendar.c:171
+#: plugins/save-calendar/save-calendar.c:181
msgid "Select destination file"
msgstr "Sélectionner un fichier de destination"
-#: plugins/save-calendar/save-calendar.c:217
+#: plugins/save-calendar/save-calendar.c:216
#, c-format
msgid ""
"The suggested filename extension of this filetype (%s) is unused in the "
@@ -15141,7 +15142,7 @@ msgstr "Paramétrage de l'imprimante"
msgid "Skip development warning dialog"
msgstr "Sauter les dialogues d'avertissement de développement"
-#: shell/apps_evolution_shell.schemas.in.in.h:11 shell/main.c:475
+#: shell/apps_evolution_shell.schemas.in.in.h:11 shell/main.c:476
msgid "Start in offline mode"
msgstr "Démarrer en mode déconnecté"
@@ -15410,27 +15411,27 @@ msgstr "Un nom de dossier ne peut pas contenir le caractère « # »"
msgid "'.' and '..' are reserved folder names."
msgstr " « . » et « .. » sont réservés aux noms de dossiers."
-#: shell/e-shell-window-commands.c:67
+#: shell/e-shell-window-commands.c:69
msgid "The GNOME Pilot tools do not appear to be installed on this system."
msgstr "Les outils du Gnome-Pilot ne semblent pas installés sur ce système."
-#: shell/e-shell-window-commands.c:75
+#: shell/e-shell-window-commands.c:77
#, c-format
msgid "Error executing %s."
msgstr "Erreur à l'exécution de %s"
-#: shell/e-shell-window-commands.c:124
+#: shell/e-shell-window-commands.c:126
msgid "Bug buddy is not installed."
msgstr "Bug buddy n'est pas installé."
-#: shell/e-shell-window-commands.c:132
+#: shell/e-shell-window-commands.c:134
msgid "Bug buddy could not be run."
msgstr "Bug buddy ne peut être exécuté."
#. The translator-credits string is for translators to list
#. * per language credits for translation, displayed in the
#. * about box
-#: shell/e-shell-window-commands.c:426
+#: shell/e-shell-window-commands.c:501
msgid "translator-credits"
msgstr ""
"Mainteneur :\n"
@@ -15448,19 +15449,19 @@ msgstr ""
"Vincent Carriere <carriere_vincent@yahoo.fr>\n"
"Craig Jeffares <cjeffares@novell.com> pour Novell(tm)"
-#: shell/e-shell-window-commands.c:440
+#: shell/e-shell-window-commands.c:515
msgid "Groupware Suite"
msgstr "Suite Groupware"
-#: shell/e-shell-window-commands.c:681
+#: shell/e-shell-window-commands.c:742
msgid "_Work Online"
msgstr "Travail _en ligne"
-#: shell/e-shell-window-commands.c:694 ui/evolution.xml.h:51
+#: shell/e-shell-window-commands.c:755 ui/evolution.xml.h:51
msgid "_Work Offline"
msgstr "Travail _hors ligne"
-#: shell/e-shell-window-commands.c:707 ui/evolution.xml.h:34
+#: shell/e-shell-window-commands.c:768 ui/evolution.xml.h:34
msgid "Work Offline"
msgstr "Travail hors ligne"
@@ -15478,37 +15479,37 @@ msgid "Evolution is currently offline. Click on this button to work online."
msgstr ""
"Evolution est hors ligne. Cliquez sur ce bouton pour travailler en ligne."
-#: shell/e-shell-window.c:708
+#: shell/e-shell-window.c:713
#, c-format
msgid "Switch to %s"
msgstr "Changer pour %s"
-#: shell/e-shell.c:597
+#: shell/e-shell.c:598
msgid "Uknown system error."
msgstr "Erreur système inconnue"
-#: shell/e-shell.c:805 shell/e-shell.c:806
+#: shell/e-shell.c:800 shell/e-shell.c:801
#, c-format
msgid "%ld KB"
msgstr "%ld kB"
-#: shell/e-shell.c:1249 widgets/misc/e-cell-date-edit.c:256
+#: shell/e-shell.c:1254 widgets/misc/e-cell-date-edit.c:256
msgid "OK"
msgstr "Valider"
-#: shell/e-shell.c:1251
+#: shell/e-shell.c:1256
msgid "Invalid arguments"
msgstr "Arguments non valides"
-#: shell/e-shell.c:1253
+#: shell/e-shell.c:1258
msgid "Cannot register on OAF"
msgstr "Impossible d'enregistrer dans OAF."
-#: shell/e-shell.c:1255
+#: shell/e-shell.c:1260
msgid "Configuration Database not found"
msgstr "Base de données de configuration non trouvée"
-#: shell/e-shell.c:1257
+#: shell/e-shell.c:1262
msgid "Generic error"
msgstr "Erreur générique"
@@ -15628,7 +15629,7 @@ msgid "Evolution can import data from the following files:"
msgstr "Evolution peut importer des données depuis les fichiers suivants :"
#. Preview/Alpha/Beta version warning message
-#: shell/main.c:237
+#: shell/main.c:238
#, no-c-format
msgid ""
"Hi. Thanks for taking the time to download this preview release\n"
@@ -15666,7 +15667,7 @@ msgstr ""
"nous \n"
"attendons impatiemment vos contributions !\n"
-#: shell/main.c:261
+#: shell/main.c:262
msgid ""
"Thanks\n"
"The Evolution Team\n"
@@ -15674,39 +15675,39 @@ msgstr ""
"Merci\n"
"L'équipe Evolution\n"
-#: shell/main.c:268
+#: shell/main.c:269
msgid "Don't tell me again"
msgstr "Ne plus me le dire"
-#: shell/main.c:473
+#: shell/main.c:474
msgid "Start Evolution activating the specified component"
msgstr "Démarre Evolution en activant le composant spécifié"
-#: shell/main.c:477
+#: shell/main.c:478
msgid "Start in online mode"
msgstr "Démarrer en mode connecté"
-#: shell/main.c:480
+#: shell/main.c:481
msgid "Forcibly shut down all Evolution components"
msgstr "Forcer l'arrêt de tous les composants d'Evolution"
-#: shell/main.c:484
+#: shell/main.c:485
msgid "Forcibly re-migrate from Evolution 1.4"
msgstr "Forcer la remigration depuis Evolution 1.4"
-#: shell/main.c:487
+#: shell/main.c:488
msgid "Send the debugging output of all components to a file."
msgstr "Envoyer la sortie de déboguage de tous les composants à un fichier."
-#: shell/main.c:490
+#: shell/main.c:491
msgid "Disable the mono plugin environment."
-msgstr "Désactiver l'extension d'environnement mono."
+msgstr "Désactiver le greffon d'environnement mono."
-#: shell/main.c:493
+#: shell/main.c:494
msgid "Disable loading of any plugins."
-msgstr "Désactiver le chargement des extensions."
+msgstr "Désactiver le chargement des greffons."
-#: shell/main.c:524
+#: shell/main.c:525
#, c-format
msgid ""
"%s: --online and --offline cannot be used together.\n"
@@ -15895,30 +15896,30 @@ msgstr ""
"ce certificat à moins que quelque chose indique le contraire ici"
#: smime/gui/certificate-manager.c:134 smime/gui/certificate-manager.c:142
-#: smime/gui/certificate-manager.c:375 smime/gui/certificate-manager.c:383
-#: smime/gui/certificate-manager.c:595 smime/gui/certificate-manager.c:603
+#: smime/gui/certificate-manager.c:377 smime/gui/certificate-manager.c:385
+#: smime/gui/certificate-manager.c:597 smime/gui/certificate-manager.c:605
msgid "Select a cert to import..."
msgstr "Sélectionnez un certificat à importer..."
-#: smime/gui/certificate-manager.c:263 smime/gui/certificate-manager.c:472
-#: smime/gui/certificate-manager.c:690
+#: smime/gui/certificate-manager.c:265 smime/gui/certificate-manager.c:474
+#: smime/gui/certificate-manager.c:692
msgid "Certificate Name"
msgstr "Nom de certificat"
-#: smime/gui/certificate-manager.c:272 smime/gui/certificate-manager.c:490
+#: smime/gui/certificate-manager.c:274 smime/gui/certificate-manager.c:492
msgid "Purposes"
msgstr "Sujets"
-#: smime/gui/certificate-manager.c:281 smime/gui/smime-ui.glade.h:36
+#: smime/gui/certificate-manager.c:283 smime/gui/smime-ui.glade.h:36
#: smime/lib/e-cert.c:569
msgid "Serial Number"
msgstr "Numéro de série"
-#: smime/gui/certificate-manager.c:289
+#: smime/gui/certificate-manager.c:291
msgid "Expires"
msgstr "Expire"
-#: smime/gui/certificate-manager.c:481
+#: smime/gui/certificate-manager.c:483
msgid "E-Mail Address"
msgstr "Adresse électronique"
@@ -16495,7 +16496,7 @@ msgstr "_Actions"
#: ui/evolution-addressbook.xml.h:35
msgid "_Forward Contact..."
-msgstr "_Faire suivre au contact..."
+msgstr "_Faire suivre le contact..."
#: ui/evolution-addressbook.xml.h:36
msgid "_Move to Folder..."
@@ -16927,7 +16928,7 @@ msgstr "Faire _suivre comme..."
#: ui/evolution-mail-message.xml.h:33
msgid "Filter _Junk"
-msgstr "Filtr_age des spams"
+msgstr "Filtr_age des pourriels"
#: ui/evolution-mail-message.xml.h:34
msgid "Filter on Mailing _List..."
@@ -16947,7 +16948,7 @@ msgstr "Filtrer sur l' _objet..."
#: ui/evolution-mail-message.xml.h:38
msgid "Filter the selected messages for junk status"
-msgstr "Filter les messages sélectionnés pour la recherche de spams"
+msgstr "Filter les messages sélectionnés pour la recherche de pourriels"
#: ui/evolution-mail-message.xml.h:39
msgid "Flag selected message(s) for follow-up"
@@ -17012,11 +17013,11 @@ msgstr "Marquer les messages sélectionnés comme important"
#: ui/evolution-mail-message.xml.h:58
msgid "Mark the selected message(s) as junk"
-msgstr "Marquer les messages sélectionnés comme des spams"
+msgstr "Marquer les messages sélectionnés comme des pourriels"
#: ui/evolution-mail-message.xml.h:59
msgid "Mark the selected message(s) as not being junk"
-msgstr "Marquer les messages sélectionnés comme non spams"
+msgstr "Marquer les messages sélectionnés comme non pourriels"
#: ui/evolution-mail-message.xml.h:60
msgid "Mark the selected message(s) as not having been read"
@@ -17052,7 +17053,7 @@ msgstr "Message _non lu suivant"
#: ui/evolution-mail-message.xml.h:69
msgid "Not Junk"
-msgstr "Non spam"
+msgstr "Non pourriel"
#: ui/evolution-mail-message.xml.h:70
msgid "Open the selected message in a new window"
diff --git a/po/gu.po b/po/gu.po
index 4bef73993d..c0c73c7cde 100644
--- a/po/gu.po
+++ b/po/gu.po
@@ -1,3 +1,4 @@
+# translation of evolution.gnome-2-10.gu.po to Gujarati
# translation of evolution.HEAD.gu.po to Gujarati
# translation of evolution.HEAD.po to Gujarati
# This file is distributed under the same license as the PACKAGE package.
@@ -7,10 +8,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: evolution.HEAD.gu\n"
+"Project-Id-Version: evolution.gnome-2-10.gu\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-02-22 06:28+0100\n"
-"PO-Revision-Date: 2005-02-23 09:50+0530\n"
+"POT-Creation-Date: 2005-03-08 21:27+0100\n"
+"PO-Revision-Date: 2005-03-09 09:40+0530\n"
"Last-Translator: Ankit Patel <ankit@redhat.com>\n"
"Language-Team: Gujarati <gu@li.org>\n"
"MIME-Version: 1.0\n"
@@ -24,6 +25,7 @@ msgstr ""
"\n"
"\n"
"\n"
+"\n"
#: a11y/addressbook/ea-addressbook-view.c:94
#: a11y/addressbook/ea-addressbook-view.c:103
@@ -49,7 +51,7 @@ msgstr[0] "વરà«àª¤àª®àª¾àª¨ સરનામા પà«àª¸à«àª¤àª¿àª• ફો
msgstr[1] "વરà«àª¤àª®àª¾àª¨ સરનામા પà«àª¸à«àª¤àª¿àª• ફોલà«àª¡àª° પાસે %d કારà«àª¡à«‹ છે"
#: a11y/addressbook/ea-minicard.c:31
-#: calendar/gui/alarm-notify/alarm-queue.c:863
+#: calendar/gui/alarm-notify/alarm-queue.c:878
#: ui/evolution-message-composer.xml.h:10
msgid "Open"
msgstr "ખોલો"
@@ -228,16 +230,16 @@ msgstr "મહિના માટે કેલેનà«àª¡àª° દેખાવ"
msgid "calendar view for one or more weeks"
msgstr "àªàª• અથવા વધૠઅઠવાડિયાઓ માટે કેલેનà«àª¡àª° દેખાવ"
-#: a11y/widgets/ea-calendar-item.c:290 a11y/widgets/ea-calendar-item.c:296
+#: a11y/widgets/ea-calendar-item.c:296 a11y/widgets/ea-calendar-item.c:302
msgid "%d %B %Y"
msgstr "%d %B %Y"
-#: a11y/widgets/ea-calendar-item.c:298
+#: a11y/widgets/ea-calendar-item.c:304
#, c-format
msgid "Calendar: from %s to %s"
msgstr "કેલેનà«àª¡àª°: %s થી %s સà«àª§à«€àª¨à«àª‚"
-#: a11y/widgets/ea-calendar-item.c:333
+#: a11y/widgets/ea-calendar-item.c:339
msgid "evolution calendar item"
msgstr "ઈવોલà«àª¯à«àª¶àª¨ કેલેનà«àª¡àª° વસà«àª¤à«"
@@ -539,7 +541,7 @@ msgstr "તમારા S/MIME પà«àª°àª®àª¾àª£àªªàª¤à«àª°à«‹àª¨à«€ અંહ
#: calendar/gui/calendar-component.c:208 calendar/gui/migration.c:459
#: calendar/gui/migration.c:552 calendar/gui/tasks-component.c:188
#: mail/em-folder-tree-model.c:197 mail/em-folder-tree-model.c:199
-#: mail/mail-component.c:270 mail/mail-vfolder.c:222
+#: mail/mail-component.c:290 mail/mail-vfolder.c:222
msgid "On This Computer"
msgstr "આ કમà«àªªà«àª¯à«àªŸàª°àª®àª¾àª‚"
@@ -553,7 +555,7 @@ msgstr "આ કમà«àªªà«àª¯à«àªŸàª°àª®àª¾àª‚"
#: addressbook/gui/contact-editor/contact-editor.glade.h:20
#: calendar/gui/calendar-component.c:216 calendar/gui/migration.c:467
#: calendar/gui/migration.c:560 calendar/gui/tasks-component.c:196
-#: filter/filter-label.c:123 mail/em-migrate.c:1013 mail/mail-config.c:77
+#: filter/filter-label.c:123 mail/em-migrate.c:1043 mail/mail-config.c:78
#: mail/mail-config.glade.h:101
msgid "Personal"
msgstr "ખાનગી"
@@ -581,7 +583,7 @@ msgid "Create a new contact list"
msgstr "નવી સંપરà«àª• યાદી બનાવો"
#: addressbook/gui/component/addressbook-component.c:212
-#: addressbook/gui/component/addressbook-config.c:1121
+#: addressbook/gui/component/addressbook-config.c:1120
#: addressbook/gui/component/addressbook-view.c:757
msgid "New Address Book"
msgstr "નવી સરનામા પોથી"
@@ -648,18 +650,18 @@ msgstr "શોધી રહà«àª¯àª¾ છીàª"
msgid "Downloading"
msgstr "ડાઉનલોડ કરી રહà«àª¯àª¾ છીàª"
-#: addressbook/gui/component/addressbook-config.c:1119
+#: addressbook/gui/component/addressbook-config.c:1118
#: addressbook/gui/component/ldap-config.glade.h:14
msgid "Address Book Properties"
msgstr "સરનામાપોથીના ગà«àª£àª§àª°à«àª®à«‹"
#: addressbook/gui/component/addressbook-migrate.c:72
-#: calendar/gui/migration.c:142 mail/em-migrate.c:1160
+#: calendar/gui/migration.c:142 mail/em-migrate.c:1190
msgid "Migrating..."
msgstr "રà«àªªàª¾àª‚તરિત કરી રહà«àª¯àª¾ છીàª..."
#: addressbook/gui/component/addressbook-migrate.c:124
-#: calendar/gui/migration.c:189 mail/em-migrate.c:1201
+#: calendar/gui/migration.c:189 mail/em-migrate.c:1231
#, c-format
msgid "Migrating `%s':"
msgstr "`%s' ને રà«àªªàª¾àª‚તરિત કરી રહà«àª¯àª¾ છીàª:"
@@ -862,7 +864,7 @@ msgid "Add Address Book"
msgstr "સરનામા પોથી ઉમેરો"
#: addressbook/gui/component/ldap-config.glade.h:15
-#: mail/em-account-editor.c:300
+#: mail/em-account-editor.c:302
msgid "Always"
msgstr "હંમેશા"
@@ -895,7 +897,7 @@ msgid "Lo_gin:"
msgstr "પà«àª°àªµà«‡àª¶ (_g):"
#: addressbook/gui/component/ldap-config.glade.h:25
-#: mail/em-account-editor.c:298
+#: mail/em-account-editor.c:300
msgid "Never"
msgstr "કà«àª¯àª¾àª°à«‡àª¯ નહિ"
@@ -1013,7 +1015,7 @@ msgid "Using email address"
msgstr "ઈ-મેઈલ સરનામૠવાપરી રહà«àª¯àª¾ છીàª"
#: addressbook/gui/component/ldap-config.glade.h:42
-#: mail/em-account-editor.c:299
+#: mail/em-account-editor.c:301
msgid "Whenever Possible"
msgstr "જà«àª¯àª¾àª°à«‡ પણ શકà«àª¯ હોય તà«àª¯àª¾àª°à«‡"
@@ -1067,7 +1069,7 @@ msgstr "પતà«àª°à«‹"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:12
#: calendar/gui/dialogs/alarm-dialog.glade.h:26
#: calendar/gui/dialogs/calendar-setup.glade.h:14 filter/filter.glade.h:16
-#: mail/em-account-editor.c:1883 plugins/calendar-http/calendar-http.c:263
+#: mail/em-account-editor.c:1885 plugins/calendar-http/calendar-http.c:263
#: plugins/calendar-weather/calendar-weather.c:564
msgid "minutes"
msgstr "મિનિટો"
@@ -1165,7 +1167,7 @@ msgstr "ટેલિફોન"
#: addressbook/gui/contact-editor/contact-editor.glade.h:23
#: addressbook/gui/contact-editor/e-contact-editor-im.c:235
#: addressbook/gui/contact-editor/e-contact-editor.c:199
-#: filter/filter-label.c:122 mail/em-migrate.c:1012 mail/mail-config.c:76
+#: filter/filter-label.c:122 mail/em-migrate.c:1042 mail/mail-config.c:77
#: mail/mail-config.glade.h:148
msgid "Work"
msgstr "કારà«àª¯"
@@ -2393,7 +2395,7 @@ msgstr "પà«àª°à«‚ં નામ (_F):"
msgid "E-_mail:"
msgstr "ઈ-મેઈલ (_m):"
-#: addressbook/gui/contact-editor/eab-editor.c:324
+#: addressbook/gui/contact-editor/eab-editor.c:326
msgid ""
"Are you sure you want\n"
"to delete these contacts?"
@@ -2401,7 +2403,7 @@ msgstr ""
"શà«àª‚ તમે ખરેખર આ સંપરà«àª•à«‹\n"
"દૂર કરવા માંગો છો?"
-#: addressbook/gui/contact-editor/eab-editor.c:327
+#: addressbook/gui/contact-editor/eab-editor.c:329
msgid ""
"Are you sure you want\n"
"to delete this contact?"
@@ -2678,7 +2680,7 @@ msgstr "સà«àª°à«‹àª¤"
#: addressbook/gui/widgets/e-addressbook-view.c:244
#: calendar/gui/dialogs/meeting-page.etspec.h:11
#: calendar/gui/e-calendar-table.etspec.h:13
-#: calendar/gui/e-meeting-list-view.c:244
+#: calendar/gui/e-meeting-list-view.c:319
#: calendar/gui/e-meeting-time-sel.etspec.h:11
msgid "Type"
msgstr "પà«àª°àª•àª¾àª°"
@@ -2888,7 +2890,7 @@ msgstr "રેડિયો"
#: addressbook/gui/widgets/e-addressbook-view.etspec.h:33
#: calendar/gui/dialogs/meeting-page.etspec.h:9
-#: calendar/gui/e-meeting-list-view.c:251
+#: calendar/gui/e-meeting-list-view.c:326
#: calendar/gui/e-meeting-time-sel.etspec.h:9
msgid "Role"
msgstr "ભૂમિકા"
@@ -4034,7 +4036,7 @@ msgstr "બાબત યાદી ઓફલાઈન વપરાશ માટà«
#. calendar:server-version secondary
#: calendar/calendar-errors.xml.h:146
-msgid " Some features may not work correctly with your current server version"
+msgid " Some features may not work correctly with your current server version "
msgstr " અમà«àª• લકà«àª·àª£à«‹ તમારા વરà«àª¤àª®àª¾àª¨ સરà«àªµàª°àª¨à«€ આવૃતà«àª¤àª¿ સાથે યોગà«àª¯ રીતે કામ કરશે નહિં"
#: calendar/common/authentication.c:49 calendar/gui/e-pub-utils.c:301
@@ -4195,28 +4197,28 @@ msgstr "જગà«àª¯àª¾"
msgid "start-time"
msgstr "શરૂઆતનો સમય"
-#: calendar/gui/alarm-notify/alarm-queue.c:864
+#: calendar/gui/alarm-notify/alarm-queue.c:879
msgid "Dismiss"
msgstr "રદ"
-#: calendar/gui/alarm-notify/alarm-queue.c:865
+#: calendar/gui/alarm-notify/alarm-queue.c:880
msgid "Dismiss All"
msgstr "બધૠરદ"
-#: calendar/gui/alarm-notify/alarm-queue.c:947
+#: calendar/gui/alarm-notify/alarm-queue.c:962
msgid "No summary available."
msgstr "કોઈ સાર ઉપલબà«àª§ નથી."
-#: calendar/gui/alarm-notify/alarm-queue.c:956
-#: calendar/gui/alarm-notify/alarm-queue.c:958
+#: calendar/gui/alarm-notify/alarm-queue.c:971
+#: calendar/gui/alarm-notify/alarm-queue.c:973
msgid "No description available."
msgstr "કોઈ વરà«àª£àª¨ ઉપલબà«àª§ નથી."
-#: calendar/gui/alarm-notify/alarm-queue.c:966
+#: calendar/gui/alarm-notify/alarm-queue.c:981
msgid "No location information available."
msgstr "કોઈ જગà«àª¯àª¾ જાણકારી ઉપલબà«àª§ નથી."
-#: calendar/gui/alarm-notify/alarm-queue.c:982
+#: calendar/gui/alarm-notify/alarm-queue.c:997
#, c-format
msgid ""
"Alarm on %s\n"
@@ -4229,12 +4231,12 @@ msgstr ""
"%s વાગà«àª¯à«‡ ચાલૠથાય છે\n"
"%s વાગà«àª¯à«‡ બંધ થાય છે"
-#: calendar/gui/alarm-notify/alarm-queue.c:1084
-#: calendar/gui/alarm-notify/alarm-queue.c:1108
+#: calendar/gui/alarm-notify/alarm-queue.c:1099
+#: calendar/gui/alarm-notify/alarm-queue.c:1123
msgid "Warning"
msgstr "ચેતવણી"
-#: calendar/gui/alarm-notify/alarm-queue.c:1088
+#: calendar/gui/alarm-notify/alarm-queue.c:1103
msgid ""
"Evolution does not support calendar reminders with\n"
"email notifications yet, but this reminder was\n"
@@ -4246,7 +4248,7 @@ msgstr ""
"ઈ-મેઈલ મોકલવા સાથે રà«àªªàª°à«‡àª–ાંકિત થયો નથી. ઈવોલà«àª¯à«àª¶àª¨\n"
"સામાનà«àª¯ રીમાઈનà«àª¡àª° સાથે સંવાદ બોકà«àª¸ પà«àª°àª¦àª°à«àª¶àª¿àª¤ થશે."
-#: calendar/gui/alarm-notify/alarm-queue.c:1114
+#: calendar/gui/alarm-notify/alarm-queue.c:1129
#, c-format
msgid ""
"An Evolution Calendar reminder is about to trigger. This reminder is "
@@ -4263,7 +4265,7 @@ msgstr ""
"\n"
"શà«àª‚ તમે ખરેખર આ કારà«àª¯àª•à«àª°àª® ચલાવવા માંગો છો?"
-#: calendar/gui/alarm-notify/alarm-queue.c:1128
+#: calendar/gui/alarm-notify/alarm-queue.c:1143
msgid "Do not ask me about this program again."
msgstr "મને આ કારà«àª¯àª•à«àª°àª® વિશે ફરીથી પૂછશો નહિં."
@@ -4733,7 +4735,7 @@ msgstr "કેલેનà«àª¡àª° ખોલતી વખતે પદà«àª§àª¤àª¿
msgid "Permission denied to open the calendar"
msgstr "કેલેનà«àª¡àª° ખોલવા માટે પરવાનગી નથી"
-#: calendar/gui/comp-editor-factory.c:437 shell/e-shell.c:1259
+#: calendar/gui/comp-editor-factory.c:437 shell/e-shell.c:1264
msgid "Unknown error"
msgstr "અજà«àªžàª¾àª¤ ભૂલ"
@@ -4874,7 +4876,7 @@ msgid "%.0fG"
msgstr "%.0fG"
#: calendar/gui/dialogs/cal-attachment-bar.c:298
-#: calendar/gui/dialogs/cal-attachment-bar.c:913
+#: calendar/gui/dialogs/cal-attachment-bar.c:922
#: composer/e-msg-composer-attachment-bar.c:295 mail/em-utils.c:436
msgid "attachment"
msgstr "જોડાણ"
@@ -4953,7 +4955,7 @@ msgid "MIME type:"
msgstr "MIME પà«àª°àª•àª¾àª°:"
#. g_object_set((GObject *)renderer, "activatable", TRUE, NULL);
-#: calendar/gui/dialogs/cal-prefs-dialog.c:576 mail/em-account-prefs.c:460
+#: calendar/gui/dialogs/cal-prefs-dialog.c:576 mail/em-account-prefs.c:476
#: mail/em-composer-prefs.c:888 plugins/plugin-manager/plugin-manager.c:213
msgid "Enabled"
msgstr "સકà«àª°àª¿àª¯ કરેલ છે"
@@ -4972,15 +4974,15 @@ msgstr "કાઢશો નહિં"
#: calendar/gui/dialogs/cal-prefs-dialog.c:787
#: calendar/gui/dialogs/cal-prefs-dialog.c:820
-#: calendar/gui/dialogs/cal-prefs-dialog.c:853 mail/em-account-prefs.c:307
-#: mail/em-account-prefs.c:335 mail/em-account-prefs.c:366
+#: calendar/gui/dialogs/cal-prefs-dialog.c:853 mail/em-account-prefs.c:323
+#: mail/em-account-prefs.c:351 mail/em-account-prefs.c:382
msgid "Disable"
msgstr "નિષà«àª•à«àª°àª¿àª¯"
#: calendar/gui/dialogs/cal-prefs-dialog.c:787
#: calendar/gui/dialogs/cal-prefs-dialog.c:820
-#: calendar/gui/dialogs/cal-prefs-dialog.c:855 mail/em-account-prefs.c:307
-#: mail/em-account-prefs.c:335 mail/em-account-prefs.c:368
+#: calendar/gui/dialogs/cal-prefs-dialog.c:855 mail/em-account-prefs.c:323
+#: mail/em-account-prefs.c:351 mail/em-account-prefs.c:384
msgid "Enable"
msgstr "સકà«àª°àª¿àª¯"
@@ -5376,8 +5378,8 @@ msgstr[1] "%d જોડાયેલ સંદેશાઓ"
#: calendar/gui/dialogs/comp-editor.c:412 calendar/gui/e-calendar-table.c:1164
#: calendar/gui/e-calendar-view.c:1402 composer/e-msg-composer.c:2906
-#: mail/em-folder-tree.c:1046 mail/em-folder-view.c:973
-#: mail/message-list.c:1712 ui/evolution-addressbook.xml.h:31
+#: mail/em-folder-tree.c:1046 mail/em-folder-view.c:966
+#: mail/message-list.c:1707 ui/evolution-addressbook.xml.h:31
#: ui/evolution-calendar.xml.h:39 ui/evolution-composer-entries.xml.h:7
#: ui/evolution-mail-message.xml.h:105 ui/evolution-tasks.xml.h:20
msgid "_Copy"
@@ -5385,87 +5387,87 @@ msgstr "નકલ કરો (_C)"
#: calendar/gui/dialogs/comp-editor.c:413 composer/e-msg-composer.c:2907
#: mail/em-folder-tree.c:1047 mail/em-folder-tree.c:2311
-#: mail/em-folder-view.c:869 mail/message-list.c:1713
+#: mail/em-folder-view.c:862 mail/message-list.c:1708
msgid "_Move"
msgstr "ખસેડો (_M)"
#: calendar/gui/dialogs/comp-editor.c:415 composer/e-msg-composer.c:2909
-#: mail/em-folder-tree.c:1049 mail/message-list.c:1715
+#: mail/em-folder-tree.c:1049 mail/message-list.c:1710
msgid "Cancel _Drag"
msgstr "ખેંચવાનà«àª‚ રદ કરો (_D)"
-#: calendar/gui/dialogs/comp-editor.c:659
+#: calendar/gui/dialogs/comp-editor.c:682
msgid "Could not update object"
msgstr "ઓબà«àªœà«‡àª•à«àªŸ સà«àª§àª¾àª°à«€ શકà«àª¯àª¾ નથી"
-#: calendar/gui/dialogs/comp-editor.c:820 composer/e-msg-composer.c:2310
+#: calendar/gui/dialogs/comp-editor.c:843 composer/e-msg-composer.c:2310
#, c-format
msgid "<b>%d</b> File Attached"
msgid_plural "<b>%d</b> Files Attached"
msgstr[0] "<b>%d</b> ફાઈલ જોડાયેલ છે"
msgstr[1] "b>%d</b> ફાઈલો જોડાયેલ છે"
-#: calendar/gui/dialogs/comp-editor.c:873 composer/e-msg-composer.c:2339
+#: calendar/gui/dialogs/comp-editor.c:900 composer/e-msg-composer.c:2339
msgid "Hide _Attachment Bar (drop attachments here)"
msgstr "જોડાણ પટà«àªŸà«€ છà«àªªàª¾àªµà«‹ (જોડાણો અંહિ છોડો)"
-#: calendar/gui/dialogs/comp-editor.c:876
-#: calendar/gui/dialogs/comp-editor.c:928 composer/e-msg-composer.c:2342
+#: calendar/gui/dialogs/comp-editor.c:903
+#: calendar/gui/dialogs/comp-editor.c:955 composer/e-msg-composer.c:2342
#: composer/e-msg-composer.c:3471
msgid "Show _Attachment Bar (drop attachments here)"
msgstr "જોડાણ પટà«àªŸà«€ બતાવો (જોડાણો અંહિ છોડો)"
-#: calendar/gui/dialogs/comp-editor.c:952 composer/e-msg-composer.c:3493
+#: calendar/gui/dialogs/comp-editor.c:979 composer/e-msg-composer.c:3493
msgid "Attachment Button: Press space key to toggle attachment bar"
msgstr "જોડાણ બટન: જોડાણ પટà«àªŸà«€ બદલવા માટે જગà«àª¯àª¾ કી દબાવો"
-#: calendar/gui/dialogs/comp-editor.c:1499
-#: calendar/gui/dialogs/comp-editor.c:1542
+#: calendar/gui/dialogs/comp-editor.c:1526
+#: calendar/gui/dialogs/comp-editor.c:1569
msgid "Edit Appointment"
msgstr "મà«àª²àª¾àª•àª¾àª¤àª®àª¾àª‚ ફેરફાર કરો"
-#: calendar/gui/dialogs/comp-editor.c:1505
-#: calendar/gui/dialogs/comp-editor.c:1548
+#: calendar/gui/dialogs/comp-editor.c:1532
+#: calendar/gui/dialogs/comp-editor.c:1575
#, c-format
msgid "Meeting - %s"
msgstr "મંતà«àª°àª£àª¾ - %s"
-#: calendar/gui/dialogs/comp-editor.c:1507
-#: calendar/gui/dialogs/comp-editor.c:1550
+#: calendar/gui/dialogs/comp-editor.c:1534
+#: calendar/gui/dialogs/comp-editor.c:1577
#, c-format
msgid "Appointment - %s"
msgstr "મà«àª²àª¾àª•àª¾àª¤ - %s"
-#: calendar/gui/dialogs/comp-editor.c:1511
-#: calendar/gui/dialogs/comp-editor.c:1554
+#: calendar/gui/dialogs/comp-editor.c:1538
+#: calendar/gui/dialogs/comp-editor.c:1581
#, c-format
msgid "Assigned Task - %s"
msgstr "સોંપાયેલ બાબત - %s"
-#: calendar/gui/dialogs/comp-editor.c:1513
-#: calendar/gui/dialogs/comp-editor.c:1556
+#: calendar/gui/dialogs/comp-editor.c:1540
+#: calendar/gui/dialogs/comp-editor.c:1583
#, c-format
msgid "Task - %s"
msgstr "બાબત - %s"
-#: calendar/gui/dialogs/comp-editor.c:1516
-#: calendar/gui/dialogs/comp-editor.c:1559
+#: calendar/gui/dialogs/comp-editor.c:1543
+#: calendar/gui/dialogs/comp-editor.c:1586
#, c-format
msgid "Journal entry - %s"
msgstr "જરà«àª¨àª² પà«àª°àªµà«‡àª¶ - %s"
-#: calendar/gui/dialogs/comp-editor.c:1527
-#: calendar/gui/dialogs/comp-editor.c:1569
+#: calendar/gui/dialogs/comp-editor.c:1554
+#: calendar/gui/dialogs/comp-editor.c:1596
msgid "No summary"
msgstr "કોઈ સાર નથી"
-#: calendar/gui/dialogs/comp-editor.c:2001
-#: calendar/gui/dialogs/comp-editor.c:2034
-#: calendar/gui/dialogs/comp-editor.c:2058
+#: calendar/gui/dialogs/comp-editor.c:2030
+#: calendar/gui/dialogs/comp-editor.c:2063
+#: calendar/gui/dialogs/comp-editor.c:2087
msgid "Changes made to this item may be discarded if an update arrives"
msgstr "આ વસà«àª¤à«àª®àª¾àª‚ કરેલા ફેરફારો રદ કરાશે જો સà«àª§àª¾àª°à«‹ થાય તો"
-#: calendar/gui/dialogs/comp-editor.c:2082
+#: calendar/gui/dialogs/comp-editor.c:2111
msgid "Unable to use current version!"
msgstr "વરà«àª¤àª®àª¾àª¨ આવૃતà«àª¤àª¿ વાપરવા માટે અસમરà«àª¥!"
@@ -5728,8 +5730,8 @@ msgstr "શરà«àª†àª¤àª¨à«‹ સમય (_S):"
#: calendar/gui/dialogs/meeting-page.glade.h:5
#: calendar/gui/e-cal-model-tasks.c:652 calendar/gui/e-itip-control.c:1104
#: composer/e-msg-composer.c:2117 filter/filter-rule.c:878
-#: mail/em-account-editor.c:683 mail/em-account-editor.c:1289
-#: mail/em-account-prefs.c:421 mail/em-folder-view.c:1000
+#: mail/em-account-editor.c:685 mail/em-account-editor.c:1291
+#: mail/em-account-prefs.c:437 mail/em-folder-view.c:993
#: plugins/calendar-weather/calendar-weather.c:371
#: plugins/calendar-weather/calendar-weather.c:425
#: plugins/itip-formatter/itip-formatter.c:1376
@@ -5756,7 +5758,7 @@ msgid "_Delegate To..."
msgstr "ને ડિલિગેટ (_D)..."
#: calendar/gui/dialogs/meeting-page.etspec.h:1
-#: calendar/gui/e-meeting-list-view.c:235
+#: calendar/gui/e-meeting-list-view.c:308
#: calendar/gui/e-meeting-time-sel.etspec.h:1
msgid "Attendee"
msgstr "સભા ભરનાર"
@@ -5792,7 +5794,7 @@ msgid "Member"
msgstr "સભà«àª¯"
#: calendar/gui/dialogs/meeting-page.etspec.h:8
-#: calendar/gui/e-meeting-list-view.c:258
+#: calendar/gui/e-meeting-list-view.c:333
#: calendar/gui/e-meeting-time-sel.etspec.h:8
msgid "RSVP"
msgstr "RSVP"
@@ -5800,7 +5802,7 @@ msgstr "RSVP"
#: calendar/gui/dialogs/meeting-page.etspec.h:10
#: calendar/gui/dialogs/task-editor.c:146
#: calendar/gui/e-calendar-table.etspec.h:10
-#: calendar/gui/e-meeting-list-view.c:265
+#: calendar/gui/e-meeting-list-view.c:340
#: calendar/gui/e-meeting-time-sel.etspec.h:10 mail/em-filter-i18n.h:63
#: mail/message-list.etspec.h:12
msgid "Status"
@@ -5868,31 +5870,31 @@ msgstr "બાબતોની યાદીનà«àª‚ જૂથ"
msgid "Task List Name"
msgstr "બાબતોની યાદીનà«àª‚ નામ"
-#: calendar/gui/dialogs/recur-comp.c:51
+#: calendar/gui/dialogs/recur-comp.c:52
msgid "You are modifying a recurring event, what would you like to modify?"
msgstr "તમે વળતરની ઘટના સà«àª§àª¾àª°à«€ રહà«àª¯àª¾ છો, તમારે શેમાં સà«àª§àª¾àª°à«‹ કરવો છે?"
-#: calendar/gui/dialogs/recur-comp.c:55
+#: calendar/gui/dialogs/recur-comp.c:56
msgid "You are modifying a recurring task, what would you like to modify?"
msgstr "તમે વળતરની બાબત સà«àª§àª¾àª°à«€ રહà«àª¯àª¾ છો, તમારે શેમાં સà«àª§àª¾àª°à«‹ કરવો છે?"
-#: calendar/gui/dialogs/recur-comp.c:59
+#: calendar/gui/dialogs/recur-comp.c:60
msgid "You are modifying a recurring journal entry, what would you like to modify?"
msgstr "તમે વળતરની જરà«àª¨àª² પà«àª°àªµà«‡àª¶àª¾ સà«àª§àª¾àª°à«€ રહà«àª¯àª¾ છો, તમારે શેમાં સà«àª§àª¾àª°à«‹ કરવો છે?"
-#: calendar/gui/dialogs/recur-comp.c:87
+#: calendar/gui/dialogs/recur-comp.c:88
msgid "This Instance Only"
msgstr "માતà«àª° આ જ સમયે"
-#: calendar/gui/dialogs/recur-comp.c:91
+#: calendar/gui/dialogs/recur-comp.c:92
msgid "This and Prior Instances"
msgstr "આ અને પહેલાની પળો"
-#: calendar/gui/dialogs/recur-comp.c:97
+#: calendar/gui/dialogs/recur-comp.c:98
msgid "This and Future Instances"
msgstr "આ અને ભવિષà«àª¯àª¨à«€ પળો"
-#: calendar/gui/dialogs/recur-comp.c:102
+#: calendar/gui/dialogs/recur-comp.c:103
msgid "All Instances"
msgstr "બધી પળો"
@@ -6022,7 +6024,7 @@ msgstr "સમાપà«àª¤"
#: calendar/gui/dialogs/task-details-page.glade.h:5
#: calendar/gui/e-cal-component-preview.c:248
-#: calendar/gui/e-calendar-table.c:382 mail/message-list.c:1011
+#: calendar/gui/e-calendar-table.c:382 mail/message-list.c:1006
msgid "High"
msgstr "ઊંચà«"
@@ -6036,13 +6038,13 @@ msgstr "પà«àª°àª—તિમાં છે"
#: calendar/gui/dialogs/task-details-page.glade.h:7
#: calendar/gui/e-cal-component-preview.c:252
-#: calendar/gui/e-calendar-table.c:384 mail/message-list.c:1009
+#: calendar/gui/e-calendar-table.c:384 mail/message-list.c:1004
msgid "Low"
msgstr "નીચà«àª‚"
#: calendar/gui/dialogs/task-details-page.glade.h:8
#: calendar/gui/e-cal-component-preview.c:250 calendar/gui/e-cal-model.c:899
-#: calendar/gui/e-calendar-table.c:383 mail/message-list.c:1010
+#: calendar/gui/e-calendar-table.c:383 mail/message-list.c:1005
msgid "Normal"
msgstr "સામાનà«àª¯"
@@ -6241,7 +6243,7 @@ msgstr "%s તરફ %s"
msgid "%s for an unknown trigger type"
msgstr "%s અજà«àªžàª¾àª¤ પà«àª°àª•àª¾àª°àª¨à«€ ફેરબદલી માટે"
-#: calendar/gui/e-cal-component-preview.c:70 mail/em-folder-view.c:2588
+#: calendar/gui/e-cal-component-preview.c:70 mail/em-folder-view.c:2573
#, c-format
msgid "Click to open %s"
msgstr "%s ખોલવા માટે કà«àª²àª¿àª• કરો"
@@ -6269,7 +6271,7 @@ msgstr "પહેલાની તારીખ:"
#. Status
#: calendar/gui/e-cal-component-preview.c:222
#: calendar/gui/e-itip-control.c:1132
-#: plugins/exchange-account-setup/exchange-account-setup.c:129
+#: plugins/exchange-account-setup/exchange-account-setup.c:209
#: plugins/itip-formatter/itip-view.c:884
msgid "Status:"
msgstr "સà«àª¥àª¿àª¤àª¿:"
@@ -6347,7 +6349,7 @@ msgstr "ના"
#: calendar/gui/e-meeting-list-view.c:139
#: calendar/gui/e-meeting-list-view.c:153 calendar/gui/e-meeting-store.c:124
#: calendar/gui/e-meeting-store.c:159 calendar/gui/e-meeting-store.c:224
-#: mail/em-utils.c:1157 plugins/itip-formatter/itip-formatter.c:251
+#: mail/em-utils.c:1173 plugins/itip-formatter/itip-formatter.c:251
#: plugins/itip-formatter/itip-formatter.c:1398
#: plugins/plugin-manager/plugin-manager.c:72 shell/e-component-registry.c:201
#: shell/e-component-registry.c:205 widgets/misc/e-charset-picker.c:62
@@ -6433,7 +6435,7 @@ msgid "Open _Web Page"
msgstr "વેબ પાનà«àª‚ ખોલો (_W)"
#: calendar/gui/e-calendar-table.c:1158 calendar/gui/e-calendar-view.c:1396
-#: mail/em-folder-view.c:983 mail/em-popup.c:493
+#: mail/em-folder-view.c:976 mail/em-popup.c:494
#: ui/evolution-mail-message.xml.h:124
msgid "_Save As..."
msgstr "આ રીતે સંગà«àª°àª¹à«‹ (_S)..."
@@ -6476,7 +6478,7 @@ msgstr "પસંદ કરેલ બાબતોને પૂરà«àª£ થયà«
#. FIXME: need to disable for undeletable folders
#: calendar/gui/e-calendar-table.c:1176 calendar/gui/e-calendar-view.c:1414
-#: mail/em-folder-tree.c:2814 mail/em-folder-view.c:987
+#: mail/em-folder-tree.c:2814 mail/em-folder-view.c:980
#: ui/evolution-addressbook.xml.h:33 ui/evolution-calendar.xml.h:40
#: ui/evolution-mail-message.xml.h:108 ui/evolution-tasks.xml.h:21
msgid "_Delete"
@@ -6748,18 +6750,18 @@ msgstr "<br> મહેરબાની કરીને નીચેની જાà
#: calendar/gui/e-itip-control.c:1137 calendar/gui/e-meeting-list-view.c:175
#: calendar/gui/e-meeting-store.c:188 calendar/gui/e-meeting-store.c:211
-#: calendar/gui/itip-utils.c:422 plugins/itip-formatter/itip-formatter.c:1389
+#: calendar/gui/itip-utils.c:421 plugins/itip-formatter/itip-formatter.c:1389
msgid "Accepted"
msgstr "સà«àªµà«€àª•àª¾àª°àª¾àª¯à«‡àª²"
-#: calendar/gui/e-itip-control.c:1141 calendar/gui/itip-utils.c:425
+#: calendar/gui/e-itip-control.c:1141 calendar/gui/itip-utils.c:424
#: plugins/itip-formatter/itip-formatter.c:1392
msgid "Tentatively Accepted"
msgstr "ભાર મૂકીને સà«àªµà«€àª•àª¾àª°àª¾àª¯à«‡àª² છે"
#: calendar/gui/e-itip-control.c:1145 calendar/gui/e-meeting-list-view.c:176
#: calendar/gui/e-meeting-store.c:190 calendar/gui/e-meeting-store.c:213
-#: calendar/gui/itip-utils.c:428 calendar/gui/itip-utils.c:454
+#: calendar/gui/itip-utils.c:427 calendar/gui/itip-utils.c:453
#: plugins/itip-formatter/itip-formatter.c:1395
msgid "Declined"
msgstr "નકારાયેલ છે"
@@ -7024,7 +7026,7 @@ msgstr "જવાબ આપવાની સà«àª¥àª¿àª¤àª¿ સà«àª§àª¾àª°à«‹"
msgid "Send Latest Information"
msgstr "તાજી જાણકારી મોકલો"
-#: calendar/gui/e-itip-control.c:2375 calendar/gui/itip-utils.c:442
+#: calendar/gui/e-itip-control.c:2375 calendar/gui/itip-utils.c:441
#: mail/mail-send-recv.c:414 mail/mail-send-recv.c:466
#: ui/evolution-mail-global.xml.h:1
msgid "Cancel"
@@ -7363,57 +7365,57 @@ msgstr "સપà«àªŸà«‡àª®à«àª¬àª°"
msgid "_Select Today"
msgstr "આજનો દિવસ પસંદ કરો (_S)"
-#: calendar/gui/itip-utils.c:271 calendar/gui/itip-utils.c:319
-#: calendar/gui/itip-utils.c:351
+#: calendar/gui/itip-utils.c:270 calendar/gui/itip-utils.c:318
+#: calendar/gui/itip-utils.c:350
msgid "An organizer must be set."
msgstr "આયોજક સà«àª¯à«‹àªœàª¿àª¤ કરેલો જ હોવો જોઈàª."
-#: calendar/gui/itip-utils.c:306
+#: calendar/gui/itip-utils.c:305
msgid "At least one attendee is necessary"
msgstr "ઓછામાં ઓછો àªàª• સભાસદ હોવો જરà«àª°à«€ છે"
-#: calendar/gui/itip-utils.c:394 calendar/gui/itip-utils.c:503
+#: calendar/gui/itip-utils.c:393 calendar/gui/itip-utils.c:502
msgid "Event information"
msgstr "ઘટનાની જાણકારી"
-#: calendar/gui/itip-utils.c:396 calendar/gui/itip-utils.c:505
+#: calendar/gui/itip-utils.c:395 calendar/gui/itip-utils.c:504
msgid "Task information"
msgstr "બાબતની જાણકારી"
-#: calendar/gui/itip-utils.c:398 calendar/gui/itip-utils.c:507
+#: calendar/gui/itip-utils.c:397 calendar/gui/itip-utils.c:506
msgid "Journal information"
msgstr "જરà«àª¨àª²àª¨à«€ જાણકારી"
-#: calendar/gui/itip-utils.c:400 calendar/gui/itip-utils.c:525
+#: calendar/gui/itip-utils.c:399 calendar/gui/itip-utils.c:524
msgid "Free/Busy information"
msgstr "મà«àª•à«àª¤/વà«àª¯àª¸à«àª¤ જાણકારી"
-#: calendar/gui/itip-utils.c:402
+#: calendar/gui/itip-utils.c:401
msgid "Calendar information"
msgstr "કેલેનà«àª¡àª° જાણકારી"
-#: calendar/gui/itip-utils.c:438
+#: calendar/gui/itip-utils.c:437
msgid "Updated"
msgstr "સà«àª§àª¾àª°àª¾àª¯à«‡àª²"
-#: calendar/gui/itip-utils.c:446
+#: calendar/gui/itip-utils.c:445
msgid "Refresh"
msgstr "ફરી તાજૠકરો"
-#: calendar/gui/itip-utils.c:450
+#: calendar/gui/itip-utils.c:449
msgid "Counter-proposal"
msgstr "ગળકનો પà«àª°àª¸à«àª¤àª¾àªµ"
-#: calendar/gui/itip-utils.c:521
+#: calendar/gui/itip-utils.c:520
#, c-format
msgid "Free/Busy information (%s to %s)"
msgstr "મà«àª•à«àª¤/વà«àª¯àª¸à«àª¤ જાણકારી (%s ને %s)"
-#: calendar/gui/itip-utils.c:531
+#: calendar/gui/itip-utils.c:530
msgid "iCalendar information"
msgstr "iCalendar જાણકારી"
-#: calendar/gui/itip-utils.c:673
+#: calendar/gui/itip-utils.c:672
msgid "You must be an attendee of the event."
msgstr "તમે ઘટનાના સભાસદ હોવા જ જોઈàª."
@@ -7690,7 +7692,7 @@ msgid_plural "%d tasks"
msgstr[0] "%d બાબત"
msgstr[1] "%d બાબતો"
-#: calendar/gui/tasks-component.c:506 mail/mail-component.c:523
+#: calendar/gui/tasks-component.c:506 mail/mail-component.c:544
#, c-format
msgid ", %d selected"
msgid_plural ", %d selected"
@@ -9453,8 +9455,8 @@ msgstr "શીરà«àª·àª• વગરનો સંદેશો"
msgid "Open File"
msgstr "ફાઈલ ખોલો"
-#: composer/e-msg-composer.c:2001 mail/em-account-editor.c:586
-#: mail/em-account-editor.c:631 mail/em-account-editor.c:698
+#: composer/e-msg-composer.c:2001 mail/em-account-editor.c:588
+#: mail/em-account-editor.c:633 mail/em-account-editor.c:700
msgid "Autogenerated"
msgstr "આપોઆપ બનતà«"
@@ -9632,7 +9634,7 @@ msgstr ""
"મહેરબાની કરીને ખાતરી કરો કે તમારી પાસે gtkhtml અને libgtkhtml નીયોગà«àª¯ આવૃતà«àª¤àª¿ સà«àª¥àª¾àªªàª¿àª¤ "
"કરેલ છે ને."
-#: data/evolution.desktop.in.in.h:1 shell/main.c:520
+#: data/evolution.desktop.in.in.h:1 shell/main.c:521
msgid "Evolution"
msgstr "ઈવોલà«àª¯à«àª¶àª¨"
@@ -9761,14 +9763,6 @@ msgstr ""
msgid "Overwrite file?"
msgstr "શà«àª‚ તેના ઉપર ફરીથી લખવà«àª‚ છે?"
-#: e-util/e-passwords.c:472
-msgid "_Remember this password"
-msgstr "આ પાસવરà«àª¡ યાદ રાખો (_R)"
-
-#: e-util/e-passwords.c:473
-msgid "_Remember this password for the remainder of this session"
-msgstr "આ સતà«àª° માટે યાદ રાખવા માટે પાસવરà«àª¡ યાદ રાખો (_R)"
-
#. strptime format of a weekday, a date and a time,
#. in 12-hour format, without seconds.
#. strftime format of a weekday, a date and a
@@ -9998,19 +9992,19 @@ msgstr "મહેરબાની કરીને બીજà«àª‚ નામ પàª
msgid "Choose a file"
msgstr "ફાઈલ પસંદ કરો"
-#: filter/filter-label.c:121 mail/em-filter-i18n.h:26 mail/em-migrate.c:1011
-#: mail/mail-config.c:75 mail/mail-config.glade.h:90
+#: filter/filter-label.c:121 mail/em-filter-i18n.h:26 mail/em-migrate.c:1041
+#: mail/mail-config.c:76 mail/mail-config.glade.h:90
msgid "Important"
msgstr "મહતà«àªµàª¨à«àª‚"
#. forest green
-#: filter/filter-label.c:124 mail/em-migrate.c:1014 mail/mail-config.c:78
+#: filter/filter-label.c:124 mail/em-migrate.c:1044 mail/mail-config.c:79
#: mail/mail-config.glade.h:140
msgid "To Do"
msgstr "કરવાનà«àª‚"
#. blue
-#: filter/filter-label.c:125 mail/em-migrate.c:1015 mail/mail-config.c:79
+#: filter/filter-label.c:125 mail/em-migrate.c:1045 mail/mail-config.c:80
#: mail/mail-config.glade.h:93
msgid "Later"
msgstr "પછી"
@@ -10179,10 +10173,10 @@ msgstr "ઈવોલà«àª¯à«àª¶àª¨ મેઈલ કમà«àªªà«‹àªàª° રà«àªª
msgid "Evolution Mail preferences control"
msgstr "ઈવોલà«àª¯à«àª¶àª¨ મેઈલ પસંદગીઓ નિયંતà«àª°àª£"
-#: mail/GNOME_Evolution_Mail.server.in.in.h:11 mail/em-folder-view.c:473
+#: mail/GNOME_Evolution_Mail.server.in.in.h:11 mail/em-folder-view.c:469
#: mail/importers/elm-importer.c:418 mail/importers/netscape-importer.c:1902
-#: mail/importers/pine-importer.c:474 mail/mail-component.c:536
-#: mail/mail-component.c:587
+#: mail/importers/pine-importer.c:474 mail/mail-component.c:557
+#: mail/mail-component.c:608
msgid "Mail"
msgstr "મેઈલ"
@@ -10198,12 +10192,12 @@ msgstr "મેઈલ પસંદગીઓ"
msgid "_Mail"
msgstr "મેઈલ (_M)"
-#: mail/em-account-editor.c:385
+#: mail/em-account-editor.c:387
#, c-format
msgid "%s License Agreement"
msgstr "%s લાઈસનà«àª¸ મંજૂરીપતà«àª°"
-#: mail/em-account-editor.c:392
+#: mail/em-account-editor.c:394
#, c-format
msgid ""
"\n"
@@ -10216,67 +10210,67 @@ msgstr ""
"%s માટે વાંચો કે જે નીચે પà«àª°àª¦àª°à«àª¶àª¿àª¤ છે\n"
"અને તેને સà«àªµà«€àª•àª¾àª°àªµàª¾ માટે ચકાસણી બોકà«àª¸ ચિહà«àª¨àª¿àª¤ કરો\n"
-#: mail/em-account-editor.c:462 mail/em-filter-folder-element.c:237
+#: mail/em-account-editor.c:464 mail/em-filter-folder-element.c:237
#: mail/em-vfolder-rule.c:494
msgid "Select Folder"
msgstr "ફોલà«àª¡àª° પસંદ કરો"
-#: mail/em-account-editor.c:1662 mail/mail-config.glade.h:89
+#: mail/em-account-editor.c:1664 mail/mail-config.glade.h:89
msgid "Identity"
msgstr "ઓળખ"
-#: mail/em-account-editor.c:1698 mail/mail-config.glade.h:114
+#: mail/em-account-editor.c:1700 mail/mail-config.glade.h:114
msgid "Receiving Email"
msgstr "ઈ-મેઈલ મેળવી રહà«àª¯àª¾ છીàª"
-#: mail/em-account-editor.c:1875
+#: mail/em-account-editor.c:1877
msgid "Automatically check for _new mail every"
msgstr "દરેક નવા મેઈલ માટે આપોઆપ ચકાસો (_n)"
-#: mail/em-account-editor.c:2044 mail/mail-config.glade.h:124
+#: mail/em-account-editor.c:2045 mail/mail-config.glade.h:124
msgid "Sending Email"
msgstr "ઈ-મેઈલ મોકલી રહà«àª¯àª¾ છીàª"
-#: mail/em-account-editor.c:2088 mail/mail-config.glade.h:67
+#: mail/em-account-editor.c:2089 mail/mail-config.glade.h:67
msgid "Defaults"
msgstr "મૂળભà«àª¤à«‹"
-#: mail/em-account-editor.c:2147 mail/mail-config.glade.h:119
+#: mail/em-account-editor.c:2148 mail/mail-config.glade.h:119
msgid "Security"
msgstr "સà«àª°àª•à«àª·àª¾"
#. Most sections for this is auto-generated fromt the camel config
-#: mail/em-account-editor.c:2184 mail/em-account-editor.c:2259
+#: mail/em-account-editor.c:2185 mail/em-account-editor.c:2260
msgid "Receiving Options"
msgstr "વિકલà«àªªà«‹ મેળવી રહà«àª¯àª¾ છીàª"
-#: mail/em-account-editor.c:2185 mail/em-account-editor.c:2260
+#: mail/em-account-editor.c:2186 mail/em-account-editor.c:2261
msgid "Checking for New Mail"
msgstr "નવા મેઈલો માટે ચકાસી રહà«àª¯àª¾ છીàª"
-#: mail/em-account-editor.c:2600 mail/mail-config.glade.h:33
+#: mail/em-account-editor.c:2585 mail/mail-config.glade.h:33
msgid "Account Editor"
msgstr "ખાતા સંપાદક"
-#: mail/em-account-editor.c:2600 mail/mail-config.glade.h:79
+#: mail/em-account-editor.c:2585 mail/mail-config.glade.h:79
msgid "Evolution Account Assistant"
msgstr "ઈવોલà«àª¯à«àª¶àª¨ ખાતા મદદનીશ"
#. translators: default account indicator
-#: mail/em-account-prefs.c:412
+#: mail/em-account-prefs.c:428
msgid "[Default]"
msgstr "[મૂળભà«àª¤]"
-#: mail/em-account-prefs.c:466
+#: mail/em-account-prefs.c:482
msgid "Account name"
msgstr "ખાતા નામ"
-#: mail/em-account-prefs.c:468
+#: mail/em-account-prefs.c:484
msgid "Protocol"
msgstr "પà«àª°à«‹àªŸà«‹àª•à«‹àª²"
#: mail/em-composer-prefs.c:306 mail/em-composer-prefs.c:429
-#: mail/mail-config.c:934
+#: mail/mail-config.c:935
msgid "Unnamed"
msgstr "નામ વિનાનà«àª‚"
@@ -10292,18 +10286,18 @@ msgstr "સહી સà«àª•à«àª°àª¿àªªà«àªŸ ઉમેરો"
msgid "Signature(s)"
msgstr "સહીઓ"
-#: mail/em-composer-utils.c:910
+#: mail/em-composer-utils.c:911
msgid "-------- Forwarded Message --------"
msgstr "-------- સંદેશો આગળ ધપાવો --------"
-#: mail/em-composer-utils.c:1526
+#: mail/em-composer-utils.c:1521
msgid "an unknown sender"
msgstr "àªàª• અજà«àªžàª¾àª¤ મોકલનાર"
#. Note to translators: this is the attribution string used when quoting messages.
#. * each ${Variable} gets replaced with a value. To see a full list of available
#. * variables, see em-composer-utils.c:1514
-#: mail/em-composer-utils.c:1573
+#: mail/em-composer-utils.c:1568
msgid ""
"On ${AbbrevWeekdayName}, ${Year}-${Month}-${Day} at ${24Hour}:${Minute} "
"${TimeZone}, ${Sender} wrote:"
@@ -10449,7 +10443,7 @@ msgstr "નકામà«"
msgid "Junk Test"
msgstr "બગડેલ ચકાસણી"
-#: mail/em-filter-i18n.h:37 mail/em-folder-view.c:999
+#: mail/em-filter-i18n.h:37 mail/em-folder-view.c:992
#: widgets/misc/e-expander.c:189
msgid "Label"
msgstr "લેબલ"
@@ -10604,7 +10598,7 @@ msgid "Create New Folder"
msgstr "નવà«àª‚ ફોલà«àª¡àª° બનાવો"
#: mail/em-folder-selector.c:166 mail/em-folder-tree.c:2527
-#: mail/mail-component.c:739 plugins/shared-folder/install-shared.c:144
+#: mail/mail-component.c:770 plugins/shared-folder/install-shared.c:144
#: plugins/shared-folder/share-folder-common.c:345
msgid "Specify where to create the folder:"
msgstr "સà«àªªàª·à«àªŸ કરો કે કà«àª¯àª¾àª‚ ફોલà«àª¡àª° બનાવવà«àª‚ છે:"
@@ -10627,20 +10621,20 @@ msgstr "vફોલà«àª¡àª°à«‹"
msgid "UNMATCHED"
msgstr "નહિં બંધબેસેલા"
-#: mail/em-folder-tree-model.c:468 mail/mail-component.c:139
+#: mail/em-folder-tree-model.c:468 mail/mail-component.c:142
msgid "Drafts"
msgstr "ડà«àª°àª¾àª«à«àªŸà«‹"
#. translators: standard local mailbox names
-#: mail/em-folder-tree-model.c:471 mail/mail-component.c:138
+#: mail/em-folder-tree-model.c:471 mail/mail-component.c:141
msgid "Inbox"
msgstr "ઈનબોકà«àª¸"
-#: mail/em-folder-tree-model.c:474 mail/mail-component.c:140
+#: mail/em-folder-tree-model.c:474 mail/mail-component.c:143
msgid "Outbox"
msgstr "આઉટબોકà«àª¸"
-#: mail/em-folder-tree-model.c:476 mail/mail-component.c:141
+#: mail/em-folder-tree-model.c:476 mail/mail-component.c:144
msgid "Sent"
msgstr "મોકલાયેલ"
@@ -10662,12 +10656,12 @@ msgstr "ફોલà«àª¡àª° %s ખસેડી રહà«àª¯àª¾ છીàª"
msgid "Copying folder %s"
msgstr "ફોલà«àª¡àª° %s નકલ કરી રહà«àª¯àª¾ છીàª"
-#: mail/em-folder-tree.c:930 mail/message-list.c:1617
+#: mail/em-folder-tree.c:930 mail/message-list.c:1612
#, c-format
msgid "Moving messages into folder %s"
msgstr "સંદેશાઓ ફોલà«àª¡àª° %s માં ખસેડી રહà«àª¯àª¾ છીàª"
-#: mail/em-folder-tree.c:932 mail/message-list.c:1619
+#: mail/em-folder-tree.c:932 mail/message-list.c:1614
#, c-format
msgid "Copying messages into folder %s"
msgstr "સંદેશાઓ ફોલà«àª¡àª° %s માં નકલ કરી રહà«àª¯àª¾ છીàª"
@@ -10695,13 +10689,13 @@ msgid "Copying `%s' to `%s'"
msgstr "`%s' ને `%s' માં નકલ કરી રહà«àª¯àª¾ છીàª"
#: mail/em-folder-tree.c:2297 mail/em-folder-tree.c:2311
-#: mail/em-folder-view.c:869 mail/em-folder-view.c:884
+#: mail/em-folder-view.c:862 mail/em-folder-view.c:877
#: mail/importers/evolution-mbox-importer.c:120
#: mail/importers/evolution-outlook-importer.c:134
msgid "Select folder"
msgstr "ફોલà«àª¡àª° પસંદ કરો"
-#: mail/em-folder-tree.c:2297 mail/em-folder-view.c:884
+#: mail/em-folder-tree.c:2297 mail/em-folder-view.c:877
msgid "C_opy"
msgstr "નકલ કરો (_o)"
@@ -10710,7 +10704,7 @@ msgstr "નકલ કરો (_o)"
msgid "Creating folder `%s'"
msgstr "ફોલà«àª¡àª° `%s' બનાવી રહà«àª¯àª¾ છીàª"
-#: mail/em-folder-tree.c:2527 mail/mail-component.c:739
+#: mail/em-folder-tree.c:2527 mail/mail-component.c:770
#: plugins/shared-folder/install-shared.c:144
#: plugins/shared-folder/share-folder-common.c:345
msgid "Create folder"
@@ -10756,130 +10750,130 @@ msgstr "નવà«àª‚ ફોલà«àª¡àª° (_N)..."
msgid "_Rename..."
msgstr "નામ બદલો (_R)..."
-#: mail/em-folder-view.c:977 mail/em-popup.c:498
+#: mail/em-folder-view.c:970 mail/em-popup.c:499
#: ui/evolution-mail-message.xml.h:87
msgid "Reply to _All"
msgstr "બધાને વળતો જવાબ આપો (_A)"
-#: mail/em-folder-view.c:978 ui/evolution-mail-message.xml.h:123
+#: mail/em-folder-view.c:971 ui/evolution-mail-message.xml.h:123
msgid "_Reply to Sender"
msgstr "મોકલનારને વળતો જવાબ આપો (_R)"
-#: mail/em-folder-view.c:979 mail/em-popup.c:500
+#: mail/em-folder-view.c:972 mail/em-popup.c:501
#: ui/evolution-mail-message.xml.h:110
msgid "_Forward"
msgstr "આગળ ધપાવો (_F)"
-#: mail/em-folder-view.c:982 ui/evolution-mail-message.xml.h:109
+#: mail/em-folder-view.c:975 ui/evolution-mail-message.xml.h:109
msgid "_Edit as New Message..."
msgstr "નવા સંદેશાઓમાં ફેરફાર કરો (_E)..."
-#: mail/em-folder-view.c:984
+#: mail/em-folder-view.c:977
msgid "_Print"
msgstr "છાપો (_P)"
-#: mail/em-folder-view.c:988
+#: mail/em-folder-view.c:981
msgid "U_ndelete"
msgstr "કાઢી નંહિ (_n)"
-#: mail/em-folder-view.c:989
+#: mail/em-folder-view.c:982
msgid "Mo_ve to Folder..."
msgstr "આ ફોલà«àª¡àª°àª®àª¾àª‚ ખસેડો (_v)..."
-#: mail/em-folder-view.c:990 ui/evolution-addressbook.xml.h:32
+#: mail/em-folder-view.c:983 ui/evolution-addressbook.xml.h:32
msgid "_Copy to Folder..."
msgstr "આ ફોલà«àª¡àª°àª®àª¾àª‚ નકલ કરો (_C)..."
-#: mail/em-folder-view.c:993
+#: mail/em-folder-view.c:986
msgid "Mark as _Important"
msgstr "મહતà«àªµàª¨à«àª‚ àªàª® નિશાનિત કરો (_I)"
-#: mail/em-folder-view.c:994
+#: mail/em-folder-view.c:987
msgid "_Mark as Unimportant"
msgstr "મહતà«àªµàª¨à«àª‚ નથી àªàª® નિશાનિત કરો (_M)"
-#: mail/em-folder-view.c:995 ui/evolution-mail-message.xml.h:54
+#: mail/em-folder-view.c:988 ui/evolution-mail-message.xml.h:54
msgid "Mark as _Junk"
msgstr "બગડેલ છે àªàª® નિશાનિત કરો (_J)"
-#: mail/em-folder-view.c:996 ui/evolution-mail-message.xml.h:55
+#: mail/em-folder-view.c:989 ui/evolution-mail-message.xml.h:55
msgid "Mark as _Not Junk"
msgstr "બગડેલ નથી àªàª® નિશાનિત કરો (_N)"
-#: mail/em-folder-view.c:997
+#: mail/em-folder-view.c:990
msgid "Mark for Follo_w Up..."
msgstr "અનà«àª¸àª°àª£ માટેનà«àª‚ ચિહà«àª¨ (_w)..."
-#: mail/em-folder-view.c:1005
+#: mail/em-folder-view.c:998
msgid "Fla_g Completed"
msgstr "નિશાની પૂરà«àª£ થયેલ છે (_g)"
-#: mail/em-folder-view.c:1006
+#: mail/em-folder-view.c:999
msgid "Cl_ear Flag"
msgstr "નિશાની સાફ કરો (_e)"
-#: mail/em-folder-view.c:1009
+#: mail/em-folder-view.c:1002
msgid "Crea_te Rule From Message"
msgstr "સંદેશામાંથી નિયમ બનાવો (_t)"
-#: mail/em-folder-view.c:1010
+#: mail/em-folder-view.c:1003
msgid "vFolder on _Subject"
msgstr "vFolder વિષય પર (_S)"
-#: mail/em-folder-view.c:1011
+#: mail/em-folder-view.c:1004
msgid "vFolder on Se_nder"
msgstr "vFolder મોકલનાર પર (_n)"
-#: mail/em-folder-view.c:1012
+#: mail/em-folder-view.c:1005
msgid "vFolder on _Recipients"
msgstr "vFolder મેળવનારાઓ પર (_R)"
-#: mail/em-folder-view.c:1013
+#: mail/em-folder-view.c:1006
msgid "vFolder on Mailing _List"
msgstr "vFolder મેઈલિંગ યાદી પર (_L)"
-#: mail/em-folder-view.c:1017
+#: mail/em-folder-view.c:1010
msgid "Filter on Sub_ject"
msgstr "વિષય પર ગાળો (_j)"
-#: mail/em-folder-view.c:1018
+#: mail/em-folder-view.c:1011
msgid "Filter on Sen_der"
msgstr "મોકલનાર પર ગાળો (_d)"
-#: mail/em-folder-view.c:1019
+#: mail/em-folder-view.c:1012
msgid "Filter on Re_cipients"
msgstr "મેળવનારા પર ગાળો (_c)"
-#: mail/em-folder-view.c:1020
+#: mail/em-folder-view.c:1013
msgid "Filter on _Mailing List"
msgstr "મેઈલીંગ યાદી પર ગાળો (_M)"
#. default charset used in mail view
-#: mail/em-folder-view.c:1851 mail/em-folder-view.c:1895
+#: mail/em-folder-view.c:1844 mail/em-folder-view.c:1888
msgid "Default"
msgstr "મૂળભà«àª¤"
-#: mail/em-folder-view.c:1994
+#: mail/em-folder-view.c:1987
msgid "Print Message"
msgstr "સંદેશો છાપો"
-#: mail/em-folder-view.c:2293
+#: mail/em-folder-view.c:2295
msgid "_Copy Link Location"
msgstr "કડીની જગà«àª¯àª¾àª¨à«€ નકલ કરો (_C)"
-#: mail/em-folder-view.c:2295
+#: mail/em-folder-view.c:2297
msgid "Create _vFolder"
msgstr "_vFolder ફોલà«àª¡àª° બનાવો"
-#: mail/em-folder-view.c:2296
+#: mail/em-folder-view.c:2298
msgid "_From this Address"
msgstr "આ સરનામા તરફથી (_F)"
-#: mail/em-folder-view.c:2297
+#: mail/em-folder-view.c:2299
msgid "_To this Address"
msgstr "આ સરનામા પà«àª°àª¤àª¿ (_T)"
-#: mail/em-folder-view.c:2583
+#: mail/em-folder-view.c:2568
#, c-format
msgid "Click to mail %s"
msgstr "મેઈલ %s કરવા માટે કà«àª²àª¿àª• કરો"
@@ -11155,7 +11149,7 @@ msgstr "અઠવાડિયામાં àªàª• વાર"
msgid "Once per month"
msgstr "મહિનામાં àªàª• વાર"
-#: mail/em-migrate.c:1168
+#: mail/em-migrate.c:1198
msgid ""
"The location and hierarchy of the Evolution mailbox folders has changed "
"since Evolution 1.x.\n"
@@ -11166,47 +11160,47 @@ msgstr ""
"\n"
"મહેરબાની કરીને ઈવોલà«àª¯à«àª¶àª¨ તમારા ફોલà«àª¡àª°à«‹àª¨à«‡ ફેરવે તà«àª¯àª¾àª‚ સà«àª§à«€ શાંતિ દાખવો..."
-#: mail/em-migrate.c:1602
+#: mail/em-migrate.c:1632
#, c-format
msgid "Unable to create new folder `%s': %s"
msgstr "નવà«àª‚ ફોલà«àª¡àª° `%s' બનાવવામાં સમરà«àª¥ નથી: %s"
-#: mail/em-migrate.c:1628
+#: mail/em-migrate.c:1658
#, c-format
msgid "Unable to copy folder `%s' to `%s': %s"
msgstr "ફોલà«àª¡àª° `%s' ને `%s' માં નકલ કરવા સમરà«àª¥ નથી: %s"
-#: mail/em-migrate.c:1813
+#: mail/em-migrate.c:1843
#, c-format
msgid "Unable to scan for existing mailboxes at `%s': %s"
msgstr "વરà«àª¤àª®àª¾àª¨ મેઈલબોકà«àª¸àª¨à«‡ `%s' આગળ ચકાસવા માટે સમરà«àª¥ નથી: %s"
-#: mail/em-migrate.c:2017
+#: mail/em-migrate.c:2047
#, c-format
msgid "Unable to open old POP keep-on-server data `%s': %s"
msgstr "જૂની POP keep-on-server માહિતી `%s' ખોલવા સમરà«àª¥ નથી: %s"
-#: mail/em-migrate.c:2031
+#: mail/em-migrate.c:2061
#, c-format
msgid "Unable to create POP3 keep-on-server data directory `%s': %s"
msgstr "POP3 keep-on-server માહિતી ડિરેકà«àªŸàª°à«€ `%s' બનાવવા સમરà«àª¥ નથી: %s"
-#: mail/em-migrate.c:2060
+#: mail/em-migrate.c:2090
#, c-format
msgid "Unable to copy POP3 keep-on-server data `%s': %s"
msgstr "POP3 keep-on-server માહિતી `%s' નકલ કરવા સમરà«àª¥ નથી: %s"
-#: mail/em-migrate.c:2494 mail/em-migrate.c:2506
+#: mail/em-migrate.c:2561 mail/em-migrate.c:2573
#, c-format
msgid "Failed to create local mail storage `%s': %s"
msgstr "સà«àª¥àª¾àª¨àª¿àª• મેઈલ સંગà«àª°àª¹àª¸à«àª¥àª¾àª¨ `%s' બનાવવામાં નિષà«àª«àª³: %s"
-#: mail/em-migrate.c:2657
+#: mail/em-migrate.c:2693
#, c-format
msgid "Unable to create local mail folders at `%s': %s"
msgstr "`%s' જગà«àª¯àª¾àª સà«àª¥àª¾àª¨àª¿àª• મેઈલ ફોલà«àª¡àª°à«‹ બનાવવા સમરà«àª¥ નથી: %s"
-#: mail/em-migrate.c:2675
+#: mail/em-migrate.c:2711
msgid ""
"Unable to read settings from previous Evolution install, `evolution/config."
"xmldb' does not exist or is corrupt."
@@ -11214,40 +11208,40 @@ msgstr ""
"પહેલાના ઈવોલà«àª¯à«àª¶àª¨àª¨àª¾ સà«àª¥àª¾àªªàª¨àª®àª¾àª‚થી સà«àª¯à«‹àªœàª¨à«‹ વાંચવા સમરà«àª¥ નથી, `evolution/config.xmldb' "
"અસà«àª¤àª¿àª¤à«àªµàª®àª¾àª‚ નથી અથવા બગડેલ છે."
-#: mail/em-popup.c:381
+#: mail/em-popup.c:382
msgid "Save As..."
msgstr "આ રીતે સંગà«àª°àª¹à«‹..."
-#: mail/em-popup.c:400
+#: mail/em-popup.c:401
#, c-format
msgid "untitled_image.%s"
msgstr "untitled_image.%s"
-#: mail/em-popup.c:494
+#: mail/em-popup.c:495
msgid "Set as _Background"
msgstr "પાશà«àªµ ભાગ તરીકે સà«àª¯à«‹àªœàª¿àª¤ કરો (_B)"
-#: mail/em-popup.c:496
+#: mail/em-popup.c:497
msgid "_Reply to sender"
msgstr "મોકલનારને જવાબ આપો (_R)"
-#: mail/em-popup.c:497 ui/evolution-mail-message.xml.h:88
+#: mail/em-popup.c:498 ui/evolution-mail-message.xml.h:88
msgid "Reply to _List"
msgstr "યાદીને જવાબ આપો (_L)"
-#: mail/em-popup.c:548
+#: mail/em-popup.c:549
msgid "_Open Link in Browser"
msgstr "કડીને બà«àª°àª¾àª‰àªàª°àª®àª¾àª‚ ખોલો (_O)"
-#: mail/em-popup.c:549
+#: mail/em-popup.c:550
msgid "_Send New Message To..."
msgstr "ના પà«àª°àª¤àª¿ નવો સંદેશો મોકલો (_S)..."
-#: mail/em-popup.c:550
+#: mail/em-popup.c:551
msgid "_Add to Addressbook"
msgstr "સરનામાપોથીમાં ઉમેરો (_A)"
-#: mail/em-popup.c:681
+#: mail/em-popup.c:666
#, c-format
msgid "Open in %s..."
msgstr "%s માં ખોલો..."
@@ -11294,7 +11288,7 @@ msgid "Add address"
msgstr "સરનામૠઉમેરો"
#. Drop filename for messages from a mailbox
-#: mail/em-utils.c:1055
+#: mail/em-utils.c:1071
#, c-format
msgid "Messages from %s"
msgstr "%s માંથી સંદેશાઓ"
@@ -12001,80 +11995,80 @@ msgstr "%s મેઈલીંગ યાદી"
msgid "Add Filter Rule"
msgstr "ગાળક નિયમ ઉમેરો"
-#: mail/mail-component.c:484
+#: mail/mail-component.c:505
#, c-format
msgid "%d deleted"
msgid_plural "%d deleted"
msgstr[0] "%d કાઢી નંખાયેલ છે"
msgstr[1] "%d કાઢી નંખાયેલ છે"
-#: mail/mail-component.c:486
+#: mail/mail-component.c:507
#, c-format
msgid "%d junk"
msgid_plural "%d junk"
msgstr[0] "%d બગડેલ છે"
msgstr[1] "%d બગડેલા છે"
-#: mail/mail-component.c:509
+#: mail/mail-component.c:530
#, c-format
msgid "%d draft"
msgid_plural "%d drafts"
msgstr[0] "%d ડà«àª°àª¾àª«à«àªŸ"
msgstr[1] "%d ડà«àª°àª¾àª«à«àªŸà«‹"
-#: mail/mail-component.c:511
+#: mail/mail-component.c:532
#, c-format
msgid "%d sent"
msgid_plural "%d sent"
msgstr[0] "%d મોકલાયેલ છે"
msgstr[1] "%d મોકલાયેલા છે"
-#: mail/mail-component.c:513
+#: mail/mail-component.c:534
#, c-format
msgid "%d unsent"
msgid_plural "%d unsent"
msgstr[0] "%d અસà«àª¯à«‹àªœàª¿àª¤ છે"
msgstr[1] "%d અસà«àª¯à«‹àªœàª¿àª¤ છે"
-#: mail/mail-component.c:517
+#: mail/mail-component.c:538
#, c-format
msgid "%d total"
msgid_plural "%d total"
msgstr[0] "%d કà«àª²"
msgstr[1] "%d કà«àª²"
-#: mail/mail-component.c:519
+#: mail/mail-component.c:540
#, c-format
msgid ", %d unread"
msgid_plural ", %d unread"
msgstr[0] ", %d વાંચેલ નથી"
msgstr[1] ", %d વાંચેલ નથી"
-#: mail/mail-component.c:691
+#: mail/mail-component.c:722
msgid "New Mail Message"
msgstr "નવો મેઈલ સંદેશો"
-#: mail/mail-component.c:692
+#: mail/mail-component.c:723
msgid "_Mail Message"
msgstr "મેઈલ સંદેશો (_M)"
-#: mail/mail-component.c:693
+#: mail/mail-component.c:724
msgid "Compose a new mail message"
msgstr "નવો મેઈલ સંદેશો કમà«àªªà«‹àª કરો"
-#: mail/mail-component.c:699
+#: mail/mail-component.c:730
msgid "New Mail Folder"
msgstr "નવà«àª‚ મેઈલ ફોલà«àª¡àª°"
-#: mail/mail-component.c:700
+#: mail/mail-component.c:731
msgid "Mail _Folder"
msgstr "મેઈલ ફોલà«àª¡àª° (_F)"
-#: mail/mail-component.c:701
+#: mail/mail-component.c:732
msgid "Create a new mail folder"
msgstr "નવà«àª‚ મેઈલ ફોલà«àª¡àª° બનાવો"
-#: mail/mail-component.c:848
+#: mail/mail-component.c:879
msgid "Failed upgrading Mail settings or folders."
msgstr "મેઈલ સà«àª¯à«‹àªœàª¨à«‹ અથવા ફોલà«àª¡àª°à«‹ સà«àª§àª¾àª°àªµàª¾àª®àª¾àª‚ નિષà«àª«àª³."
@@ -13682,73 +13676,73 @@ msgstr "vFolder માં ફેરફાર કરો"
msgid "New vFolder"
msgstr "નવà«àª‚ vFolder"
-#: mail/message-list.c:999
+#: mail/message-list.c:994
msgid "Unseen"
msgstr "જોયેલ નથી"
-#: mail/message-list.c:1000
+#: mail/message-list.c:995
msgid "Seen"
msgstr "જોયેલ છે"
-#: mail/message-list.c:1001
+#: mail/message-list.c:996
msgid "Answered"
msgstr "જવાબ અપાયેલ છે"
-#: mail/message-list.c:1002
+#: mail/message-list.c:997
msgid "Multiple Unseen Messages"
msgstr "ઘણા બધા નહિં જોયેલા સંદેશાઓ"
-#: mail/message-list.c:1003
+#: mail/message-list.c:998
msgid "Multiple Messages"
msgstr "ઘણા બધા સંદેશાઓ"
-#: mail/message-list.c:1007
+#: mail/message-list.c:1002
msgid "Lowest"
msgstr "નીચામાં નીચà«àª‚"
-#: mail/message-list.c:1008
+#: mail/message-list.c:1003
msgid "Lower"
msgstr "થી નીચà«àª‚"
-#: mail/message-list.c:1012
+#: mail/message-list.c:1007
msgid "Higher"
msgstr "થી ઊંચà«àª‚"
-#: mail/message-list.c:1013
+#: mail/message-list.c:1008
msgid "Highest"
msgstr "ઊંચામાં ઊંચà«"
-#: mail/message-list.c:1341
+#: mail/message-list.c:1336
msgid "?"
msgstr "?"
#. strftime format of a time,
#. in 12-hour format, without seconds.
-#: mail/message-list.c:1348 plugins/itip-formatter/itip-view.c:189
+#: mail/message-list.c:1343 plugins/itip-formatter/itip-view.c:189
msgid "Today %l:%M %p"
msgstr "આજે %l:%M %p"
-#: mail/message-list.c:1357
+#: mail/message-list.c:1352
msgid "Yesterday %l:%M %p"
msgstr "ગઈકાલે %l:%M %p"
-#: mail/message-list.c:1369
+#: mail/message-list.c:1364
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
-#: mail/message-list.c:1377
+#: mail/message-list.c:1372
msgid "%b %d %l:%M %p"
msgstr "%b %d %l:%M %p"
-#: mail/message-list.c:1379
+#: mail/message-list.c:1374
msgid "%b %d %Y"
msgstr "%b %d %Y"
-#: mail/message-list.c:2046
+#: mail/message-list.c:2041
msgid "Message List"
msgstr "સંદેશા યાદી"
-#: mail/message-list.c:3386
+#: mail/message-list.c:3384
msgid "Generating message list"
msgstr "સંદેશા યાદી બનાવી રહà«àª¯àª¾ છીàª"
@@ -13967,29 +13961,29 @@ msgid "Mark as default folder"
msgstr "મૂળભà«àª¤ ફોલà«àª¡àª° તરીકે ચિહà«àª¨àª¿àª¤ કરો"
#. i18n: "Secure Password Authentication" is an Outlookism
-#: plugins/exchange-account-setup/exchange-account-setup.c:53
+#: plugins/exchange-account-setup/exchange-account-setup.c:59
msgid "Secure Password"
msgstr "સà«àª°àª•à«àª·àª‡ પાસવરà«àª¡"
#. i18n: "NTLM" probably doesn't translate
-#: plugins/exchange-account-setup/exchange-account-setup.c:56
+#: plugins/exchange-account-setup/exchange-account-setup.c:62
msgid ""
"This option will connect to the Exchange server using secure password (NTLM) "
"authentication."
msgstr "આ વિકલà«àªª સà«àª°àª•à«àª·àª¿àª¤ પાસવરà«àª¡ (NTLM) સતà«àª¤àª¾àª§àª¿àª•àª°àª£àª¨à«€ મદદથી àªàª•à«àª¸àªšà«‡àª¨à«àªœ સરà«àªµàª° સાથે જોડાશે."
-#: plugins/exchange-account-setup/exchange-account-setup.c:64
+#: plugins/exchange-account-setup/exchange-account-setup.c:70
msgid "Plaintext Password"
msgstr "સાદા લખાણનો પાસવરà«àª¡"
-#: plugins/exchange-account-setup/exchange-account-setup.c:66
+#: plugins/exchange-account-setup/exchange-account-setup.c:72
msgid ""
"This option will connect to the Exchange server using standard plaintext "
"password authentication."
msgstr "આ વિકલà«àªª પà«àª°àª®àª¾àª£àª­à«‚ત સાદા લખાણના પાસવરà«àª¡ સતà«àª¤àª¾àª§àª¿àª•àª°àª£àª¨à«€ મદદથી àªàª•à«àª¸àªšà«‡àª¨à«àªœ સરà«àªµàª° સાથે જોડાશે."
#. Description section
-#: plugins/exchange-account-setup/exchange-account-setup.c:113
+#: plugins/exchange-account-setup/exchange-account-setup.c:193
msgid ""
"The message specified below will be automatically sent to \n"
"each person who sends mail to you while you are out of the office."
@@ -13997,37 +13991,39 @@ msgstr ""
"નીચે સà«àªªàª·à«àªŸ થયેલ સંદેશો આપોઆપ દરેક વà«àª¯àª•à«àª¤àª¿àª¨à«‡ મોકલાઈ જશે જેણે \n"
"તમને તમે જà«àª¯àª¾àª°à«‡ ઓફિસની બહાર હતા તà«àª¯àª¾àª°à«‡ મેઈલ મોકલà«àª¯àª¾ હતા."
-#: plugins/exchange-account-setup/exchange-account-setup.c:140
-msgid "I am in the office"
-msgstr "હà«àª‚ ઓફિસમાં છà«àª‚"
-
-#: plugins/exchange-account-setup/exchange-account-setup.c:154
+#: plugins/exchange-account-setup/exchange-account-setup.c:221
+#: plugins/exchange-account-setup/exchange-account-setup.c:231
msgid "I am out of the office"
msgstr "હà«àª‚ ઓફિસની બહાર છà«àª‚"
-#: plugins/exchange-account-setup/exchange-account-setup.c:168
+#: plugins/exchange-account-setup/exchange-account-setup.c:224
+#: plugins/exchange-account-setup/exchange-account-setup.c:228
+msgid "I am in the office"
+msgstr "હà«àª‚ ઓફિસમાં છà«àª‚"
+
+#: plugins/exchange-account-setup/exchange-account-setup.c:257
msgid "Out of office Message:"
msgstr "ઓફિસની બહાર હોય તà«àª¯àª¾àª°àª¨à«‹ સંદેશો:"
-#: plugins/exchange-account-setup/exchange-account-setup.c:194
+#: plugins/exchange-account-setup/exchange-account-setup.c:302
msgid "Exchange Settings"
msgstr "àªàª•à«àª¸àªšà«‡àª¨à«àªœ સà«àª¯à«‹àªœàª¨à«‹"
-#: plugins/exchange-account-setup/exchange-account-setup.c:332
+#: plugins/exchange-account-setup/exchange-account-setup.c:448
#: plugins/exchange-account-setup/exchange-ask-password.c:200
msgid "_OWA Url:"
msgstr "_OWA Url:"
-#: plugins/exchange-account-setup/exchange-account-setup.c:340
+#: plugins/exchange-account-setup/exchange-account-setup.c:456
#: plugins/exchange-account-setup/exchange-ask-password.c:193
msgid "A_uthenticate"
msgstr "સતà«àª¤àª¾àª§àª¿àª•àª°àª£ કરો (_u)"
-#: plugins/exchange-account-setup/exchange-account-setup.c:457
+#: plugins/exchange-account-setup/exchange-account-setup.c:664
msgid "Authentication Type"
msgstr "સતà«àª¤àª¾àª§àª¿àª•àª°àª£ પà«àª°àª•àª¾àª°"
-#: plugins/exchange-account-setup/exchange-account-setup.c:471
+#: plugins/exchange-account-setup/exchange-account-setup.c:678
msgid "Ch_eck for Supported Types"
msgstr "આધારભૂત પà«àª°àª•àª¾àª°à«‹ માટે ચકાસો (_e)"
@@ -14641,7 +14637,7 @@ msgstr "ની સાથે કિંમતો સમાવો:"
msgid "Comma separated value format (.csv)"
msgstr "અલà«àªªàªµàª¿àª°àª¾àª®àª¥à«€ અલગ પડેલ હોય તેવà«àª‚ બંધારણ (Comma separated value - .csv)"
-#: plugins/save-calendar/ical-format.c:120
+#: plugins/save-calendar/ical-format.c:136
msgid "iCalendar format (.ics)"
msgstr "iCalendar બંધારણ (.ics)"
@@ -14649,12 +14645,12 @@ msgstr "iCalendar બંધારણ (.ics)"
msgid "RDF format (.rdf)"
msgstr "RDF બંધારણ (.rdf)"
-#: plugins/save-calendar/save-calendar.c:172
-#: plugins/save-calendar/save-calendar.c:182
+#: plugins/save-calendar/save-calendar.c:171
+#: plugins/save-calendar/save-calendar.c:181
msgid "Select destination file"
msgstr "અંતિમ મà«àª•àª¾àª® ફાઈલ પસંદ કરો"
-#: plugins/save-calendar/save-calendar.c:217
+#: plugins/save-calendar/save-calendar.c:216
#, c-format
msgid ""
"The suggested filename extension of this filetype (%s) is unused in the "
@@ -14801,7 +14797,7 @@ msgstr "પà«àª°àª¿àª¨à«àªŸàª° સà«àª¯à«‹àªœàª¨à«‹"
msgid "Skip development warning dialog"
msgstr "વિકાસ ચેતવણી સંવાદ અવગણો"
-#: shell/apps_evolution_shell.schemas.in.in.h:11 shell/main.c:475
+#: shell/apps_evolution_shell.schemas.in.in.h:11 shell/main.c:476
msgid "Start in offline mode"
msgstr "ઓફલાઈન સà«àª¥àª¿àª¤àª¿àª®àª¾àª‚ શરૠકરો"
@@ -15059,43 +15055,43 @@ msgstr "ફોલà«àª¡àª° નામ \"#\" અકà«àª·àª° ધરાવતà«àª‚
msgid "'.' and '..' are reserved folder names."
msgstr "'.' અને '..' ઠફોલà«àª¡àª° નામો માટે આરકà«àª·àª¿àª¤ છે."
-#: shell/e-shell-window-commands.c:67
+#: shell/e-shell-window-commands.c:69
msgid "The GNOME Pilot tools do not appear to be installed on this system."
msgstr "જીનોમ પાયલોટ સાધનો આ સિસà«àªŸàª® પર સà«àª¥àª¾àªªàª¿àª¤ થયા હોય àªàª® લાગતà«àª‚ નથી."
-#: shell/e-shell-window-commands.c:75
+#: shell/e-shell-window-commands.c:77
#, c-format
msgid "Error executing %s."
msgstr "%s ચલાવવામાં ભૂલ."
-#: shell/e-shell-window-commands.c:124
+#: shell/e-shell-window-commands.c:126
msgid "Bug buddy is not installed."
msgstr "બગ બડી સà«àª¥àª¾àªªàª¿àª¤ નથી."
-#: shell/e-shell-window-commands.c:132
+#: shell/e-shell-window-commands.c:134
msgid "Bug buddy could not be run."
msgstr "બગ બડà«àª¡à«€ ચલાવી શકાયà«àª‚ નહિં."
#. The translator-credits string is for translators to list
#. * per language credits for translation, displayed in the
#. * about box
-#: shell/e-shell-window-commands.c:426
+#: shell/e-shell-window-commands.c:501
msgid "translator-credits"
msgstr "અંકિત પટેલ <ankit644@yahoo.com>"
-#: shell/e-shell-window-commands.c:440
+#: shell/e-shell-window-commands.c:515
msgid "Groupware Suite"
msgstr "ગà«àª°à«àªªàªµà«‡àª° સà«àª¯à«àªŸ"
-#: shell/e-shell-window-commands.c:681
+#: shell/e-shell-window-commands.c:742
msgid "_Work Online"
msgstr "ઓનલાઈન કામ કરો (_W)"
-#: shell/e-shell-window-commands.c:694 ui/evolution.xml.h:51
+#: shell/e-shell-window-commands.c:755 ui/evolution.xml.h:51
msgid "_Work Offline"
msgstr "ઓફલાઈન કામ કરો (_W)"
-#: shell/e-shell-window-commands.c:707 ui/evolution.xml.h:34
+#: shell/e-shell-window-commands.c:768 ui/evolution.xml.h:34
msgid "Work Offline"
msgstr "ઓફલાઈન કામ કરો"
@@ -15111,37 +15107,37 @@ msgstr "ઈવોલà«àª¯à«àª¶àª¨ પà«àª°àª•à«àª°àª¿àª¯àª¾àª¨à«‡ ઓફલà
msgid "Evolution is currently offline. Click on this button to work online."
msgstr "ઈવોલà«àª¯à«àª¶àª¨ વરà«àª¤àª®àª¾àª¨àª®àª¾àª‚ ઓફલાઈન છે. ઓનલાઈન કામ કરવા માટે આ બટન પર કà«àª²àª¿àª• કરો."
-#: shell/e-shell-window.c:708
+#: shell/e-shell-window.c:713
#, c-format
msgid "Switch to %s"
msgstr "%s માં બદલો"
-#: shell/e-shell.c:597
+#: shell/e-shell.c:598
msgid "Uknown system error."
msgstr "અજà«àªžàª¾àª¤ સિસà«àªŸàª® ભૂલ."
-#: shell/e-shell.c:805 shell/e-shell.c:806
+#: shell/e-shell.c:800 shell/e-shell.c:801
#, c-format
msgid "%ld KB"
msgstr "%ld KB"
-#: shell/e-shell.c:1249 widgets/misc/e-cell-date-edit.c:256
+#: shell/e-shell.c:1254 widgets/misc/e-cell-date-edit.c:256
msgid "OK"
msgstr "બરાબર"
-#: shell/e-shell.c:1251
+#: shell/e-shell.c:1256
msgid "Invalid arguments"
msgstr "અયોગà«àª¯ દલીલો"
-#: shell/e-shell.c:1253
+#: shell/e-shell.c:1258
msgid "Cannot register on OAF"
msgstr "OAF પર નોંધ કરાવી શકતા નથી"
-#: shell/e-shell.c:1255
+#: shell/e-shell.c:1260
msgid "Configuration Database not found"
msgstr "રà«àªªàª°à«‡àª–ાંકન ડેટાબેઠમળà«àª¯à«‹ નથી"
-#: shell/e-shell.c:1257
+#: shell/e-shell.c:1262
msgid "Generic error"
msgstr "સામાનà«àª¯ ભૂલ"
@@ -15259,7 +15255,7 @@ msgid "Evolution can import data from the following files:"
msgstr "ઈવોલà«àª¯à«àª¶àª¨ નીચેની ફાઈલોમાંથી માહિતી આયાત કરશે:"
#. Preview/Alpha/Beta version warning message
-#: shell/main.c:237
+#: shell/main.c:238
#, no-c-format
msgid ""
"Hi. Thanks for taking the time to download this preview release\n"
@@ -15294,7 +15290,7 @@ msgstr ""
"અમે àªàªµà«€ આશા રાખીઠછીઠકે તમે અમારી સખà«àª¤ મહેનતના પરિણામને માણી રહà«àª¯àª¾ હશો, અને અમે\n"
"તમારા ફાળાની આતà«àª°àª¤àª¾àª¥à«€ રાહ જોઈ રહà«àª¯àª¾ છીàª!\n"
-#: shell/main.c:261
+#: shell/main.c:262
msgid ""
"Thanks\n"
"The Evolution Team\n"
@@ -15302,39 +15298,39 @@ msgstr ""
"આભાર\n"
"ઈવોલà«àª¯à«àª¶àª¨ ટà«àª•àª¡à«€\n"
-#: shell/main.c:268
+#: shell/main.c:269
msgid "Don't tell me again"
msgstr "મને ફરી વાર કહો નહિં"
-#: shell/main.c:473
+#: shell/main.c:474
msgid "Start Evolution activating the specified component"
msgstr "સà«àªªàª·à«àªŸ કરેલ કમà«àªªà«‹àª¨àª¨à«àªŸ કà«àª°àª¿àª¯àª¾àª¶à«€àª² કરવા માટે ઈવોલà«àª¯à«àª¶àª¨ શરૠકરો"
-#: shell/main.c:477
+#: shell/main.c:478
msgid "Start in online mode"
msgstr "ઓનલાઈન સà«àª¥àª¿àª¤àª¿àª®àª¾àª‚ શરૠકરો"
-#: shell/main.c:480
+#: shell/main.c:481
msgid "Forcibly shut down all Evolution components"
msgstr "ઈવોલà«àª¯à«àª¶àª¨àª¨àª¾ બધા કમà«àªªà«‹àª¨àª¨à«àªŸà«‹ દબાણપૂરà«àªµàª• બંધ કરી દો"
-#: shell/main.c:484
+#: shell/main.c:485
msgid "Forcibly re-migrate from Evolution 1.4"
msgstr "ઈવોલà«àª¯à«àª¶àª¨ ૧.૪ માંથી દબાણપૂરà«àªµàª• ફેરવો"
-#: shell/main.c:487
+#: shell/main.c:488
msgid "Send the debugging output of all components to a file."
msgstr "ફાઈલના બધા કમà«àªªà«‹àª¨àª¨à«àªŸà«‹ માટે ભૂલ શોધવા માટેનà«àª‚ આઉટપà«àªŸ મોકલો."
-#: shell/main.c:490
+#: shell/main.c:491
msgid "Disable the mono plugin environment."
msgstr "મોનો પà«àª²àª—ઈન પરà«àª¯àª¾àªµàª°àª£ નિષà«àª•à«àª°àª¿àª¯ કરો."
-#: shell/main.c:493
+#: shell/main.c:494
msgid "Disable loading of any plugins."
msgstr "કોઈપણ પà«àª²àª—ઈનો લાવવાનà«àª‚ નિષà«àª•à«àª°àª¿àª¯ કરો."
-#: shell/main.c:524
+#: shell/main.c:525
#, c-format
msgid ""
"%s: --online and --offline cannot be used together.\n"
@@ -15513,30 +15509,30 @@ msgstr ""
"પછી તમે આ પà«àª°àª®àª¾àª£àªªàª¤à«àª°àª¨à«€ સતà«àª¤àª¾àª§àª¿àª•àª° પર વિશà«àªµàª¾àª¸ કરો નહિં જà«àª¯àª¾àª‚ સà«àª§à«€ તે સૂચવાયેલ નહિં હોય"
#: smime/gui/certificate-manager.c:134 smime/gui/certificate-manager.c:142
-#: smime/gui/certificate-manager.c:375 smime/gui/certificate-manager.c:383
-#: smime/gui/certificate-manager.c:595 smime/gui/certificate-manager.c:603
+#: smime/gui/certificate-manager.c:377 smime/gui/certificate-manager.c:385
+#: smime/gui/certificate-manager.c:597 smime/gui/certificate-manager.c:605
msgid "Select a cert to import..."
msgstr "આયાત કરવા માટે પà«àª°àª®àª¾àª£àªªàª¤à«àª° પસંદ કરો..."
-#: smime/gui/certificate-manager.c:263 smime/gui/certificate-manager.c:472
-#: smime/gui/certificate-manager.c:690
+#: smime/gui/certificate-manager.c:265 smime/gui/certificate-manager.c:474
+#: smime/gui/certificate-manager.c:692
msgid "Certificate Name"
msgstr "પà«àª°àª®àª¾àª£àªªàª¤à«àª° નામ"
-#: smime/gui/certificate-manager.c:272 smime/gui/certificate-manager.c:490
+#: smime/gui/certificate-manager.c:274 smime/gui/certificate-manager.c:492
msgid "Purposes"
msgstr "હેતà«àª“"
-#: smime/gui/certificate-manager.c:281 smime/gui/smime-ui.glade.h:36
+#: smime/gui/certificate-manager.c:283 smime/gui/smime-ui.glade.h:36
#: smime/lib/e-cert.c:569
msgid "Serial Number"
msgstr "શà«àª°à«‡àª£à«€ સંખà«àª¯àª¾"
-#: smime/gui/certificate-manager.c:289
+#: smime/gui/certificate-manager.c:291
msgid "Expires"
msgstr "મà«àª¦àª¤ પà«àª°à«€ થાય છે"
-#: smime/gui/certificate-manager.c:481
+#: smime/gui/certificate-manager.c:483
msgid "E-Mail Address"
msgstr "ઈ-મેઈલ સરનામà«"
diff --git a/po/hu.po b/po/hu.po
index d28ba8096c..88cf48e9e6 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: evolution\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-03-01 14:11+0100\n"
-"PO-Revision-Date: 2005-03-04 14:07+0100\n"
+"POT-Creation-Date: 2005-03-05 04:16+0100\n"
+"PO-Revision-Date: 2005-03-05 10:47+0100\n"
"Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
"Language-Team: Hungarian <gnome@gnome.hu>\n"
"MIME-Version: 1.0\n"
@@ -44,7 +44,7 @@ msgstr[0] "a jelenlegi címjegyzék-mappa %d kártyát tartalmaz"
msgstr[1] "a jelenlegi címjegyzék-mappa %d kártyát tartalmaz"
#: a11y/addressbook/ea-minicard.c:31
-#: calendar/gui/alarm-notify/alarm-queue.c:863
+#: calendar/gui/alarm-notify/alarm-queue.c:876
#: ui/evolution-message-composer.xml.h:10
msgid "Open"
msgstr "Megnyitás"
@@ -4257,28 +4257,28 @@ msgstr "hely"
msgid "start-time"
msgstr "kezdés időpontja"
-#: calendar/gui/alarm-notify/alarm-queue.c:864
+#: calendar/gui/alarm-notify/alarm-queue.c:877
msgid "Dismiss"
msgstr "Eltüntetés"
-#: calendar/gui/alarm-notify/alarm-queue.c:865
+#: calendar/gui/alarm-notify/alarm-queue.c:878
msgid "Dismiss All"
msgstr "Mindet eltünteti"
-#: calendar/gui/alarm-notify/alarm-queue.c:947
+#: calendar/gui/alarm-notify/alarm-queue.c:960
msgid "No summary available."
msgstr "Nem áll rendelkezésre összegzés."
-#: calendar/gui/alarm-notify/alarm-queue.c:956
-#: calendar/gui/alarm-notify/alarm-queue.c:958
+#: calendar/gui/alarm-notify/alarm-queue.c:969
+#: calendar/gui/alarm-notify/alarm-queue.c:971
msgid "No description available."
msgstr "Nem áll rendelkezésre leírás."
-#: calendar/gui/alarm-notify/alarm-queue.c:966
+#: calendar/gui/alarm-notify/alarm-queue.c:979
msgid "No location information available."
msgstr "Nem áll rendelkezésre hely információ."
-#: calendar/gui/alarm-notify/alarm-queue.c:982
+#: calendar/gui/alarm-notify/alarm-queue.c:995
#, c-format
msgid ""
"Alarm on %s\n"
@@ -4291,12 +4291,12 @@ msgstr ""
"Kezdődik: %s\n"
"Befejeződik: %s"
-#: calendar/gui/alarm-notify/alarm-queue.c:1084
-#: calendar/gui/alarm-notify/alarm-queue.c:1108
+#: calendar/gui/alarm-notify/alarm-queue.c:1097
+#: calendar/gui/alarm-notify/alarm-queue.c:1121
msgid "Warning"
msgstr "Figyelmeztetés"
-#: calendar/gui/alarm-notify/alarm-queue.c:1088
+#: calendar/gui/alarm-notify/alarm-queue.c:1101
msgid ""
"Evolution does not support calendar reminders with\n"
"email notifications yet, but this reminder was\n"
@@ -4308,7 +4308,7 @@ msgstr ""
"lett beállítva. Az Evolution a szokásos emlékeztető\n"
"párbeszédablakot fogja ehelyett megjeleníteni."
-#: calendar/gui/alarm-notify/alarm-queue.c:1114
+#: calendar/gui/alarm-notify/alarm-queue.c:1127
#, c-format
msgid ""
"An Evolution Calendar reminder is about to trigger. This reminder is "
@@ -4325,7 +4325,7 @@ msgstr ""
"\n"
"Biztosan futtatni szeretné ezt a programot?"
-#: calendar/gui/alarm-notify/alarm-queue.c:1128
+#: calendar/gui/alarm-notify/alarm-queue.c:1141
msgid "Do not ask me about this program again."
msgstr "Ne kérdezzen meg többet ezzel a programmal kapcsolatban."
diff --git a/po/ja.po b/po/ja.po
index 8ea5f471d9..73599a1759 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -7,10 +7,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: evolution HEAD\n"
+"Project-Id-Version: evolution gnome-2-10\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-02-14 08:18+0900\n"
-"PO-Revision-Date: 2005-02-14 08:16+0900\n"
+"POT-Creation-Date: 2005-03-15 14:38+0900\n"
+"PO-Revision-Date: 2005-03-15 14:37+0900\n"
"Last-Translator: Takeshi AIHANA <aihana@gnome.gr.jp>\n"
"Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n"
"MIME-Version: 1.0\n"
@@ -25,12 +25,12 @@ msgid "evolution addressbook"
msgstr "evolution アドレス帳"
#: ../a11y/addressbook/ea-minicard-view.c:34
-#: ../addressbook/gui/component/addressbook-component.c:182
+#: ../addressbook/gui/component/addressbook-component.c:196
msgid "New Contact"
msgstr "æ–°ã—ã„連絡先"
#: ../a11y/addressbook/ea-minicard-view.c:35
-#: ../addressbook/gui/component/addressbook-component.c:190
+#: ../addressbook/gui/component/addressbook-component.c:204
msgid "New Contact List"
msgstr "æ–°ã—ã„連絡先ã®ä¸€è¦§"
@@ -42,7 +42,7 @@ msgstr[0] "ç¾åœ¨ã®ã‚¢ãƒ‰ãƒ¬ã‚¹å¸³ãƒ•ã‚©ãƒ«ãƒ€ã«ã¯ %d 個ã®ã‚«ãƒ¼ãƒ‰ãŒã‚ã‚
msgstr[1] "ç¾åœ¨ã®ã‚¢ãƒ‰ãƒ¬ã‚¹å¸³ãƒ•ã‚©ãƒ«ãƒ€ã«ã¯ %d 個ã®ã‚«ãƒ¼ãƒ‰ãŒã‚ã‚Šã¾ã™"
#: ../a11y/addressbook/ea-minicard.c:31
-#: ../calendar/gui/alarm-notify/alarm-queue.c:863
+#: ../calendar/gui/alarm-notify/alarm-queue.c:878
#: ../ui/evolution-message-composer.xml.h:10
msgid "Open"
msgstr "é–‹ã"
@@ -143,7 +143,7 @@ msgid "calendar view for one or more days"
msgstr "一日以上ã®ã‚«ãƒ¬ãƒ³ãƒ€è¡¨ç¤º"
#: ../a11y/calendar/ea-gnome-calendar.c:187
-#: ../calendar/gui/calendar-component.c:520
+#: ../calendar/gui/calendar-component.c:660
msgid "%A %d %b %Y"
msgstr "%Yå¹´ %B%eæ—¥ %A"
@@ -154,7 +154,7 @@ msgstr "%Yå¹´ %B%eæ—¥ %A"
#. You can change the order but don't change the
#. specifiers or add anything.
#: ../a11y/calendar/ea-gnome-calendar.c:190
-#: ../calendar/gui/calendar-component.c:523
+#: ../calendar/gui/calendar-component.c:663
#: ../calendar/gui/e-day-view-top-item.c:719 ../calendar/gui/e-day-view.c:1511
#: ../calendar/gui/e-week-view-main-item.c:321
msgid "%a %d %b"
@@ -163,9 +163,9 @@ msgstr "%m/%d (%a)"
#: ../a11y/calendar/ea-gnome-calendar.c:192
#: ../a11y/calendar/ea-gnome-calendar.c:197
#: ../a11y/calendar/ea-gnome-calendar.c:199
-#: ../calendar/gui/calendar-component.c:525
-#: ../calendar/gui/calendar-component.c:530
-#: ../calendar/gui/calendar-component.c:532
+#: ../calendar/gui/calendar-component.c:665
+#: ../calendar/gui/calendar-component.c:670
+#: ../calendar/gui/calendar-component.c:672
msgid "%a %d %b %Y"
msgstr "%Y/%m/%d (%a)"
@@ -173,10 +173,10 @@ msgstr "%Y/%m/%d (%a)"
#: ../a11y/calendar/ea-gnome-calendar.c:222
#: ../a11y/calendar/ea-gnome-calendar.c:228
#: ../a11y/calendar/ea-gnome-calendar.c:230
-#: ../calendar/gui/calendar-component.c:544
-#: ../calendar/gui/calendar-component.c:551
-#: ../calendar/gui/calendar-component.c:557
-#: ../calendar/gui/calendar-component.c:559
+#: ../calendar/gui/calendar-component.c:684
+#: ../calendar/gui/calendar-component.c:691
+#: ../calendar/gui/calendar-component.c:697
+#: ../calendar/gui/calendar-component.c:699
msgid "%d %b %Y"
msgstr "%Yå¹´ %B%eæ—¥"
@@ -186,7 +186,7 @@ msgstr "%Yå¹´ %B%eæ—¥"
#. month name. You can change the order but don't
#. change the specifiers or add anything.
#: ../a11y/calendar/ea-gnome-calendar.c:220
-#: ../calendar/gui/calendar-component.c:549
+#: ../calendar/gui/calendar-component.c:689
#: ../calendar/gui/e-day-view-top-item.c:723 ../calendar/gui/e-day-view.c:1527
#: ../calendar/gui/e-week-view-main-item.c:335
msgid "%d %b"
@@ -232,17 +232,17 @@ msgstr "一ヶ月ã®ã‚«ãƒ¬ãƒ³ãƒ€è¡¨ç¤º"
msgid "calendar view for one or more weeks"
msgstr "一週間以上ã®ã‚«ãƒ¬ãƒ³ãƒ€è¡¨ç¤º"
-#: ../a11y/widgets/ea-calendar-item.c:290
#: ../a11y/widgets/ea-calendar-item.c:296
+#: ../a11y/widgets/ea-calendar-item.c:302
msgid "%d %B %Y"
msgstr "%Yå¹´ %B%eæ—¥"
-#: ../a11y/widgets/ea-calendar-item.c:298
+#: ../a11y/widgets/ea-calendar-item.c:304
#, c-format
msgid "Calendar: from %s to %s"
msgstr "カレンダ: %s 〜 %s"
-#: ../a11y/widgets/ea-calendar-item.c:333
+#: ../a11y/widgets/ea-calendar-item.c:339
msgid "evolution calendar item"
msgstr "Evolution カレンダã®ã‚¢ã‚¤ãƒ†ãƒ "
@@ -507,7 +507,7 @@ msgstr "ã“ã“ã§è‡ªå‹•è£œå®Œã‚’設定ã—ã¾ã™"
#. Create the contacts group
#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:5
#: ../addressbook/gui/component/addressbook-view.c:1119
-#: ../calendar/gui/migration.c:378
+#: ../calendar/gui/calendar-component.c:235 ../calendar/gui/migration.c:385
msgid "Contacts"
msgstr "連絡先"
@@ -545,64 +545,67 @@ msgstr "ã“ã“ã§ãŠä½¿ã„ã® S/MIME åž‹ã®è¨¼æ˜Žæ›¸ã‚’管ç†ã—ã¾ã™"
#. create the local source group
#. On This Computer is always first and vFolders is always last
-#: ../addressbook/gui/component/addressbook-component.c:120
+#: ../addressbook/gui/component/addressbook-component.c:133
#: ../addressbook/gui/component/addressbook-migrate.c:493
-#: ../calendar/gui/migration.c:452 ../calendar/gui/migration.c:545
+#: ../calendar/gui/calendar-component.c:208 ../calendar/gui/migration.c:459
+#: ../calendar/gui/migration.c:552 ../calendar/gui/tasks-component.c:188
#: ../mail/em-folder-tree-model.c:197 ../mail/em-folder-tree-model.c:199
-#: ../mail/mail-component.c:270 ../mail/mail-vfolder.c:222
+#: ../mail/mail-component.c:290 ../mail/mail-vfolder.c:222
msgid "On This Computer"
msgstr "ã“ã®ã‚³ãƒ³ãƒ”ュータ"
#. Create the default Person addressbook
#. Create the default Person calendar
#. Create the default Person task list
+#. Create the default Person addressbook
#. orange
-#: ../addressbook/gui/component/addressbook-component.c:128
+#: ../addressbook/gui/component/addressbook-component.c:141
#: ../addressbook/gui/component/addressbook-migrate.c:501
#: ../addressbook/gui/contact-editor/contact-editor.glade.h:20
-#: ../calendar/gui/migration.c:460 ../calendar/gui/migration.c:553
-#: ../filter/filter-label.c:123 ../mail/em-migrate.c:1013
-#: ../mail/mail-config.c:77 ../mail/mail-config.glade.h:101
+#: ../calendar/gui/calendar-component.c:216 ../calendar/gui/migration.c:467
+#: ../calendar/gui/migration.c:560 ../calendar/gui/tasks-component.c:196
+#: ../filter/filter-label.c:123 ../mail/em-migrate.c:1043
+#: ../mail/mail-config.c:78 ../mail/mail-config.glade.h:101
msgid "Personal"
msgstr "プライベート"
#. Create the LDAP source group
-#: ../addressbook/gui/component/addressbook-component.c:136
+#: ../addressbook/gui/component/addressbook-component.c:149
#: ../addressbook/gui/component/addressbook-migrate.c:509
msgid "On LDAP Servers"
msgstr "LDAP サーãƒ"
-#: ../addressbook/gui/component/addressbook-component.c:183
+#: ../addressbook/gui/component/addressbook-component.c:197
msgid "_Contact"
msgstr "連絡先(_C)"
-#: ../addressbook/gui/component/addressbook-component.c:184
+#: ../addressbook/gui/component/addressbook-component.c:198
msgid "Create a new contact"
msgstr "æ–°ã—ã„連絡先を作æˆã—ã¾ã™"
-#: ../addressbook/gui/component/addressbook-component.c:191
+#: ../addressbook/gui/component/addressbook-component.c:205
msgid "Contact _List"
msgstr "連絡先ã®ä¸€è¦§(_L)"
-#: ../addressbook/gui/component/addressbook-component.c:192
+#: ../addressbook/gui/component/addressbook-component.c:206
msgid "Create a new contact list"
msgstr "æ–°ã—ã„連絡先一覧を作æˆã—ã¾ã™"
-#: ../addressbook/gui/component/addressbook-component.c:198
-#: ../addressbook/gui/component/addressbook-config.c:1121
+#: ../addressbook/gui/component/addressbook-component.c:212
+#: ../addressbook/gui/component/addressbook-config.c:1120
#: ../addressbook/gui/component/addressbook-view.c:757
msgid "New Address Book"
msgstr "æ–°ã—ã„アドレス帳"
-#: ../addressbook/gui/component/addressbook-component.c:199
+#: ../addressbook/gui/component/addressbook-component.c:213
msgid "Address _Book"
msgstr "アドレス帳(_B)"
-#: ../addressbook/gui/component/addressbook-component.c:200
+#: ../addressbook/gui/component/addressbook-component.c:214
msgid "Create a new address book"
msgstr "æ–°ã—ã„アドレス帳を作æˆã—ã¾ã™"
-#: ../addressbook/gui/component/addressbook-component.c:273
+#: ../addressbook/gui/component/addressbook-component.c:287
msgid "Failed upgrading Addressbook settings or folders."
msgstr "アドレス帳ã®è¨­å®šã¾ãŸã¯é–¢é€£ãƒ•ã‚©ãƒ«ãƒ€ã®ã‚¢ãƒƒãƒ—グレードã«å¤±æ•—ã—ã¾ã—ãŸ"
@@ -645,7 +648,7 @@ msgstr "èªè¨¼"
#: ../addressbook/gui/component/addressbook-config.c:914
#: ../addressbook/gui/component/ldap-config.glade.h:18
-#: ../mail/mail-dialogs.glade.h:12 ../smime/gui/smime-ui.glade.h:19
+#: ../mail/mail-dialogs.glade.h:8 ../smime/gui/smime-ui.glade.h:19
msgid "Details"
msgstr "詳細"
@@ -657,18 +660,18 @@ msgstr "検索"
msgid "Downloading"
msgstr "ダウンロード"
-#: ../addressbook/gui/component/addressbook-config.c:1119
+#: ../addressbook/gui/component/addressbook-config.c:1118
#: ../addressbook/gui/component/ldap-config.glade.h:14
msgid "Address Book Properties"
msgstr "アドレス帳ã®ãƒ—ロパティ"
#: ../addressbook/gui/component/addressbook-migrate.c:72
-#: ../calendar/gui/migration.c:142 ../mail/em-migrate.c:1160
+#: ../calendar/gui/migration.c:142 ../mail/em-migrate.c:1190
msgid "Migrating..."
msgstr "移行中..."
#: ../addressbook/gui/component/addressbook-migrate.c:124
-#: ../calendar/gui/migration.c:189 ../mail/em-migrate.c:1201
+#: ../calendar/gui/migration.c:189 ../mail/em-migrate.c:1231
#, c-format
msgid "Migrating `%s':"
msgstr "'%s' ã®ç§»è¡Œä¸­:"
@@ -725,16 +728,16 @@ msgstr ""
#: ../addressbook/gui/component/addressbook-view.c:758
#: ../addressbook/gui/widgets/e-addressbook-view.c:935
-#: ../calendar/gui/calendar-component.c:386
-#: ../calendar/gui/tasks-component.c:330 ../mail/em-filter-i18n.h:11
+#: ../calendar/gui/calendar-component.c:526
+#: ../calendar/gui/tasks-component.c:430 ../mail/em-filter-i18n.h:11
#: ../ui/evolution-addressbook.xml.h:8 ../ui/evolution-calendar.xml.h:5
#: ../ui/evolution-mail-message.xml.h:24 ../ui/evolution-tasks.xml.h:6
msgid "Delete"
msgstr "削除ã™ã‚‹"
#: ../addressbook/gui/component/addressbook-view.c:760
-#: ../calendar/gui/calendar-component.c:387
-#: ../calendar/gui/tasks-component.c:331
+#: ../calendar/gui/calendar-component.c:527
+#: ../calendar/gui/tasks-component.c:431
msgid "Properties..."
msgstr "プロパティ..."
@@ -746,12 +749,12 @@ msgstr "連絡先ソースã®é¸æŠž"
msgid "Accessing LDAP Server anonymously"
msgstr "匿å㧠LDAP サーãƒã«ã‚¢ã‚¯ã‚»ã‚¹ã—ã¾ã™"
-#: ../addressbook/gui/component/addressbook.c:193
+#: ../addressbook/gui/component/addressbook.c:194
#: ../plugins/groupwise-account-setup/camel-gw-listener.c:478
msgid "Failed to authenticate.\n"
msgstr "èªè¨¼ã«å¤±æ•—ã—ã¾ã—ãŸã€‚\n"
-#: ../addressbook/gui/component/addressbook.c:200
+#: ../addressbook/gui/component/addressbook.c:201
#: ../plugins/groupwise-account-setup/camel-gw-listener.c:461
#, c-format
msgid "Enter password for %s (user %s)"
@@ -819,7 +822,7 @@ msgstr "プレビュー・ペインを表示ã™ã‚‹ã‹ã©ã†ã‹ã§ã™ã€‚"
#: ../calendar/gui/dialogs/new-task-list.glade.h:1
#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:1
#: ../composer/e-msg-composer-attachment.glade.h:1
-#: ../mail/mail-dialogs.glade.h:6 ../mail/message-tags.glade.h:1
+#: ../mail/mail-dialogs.glade.h:2 ../mail/message-tags.glade.h:1
#: ../plugins/shared-folder/properties.glade.h:1
#: ../widgets/e-timezone-dialog/e-timezone-dialog.glade.h:1
msgid "*"
@@ -875,7 +878,7 @@ msgid "Add Address Book"
msgstr "アドレス帳ã®è¿½åŠ "
#: ../addressbook/gui/component/ldap-config.glade.h:15
-#: ../mail/em-account-editor.c:292
+#: ../mail/em-account-editor.c:302
msgid "Always"
msgstr "常ã«"
@@ -910,7 +913,7 @@ msgid "Lo_gin:"
msgstr "ログイン(_G):"
#: ../addressbook/gui/component/ldap-config.glade.h:25
-#: ../mail/em-account-editor.c:290
+#: ../mail/em-account-editor.c:300
msgid "Never"
msgstr "ã—ãªã„"
@@ -1032,7 +1035,7 @@ msgid "Using email address"
msgstr "使用ã™ã‚‹ E-メール・アドレス"
#: ../addressbook/gui/component/ldap-config.glade.h:42
-#: ../mail/em-account-editor.c:291
+#: ../mail/em-account-editor.c:301
msgid "Whenever Possible"
msgstr "å¯èƒ½ãªã‚‰ã°"
@@ -1087,7 +1090,7 @@ msgstr "カード"
#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:12
#: ../calendar/gui/dialogs/alarm-dialog.glade.h:26
#: ../calendar/gui/dialogs/calendar-setup.glade.h:14
-#: ../filter/filter.glade.h:16 ../mail/em-account-editor.c:1825
+#: ../filter/filter.glade.h:16 ../mail/em-account-editor.c:1882
#: ../plugins/calendar-http/calendar-http.c:263
#: ../plugins/calendar-weather/calendar-weather.c:564
msgid "minutes"
@@ -1186,8 +1189,8 @@ msgstr "電話"
#: ../addressbook/gui/contact-editor/contact-editor.glade.h:23
#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:235
#: ../addressbook/gui/contact-editor/e-contact-editor.c:199
-#: ../filter/filter-label.c:122 ../mail/em-migrate.c:1012
-#: ../mail/mail-config.c:76 ../mail/mail-config.glade.h:148
+#: ../filter/filter-label.c:122 ../mail/em-migrate.c:1042
+#: ../mail/mail-config.c:77 ../mail/mail-config.glade.h:148
msgid "Work"
msgstr "仕事"
@@ -2414,7 +2417,7 @@ msgstr "æ°å(_F):"
msgid "E-_mail:"
msgstr "E-メール(_M):"
-#: ../addressbook/gui/contact-editor/eab-editor.c:319
+#: ../addressbook/gui/contact-editor/eab-editor.c:326
msgid ""
"Are you sure you want\n"
"to delete these contacts?"
@@ -2422,7 +2425,7 @@ msgstr ""
"ã“ã®é€£çµ¡å…ˆã‚’\n"
"本当ã«å‰Šé™¤ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹ï¼Ÿ"
-#: ../addressbook/gui/contact-editor/eab-editor.c:322
+#: ../addressbook/gui/contact-editor/eab-editor.c:329
msgid ""
"Are you sure you want\n"
"to delete this contact?"
@@ -2541,7 +2544,7 @@ msgid "Add an email to the List"
msgstr "E-メールを一覧ã¸è¿½åŠ ã™ã‚‹"
#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:5
-#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:820
+#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:817
msgid "Contact List Editor"
msgstr "連絡先一覧エディタ"
@@ -2587,11 +2590,11 @@ msgstr "書ç±"
msgid "Is New List"
msgstr "æ–°ã—ã„一覧ã§ã™"
-#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:710
+#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:707
msgid "_Members"
msgstr "メンãƒãƒ¼(_M)"
-#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:713
+#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:710
msgid "Contact List Members"
msgstr "連絡先一覧ã®ãƒ¡ãƒ³ãƒãƒ¼"
@@ -2700,7 +2703,7 @@ msgstr "情報ソース"
#: ../addressbook/gui/widgets/e-addressbook-view.c:244
#: ../calendar/gui/dialogs/meeting-page.etspec.h:11
#: ../calendar/gui/e-calendar-table.etspec.h:13
-#: ../calendar/gui/e-meeting-list-view.c:244
+#: ../calendar/gui/e-meeting-list-view.c:319
#: ../calendar/gui/e-meeting-time-sel.etspec.h:11
msgid "Type"
msgstr "種類"
@@ -2754,8 +2757,8 @@ msgid "Cut"
msgstr "切りå–ã‚Š"
#: ../addressbook/gui/widgets/e-addressbook-view.c:933
-#: ../calendar/gui/calendar-component.c:385
-#: ../calendar/gui/tasks-component.c:329 ../ui/evolution-addressbook.xml.h:2
+#: ../calendar/gui/calendar-component.c:525
+#: ../calendar/gui/tasks-component.c:429 ../ui/evolution-addressbook.xml.h:2
#: ../ui/evolution-mail-message.xml.h:9 ../ui/evolution-tasks.xml.h:2
msgid "Copy"
msgstr "コピー"
@@ -2911,7 +2914,7 @@ msgstr "ラジオ"
#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:33
#: ../calendar/gui/dialogs/meeting-page.etspec.h:9
-#: ../calendar/gui/e-meeting-list-view.c:251
+#: ../calendar/gui/e-meeting-list-view.c:326
#: ../calendar/gui/e-meeting-time-sel.etspec.h:9
msgid "Role"
msgstr "役割"
@@ -4083,10 +4086,10 @@ msgstr "タスク一覧ãŒã‚ªãƒ•ãƒ©ã‚¤ãƒ³ã«ãªã£ã¦ã„ã¾ã›ã‚“"
#. calendar:server-version secondary
#: ../calendar/calendar-errors.xml.h:146
-msgid " Some features may not work correctly with your current server version"
+msgid " Some features may not work correctly with your current server version "
msgstr ""
-"ãŠä½¿ã„ã®ã‚µãƒ¼ãƒã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ã€ã„ãã¤ã‹ã®æ©Ÿèƒ½ãŒæ­£ã—ã動作ã—ãªã„ã‹ã‚‚ã—ã‚Œã¾ã›"
-"ã‚“"
+" ãŠä½¿ã„ã®ã‚µãƒ¼ãƒã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ã€ã„ãã¤ã‹ã®æ©Ÿèƒ½ãŒæ­£ã—ã動作ã—ãªã„ã‹ã‚‚ã—ã‚Œã¾ã›"
+"ã‚“ "
#: ../calendar/common/authentication.c:49 ../calendar/gui/e-pub-utils.c:301
#: ../smime/gui/component.c:48
@@ -4123,7 +4126,7 @@ msgid "Calendar and Tasks"
msgstr "カレンダã¨ã‚¿ã‚¹ã‚¯"
#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:2
-#: ../calendar/gui/calendar-component.c:1150
+#: ../calendar/gui/calendar-component.c:1290
msgid "Calendars"
msgstr "カレンダ"
@@ -4157,7 +4160,7 @@ msgstr "Evolution タスクã®ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆ"
#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:10
#: ../calendar/gui/e-tasks.c:1219 ../calendar/gui/print.c:1822
-#: ../calendar/gui/tasks-component.c:408 ../calendar/gui/tasks-component.c:881
+#: ../calendar/gui/tasks-component.c:508 ../calendar/gui/tasks-component.c:981
#: ../calendar/gui/tasks-control.c:408
#: ../calendar/importers/icalendar-importer.c:83
#: ../calendar/importers/icalendar-importer.c:701
@@ -4250,28 +4253,28 @@ msgstr "location"
msgid "start-time"
msgstr "start-time"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:864
+#: ../calendar/gui/alarm-notify/alarm-queue.c:879
msgid "Dismiss"
msgstr "å´ä¸‹"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:865
+#: ../calendar/gui/alarm-notify/alarm-queue.c:880
msgid "Dismiss All"
msgstr "å…¨ã¦å´ä¸‹"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:947
+#: ../calendar/gui/alarm-notify/alarm-queue.c:962
msgid "No summary available."
msgstr "サマリã¯ã‚ã‚Šã¾ã›ã‚“。"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:956
-#: ../calendar/gui/alarm-notify/alarm-queue.c:958
+#: ../calendar/gui/alarm-notify/alarm-queue.c:971
+#: ../calendar/gui/alarm-notify/alarm-queue.c:973
msgid "No description available."
msgstr "説明ã¯ã‚ã‚Šã¾ã›ã‚“。"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:966
+#: ../calendar/gui/alarm-notify/alarm-queue.c:981
msgid "No location information available."
msgstr "場所ã®æƒ…å ±ã¯ã‚ã‚Šã¾ã›ã‚“。"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:982
+#: ../calendar/gui/alarm-notify/alarm-queue.c:997
#, c-format
msgid ""
"Alarm on %s\n"
@@ -4284,12 +4287,12 @@ msgstr ""
"èµ·å‹•: %s\n"
"終了: %s"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1084
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1108
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1099
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1123
msgid "Warning"
msgstr "警告"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1088
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1103
msgid ""
"Evolution does not support calendar reminders with\n"
"email notifications yet, but this reminder was\n"
@@ -4301,7 +4304,7 @@ msgstr ""
"ã®è¨­å®šãŒã•ã‚Œã¦ã„ã¾ã—ãŸã€‚ãã®ä»£ã‚ã‚Šã« Evolution ã¯\n"
"通常ã®ãƒªãƒžã‚¤ãƒ³ãƒ€ãƒ»ãƒ€ã‚¤ã‚¢ãƒ­ã‚°ã‚’表示ã—ã¾ã™ã€‚"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1114
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1129
#, c-format
msgid ""
"An Evolution Calendar reminder is about to trigger. This reminder is "
@@ -4318,7 +4321,7 @@ msgstr ""
"\n"
"本当ã«ã€ã“ã®ãƒ—ログラムを起動ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹ï¼Ÿ"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1128
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1143
msgid "Do not ask me about this program again."
msgstr "ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’二度ã¨è¡¨ç¤ºã—ãªã„"
@@ -4646,7 +4649,7 @@ msgid "Unmatched"
msgstr "該当ã—ãªã„ã‚‚ã®"
#: ../calendar/gui/calendar-commands.c:120
-#: ../calendar/gui/calendar-component.c:568
+#: ../calendar/gui/calendar-component.c:708
#: ../calendar/gui/dialogs/calendar-setup.c:362
#: ../calendar/gui/gnome-cal.c:1942
#: ../plugins/groupwise-account-setup/camel-gw-listener.c:382
@@ -4676,73 +4679,91 @@ msgstr "次よりå¤ã„イベントを抹消ã™ã‚‹"
msgid "days"
msgstr "æ—¥"
-#: ../calendar/gui/calendar-component.c:384
+#. Create the On the web source group
+#. Create the Webcal source group
+#. Create the LDAP source group
+#: ../calendar/gui/calendar-component.c:223 ../calendar/gui/migration.c:486
+#: ../calendar/gui/migration.c:579 ../calendar/gui/tasks-component.c:204
+msgid "On The Web"
+msgstr "ウェブ"
+
+#: ../calendar/gui/calendar-component.c:241 ../calendar/gui/migration.c:388
+msgid "Birthdays & Anniversaries"
+msgstr "誕生日ã¨è¨˜å¿µæ—¥"
+
+#. Create the weather group
+#: ../calendar/gui/calendar-component.c:247
+#: ../plugins/calendar-weather/calendar-weather.c:100
+msgid "Weather"
+msgstr "天気"
+
+#: ../calendar/gui/calendar-component.c:524
#: ../calendar/gui/dialogs/calendar-setup.c:442
msgid "New Calendar"
msgstr "æ–°ã—ã„カレンダ"
-#: ../calendar/gui/calendar-component.c:703
+#: ../calendar/gui/calendar-component.c:843
msgid "Failed upgrading calendars."
msgstr "カレンダã®ã‚¢ãƒƒãƒ—グレードã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: ../calendar/gui/calendar-component.c:999
+#: ../calendar/gui/calendar-component.c:1139
#, c-format
msgid "Unable to open the calendar '%s' for creating events and meetings"
msgstr "イベントã¨ä¼šè­°ã®ä½œæˆã«å¿…è¦ãªã‚«ãƒ¬ãƒ³ãƒ€ '%s' ã‚’é–‹ã‘ã¾ã›ã‚“"
-#: ../calendar/gui/calendar-component.c:1015
+#: ../calendar/gui/calendar-component.c:1155
msgid "There is no calendar available for creating events and meetings"
msgstr "イベントã¨ä¼šè­°ã®ä½œæˆã§åˆ©ç”¨å¯èƒ½ãªã‚«ãƒ¬ãƒ³ãƒ€ãŒã‚ã‚Šã¾ã›ã‚“"
-#: ../calendar/gui/calendar-component.c:1125
+#: ../calendar/gui/calendar-component.c:1265
msgid "Calendar Source Selector"
msgstr "カレンダã®æ ¼ç´å ´æ‰€ã®é¸æŠž"
-#: ../calendar/gui/calendar-component.c:1316
+#: ../calendar/gui/calendar-component.c:1456
msgid "New appointment"
msgstr "æ–°ã—ã„予定"
-#: ../calendar/gui/calendar-component.c:1317
+#: ../calendar/gui/calendar-component.c:1457
msgid "_Appointment"
msgstr "予定(_A)"
-#: ../calendar/gui/calendar-component.c:1318
+#: ../calendar/gui/calendar-component.c:1458
msgid "Create a new appointment"
msgstr "æ–°ã—ã„予定を作æˆã—ã¾ã™"
-#: ../calendar/gui/calendar-component.c:1324
+#: ../calendar/gui/calendar-component.c:1464
msgid "New meeting"
msgstr "æ–°è¦ã®ä¼šè­°"
-#: ../calendar/gui/calendar-component.c:1325
+#: ../calendar/gui/calendar-component.c:1465
msgid "M_eeting"
msgstr "会議(_E)"
-#: ../calendar/gui/calendar-component.c:1326
+#: ../calendar/gui/calendar-component.c:1466
msgid "Create a new meeting request"
msgstr "æ–°ã—ã„会議をå¬é›†ã—ã¾ã™"
-#: ../calendar/gui/calendar-component.c:1332
+#: ../calendar/gui/calendar-component.c:1472
msgid "New all day appointment"
msgstr "æ–°ã—ã„終日ã®äºˆå®š"
-#: ../calendar/gui/calendar-component.c:1333
+#: ../calendar/gui/calendar-component.c:1473
msgid "All Day A_ppointment"
msgstr "終日ã®äºˆå®š(_P)"
-#: ../calendar/gui/calendar-component.c:1334
+#: ../calendar/gui/calendar-component.c:1474
msgid "Create a new all-day appointment"
msgstr "æ–°ã—ã„終日ã®äºˆå®šã‚’作æˆã—ã¾ã™"
-#: ../calendar/gui/calendar-component.c:1340
+#: ../calendar/gui/calendar-component.c:1480
msgid "New calendar"
msgstr "æ–°ã—ã„カレンダ"
-#: ../calendar/gui/calendar-component.c:1341
+#: ../calendar/gui/calendar-component.c:1481
msgid "Cale_ndar"
msgstr "カレンダ(_N)"
-#: ../calendar/gui/calendar-component.c:1342
+#: ../calendar/gui/calendar-component.c:1482
msgid "Create a new calendar"
msgstr "æ–°ã—ã„カレンダを作æˆã—ã¾ã™"
@@ -4774,7 +4795,7 @@ msgstr "カレンダをオープンã™ã‚‹éš›ã®æ–¹æ³•ãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„
msgid "Permission denied to open the calendar"
msgstr "カレンダをオープンã™ã‚‹æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“"
-#: ../calendar/gui/comp-editor-factory.c:437 ../shell/e-shell.c:1259
+#: ../calendar/gui/comp-editor-factory.c:437 ../shell/e-shell.c:1264
msgid "Unknown error"
msgstr "特定ã§ããªã„エラー"
@@ -4917,8 +4938,8 @@ msgid "%.0fG"
msgstr "%.0fG"
#: ../calendar/gui/dialogs/cal-attachment-bar.c:298
-#: ../calendar/gui/dialogs/cal-attachment-bar.c:913
-#: ../composer/e-msg-composer-attachment-bar.c:295 ../mail/em-utils.c:436
+#: ../calendar/gui/dialogs/cal-attachment-bar.c:922
+#: ../composer/e-msg-composer-attachment-bar.c:295 ../mail/em-utils.c:438
msgid "attachment"
msgstr "添付"
@@ -4931,7 +4952,7 @@ msgstr "削除(_R)"
#: ../calendar/gui/dialogs/cal-attachment-bar.c:440
#: ../composer/e-msg-composer-attachment-bar.c:438
-#: ../mail/em-folder-tree.c:2818 ../ui/evolution-mail-list.xml.h:27
+#: ../mail/em-folder-tree.c:2819 ../ui/evolution-mail-list.xml.h:27
msgid "_Properties"
msgstr "プロパティ(_P)"
@@ -4941,6 +4962,7 @@ msgid "_Add attachment..."
msgstr "添付ã®è¿½åŠ (_A)..."
#: ../calendar/gui/dialogs/cal-attachment-bar.c:699
+#: ../composer/e-msg-composer-attachment-bar.c:703
msgid "Attachment Bar"
msgstr "添付ファイル・ãƒãƒ¼"
@@ -4954,7 +4976,7 @@ msgid "Suggest automatic display of attachment"
msgstr "添付ã—ãŸå†…容を自動的ã«è¡¨ç¤ºã™ã‚‹ã‹æ示ã™ã‚‹"
#: ../calendar/gui/dialogs/cal-attachment-select-file.c:190
-#: ../composer/e-msg-composer-select-file.c:230
+#: ../composer/e-msg-composer-select-file.c:231
msgid "Attach file(s)"
msgstr "ファイルã®æ·»ä»˜"
@@ -4998,7 +5020,7 @@ msgstr "MIME タイプ:"
#. g_object_set((GObject *)renderer, "activatable", TRUE, NULL);
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:576
-#: ../mail/em-account-prefs.c:460 ../mail/em-composer-prefs.c:888
+#: ../mail/em-account-prefs.c:476 ../mail/em-composer-prefs.c:888
#: ../plugins/plugin-manager/plugin-manager.c:213
msgid "Enabled"
msgstr "有効"
@@ -5018,16 +5040,16 @@ msgstr "削除ã—ãªã„"
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:787
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:820
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:853
-#: ../mail/em-account-prefs.c:307 ../mail/em-account-prefs.c:335
-#: ../mail/em-account-prefs.c:366
+#: ../mail/em-account-prefs.c:323 ../mail/em-account-prefs.c:351
+#: ../mail/em-account-prefs.c:382
msgid "Disable"
msgstr "無効"
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:787
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:820
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:855
-#: ../mail/em-account-prefs.c:307 ../mail/em-account-prefs.c:335
-#: ../mail/em-account-prefs.c:368
+#: ../mail/em-account-prefs.c:323 ../mail/em-account-prefs.c:351
+#: ../mail/em-account-prefs.c:384
msgid "Enable"
msgstr "有効"
@@ -5428,98 +5450,98 @@ msgstr[1] "添付ã•ã‚ŒãŸãƒ¡ãƒƒã‚»ãƒ¼ã‚¸"
#: ../calendar/gui/dialogs/comp-editor.c:412
#: ../calendar/gui/e-calendar-table.c:1164
#: ../calendar/gui/e-calendar-view.c:1402 ../composer/e-msg-composer.c:2906
-#: ../mail/em-folder-tree.c:1046 ../mail/message-list.c:1712
-#: ../ui/evolution-addressbook.xml.h:31 ../ui/evolution-calendar.xml.h:39
-#: ../ui/evolution-composer-entries.xml.h:7
+#: ../mail/em-folder-tree.c:1047 ../mail/em-folder-view.c:966
+#: ../mail/message-list.c:1707 ../ui/evolution-addressbook.xml.h:31
+#: ../ui/evolution-calendar.xml.h:39 ../ui/evolution-composer-entries.xml.h:7
#: ../ui/evolution-mail-message.xml.h:105 ../ui/evolution-tasks.xml.h:20
msgid "_Copy"
msgstr "コピー(_C)"
#: ../calendar/gui/dialogs/comp-editor.c:413 ../composer/e-msg-composer.c:2907
-#: ../mail/em-folder-tree.c:1047 ../mail/em-folder-tree.c:2311
-#: ../mail/em-folder-view.c:860 ../mail/message-list.c:1713
+#: ../mail/em-folder-tree.c:1048 ../mail/em-folder-tree.c:2312
+#: ../mail/em-folder-view.c:862 ../mail/message-list.c:1708
msgid "_Move"
msgstr "移動(_M)"
#: ../calendar/gui/dialogs/comp-editor.c:415 ../composer/e-msg-composer.c:2909
-#: ../mail/em-folder-tree.c:1049 ../mail/message-list.c:1715
+#: ../mail/em-folder-tree.c:1050 ../mail/message-list.c:1710
msgid "Cancel _Drag"
msgstr "ドラッグã®ã‚­ãƒ£ãƒ³ã‚»ãƒ«(_D)"
-#: ../calendar/gui/dialogs/comp-editor.c:659
+#: ../calendar/gui/dialogs/comp-editor.c:682
msgid "Could not update object"
msgstr "オブジェクトを更新ã§ãã¾ã›ã‚“ã§ã—ãŸ"
-#: ../calendar/gui/dialogs/comp-editor.c:820 ../composer/e-msg-composer.c:2310
+#: ../calendar/gui/dialogs/comp-editor.c:843 ../composer/e-msg-composer.c:2310
#, c-format
msgid "<b>%d</b> File Attached"
msgid_plural "<b>%d</b> Files Attached"
msgstr[0] "添付ファイル㌠<b>%d</b> 個ã‚ã‚Šã¾ã™"
msgstr[1] "添付ファイル㌠<b>%d</b> 個ã‚ã‚Šã¾ã™"
-#: ../calendar/gui/dialogs/comp-editor.c:873 ../composer/e-msg-composer.c:2339
+#: ../calendar/gui/dialogs/comp-editor.c:900 ../composer/e-msg-composer.c:2339
msgid "Hide _Attachment Bar (drop attachments here)"
msgstr "添付ファイル・ãƒãƒ¼ã‚’éš ã™ (ã“ã“ã«æ·»ä»˜ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ドロップã—ã¦ä¸‹ã•ã„)(_A)"
-#: ../calendar/gui/dialogs/comp-editor.c:876
-#: ../calendar/gui/dialogs/comp-editor.c:928 ../composer/e-msg-composer.c:2342
+#: ../calendar/gui/dialogs/comp-editor.c:903
+#: ../calendar/gui/dialogs/comp-editor.c:955 ../composer/e-msg-composer.c:2342
#: ../composer/e-msg-composer.c:3471
msgid "Show _Attachment Bar (drop attachments here)"
msgstr ""
"添付ファイル・ãƒãƒ¼ã‚’表示ã™ã‚‹ (ã“ã“ã«æ·»ä»˜ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ドロップã—ã¦ä¸‹ã•ã„)(_A)"
-#: ../calendar/gui/dialogs/comp-editor.c:952
+#: ../calendar/gui/dialogs/comp-editor.c:979 ../composer/e-msg-composer.c:3493
msgid "Attachment Button: Press space key to toggle attachment bar"
msgstr ""
"添付ファイル・ボタン: [SPACE] キーを押下ã™ã‚‹ã¨ãƒãƒ¼ã®è¡¨ç¤ºã‚’ ON/OFF ã—ã¾ã™"
-#: ../calendar/gui/dialogs/comp-editor.c:1499
-#: ../calendar/gui/dialogs/comp-editor.c:1542
+#: ../calendar/gui/dialogs/comp-editor.c:1526
+#: ../calendar/gui/dialogs/comp-editor.c:1569
msgid "Edit Appointment"
msgstr "予定ã®ç·¨é›†"
-#: ../calendar/gui/dialogs/comp-editor.c:1505
-#: ../calendar/gui/dialogs/comp-editor.c:1548
+#: ../calendar/gui/dialogs/comp-editor.c:1532
+#: ../calendar/gui/dialogs/comp-editor.c:1575
#, c-format
msgid "Meeting - %s"
msgstr "会議 - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1507
-#: ../calendar/gui/dialogs/comp-editor.c:1550
+#: ../calendar/gui/dialogs/comp-editor.c:1534
+#: ../calendar/gui/dialogs/comp-editor.c:1577
#, c-format
msgid "Appointment - %s"
msgstr "予定 - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1511
-#: ../calendar/gui/dialogs/comp-editor.c:1554
+#: ../calendar/gui/dialogs/comp-editor.c:1538
+#: ../calendar/gui/dialogs/comp-editor.c:1581
#, c-format
msgid "Assigned Task - %s"
msgstr "タスクã®å‰²å½“㦠- %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1513
-#: ../calendar/gui/dialogs/comp-editor.c:1556
+#: ../calendar/gui/dialogs/comp-editor.c:1540
+#: ../calendar/gui/dialogs/comp-editor.c:1583
#, c-format
msgid "Task - %s"
msgstr "タスク - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1516
-#: ../calendar/gui/dialogs/comp-editor.c:1559
+#: ../calendar/gui/dialogs/comp-editor.c:1543
+#: ../calendar/gui/dialogs/comp-editor.c:1586
#, c-format
msgid "Journal entry - %s"
msgstr "ジャーナル・エントリ - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1527
-#: ../calendar/gui/dialogs/comp-editor.c:1569
+#: ../calendar/gui/dialogs/comp-editor.c:1554
+#: ../calendar/gui/dialogs/comp-editor.c:1596
msgid "No summary"
msgstr "サマリ無ã—"
-#: ../calendar/gui/dialogs/comp-editor.c:2001
-#: ../calendar/gui/dialogs/comp-editor.c:2034
-#: ../calendar/gui/dialogs/comp-editor.c:2058
+#: ../calendar/gui/dialogs/comp-editor.c:2033
+#: ../calendar/gui/dialogs/comp-editor.c:2066
+#: ../calendar/gui/dialogs/comp-editor.c:2090
msgid "Changes made to this item may be discarded if an update arrives"
msgstr "æ›´æ–°ãŒå±Šã„ãŸã‚‰ã“ã®ã‚¢ã‚¤ãƒ†ãƒ ã«å¯¾ã™ã‚‹å¤‰æ›´ã‚’破棄ã™ã‚‹"
-#: ../calendar/gui/dialogs/comp-editor.c:2082
+#: ../calendar/gui/dialogs/comp-editor.c:2114
msgid "Unable to use current version!"
msgstr "ç¾åœ¨ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’使用ã§ãã¾ã›ã‚“ï¼"
@@ -5601,61 +5623,61 @@ msgstr "ç¹°ã‚Šè¿”ã—"
#: ../calendar/gui/dialogs/event-editor.c:161
#: ../calendar/gui/dialogs/event-editor.c:233
-#: ../calendar/gui/dialogs/event-editor.c:378
+#: ../calendar/gui/dialogs/event-editor.c:379
msgid "Scheduling"
msgstr "スケジュール"
#: ../calendar/gui/dialogs/event-editor.c:168
#: ../calendar/gui/dialogs/event-editor.c:236
-#: ../calendar/gui/dialogs/event-editor.c:381
+#: ../calendar/gui/dialogs/event-editor.c:382
msgid "Invitations"
msgstr "招待"
-#: ../calendar/gui/dialogs/event-page.c:716
+#: ../calendar/gui/dialogs/event-page.c:721
msgid "Event with no start date"
msgstr "開始日ã®ãªã„イベント"
-#: ../calendar/gui/dialogs/event-page.c:719
+#: ../calendar/gui/dialogs/event-page.c:724
msgid "Event with no end date"
msgstr "終了日ã®ãªã„イベント"
-#: ../calendar/gui/dialogs/event-page.c:885
-#: ../calendar/gui/dialogs/task-page.c:551
+#: ../calendar/gui/dialogs/event-page.c:890
+#: ../calendar/gui/dialogs/task-page.c:557
msgid "Start date is wrong"
msgstr "開始日ãŒé–“é•ã£ã¦ã„ã¾ã™"
-#: ../calendar/gui/dialogs/event-page.c:895
+#: ../calendar/gui/dialogs/event-page.c:900
msgid "End date is wrong"
msgstr "終了日ãŒé–“é•ã£ã¦ã„ã¾ã™"
-#: ../calendar/gui/dialogs/event-page.c:918
+#: ../calendar/gui/dialogs/event-page.c:923
msgid "Start time is wrong"
msgstr "開始時刻ãŒé–“é•ã£ã¦ã„ã¾ã™"
-#: ../calendar/gui/dialogs/event-page.c:925
+#: ../calendar/gui/dialogs/event-page.c:930
msgid "End time is wrong"
msgstr "終了時刻ãŒé–“é•ã£ã¦ã„ã¾ã™"
-#: ../calendar/gui/dialogs/event-page.c:1666
+#: ../calendar/gui/dialogs/event-page.c:1676
#, c-format
msgid "Unable to open the calendar '%s'."
msgstr "カレンダ '%s' ã‚’é–‹ã‘ã¾ã›ã‚“。"
-#: ../calendar/gui/dialogs/event-page.c:1872
+#: ../calendar/gui/dialogs/event-page.c:1882
#, c-format
msgid "%d day before appointment"
msgid_plural "%d days before appointment"
msgstr[0] "予定㮠%d æ—¥å‰"
msgstr[1] "予定㮠%d æ—¥å‰"
-#: ../calendar/gui/dialogs/event-page.c:1880
+#: ../calendar/gui/dialogs/event-page.c:1890
#, c-format
msgid "%d hour before appointment"
msgid_plural "%d hours before appointment"
msgstr[0] "予定㮠%d 時間å‰"
msgstr[1] "予定㮠%d 時間å‰"
-#: ../calendar/gui/dialogs/event-page.c:1888
+#: ../calendar/gui/dialogs/event-page.c:1898
#, c-format
msgid "%d minute before appointement"
msgid_plural "%d minutes before appointment"
@@ -5784,9 +5806,9 @@ msgstr "開始時刻(_S):"
#: ../calendar/gui/dialogs/meeting-page.glade.h:5
#: ../calendar/gui/e-cal-model-tasks.c:652
#: ../calendar/gui/e-itip-control.c:1104 ../composer/e-msg-composer.c:2117
-#: ../filter/filter-rule.c:878 ../mail/em-account-editor.c:675
-#: ../mail/em-account-editor.c:1273 ../mail/em-account-prefs.c:421
-#: ../mail/em-folder-view.c:998
+#: ../filter/filter-rule.c:878 ../mail/em-account-editor.c:683
+#: ../mail/em-account-editor.c:1288 ../mail/em-account-prefs.c:437
+#: ../mail/em-folder-view.c:993
#: ../plugins/calendar-weather/calendar-weather.c:371
#: ../plugins/calendar-weather/calendar-weather.c:425
#: ../plugins/itip-formatter/itip-formatter.c:1376
@@ -5813,7 +5835,7 @@ msgid "_Delegate To..."
msgstr "委任先(_D)..."
#: ../calendar/gui/dialogs/meeting-page.etspec.h:1
-#: ../calendar/gui/e-meeting-list-view.c:235
+#: ../calendar/gui/e-meeting-list-view.c:308
#: ../calendar/gui/e-meeting-time-sel.etspec.h:1
msgid "Attendee"
msgstr "出席者"
@@ -5849,7 +5871,7 @@ msgid "Member"
msgstr "メンãƒãƒ¼"
#: ../calendar/gui/dialogs/meeting-page.etspec.h:8
-#: ../calendar/gui/e-meeting-list-view.c:258
+#: ../calendar/gui/e-meeting-list-view.c:333
#: ../calendar/gui/e-meeting-time-sel.etspec.h:8
msgid "RSVP"
msgstr "返信ã®æœ‰ç„¡"
@@ -5857,7 +5879,7 @@ msgstr "返信ã®æœ‰ç„¡"
#: ../calendar/gui/dialogs/meeting-page.etspec.h:10
#: ../calendar/gui/dialogs/task-editor.c:146
#: ../calendar/gui/e-calendar-table.etspec.h:10
-#: ../calendar/gui/e-meeting-list-view.c:265
+#: ../calendar/gui/e-meeting-list-view.c:340
#: ../calendar/gui/e-meeting-time-sel.etspec.h:10 ../mail/em-filter-i18n.h:63
#: ../mail/message-list.etspec.h:12
msgid "Status"
@@ -5925,32 +5947,32 @@ msgstr "タスク一覧ã®ã‚°ãƒ«ãƒ¼ãƒ—"
msgid "Task List Name"
msgstr "タスク一覧ã®åå‰"
-#: ../calendar/gui/dialogs/recur-comp.c:51
+#: ../calendar/gui/dialogs/recur-comp.c:52
msgid "You are modifying a recurring event, what would you like to modify?"
msgstr "ç¹°ã‚Šè¿”ã—ã®ã‚¤ãƒ™ãƒ³ãƒˆã‚’修正中ã§ã™ã€‚何を修正ã—ã¾ã™ã‹ï¼Ÿ"
-#: ../calendar/gui/dialogs/recur-comp.c:55
+#: ../calendar/gui/dialogs/recur-comp.c:56
msgid "You are modifying a recurring task, what would you like to modify?"
msgstr "ç¹°ã‚Šè¿”ã—ã®ã‚¿ã‚¹ã‚¯ã‚’修正中ã§ã™ã€‚何を修正ã—ã¾ã™ã‹ï¼Ÿ"
-#: ../calendar/gui/dialogs/recur-comp.c:59
+#: ../calendar/gui/dialogs/recur-comp.c:60
msgid ""
"You are modifying a recurring journal entry, what would you like to modify?"
msgstr "ç¹°ã‚Šè¿”ã—ã®ã‚¨ãƒ³ãƒˆãƒªã‚’修正中ã§ã™ã€‚何を修正ã—ã¾ã™ã‹ï¼Ÿ"
-#: ../calendar/gui/dialogs/recur-comp.c:87
+#: ../calendar/gui/dialogs/recur-comp.c:88
msgid "This Instance Only"
msgstr "ã“ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®ã¿"
-#: ../calendar/gui/dialogs/recur-comp.c:91
+#: ../calendar/gui/dialogs/recur-comp.c:92
msgid "This and Prior Instances"
msgstr "ã“ã‚Œã¨ä»¥å‰ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹"
-#: ../calendar/gui/dialogs/recur-comp.c:97
+#: ../calendar/gui/dialogs/recur-comp.c:98
msgid "This and Future Instances"
msgstr "ã“ã‚Œã¨å°†æ¥ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹"
-#: ../calendar/gui/dialogs/recur-comp.c:102
+#: ../calendar/gui/dialogs/recur-comp.c:103
msgid "All Instances"
msgstr "å…¨ã¦ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹"
@@ -6082,7 +6104,7 @@ msgstr "完了"
#: ../calendar/gui/dialogs/task-details-page.glade.h:5
#: ../calendar/gui/e-cal-component-preview.c:248
-#: ../calendar/gui/e-calendar-table.c:382 ../mail/message-list.c:1011
+#: ../calendar/gui/e-calendar-table.c:382 ../mail/message-list.c:1007
msgid "High"
msgstr "高ã„"
@@ -6097,14 +6119,14 @@ msgstr "進行中"
#: ../calendar/gui/dialogs/task-details-page.glade.h:7
#: ../calendar/gui/e-cal-component-preview.c:252
-#: ../calendar/gui/e-calendar-table.c:384 ../mail/message-list.c:1009
+#: ../calendar/gui/e-calendar-table.c:384 ../mail/message-list.c:1005
msgid "Low"
msgstr "低ã„"
#: ../calendar/gui/dialogs/task-details-page.glade.h:8
#: ../calendar/gui/e-cal-component-preview.c:250
#: ../calendar/gui/e-cal-model.c:899 ../calendar/gui/e-calendar-table.c:383
-#: ../mail/message-list.c:1010
+#: ../mail/message-list.c:1006
msgid "Normal"
msgstr "普通"
@@ -6148,15 +6170,15 @@ msgstr "タスク"
#: ../calendar/gui/dialogs/task-editor.c:157
#: ../calendar/gui/dialogs/task-editor.c:219
-#: ../calendar/gui/dialogs/task-editor.c:358
+#: ../calendar/gui/dialogs/task-editor.c:359
msgid "Assignment"
msgstr "割当ã¦"
-#: ../calendar/gui/dialogs/task-page.c:524
+#: ../calendar/gui/dialogs/task-page.c:530
msgid "Due date is wrong"
msgstr "期日ãŒé–“é•ã£ã¦ã„ã¾ã™"
-#: ../calendar/gui/dialogs/task-page.c:868
+#: ../calendar/gui/dialogs/task-page.c:874
#, c-format
msgid "Unable to open tasks in '%s'."
msgstr "'%s' ã®ã‚¿ã‚¹ã‚¯ã‚’é–‹ã‘ã¾ã›ã‚“。"
@@ -6304,7 +6326,7 @@ msgstr "%2$sã®æ™‚点ã§%1$s"
msgid "%s for an unknown trigger type"
msgstr "トリガーã®ç¨®é¡žãŒä¸æ˜Žãª %s"
-#: ../calendar/gui/e-cal-component-preview.c:70 ../mail/em-folder-view.c:2520
+#: ../calendar/gui/e-cal-component-preview.c:70 ../mail/em-folder-view.c:2573
#, c-format
msgid "Click to open %s"
msgstr "クリックã™ã‚‹ã¨ %s ã‚’é–‹ãã¾ã™"
@@ -6333,7 +6355,7 @@ msgstr "期日:"
#. Status
#: ../calendar/gui/e-cal-component-preview.c:222
#: ../calendar/gui/e-itip-control.c:1132
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:129
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:209
#: ../plugins/itip-formatter/itip-view.c:884
msgid "Status:"
msgstr "ステータス:"
@@ -6356,7 +6378,7 @@ msgstr "開始日"
#: ../calendar/gui/e-cal-list-view.etspec.h:5
#: ../calendar/gui/e-calendar-table.etspec.h:11
-#: ../mail/mail-dialogs.glade.h:21
+#: ../mail/mail-dialogs.glade.h:17
msgid "Summary"
msgstr "サマリ"
@@ -6416,7 +6438,7 @@ msgstr "ã„ã„ãˆ"
#: ../calendar/gui/e-meeting-list-view.c:139
#: ../calendar/gui/e-meeting-list-view.c:153
#: ../calendar/gui/e-meeting-store.c:124 ../calendar/gui/e-meeting-store.c:159
-#: ../calendar/gui/e-meeting-store.c:224 ../mail/em-utils.c:1157
+#: ../calendar/gui/e-meeting-store.c:224 ../mail/em-utils.c:1175
#: ../plugins/itip-formatter/itip-formatter.c:251
#: ../plugins/itip-formatter/itip-formatter.c:1398
#: ../plugins/plugin-manager/plugin-manager.c:72
@@ -6497,8 +6519,7 @@ msgid "Save as..."
msgstr "別åã§ä¿å­˜..."
#: ../calendar/gui/e-calendar-table.c:1156
-#: ../calendar/gui/e-calendar-view.c:1395 ../mail/em-folder-view.c:964
-#: ../ui/evolution-addressbook.xml.h:37
+#: ../calendar/gui/e-calendar-view.c:1395 ../ui/evolution-addressbook.xml.h:37
msgid "_Open"
msgstr "é–‹ã(_O)"
@@ -6507,8 +6528,8 @@ msgid "Open _Web Page"
msgstr "ウェブ・ページを開ã(_W)"
#: ../calendar/gui/e-calendar-table.c:1158
-#: ../calendar/gui/e-calendar-view.c:1396 ../mail/em-folder-view.c:966
-#: ../mail/em-popup.c:493 ../ui/evolution-mail-message.xml.h:124
+#: ../calendar/gui/e-calendar-view.c:1396 ../mail/em-folder-view.c:976
+#: ../mail/em-popup.c:494 ../ui/evolution-mail-message.xml.h:124
msgid "_Save As..."
msgstr "別åã§ä¿å­˜(_S)..."
@@ -6552,8 +6573,8 @@ msgstr "é¸æŠžã—ãŸã‚¿ã‚¹ã‚¯ã«å®Œäº†ãƒžãƒ¼ã‚¯ã‚’付与(_M)"
#. FIXME: need to disable for undeletable folders
#: ../calendar/gui/e-calendar-table.c:1176
-#: ../calendar/gui/e-calendar-view.c:1414 ../mail/em-folder-tree.c:2814
-#: ../mail/em-folder-view.c:989 ../ui/evolution-addressbook.xml.h:33
+#: ../calendar/gui/e-calendar-view.c:1414 ../mail/em-folder-tree.c:2815
+#: ../mail/em-folder-view.c:980 ../ui/evolution-addressbook.xml.h:33
#: ../ui/evolution-calendar.xml.h:40 ../ui/evolution-mail-message.xml.h:108
#: ../ui/evolution-tasks.xml.h:21
msgid "_Delete"
@@ -6828,12 +6849,12 @@ msgstr ""
#: ../calendar/gui/e-itip-control.c:1137
#: ../calendar/gui/e-meeting-list-view.c:175
#: ../calendar/gui/e-meeting-store.c:188 ../calendar/gui/e-meeting-store.c:211
-#: ../calendar/gui/itip-utils.c:422
+#: ../calendar/gui/itip-utils.c:421
#: ../plugins/itip-formatter/itip-formatter.c:1389
msgid "Accepted"
msgstr "å—諾済"
-#: ../calendar/gui/e-itip-control.c:1141 ../calendar/gui/itip-utils.c:425
+#: ../calendar/gui/e-itip-control.c:1141 ../calendar/gui/itip-utils.c:424
#: ../plugins/itip-formatter/itip-formatter.c:1392
msgid "Tentatively Accepted"
msgstr "暫定的ã«å—諾済"
@@ -6841,7 +6862,7 @@ msgstr "暫定的ã«å—諾済"
#: ../calendar/gui/e-itip-control.c:1145
#: ../calendar/gui/e-meeting-list-view.c:176
#: ../calendar/gui/e-meeting-store.c:190 ../calendar/gui/e-meeting-store.c:213
-#: ../calendar/gui/itip-utils.c:428 ../calendar/gui/itip-utils.c:454
+#: ../calendar/gui/itip-utils.c:427 ../calendar/gui/itip-utils.c:453
#: ../plugins/itip-formatter/itip-formatter.c:1395
msgid "Declined"
msgstr "辞退済"
@@ -7109,7 +7130,7 @@ msgstr "応答者ステータスã®æ›´æ–°"
msgid "Send Latest Information"
msgstr "最新情報ã®é€ä¿¡"
-#: ../calendar/gui/e-itip-control.c:2375 ../calendar/gui/itip-utils.c:442
+#: ../calendar/gui/e-itip-control.c:2375 ../calendar/gui/itip-utils.c:441
#: ../mail/mail-send-recv.c:414 ../mail/mail-send-recv.c:466
#: ../ui/evolution-mail-global.xml.h:1
msgid "Cancel"
@@ -7319,7 +7340,7 @@ msgstr "å¿…é ˆãªäººé”ã¨ã²ã¨ã¤ã®ãƒªã‚½ãƒ¼ã‚¹(_O)"
msgid "Enter the password for %s"
msgstr "%s ã®ãƒ‘スワードを入力ã—ã¦ä¸‹ã•ã„"
-#: ../calendar/gui/e-tasks.c:763 ../calendar/gui/gnome-cal.c:2373
+#: ../calendar/gui/e-tasks.c:763 ../calendar/gui/gnome-cal.c:2372
#, c-format
msgid ""
"Error on %s:\n"
@@ -7365,7 +7386,7 @@ msgid "Updating query"
msgstr "クエリã®æ›´æ–°ä¸­"
#. bonobo displays this string so it must be in locale
-#: ../calendar/gui/gnome-cal.c:2057 ../widgets/menus/gal-view-menus.c:351
+#: ../calendar/gui/gnome-cal.c:2057 ../widgets/menus/gal-view-menus.c:350
msgid "Custom View"
msgstr "カスタム表示"
@@ -7373,26 +7394,26 @@ msgstr "カスタム表示"
msgid "Save Custom View"
msgstr "カスタム表示ã®ä¿å­˜"
-#: ../calendar/gui/gnome-cal.c:2063 ../widgets/menus/gal-view-menus.c:373
+#: ../calendar/gui/gnome-cal.c:2063 ../widgets/menus/gal-view-menus.c:372
msgid "Define Views..."
msgstr "ビューã®å®šç¾©..."
-#: ../calendar/gui/gnome-cal.c:2223
+#: ../calendar/gui/gnome-cal.c:2222
#, c-format
msgid "Loading appointments at %s"
msgstr "%s ã®äºˆå®šã®èª­ã¿è¾¼ã¿"
-#: ../calendar/gui/gnome-cal.c:2242
+#: ../calendar/gui/gnome-cal.c:2241
#, c-format
msgid "Loading tasks at %s"
msgstr "%s ã®ã‚¿ã‚¹ã‚¯ã®èª­ã¿è¾¼ã¿"
-#: ../calendar/gui/gnome-cal.c:2339
+#: ../calendar/gui/gnome-cal.c:2338
#, c-format
msgid "Opening %s"
msgstr "%s ã‚’é–‹ãã¾ã™"
-#: ../calendar/gui/gnome-cal.c:3229
+#: ../calendar/gui/gnome-cal.c:3228
msgid "Purging"
msgstr "抹消中"
@@ -7452,57 +7473,57 @@ msgstr "9 月"
msgid "_Select Today"
msgstr "今日ã«ã™ã‚‹(_S)"
-#: ../calendar/gui/itip-utils.c:271 ../calendar/gui/itip-utils.c:319
-#: ../calendar/gui/itip-utils.c:351
+#: ../calendar/gui/itip-utils.c:270 ../calendar/gui/itip-utils.c:318
+#: ../calendar/gui/itip-utils.c:350
msgid "An organizer must be set."
msgstr "主催者をセットã—ã¦ä¸‹ã•ã„"
-#: ../calendar/gui/itip-utils.c:306
+#: ../calendar/gui/itip-utils.c:305
msgid "At least one attendee is necessary"
msgstr "最低一åã®å‡ºå¸­è€…ãŒå¿…è¦ã§ã™"
-#: ../calendar/gui/itip-utils.c:394 ../calendar/gui/itip-utils.c:503
+#: ../calendar/gui/itip-utils.c:393 ../calendar/gui/itip-utils.c:502
msgid "Event information"
msgstr "イベント情報"
-#: ../calendar/gui/itip-utils.c:396 ../calendar/gui/itip-utils.c:505
+#: ../calendar/gui/itip-utils.c:395 ../calendar/gui/itip-utils.c:504
msgid "Task information"
msgstr "タスク情報"
-#: ../calendar/gui/itip-utils.c:398 ../calendar/gui/itip-utils.c:507
+#: ../calendar/gui/itip-utils.c:397 ../calendar/gui/itip-utils.c:506
msgid "Journal information"
msgstr "ジャーナル情報"
-#: ../calendar/gui/itip-utils.c:400 ../calendar/gui/itip-utils.c:525
+#: ../calendar/gui/itip-utils.c:399 ../calendar/gui/itip-utils.c:524
msgid "Free/Busy information"
msgstr "予定ã®æœ‰ç„¡"
-#: ../calendar/gui/itip-utils.c:402
+#: ../calendar/gui/itip-utils.c:401
msgid "Calendar information"
msgstr "カレンダ情報"
-#: ../calendar/gui/itip-utils.c:438
+#: ../calendar/gui/itip-utils.c:437
msgid "Updated"
msgstr "更新済"
-#: ../calendar/gui/itip-utils.c:446
+#: ../calendar/gui/itip-utils.c:445
msgid "Refresh"
msgstr "リフレッシュ"
-#: ../calendar/gui/itip-utils.c:450
+#: ../calendar/gui/itip-utils.c:449
msgid "Counter-proposal"
msgstr "カウンタープロãƒãƒ¼ã‚¶ãƒ«"
-#: ../calendar/gui/itip-utils.c:521
+#: ../calendar/gui/itip-utils.c:520
#, c-format
msgid "Free/Busy information (%s to %s)"
msgstr "予定ã®æœ‰ç„¡ (%s ã‹ã‚‰ %s)"
-#: ../calendar/gui/itip-utils.c:531
+#: ../calendar/gui/itip-utils.c:530
msgid "iCalendar information"
msgstr "iCalendar 情報"
-#: ../calendar/gui/itip-utils.c:673
+#: ../calendar/gui/itip-utils.c:672
msgid "You must be an attendee of the event."
msgstr "イベントã®å‡ºå¸­ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
@@ -7530,28 +7551,19 @@ msgstr ""
"\n"
"Evolution ãŒãŠä½¿ã„ã®ãƒ•ã‚©ãƒ«ãƒ€ã‚’移行ã—ã¦ã„ã‚‹é–“ã€å°‘々ãŠå¾…ã¡ä¸‹ã•ã„..."
-#: ../calendar/gui/migration.c:381
-msgid "Birthdays & Anniversaries"
-msgstr "誕生日ã¨è¨˜å¿µæ—¥"
-
-#. Create the Webcal source group
-#: ../calendar/gui/migration.c:479 ../calendar/gui/migration.c:572
-msgid "On The Web"
-msgstr "ウェブ"
-
#. FIXME: set proper domain/code
-#: ../calendar/gui/migration.c:738 ../calendar/gui/migration.c:905
+#: ../calendar/gui/migration.c:745 ../calendar/gui/migration.c:912
msgid "Unable to migrate old settings from evolution/config.xmldb"
msgstr "${HOME}/evolution/config.xmldb ã‹ã‚‰å¤ã„設定を移行ã§ãã¾ã›ã‚“"
#. FIXME: domain/code
-#: ../calendar/gui/migration.c:767
+#: ../calendar/gui/migration.c:774
#, c-format
msgid "Unable to migrate calendar `%s'"
msgstr "カレンダ '%s' を移行ã§ãã¾ã›ã‚“"
#. FIXME: domain/code
-#: ../calendar/gui/migration.c:934
+#: ../calendar/gui/migration.c:941
#, c-format
msgid "Unable to migrate tasks `%s'"
msgstr "タスク '%s' を移行ã§ãã¾ã›ã‚“"
@@ -7779,74 +7791,74 @@ msgstr "å°åˆ·ãƒ—レビュー"
msgid "Print Item"
msgstr "アイテムã®å°åˆ·"
-#: ../calendar/gui/tasks-component.c:328
+#: ../calendar/gui/tasks-component.c:428
msgid "New Task List"
msgstr "æ–°ã—ã„タスク一覧"
-#: ../calendar/gui/tasks-component.c:404
+#: ../calendar/gui/tasks-component.c:504
#, c-format
msgid "%d task"
msgid_plural "%d tasks"
msgstr[0] "%d 個ã®ã‚¿ã‚¹ã‚¯"
msgstr[1] "%d 個ã®ã‚¿ã‚¹ã‚¯"
-#: ../calendar/gui/tasks-component.c:406 ../mail/mail-component.c:523
+#: ../calendar/gui/tasks-component.c:506 ../mail/mail-component.c:544
#, c-format
msgid ", %d selected"
msgid_plural ", %d selected"
msgstr[0] ", é¸æŠžæ¸ˆ %d 個"
msgstr[1] ", é¸æŠžæ¸ˆ %d 個"
-#: ../calendar/gui/tasks-component.c:453
+#: ../calendar/gui/tasks-component.c:553
msgid "Failed upgrading tasks."
msgstr "タスクã®ç§»è¡Œã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: ../calendar/gui/tasks-component.c:747
+#: ../calendar/gui/tasks-component.c:847
#, c-format
msgid "Unable to open the task list '%s' for creating events and meetings"
msgstr "イベントã¨ä¼šè­°ã®ä½œæˆã«å¿…è¦ãªã‚¿ã‚¹ã‚¯ä¸€è¦§ '%s' ã‚’é–‹ã‘ã¾ã›ã‚“"
-#: ../calendar/gui/tasks-component.c:762
+#: ../calendar/gui/tasks-component.c:862
msgid "There is no calendar available for creating tasks"
msgstr "タスクを作æˆã§ãるカレンダãŒã‚ã‚Šã¾ã›ã‚“"
-#: ../calendar/gui/tasks-component.c:856
+#: ../calendar/gui/tasks-component.c:956
msgid "Task Source Selector"
msgstr "タスクã®æ ¼ç´å ´æ‰€ã®é¸æŠž"
-#: ../calendar/gui/tasks-component.c:1039
+#: ../calendar/gui/tasks-component.c:1139
msgid "New task"
msgstr "æ–°è¦ã®ã‚¿ã‚¹ã‚¯"
-#: ../calendar/gui/tasks-component.c:1040
+#: ../calendar/gui/tasks-component.c:1140
msgid "_Task"
msgstr "タスク(_T)"
-#: ../calendar/gui/tasks-component.c:1041
+#: ../calendar/gui/tasks-component.c:1141
msgid "Create a new task"
msgstr "æ–°ã—ã„タスクを作æˆã—ã¾ã™"
-#: ../calendar/gui/tasks-component.c:1047
+#: ../calendar/gui/tasks-component.c:1147
msgid "New assigned task"
msgstr "æ–°ã—ã„タスクã®å‰²å½“ã¦"
-#: ../calendar/gui/tasks-component.c:1048
+#: ../calendar/gui/tasks-component.c:1148
msgid "Assigne_d Task"
msgstr "タスクã®å‰²å½“ã¦(_D)"
-#: ../calendar/gui/tasks-component.c:1049
+#: ../calendar/gui/tasks-component.c:1149
msgid "Create a new assigned task"
msgstr "æ–°ã—ã„タスクã®å‰²ã‚Šå½“ã¦ã‚’作æˆã—ã¾ã™"
-#: ../calendar/gui/tasks-component.c:1055
+#: ../calendar/gui/tasks-component.c:1155
msgid "New task list"
msgstr "æ–°ã—ã„タスク一覧"
-#: ../calendar/gui/tasks-component.c:1056
+#: ../calendar/gui/tasks-component.c:1156
msgid "Task l_ist"
msgstr "タスク一覧(_I)"
-#: ../calendar/gui/tasks-component.c:1057
+#: ../calendar/gui/tasks-component.c:1157
msgid "Create a new task list"
msgstr "æ–°ã—ã„タスク一覧を作æˆã—ã¾ã™"
@@ -9446,15 +9458,15 @@ msgstr "太平洋/ウォーリス"
msgid "Pacific/Yap"
msgstr "太平洋/ヤップ"
-#: ../composer/e-msg-composer-hdrs.c:519
+#: ../composer/e-msg-composer-hdrs.c:520
msgid "Posting destination"
msgstr "é€ä¿¡å…ˆã‚’指定ã—ã¾ã™"
-#: ../composer/e-msg-composer-hdrs.c:520
+#: ../composer/e-msg-composer-hdrs.c:521
msgid "Choose folders to post the message to."
msgstr "メッセージを投稿ã™ã‚‹ãƒ•ã‚©ãƒ«ãƒ€ã‚’é¸æŠžã—ã¦ä¸‹ã•ã„。"
-#: ../composer/e-msg-composer-hdrs.c:554
+#: ../composer/e-msg-composer-hdrs.c:555
msgid "Click here for the address book"
msgstr "ã“ã“をクリックã™ã‚‹ã¨ã‚¢ãƒ‰ãƒ¬ã‚¹å¸³ãŒè¡¨ç¤ºã•ã‚Œã¾ã™"
@@ -9465,45 +9477,45 @@ msgstr "ã“ã“をクリックã™ã‚‹ã¨ã‚¢ãƒ‰ãƒ¬ã‚¹å¸³ãŒè¡¨ç¤ºã•ã‚Œã¾ã™"
#. * because that causes from_changed to be called, which
#. * expects the reply_to fields to be initialized.
#.
-#: ../composer/e-msg-composer-hdrs.c:584
+#: ../composer/e-msg-composer-hdrs.c:585
msgid "_Reply-To:"
msgstr "返信先(_R):"
#.
#. * From
#.
-#: ../composer/e-msg-composer-hdrs.c:591
+#: ../composer/e-msg-composer-hdrs.c:592
msgid "Fr_om:"
msgstr "差出人(_O):"
#.
#. * Subject
#.
-#: ../composer/e-msg-composer-hdrs.c:598
+#: ../composer/e-msg-composer-hdrs.c:599
msgid "S_ubject:"
msgstr "件å(_U):"
-#: ../composer/e-msg-composer-hdrs.c:608
+#: ../composer/e-msg-composer-hdrs.c:609
msgid "_To:"
msgstr "宛先(_T):"
-#: ../composer/e-msg-composer-hdrs.c:609
+#: ../composer/e-msg-composer-hdrs.c:610
msgid "Enter the recipients of the message"
msgstr "メッセージã®å®›å…ˆã‚’入力ã—ã¾ã™"
-#: ../composer/e-msg-composer-hdrs.c:612
+#: ../composer/e-msg-composer-hdrs.c:613
msgid "_Cc:"
msgstr "Cc(_C):"
-#: ../composer/e-msg-composer-hdrs.c:613
+#: ../composer/e-msg-composer-hdrs.c:614
msgid "Enter the addresses that will receive a carbon copy of the message"
msgstr "メッセージã®ã‚«ãƒ¼ãƒœãƒ³ãƒ»ã‚³ãƒ”ー (CC) ã‚’å—ä¿¡ã™ã‚‹ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’入力ã—ã¾ã™"
-#: ../composer/e-msg-composer-hdrs.c:616
+#: ../composer/e-msg-composer-hdrs.c:617
msgid "_Bcc:"
msgstr "Bcc(_B):"
-#: ../composer/e-msg-composer-hdrs.c:617
+#: ../composer/e-msg-composer-hdrs.c:618
msgid ""
"Enter the addresses that will receive a carbon copy of the message without "
"appearing in the recipient list of the message."
@@ -9514,15 +9526,15 @@ msgstr ""
#.
#. * Post-To
#.
-#: ../composer/e-msg-composer-hdrs.c:624
+#: ../composer/e-msg-composer-hdrs.c:625
msgid "_Post To:"
msgstr "é€ä¿¡å…ˆ(_P):"
-#: ../composer/e-msg-composer-hdrs.c:629
+#: ../composer/e-msg-composer-hdrs.c:630
msgid "Click here to select folders to post to"
msgstr "<ã“ã“をクリックã—ã¦æŠ•ç¨¿ã™ã‚‹ãƒ•ã‚©ãƒ«ãƒ€ã‚’é¸æŠžã—ã¦ä¸‹ã•ã„>"
-#: ../composer/e-msg-composer-hdrs.c:635
+#: ../composer/e-msg-composer-hdrs.c:636
msgid "Post To:"
msgstr "é€ä¿¡å…ˆ:"
@@ -9562,8 +9574,8 @@ msgstr "タイトルãªã—ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸"
msgid "Open File"
msgstr "ファイルを開ã"
-#: ../composer/e-msg-composer.c:2001 ../mail/em-account-editor.c:578
-#: ../mail/em-account-editor.c:623 ../mail/em-account-editor.c:690
+#: ../composer/e-msg-composer.c:2001 ../mail/em-account-editor.c:588
+#: ../mail/em-account-editor.c:633 ../mail/em-account-editor.c:698
msgid "Autogenerated"
msgstr "自動生æˆ"
@@ -9576,7 +9588,7 @@ msgstr "ç½²å(_G):"
msgid "Compose a message"
msgstr "メッセージã®ä½œæˆ"
-#: ../composer/e-msg-composer.c:4541
+#: ../composer/e-msg-composer.c:4554
msgid ""
"<b>(The composer contains a non-text message body, which cannot be edited.)"
"<b>"
@@ -9746,7 +9758,7 @@ msgstr ""
"æ­£ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® gtkhtml 㨠libgtkhml ãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹ã‹ç¢ºèªã—ã¦ä¸‹"
"ã•ã„。"
-#: ../data/evolution.desktop.in.in.h:1 ../shell/main.c:520
+#: ../data/evolution.desktop.in.in.h:1 ../shell/main.c:521
msgid "Evolution"
msgstr "Evolution-2.2"
@@ -9877,14 +9889,6 @@ msgstr ""
msgid "Overwrite file?"
msgstr "ファイルを上書ãã—ã¾ã™ã‹ï¼Ÿ"
-#: ../e-util/e-passwords.c:472
-msgid "_Remember this password"
-msgstr "ã“ã®ãƒ‘スワードを記憶ã™ã‚‹(_R)"
-
-#: ../e-util/e-passwords.c:473
-msgid "_Remember this password for the remainder of this session"
-msgstr "ã“ã®ãƒ‘スワードをã“ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ç”¨ã«ä¿å­˜ã™ã‚‹(_R)"
-
#. strptime format of a weekday, a date and a time,
#. in 12-hour format, without seconds.
#. strftime format of a weekday, a date and a
@@ -10116,20 +10120,20 @@ msgid "Choose a file"
msgstr "ファイルã®é¸æŠž"
#: ../filter/filter-label.c:121 ../mail/em-filter-i18n.h:26
-#: ../mail/em-migrate.c:1011 ../mail/mail-config.c:75
+#: ../mail/em-migrate.c:1041 ../mail/mail-config.c:76
#: ../mail/mail-config.glade.h:90
msgid "Important"
msgstr "é‡è¦"
#. forest green
-#: ../filter/filter-label.c:124 ../mail/em-migrate.c:1014
-#: ../mail/mail-config.c:78 ../mail/mail-config.glade.h:140
+#: ../filter/filter-label.c:124 ../mail/em-migrate.c:1044
+#: ../mail/mail-config.c:79 ../mail/mail-config.glade.h:140
msgid "To Do"
msgstr "ToDo"
#. blue
-#: ../filter/filter-label.c:125 ../mail/em-migrate.c:1015
-#: ../mail/mail-config.c:79 ../mail/mail-config.glade.h:93
+#: ../filter/filter-label.c:125 ../mail/em-migrate.c:1045
+#: ../mail/mail-config.c:80 ../mail/mail-config.glade.h:93
msgid "Later"
msgstr "ä¿ç•™"
@@ -10253,7 +10257,7 @@ msgstr "ルールã®è¿½åŠ "
msgid "Edit Rule"
msgstr "ルールã®ç·¨é›†"
-#: ../filter/rule-editor.c:685
+#: ../filter/rule-editor.c:693
msgid "Rule name"
msgstr "ルールå"
@@ -10298,11 +10302,11 @@ msgstr "Evolution メール・コンãƒãƒ¼ã‚¶è¨­å®šã‚³ãƒ³ãƒˆãƒ­ãƒ¼ãƒ«"
msgid "Evolution Mail preferences control"
msgstr "Evolution メール設定コントロール"
-#: ../mail/GNOME_Evolution_Mail.server.in.in.h:11 ../mail/em-folder-view.c:471
+#: ../mail/GNOME_Evolution_Mail.server.in.in.h:11 ../mail/em-folder-view.c:469
#: ../mail/importers/elm-importer.c:418
#: ../mail/importers/netscape-importer.c:1902
-#: ../mail/importers/pine-importer.c:474 ../mail/mail-component.c:536
-#: ../mail/mail-component.c:587
+#: ../mail/importers/pine-importer.c:474 ../mail/mail-component.c:557
+#: ../mail/mail-component.c:608
msgid "Mail"
msgstr "メール"
@@ -10319,12 +10323,12 @@ msgstr "メールã®è¨­å®š"
msgid "_Mail"
msgstr "メール(_M)"
-#: ../mail/em-account-editor.c:377
+#: ../mail/em-account-editor.c:387
#, c-format
msgid "%s License Agreement"
msgstr "%s ã®ãƒ©ã‚¤ã‚»ãƒ³ã‚¹åŒæ„書"
-#: ../mail/em-account-editor.c:384
+#: ../mail/em-account-editor.c:394
#, c-format
msgid ""
"\n"
@@ -10337,47 +10341,67 @@ msgstr ""
"注æ„æ·±ã読んã§ã€åŒæ„ã™ã‚‹å ´åˆã¯\n"
"ãƒã‚§ãƒƒã‚¯ãƒ»ãƒœãƒƒã‚¯ã‚¹ã«ãƒã‚§ãƒƒã‚¯ã‚’入れã¦ä¸‹ã•ã„。\n"
-#: ../mail/em-account-editor.c:454 ../mail/em-filter-folder-element.c:237
+#: ../mail/em-account-editor.c:464 ../mail/em-filter-folder-element.c:237
#: ../mail/em-vfolder-rule.c:494
msgid "Select Folder"
msgstr "フォルダã®é¸æŠž"
-#: ../mail/em-account-editor.c:1817
+#: ../mail/em-account-editor.c:1661 ../mail/mail-config.glade.h:89
+msgid "Identity"
+msgstr "身元情報"
+
+#: ../mail/em-account-editor.c:1697 ../mail/mail-config.glade.h:114
+msgid "Receiving Email"
+msgstr "メールã®å—ä¿¡"
+
+#: ../mail/em-account-editor.c:1874
msgid "Automatically check for _new mail every"
msgstr "æ–°ç€ãƒ¡ãƒ¼ãƒ«ã‚’自動的ã«ãƒã‚§ãƒƒã‚¯ã™ã‚‹(_N)"
+#: ../mail/em-account-editor.c:2042 ../mail/mail-config.glade.h:124
+msgid "Sending Email"
+msgstr "メールã®é€ä¿¡"
+
+#: ../mail/em-account-editor.c:2086 ../mail/mail-config.glade.h:67
+msgid "Defaults"
+msgstr "デフォルト"
+
+#: ../mail/em-account-editor.c:2145 ../mail/mail-config.glade.h:119
+msgid "Security"
+msgstr "セキュリティ"
+
#. Most sections for this is auto-generated fromt the camel config
-#: ../mail/em-account-editor.c:2086 ../mail/em-account-editor.c:2164
+#: ../mail/em-account-editor.c:2182 ../mail/em-account-editor.c:2256
msgid "Receiving Options"
msgstr "返信オプション"
-#: ../mail/em-account-editor.c:2087 ../mail/em-account-editor.c:2165
+#: ../mail/em-account-editor.c:2183 ../mail/em-account-editor.c:2257
msgid "Checking for New Mail"
msgstr "æ–°ç€ãƒ¡ãƒ¼ãƒ«ã®ãƒã‚§ãƒƒã‚¯"
-#: ../mail/em-account-editor.c:2509 ../mail/mail-config.glade.h:33
+#: ../mail/em-account-editor.c:2581 ../mail/mail-config.glade.h:33
msgid "Account Editor"
msgstr "アカウント・エディタ"
-#: ../mail/em-account-editor.c:2509 ../mail/mail-config.glade.h:79
+#: ../mail/em-account-editor.c:2581 ../mail/mail-config.glade.h:79
msgid "Evolution Account Assistant"
msgstr "Evolution アカウント・アシスタント"
#. translators: default account indicator
-#: ../mail/em-account-prefs.c:412
+#: ../mail/em-account-prefs.c:428
msgid "[Default]"
msgstr "[デフォルト]"
-#: ../mail/em-account-prefs.c:466
+#: ../mail/em-account-prefs.c:482
msgid "Account name"
msgstr "アカウントå"
-#: ../mail/em-account-prefs.c:468
+#: ../mail/em-account-prefs.c:484
msgid "Protocol"
msgstr "プロトコル"
#: ../mail/em-composer-prefs.c:306 ../mail/em-composer-prefs.c:429
-#: ../mail/mail-config.c:934
+#: ../mail/mail-config.c:935
msgid "Unnamed"
msgstr "åå‰ãªã—"
@@ -10393,18 +10417,18 @@ msgstr "ç½²åスクリプトã®è¿½åŠ "
msgid "Signature(s)"
msgstr "ç½²å"
-#: ../mail/em-composer-utils.c:910
+#: ../mail/em-composer-utils.c:849
msgid "-------- Forwarded Message --------"
msgstr "-------- 転é€ã™ã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ --------"
-#: ../mail/em-composer-utils.c:1526
+#: ../mail/em-composer-utils.c:1459
msgid "an unknown sender"
msgstr "差出人ãŒä¸æ˜Ž"
#. Note to translators: this is the attribution string used when quoting messages.
#. * each ${Variable} gets replaced with a value. To see a full list of available
#. * variables, see em-composer-utils.c:1514
-#: ../mail/em-composer-utils.c:1573
+#: ../mail/em-composer-utils.c:1506
msgid ""
"On ${AbbrevWeekdayName}, ${Year}-${Month}-${Day} at ${24Hour}:${Minute} "
"${TimeZone}, ${Sender} wrote:"
@@ -10550,7 +10574,7 @@ msgstr "ジャンク"
msgid "Junk Test"
msgstr "ジャンクã®ãƒ†ã‚¹ãƒˆ"
-#: ../mail/em-filter-i18n.h:37 ../mail/em-folder-view.c:997
+#: ../mail/em-filter-i18n.h:37 ../mail/em-folder-view.c:992
#: ../widgets/misc/e-expander.c:189
msgid "Label"
msgstr "ラベル"
@@ -10659,7 +10683,7 @@ msgstr "ãŒæ¬¡ã§å§‹ã¾ã‚‹"
msgid "Stop Processing"
msgstr "読ã¿è¾¼ã¿ã‚’åœæ­¢ã™ã‚‹"
-#: ../mail/em-filter-i18n.h:65 ../mail/em-format-html.c:1533
+#: ../mail/em-filter-i18n.h:65 ../mail/em-format-html.c:1532
#: ../mail/em-format-quote.c:306 ../mail/em-format.c:853
#: ../mail/em-mailer-prefs.c:88 ../mail/message-list.etspec.h:13
#: ../mail/message-tag-followup.c:330
@@ -10706,8 +10730,8 @@ msgstr "<ã“ã“をクリックã—ã¦ãƒ•ã‚©ãƒ«ãƒ€ã‚’é¸æŠžã—ã¦ä¸‹ã•ã„>"
msgid "Create New Folder"
msgstr "æ–°è¦ãƒ•ã‚©ãƒ«ãƒ€ã®ä½œæˆ"
-#: ../mail/em-folder-selector.c:166 ../mail/em-folder-tree.c:2527
-#: ../mail/mail-component.c:739 ../plugins/shared-folder/install-shared.c:144
+#: ../mail/em-folder-selector.c:166 ../mail/em-folder-tree.c:2528
+#: ../mail/mail-component.c:770 ../plugins/shared-folder/install-shared.c:144
#: ../plugins/shared-folder/share-folder-common.c:345
msgid "Specify where to create the folder:"
msgstr "フォルダを作æˆã™ã‚‹å ´æ‰€ã‚’指定ã—ã¦ä¸‹ã•ã„:"
@@ -10730,20 +10754,20 @@ msgstr "仮想フォルダ"
msgid "UNMATCHED"
msgstr "該当ã—ãªã„ã‚‚ã®"
-#: ../mail/em-folder-tree-model.c:468 ../mail/mail-component.c:139
+#: ../mail/em-folder-tree-model.c:468 ../mail/mail-component.c:142
msgid "Drafts"
msgstr "è‰æ¡ˆ"
#. translators: standard local mailbox names
-#: ../mail/em-folder-tree-model.c:471 ../mail/mail-component.c:138
+#: ../mail/em-folder-tree-model.c:471 ../mail/mail-component.c:141
msgid "Inbox"
msgstr "å—ä¿¡ç®±"
-#: ../mail/em-folder-tree-model.c:474 ../mail/mail-component.c:140
+#: ../mail/em-folder-tree-model.c:474 ../mail/mail-component.c:143
msgid "Outbox"
msgstr "é€ä¿¡ãƒˆãƒ¬ã‚¤"
-#: ../mail/em-folder-tree-model.c:476 ../mail/mail-component.c:141
+#: ../mail/em-folder-tree-model.c:476 ../mail/mail-component.c:144
msgid "Sent"
msgstr "é€ä¿¡æ¸ˆã¿"
@@ -10751,253 +10775,240 @@ msgstr "é€ä¿¡æ¸ˆã¿"
msgid "Loading..."
msgstr "読ã¿è¾¼ã¿ä¸­..."
-#: ../mail/em-folder-tree.c:688
+#: ../mail/em-folder-tree.c:689
msgid "Mail Folder Tree"
msgstr "メール・フォルダã®ãƒ„リー"
-#: ../mail/em-folder-tree.c:921
+#: ../mail/em-folder-tree.c:922
#, c-format
msgid "Moving folder %s"
msgstr "フォルダ %s ã®ç§»å‹•ä¸­"
-#: ../mail/em-folder-tree.c:923
+#: ../mail/em-folder-tree.c:924
#, c-format
msgid "Copying folder %s"
msgstr "フォルダ %s ã®ã‚³ãƒ”ー中"
-#: ../mail/em-folder-tree.c:930 ../mail/message-list.c:1617
+#: ../mail/em-folder-tree.c:931 ../mail/message-list.c:1612
#, c-format
msgid "Moving messages into folder %s"
msgstr "フォルダ %s ã¸ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ç§»å‹•ä¸­"
-#: ../mail/em-folder-tree.c:932 ../mail/message-list.c:1619
+#: ../mail/em-folder-tree.c:933 ../mail/message-list.c:1614
#, c-format
msgid "Copying messages into folder %s"
msgstr "フォルダ %s ã¸ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ã‚³ãƒ”ー中"
-#: ../mail/em-folder-tree.c:948
+#: ../mail/em-folder-tree.c:949
msgid "Cannot drop message(s) into toplevel store"
msgstr "メッセージをトップレベルã®ä¸­ã«ç§»ã›ã¾ã›ã‚“"
-#: ../mail/em-folder-tree.c:1044 ../ui/evolution-mail-message.xml.h:106
+#: ../mail/em-folder-tree.c:1045 ../ui/evolution-mail-message.xml.h:106
msgid "_Copy to Folder"
msgstr "フォルダã¸ã‚³ãƒ”ー(_C)"
-#: ../mail/em-folder-tree.c:1045 ../ui/evolution-mail-message.xml.h:115
+#: ../mail/em-folder-tree.c:1046 ../ui/evolution-mail-message.xml.h:115
msgid "_Move to Folder"
msgstr "フォルダã¸ç§»å‹•(_M)"
-#: ../mail/em-folder-tree.c:1750 ../mail/mail-ops.c:1026
+#: ../mail/em-folder-tree.c:1751 ../mail/mail-ops.c:1051
#, c-format
msgid "Scanning folders in \"%s\""
msgstr "\"%s\" ã®ãƒ•ã‚©ãƒ«ãƒ€ã‚’走査中"
-#: ../mail/em-folder-tree.c:2023
+#: ../mail/em-folder-tree.c:2024
#, c-format
msgid "Copying `%s' to `%s'"
msgstr "'%s' ã‚’ '%s' ã¸ã‚³ãƒ”ー中"
-#: ../mail/em-folder-tree.c:2297 ../mail/em-folder-tree.c:2311
-#: ../mail/em-folder-view.c:860 ../mail/em-folder-view.c:875
+#: ../mail/em-folder-tree.c:2298 ../mail/em-folder-tree.c:2312
+#: ../mail/em-folder-view.c:862 ../mail/em-folder-view.c:877
#: ../mail/importers/evolution-mbox-importer.c:120
#: ../mail/importers/evolution-outlook-importer.c:134
msgid "Select folder"
msgstr "フォルダã®é¸æŠž"
-#: ../mail/em-folder-tree.c:2297 ../mail/em-folder-view.c:875
+#: ../mail/em-folder-tree.c:2298 ../mail/em-folder-view.c:877
msgid "C_opy"
msgstr "コピー(_O)"
-#: ../mail/em-folder-tree.c:2338
+#: ../mail/em-folder-tree.c:2339
#: ../plugins/shared-folder/share-folder-common.c:138
#, c-format
msgid "Creating folder `%s'"
msgstr "フォルダ '%s' ã®ä½œæˆä¸­"
-#: ../mail/em-folder-tree.c:2527 ../mail/mail-component.c:739
+#: ../mail/em-folder-tree.c:2528 ../mail/mail-component.c:770
#: ../plugins/shared-folder/install-shared.c:144
#: ../plugins/shared-folder/share-folder-common.c:345
msgid "Create folder"
msgstr "フォルダã®ä½œæˆ"
-#: ../mail/em-folder-tree.c:2720
+#: ../mail/em-folder-tree.c:2721
#, c-format
msgid "Rename the \"%s\" folder to:"
msgstr "フォルダ \"%s\" ã®å¤‰æ›´å…ˆ:"
-#: ../mail/em-folder-tree.c:2722
+#: ../mail/em-folder-tree.c:2723
msgid "Rename Folder"
msgstr "フォルダåã®å¤‰æ›´"
-#: ../mail/em-folder-tree.c:2728
+#: ../mail/em-folder-tree.c:2729
msgid "Folder names cannot contain '/'"
msgstr "フォルダåã«ã¯ '/' ã‚’å«ã‚ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。"
-#: ../mail/em-folder-tree.c:2802 ../ui/evolution-addressbook.xml.h:44
+#: ../mail/em-folder-tree.c:2803 ../ui/evolution-addressbook.xml.h:44
#: ../ui/evolution-mail-global.xml.h:17
#: ../ui/evolution-mail-messagedisplay.xml.h:8
#: ../ui/evolution-message-composer.xml.h:53 ../ui/evolution.xml.h:49
msgid "_View"
msgstr "表示(_V)"
-#: ../mail/em-folder-tree.c:2803
+#: ../mail/em-folder-tree.c:2804
msgid "Open in _New Window"
msgstr "æ–°ã—ã„ウィンドウã§é–‹ã(_N)"
-#: ../mail/em-folder-tree.c:2807
+#: ../mail/em-folder-tree.c:2808
msgid "_Copy..."
msgstr "コピー(_C)..."
-#: ../mail/em-folder-tree.c:2808
+#: ../mail/em-folder-tree.c:2809
msgid "_Move..."
msgstr "移動(_M)..."
#. FIXME: need to disable for nochildren folders
-#: ../mail/em-folder-tree.c:2812
+#: ../mail/em-folder-tree.c:2813
msgid "_New Folder..."
msgstr "æ–°ã—ã„フォルダ(_N)"
-#: ../mail/em-folder-tree.c:2815
+#: ../mail/em-folder-tree.c:2816
msgid "_Rename..."
msgstr "åå‰ã®å¤‰æ›´(_R)..."
-#: ../mail/em-folder-view.c:965 ../ui/evolution-mail-message.xml.h:109
-msgid "_Edit as New Message..."
-msgstr "æ–°è¦ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¨ã—ã¦ç·¨é›†(_E)..."
-
-#: ../mail/em-folder-view.c:967
-msgid "_Print"
-msgstr "å°åˆ·(_P)"
-
-#: ../mail/em-folder-view.c:970 ../ui/evolution-mail-message.xml.h:123
-msgid "_Reply to Sender"
-msgstr "差出人ã¸è¿”ä¿¡(_R)"
-
-#: ../mail/em-folder-view.c:971 ../mail/em-popup.c:497
-#: ../ui/evolution-mail-message.xml.h:88
-msgid "Reply to _List"
-msgstr "メーリング・リストã¸è¿”ä¿¡(_L)"
-
-#: ../mail/em-folder-view.c:972 ../mail/em-popup.c:498
+#: ../mail/em-folder-view.c:970 ../mail/em-popup.c:499
#: ../ui/evolution-mail-message.xml.h:87
msgid "Reply to _All"
msgstr "全員ã¸è¿”ä¿¡(_A)"
-#: ../mail/em-folder-view.c:973 ../mail/em-popup.c:500
+#: ../mail/em-folder-view.c:971 ../ui/evolution-mail-message.xml.h:123
+msgid "_Reply to Sender"
+msgstr "差出人ã¸è¿”ä¿¡(_R)"
+
+#: ../mail/em-folder-view.c:972 ../mail/em-popup.c:501
#: ../ui/evolution-mail-message.xml.h:110
msgid "_Forward"
msgstr "転é€(_F)"
-#: ../mail/em-folder-view.c:976
-msgid "Follo_w Up..."
-msgstr "フォロー・アップ(_W)..."
+#: ../mail/em-folder-view.c:975 ../ui/evolution-mail-message.xml.h:109
+msgid "_Edit as New Message..."
+msgstr "æ–°è¦ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¨ã—ã¦ç·¨é›†(_E)..."
#: ../mail/em-folder-view.c:977
-msgid "Fla_g Completed"
-msgstr "完了フラグã®ä»˜ä¸Ž(_G)"
-
-#: ../mail/em-folder-view.c:978
-msgid "Cl_ear Flag"
-msgstr "フラグã®è§£é™¤(_E)"
+msgid "_Print"
+msgstr "å°åˆ·(_P)"
-#: ../mail/em-folder-view.c:981 ../ui/evolution-mail-message.xml.h:50
-msgid "Mar_k as Read"
-msgstr "既読ã¨ã—ã¦ãƒžãƒ¼ã‚¯(_K)"
+#: ../mail/em-folder-view.c:981
+msgid "U_ndelete"
+msgstr "削除ã®å–り消ã—(_N)"
#: ../mail/em-folder-view.c:982
-msgid "Mark as _Unread"
-msgstr "未読ã¨ã—ã¦ãƒžãƒ¼ã‚¯(_U)"
+msgid "Mo_ve to Folder..."
+msgstr "フォルダã¸ç§»å‹•(_V)..."
+
+#: ../mail/em-folder-view.c:983 ../ui/evolution-addressbook.xml.h:32
+msgid "_Copy to Folder..."
+msgstr "フォルダã¸ã‚³ãƒ”ー(_C)..."
-#: ../mail/em-folder-view.c:983
+#: ../mail/em-folder-view.c:986
msgid "Mark as _Important"
msgstr "é‡è¦ã¨ã—ã¦ãƒžãƒ¼ã‚¯(_I)"
-#: ../mail/em-folder-view.c:984
+#: ../mail/em-folder-view.c:987
msgid "_Mark as Unimportant"
msgstr "é‡è¦ã§ãªã„ã¨ã—ã¦ãƒžãƒ¼ã‚¯(_M)"
-#: ../mail/em-folder-view.c:985 ../ui/evolution-mail-message.xml.h:54
+#: ../mail/em-folder-view.c:988 ../ui/evolution-mail-message.xml.h:54
msgid "Mark as _Junk"
msgstr "ジャンクã¨ã—ã¦ãƒžãƒ¼ã‚¯(_J)"
-#: ../mail/em-folder-view.c:986 ../ui/evolution-mail-message.xml.h:55
+#: ../mail/em-folder-view.c:989 ../ui/evolution-mail-message.xml.h:55
msgid "Mark as _Not Junk"
msgstr "ジャンクã§ã¯ãªã„ã¨ã—ã¦ãƒžãƒ¼ã‚¯(_N)"
#: ../mail/em-folder-view.c:990
-msgid "U_ndelete"
-msgstr "削除ã®å–り消ã—(_N)"
+msgid "Mark for Follo_w Up..."
+msgstr "フォロー・アップã¨ã—ã¦ãƒžãƒ¼ã‚¯(_W)..."
-#: ../mail/em-folder-view.c:993
-msgid "Mo_ve to Folder..."
-msgstr "フォルダã¸ç§»å‹•(_V)..."
+#: ../mail/em-folder-view.c:998
+msgid "Fla_g Completed"
+msgstr "完了フラグã®ä»˜ä¸Ž(_G)"
-#: ../mail/em-folder-view.c:994 ../ui/evolution-addressbook.xml.h:32
-msgid "_Copy to Folder..."
-msgstr "フォルダã¸ã‚³ãƒ”ー(_C)..."
+#: ../mail/em-folder-view.c:999
+msgid "Cl_ear Flag"
+msgstr "フラグã®è§£é™¤(_E)"
#: ../mail/em-folder-view.c:1002
-msgid "Add Sender to Address_book"
-msgstr "差出人をアドレス帳ã«è¿½åŠ "
-
-#: ../mail/em-folder-view.c:1005
-msgid "Appl_y Filters"
-msgstr "フィルタã®é©ç”¨(_Y)"
-
-#: ../mail/em-folder-view.c:1006
-msgid "F_ilter Junk"
-msgstr "ジャンク・フィルタã®é©ç”¨(_I)"
-
-#: ../mail/em-folder-view.c:1009
msgid "Crea_te Rule From Message"
msgstr "メッセージã‹ã‚‰ãƒ«ãƒ¼ãƒ«ã®ä½œæˆ(_T)"
-#: ../mail/em-folder-view.c:1010
+#: ../mail/em-folder-view.c:1003
msgid "vFolder on _Subject"
msgstr "件åã®ä»®æƒ³ãƒ•ã‚©ãƒ«ãƒ€(_S)"
-#: ../mail/em-folder-view.c:1011
+#: ../mail/em-folder-view.c:1004
msgid "vFolder on Se_nder"
msgstr "差出人ã®ä»®æƒ³ãƒ•ã‚©ãƒ«ãƒ€(_N)"
-#: ../mail/em-folder-view.c:1012
+#: ../mail/em-folder-view.c:1005
msgid "vFolder on _Recipients"
msgstr "宛先ã®ä»®æƒ³ãƒ•ã‚©ãƒ«ãƒ€(_R)"
-#: ../mail/em-folder-view.c:1013
+#: ../mail/em-folder-view.c:1006
msgid "vFolder on Mailing _List"
msgstr "メーリング・リストã®ä»®æƒ³ãƒ•ã‚©ãƒ«ãƒ€(_L)"
-#: ../mail/em-folder-view.c:1017
+#: ../mail/em-folder-view.c:1010
msgid "Filter on Sub_ject"
msgstr "件åã®ãƒ•ã‚£ãƒ«ã‚¿(_J)"
-#: ../mail/em-folder-view.c:1018
+#: ../mail/em-folder-view.c:1011
msgid "Filter on Sen_der"
msgstr "差出人ã®ãƒ•ã‚£ãƒ«ã‚¿(_D)"
-#: ../mail/em-folder-view.c:1019
+#: ../mail/em-folder-view.c:1012
msgid "Filter on Re_cipients"
msgstr "宛先ã®ãƒ•ã‚£ãƒ«ã‚¿(_C)"
-#: ../mail/em-folder-view.c:1020
+#: ../mail/em-folder-view.c:1013
msgid "Filter on _Mailing List"
msgstr "メーリング・リストã®ãƒ•ã‚£ãƒ«ã‚¿(_M)"
#. default charset used in mail view
-#: ../mail/em-folder-view.c:1797 ../mail/em-folder-view.c:1841
+#: ../mail/em-folder-view.c:1844 ../mail/em-folder-view.c:1888
msgid "Default"
msgstr "デフォルト"
-#: ../mail/em-folder-view.c:1940
+#: ../mail/em-folder-view.c:1987
msgid "Print Message"
msgstr "メッセージã®å°åˆ·"
-#: ../mail/em-folder-view.c:2229
+#: ../mail/em-folder-view.c:2295
msgid "_Copy Link Location"
msgstr "リンク先ã®ã‚³ãƒ”ー(_C)"
-#: ../mail/em-folder-view.c:2515
+#: ../mail/em-folder-view.c:2297
+msgid "Create _vFolder"
+msgstr "仮想フォルダã®ä½œæˆ(_V)"
+
+#: ../mail/em-folder-view.c:2298
+msgid "_From this Address"
+msgstr "ã“ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‹ã‚‰(_F)"
+
+#: ../mail/em-folder-view.c:2299
+msgid "_To this Address"
+msgstr "ã“ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã¸(_T)"
+
+#: ../mail/em-folder-view.c:2568
#, c-format
msgid "Click to mail %s"
msgstr "クリックã™ã‚‹ã¨ %s ã¸ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’作æˆã—ã¾ã™"
@@ -11211,28 +11222,28 @@ msgid "Bcc"
msgstr "Bcc"
#. pseudo-header
-#: ../mail/em-format-html.c:1537 ../mail/em-format-quote.c:315
+#: ../mail/em-format-html.c:1536 ../mail/em-format-quote.c:315
#: ../mail/em-mailer-prefs.c:986
msgid "Mailer"
msgstr "メーラー"
#. translators: strftime format for local time equivalent in Date header display, with day
-#: ../mail/em-format-html.c:1564
+#: ../mail/em-format-html.c:1563
msgid "<I> (%a, %R %Z)</I>"
msgstr "<I> (%R %a %Z)</I>"
#. translators: strftime format for local time equivalent in Date header display, without day
-#: ../mail/em-format-html.c:1567
+#: ../mail/em-format-html.c:1566
msgid "<I> (%R %Z)</I>"
msgstr "<I> (%R %Z)</I>"
-#: ../mail/em-format-html.c:1577 ../mail/em-format-quote.c:322
+#: ../mail/em-format-html.c:1576 ../mail/em-format-quote.c:322
#: ../mail/em-format.c:854 ../mail/em-mailer-prefs.c:89
#: ../mail/message-list.etspec.h:2
msgid "Date"
msgstr "日付"
-#: ../mail/em-format-html.c:1600 ../mail/em-format.c:855
+#: ../mail/em-format-html.c:1599 ../mail/em-format.c:855
#: ../mail/em-mailer-prefs.c:90
msgid "Newsgroups"
msgstr "ニュースグループ"
@@ -11266,7 +11277,7 @@ msgstr "ç½²åを検証ã™ã‚‹éš›ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ"
msgid "Unknown error verifying signature"
msgstr "ç½²åを検証ã™ã‚‹éš›ã«ä¸æ˜Žãªã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ"
-#: ../mail/em-junk-filter.c:110
+#: ../mail/em-junk-filter.c:111
msgid "Spamassassin (built-in)"
msgstr "Spamassassin (内蔵)"
@@ -11286,7 +11297,7 @@ msgstr "週ã«ä¸€åº¦"
msgid "Once per month"
msgstr "月ã«ä¸€åº¦"
-#: ../mail/em-migrate.c:1168
+#: ../mail/em-migrate.c:1198
msgid ""
"The location and hierarchy of the Evolution mailbox folders has changed "
"since Evolution 1.x.\n"
@@ -11298,47 +11309,47 @@ msgstr ""
"\n"
"Evolution ãŒãŠä½¿ã„ã®ãƒ•ã‚©ãƒ«ãƒ€ã‚’移行ã—ã¦ã„ã‚‹é–“ã€å°‘々ãŠå¾…ã¡ä¸‹ã•ã„..."
-#: ../mail/em-migrate.c:1602
+#: ../mail/em-migrate.c:1632
#, c-format
msgid "Unable to create new folder `%s': %s"
msgstr "æ–°ã—ã„フォルダ '%s' を作æˆã§ãã¾ã›ã‚“: %s"
-#: ../mail/em-migrate.c:1628
+#: ../mail/em-migrate.c:1658
#, c-format
msgid "Unable to copy folder `%s' to `%s': %s"
msgstr "フォルダ '%s' ã‚’ '%s' ã¸ã‚³ãƒ”ーã§ãã¾ã›ã‚“: %s"
-#: ../mail/em-migrate.c:1813
+#: ../mail/em-migrate.c:1843
#, c-format
msgid "Unable to scan for existing mailboxes at `%s': %s"
msgstr "'%s' ã«ã‚ã‚‹å—信箱をスキャンã§ãã¾ã›ã‚“: %s"
-#: ../mail/em-migrate.c:2017
+#: ../mail/em-migrate.c:2047
#, c-format
msgid "Unable to open old POP keep-on-server data `%s': %s"
msgstr "POP keep-on-server ã®ãƒ‡ãƒ¼ã‚¿ '%s' ã‚’é–‹ã‘ã¾ã›ã‚“: %s"
-#: ../mail/em-migrate.c:2031
+#: ../mail/em-migrate.c:2061
#, c-format
msgid "Unable to create POP3 keep-on-server data directory `%s': %s"
msgstr "POP3 keep-on-server ã®ãƒ‡ãƒ¼ã‚¿ãƒ»ãƒ•ã‚©ãƒ«ãƒ€ '%s' を作æˆã§ãã¾ã›ã‚“: %s"
-#: ../mail/em-migrate.c:2060
+#: ../mail/em-migrate.c:2090
#, c-format
msgid "Unable to copy POP3 keep-on-server data `%s': %s"
msgstr "POP3 keep-on-server ã®ãƒ‡ãƒ¼ã‚¿ '%s' をコピーã§ãã¾ã›ã‚“: %s"
-#: ../mail/em-migrate.c:2494 ../mail/em-migrate.c:2506
+#: ../mail/em-migrate.c:2561 ../mail/em-migrate.c:2573
#, c-format
msgid "Failed to create local mail storage `%s': %s"
msgstr "ローカルã®ãƒ¡ãƒ¼ãƒ«ãƒ»ãƒ•ã‚©ãƒ«ãƒ€ '%s' ã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸ: %s"
-#: ../mail/em-migrate.c:2657
+#: ../mail/em-migrate.c:2693
#, c-format
msgid "Unable to create local mail folders at `%s': %s"
msgstr "'%s' ã«ã‚るローカルã®ãƒ¡ãƒ¼ãƒ«ãƒ»ãƒ•ã‚©ãƒ«ãƒ€ã‚’作æˆã§ãã¾ã›ã‚“: %s"
-#: ../mail/em-migrate.c:2675
+#: ../mail/em-migrate.c:2711
msgid ""
"Unable to read settings from previous Evolution install, `evolution/config."
"xmldb' does not exist or is corrupt."
@@ -11346,36 +11357,40 @@ msgstr ""
"Evolution ã®ä»¥å‰ã®è¨­å®šã‚’読ã¿è¾¼ã‚€ã“ã¨ãŒã§ãã¾ã›ã‚“。'${HOME}/evolution/config."
"xmldb' ãŒå­˜åœ¨ã—ãªã„ã‹ãƒ‡ãƒ¼ã‚¿ãŒå£Šã‚Œã¦ã„ã¾ã™ã€‚"
-#: ../mail/em-popup.c:381
+#: ../mail/em-popup.c:382
msgid "Save As..."
msgstr "別åã§ä¿å­˜..."
-#: ../mail/em-popup.c:400
+#: ../mail/em-popup.c:401
#, c-format
msgid "untitled_image.%s"
msgstr "untitled_image.%s"
-#: ../mail/em-popup.c:494
+#: ../mail/em-popup.c:495
msgid "Set as _Background"
msgstr "å£ç´™ã«ã‚»ãƒƒãƒˆã™ã‚‹(_B)"
-#: ../mail/em-popup.c:496
+#: ../mail/em-popup.c:497
msgid "_Reply to sender"
msgstr "差出人ã¸è¿”ä¿¡(_R)"
-#: ../mail/em-popup.c:548
-msgid "_Open Link in Browser"
-msgstr "リンクをブラウザã§é–‹ã(_O)"
+#: ../mail/em-popup.c:498 ../ui/evolution-mail-message.xml.h:88
+msgid "Reply to _List"
+msgstr "メーリング・リストã¸è¿”ä¿¡(_L)"
#: ../mail/em-popup.c:549
-msgid "Se_nd message to..."
-msgstr "メッセージã®é€ä¿¡(_N)..."
+msgid "_Open Link in Browser"
+msgstr "リンクをブラウザã§é–‹ã(_O)"
#: ../mail/em-popup.c:550
+msgid "_Send New Message To..."
+msgstr "æ–°ã—ã„メッセージã®é€ä¿¡(_S)..."
+
+#: ../mail/em-popup.c:551
msgid "_Add to Addressbook"
msgstr "アドレス帳ã«è¿½åŠ (_A)"
-#: ../mail/em-popup.c:681
+#: ../mail/em-popup.c:666
#, c-format
msgid "Open in %s..."
msgstr "%s ã®ä¸­ã‚’é–‹ãã¾ã™..."
@@ -11409,20 +11424,20 @@ msgstr "ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’二度ã¨è¡¨ç¤ºã—ãªã„"
msgid "Filters"
msgstr "フィルタ"
-#: ../mail/em-utils.c:434
+#: ../mail/em-utils.c:436
msgid "message"
msgstr "メッセージ"
-#: ../mail/em-utils.c:543
+#: ../mail/em-utils.c:545
msgid "Save Message..."
msgstr "メッセージã®ä¿å­˜..."
-#: ../mail/em-utils.c:592
+#: ../mail/em-utils.c:594
msgid "Add address"
msgstr "ä½æ‰€ã®è¿½åŠ "
#. Drop filename for messages from a mailbox
-#: ../mail/em-utils.c:1055
+#: ../mail/em-utils.c:1073
#, c-format
msgid "Messages from %s"
msgstr "%s ã‹ã‚‰ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸"
@@ -12112,108 +12127,108 @@ msgstr ""
msgid "Pine"
msgstr "Pine"
-#: ../mail/mail-autofilter.c:74
+#: ../mail/mail-autofilter.c:75
#, c-format
msgid "Mail to %s"
msgstr "%s ã¸ãƒ¡ãƒ¼ãƒ«"
-#: ../mail/mail-autofilter.c:238
-#, c-format
-msgid "Subject is %s"
-msgstr "件å㯠%s ã§ã™"
-
-#: ../mail/mail-autofilter.c:254
+#: ../mail/mail-autofilter.c:239 ../mail/mail-autofilter.c:278
#, c-format
msgid "Mail from %s"
msgstr "%s ã‹ã‚‰ãƒ¡ãƒ¼ãƒ«"
-#: ../mail/mail-autofilter.c:273
+#: ../mail/mail-autofilter.c:262
+#, c-format
+msgid "Subject is %s"
+msgstr "件å㯠%s ã§ã™"
+
+#: ../mail/mail-autofilter.c:297
#, c-format
msgid "%s mailing list"
msgstr "%s メーリング・リスト"
-#: ../mail/mail-autofilter.c:328
+#: ../mail/mail-autofilter.c:366
msgid "Add Filter Rule"
msgstr "フィルタ・ルールã®è¿½åŠ "
-#: ../mail/mail-component.c:484
+#: ../mail/mail-component.c:505
#, c-format
msgid "%d deleted"
msgid_plural "%d deleted"
msgstr[0] "削除済 %d 通"
msgstr[1] "削除済 %d 通"
-#: ../mail/mail-component.c:486
+#: ../mail/mail-component.c:507
#, c-format
msgid "%d junk"
msgid_plural "%d junk"
msgstr[0] "ジャンク %d 通"
msgstr[1] "ジャンク %d 通"
-#: ../mail/mail-component.c:509
+#: ../mail/mail-component.c:530
#, c-format
msgid "%d draft"
msgid_plural "%d drafts"
msgstr[0] "è‰æ¡ˆ %d 通"
msgstr[1] "è‰æ¡ˆ %d 通"
-#: ../mail/mail-component.c:511
+#: ../mail/mail-component.c:532
#, c-format
msgid "%d sent"
msgid_plural "%d sent"
msgstr[0] "é€ä¿¡æ¸ˆ %d 通"
msgstr[1] "é€ä¿¡æ¸ˆ %d 通"
-#: ../mail/mail-component.c:513
+#: ../mail/mail-component.c:534
#, c-format
msgid "%d unsent"
msgid_plural "%d unsent"
msgstr[0] "未é€ä¿¡ %d 通"
msgstr[1] "未é€ä¿¡ %d 通"
-#: ../mail/mail-component.c:517
+#: ../mail/mail-component.c:538
#, c-format
msgid "%d total"
msgid_plural "%d total"
msgstr[0] "åˆè¨ˆ %d 通"
msgstr[1] "åˆè¨ˆ %d 通"
-#: ../mail/mail-component.c:519
+#: ../mail/mail-component.c:540
#, c-format
msgid ", %d unread"
msgid_plural ", %d unread"
msgstr[0] ", 未読 %d 通"
msgstr[1] ", 未読 %d 通"
-#: ../mail/mail-component.c:691
+#: ../mail/mail-component.c:722
msgid "New Mail Message"
msgstr "æ–°ã—ã„メッセージ"
-#: ../mail/mail-component.c:692
+#: ../mail/mail-component.c:723
msgid "_Mail Message"
msgstr "メッセージ(_M)"
-#: ../mail/mail-component.c:693
+#: ../mail/mail-component.c:724
msgid "Compose a new mail message"
msgstr "æ–°ã—ã„メッセージを作æˆã—ã¾ã™"
-#: ../mail/mail-component.c:699
+#: ../mail/mail-component.c:730
msgid "New Mail Folder"
msgstr "æ–°ã—ã„メール・フォルダ"
-#: ../mail/mail-component.c:700
+#: ../mail/mail-component.c:731
msgid "Mail _Folder"
msgstr "メールã®ãƒ•ã‚©ãƒ«ãƒ€(_F)"
-#: ../mail/mail-component.c:701
+#: ../mail/mail-component.c:732
msgid "Create a new mail folder"
msgstr "æ–°ã—ã„メール・フォルダを作æˆã—ã¾ã™"
-#: ../mail/mail-component.c:848
+#: ../mail/mail-component.c:879
msgid "Failed upgrading Mail settings or folders."
msgstr "メールã®è¨­å®šã¾ãŸã¯é–¢é€£ãƒ•ã‚©ãƒ«ãƒ€ã®ã‚¢ãƒƒãƒ—グレードã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: ../mail/mail-config.glade.h:1 ../mail/mail-dialogs.glade.h:5
+#: ../mail/mail-config.glade.h:1 ../mail/mail-dialogs.glade.h:1
msgid " "
msgstr " "
@@ -12463,10 +12478,6 @@ msgstr "デフォルト(_F)"
msgid "Default character e_ncoding:"
msgstr "デフォルトã®æ–‡å­—エンコード(_N): "
-#: ../mail/mail-config.glade.h:67
-msgid "Defaults"
-msgstr "デフォルト"
-
#: ../mail/mail-config.glade.h:69
msgid "Digitally _sign outgoing messages (by default)"
msgstr "é€ä¿¡ã™ã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã«ãƒ‡ã‚¸ã‚¿ãƒ«ç½²åã™ã‚‹ (デフォルト)(_S)"
@@ -12535,10 +12546,6 @@ msgstr "引用を強調表示ã™ã‚‹(_Q)"
msgid "I_nclude remote tests"
msgstr "リモートã®ãƒ†ã‚¹ãƒˆã‚‚å«ã‚ã‚‹(_N)"
-#: ../mail/mail-config.glade.h:89
-msgid "Identity"
-msgstr "身元情報"
-
#: ../mail/mail-config.glade.h:91
msgid "Inline"
msgstr "インラインã«ã™ã‚‹"
@@ -12623,10 +12630,6 @@ msgstr "ã“ã®ãƒ‘スワードを記憶ã™ã‚‹(_M)"
msgid "Re_ply-To:"
msgstr "返信先(_P):"
-#: ../mail/mail-config.glade.h:114
-msgid "Receiving Email"
-msgstr "メールã®å—ä¿¡"
-
#: ../mail/mail-config.glade.h:115
msgid "Remember _password"
msgstr "ã“ã®ãƒ‘スワードを記憶ã™ã‚‹(_P)"
@@ -12643,10 +12646,6 @@ msgstr "標準フォント(_T):"
msgid "Se_lect..."
msgstr "é¸æŠž(_L)..."
-#: ../mail/mail-config.glade.h:119
-msgid "Security"
-msgstr "セキュリティ"
-
#: ../mail/mail-config.glade.h:120
msgid "Select HTML fixed width font"
msgstr "HTML 表示ã®å›ºå®šå¹…フォントã®é¸æŠž"
@@ -12663,10 +12662,6 @@ msgstr "HtML å¯å¤‰å¹…フォントã®é¸æŠž"
msgid "Select HTML variable width font for printing"
msgstr "å°åˆ·æ™‚ã® HTML å¯å¤‰å¹…フォントã®é¸æŠž"
-#: ../mail/mail-config.glade.h:124
-msgid "Sending Email"
-msgstr "メールã®é€ä¿¡"
-
#: ../mail/mail-config.glade.h:125
msgid "Sending Mail"
msgstr "メールã®é€ä¿¡"
@@ -12836,114 +12831,104 @@ msgstr "色"
msgid "description"
msgstr "説明"
-#: ../mail/mail-dialogs.glade.h:1
-msgid ""
-"\n"
-" Please read carefully the license agreement displayed\n"
-" below and tick the check box for accepting it\n"
-msgstr ""
-"\n"
-"次ã«ç¤ºã™ãƒ©ã‚¤ã‚»ãƒ³ã‚¹åŒæ„書を注æ„æ·±ã読んã§ã€\n"
-"åŒæ„ã™ã‚‹å ´åˆã¯ãƒã‚§ãƒƒã‚¯ãƒ»ãƒœãƒƒã‚¯ã‚¹ã«ãƒã‚§ãƒƒã‚¯ã‚’入れã¦ä¸‹ã•ã„。\n"
-
-#: ../mail/mail-dialogs.glade.h:7
+#: ../mail/mail-dialogs.glade.h:3
msgid "<b>vFolder Sources</b>"
msgstr "<b>仮想フォルダã®ã‚½ãƒ¼ã‚¹</b>"
-#: ../mail/mail-dialogs.glade.h:8
+#: ../mail/mail-dialogs.glade.h:4
msgid "<span weight=\"bold\">Digital Signature</span>"
msgstr "<span weight=\"bold\">デジタル署å</span>"
-#: ../mail/mail-dialogs.glade.h:9
+#: ../mail/mail-dialogs.glade.h:5
msgid "<span weight=\"bold\">Encryption</span>"
msgstr "<span weight=\"bold\">æš—å·åŒ–</span>"
-#: ../mail/mail-dialogs.glade.h:10
+#: ../mail/mail-dialogs.glade.h:6
msgid "Case _Sensitive"
msgstr "大/å°æ–‡å­—を区別ã™ã‚‹(_S)"
-#: ../mail/mail-dialogs.glade.h:11 ../mail/message-tags.glade.h:2
+#: ../mail/mail-dialogs.glade.h:7 ../mail/message-tags.glade.h:2
msgid "Co_mpleted"
msgstr "完了ã—ãŸ(_M)"
-#: ../mail/mail-dialogs.glade.h:13
+#: ../mail/mail-dialogs.glade.h:9
msgid "F_ind:"
msgstr "検索(_I):"
-#: ../mail/mail-dialogs.glade.h:14
+#: ../mail/mail-dialogs.glade.h:10
msgid "Find in Message"
msgstr "メッセージã®æ¤œç´¢"
-#: ../mail/mail-dialogs.glade.h:15 ../mail/message-tag-followup.c:295
+#: ../mail/mail-dialogs.glade.h:11 ../mail/message-tag-followup.c:295
#: ../mail/message-tags.glade.h:3
msgid "Flag to Follow Up"
-msgstr "フォローアップã™ã‚‹ãƒ•ãƒ©ã‚°"
+msgstr "フォローアップã®ãƒ•ãƒ©ã‚°"
-#: ../mail/mail-dialogs.glade.h:16
+#: ../mail/mail-dialogs.glade.h:12
msgid "Folder Subscriptions"
msgstr "フォルダã®è³¼èª­"
-#: ../mail/mail-dialogs.glade.h:17
+#: ../mail/mail-dialogs.glade.h:13
msgid "License Agreement"
msgstr "ライセンスåŒæ„書"
-#: ../mail/mail-dialogs.glade.h:18
+#: ../mail/mail-dialogs.glade.h:14
msgid "None Selected"
msgstr "何もé¸æŠžã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: ../mail/mail-dialogs.glade.h:19
+#: ../mail/mail-dialogs.glade.h:15
msgid "S_erver:"
msgstr "サーãƒ(_E):"
-#: ../mail/mail-dialogs.glade.h:20
+#: ../mail/mail-dialogs.glade.h:16
msgid "Security Information"
msgstr "セキュリティ情報"
-#: ../mail/mail-dialogs.glade.h:22 ../mail/message-tags.glade.h:4
+#: ../mail/mail-dialogs.glade.h:18 ../mail/message-tags.glade.h:4
msgid ""
"The messages you have selected for follow up are listed below.\n"
"Please select a follow up action from the \"Flag\" menu."
msgstr ""
-"フォローアップã¨ã—ã¦æŒ‡å®šã—ãŸãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒä¸‹è¨˜ã«ä¸€è¦§åŒ–ã•ã‚Œã¦ã„ã¾ã™ã€‚\n"
-"\"フラグ\" メニューã‹ã‚‰ãƒ•ã‚©ãƒ­ãƒ¼ã‚¢ãƒƒãƒ—ã®å†…容をé¸æŠžã—ã¦ä¸‹ã•ã„。"
+"フォローアップã™ã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒä¸‹è¨˜ã«ä¸€è¦§åŒ–ã•ã‚Œã¦ã„ã¾ã™ã€‚\n"
+"\"フラグ\" ã‹ã‚‰ãƒ•ã‚©ãƒ­ãƒ¼ã‚¢ãƒƒãƒ—ã®ç¨®é¡žã‚’é¸æŠžã—ã¦ä¸‹ã•ã„。"
-#: ../mail/mail-dialogs.glade.h:24
+#: ../mail/mail-dialogs.glade.h:20
msgid "_Accept License"
msgstr "ライセンスをå—諾ã™ã‚‹(_A)"
-#: ../mail/mail-dialogs.glade.h:25 ../mail/message-tags.glade.h:6
+#: ../mail/mail-dialogs.glade.h:21 ../mail/message-tags.glade.h:6
msgid "_Due By:"
msgstr "期日(_D):"
-#: ../mail/mail-dialogs.glade.h:26 ../mail/message-tags.glade.h:7
+#: ../mail/mail-dialogs.glade.h:22 ../mail/message-tags.glade.h:7
msgid "_Flag:"
-msgstr "フラグ付ã(_F):"
+msgstr "フラグ(_F):"
-#: ../mail/mail-dialogs.glade.h:27
+#: ../mail/mail-dialogs.glade.h:23
msgid "_Subscribe"
msgstr "購読(_S)"
-#: ../mail/mail-dialogs.glade.h:28
+#: ../mail/mail-dialogs.glade.h:24
msgid "_Tick this to accept the license agreement"
msgstr "ライセンスåŒæ„書をå—諾ã™ã‚‹å ´åˆã¯ã“ã“ã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹(_T)"
-#: ../mail/mail-dialogs.glade.h:29
+#: ../mail/mail-dialogs.glade.h:25
msgid "_Unsubscribe"
msgstr "購読ã®åœæ­¢(_U)"
-#: ../mail/mail-dialogs.glade.h:30
+#: ../mail/mail-dialogs.glade.h:26
msgid "specific folders only"
msgstr "指定ã—ãŸãƒ•ã‚©ãƒ«ãƒ€ã ã‘"
-#: ../mail/mail-dialogs.glade.h:31
+#: ../mail/mail-dialogs.glade.h:27
msgid "with all active remote folders"
msgstr "有効ãªå…¨ã¦ã®ãƒªãƒ¢ãƒ¼ãƒˆãƒ»ãƒ•ã‚©ãƒ«ãƒ€"
-#: ../mail/mail-dialogs.glade.h:32
+#: ../mail/mail-dialogs.glade.h:28
msgid "with all local and active remote folders"
msgstr "å…¨ã¦ã®ãƒ­ãƒ¼ã‚«ãƒ«ãƒ»ãƒ•ã‚©ãƒ«ãƒ€ã¨æœ‰åŠ¹ãªãƒªãƒ¢ãƒ¼ãƒˆãƒ»ãƒ•ã‚©ãƒ«ãƒ€"
-#: ../mail/mail-dialogs.glade.h:33
+#: ../mail/mail-dialogs.glade.h:29
msgid "with all local folders"
msgstr "å…¨ã¦ã®ãƒ­ãƒ¼ã‚«ãƒ«ãƒ»ãƒ•ã‚©ãƒ«ãƒ€"
@@ -13568,7 +13553,7 @@ msgstr "フォルダã®ãƒ•ã‚£ãƒ«ã‚¿ãƒªãƒ³ã‚°ä¸­ã«"
msgid "Fetching Mail"
msgstr "メールã®åŒæœŸä¸­ã«"
-#: ../mail/mail-ops.c:542 ../mail/mail-ops.c:585
+#: ../mail/mail-ops.c:556 ../mail/mail-ops.c:598
#, c-format
msgid ""
"Failed to append to %s: %s\n"
@@ -13578,119 +13563,119 @@ msgstr ""
"ã‹ã‚ã‚Šã«ãƒ­ãƒ¼ã‚«ãƒ«ã® 'é€ä¿¡ç®±' ã¸è¿½åŠ ã—ã¾ã™ã€‚"
#. sending mail, filtering failed
-#: ../mail/mail-ops.c:564
+#: ../mail/mail-ops.c:577
#, c-format
msgid "Failed to apply outgoing filters: %s"
msgstr "出力フィルタã®é©ç”¨ã«å¤±æ•—ã—ã¾ã—ãŸ: %s"
-#: ../mail/mail-ops.c:602
+#: ../mail/mail-ops.c:615
#, c-format
msgid "Failed to append to local `Sent' folder: %s"
msgstr "ローカル㮠'é€ä¿¡ç®±' フォルダã¸ã®è¿½åŠ ã«å¤±æ•—ã—ã¾ã—ãŸ: %s"
-#: ../mail/mail-ops.c:702
+#: ../mail/mail-ops.c:727
#, c-format
msgid "Sending message %d of %d"
msgstr "メッセージ %d / %d 通をé€ä¿¡ä¸­"
-#: ../mail/mail-ops.c:727
+#: ../mail/mail-ops.c:752
#, c-format
msgid "Failed to send %d of %d messages"
msgstr "メッセージ %d / %d ã®é€ä¿¡ã«å¤±æ•—ã—ã¾ã—ãŸ"
-#: ../mail/mail-ops.c:729 ../mail/mail-send-recv.c:613
+#: ../mail/mail-ops.c:754 ../mail/mail-send-recv.c:613
msgid "Cancelled."
msgstr "キャンセルã—ã¾ã—ãŸ"
-#: ../mail/mail-ops.c:731
+#: ../mail/mail-ops.c:756
msgid "Complete."
msgstr "完了ã—ã¾ã—ãŸ"
-#: ../mail/mail-ops.c:828
+#: ../mail/mail-ops.c:853
msgid "Saving message to folder"
msgstr "フォルダã¸ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’ä¿å­˜ä¸­"
-#: ../mail/mail-ops.c:913
+#: ../mail/mail-ops.c:938
#, c-format
msgid "Moving messages to %s"
msgstr "%s ã¸ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’移動中"
-#: ../mail/mail-ops.c:913
+#: ../mail/mail-ops.c:938
#, c-format
msgid "Copying messages to %s"
msgstr "%s ã¸ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’コピー中"
-#: ../mail/mail-ops.c:1139
+#: ../mail/mail-ops.c:1164
msgid "Forwarded messages"
msgstr "転é€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸"
-#: ../mail/mail-ops.c:1182
+#: ../mail/mail-ops.c:1207
#, c-format
msgid "Opening folder %s"
msgstr "フォルダ %s をオープン中"
-#: ../mail/mail-ops.c:1254
+#: ../mail/mail-ops.c:1279
#, c-format
msgid "Opening store %s"
msgstr "ä¿å­˜ã•ã‚ŒãŸ %s をオープン中"
-#: ../mail/mail-ops.c:1332
+#: ../mail/mail-ops.c:1357
#, c-format
msgid "Removing folder %s"
msgstr "フォルダ %s ã®å‰Šé™¤ä¸­"
-#: ../mail/mail-ops.c:1426
+#: ../mail/mail-ops.c:1451
#, c-format
msgid "Storing folder '%s'"
msgstr "フォルダ '%s' ã®æ ¼ç´ä¸­"
-#: ../mail/mail-ops.c:1491
+#: ../mail/mail-ops.c:1516
#, c-format
msgid "Expunging and storing account '%s'"
msgstr "アカウント '%s' ã®å‰Šé™¤ã¨ä¿å­˜ä¸­"
-#: ../mail/mail-ops.c:1492
+#: ../mail/mail-ops.c:1517
#, c-format
msgid "Storing account '%s'"
msgstr "アカウント '%s' ã®æ ¼ç´ä¸­"
-#: ../mail/mail-ops.c:1547
+#: ../mail/mail-ops.c:1572
msgid "Refreshing folder"
msgstr "フォルダã®æ›´æ–°ä¸­"
-#: ../mail/mail-ops.c:1583 ../mail/mail-ops.c:1634
+#: ../mail/mail-ops.c:1608 ../mail/mail-ops.c:1659
msgid "Expunging folder"
msgstr "フォルダã®æŠ¹æ¶ˆä¸­"
-#: ../mail/mail-ops.c:1631
+#: ../mail/mail-ops.c:1656
#, c-format
msgid "Emptying trash in '%s'"
msgstr "'%s' ã«ã‚るゴミ箱ã®ã‚¯ãƒªã‚¢ä¸­"
-#: ../mail/mail-ops.c:1632
+#: ../mail/mail-ops.c:1657
msgid "Local Folders"
msgstr "ローカル・フォルダ"
-#: ../mail/mail-ops.c:1715
+#: ../mail/mail-ops.c:1740
#, c-format
msgid "Retrieving message %s"
msgstr "メッセージ %s ã‚’å–得中"
-#: ../mail/mail-ops.c:1787
+#: ../mail/mail-ops.c:1812
#, c-format
msgid "Retrieving %d message"
msgid_plural "Retrieving %d messages"
msgstr[0] "メッセージ %d 通ã®å—信中"
msgstr[1] "メッセージ %d 通ã®å—信中"
-#: ../mail/mail-ops.c:1873
+#: ../mail/mail-ops.c:1898
#, c-format
msgid "Saving %d message"
msgid_plural "Saving %d messsages"
msgstr[0] "メッセージ %d 通ã®ä¿å­˜ä¸­"
msgstr[1] "メッセージ %d 通ã®ä¿å­˜ä¸­"
-#: ../mail/mail-ops.c:1923
+#: ../mail/mail-ops.c:1948
#, c-format
msgid ""
"Unable to create output file: %s\n"
@@ -13699,7 +13684,7 @@ msgstr ""
"出力ファイルを生æˆã§ãã¾ã›ã‚“: %s\n"
" %s"
-#: ../mail/mail-ops.c:1951
+#: ../mail/mail-ops.c:1976
#, c-format
msgid ""
"Error saving messages to: %s:\n"
@@ -13708,11 +13693,11 @@ msgstr ""
"ファイルã®ä¿å­˜ä¸­ã«ã‚¨ãƒ©ãƒ¼: %s:\n"
" %s"
-#: ../mail/mail-ops.c:2022
+#: ../mail/mail-ops.c:2047
msgid "Saving attachment"
msgstr "添付ã—ãŸå†…容ã®ä¿å­˜ä¸­"
-#: ../mail/mail-ops.c:2034
+#: ../mail/mail-ops.c:2059
#, c-format
msgid ""
"Cannot create output file: %s:\n"
@@ -13721,22 +13706,22 @@ msgstr ""
"出力ファイルを生æˆã§ãã¾ã›ã‚“: %s:\n"
" %s"
-#: ../mail/mail-ops.c:2044
+#: ../mail/mail-ops.c:2069
#, c-format
msgid "Could not write data: %s"
msgstr "データを書ã出ã›ã¾ã›ã‚“ã§ã—ãŸ: %s"
-#: ../mail/mail-ops.c:2194
+#: ../mail/mail-ops.c:2219
#, c-format
msgid "Disconnecting from %s"
msgstr "%s ã‹ã‚‰ã®æŽ¥ç¶šã¯ã‚ã‚Šã¾ã›ã‚“"
-#: ../mail/mail-ops.c:2194
+#: ../mail/mail-ops.c:2219
#, c-format
msgid "Reconnecting to %s"
msgstr "%s ã¸å†æŽ¥ç¶š"
-#: ../mail/mail-ops.c:2310
+#: ../mail/mail-ops.c:2335
msgid "Checking Service"
msgstr "サービスã®ç¢ºèª"
@@ -13811,16 +13796,16 @@ msgstr "スプール用フォルダ '%s' を生æˆã§ãã¾ã›ã‚“ã§ã—ãŸ: %s"
msgid "Trying to movemail a non-mbox source `%s'"
msgstr "mbox å½¢å¼ã§ã¯ãªã„ソース '%s' ã®ç§»å‹•ã‚’試ã¿ã¾ã™"
-#: ../mail/mail-tools.c:277
+#: ../mail/mail-tools.c:241
#, c-format
msgid "Forwarded message - %s"
msgstr "転é€ã•ã‚ŒãŸãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ - %s"
-#: ../mail/mail-tools.c:279
+#: ../mail/mail-tools.c:243
msgid "Forwarded message"
msgstr "転é€ã•ã‚ŒãŸãƒ¡ãƒƒã‚»ãƒ¼ã‚¸"
-#: ../mail/mail-tools.c:320
+#: ../mail/mail-tools.c:283
#, c-format
msgid "Invalid folder: `%s'"
msgstr "ä¸æ­£ãªãƒ•ã‚©ãƒ«ãƒ€: '%s'"
@@ -13848,69 +13833,69 @@ msgstr "仮想フォルダã®ç·¨é›†"
msgid "New vFolder"
msgstr "æ–°ã—ã„仮想フォルダ"
-#: ../mail/message-list.c:999
+#: ../mail/message-list.c:995
msgid "Unseen"
msgstr "未読"
-#: ../mail/message-list.c:1000
+#: ../mail/message-list.c:996
msgid "Seen"
msgstr "既読"
-#: ../mail/message-list.c:1001
+#: ../mail/message-list.c:997
msgid "Answered"
msgstr "返答済ã¿"
-#: ../mail/message-list.c:1002
+#: ../mail/message-list.c:998
msgid "Multiple Unseen Messages"
msgstr "複数ã®æœªèª­ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸"
-#: ../mail/message-list.c:1003
+#: ../mail/message-list.c:999
msgid "Multiple Messages"
msgstr "複数ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸"
-#: ../mail/message-list.c:1007
+#: ../mail/message-list.c:1003
msgid "Lowest"
msgstr "最も低ã„"
-#: ../mail/message-list.c:1008
+#: ../mail/message-list.c:1004
msgid "Lower"
msgstr "低ã„"
-#: ../mail/message-list.c:1012
+#: ../mail/message-list.c:1008
msgid "Higher"
msgstr "高ã„"
-#: ../mail/message-list.c:1013
+#: ../mail/message-list.c:1009
msgid "Highest"
msgstr "最も高ã„"
-#: ../mail/message-list.c:1341
+#: ../mail/message-list.c:1337
msgid "?"
msgstr "?"
#. strftime format of a time,
#. in 12-hour format, without seconds.
-#: ../mail/message-list.c:1348 ../plugins/itip-formatter/itip-view.c:189
+#: ../mail/message-list.c:1344 ../plugins/itip-formatter/itip-view.c:189
msgid "Today %l:%M %p"
msgstr "今日㮠%p %l時%M分"
-#: ../mail/message-list.c:1357
+#: ../mail/message-list.c:1353
msgid "Yesterday %l:%M %p"
msgstr "昨日㮠%p %l時%M分"
-#: ../mail/message-list.c:1369
+#: ../mail/message-list.c:1365
msgid "%a %l:%M %p"
msgstr "%p %l時%M分 (%a)"
-#: ../mail/message-list.c:1377
+#: ../mail/message-list.c:1373
msgid "%b %d %l:%M %p"
msgstr "%B%e日 %p %l時%M分"
-#: ../mail/message-list.c:1379
+#: ../mail/message-list.c:1375
msgid "%b %d %Y"
msgstr "%Yå¹´ %B%eæ—¥"
-#: ../mail/message-list.c:2046
+#: ../mail/message-list.c:2041
msgid "Message List"
msgstr "メッセージ一覧"
@@ -13928,11 +13913,11 @@ msgstr "フラグã®çŠ¶æ…‹"
#: ../mail/message-list.etspec.h:5
msgid "Flagged"
-msgstr "フラグ付ã"
+msgstr "フラグ"
#: ../mail/message-list.etspec.h:6
msgid "Follow Up Flag"
-msgstr "フラグã®ãƒ•ã‚©ãƒ­ãƒ¼ã‚¢ãƒƒãƒ—"
+msgstr "フォローアップã®ãƒ•ãƒ©ã‚°"
#: ../mail/message-list.etspec.h:8
msgid "Original Location"
@@ -13956,7 +13941,7 @@ msgstr "転é€ã—ãªã„"
#: ../mail/message-tag-followup.c:76
msgid "Follow-Up"
-msgstr "フローアップ"
+msgstr "フローアップã™ã‚‹"
#: ../mail/message-tag-followup.c:77
msgid "For Your Information"
@@ -13964,7 +13949,7 @@ msgstr "F.Y.I"
#: ../mail/message-tag-followup.c:78 ../ui/evolution-mail-message.xml.h:42
msgid "Forward"
-msgstr "転é€"
+msgstr "転é€ã™ã‚‹"
#: ../mail/message-tag-followup.c:79
msgid "No Response Necessary"
@@ -13972,15 +13957,15 @@ msgstr "返信ã®å¿…è¦ãªã—"
#: ../mail/message-tag-followup.c:81 ../ui/evolution-mail-message.xml.h:85
msgid "Reply"
-msgstr "返信"
+msgstr "返信ã™ã‚‹"
#: ../mail/message-tag-followup.c:82 ../ui/evolution-mail-message.xml.h:86
msgid "Reply to All"
-msgstr "全員ã¸è¿”ä¿¡"
+msgstr "全員ã¸è¿”ä¿¡ã™ã‚‹"
#: ../mail/message-tag-followup.c:83
msgid "Review"
-msgstr "レビュー"
+msgstr "レビューã™ã‚‹"
#: ../mail/searchtypes.xml.h:1
msgid "Body contains"
@@ -14109,10 +14094,6 @@ msgstr "天気: 快晴"
msgid "Weather: Thunderstorms"
msgstr "天気: 雷雨"
-#: ../plugins/calendar-weather/calendar-weather.c:100
-msgid "Weather"
-msgstr "天気"
-
#: ../plugins/calendar-weather/calendar-weather.c:268
msgid "Select a location"
msgstr "場所ã®é¸æŠž"
@@ -14138,12 +14119,12 @@ msgid "Mark as default folder"
msgstr "デフォルトã®ãƒ•ã‚©ãƒ«ãƒ€ã«ã—ã¾ã™"
#. i18n: "Secure Password Authentication" is an Outlookism
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:53
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:59
msgid "Secure Password"
msgstr "セキュアãªãƒ‘スワード"
#. i18n: "NTLM" probably doesn't translate
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:56
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:62
msgid ""
"This option will connect to the Exchange server using secure password (NTLM) "
"authentication."
@@ -14151,11 +14132,11 @@ msgstr ""
"セキュアãªãƒ‘スワード (NTLM) èªè¨¼ã‚’用ã„㦠Exchange サーãƒã¨æŽ¥ç¶šã™ã‚‹ã‚ªãƒ—ション"
"ã§ã™ã€‚"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:64
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:70
msgid "Plaintext Password"
msgstr "プレーンテキストã®ãƒ‘スワード"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:66
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:72
msgid ""
"This option will connect to the Exchange server using standard plaintext "
"password authentication."
@@ -14164,7 +14145,7 @@ msgstr ""
"プションã§ã™ã€‚"
#. Description section
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:113
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:193
msgid ""
"The message specified below will be automatically sent to \n"
"each person who sends mail to you while you are out of the office."
@@ -14172,37 +14153,39 @@ msgstr ""
"以下ã§æŒ‡å®šã—ãŸãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯ã€ã‚ãªãŸãŒå¤–出ã™ã‚‹ã¨ã€\n"
"メールをé€ä¿¡ã—ã¦ããŸäººé”ã«è‡ªå‹•çš„ã«é€ä»˜ã•ã‚Œã¾ã™ã€‚"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:140
-msgid "I am in the office"
-msgstr "ç¾åœ¨ã€ç§ã¯åœ¨å¸­ä¸­ã§ã™"
-
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:154
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:221
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:231
msgid "I am out of the office"
msgstr "ç¾åœ¨ã€ç§ã¯å¤–出中ã§ã™"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:168
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:224
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:228
+msgid "I am in the office"
+msgstr "ç¾åœ¨ã€ç§ã¯åœ¨å¸­ä¸­ã§ã™"
+
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:257
msgid "Out of office Message:"
msgstr "外出中ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸:"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:194
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:302
msgid "Exchange Settings"
msgstr "Exchange ã®è¨­å®š"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:332
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:448
#: ../plugins/exchange-account-setup/exchange-ask-password.c:200
msgid "_OWA Url:"
msgstr "OWA URI(_O):"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:340
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:456
#: ../plugins/exchange-account-setup/exchange-ask-password.c:193
msgid "A_uthenticate"
msgstr "èªè¨¼(_U)"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:457
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:664
msgid "Authentication Type"
msgstr "èªè¨¼ã®ç¨®é¡ž"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:471
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:678
msgid "Ch_eck for Supported Types"
msgstr "サãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹ã‹ãƒã‚§ãƒƒã‚¯ã™ã‚‹(_E)"
@@ -14826,7 +14809,7 @@ msgstr "数値ã®ã‚«ãƒ—セル化:"
msgid "Comma separated value format (.csv)"
msgstr "カンマã§åŒºåˆ‡ã£ãŸå½¢å¼ (.csv)"
-#: ../plugins/save-calendar/ical-format.c:120
+#: ../plugins/save-calendar/ical-format.c:136
msgid "iCalendar format (.ics)"
msgstr "iCalendar å½¢å¼ (.ics)"
@@ -14834,12 +14817,12 @@ msgstr "iCalendar å½¢å¼ (.ics)"
msgid "RDF format (.rdf)"
msgstr "RDF å½¢å¼ (.rdf)"
-#: ../plugins/save-calendar/save-calendar.c:172
-#: ../plugins/save-calendar/save-calendar.c:182
+#: ../plugins/save-calendar/save-calendar.c:171
+#: ../plugins/save-calendar/save-calendar.c:181
msgid "Select destination file"
msgstr "ä¿å­˜å…ˆã®é¸æŠž"
-#: ../plugins/save-calendar/save-calendar.c:217
+#: ../plugins/save-calendar/save-calendar.c:216
#, c-format
msgid ""
"The suggested filename extension of this filetype (%s) is unused in the "
@@ -14925,7 +14908,7 @@ msgstr "ユーザ"
msgid "Enter the users and set permissions"
msgstr "ユーザを入力ã—ã¦æ¨©é™ã‚’設定ã—ã¦ä¸‹ã•ã„"
-#: ../plugins/shared-folder/share-folder-common.c:401
+#: ../plugins/shared-folder/share-folder-common.c:403
msgid "Sharing"
msgstr "共有"
@@ -14987,7 +14970,7 @@ msgstr "プリンタã®è¨­å®š"
msgid "Skip development warning dialog"
msgstr "開発版ã§ã‚ã‚‹ã“ã¨ã‚’警告ã™ã‚‹ãƒ€ã‚¤ã‚¢ãƒ­ã‚°ã‚’スキップã™ã‚‹ã‹ã©ã†ã‹"
-#: ../shell/apps_evolution_shell.schemas.in.in.h:11 ../shell/main.c:475
+#: ../shell/apps_evolution_shell.schemas.in.in.h:11 ../shell/main.c:476
msgid "Start in offline mode"
msgstr "オフライン・モードã§èµ·å‹•ã™ã‚‹"
@@ -15255,28 +15238,28 @@ msgstr "フォルダåã«ã¯æ–‡å­— \"#\" ã‚’å«ã‚ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“ã€
msgid "'.' and '..' are reserved folder names."
msgstr "'.' 㨠'..' ã¯ãƒ•ã‚©ãƒ«ãƒ€åã¨ã—ã¦äºˆç´„済ã¿ã§ã™ã€‚"
-#: ../shell/e-shell-window-commands.c:67
+#: ../shell/e-shell-window-commands.c:69
msgid "The GNOME Pilot tools do not appear to be installed on this system."
msgstr ""
"ã“ã®ã‚·ã‚¹ãƒ†ãƒ ä¸Šã« GNOME パイロット・ツールãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ãªã„よã†ã§ã™ã€‚"
-#: ../shell/e-shell-window-commands.c:75
+#: ../shell/e-shell-window-commands.c:77
#, c-format
msgid "Error executing %s."
msgstr "%s 実行中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
-#: ../shell/e-shell-window-commands.c:124
+#: ../shell/e-shell-window-commands.c:126
msgid "Bug buddy is not installed."
msgstr "Bug buddy ãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
-#: ../shell/e-shell-window-commands.c:132
+#: ../shell/e-shell-window-commands.c:134
msgid "Bug buddy could not be run."
msgstr "Bug buddy を実行ã§ãã¾ã›ã‚“ã§ã—ãŸ"
#. The translator-credits string is for translators to list
#. * per language credits for translation, displayed in the
#. * about box
-#: ../shell/e-shell-window-commands.c:426
+#: ../shell/e-shell-window-commands.c:501
msgid "translator-credits"
msgstr ""
"相花 毅 <aihana@gnome.gr.jp>\n"
@@ -15285,19 +15268,19 @@ msgstr ""
"Takuo KITAME <kitame@debian.org>\n"
"日本GNOMEユーザー会 <http://www.gnome.gr.jp>"
-#: ../shell/e-shell-window-commands.c:440
+#: ../shell/e-shell-window-commands.c:515
msgid "Groupware Suite"
msgstr "グループウェア・スイートã§ã™ã€‚"
-#: ../shell/e-shell-window-commands.c:681
+#: ../shell/e-shell-window-commands.c:742
msgid "_Work Online"
msgstr "オンラインã§å‹•ä½œ(_W)"
-#: ../shell/e-shell-window-commands.c:694 ../ui/evolution.xml.h:51
+#: ../shell/e-shell-window-commands.c:755 ../ui/evolution.xml.h:51
msgid "_Work Offline"
msgstr "オフラインã§å‹•ä½œ(_W)"
-#: ../shell/e-shell-window-commands.c:707 ../ui/evolution.xml.h:34
+#: ../shell/e-shell-window-commands.c:768 ../ui/evolution.xml.h:34
msgid "Work Offline"
msgstr "オフラインã§å‹•ä½œ"
@@ -15317,37 +15300,37 @@ msgstr ""
"ç¾åœ¨ Evolution ã¯ã‚ªãƒ•ãƒ©ã‚¤ãƒ³ã§ã™ (オンラインã«ã™ã‚‹å ´åˆã¯ã“ã®ãƒœã‚¿ãƒ³ã‚’クリックã—"
"ã¦ä¸‹ã•ã„)"
-#: ../shell/e-shell-window.c:708
+#: ../shell/e-shell-window.c:713
#, c-format
msgid "Switch to %s"
msgstr "\"%s\" ã¸åˆ‡ã‚Šæ›¿ãˆã¾ã™"
-#: ../shell/e-shell.c:597
+#: ../shell/e-shell.c:598
msgid "Uknown system error."
msgstr "特定ã§ããªã„システム・エラーã§ã™ã€‚"
-#: ../shell/e-shell.c:805 ../shell/e-shell.c:806
+#: ../shell/e-shell.c:800 ../shell/e-shell.c:801
#, c-format
msgid "%ld KB"
msgstr "%ld Kãƒã‚¤ãƒˆ"
-#: ../shell/e-shell.c:1249 ../widgets/misc/e-cell-date-edit.c:256
+#: ../shell/e-shell.c:1254 ../widgets/misc/e-cell-date-edit.c:256
msgid "OK"
msgstr "OK"
-#: ../shell/e-shell.c:1251
+#: ../shell/e-shell.c:1256
msgid "Invalid arguments"
msgstr "ä¸æ­£ãªå¼•æ•°"
-#: ../shell/e-shell.c:1253
+#: ../shell/e-shell.c:1258
msgid "Cannot register on OAF"
msgstr "OAF ã«ç™»éŒ²ã§ãã¾ã›ã‚“"
-#: ../shell/e-shell.c:1255
+#: ../shell/e-shell.c:1260
msgid "Configuration Database not found"
msgstr "データベースã®è¨­å®šãŒã‚ã‚Šã¾ã›ã‚“"
-#: ../shell/e-shell.c:1257
+#: ../shell/e-shell.c:1262
msgid "Generic error"
msgstr "一般的ãªã‚¨ãƒ©ãƒ¼"
@@ -15466,7 +15449,7 @@ msgid "Evolution can import data from the following files:"
msgstr "Evolution ã¯ä»¥ä¸‹ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‹ã‚‰ãƒ‡ãƒ¼ã‚¿å–è¾¼ã¿ãŒå¯èƒ½ã§ã™:"
#. Preview/Alpha/Beta version warning message
-#: ../shell/main.c:237
+#: ../shell/main.c:238
#, no-c-format
msgid ""
"Hi. Thanks for taking the time to download this preview release\n"
@@ -15501,7 +15484,7 @@ msgstr ""
"ç§ãŸã¡ã®æ¿€å‹™ã®çµæžœã«æº€è¶³ã—ã¦ãれるã“ã¨ã‚’願ã„ã€\n"
"ãã—ã¦ã‚ãªãŸã®è²¢çŒ®ã‚’熱心ã«å¾…ã£ã¦ã„ã¾ã™ï¼\n"
-#: ../shell/main.c:261
+#: ../shell/main.c:262
msgid ""
"Thanks\n"
"The Evolution Team\n"
@@ -15509,39 +15492,39 @@ msgstr ""
"æ„Ÿè¬ã—ã¾ã™ã€‚\n"
"Evolution 開発ãƒãƒ¼ãƒ \n"
-#: ../shell/main.c:268
+#: ../shell/main.c:269
msgid "Don't tell me again"
msgstr "ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’二度ã¨è¡¨ç¤ºã—ãªã„"
-#: ../shell/main.c:473
+#: ../shell/main.c:474
msgid "Start Evolution activating the specified component"
msgstr "指定ã—ãŸã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã‚’有効ã«ã—㦠Evolution ã‚’èµ·å‹•ã™ã‚‹"
-#: ../shell/main.c:477
+#: ../shell/main.c:478
msgid "Start in online mode"
msgstr "オンライン・モードã§èµ·å‹•ã™ã‚‹"
-#: ../shell/main.c:480
+#: ../shell/main.c:481
msgid "Forcibly shut down all Evolution components"
msgstr "å…¨ã¦ã® Evolution コンãƒãƒ¼ãƒãƒ³ãƒˆã‚’強制終了ã™ã‚‹"
-#: ../shell/main.c:484
+#: ../shell/main.c:485
msgid "Forcibly re-migrate from Evolution 1.4"
msgstr "Evolution 1.4ç³»ã‹ã‚‰é–¢é€£ãƒ•ã‚¡ã‚¤ãƒ«ã‚’強制的ã«ç§»è¡Œã™ã‚‹"
-#: ../shell/main.c:487
+#: ../shell/main.c:488
msgid "Send the debugging output of all components to a file."
msgstr "å…¨ã¦ã®ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã®ãƒ‡ãƒãƒƒã‚°å‡ºåŠ›ã‚’ファイルã¸é€ã‚‹"
-#: ../shell/main.c:490
+#: ../shell/main.c:491
msgid "Disable the mono plugin environment."
msgstr "Mono プラグイン環境を無効ã«ã™ã‚‹"
-#: ../shell/main.c:493
+#: ../shell/main.c:494
msgid "Disable loading of any plugins."
msgstr "プラグインを読ã¿è¾¼ã¾ãªã„"
-#: ../shell/main.c:524
+#: ../shell/main.c:525
#, c-format
msgid ""
"%s: --online and --offline cannot be used together.\n"
@@ -15722,34 +15705,34 @@ msgstr ""
#: ../smime/gui/certificate-manager.c:134
#: ../smime/gui/certificate-manager.c:142
-#: ../smime/gui/certificate-manager.c:375
-#: ../smime/gui/certificate-manager.c:383
-#: ../smime/gui/certificate-manager.c:595
-#: ../smime/gui/certificate-manager.c:603
+#: ../smime/gui/certificate-manager.c:377
+#: ../smime/gui/certificate-manager.c:385
+#: ../smime/gui/certificate-manager.c:597
+#: ../smime/gui/certificate-manager.c:605
msgid "Select a cert to import..."
msgstr "インãƒãƒ¼ãƒˆã™ã‚‹è¨¼æ˜Žæ›¸ã®é¸æŠž..."
-#: ../smime/gui/certificate-manager.c:263
-#: ../smime/gui/certificate-manager.c:472
-#: ../smime/gui/certificate-manager.c:690
+#: ../smime/gui/certificate-manager.c:265
+#: ../smime/gui/certificate-manager.c:474
+#: ../smime/gui/certificate-manager.c:692
msgid "Certificate Name"
msgstr "証明書ã®åå‰"
-#: ../smime/gui/certificate-manager.c:272
-#: ../smime/gui/certificate-manager.c:490
+#: ../smime/gui/certificate-manager.c:274
+#: ../smime/gui/certificate-manager.c:492
msgid "Purposes"
msgstr "利用ã®ç›®çš„"
-#: ../smime/gui/certificate-manager.c:281 ../smime/gui/smime-ui.glade.h:36
+#: ../smime/gui/certificate-manager.c:283 ../smime/gui/smime-ui.glade.h:36
#: ../smime/lib/e-cert.c:569
msgid "Serial Number"
msgstr "シリアル番å·"
-#: ../smime/gui/certificate-manager.c:289
+#: ../smime/gui/certificate-manager.c:291
msgid "Expires"
msgstr "有効期é™"
-#: ../smime/gui/certificate-manager.c:481
+#: ../smime/gui/certificate-manager.c:483
msgid "E-Mail Address"
msgstr "E-メール・アドレス"
@@ -16809,6 +16792,10 @@ msgstr "文字ã®ã‚µã‚¤ã‚ºã‚’大ããã—ã¾ã™"
msgid "Load _Images"
msgstr "ç”»åƒã‚’読ã¿è¾¼ã‚€(_I)"
+#: ../ui/evolution-mail-message.xml.h:50
+msgid "Mar_k as Read"
+msgstr "既読ã¨ã—ã¦ãƒžãƒ¼ã‚¯(_K)"
+
#: ../ui/evolution-mail-message.xml.h:51
msgid "Mark as I_mportant"
msgstr "é‡è¦ã¨ã—ã¦ãƒžãƒ¼ã‚¯(_M)"
@@ -17556,7 +17543,7 @@ msgstr "件åé †(_B)"
#: ../views/mail/galview.xml.h:5
msgid "By _Follow Up Flag"
-msgstr "フォローアップ・フラグ順(_F)"
+msgstr "フォローアップã®ç¨®é¡žé †(_F)"
#: ../views/mail/galview.xml.h:6
msgid "_Messages"
@@ -17601,11 +17588,11 @@ msgstr ""
"ã—ã¦ä¸‹ã•ã„。\n"
"エリアを縮å°ã™ã‚‹å ´åˆã¯ãƒžã‚¦ã‚¹ã®å³ãƒœã‚¿ãƒ³ã‚’使ã£ã¦ä¸‹ã•ã„。"
-#: ../widgets/menus/gal-view-menus.c:292
+#: ../widgets/menus/gal-view-menus.c:291
msgid "_Current View"
msgstr "ç¾åœ¨ã®è¡¨ç¤º(_C)"
-#: ../widgets/menus/gal-view-menus.c:360
+#: ../widgets/menus/gal-view-menus.c:359
msgid "Save Custom View..."
msgstr "カスタム表示ã®ä¿å­˜..."
@@ -17895,43 +17882,43 @@ msgstr "カテゴリã®åŒæœŸ:"
#. To translators: This is the accessibility name of
#. the search bar's text entry widget
-#: ../widgets/misc/e-search-bar.c:343
+#: ../widgets/misc/e-search-bar.c:345
msgid "Search Text Entry"
msgstr "検索用ã®ãƒ†ã‚­ã‚¹ãƒˆãƒ»ã‚¨ãƒ³ãƒˆãƒª"
-#: ../widgets/misc/e-search-bar.c:547
+#: ../widgets/misc/e-search-bar.c:549
msgid "_Search"
msgstr "検索(_S)"
-#: ../widgets/misc/e-search-bar.c:553
+#: ../widgets/misc/e-search-bar.c:555
msgid "_Find Now"
msgstr "今ã™ã見ã¤ã‘ã‚‹(_F)"
-#: ../widgets/misc/e-search-bar.c:554 ../widgets/misc/e-search-bar.c:941
+#: ../widgets/misc/e-search-bar.c:556 ../widgets/misc/e-search-bar.c:943
msgid "_Clear"
msgstr "クリア(_C)"
-#: ../widgets/misc/e-search-bar.c:645
+#: ../widgets/misc/e-search-bar.c:647
msgid "Search Type"
msgstr "検索ã®ç¨®é¡ž"
-#: ../widgets/misc/e-search-bar.c:849
+#: ../widgets/misc/e-search-bar.c:851
msgid "Item ID"
msgstr "アイテム ID"
-#: ../widgets/misc/e-search-bar.c:856
+#: ../widgets/misc/e-search-bar.c:858
msgid "Subitem ID"
msgstr "サブアイテム ID"
-#: ../widgets/misc/e-search-bar.c:863
+#: ../widgets/misc/e-search-bar.c:865
msgid "Text"
msgstr "テキスト"
-#: ../widgets/misc/e-search-bar.c:943
+#: ../widgets/misc/e-search-bar.c:945
msgid "Find _Now"
msgstr "今ã™ã見ã¤ã‘ã‚‹(_N)"
-#: ../widgets/misc/e-send-options.c:505
+#: ../widgets/misc/e-send-options.c:506
msgid "When de_leted:"
msgstr "削除ã™ã‚‹ã¨ã(_L):"
diff --git a/po/ko.po b/po/ko.po
index f53b179b6b..78ac6607c8 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: evolution 2.1.5\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-02-21 23:56+0900\n"
-"PO-Revision-Date: 2005-02-21 23:58+0900\n"
+"POT-Creation-Date: 2005-03-14 05:26+0900\n"
+"PO-Revision-Date: 2005-03-14 05:27+0900\n"
"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
"Language-Team: GNOME Korea <gnome-kr-hackers@lists.kldp.net>\n"
"MIME-Version: 1.0\n"
@@ -23,12 +23,12 @@ msgid "evolution addressbook"
msgstr "evolution 주소ë¡"
#: ../a11y/addressbook/ea-minicard-view.c:34
-#: ../addressbook/gui/component/addressbook-component.c:182
+#: ../addressbook/gui/component/addressbook-component.c:196
msgid "New Contact"
msgstr "새 ì—°ë½ì²˜"
#: ../a11y/addressbook/ea-minicard-view.c:35
-#: ../addressbook/gui/component/addressbook-component.c:190
+#: ../addressbook/gui/component/addressbook-component.c:204
msgid "New Contact List"
msgstr "새 ì—°ë½ì²˜ 목ë¡"
@@ -39,7 +39,7 @@ msgid_plural "current addressbook folder has %d cards"
msgstr[0] "현재 ì£¼ì†Œë¡ í´ë”ì— ì¹´ë“œ %d개가 들어 있습니다"
#: ../a11y/addressbook/ea-minicard.c:31
-#: ../calendar/gui/alarm-notify/alarm-queue.c:863
+#: ../calendar/gui/alarm-notify/alarm-queue.c:878
#: ../ui/evolution-message-composer.xml.h:10
msgid "Open"
msgstr "열기"
@@ -145,7 +145,7 @@ msgid "calendar view for one or more days"
msgstr "달력 보기, ì¼ ë‹¨ìœ„"
#: ../a11y/calendar/ea-gnome-calendar.c:187
-#: ../calendar/gui/calendar-component.c:520
+#: ../calendar/gui/calendar-component.c:660
msgid "%A %d %b %Y"
msgstr "%Yë…„ %m %eì¼ (%A)"
@@ -156,7 +156,7 @@ msgstr "%Yë…„ %m %eì¼ (%A)"
#. You can change the order but don't change the
#. specifiers or add anything.
#: ../a11y/calendar/ea-gnome-calendar.c:190
-#: ../calendar/gui/calendar-component.c:523
+#: ../calendar/gui/calendar-component.c:663
#: ../calendar/gui/e-day-view-top-item.c:719 ../calendar/gui/e-day-view.c:1511
#: ../calendar/gui/e-week-view-main-item.c:321
msgid "%a %d %b"
@@ -165,9 +165,9 @@ msgstr "%b %eì¼ (%a)"
#: ../a11y/calendar/ea-gnome-calendar.c:192
#: ../a11y/calendar/ea-gnome-calendar.c:197
#: ../a11y/calendar/ea-gnome-calendar.c:199
-#: ../calendar/gui/calendar-component.c:525
-#: ../calendar/gui/calendar-component.c:530
-#: ../calendar/gui/calendar-component.c:532
+#: ../calendar/gui/calendar-component.c:665
+#: ../calendar/gui/calendar-component.c:670
+#: ../calendar/gui/calendar-component.c:672
msgid "%a %d %b %Y"
msgstr "%Yë…„ %b %eì¼ (%a)"
@@ -175,10 +175,10 @@ msgstr "%Yë…„ %b %eì¼ (%a)"
#: ../a11y/calendar/ea-gnome-calendar.c:222
#: ../a11y/calendar/ea-gnome-calendar.c:228
#: ../a11y/calendar/ea-gnome-calendar.c:230
-#: ../calendar/gui/calendar-component.c:544
-#: ../calendar/gui/calendar-component.c:551
-#: ../calendar/gui/calendar-component.c:557
-#: ../calendar/gui/calendar-component.c:559
+#: ../calendar/gui/calendar-component.c:684
+#: ../calendar/gui/calendar-component.c:691
+#: ../calendar/gui/calendar-component.c:697
+#: ../calendar/gui/calendar-component.c:699
msgid "%d %b %Y"
msgstr "%Yë…„ %m %eì¼"
@@ -188,7 +188,7 @@ msgstr "%Yë…„ %m %eì¼"
#. month name. You can change the order but don't
#. change the specifiers or add anything.
#: ../a11y/calendar/ea-gnome-calendar.c:220
-#: ../calendar/gui/calendar-component.c:549
+#: ../calendar/gui/calendar-component.c:689
#: ../calendar/gui/e-day-view-top-item.c:723 ../calendar/gui/e-day-view.c:1527
#: ../calendar/gui/e-week-view-main-item.c:335
msgid "%d %b"
@@ -235,17 +235,17 @@ msgstr "한 달 단위로 달력 보기"
msgid "calendar view for one or more weeks"
msgstr "주 단위로 달력 보기"
-#: ../a11y/widgets/ea-calendar-item.c:290
#: ../a11y/widgets/ea-calendar-item.c:296
+#: ../a11y/widgets/ea-calendar-item.c:302
msgid "%d %B %Y"
msgstr "%Yë…„ %b %eì¼"
-#: ../a11y/widgets/ea-calendar-item.c:298
+#: ../a11y/widgets/ea-calendar-item.c:304
#, c-format
msgid "Calendar: from %s to %s"
msgstr "달력: %sì—ì„œ %s까지"
-#: ../a11y/widgets/ea-calendar-item.c:333
+#: ../a11y/widgets/ea-calendar-item.c:339
msgid "evolution calendar item"
msgstr "evolution 달력 항목"
@@ -508,7 +508,7 @@ msgstr "여기서 ìžë™ ì™„ì„±ì„ ì„¤ì •í•©ë‹ˆë‹¤"
#. Create the contacts group
#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:5
#: ../addressbook/gui/component/addressbook-view.c:1119
-#: ../calendar/gui/migration.c:385
+#: ../calendar/gui/calendar-component.c:235 ../calendar/gui/migration.c:385
msgid "Contacts"
msgstr "ì—°ë½ì²˜"
@@ -546,64 +546,67 @@ msgstr "여기서 S/MIME ì¸ì¦ì„œë¥¼ 관리합니다"
#. create the local source group
#. On This Computer is always first and vFolders is always last
-#: ../addressbook/gui/component/addressbook-component.c:120
+#: ../addressbook/gui/component/addressbook-component.c:133
#: ../addressbook/gui/component/addressbook-migrate.c:493
-#: ../calendar/gui/migration.c:459 ../calendar/gui/migration.c:552
+#: ../calendar/gui/calendar-component.c:208 ../calendar/gui/migration.c:459
+#: ../calendar/gui/migration.c:552 ../calendar/gui/tasks-component.c:188
#: ../mail/em-folder-tree-model.c:197 ../mail/em-folder-tree-model.c:199
-#: ../mail/mail-component.c:270 ../mail/mail-vfolder.c:222
+#: ../mail/mail-component.c:290 ../mail/mail-vfolder.c:222
msgid "On This Computer"
msgstr "ì´ ì»´í“¨í„°"
#. Create the default Person addressbook
#. Create the default Person calendar
#. Create the default Person task list
+#. Create the default Person addressbook
#. orange
-#: ../addressbook/gui/component/addressbook-component.c:128
+#: ../addressbook/gui/component/addressbook-component.c:141
#: ../addressbook/gui/component/addressbook-migrate.c:501
#: ../addressbook/gui/contact-editor/contact-editor.glade.h:20
-#: ../calendar/gui/migration.c:467 ../calendar/gui/migration.c:560
-#: ../filter/filter-label.c:123 ../mail/em-migrate.c:1013
-#: ../mail/mail-config.c:77 ../mail/mail-config.glade.h:101
+#: ../calendar/gui/calendar-component.c:216 ../calendar/gui/migration.c:467
+#: ../calendar/gui/migration.c:560 ../calendar/gui/tasks-component.c:196
+#: ../filter/filter-label.c:123 ../mail/em-migrate.c:1043
+#: ../mail/mail-config.c:78 ../mail/mail-config.glade.h:101
msgid "Personal"
msgstr "ê°œì¸"
#. Create the LDAP source group
-#: ../addressbook/gui/component/addressbook-component.c:136
+#: ../addressbook/gui/component/addressbook-component.c:149
#: ../addressbook/gui/component/addressbook-migrate.c:509
msgid "On LDAP Servers"
msgstr "LDAP 서버"
-#: ../addressbook/gui/component/addressbook-component.c:183
+#: ../addressbook/gui/component/addressbook-component.c:197
msgid "_Contact"
msgstr "ì—°ë½ì²˜(_C)"
-#: ../addressbook/gui/component/addressbook-component.c:184
+#: ../addressbook/gui/component/addressbook-component.c:198
msgid "Create a new contact"
msgstr "새로운 ì—°ë½ì²˜ë¥¼ 만듭니다"
-#: ../addressbook/gui/component/addressbook-component.c:191
+#: ../addressbook/gui/component/addressbook-component.c:205
msgid "Contact _List"
msgstr "ì—°ë½ì²˜ 목ë¡(_L)"
-#: ../addressbook/gui/component/addressbook-component.c:192
+#: ../addressbook/gui/component/addressbook-component.c:206
msgid "Create a new contact list"
msgstr "새 ì—°ë½ì²˜ 목ë¡ì„ 만듭니다"
-#: ../addressbook/gui/component/addressbook-component.c:198
-#: ../addressbook/gui/component/addressbook-config.c:1121
+#: ../addressbook/gui/component/addressbook-component.c:212
+#: ../addressbook/gui/component/addressbook-config.c:1120
#: ../addressbook/gui/component/addressbook-view.c:757
msgid "New Address Book"
msgstr "새 주소ë¡"
-#: ../addressbook/gui/component/addressbook-component.c:199
+#: ../addressbook/gui/component/addressbook-component.c:213
msgid "Address _Book"
msgstr "주소ë¡(_B)"
-#: ../addressbook/gui/component/addressbook-component.c:200
+#: ../addressbook/gui/component/addressbook-component.c:214
msgid "Create a new address book"
msgstr "새 주소ë¡ì„ 만듭니다"
-#: ../addressbook/gui/component/addressbook-component.c:273
+#: ../addressbook/gui/component/addressbook-component.c:287
msgid "Failed upgrading Addressbook settings or folders."
msgstr "ì£¼ì†Œë¡ ì„¤ì • í˜¹ì€ í´ë”를 업그레ì´ë“œí•˜ëŠ” ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤."
@@ -658,18 +661,18 @@ msgstr "찾는 중"
msgid "Downloading"
msgstr "내려받는 중"
-#: ../addressbook/gui/component/addressbook-config.c:1119
+#: ../addressbook/gui/component/addressbook-config.c:1118
#: ../addressbook/gui/component/ldap-config.glade.h:14
msgid "Address Book Properties"
msgstr "ì£¼ì†Œë¡ ë“±ë¡ ì •ë³´"
#: ../addressbook/gui/component/addressbook-migrate.c:72
-#: ../calendar/gui/migration.c:142 ../mail/em-migrate.c:1160
+#: ../calendar/gui/migration.c:142 ../mail/em-migrate.c:1190
msgid "Migrating..."
msgstr "옮기는 중..."
#: ../addressbook/gui/component/addressbook-migrate.c:124
-#: ../calendar/gui/migration.c:189 ../mail/em-migrate.c:1201
+#: ../calendar/gui/migration.c:189 ../mail/em-migrate.c:1231
#, c-format
msgid "Migrating `%s':"
msgstr "`%s' 옮기는 중:"
@@ -725,16 +728,16 @@ msgstr ""
#: ../addressbook/gui/component/addressbook-view.c:758
#: ../addressbook/gui/widgets/e-addressbook-view.c:935
-#: ../calendar/gui/calendar-component.c:386
-#: ../calendar/gui/tasks-component.c:330 ../mail/em-filter-i18n.h:11
+#: ../calendar/gui/calendar-component.c:526
+#: ../calendar/gui/tasks-component.c:430 ../mail/em-filter-i18n.h:11
#: ../ui/evolution-addressbook.xml.h:8 ../ui/evolution-calendar.xml.h:5
#: ../ui/evolution-mail-message.xml.h:24 ../ui/evolution-tasks.xml.h:6
msgid "Delete"
msgstr "지우기"
#: ../addressbook/gui/component/addressbook-view.c:760
-#: ../calendar/gui/calendar-component.c:387
-#: ../calendar/gui/tasks-component.c:331
+#: ../calendar/gui/calendar-component.c:527
+#: ../calendar/gui/tasks-component.c:431
msgid "Properties..."
msgstr "ë“±ë¡ ì •ë³´..."
@@ -873,7 +876,7 @@ msgid "Add Address Book"
msgstr "주소ë¡ì„ ë”합니다"
#: ../addressbook/gui/component/ldap-config.glade.h:15
-#: ../mail/em-account-editor.c:300
+#: ../mail/em-account-editor.c:302
msgid "Always"
msgstr "í•­ìƒ"
@@ -907,7 +910,7 @@ msgid "Lo_gin:"
msgstr "로그ì¸(_G):"
#: ../addressbook/gui/component/ldap-config.glade.h:25
-#: ../mail/em-account-editor.c:298
+#: ../mail/em-account-editor.c:300
msgid "Never"
msgstr "사용 안 함"
@@ -1024,7 +1027,7 @@ msgid "Using email address"
msgstr "ì „ìžë©”ì¼ ì£¼ì†Œ 사용해서"
#: ../addressbook/gui/component/ldap-config.glade.h:42
-#: ../mail/em-account-editor.c:299
+#: ../mail/em-account-editor.c:301
msgid "Whenever Possible"
msgstr "가능하면 언제나"
@@ -1079,7 +1082,7 @@ msgstr "카드"
#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:12
#: ../calendar/gui/dialogs/alarm-dialog.glade.h:26
#: ../calendar/gui/dialogs/calendar-setup.glade.h:14
-#: ../filter/filter.glade.h:16 ../mail/em-account-editor.c:1883
+#: ../filter/filter.glade.h:16 ../mail/em-account-editor.c:1885
#: ../plugins/calendar-http/calendar-http.c:263
#: ../plugins/calendar-weather/calendar-weather.c:564
msgid "minutes"
@@ -1155,7 +1158,7 @@ msgstr "MSN 메신저"
#: ../addressbook/gui/contact-editor/contact-editor.glade.h:17
msgid "Mailing Address"
-msgstr "ë©”ì¼ë§ 주소"
+msgstr "우편 주소"
#: ../addressbook/gui/contact-editor/contact-editor.glade.h:18
msgid "Ni_ckname:"
@@ -1178,8 +1181,8 @@ msgstr "ì „í™”"
#: ../addressbook/gui/contact-editor/contact-editor.glade.h:23
#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:235
#: ../addressbook/gui/contact-editor/e-contact-editor.c:199
-#: ../filter/filter-label.c:122 ../mail/em-migrate.c:1012
-#: ../mail/mail-config.c:76 ../mail/mail-config.glade.h:148
+#: ../filter/filter-label.c:122 ../mail/em-migrate.c:1042
+#: ../mail/mail-config.c:77 ../mail/mail-config.glade.h:148
msgid "Work"
msgstr "업무"
@@ -1271,7 +1274,7 @@ msgstr "ì‹œ/ë„(_S):"
#: ../addressbook/gui/contact-editor/contact-editor.glade.h:44
#: ../addressbook/gui/contact-editor/fullname.glade.h:18
msgid "_Title:"
-msgstr "제목(_T):"
+msgstr "ì§ìœ„(_T):"
#: ../addressbook/gui/contact-editor/contact-editor.glade.h:45
msgid "_Video Chat:"
@@ -2407,7 +2410,7 @@ msgstr "ì „ì²´ ì´ë¦„(_F):"
msgid "E-_mail:"
msgstr "ì „ìžë©”ì¼(_M):"
-#: ../addressbook/gui/contact-editor/eab-editor.c:319
+#: ../addressbook/gui/contact-editor/eab-editor.c:326
msgid ""
"Are you sure you want\n"
"to delete these contacts?"
@@ -2415,7 +2418,7 @@ msgstr ""
"ì •ë§ë¡œ ì´ ê³„ì •ì„\n"
"지우시겠습니까?"
-#: ../addressbook/gui/contact-editor/eab-editor.c:322
+#: ../addressbook/gui/contact-editor/eab-editor.c:329
msgid ""
"Are you sure you want\n"
"to delete this contact?"
@@ -2535,7 +2538,7 @@ msgid "Add an email to the List"
msgstr "ì „ìžë©”ì¼ì„ 목ë¡ì— ë”합니다"
#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:5
-#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:820
+#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:817
msgid "Contact List Editor"
msgstr "ì—°ë½ì²˜ ëª©ë¡ íŽ¸ì§‘ê¸°"
@@ -2580,11 +2583,11 @@ msgstr "ë¶"
msgid "Is New List"
msgstr "새 목ë¡"
-#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:710
+#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:707
msgid "_Members"
msgstr "구성ì›(_M)"
-#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:713
+#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:710
msgid "Contact List Members"
msgstr "ì—°ë½ì²˜ ëª©ë¡ êµ¬ì„±ì›"
@@ -2693,7 +2696,7 @@ msgstr "ì›ë³¸"
#: ../addressbook/gui/widgets/e-addressbook-view.c:244
#: ../calendar/gui/dialogs/meeting-page.etspec.h:11
#: ../calendar/gui/e-calendar-table.etspec.h:13
-#: ../calendar/gui/e-meeting-list-view.c:244
+#: ../calendar/gui/e-meeting-list-view.c:319
#: ../calendar/gui/e-meeting-time-sel.etspec.h:11
msgid "Type"
msgstr "형태"
@@ -2747,8 +2750,8 @@ msgid "Cut"
msgstr "잘ë¼ë‚´ê¸°"
#: ../addressbook/gui/widgets/e-addressbook-view.c:933
-#: ../calendar/gui/calendar-component.c:385
-#: ../calendar/gui/tasks-component.c:329 ../ui/evolution-addressbook.xml.h:2
+#: ../calendar/gui/calendar-component.c:525
+#: ../calendar/gui/tasks-component.c:429 ../ui/evolution-addressbook.xml.h:2
#: ../ui/evolution-mail-message.xml.h:9 ../ui/evolution-tasks.xml.h:2
msgid "Copy"
msgstr "복사"
@@ -2905,7 +2908,7 @@ msgstr "무선"
#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:33
#: ../calendar/gui/dialogs/meeting-page.etspec.h:9
-#: ../calendar/gui/e-meeting-list-view.c:251
+#: ../calendar/gui/e-meeting-list-view.c:326
#: ../calendar/gui/e-meeting-time-sel.etspec.h:9
msgid "Role"
msgstr "ì—­í• "
@@ -4077,8 +4080,8 @@ msgstr "ì´ ìž‘ì—… 목ë¡ì€ 오프ë¼ì¸ì—ì„œ 사용할 수 있게 표시하ì§
#. calendar:server-version secondary
#: ../calendar/calendar-errors.xml.h:146
-msgid " Some features may not work correctly with your current server version"
-msgstr " 현재 서버 버전으로는 ì¼ë¶€ ê¸°ëŠ¥ì´ ì œëŒ€ë¡œ ë™ìž‘하지 ì•Šì„ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤"
+msgid " Some features may not work correctly with your current server version "
+msgstr " 지금 서버 버전으로는 ì¼ë¶€ ê¸°ëŠ¥ì´ ì œëŒ€ë¡œ ë™ìž‘하지 ì•Šì„ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤"
#: ../calendar/common/authentication.c:49 ../calendar/gui/e-pub-utils.c:301
#: ../smime/gui/component.c:48
@@ -4116,7 +4119,7 @@ msgid "Calendar and Tasks"
msgstr "달력 ë° ìž‘ì—…"
#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:2
-#: ../calendar/gui/calendar-component.c:1150
+#: ../calendar/gui/calendar-component.c:1290
msgid "Calendars"
msgstr "달력"
@@ -4150,7 +4153,7 @@ msgstr "Evolution ìž‘ì—… ì»´í¬ë„ŒíŠ¸"
#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:10
#: ../calendar/gui/e-tasks.c:1219 ../calendar/gui/print.c:1822
-#: ../calendar/gui/tasks-component.c:408 ../calendar/gui/tasks-component.c:881
+#: ../calendar/gui/tasks-component.c:508 ../calendar/gui/tasks-component.c:981
#: ../calendar/gui/tasks-control.c:408
#: ../calendar/importers/icalendar-importer.c:83
#: ../calendar/importers/icalendar-importer.c:701
@@ -4243,29 +4246,29 @@ msgstr "위치"
msgid "start-time"
msgstr "시작 ì‹œê°"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:864
+#: ../calendar/gui/alarm-notify/alarm-queue.c:879
msgid "Dismiss"
msgstr "없애기"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:865
+#: ../calendar/gui/alarm-notify/alarm-queue.c:880
msgid "Dismiss All"
msgstr "ëª¨ë‘ ì—†ì• ê¸°"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:947
+#: ../calendar/gui/alarm-notify/alarm-queue.c:962
msgid "No summary available."
msgstr "ìš”ì•½ì´ ì—†ìŠµë‹ˆë‹¤."
-#: ../calendar/gui/alarm-notify/alarm-queue.c:956
-#: ../calendar/gui/alarm-notify/alarm-queue.c:958
+#: ../calendar/gui/alarm-notify/alarm-queue.c:971
+#: ../calendar/gui/alarm-notify/alarm-queue.c:973
msgid "No description available."
msgstr "ì„¤ëª…ì´ ì—†ìŠµë‹ˆë‹¤."
-#: ../calendar/gui/alarm-notify/alarm-queue.c:966
+#: ../calendar/gui/alarm-notify/alarm-queue.c:981
msgid "No location information available."
msgstr "위치 정보가 없습니다."
# Alarm -> 알림, Microsoft Office XP 참고
-#: ../calendar/gui/alarm-notify/alarm-queue.c:982
+#: ../calendar/gui/alarm-notify/alarm-queue.c:997
#, c-format
msgid ""
"Alarm on %s\n"
@@ -4278,13 +4281,13 @@ msgstr ""
"시작: %s\n"
"ë: %s"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1084
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1108
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1099
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1123
msgid "Warning"
msgstr "경고"
# Reminder -> 미리 알림, Microsoft Office XP
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1088
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1103
msgid ""
"Evolution does not support calendar reminders with\n"
"email notifications yet, but this reminder was\n"
@@ -4297,7 +4300,7 @@ msgstr ""
"보내는 대신 ì¼ë°˜ì ì¸ 미리 알림 대화 ìƒìžë¥¼ 표시합니다."
# Reminder -> 미리 알림, Microsoft Office XP
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1114
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1129
#, c-format
msgid ""
"An Evolution Calendar reminder is about to trigger. This reminder is "
@@ -4314,7 +4317,7 @@ msgstr ""
"\n"
"ì •ë§ë¡œ ì´ í”„ë¡œê·¸ëž¨ì„ ì‹¤í–‰í•˜ì‹œê² ìŠµë‹ˆê¹Œ?"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1128
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1143
msgid "Do not ask me about this program again."
msgstr "ì´ ë©”ì„¸ì§€ë¥¼ 다시 보지 않습니다."
@@ -4649,7 +4652,7 @@ msgid "Unmatched"
msgstr "맞지 ì•ŠìŒ"
#: ../calendar/gui/calendar-commands.c:120
-#: ../calendar/gui/calendar-component.c:568
+#: ../calendar/gui/calendar-component.c:708
#: ../calendar/gui/dialogs/calendar-setup.c:362
#: ../calendar/gui/gnome-cal.c:1942
#: ../plugins/groupwise-account-setup/camel-gw-listener.c:382
@@ -4683,75 +4686,93 @@ msgstr "다ìŒë³´ë‹¤ ì˜¤ëž˜ëœ í–‰ì‚¬ 지우기:"
msgid "days"
msgstr "ì¼"
-#: ../calendar/gui/calendar-component.c:384
+#. Create the On the web source group
+#. Create the Webcal source group
+#. Create the LDAP source group
+#: ../calendar/gui/calendar-component.c:223 ../calendar/gui/migration.c:486
+#: ../calendar/gui/migration.c:579 ../calendar/gui/tasks-component.c:204
+msgid "On The Web"
+msgstr "웹"
+
+#: ../calendar/gui/calendar-component.c:241 ../calendar/gui/migration.c:388
+msgid "Birthdays & Anniversaries"
+msgstr "ìƒì¼ ë° ê¸°ë…ì¼"
+
+#. Create the weather group
+#: ../calendar/gui/calendar-component.c:247
+#: ../plugins/calendar-weather/calendar-weather.c:100
+msgid "Weather"
+msgstr "날씨"
+
+#: ../calendar/gui/calendar-component.c:524
#: ../calendar/gui/dialogs/calendar-setup.c:442
msgid "New Calendar"
msgstr "새 달력"
-#: ../calendar/gui/calendar-component.c:703
+#: ../calendar/gui/calendar-component.c:843
msgid "Failed upgrading calendars."
msgstr "ë‹¬ë ¥ì„ ì—…ê·¸ë ˆì´ë“œí•˜ëŠ” ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤."
# event -> 행사, Microsoft Office XP 참고
-#: ../calendar/gui/calendar-component.c:999
+#: ../calendar/gui/calendar-component.c:1139
#, c-format
msgid "Unable to open the calendar '%s' for creating events and meetings"
msgstr "행사와 ëª¨ìž„ì„ ë§Œë“œëŠ” ë° '%s' ë‹¬ë ¥ì„ ì—´ 수 없습니다"
# event -> 행사, Microsoft Office XP 참고
-#: ../calendar/gui/calendar-component.c:1015
+#: ../calendar/gui/calendar-component.c:1155
msgid "There is no calendar available for creating events and meetings"
msgstr "행사와 ëª¨ìž„ì„ ë§Œë“œëŠ” ë° ì“¸ 수 있는 ë‹¬ë ¥ì´ ì—†ìŠµë‹ˆë‹¤"
-#: ../calendar/gui/calendar-component.c:1125
+#: ../calendar/gui/calendar-component.c:1265
msgid "Calendar Source Selector"
msgstr "달력 ì›ë³¸ ì„ íƒ"
-#: ../calendar/gui/calendar-component.c:1316
+#: ../calendar/gui/calendar-component.c:1456
msgid "New appointment"
msgstr "새 약ì†"
-#: ../calendar/gui/calendar-component.c:1317
+#: ../calendar/gui/calendar-component.c:1457
msgid "_Appointment"
msgstr "약ì†(_A)"
-#: ../calendar/gui/calendar-component.c:1318
+#: ../calendar/gui/calendar-component.c:1458
msgid "Create a new appointment"
msgstr "새 약ì†ì„ 만듭니다"
-#: ../calendar/gui/calendar-component.c:1324
+#: ../calendar/gui/calendar-component.c:1464
msgid "New meeting"
msgstr "새 모임"
-#: ../calendar/gui/calendar-component.c:1325
+#: ../calendar/gui/calendar-component.c:1465
msgid "M_eeting"
msgstr "모임(_E)"
-#: ../calendar/gui/calendar-component.c:1326
+#: ../calendar/gui/calendar-component.c:1466
msgid "Create a new meeting request"
msgstr "새 모임 ìš”ì²­ì„ ë§Œë“­ë‹ˆë‹¤"
-#: ../calendar/gui/calendar-component.c:1332
+#: ../calendar/gui/calendar-component.c:1472
msgid "New all day appointment"
msgstr "새 하루 ì¢…ì¼ ì•½ì†"
-#: ../calendar/gui/calendar-component.c:1333
+#: ../calendar/gui/calendar-component.c:1473
msgid "All Day A_ppointment"
msgstr "하루 ì¢…ì¼ ì•½ì†(_P)"
-#: ../calendar/gui/calendar-component.c:1334
+#: ../calendar/gui/calendar-component.c:1474
msgid "Create a new all-day appointment"
msgstr "새 하루 ì¢…ì¼ ì•½ì†ì„ 만듭니다"
-#: ../calendar/gui/calendar-component.c:1340
+#: ../calendar/gui/calendar-component.c:1480
msgid "New calendar"
msgstr "새 달력"
-#: ../calendar/gui/calendar-component.c:1341
+#: ../calendar/gui/calendar-component.c:1481
msgid "Cale_ndar"
msgstr "달력(_N)"
-#: ../calendar/gui/calendar-component.c:1342
+#: ../calendar/gui/calendar-component.c:1482
msgid "Create a new calendar"
msgstr "새 ë‹¬ë ¥ì„ ë§Œë“­ë‹ˆë‹¤"
@@ -4783,7 +4804,7 @@ msgstr "ë‹¬ë ¥ì„ ì—¬ëŠ” 메소드를 지ì›í•˜ì§€ 않습니다"
msgid "Permission denied to open the calendar"
msgstr "ë‹¬ë ¥ì„ ì—´ 허가가 거부ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: ../calendar/gui/comp-editor-factory.c:437 ../shell/e-shell.c:1259
+#: ../calendar/gui/comp-editor-factory.c:437 ../shell/e-shell.c:1264
msgid "Unknown error"
msgstr "ì•Œ 수 없는 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤"
@@ -4930,7 +4951,7 @@ msgid "%.0fG"
msgstr "%.0fG"
#: ../calendar/gui/dialogs/cal-attachment-bar.c:298
-#: ../calendar/gui/dialogs/cal-attachment-bar.c:913
+#: ../calendar/gui/dialogs/cal-attachment-bar.c:922
#: ../composer/e-msg-composer-attachment-bar.c:295 ../mail/em-utils.c:436
msgid "attachment"
msgstr "첨부"
@@ -5012,7 +5033,7 @@ msgstr "MIME 형ì‹:"
#. g_object_set((GObject *)renderer, "activatable", TRUE, NULL);
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:576
-#: ../mail/em-account-prefs.c:460 ../mail/em-composer-prefs.c:888
+#: ../mail/em-account-prefs.c:476 ../mail/em-composer-prefs.c:888
#: ../plugins/plugin-manager/plugin-manager.c:213
msgid "Enabled"
msgstr "사용"
@@ -5032,16 +5053,16 @@ msgstr "지우지 않기"
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:787
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:820
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:853
-#: ../mail/em-account-prefs.c:307 ../mail/em-account-prefs.c:335
-#: ../mail/em-account-prefs.c:366
+#: ../mail/em-account-prefs.c:323 ../mail/em-account-prefs.c:351
+#: ../mail/em-account-prefs.c:382
msgid "Disable"
msgstr "사용 않기"
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:787
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:820
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:855
-#: ../mail/em-account-prefs.c:307 ../mail/em-account-prefs.c:335
-#: ../mail/em-account-prefs.c:368
+#: ../mail/em-account-prefs.c:323 ../mail/em-account-prefs.c:351
+#: ../mail/em-account-prefs.c:384
msgid "Enable"
msgstr "사용"
@@ -5460,8 +5481,8 @@ msgstr[0] "첨부한 메세지 %d개"
#: ../calendar/gui/dialogs/comp-editor.c:412
#: ../calendar/gui/e-calendar-table.c:1164
#: ../calendar/gui/e-calendar-view.c:1402 ../composer/e-msg-composer.c:2906
-#: ../mail/em-folder-tree.c:1046 ../mail/em-folder-view.c:973
-#: ../mail/message-list.c:1712 ../ui/evolution-addressbook.xml.h:31
+#: ../mail/em-folder-tree.c:1046 ../mail/em-folder-view.c:966
+#: ../mail/message-list.c:1707 ../ui/evolution-addressbook.xml.h:31
#: ../ui/evolution-calendar.xml.h:39 ../ui/evolution-composer-entries.xml.h:7
#: ../ui/evolution-mail-message.xml.h:105 ../ui/evolution-tasks.xml.h:20
msgid "_Copy"
@@ -5469,87 +5490,87 @@ msgstr "복사(_C)"
#: ../calendar/gui/dialogs/comp-editor.c:413 ../composer/e-msg-composer.c:2907
#: ../mail/em-folder-tree.c:1047 ../mail/em-folder-tree.c:2311
-#: ../mail/em-folder-view.c:869 ../mail/message-list.c:1713
+#: ../mail/em-folder-view.c:862 ../mail/message-list.c:1708
msgid "_Move"
msgstr "ì´ë™(_M)"
#: ../calendar/gui/dialogs/comp-editor.c:415 ../composer/e-msg-composer.c:2909
-#: ../mail/em-folder-tree.c:1049 ../mail/message-list.c:1715
+#: ../mail/em-folder-tree.c:1049 ../mail/message-list.c:1710
msgid "Cancel _Drag"
msgstr "드래그 취소(_D)"
-#: ../calendar/gui/dialogs/comp-editor.c:659
+#: ../calendar/gui/dialogs/comp-editor.c:682
msgid "Could not update object"
msgstr "오브ì íŠ¸ë¥¼ ì—…ë°ì´íŠ¸í•  수 없습니다"
-#: ../calendar/gui/dialogs/comp-editor.c:820 ../composer/e-msg-composer.c:2310
+#: ../calendar/gui/dialogs/comp-editor.c:843 ../composer/e-msg-composer.c:2310
#, c-format
msgid "<b>%d</b> File Attached"
msgid_plural "<b>%d</b> Files Attached"
msgstr[0] "<b>%d</b>ê°œì˜ íŒŒì¼ì´ 첨부ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: ../calendar/gui/dialogs/comp-editor.c:873 ../composer/e-msg-composer.c:2339
+#: ../calendar/gui/dialogs/comp-editor.c:900 ../composer/e-msg-composer.c:2339
msgid "Hide _Attachment Bar (drop attachments here)"
msgstr "첨부 ëª¨ìŒ ìˆ¨ê¸°ê¸° (ì—¬ê¸°ì— ì²¨ë¶€ë¥¼ ëŒì–´ì˜µë‹ˆë‹¤)(_A)"
-#: ../calendar/gui/dialogs/comp-editor.c:876
-#: ../calendar/gui/dialogs/comp-editor.c:928 ../composer/e-msg-composer.c:2342
+#: ../calendar/gui/dialogs/comp-editor.c:903
+#: ../calendar/gui/dialogs/comp-editor.c:955 ../composer/e-msg-composer.c:2342
#: ../composer/e-msg-composer.c:3471
msgid "Show _Attachment Bar (drop attachments here)"
msgstr "첨부 ëª¨ìŒ ë³´ì´ê¸° (ì—¬ê¸°ì— ì²¨ë¶€ë¥¼ ëŒì–´ì˜µë‹ˆë‹¤)(_A)"
-#: ../calendar/gui/dialogs/comp-editor.c:952 ../composer/e-msg-composer.c:3493
+#: ../calendar/gui/dialogs/comp-editor.c:979 ../composer/e-msg-composer.c:3493
msgid "Attachment Button: Press space key to toggle attachment bar"
msgstr "첨부 단추: 첨부 모ìŒì„ 토글하려면 스페ì´ìŠ¤ 키를 누르십시오"
-#: ../calendar/gui/dialogs/comp-editor.c:1499
-#: ../calendar/gui/dialogs/comp-editor.c:1542
+#: ../calendar/gui/dialogs/comp-editor.c:1526
+#: ../calendar/gui/dialogs/comp-editor.c:1569
msgid "Edit Appointment"
msgstr "ì•½ì† íŽ¸ì§‘"
-#: ../calendar/gui/dialogs/comp-editor.c:1505
-#: ../calendar/gui/dialogs/comp-editor.c:1548
+#: ../calendar/gui/dialogs/comp-editor.c:1532
+#: ../calendar/gui/dialogs/comp-editor.c:1575
#, c-format
msgid "Meeting - %s"
msgstr "모임 - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1507
-#: ../calendar/gui/dialogs/comp-editor.c:1550
+#: ../calendar/gui/dialogs/comp-editor.c:1534
+#: ../calendar/gui/dialogs/comp-editor.c:1577
#, c-format
msgid "Appointment - %s"
msgstr "ì•½ì† - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1511
-#: ../calendar/gui/dialogs/comp-editor.c:1554
+#: ../calendar/gui/dialogs/comp-editor.c:1538
+#: ../calendar/gui/dialogs/comp-editor.c:1581
#, c-format
msgid "Assigned Task - %s"
msgstr "할당한 작업 - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1513
-#: ../calendar/gui/dialogs/comp-editor.c:1556
+#: ../calendar/gui/dialogs/comp-editor.c:1540
+#: ../calendar/gui/dialogs/comp-editor.c:1583
#, c-format
msgid "Task - %s"
msgstr "ìž‘ì—… - %s"
# journal -> ì¼ì§€, Microsoft Office XP 참고
-#: ../calendar/gui/dialogs/comp-editor.c:1516
-#: ../calendar/gui/dialogs/comp-editor.c:1559
+#: ../calendar/gui/dialogs/comp-editor.c:1543
+#: ../calendar/gui/dialogs/comp-editor.c:1586
#, c-format
msgid "Journal entry - %s"
msgstr "ì¼ì§€ 항목 - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1527
-#: ../calendar/gui/dialogs/comp-editor.c:1569
+#: ../calendar/gui/dialogs/comp-editor.c:1554
+#: ../calendar/gui/dialogs/comp-editor.c:1596
msgid "No summary"
msgstr "요약 ì—†ìŒ"
-#: ../calendar/gui/dialogs/comp-editor.c:2001
-#: ../calendar/gui/dialogs/comp-editor.c:2034
-#: ../calendar/gui/dialogs/comp-editor.c:2058
+#: ../calendar/gui/dialogs/comp-editor.c:2030
+#: ../calendar/gui/dialogs/comp-editor.c:2063
+#: ../calendar/gui/dialogs/comp-editor.c:2087
msgid "Changes made to this item may be discarded if an update arrives"
msgstr "ì—…ë°ì´íŠ¸ê°€ ë„착하면 ì´ í•­ëª©ì— ëŒ€í•´ ë°”ë€ ì‚¬í•­ì„ ë²„ë¦½ë‹ˆë‹¤."
-#: ../calendar/gui/dialogs/comp-editor.c:2082
+#: ../calendar/gui/dialogs/comp-editor.c:2111
msgid "Unable to use current version!"
msgstr "현재 ë²„ì „ì„ ì‚¬ìš©í•  수 없습니다!"
@@ -5829,9 +5850,9 @@ msgstr "시작 ì‹œê°(_S):"
#: ../calendar/gui/dialogs/meeting-page.glade.h:5
#: ../calendar/gui/e-cal-model-tasks.c:652
#: ../calendar/gui/e-itip-control.c:1104 ../composer/e-msg-composer.c:2117
-#: ../filter/filter-rule.c:878 ../mail/em-account-editor.c:683
-#: ../mail/em-account-editor.c:1289 ../mail/em-account-prefs.c:421
-#: ../mail/em-folder-view.c:1000
+#: ../filter/filter-rule.c:878 ../mail/em-account-editor.c:685
+#: ../mail/em-account-editor.c:1291 ../mail/em-account-prefs.c:437
+#: ../mail/em-folder-view.c:993
#: ../plugins/calendar-weather/calendar-weather.c:371
#: ../plugins/calendar-weather/calendar-weather.c:425
#: ../plugins/itip-formatter/itip-formatter.c:1376
@@ -5858,7 +5879,7 @@ msgid "_Delegate To..."
msgstr "대리ì¸(_D)..."
#: ../calendar/gui/dialogs/meeting-page.etspec.h:1
-#: ../calendar/gui/e-meeting-list-view.c:235
+#: ../calendar/gui/e-meeting-list-view.c:308
#: ../calendar/gui/e-meeting-time-sel.etspec.h:1
msgid "Attendee"
msgstr "ì°¸ì„ìž"
@@ -5894,7 +5915,7 @@ msgid "Member"
msgstr "구성ì›"
#: ../calendar/gui/dialogs/meeting-page.etspec.h:8
-#: ../calendar/gui/e-meeting-list-view.c:258
+#: ../calendar/gui/e-meeting-list-view.c:333
#: ../calendar/gui/e-meeting-time-sel.etspec.h:8
msgid "RSVP"
msgstr "ì‘답바람"
@@ -5902,7 +5923,7 @@ msgstr "ì‘답바람"
#: ../calendar/gui/dialogs/meeting-page.etspec.h:10
#: ../calendar/gui/dialogs/task-editor.c:146
#: ../calendar/gui/e-calendar-table.etspec.h:10
-#: ../calendar/gui/e-meeting-list-view.c:265
+#: ../calendar/gui/e-meeting-list-view.c:340
#: ../calendar/gui/e-meeting-time-sel.etspec.h:10 ../mail/em-filter-i18n.h:63
#: ../mail/message-list.etspec.h:12
msgid "Status"
@@ -5971,33 +5992,33 @@ msgid "Task List Name"
msgstr "ìž‘ì—… ëª©ë¡ ì´ë¦„"
# event -> 행사, Microsoft Office XP 참고
-#: ../calendar/gui/dialogs/recur-comp.c:51
+#: ../calendar/gui/dialogs/recur-comp.c:52
msgid "You are modifying a recurring event, what would you like to modify?"
msgstr "ë˜í’€ì´ 행사를 고치려고 합니다. ë¬´ì—‡ì„ ê³ ì¹˜ì‹œê² ìŠµë‹ˆê¹Œ?"
-#: ../calendar/gui/dialogs/recur-comp.c:55
+#: ../calendar/gui/dialogs/recur-comp.c:56
msgid "You are modifying a recurring task, what would you like to modify?"
msgstr "ë˜í’€ì´ ìž‘ì—…ì„ ê³ ì¹˜ë ¤ê³  합니다. ë¬´ì—‡ì„ ê³ ì¹˜ì‹œê² ìŠµë‹ˆê¹Œ?"
# journal -> ì¼ì§€, Microsoft Office XP 참고
-#: ../calendar/gui/dialogs/recur-comp.c:59
+#: ../calendar/gui/dialogs/recur-comp.c:60
msgid ""
"You are modifying a recurring journal entry, what would you like to modify?"
msgstr "ë˜í’€ì´ ì¼ì§€ í•­ëª©ì„ ê³ ì¹˜ë ¤ê³  합니다. ë¬´ì—‡ì„ ê³ ì¹˜ì‹œê² ìŠµë‹ˆê¹Œ?"
-#: ../calendar/gui/dialogs/recur-comp.c:87
+#: ../calendar/gui/dialogs/recur-comp.c:88
msgid "This Instance Only"
msgstr "ì´ ê²½ìš°ë§Œ"
-#: ../calendar/gui/dialogs/recur-comp.c:91
+#: ../calendar/gui/dialogs/recur-comp.c:92
msgid "This and Prior Instances"
msgstr "ì´ ê²½ìš° ë° ì§€ë‚˜ê°„ 경우"
-#: ../calendar/gui/dialogs/recur-comp.c:97
+#: ../calendar/gui/dialogs/recur-comp.c:98
msgid "This and Future Instances"
msgstr "ì´ ê²½ìš° ë° ì•žìœ¼ë¡œì˜ ê²½ìš°"
-#: ../calendar/gui/dialogs/recur-comp.c:102
+#: ../calendar/gui/dialogs/recur-comp.c:103
msgid "All Instances"
msgstr "모든 경우"
@@ -6133,7 +6154,7 @@ msgstr "완료ë¨"
#: ../calendar/gui/dialogs/task-details-page.glade.h:5
#: ../calendar/gui/e-cal-component-preview.c:248
-#: ../calendar/gui/e-calendar-table.c:382 ../mail/message-list.c:1011
+#: ../calendar/gui/e-calendar-table.c:382 ../mail/message-list.c:1006
msgid "High"
msgstr "높ìŒ"
@@ -6148,14 +6169,14 @@ msgstr "진행중"
#: ../calendar/gui/dialogs/task-details-page.glade.h:7
#: ../calendar/gui/e-cal-component-preview.c:252
-#: ../calendar/gui/e-calendar-table.c:384 ../mail/message-list.c:1009
+#: ../calendar/gui/e-calendar-table.c:384 ../mail/message-list.c:1004
msgid "Low"
msgstr "ë‚®ìŒ"
#: ../calendar/gui/dialogs/task-details-page.glade.h:8
#: ../calendar/gui/e-cal-component-preview.c:250
#: ../calendar/gui/e-cal-model.c:899 ../calendar/gui/e-calendar-table.c:383
-#: ../mail/message-list.c:1010
+#: ../mail/message-list.c:1005
msgid "Normal"
msgstr "보통"
@@ -6354,7 +6375,7 @@ msgstr "%s (%s)"
msgid "%s for an unknown trigger type"
msgstr "ì•Œ 수 없는 시작 ì˜µì…˜ì— ëŒ€í•œ %s"
-#: ../calendar/gui/e-cal-component-preview.c:70 ../mail/em-folder-view.c:2588
+#: ../calendar/gui/e-cal-component-preview.c:70 ../mail/em-folder-view.c:2573
#, c-format
msgid "Click to open %s"
msgstr "%s URLì„ ì—´ë ¤ë©´ 누르십시오"
@@ -6383,7 +6404,7 @@ msgstr "ë§ˆê° ë‚ ì§œ:"
#. Status
#: ../calendar/gui/e-cal-component-preview.c:222
#: ../calendar/gui/e-itip-control.c:1132
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:129
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:209
#: ../plugins/itip-formatter/itip-view.c:884
msgid "Status:"
msgstr "ìƒíƒœ:"
@@ -6466,7 +6487,7 @@ msgstr "아니오"
#: ../calendar/gui/e-meeting-list-view.c:139
#: ../calendar/gui/e-meeting-list-view.c:153
#: ../calendar/gui/e-meeting-store.c:124 ../calendar/gui/e-meeting-store.c:159
-#: ../calendar/gui/e-meeting-store.c:224 ../mail/em-utils.c:1157
+#: ../calendar/gui/e-meeting-store.c:224 ../mail/em-utils.c:1173
#: ../plugins/itip-formatter/itip-formatter.c:251
#: ../plugins/itip-formatter/itip-formatter.c:1398
#: ../plugins/plugin-manager/plugin-manager.c:72
@@ -6556,8 +6577,8 @@ msgid "Open _Web Page"
msgstr "웹 페ì´ì§€ 열기(_W)"
#: ../calendar/gui/e-calendar-table.c:1158
-#: ../calendar/gui/e-calendar-view.c:1396 ../mail/em-folder-view.c:983
-#: ../mail/em-popup.c:493 ../ui/evolution-mail-message.xml.h:124
+#: ../calendar/gui/e-calendar-view.c:1396 ../mail/em-folder-view.c:976
+#: ../mail/em-popup.c:494 ../ui/evolution-mail-message.xml.h:124
msgid "_Save As..."
msgstr "다른 ì´ë¦„으로 저장(_S)..."
@@ -6602,7 +6623,7 @@ msgstr "ì„ íƒí•œ ìž‘ì—…ì„ ë§ˆì¹œ 작업으로 표시(_M)"
#. FIXME: need to disable for undeletable folders
#: ../calendar/gui/e-calendar-table.c:1176
#: ../calendar/gui/e-calendar-view.c:1414 ../mail/em-folder-tree.c:2814
-#: ../mail/em-folder-view.c:987 ../ui/evolution-addressbook.xml.h:33
+#: ../mail/em-folder-view.c:980 ../ui/evolution-addressbook.xml.h:33
#: ../ui/evolution-calendar.xml.h:40 ../ui/evolution-mail-message.xml.h:108
#: ../ui/evolution-tasks.xml.h:21
msgid "_Delete"
@@ -6881,12 +6902,12 @@ msgstr ""
#: ../calendar/gui/e-itip-control.c:1137
#: ../calendar/gui/e-meeting-list-view.c:175
#: ../calendar/gui/e-meeting-store.c:188 ../calendar/gui/e-meeting-store.c:211
-#: ../calendar/gui/itip-utils.c:422
+#: ../calendar/gui/itip-utils.c:421
#: ../plugins/itip-formatter/itip-formatter.c:1389
msgid "Accepted"
msgstr "수ë½"
-#: ../calendar/gui/e-itip-control.c:1141 ../calendar/gui/itip-utils.c:425
+#: ../calendar/gui/e-itip-control.c:1141 ../calendar/gui/itip-utils.c:424
#: ../plugins/itip-formatter/itip-formatter.c:1392
msgid "Tentatively Accepted"
msgstr "ìž ì •ì ìœ¼ë¡œ 수ë½"
@@ -6894,7 +6915,7 @@ msgstr "ìž ì •ì ìœ¼ë¡œ 수ë½"
#: ../calendar/gui/e-itip-control.c:1145
#: ../calendar/gui/e-meeting-list-view.c:176
#: ../calendar/gui/e-meeting-store.c:190 ../calendar/gui/e-meeting-store.c:213
-#: ../calendar/gui/itip-utils.c:428 ../calendar/gui/itip-utils.c:454
+#: ../calendar/gui/itip-utils.c:427 ../calendar/gui/itip-utils.c:453
#: ../plugins/itip-formatter/itip-formatter.c:1395
msgid "Declined"
msgstr "거부"
@@ -7168,7 +7189,7 @@ msgstr "ì—…ë°ì´íŠ¸ ì‘답 ìƒíƒœ"
msgid "Send Latest Information"
msgstr "가장 최근 정보 보내기"
-#: ../calendar/gui/e-itip-control.c:2375 ../calendar/gui/itip-utils.c:442
+#: ../calendar/gui/e-itip-control.c:2375 ../calendar/gui/itip-utils.c:441
#: ../mail/mail-send-recv.c:414 ../mail/mail-send-recv.c:466
#: ../ui/evolution-mail-global.xml.h:1
msgid "Cancel"
@@ -7515,62 +7536,62 @@ msgstr "9ì›”"
msgid "_Select Today"
msgstr "오늘 ì„ íƒ(_S)"
-#: ../calendar/gui/itip-utils.c:271 ../calendar/gui/itip-utils.c:319
-#: ../calendar/gui/itip-utils.c:351
+#: ../calendar/gui/itip-utils.c:270 ../calendar/gui/itip-utils.c:318
+#: ../calendar/gui/itip-utils.c:350
msgid "An organizer must be set."
msgstr "주최ìžë¥¼ 결정해야 합니다."
-#: ../calendar/gui/itip-utils.c:306
+#: ../calendar/gui/itip-utils.c:305
msgid "At least one attendee is necessary"
msgstr "ì°¸ì„ìžê°€ 최소한 í•œ ì‚¬ëžŒì€ í•„ìš”í•©ë‹ˆë‹¤"
# event -> 행사, Microsoft Office XP 참고
-#: ../calendar/gui/itip-utils.c:394 ../calendar/gui/itip-utils.c:503
+#: ../calendar/gui/itip-utils.c:393 ../calendar/gui/itip-utils.c:502
msgid "Event information"
msgstr "행사 정보"
-#: ../calendar/gui/itip-utils.c:396 ../calendar/gui/itip-utils.c:505
+#: ../calendar/gui/itip-utils.c:395 ../calendar/gui/itip-utils.c:504
msgid "Task information"
msgstr "ìž‘ì—… ì •ë³´"
# journal -> ì¼ì§€, Microsoft Office XP 참고
-#: ../calendar/gui/itip-utils.c:398 ../calendar/gui/itip-utils.c:507
+#: ../calendar/gui/itip-utils.c:397 ../calendar/gui/itip-utils.c:506
msgid "Journal information"
msgstr "ì¼ì§€ ì •ë³´"
# free/busy -> ì•½ì† ìžˆìŒ/ì—†ìŒ, Microsoft Office XP 참고
-#: ../calendar/gui/itip-utils.c:400 ../calendar/gui/itip-utils.c:525
+#: ../calendar/gui/itip-utils.c:399 ../calendar/gui/itip-utils.c:524
msgid "Free/Busy information"
msgstr "ì•½ì† ìžˆìŒ/ì—†ìŒ ì •ë³´"
-#: ../calendar/gui/itip-utils.c:402
+#: ../calendar/gui/itip-utils.c:401
msgid "Calendar information"
msgstr "달력 정보"
-#: ../calendar/gui/itip-utils.c:438
+#: ../calendar/gui/itip-utils.c:437
msgid "Updated"
msgstr "ì—…ë°ì´íŠ¸ë¨"
-#: ../calendar/gui/itip-utils.c:446
+#: ../calendar/gui/itip-utils.c:445
msgid "Refresh"
msgstr "새로 고침"
-#: ../calendar/gui/itip-utils.c:450
+#: ../calendar/gui/itip-utils.c:449
msgid "Counter-proposal"
msgstr "반대-제안"
# free/busy -> ì•½ì† ìžˆìŒ/ì—†ìŒ, Microsoft Office XP 참고
-#: ../calendar/gui/itip-utils.c:521
+#: ../calendar/gui/itip-utils.c:520
#, c-format
msgid "Free/Busy information (%s to %s)"
msgstr "ì•½ì† ìžˆìŒ/ì—†ìŒ ì •ë³´ (%s부터 %s까지)"
-#: ../calendar/gui/itip-utils.c:531
+#: ../calendar/gui/itip-utils.c:530
msgid "iCalendar information"
msgstr "iCalendar ì •ë³´"
# event -> 행사, Microsoft Office XP 참고
-#: ../calendar/gui/itip-utils.c:673
+#: ../calendar/gui/itip-utils.c:672
msgid "You must be an attendee of the event."
msgstr "ì´ í–‰ì‚¬ì˜ ì°¸ì„ìžì—¬ì•¼ 합니다."
@@ -7596,15 +7617,6 @@ msgstr ""
"\n"
"í´ë”를 옮기는 ë™ì•ˆ ìž ì‹œ 기다리십시오..."
-#: ../calendar/gui/migration.c:388
-msgid "Birthdays & Anniversaries"
-msgstr "ìƒì¼ ë° ê¸°ë…ì¼"
-
-#. Create the Webcal source group
-#: ../calendar/gui/migration.c:486 ../calendar/gui/migration.c:579
-msgid "On The Web"
-msgstr "웹"
-
#. FIXME: set proper domain/code
#: ../calendar/gui/migration.c:745 ../calendar/gui/migration.c:912
msgid "Unable to migrate old settings from evolution/config.xmldb"
@@ -7845,73 +7857,73 @@ msgstr "ì¸ì‡„ 미리 보기"
msgid "Print Item"
msgstr "항목 ì¸ì‡„"
-#: ../calendar/gui/tasks-component.c:328
+#: ../calendar/gui/tasks-component.c:428
msgid "New Task List"
msgstr "새 ìž‘ì—… 목ë¡"
-#: ../calendar/gui/tasks-component.c:404
+#: ../calendar/gui/tasks-component.c:504
#, c-format
msgid "%d task"
msgid_plural "%d tasks"
msgstr[0] "ì—°ë½ì²˜ %dê°œ"
-#: ../calendar/gui/tasks-component.c:406 ../mail/mail-component.c:523
+#: ../calendar/gui/tasks-component.c:506 ../mail/mail-component.c:544
#, c-format
msgid ", %d selected"
msgid_plural ", %d selected"
msgstr[0] ", %d개 지움"
-#: ../calendar/gui/tasks-component.c:453
+#: ../calendar/gui/tasks-component.c:553
msgid "Failed upgrading tasks."
msgstr "ìž‘ì—…ì„ ì—…ê·¸ë ˆì´ë“œí•˜ëŠ” ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤."
# event -> 행사, Microsoft Office XP 참고
-#: ../calendar/gui/tasks-component.c:747
+#: ../calendar/gui/tasks-component.c:847
#, c-format
msgid "Unable to open the task list '%s' for creating events and meetings"
msgstr "행사와 ëª¨ìž„ì„ ë§Œë“œëŠ” ë° ì“¸ '%s' ìž‘ì—… 목ë¡ì„ ì—´ 수 없습니다"
-#: ../calendar/gui/tasks-component.c:762
+#: ../calendar/gui/tasks-component.c:862
msgid "There is no calendar available for creating tasks"
msgstr "ìž‘ì—…ì„ ë§Œë“¤ ë•Œ 쓸 수 있는 ë‹¬ë ¥ì´ ì—†ìŠµë‹ˆë‹¤"
-#: ../calendar/gui/tasks-component.c:856
+#: ../calendar/gui/tasks-component.c:956
msgid "Task Source Selector"
msgstr "ìž‘ì—… ì›ë³¸ ì„ íƒ"
-#: ../calendar/gui/tasks-component.c:1039
+#: ../calendar/gui/tasks-component.c:1139
msgid "New task"
msgstr "새 작업"
-#: ../calendar/gui/tasks-component.c:1040
+#: ../calendar/gui/tasks-component.c:1140
msgid "_Task"
msgstr "ìž‘ì—…(_T)"
-#: ../calendar/gui/tasks-component.c:1041
+#: ../calendar/gui/tasks-component.c:1141
msgid "Create a new task"
msgstr "새 ìž‘ì—…ì„ ë§Œë“­ë‹ˆë‹¤"
-#: ../calendar/gui/tasks-component.c:1047
+#: ../calendar/gui/tasks-component.c:1147
msgid "New assigned task"
msgstr "새로 할당한 작업"
-#: ../calendar/gui/tasks-component.c:1048
+#: ../calendar/gui/tasks-component.c:1148
msgid "Assigne_d Task"
msgstr "할당한 작업(_D)"
-#: ../calendar/gui/tasks-component.c:1049
+#: ../calendar/gui/tasks-component.c:1149
msgid "Create a new assigned task"
msgstr "새로 할당한 ìž‘ì—…ì„ ë§Œë“­ë‹ˆë‹¤"
-#: ../calendar/gui/tasks-component.c:1055
+#: ../calendar/gui/tasks-component.c:1155
msgid "New task list"
msgstr "새 ìž‘ì—… 목ë¡"
-#: ../calendar/gui/tasks-component.c:1056
+#: ../calendar/gui/tasks-component.c:1156
msgid "Task l_ist"
msgstr "ìž‘ì—… 목ë¡(_I)"
-#: ../calendar/gui/tasks-component.c:1057
+#: ../calendar/gui/tasks-component.c:1157
msgid "Create a new task list"
msgstr "새 ìž‘ì—… 목ë¡ì„ 만듭니다"
@@ -9633,8 +9645,8 @@ msgstr "제목 없는 메세지"
msgid "Open File"
msgstr "íŒŒì¼ ì—´ê¸°"
-#: ../composer/e-msg-composer.c:2001 ../mail/em-account-editor.c:586
-#: ../mail/em-account-editor.c:631 ../mail/em-account-editor.c:698
+#: ../composer/e-msg-composer.c:2001 ../mail/em-account-editor.c:588
+#: ../mail/em-account-editor.c:633 ../mail/em-account-editor.c:700
msgid "Autogenerated"
msgstr "ìžë™ìœ¼ë¡œ 만들기"
@@ -9814,7 +9826,7 @@ msgstr ""
"\n"
"올바른 ë²„ì „ì˜ gtkhtmlê³¼ libgtkhtmlì„ ì„¤ì¹˜í–ˆëŠ” 지 확ì¸í•˜ì‹­ì‹œì˜¤."
-#: ../data/evolution.desktop.in.in.h:1 ../shell/main.c:520
+#: ../data/evolution.desktop.in.in.h:1 ../shell/main.c:521
msgid "Evolution"
msgstr "Evolution"
@@ -9952,14 +9964,6 @@ msgstr ""
msgid "Overwrite file?"
msgstr "파ì¼ì„ ë®ì–´ì“°ì‹œê² ìŠµë‹ˆê¹Œ?"
-#: ../e-util/e-passwords.c:472
-msgid "_Remember this password"
-msgstr "ì´ ì—´ì‡ ê¸€ 기억(_R)"
-
-#: ../e-util/e-passwords.c:473
-msgid "_Remember this password for the remainder of this session"
-msgstr "ì´ ì„¸ì…˜ì—ì„œ ì´ ì—´ì‡ ê¸€ì„ ê¸°ì–µí•©ë‹ˆë‹¤(_R)"
-
#. strptime format of a weekday, a date and a time,
#. in 12-hour format, without seconds.
#. strftime format of a weekday, a date and a
@@ -10183,20 +10187,20 @@ msgid "Choose a file"
msgstr "파ì¼ì„ ì„ íƒí•˜ì‹­ì‹œì˜¤"
#: ../filter/filter-label.c:121 ../mail/em-filter-i18n.h:26
-#: ../mail/em-migrate.c:1011 ../mail/mail-config.c:75
+#: ../mail/em-migrate.c:1041 ../mail/mail-config.c:76
#: ../mail/mail-config.glade.h:90
msgid "Important"
msgstr "중요"
#. forest green
-#: ../filter/filter-label.c:124 ../mail/em-migrate.c:1014
-#: ../mail/mail-config.c:78 ../mail/mail-config.glade.h:140
+#: ../filter/filter-label.c:124 ../mail/em-migrate.c:1044
+#: ../mail/mail-config.c:79 ../mail/mail-config.glade.h:140
msgid "To Do"
msgstr "í•  ì¼"
#. blue
-#: ../filter/filter-label.c:125 ../mail/em-migrate.c:1015
-#: ../mail/mail-config.c:79 ../mail/mail-config.glade.h:93
+#: ../filter/filter-label.c:125 ../mail/em-migrate.c:1045
+#: ../mail/mail-config.c:80 ../mail/mail-config.glade.h:93
msgid "Later"
msgstr "나중ì—"
@@ -10365,11 +10369,11 @@ msgstr "Evolution ë©”ì¼ ìž‘ì„±ê¸° 설정 컨트롤"
msgid "Evolution Mail preferences control"
msgstr "Evolution ë©”ì¼ ê¸°ë³¸ 설정 컨트롤"
-#: ../mail/GNOME_Evolution_Mail.server.in.in.h:11 ../mail/em-folder-view.c:473
+#: ../mail/GNOME_Evolution_Mail.server.in.in.h:11 ../mail/em-folder-view.c:469
#: ../mail/importers/elm-importer.c:418
#: ../mail/importers/netscape-importer.c:1902
-#: ../mail/importers/pine-importer.c:474 ../mail/mail-component.c:536
-#: ../mail/mail-component.c:587
+#: ../mail/importers/pine-importer.c:474 ../mail/mail-component.c:557
+#: ../mail/mail-component.c:608
msgid "Mail"
msgstr "ë©”ì¼"
@@ -10386,12 +10390,12 @@ msgstr "ë©”ì¼ ê¸°ë³¸ 설정"
msgid "_Mail"
msgstr "ë©”ì¼(_M)"
-#: ../mail/em-account-editor.c:385
+#: ../mail/em-account-editor.c:387
#, c-format
msgid "%s License Agreement"
msgstr "%s 사용 약관"
-#: ../mail/em-account-editor.c:392
+#: ../mail/em-account-editor.c:394
#, c-format
msgid ""
"\n"
@@ -10403,68 +10407,68 @@ msgstr ""
"ì•„ëž˜ì— ìžˆëŠ” %sì˜ ì‚¬ìš© ì•½ê´€ì„ ìž˜ ì½ì–´ 보시고\n"
"ë™ì˜í•˜ì‹¤ 경우 ì²´í¬ ë‹¨ì¶”ì— ì²´í¬í•˜ì‹­ì‹œì˜¤.\n"
-#: ../mail/em-account-editor.c:462 ../mail/em-filter-folder-element.c:237
+#: ../mail/em-account-editor.c:464 ../mail/em-filter-folder-element.c:237
#: ../mail/em-vfolder-rule.c:494
msgid "Select Folder"
msgstr "í´ë” ì„ íƒ"
-#: ../mail/em-account-editor.c:1662 ../mail/mail-config.glade.h:89
+#: ../mail/em-account-editor.c:1664 ../mail/mail-config.glade.h:89
msgid "Identity"
msgstr "ì‹ ìƒ ì •ë³´"
-#: ../mail/em-account-editor.c:1698 ../mail/mail-config.glade.h:114
+#: ../mail/em-account-editor.c:1700 ../mail/mail-config.glade.h:114
msgid "Receiving Email"
msgstr "ë©”ì¼ì„ ë°›ìŒ"
# FIXME - hard to translate UI + string based on English grammar
-#: ../mail/em-account-editor.c:1875
+#: ../mail/em-account-editor.c:1877
msgid "Automatically check for _new mail every"
msgstr "새 ë©”ì¼ì„ ìžë™ìœ¼ë¡œ 확ì¸(_N), 매"
-#: ../mail/em-account-editor.c:2044 ../mail/mail-config.glade.h:124
+#: ../mail/em-account-editor.c:2045 ../mail/mail-config.glade.h:124
msgid "Sending Email"
msgstr "ë©”ì¼ì„ 보냄"
-#: ../mail/em-account-editor.c:2088 ../mail/mail-config.glade.h:67
+#: ../mail/em-account-editor.c:2089 ../mail/mail-config.glade.h:67
msgid "Defaults"
msgstr "기본값"
-#: ../mail/em-account-editor.c:2147 ../mail/mail-config.glade.h:119
+#: ../mail/em-account-editor.c:2148 ../mail/mail-config.glade.h:119
msgid "Security"
msgstr "보안"
#. Most sections for this is auto-generated fromt the camel config
-#: ../mail/em-account-editor.c:2184 ../mail/em-account-editor.c:2259
+#: ../mail/em-account-editor.c:2185 ../mail/em-account-editor.c:2260
msgid "Receiving Options"
msgstr "받기 옵션"
-#: ../mail/em-account-editor.c:2185 ../mail/em-account-editor.c:2260
+#: ../mail/em-account-editor.c:2186 ../mail/em-account-editor.c:2261
msgid "Checking for New Mail"
msgstr "새 ë©”ì¼ì„ 확ì¸í•˜ëŠ” 중입니다"
-#: ../mail/em-account-editor.c:2600 ../mail/mail-config.glade.h:33
+#: ../mail/em-account-editor.c:2585 ../mail/mail-config.glade.h:33
msgid "Account Editor"
msgstr "계정 편집기"
-#: ../mail/em-account-editor.c:2600 ../mail/mail-config.glade.h:79
+#: ../mail/em-account-editor.c:2585 ../mail/mail-config.glade.h:79
msgid "Evolution Account Assistant"
msgstr "Evolution 계정 ë„우미"
#. translators: default account indicator
-#: ../mail/em-account-prefs.c:412
+#: ../mail/em-account-prefs.c:428
msgid "[Default]"
msgstr "[기본값]"
-#: ../mail/em-account-prefs.c:466
+#: ../mail/em-account-prefs.c:482
msgid "Account name"
msgstr "계정 ì´ë¦„"
-#: ../mail/em-account-prefs.c:468
+#: ../mail/em-account-prefs.c:484
msgid "Protocol"
msgstr "프로토콜"
#: ../mail/em-composer-prefs.c:306 ../mail/em-composer-prefs.c:429
-#: ../mail/mail-config.c:934
+#: ../mail/mail-config.c:935
msgid "Unnamed"
msgstr "ì´ë¦„ì—†ìŒ"
@@ -10481,18 +10485,18 @@ msgid "Signature(s)"
msgstr "서명"
# ë²ˆì—­ì€ ì í•©í•˜ì§€ 않다.
-#: ../mail/em-composer-utils.c:910
+#: ../mail/em-composer-utils.c:911
msgid "-------- Forwarded Message --------"
msgstr "-------- Forwarded Message --------"
-#: ../mail/em-composer-utils.c:1526
+#: ../mail/em-composer-utils.c:1521
msgid "an unknown sender"
msgstr "ì•Œ 수 없는 보낸 ì´"
#. Note to translators: this is the attribution string used when quoting messages.
#. * each ${Variable} gets replaced with a value. To see a full list of available
#. * variables, see em-composer-utils.c:1514
-#: ../mail/em-composer-utils.c:1573
+#: ../mail/em-composer-utils.c:1568
msgid ""
"On ${AbbrevWeekdayName}, ${Year}-${Month}-${Day} at ${24Hour}:${Minute} "
"${TimeZone}, ${Sender} wrote:"
@@ -10655,7 +10659,7 @@ msgstr "ì •í¬ë©”ì¼"
msgid "Junk Test"
msgstr "ì •í¬ë©”ì¼ í…ŒìŠ¤íŠ¸"
-#: ../mail/em-filter-i18n.h:37 ../mail/em-folder-view.c:999
+#: ../mail/em-filter-i18n.h:37 ../mail/em-folder-view.c:992
#: ../widgets/misc/e-expander.c:189
msgid "Label"
msgstr "꼬리표"
@@ -10815,7 +10819,7 @@ msgid "Create New Folder"
msgstr "새 í´ë” 만들기"
#: ../mail/em-folder-selector.c:166 ../mail/em-folder-tree.c:2527
-#: ../mail/mail-component.c:739 ../plugins/shared-folder/install-shared.c:144
+#: ../mail/mail-component.c:770 ../plugins/shared-folder/install-shared.c:144
#: ../plugins/shared-folder/share-folder-common.c:345
msgid "Specify where to create the folder:"
msgstr "í´ë” 만들 ê³³ì„ ì§€ì •í•˜ì‹­ì‹œì˜¤:"
@@ -10839,20 +10843,20 @@ msgstr "ê°€ìƒ í´ë”"
msgid "UNMATCHED"
msgstr "해당 ì—†ìŒ"
-#: ../mail/em-folder-tree-model.c:468 ../mail/mail-component.c:139
+#: ../mail/em-folder-tree-model.c:468 ../mail/mail-component.c:142
msgid "Drafts"
msgstr "임시 보관함"
#. translators: standard local mailbox names
-#: ../mail/em-folder-tree-model.c:471 ../mail/mail-component.c:138
+#: ../mail/em-folder-tree-model.c:471 ../mail/mail-component.c:141
msgid "Inbox"
msgstr "ë°›ì€ íŽ¸ì§€í•¨"
-#: ../mail/em-folder-tree-model.c:474 ../mail/mail-component.c:140
+#: ../mail/em-folder-tree-model.c:474 ../mail/mail-component.c:143
msgid "Outbox"
msgstr "보낼 편지함"
-#: ../mail/em-folder-tree-model.c:476 ../mail/mail-component.c:141
+#: ../mail/em-folder-tree-model.c:476 ../mail/mail-component.c:144
msgid "Sent"
msgstr "보낸 편지함"
@@ -10874,12 +10878,12 @@ msgstr "%s í´ë”를 옮기는 중"
msgid "Copying folder %s"
msgstr "%s í´ë”를 복사하는 중"
-#: ../mail/em-folder-tree.c:930 ../mail/message-list.c:1617
+#: ../mail/em-folder-tree.c:930 ../mail/message-list.c:1612
#, c-format
msgid "Moving messages into folder %s"
msgstr "메시지를 %s í´ë”ë¡œ 옮기는 중입니다"
-#: ../mail/em-folder-tree.c:932 ../mail/message-list.c:1619
+#: ../mail/em-folder-tree.c:932 ../mail/message-list.c:1614
#, c-format
msgid "Copying messages into folder %s"
msgstr "메시지를 %s í´ë”ë¡œ 복사하는 중입니다"
@@ -10907,13 +10911,13 @@ msgid "Copying `%s' to `%s'"
msgstr "`%s'ì—ì„œ `%s' í´ë”ë¡œ 복사하는 중"
#: ../mail/em-folder-tree.c:2297 ../mail/em-folder-tree.c:2311
-#: ../mail/em-folder-view.c:869 ../mail/em-folder-view.c:884
+#: ../mail/em-folder-view.c:862 ../mail/em-folder-view.c:877
#: ../mail/importers/evolution-mbox-importer.c:120
#: ../mail/importers/evolution-outlook-importer.c:134
msgid "Select folder"
msgstr "í´ë” ì„ íƒ"
-#: ../mail/em-folder-tree.c:2297 ../mail/em-folder-view.c:884
+#: ../mail/em-folder-tree.c:2297 ../mail/em-folder-view.c:877
msgid "C_opy"
msgstr "복사(_O)"
@@ -10923,7 +10927,7 @@ msgstr "복사(_O)"
msgid "Creating folder `%s'"
msgstr "`%s' í´ë”를 만드는 중입니다"
-#: ../mail/em-folder-tree.c:2527 ../mail/mail-component.c:739
+#: ../mail/em-folder-tree.c:2527 ../mail/mail-component.c:770
#: ../plugins/shared-folder/install-shared.c:144
#: ../plugins/shared-folder/share-folder-common.c:345
msgid "Create folder"
@@ -10970,130 +10974,130 @@ msgstr "새 í´ë”(_N)..."
msgid "_Rename..."
msgstr "ì´ë¦„ 바꾸기(_R)..."
-#: ../mail/em-folder-view.c:977 ../mail/em-popup.c:498
+#: ../mail/em-folder-view.c:970 ../mail/em-popup.c:499
#: ../ui/evolution-mail-message.xml.h:87
msgid "Reply to _All"
msgstr "ì „ì²´ì— íšŒì‹ (_A)"
-#: ../mail/em-folder-view.c:978 ../ui/evolution-mail-message.xml.h:123
+#: ../mail/em-folder-view.c:971 ../ui/evolution-mail-message.xml.h:123
msgid "_Reply to Sender"
msgstr "보낸 사람ì—게 회신(_R)"
-#: ../mail/em-folder-view.c:979 ../mail/em-popup.c:500
+#: ../mail/em-folder-view.c:972 ../mail/em-popup.c:501
#: ../ui/evolution-mail-message.xml.h:110
msgid "_Forward"
msgstr "전달(_F)"
-#: ../mail/em-folder-view.c:982 ../ui/evolution-mail-message.xml.h:109
+#: ../mail/em-folder-view.c:975 ../ui/evolution-mail-message.xml.h:109
msgid "_Edit as New Message..."
msgstr "새 메세지로 고침(_E)..."
-#: ../mail/em-folder-view.c:984
+#: ../mail/em-folder-view.c:977
msgid "_Print"
msgstr "ì¸ì‡„(_P)"
-#: ../mail/em-folder-view.c:988
+#: ../mail/em-folder-view.c:981
msgid "U_ndelete"
msgstr "ë˜ì‚´ë¦¬ê¸°(_N)"
-#: ../mail/em-folder-view.c:989
+#: ../mail/em-folder-view.c:982
msgid "Mo_ve to Folder..."
msgstr "í´ë”ë¡œ ì´ë™(_V)..."
-#: ../mail/em-folder-view.c:990 ../ui/evolution-addressbook.xml.h:32
+#: ../mail/em-folder-view.c:983 ../ui/evolution-addressbook.xml.h:32
msgid "_Copy to Folder..."
msgstr "í´ë”ë¡œ 복사(_C)..."
-#: ../mail/em-folder-view.c:993
+#: ../mail/em-folder-view.c:986
msgid "Mark as _Important"
msgstr "중요한 것으로 표시(_I)"
-#: ../mail/em-folder-view.c:994
+#: ../mail/em-folder-view.c:987
msgid "_Mark as Unimportant"
msgstr "중요하지 ì•Šì€ ê²ƒìœ¼ë¡œ 표시(_M)"
-#: ../mail/em-folder-view.c:995 ../ui/evolution-mail-message.xml.h:54
+#: ../mail/em-folder-view.c:988 ../ui/evolution-mail-message.xml.h:54
msgid "Mark as _Junk"
msgstr "ì •í¬ë©”ì¼ë¡œ 표시(_J)"
-#: ../mail/em-folder-view.c:996 ../ui/evolution-mail-message.xml.h:55
+#: ../mail/em-folder-view.c:989 ../ui/evolution-mail-message.xml.h:55
msgid "Mark as _Not Junk"
msgstr "ì •í¬ë©”ì¼ì´ ì•„ë‹Œ 것으로 표시(_N)"
-#: ../mail/em-folder-view.c:997
+#: ../mail/em-folder-view.c:990
msgid "Mark for Follo_w Up..."
msgstr "추가 작업으로 표시(_W)..."
-#: ../mail/em-folder-view.c:1005
+#: ../mail/em-folder-view.c:998
msgid "Fla_g Completed"
msgstr "표시 완료(_G)"
-#: ../mail/em-folder-view.c:1006
+#: ../mail/em-folder-view.c:999
msgid "Cl_ear Flag"
msgstr "표시 비우기(_E)"
-#: ../mail/em-folder-view.c:1009
+#: ../mail/em-folder-view.c:1002
msgid "Crea_te Rule From Message"
msgstr "메시지로부터 거르게 만들기(_T)"
-#: ../mail/em-folder-view.c:1010
+#: ../mail/em-folder-view.c:1003
msgid "vFolder on _Subject"
msgstr "ì œëª©ì— ë”°ë¥¸ ê°€ìƒí´ë”(_S)"
-#: ../mail/em-folder-view.c:1011
+#: ../mail/em-folder-view.c:1004
msgid "vFolder on Se_nder"
msgstr "보낸 ì‚¬ëžŒì— ë”°ë¥¸ ê°€ìƒí´ë”(_N)"
-#: ../mail/em-folder-view.c:1012
+#: ../mail/em-folder-view.c:1005
msgid "vFolder on _Recipients"
msgstr "ë°›ì€ ì‚¬ëžŒì— ë”°ë¥¸ ê°€ìƒí´ë”(_R)"
-#: ../mail/em-folder-view.c:1013
+#: ../mail/em-folder-view.c:1006
msgid "vFolder on Mailing _List"
msgstr "ë©”ì¼ë§ ë¦¬ìŠ¤íŠ¸ì— ëŒ€í•œ ê°€ìƒí´ë”(_L)"
-#: ../mail/em-folder-view.c:1017
+#: ../mail/em-folder-view.c:1010
msgid "Filter on Sub_ject"
msgstr "ì œëª©ì— ëŒ€í•œ 거르게(_J)"
-#: ../mail/em-folder-view.c:1018
+#: ../mail/em-folder-view.c:1011
msgid "Filter on Sen_der"
msgstr "보낸 ì‚¬ëžŒì— ëŒ€í•œ 거르게(_D)"
-#: ../mail/em-folder-view.c:1019
+#: ../mail/em-folder-view.c:1012
msgid "Filter on Re_cipients"
msgstr "ë°›ì€ì´ì— 대한 거르게(_C)"
-#: ../mail/em-folder-view.c:1020
+#: ../mail/em-folder-view.c:1013
msgid "Filter on _Mailing List"
msgstr "ë©”ì¼ë§ ë¦¬ìŠ¤íŠ¸ì— ëŒ€í•œ 거르게(_M)"
#. default charset used in mail view
-#: ../mail/em-folder-view.c:1851 ../mail/em-folder-view.c:1895
+#: ../mail/em-folder-view.c:1844 ../mail/em-folder-view.c:1888
msgid "Default"
msgstr "기본값"
-#: ../mail/em-folder-view.c:1994
+#: ../mail/em-folder-view.c:1987
msgid "Print Message"
msgstr "메세지 ì¸ì‡„"
-#: ../mail/em-folder-view.c:2293
+#: ../mail/em-folder-view.c:2295
msgid "_Copy Link Location"
msgstr "ë§í¬ 위치 복사(_C)"
-#: ../mail/em-folder-view.c:2295
+#: ../mail/em-folder-view.c:2297
msgid "Create _vFolder"
msgstr "ê°€ìƒ í´ë” 만들기(_V)"
-#: ../mail/em-folder-view.c:2296
+#: ../mail/em-folder-view.c:2298
msgid "_From this Address"
msgstr "ì´ ì£¼ì†Œì—ì„œ(_F)"
-#: ../mail/em-folder-view.c:2297
+#: ../mail/em-folder-view.c:2299
msgid "_To this Address"
msgstr "ì´ ì£¼ì†Œë¡œ(_T)"
-#: ../mail/em-folder-view.c:2583
+#: ../mail/em-folder-view.c:2568
#, c-format
msgid "Click to mail %s"
msgstr "ë©”ì¼ì„ %s 주소로 보내려면 누르십시오"
@@ -11386,7 +11390,7 @@ msgstr "매주"
msgid "Once per month"
msgstr "매달"
-#: ../mail/em-migrate.c:1168
+#: ../mail/em-migrate.c:1198
msgid ""
"The location and hierarchy of the Evolution mailbox folders has changed "
"since Evolution 1.x.\n"
@@ -11397,48 +11401,48 @@ msgstr ""
"\n"
"í´ë”를 옮기는 ë™ì•ˆ ìž ì‹œ 기다리십시오..."
-#: ../mail/em-migrate.c:1602
+#: ../mail/em-migrate.c:1632
#, c-format
msgid "Unable to create new folder `%s': %s"
msgstr "`%s' í´ë”를 새로 만들 수 없습니다: %s"
-#: ../mail/em-migrate.c:1628
+#: ../mail/em-migrate.c:1658
#, c-format
msgid "Unable to copy folder `%s' to `%s': %s"
msgstr "`%s' í´ë”를 `%s' í´ë”ë¡œ 복사할 수 없습니다: %s"
-#: ../mail/em-migrate.c:1813
+#: ../mail/em-migrate.c:1843
#, c-format
msgid "Unable to scan for existing mailboxes at `%s': %s"
msgstr "`%s'ì— ìžˆëŠ” ë©”ì¼í•¨ì„ ì½ì„ 수 없습니다: %s"
-#: ../mail/em-migrate.c:2017
+#: ../mail/em-migrate.c:2047
#, c-format
msgid "Unable to open old POP keep-on-server data `%s': %s"
msgstr "ê³¼ê±°ì˜ POP keep-on-server ë°ì´í„° `%s'ì„(를) ì—´ 수 없습니다: %s"
-#: ../mail/em-migrate.c:2031
+#: ../mail/em-migrate.c:2061
#, c-format
msgid "Unable to create POP3 keep-on-server data directory `%s': %s"
msgstr ""
"POP keep-on-server ë°ì´í„° 디렉토리 `%s' 디렉토리를 만들 수 없습니다: %s"
-#: ../mail/em-migrate.c:2060
+#: ../mail/em-migrate.c:2090
#, c-format
msgid "Unable to copy POP3 keep-on-server data `%s': %s"
msgstr "POP3 keep-on-server ë°ì´í„° `%s'ì„(를) 복사할 수 없습니다: %s"
-#: ../mail/em-migrate.c:2494 ../mail/em-migrate.c:2506
+#: ../mail/em-migrate.c:2561 ../mail/em-migrate.c:2573
#, c-format
msgid "Failed to create local mail storage `%s': %s"
msgstr "`%s' 로컬 ë©”ì¼ ì €ìž¥ê³ ë¥¼ 만들 수 없습니다: %s"
-#: ../mail/em-migrate.c:2657
+#: ../mail/em-migrate.c:2693
#, c-format
msgid "Unable to create local mail folders at `%s': %s"
msgstr "`%s'ì— ë¡œì»¬ ë©”ì¼ í´ë”를 만들 수 없습니다: %s"
-#: ../mail/em-migrate.c:2675
+#: ../mail/em-migrate.c:2711
msgid ""
"Unable to read settings from previous Evolution install, `evolution/config."
"xmldb' does not exist or is corrupt."
@@ -11446,41 +11450,41 @@ msgstr ""
"ì´ì „ì— ì„¤ì¹˜í•œ Evolutionì—ì„œ ì„¤ì •ì„ ìžƒì–´ë“¤ì¼ ìˆ˜ 없습니다. `evolution/config."
"xmldb'ê°€ 없거나 ë§ê°€ì¡ŒìŠµë‹ˆë‹¤."
-#: ../mail/em-popup.c:381
+#: ../mail/em-popup.c:382
msgid "Save As..."
msgstr "다른 ì´ë¦„으로 저장..."
-#: ../mail/em-popup.c:400
+#: ../mail/em-popup.c:401
#, c-format
msgid "untitled_image.%s"
msgstr "ì´ë¦„없는_그림.%s"
-#: ../mail/em-popup.c:494
+#: ../mail/em-popup.c:495
msgid "Set as _Background"
msgstr "바탕 화면으로 설정(_B)"
-#: ../mail/em-popup.c:496
+#: ../mail/em-popup.c:497
msgid "_Reply to sender"
msgstr "보낸 ì´ì—게 회신(_R)"
# List는 ë©”ì¼ë§ 리스트를 ë§í•¨.
-#: ../mail/em-popup.c:497 ../ui/evolution-mail-message.xml.h:88
+#: ../mail/em-popup.c:498 ../ui/evolution-mail-message.xml.h:88
msgid "Reply to _List"
msgstr "ë¦¬ìŠ¤íŠ¸ì— íšŒì‹ (_L)"
-#: ../mail/em-popup.c:548
+#: ../mail/em-popup.c:549
msgid "_Open Link in Browser"
msgstr "브ë¼ìš°ì €ì—ì„œ ë§í¬ 열기(_O)"
-#: ../mail/em-popup.c:549
+#: ../mail/em-popup.c:550
msgid "_Send New Message To..."
msgstr "새 메세지 보내기(_S)..."
-#: ../mail/em-popup.c:550
+#: ../mail/em-popup.c:551
msgid "_Add to Addressbook"
msgstr "주소ë¡ì— ë”하기(_A)"
-#: ../mail/em-popup.c:681
+#: ../mail/em-popup.c:666
#, c-format
msgid "Open in %s..."
msgstr "%sì—ì„œ 열기..."
@@ -11528,7 +11532,7 @@ msgid "Add address"
msgstr "주소 ë”하기"
#. Drop filename for messages from a mailbox
-#: ../mail/em-utils.c:1055
+#: ../mail/em-utils.c:1071
#, c-format
msgid "Messages from %s"
msgstr "%sì—ì„œ 온 ë©”ì¼"
@@ -12232,73 +12236,73 @@ msgstr "%s ë©”ì¼ë§ 리스트"
msgid "Add Filter Rule"
msgstr "거르게 ê·œì¹™ì„ ë”하기"
-#: ../mail/mail-component.c:484
+#: ../mail/mail-component.c:505
#, c-format
msgid "%d deleted"
msgid_plural "%d deleted"
msgstr[0] "%d개 지움"
-#: ../mail/mail-component.c:486
+#: ../mail/mail-component.c:507
#, c-format
msgid "%d junk"
msgid_plural "%d junk"
msgstr[0] "%dê°œ ì •í¬"
-#: ../mail/mail-component.c:509
+#: ../mail/mail-component.c:530
#, c-format
msgid "%d draft"
msgid_plural "%d drafts"
msgstr[0] "%d개 임시"
-#: ../mail/mail-component.c:511
+#: ../mail/mail-component.c:532
#, c-format
msgid "%d sent"
msgid_plural "%d sent"
msgstr[0] "%d개 보냄"
-#: ../mail/mail-component.c:513
+#: ../mail/mail-component.c:534
#, c-format
msgid "%d unsent"
msgid_plural "%d unsent"
msgstr[0] "%d개 안 보냄"
-#: ../mail/mail-component.c:517
+#: ../mail/mail-component.c:538
#, c-format
msgid "%d total"
msgid_plural "%d total"
msgstr[0] "전체 %d개"
-#: ../mail/mail-component.c:519
+#: ../mail/mail-component.c:540
#, c-format
msgid ", %d unread"
msgid_plural ", %d unread"
msgstr[0] ", %dê°œ 안 ì½ìŒ"
-#: ../mail/mail-component.c:691
+#: ../mail/mail-component.c:722
msgid "New Mail Message"
msgstr "새 ë©”ì¼ ë©”ì„¸ì§€"
-#: ../mail/mail-component.c:692
+#: ../mail/mail-component.c:723
msgid "_Mail Message"
msgstr "ë©”ì¼ ë§Œë“¤ê¸°(_M)"
-#: ../mail/mail-component.c:693
+#: ../mail/mail-component.c:724
msgid "Compose a new mail message"
msgstr "ë©”ì¼ ë©”ì„¸ì§€ë¥¼ 새로 작성합니다"
-#: ../mail/mail-component.c:699
+#: ../mail/mail-component.c:730
msgid "New Mail Folder"
msgstr "새 ë©”ì¼ í´ë”"
-#: ../mail/mail-component.c:700
+#: ../mail/mail-component.c:731
msgid "Mail _Folder"
msgstr "ë©”ì¼ í´ë”(_F)"
-#: ../mail/mail-component.c:701
+#: ../mail/mail-component.c:732
msgid "Create a new mail folder"
msgstr "새 ë©”ì¼ í´ë”를 만듭니다"
-#: ../mail/mail-component.c:848
+#: ../mail/mail-component.c:879
msgid "Failed upgrading Mail settings or folders."
msgstr "ë©”ì¼ ì„¤ì • í˜¹ì€ í´ë”를 업그레ì´ë“œí•˜ëŠ” ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤."
@@ -13909,74 +13913,74 @@ msgstr "ê°€ìƒí´ë” 편집"
msgid "New vFolder"
msgstr "새 ê°€ìƒí´ë”"
-#: ../mail/message-list.c:999
+#: ../mail/message-list.c:994
msgid "Unseen"
msgstr "보지않았ìŒ"
-#: ../mail/message-list.c:1000
+#: ../mail/message-list.c:995
msgid "Seen"
msgstr "ë´¤ìŒ"
-#: ../mail/message-list.c:1001
+#: ../mail/message-list.c:996
msgid "Answered"
msgstr "ì‘답함"
-#: ../mail/message-list.c:1002
+#: ../mail/message-list.c:997
msgid "Multiple Unseen Messages"
msgstr "ì—¬ëŸ¬ê°œì˜ ë³´ì§€ì•Šì€ ë©”ì„¸ì§€"
-#: ../mail/message-list.c:1003
+#: ../mail/message-list.c:998
msgid "Multiple Messages"
msgstr "여러 메세지"
-#: ../mail/message-list.c:1007
+#: ../mail/message-list.c:1002
msgid "Lowest"
msgstr "가장 ë‚®ìŒ"
-#: ../mail/message-list.c:1008
+#: ../mail/message-list.c:1003
msgid "Lower"
msgstr "ë‚®ìŒ"
-#: ../mail/message-list.c:1012
+#: ../mail/message-list.c:1007
msgid "Higher"
msgstr "높ìŒ"
-#: ../mail/message-list.c:1013
+#: ../mail/message-list.c:1008
msgid "Highest"
msgstr "가장 높ìŒ"
# ???
-#: ../mail/message-list.c:1341
+#: ../mail/message-list.c:1336
msgid "?"
msgstr "?"
#. strftime format of a time,
#. in 12-hour format, without seconds.
-#: ../mail/message-list.c:1348 ../plugins/itip-formatter/itip-view.c:189
+#: ../mail/message-list.c:1343 ../plugins/itip-formatter/itip-view.c:189
msgid "Today %l:%M %p"
msgstr "오늘 %p %l:%M"
-#: ../mail/message-list.c:1357
+#: ../mail/message-list.c:1352
msgid "Yesterday %l:%M %p"
msgstr "어제 %p %l:%M "
-#: ../mail/message-list.c:1369
+#: ../mail/message-list.c:1364
msgid "%a %l:%M %p"
msgstr "(%a) %p %l:%M"
-#: ../mail/message-list.c:1377
+#: ../mail/message-list.c:1372
msgid "%b %d %l:%M %p"
msgstr "%b %eì¼ %p %l:%M"
-#: ../mail/message-list.c:1379
+#: ../mail/message-list.c:1374
msgid "%b %d %Y"
msgstr "%Yë…„ %b %eì¼"
-#: ../mail/message-list.c:2046
+#: ../mail/message-list.c:2041
msgid "Message List"
msgstr "메세지 목ë¡"
-#: ../mail/message-list.c:3386
+#: ../mail/message-list.c:3384
msgid "Generating message list"
msgstr "메세지 ëª©ë¡ ìž‘ì„±ì¤‘"
@@ -14172,10 +14176,6 @@ msgstr "날씨: 맑ìŒ"
msgid "Weather: Thunderstorms"
msgstr "날씨: 태í’"
-#: ../plugins/calendar-weather/calendar-weather.c:100
-msgid "Weather"
-msgstr "날씨"
-
#: ../plugins/calendar-weather/calendar-weather.c:268
msgid "Select a location"
msgstr "위치 ì„ íƒ"
@@ -14201,23 +14201,23 @@ msgid "Mark as default folder"
msgstr "기본 í´ë”ë¡œ 표시"
#. i18n: "Secure Password Authentication" is an Outlookism
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:53
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:59
msgid "Secure Password"
msgstr "보안 열쇠글"
#. i18n: "NTLM" probably doesn't translate
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:56
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:62
msgid ""
"This option will connect to the Exchange server using secure password (NTLM) "
"authentication."
msgstr ""
"ì´ ì˜µì…˜ì„ ì¼œë©´ 보안 열쇠글 (NTLM) ì¸ì¦ì„ 사용해 Exchange ì„œë²„ì— ì—°ê²°í•©ë‹ˆë‹¤."
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:64
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:70
msgid "Plaintext Password"
msgstr "ì¼ë°˜ 열쇠글"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:66
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:72
msgid ""
"This option will connect to the Exchange server using standard plaintext "
"password authentication."
@@ -14225,7 +14225,7 @@ msgstr ""
"ì´ ì˜µì…˜ì„ ì¼œë©´ ì¼ë°˜ í…스트 열쇠글 ì¸ì¦ì„ 사용해 Exchange ì„œë²„ì— ì—°ê²°í•©ë‹ˆë‹¤."
#. Description section
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:113
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:193
msgid ""
"The message specified below will be automatically sent to \n"
"each person who sends mail to you while you are out of the office."
@@ -14233,37 +14233,39 @@ msgstr ""
"ì•„ëž˜ì— ì§€ì •ëœ ë©”ì„¸ì§€ëŠ” 부재 ì¤‘ì— ë©”ì¼ì„ 보낸 ê° ì‚¬ëžŒë“¤ì—게\n"
"ìžë™ìœ¼ë¡œ 전달ë©ë‹ˆë‹¤."
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:140
-msgid "I am in the office"
-msgstr "현재 ë‚´ë¶€ì— ìžˆìŒ"
-
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:154
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:221
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:231
msgid "I am out of the office"
msgstr "현재 ì™¸ë¶€ì— ìžˆìŒ"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:168
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:224
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:228
+msgid "I am in the office"
+msgstr "현재 ë‚´ë¶€ì— ìžˆìŒ"
+
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:257
msgid "Out of office Message:"
msgstr "부재 중 메세지:"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:194
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:302
msgid "Exchange Settings"
msgstr "Exchange 설정"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:332
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:448
#: ../plugins/exchange-account-setup/exchange-ask-password.c:200
msgid "_OWA Url:"
msgstr "_OWA URL:"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:340
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:456
#: ../plugins/exchange-account-setup/exchange-ask-password.c:193
msgid "A_uthenticate"
msgstr "ì¸ì¦(_U)"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:457
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:664
msgid "Authentication Type"
msgstr "ì¸ì¦ 방법"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:471
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:678
msgid "Ch_eck for Supported Types"
msgstr "지ì›í•˜ëŠ” 방법ì¸ì§€ 확ì¸(_E) "
@@ -14881,7 +14883,7 @@ msgstr "ê°’ 둘러싸는 문ìž:"
msgid "Comma separated value format (.csv)"
msgstr "Comma Separated Value í˜•ì‹ (.csv)"
-#: ../plugins/save-calendar/ical-format.c:120
+#: ../plugins/save-calendar/ical-format.c:136
msgid "iCalendar format (.ics)"
msgstr "iCalendar í˜•ì‹ (.ics)"
@@ -14889,12 +14891,12 @@ msgstr "iCalendar í˜•ì‹ (.ics)"
msgid "RDF format (.rdf)"
msgstr "RDF í˜•ì‹ (.rdf)"
-#: ../plugins/save-calendar/save-calendar.c:172
-#: ../plugins/save-calendar/save-calendar.c:182
+#: ../plugins/save-calendar/save-calendar.c:171
+#: ../plugins/save-calendar/save-calendar.c:181
msgid "Select destination file"
msgstr "ëŒ€ìƒ íŒŒì¼ ì„ íƒ"
-#: ../plugins/save-calendar/save-calendar.c:217
+#: ../plugins/save-calendar/save-calendar.c:216
#, c-format
msgid ""
"The suggested filename extension of this filetype (%s) is unused in the "
@@ -15042,7 +15044,7 @@ msgstr "프린터 설정"
msgid "Skip development warning dialog"
msgstr "개발 버전 경고 건너 뛰기"
-#: ../shell/apps_evolution_shell.schemas.in.in.h:11 ../shell/main.c:475
+#: ../shell/apps_evolution_shell.schemas.in.in.h:11 ../shell/main.c:476
msgid "Start in offline mode"
msgstr "오프ë¼ì¸ 모드ì—ì„œ 시작"
@@ -15302,43 +15304,43 @@ msgstr "í´ë” ì´ë¦„ì— \"#\" 문ìžê°€ 들어갈 수 없습니다."
msgid "'.' and '..' are reserved folder names."
msgstr "'.' ê³¼ '..'는 쓸 수 없는 í´ë” ì´ë¦„입니다."
-#: ../shell/e-shell-window-commands.c:67
+#: ../shell/e-shell-window-commands.c:69
msgid "The GNOME Pilot tools do not appear to be installed on this system."
msgstr "ì´ ì‹œìŠ¤í…œì— ê·¸ë†ˆ 파ì¼ëŸ¿ íˆ´ì´ ì„¤ì¹˜ë˜ì§€ 않았습니다."
-#: ../shell/e-shell-window-commands.c:75
+#: ../shell/e-shell-window-commands.c:77
#, c-format
msgid "Error executing %s."
msgstr "%s 실행 중 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤."
-#: ../shell/e-shell-window-commands.c:124
+#: ../shell/e-shell-window-commands.c:126
msgid "Bug buddy is not installed."
msgstr "Bug buddyê°€ 설치ë˜ì§€ 않았습니다."
-#: ../shell/e-shell-window-commands.c:132
+#: ../shell/e-shell-window-commands.c:134
msgid "Bug buddy could not be run."
msgstr "Bug buddy를 실행할 수 없습니다."
#. The translator-credits string is for translators to list
#. * per language credits for translation, displayed in the
#. * about box
-#: ../shell/e-shell-window-commands.c:426
+#: ../shell/e-shell-window-commands.c:501
msgid "translator-credits"
msgstr "GNOME Korea <gnome-kr-hackers@lists.kldp.net>"
-#: ../shell/e-shell-window-commands.c:440
+#: ../shell/e-shell-window-commands.c:515
msgid "Groupware Suite"
msgstr "그룹웨어 모ìŒ"
-#: ../shell/e-shell-window-commands.c:681
+#: ../shell/e-shell-window-commands.c:742
msgid "_Work Online"
msgstr "온ë¼ì¸ ìž‘ì—…(_W)"
-#: ../shell/e-shell-window-commands.c:694 ../ui/evolution.xml.h:51
+#: ../shell/e-shell-window-commands.c:755 ../ui/evolution.xml.h:51
msgid "_Work Offline"
msgstr "오프ë¼ì¸ ìž‘ì—…(_W)"
-#: ../shell/e-shell-window-commands.c:707 ../ui/evolution.xml.h:34
+#: ../shell/e-shell-window-commands.c:768 ../ui/evolution.xml.h:34
msgid "Work Offline"
msgstr "오프ë¼ì¸ì—ì„œ ìž‘ì—…"
@@ -15358,37 +15360,37 @@ msgstr ""
"Evolutionì€ ì˜¤í”„ë¼ì¸ ìƒíƒœìž…니다. 온ë¼ì¸ ìƒíƒœë¡œ 작업하려면 ì´ ë‹¨ì¶”ë¥¼ 누르십시"
"오."
-#: ../shell/e-shell-window.c:708
+#: ../shell/e-shell-window.c:713
#, c-format
msgid "Switch to %s"
msgstr "%s 창으로 바꾸기"
-#: ../shell/e-shell.c:597
+#: ../shell/e-shell.c:598
msgid "Uknown system error."
msgstr "ì•Œ 수 없는 시스템 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤."
-#: ../shell/e-shell.c:805 ../shell/e-shell.c:806
+#: ../shell/e-shell.c:800 ../shell/e-shell.c:801
#, c-format
msgid "%ld KB"
msgstr "%ld KB"
-#: ../shell/e-shell.c:1249 ../widgets/misc/e-cell-date-edit.c:256
+#: ../shell/e-shell.c:1254 ../widgets/misc/e-cell-date-edit.c:256
msgid "OK"
msgstr "확ì¸"
-#: ../shell/e-shell.c:1251
+#: ../shell/e-shell.c:1256
msgid "Invalid arguments"
msgstr "ì¸ìžê°€ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: ../shell/e-shell.c:1253
+#: ../shell/e-shell.c:1258
msgid "Cannot register on OAF"
msgstr "OAFì— ë“±ë¡í•  수 없습니다"
-#: ../shell/e-shell.c:1255
+#: ../shell/e-shell.c:1260
msgid "Configuration Database not found"
msgstr "설정 ë°ì´í„°ë² ì´ìŠ¤ë¥¼ ì°¾ì„ ìˆ˜ 없습니다"
-#: ../shell/e-shell.c:1257
+#: ../shell/e-shell.c:1262
msgid "Generic error"
msgstr "ì¼ë°˜ 오류"
@@ -15507,7 +15509,7 @@ msgid "Evolution can import data from the following files:"
msgstr "ë‹¤ìŒ íŒŒì¼ë“¤ì„ Evolution으로 가져올 수 있습니다:"
#. Preview/Alpha/Beta version warning message
-#: ../shell/main.c:237
+#: ../shell/main.c:238
#, no-c-format
msgid ""
"Hi. Thanks for taking the time to download this preview release\n"
@@ -15541,7 +15543,7 @@ msgstr ""
"우리가 열심히 ì¼í•œ ê²°ê³¼ë¬¼ì„ ìž˜ ì¨ ì£¼ì‹œê¸¸ ë°”ëžë‹ˆë‹¤. 그리고 개발ì—\n"
"기여해 주시기를 ëª©ì´ ë¹ ì§€ê²Œ 기다리겠습니다!\n"
-#: ../shell/main.c:261
+#: ../shell/main.c:262
msgid ""
"Thanks\n"
"The Evolution Team\n"
@@ -15549,39 +15551,39 @@ msgstr ""
"고맙습니다\n"
"Evolution 팀\n"
-#: ../shell/main.c:268
+#: ../shell/main.c:269
msgid "Don't tell me again"
msgstr "다시 물어보지 않습니다"
-#: ../shell/main.c:473
+#: ../shell/main.c:474
msgid "Start Evolution activating the specified component"
msgstr "Evolution 시작할 ë•Œ 특정 ì»´í¬ë„ŒíŠ¸ë¥¼ 활성화합니다"
-#: ../shell/main.c:477
+#: ../shell/main.c:478
msgid "Start in online mode"
msgstr "온ë¼ì¸ 모드ì—ì„œ 시작"
-#: ../shell/main.c:480
+#: ../shell/main.c:481
msgid "Forcibly shut down all Evolution components"
msgstr "강제로 모든 Evolution ì»´í¬ë„ŒíŠ¸ë¥¼ ë냅니다"
-#: ../shell/main.c:484
+#: ../shell/main.c:485
msgid "Forcibly re-migrate from Evolution 1.4"
msgstr "강제로 Evolution 1.4ì—ì„œ 다시 옮겨 옵니다"
-#: ../shell/main.c:487
+#: ../shell/main.c:488
msgid "Send the debugging output of all components to a file."
msgstr "모든 ì»´í¬ë„ŒíŠ¸ì˜ 디버깅 ì¶œë ¥ì„ íŒŒì¼ë¡œ 보냅니다."
-#: ../shell/main.c:490
+#: ../shell/main.c:491
msgid "Disable the mono plugin environment."
msgstr "mono í”ŒëŸ¬ê·¸ì¸ í™˜ê²½ì„ ì‚¬ìš©í•˜ì§€ 않습니다."
-#: ../shell/main.c:493
+#: ../shell/main.c:494
msgid "Disable loading of any plugins."
msgstr "플러그ì¸ì„ ì•„ë¬´ê²ƒë„ ì½ì–´ë“¤ì´ì§€ 않습니다."
-#: ../shell/main.c:524
+#: ../shell/main.c:525
#, c-format
msgid ""
"%s: --online and --offline cannot be used together.\n"
@@ -15762,34 +15764,34 @@ msgstr ""
#: ../smime/gui/certificate-manager.c:134
#: ../smime/gui/certificate-manager.c:142
-#: ../smime/gui/certificate-manager.c:375
-#: ../smime/gui/certificate-manager.c:383
-#: ../smime/gui/certificate-manager.c:595
-#: ../smime/gui/certificate-manager.c:603
+#: ../smime/gui/certificate-manager.c:377
+#: ../smime/gui/certificate-manager.c:385
+#: ../smime/gui/certificate-manager.c:597
+#: ../smime/gui/certificate-manager.c:605
msgid "Select a cert to import..."
msgstr "가져올 ì¸ì¦ì„œë¥¼ ì„ íƒí•˜ì‹­ì‹œì˜¤..."
-#: ../smime/gui/certificate-manager.c:263
-#: ../smime/gui/certificate-manager.c:472
-#: ../smime/gui/certificate-manager.c:690
+#: ../smime/gui/certificate-manager.c:265
+#: ../smime/gui/certificate-manager.c:474
+#: ../smime/gui/certificate-manager.c:692
msgid "Certificate Name"
msgstr "ì¸ì¦ì„œ ì´ë¦„"
-#: ../smime/gui/certificate-manager.c:272
-#: ../smime/gui/certificate-manager.c:490
+#: ../smime/gui/certificate-manager.c:274
+#: ../smime/gui/certificate-manager.c:492
msgid "Purposes"
msgstr "목ì "
-#: ../smime/gui/certificate-manager.c:281 ../smime/gui/smime-ui.glade.h:36
+#: ../smime/gui/certificate-manager.c:283 ../smime/gui/smime-ui.glade.h:36
#: ../smime/lib/e-cert.c:569
msgid "Serial Number"
msgstr "ì¼ë ¨ 번호"
-#: ../smime/gui/certificate-manager.c:289
+#: ../smime/gui/certificate-manager.c:291
msgid "Expires"
msgstr "만료"
-#: ../smime/gui/certificate-manager.c:481
+#: ../smime/gui/certificate-manager.c:483
msgid "E-Mail Address"
msgstr "ì „ìžë©”ì¼ ì£¼ì†Œ"
@@ -18150,15 +18152,3 @@ msgstr "%s (%d%% 완료)"
#: ../widgets/misc/e-url-entry.c:107
msgid "click here to go to url"
msgstr "URLì„ ë³´ë ¤ë©´ 여기를 누르십시오"
-
-#~ msgid "Mark as _Unread"
-#~ msgstr "ì½ì§€ ì•Šì€ ê²ƒìœ¼ë¡œ 표시(_U)"
-
-#~ msgid "Add Sender to Address_book"
-#~ msgstr "보낸 ì‚¬ëžŒì„ ì£¼ì†Œë¡ì— ë”하기(_B)"
-
-#~ msgid "Appl_y Filters"
-#~ msgstr "거르게 ì ìš©(_Y)"
-
-#~ msgid "F_ilter Junk"
-#~ msgstr "ì •í¬ë©”ì¼ ê±°ë¥´ê²Œ(_I)"
diff --git a/po/lt.po b/po/lt.po
index 44a7fac033..2449e79f1d 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: evolution HEAD\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-02-28 23:34+0200\n"
-"PO-Revision-Date: 2005-03-01 00:03+0200\n"
+"POT-Creation-Date: 2005-03-04 13:31+0200\n"
+"PO-Revision-Date: 2005-03-04 13:44+0200\n"
"Last-Translator: Žygimantas BeruÄka <uid0@akl.lt>\n"
"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
"MIME-Version: 1.0\n"
@@ -46,7 +46,7 @@ msgstr[2] "esamame adresų knygos aplanke yra %d kortelių"
#: ../calendar/gui/alarm-notify/alarm-queue.c:863
#: ../ui/evolution-message-composer.xml.h:10
msgid "Open"
-msgstr "Atidaryti"
+msgstr "Atverti"
#: ../a11y/addressbook/ea-minicard.c:138
msgid "Contact List: "
@@ -87,7 +87,7 @@ msgstr "kalendoriaus vaizdo įvykis"
#: ../a11y/calendar/ea-cal-view-event.c:485
msgid "Grab Focus"
-msgstr "Pagriebti fokusavimÄ…"
+msgstr "Perimti fokusÄ…"
#: ../a11y/calendar/ea-cal-view.c:306
msgid "New Appointment"
@@ -263,7 +263,7 @@ msgstr "IÅ¡Å¡okantis meniu"
#. addressbook:ldap-init primary
#: ../addressbook/addressbook-errors.xml.h:2
msgid "This addressbook could not be opened."
-msgstr "Nepavyko atidaryti šios adresų knygos."
+msgstr "Nepavyko atverti šios adresų knygos."
#. addressbook:ldap-init secondary
#: ../addressbook/addressbook-errors.xml.h:4
@@ -286,10 +286,9 @@ msgid ""
"a supported login method. Remember that many passwords are case sensitive; "
"your caps lock might be on."
msgstr ""
-"Patikrinkite ar Jūsų slaptažodis parašytas teisingai ir ar Jūs naudojate "
-"palaikomą prisijungimo metodą. Atminkite, kad daugumoje slaptažodžių yra "
-"skirtumas tarp mažųjų ir didžiųjų raidžių; gali būti įjungtas Jūsų "
-"„CapsLock“ klavišas."
+"Patikrinkite, ar Jūsų slaptažodis parašytas teisingai ir ar naudojate "
+"palaikomÄ… prisijungimo metodÄ…. Atminkite, kad paprastai svarbus skirtumas "
+"tarp mažųjų ir didžiųjų raidžių; gali būti aktyvi „CapsLock“ veiksena."
#. addressbook:ldap-search-base primary
#: ../addressbook/addressbook-errors.xml.h:10
@@ -303,9 +302,9 @@ msgid ""
"this functionality or it may be misconfigured. Ask your administrator for "
"supported search bases."
msgstr ""
-"LDAP serveris gali naudoti senesnÄ™ LDAP versijÄ…, kuri nepalaiko Å¡ios "
-"funkcijos arba serveris yra neteisingai sukonfigūruotas. Paklauskit Jūsų "
-"sistemos administratoriaus apie palaikomas paieškos bazes."
+"LDAP serveris naudoja senesnÄ™ LDAP versijÄ…, kuri nepalaiko Å¡ios funkcijos, "
+"arba serveris yra neteisingai sukonfigūruotas. Paklauskite sistemos "
+"administratoriaus apie palaikomas paieškos bazes."
#. addressbook:ldap-v3-schema primary
#: ../addressbook/addressbook-errors.xml.h:14
@@ -374,7 +373,7 @@ msgstr "{1}"
#. addressbook:load-error title
#: ../addressbook/addressbook-errors.xml.h:32
msgid "Unable to open addressbook"
-msgstr "Nepavyko atidaryti adresų knygos"
+msgstr "Nepavyko atverti adresų knygos"
#. addressbook:load-error primary
#: ../addressbook/addressbook-errors.xml.h:34
@@ -389,15 +388,14 @@ msgstr "Nepavyko atlikti paieškos."
#. addressbook:prompt-save primary
#: ../addressbook/addressbook-errors.xml.h:42
msgid "Would you like to save your changes?"
-msgstr "Ar norite išsaugoti Jūsų pakeitimus?"
+msgstr "Ar norite išsaugoti pakeitimus?"
#. addressbook:prompt-save secondary
#: ../addressbook/addressbook-errors.xml.h:44
msgid ""
"You have made modifications to this contact. Do you want to save these "
"changes?"
-msgstr ""
-"Jūs pakeitėte šio kontakto duomenis. Ar norite išsaugoti šiuos pakeitimus?"
+msgstr "Pakeitėte šio kontakto duomenis. Ar norite išsaugoti šiuos pakeitimus?"
#: ../addressbook/addressbook-errors.xml.h:45
msgid "_Discard"
@@ -415,7 +413,7 @@ msgid ""
"cannot be removed from the source. Do you want to save a copy instead?"
msgstr ""
"Jūs norite perkelti kontaktą iš vienos adresų knygos į kitą, bet jis negali "
-"būti pašalintas iš dabartinės vietos. Gal vietoj to norite išsaugoti kopiją?"
+"būti pašalintas iš dabartinės vietos. Ar norite išsaugoti kontakto kopiją?"
#. addressbook:save-error primary
#: ../addressbook/addressbook-errors.xml.h:51
@@ -476,8 +474,8 @@ msgstr "Jūsų serverį reikia atnaujinti"
#: ../addressbook/addressbook-errors.xml.h:68
msgid "Some features may not work correctly with your current server version"
msgstr ""
-"Kai kurios funkcijos gali veikti nekorektiškai su esama Jūsų serverio "
-"versija."
+"Su esama Jūsų serverio versija kai kurios funkcijos gali veikti "
+"nekorektiškai ."
#: ../addressbook/conduit/address-conduit.c:298
msgid "Default Sync Address:"
@@ -495,7 +493,7 @@ msgstr "Nepavyko perskaityti piloto Address programos bloko"
#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:1
msgid "Autocompletion"
-msgstr "Savaiminis pabaigimas"
+msgstr "Savaiminis užbaigimas"
#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:2
msgid "C_ontacts"
@@ -507,7 +505,7 @@ msgstr "Sertifikatai"
#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:4
msgid "Configure autocomplete here"
-msgstr "Čia konfigūruojamas automatinis užbaigimas"
+msgstr "Čia konfigūruojamas savaiminis užbaigimas"
#. Create the contacts group
#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:5
@@ -757,7 +755,7 @@ msgstr "Susisiekiama su LDAP serveriu anonimiškai"
#: ../addressbook/gui/component/addressbook.c:193
#: ../plugins/groupwise-account-setup/camel-gw-listener.c:478
msgid "Failed to authenticate.\n"
-msgstr "Autorizacija nepavyko.\n"
+msgstr "Autentikacija nepavyko.\n"
#: ../addressbook/gui/component/addressbook.c:200
#: ../plugins/groupwise-account-setup/camel-gw-listener.c:461
@@ -794,12 +792,12 @@ msgid ""
"The number of characters that must be typed before Evolution will attempt to "
"autocomplete."
msgstr ""
-"Simbolių kiekis, kuris turi būti įvestas prieš Evolution bandant papildyti "
-"įvedimą."
+"Simbolių kiekis, kuris turi būti įvestas prieš Evolution bandant atspėti "
+"įrašą."
#: ../addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:7
msgid "URI for the folder last used in the select names dialog"
-msgstr "Aplanko adresas paskutinį kartą panaudotas vardų pasirinkimo dialoge"
+msgstr "Aplanko, paskutinį kartą naudoto vardų parinkimo dialoge, adresas."
#: ../addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:8
msgid "URI for the folder last used in the select names dialog."
@@ -885,7 +883,7 @@ msgid "Add Address Book"
msgstr "Pridėti adresų knygą"
#: ../addressbook/gui/component/ldap-config.glade.h:15
-#: ../mail/em-account-editor.c:301
+#: ../mail/em-account-editor.c:302
msgid "Always"
msgstr "Visada"
@@ -920,7 +918,7 @@ msgid "Lo_gin:"
msgstr "Prisijun_gimo vardas:"
#: ../addressbook/gui/component/ldap-config.glade.h:25
-#: ../mail/em-account-editor.c:299
+#: ../mail/em-account-editor.c:300
msgid "Never"
msgstr "Niekada"
@@ -937,7 +935,7 @@ msgid ""
"Selecting this option means that Evolution will only connect to your LDAP "
"server if your LDAP server supports SSL or TLS."
msgstr ""
-"Pasirinkus šį nustatymą Evolution jungsis į Jūsų LDAP serverį tik jeigu Jūsų "
+"Pasirinkus šį nustatymą Evolution jungsis prie Jūsų serverį tik jeigu šis "
"LDAP serveris palaiko SSL arba TLS."
#: ../addressbook/gui/component/ldap-config.glade.h:29
@@ -947,10 +945,10 @@ msgid ""
"are behind a firewall at work, then Evolution doesn't need to use SSL/TLS "
"because your connection is already secure."
msgstr ""
-"Pasirinkus šį nustatymą Evolution bandys naudoti SSL/TLS tik jeigu Jūs esate "
+"Pasirinkus šį nustatymą Evolution bandys naudoti SSL/TLS tik jeigu esate "
"nesaugioje aplinkoje. Pavyzdžiui, jeigu Jūs ir Jūsų LDAP serveris darbe yra "
-"už ugniasienės, tada Evolution nereikia naudoti SSL/TLS, nes Jūsų "
-"prisijungimas ir taip yra saugus."
+"už ugniasienės, Evolution nereikia naudoti SSL/TLS, nes Jūsų prisijungimas "
+"ir taip yra saugus."
#: ../addressbook/gui/component/ldap-config.glade.h:30
msgid ""
@@ -977,7 +975,7 @@ msgid ""
"root of the directory tree."
msgstr ""
"Paieškos bazė yra skirtinis vardas (DN), kuris lemia nuo kurios vietos bus "
-"pradėtos Jūsų paieškos. Neužpildžius šio laukelio paieška bus vykdoma nuo "
+"pradėtos paieškos. Jei neužpildysite šio laukelio, paieška bus vykdoma nuo "
"aplankų medžio pradžios."
#: ../addressbook/gui/component/ldap-config.glade.h:34
@@ -1005,7 +1003,7 @@ msgid ""
"This is the maximum number of entries to download. Setting this number to be "
"too large will slow down your address book."
msgstr ""
-"ÄŒia yra nurodomas didžiasias atsiunÄiamų įrašų kiekis. NustaÄius per didelÄ™ "
+"ÄŒia yra nurodomas didžiausias atsiunÄiamų įrašų kiekis. NustaÄius per didelÄ™ "
"reikšmę gali sulėtėti Jūsų adresų knygos darbas."
#: ../addressbook/gui/component/ldap-config.glade.h:37
@@ -1014,7 +1012,7 @@ msgid ""
"setting this to \"Email Address\" requires anonymous access to your ldap "
"server."
msgstr ""
-"ÄŒia nustatomas prisijungiant naudojamas autentifikacijos metodas. TurÄ—kite "
+"ÄŒia nustatomas autentifikacijos metodas, naudojamas jungimosi metu. TurÄ—kite "
"omenyje, kad norint pasinaudoti „El. pašto adreso“ metodu būtinas anoniminis "
"prisijungimas prie Jūsų LDAP serverio."
@@ -1023,8 +1021,8 @@ msgid ""
"This is the name for this server that will appear in your Evolution folder "
"list. It is for display purposes only. "
msgstr ""
-"Šis vardas bus priskirtas serveriui Evolution aplankų sąraše. Jis skirtas "
-"tiktai pavaizdavimo tikslais."
+"Šis vardas bus priskirtas serveriui Evolution aplankų sąraše. Jis naudojamas "
+"tik užrašui."
#: ../addressbook/gui/component/ldap-config.glade.h:39
msgid ""
@@ -1033,8 +1031,8 @@ msgid ""
"port you should specify."
msgstr ""
"ÄŒia nurodomas LDAP serverio prievadas, prie kurio Evolution bandys jungtis. "
-"Standartinių prievadų sąrašas yra pateiktas. Pasiteiraukite savo sistemos "
-"administratoriaus, jei nežinote, kurį prievadą reikia nurodyti."
+"Pateiktas standartinių prievadų sąrašas. Pasiteiraukite savo sistemos "
+"administratoriaus, jei nežinote, kurį prievadą turėtumėte nurodyti."
#: ../addressbook/gui/component/ldap-config.glade.h:40
msgid "Using distinguished name (DN)"
@@ -1045,7 +1043,7 @@ msgid "Using email address"
msgstr "Naudojamas el. pašto adresas"
#: ../addressbook/gui/component/ldap-config.glade.h:42
-#: ../mail/em-account-editor.c:300
+#: ../mail/em-account-editor.c:301
msgid "Whenever Possible"
msgstr "Kai tik imanoma"
@@ -1055,7 +1053,7 @@ msgstr "_Pridėti adresų knygą"
#: ../addressbook/gui/component/ldap-config.glade.h:44
msgid "_Download limit:"
-msgstr "_Leistinas atsiuntimo greitis:"
+msgstr "_Leistinas parsiuntimo greitis:"
#: ../addressbook/gui/component/ldap-config.glade.h:45
msgid "_Find Possible Search Bases"
@@ -1100,7 +1098,7 @@ msgstr "kortelÄ—s"
#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:12
#: ../calendar/gui/dialogs/alarm-dialog.glade.h:26
#: ../calendar/gui/dialogs/calendar-setup.glade.h:14
-#: ../filter/filter.glade.h:16 ../mail/em-account-editor.c:1884
+#: ../filter/filter.glade.h:16 ../mail/em-account-editor.c:1885
#: ../plugins/calendar-http/calendar-http.c:263
#: ../plugins/calendar-weather/calendar-weather.c:564
msgid "minutes"
@@ -2144,11 +2142,11 @@ msgstr "Å ri Lanka"
#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:338
msgid "St. Helena"
-msgstr "Å v .Elena"
+msgstr "Å v. Elena"
#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:339
msgid "St. Pierre And Miquelon"
-msgstr "Å v.Pjeras ir Migelonas"
+msgstr "Å v. Pjeras ir Migelonas"
#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:340
msgid "Sudan"
@@ -2393,7 +2391,7 @@ msgstr "Pakeista"
#: ../addressbook/gui/contact-editor/e-contact-editor.c:2578
msgid "Please select an image for this contact"
-msgstr "Prašau parinkti šiam kontaktui paveikslėlį"
+msgstr "Parinkite šiam kontaktui paveikslėlį"
#: ../addressbook/gui/contact-editor/e-contact-editor.c:2579
msgid "No image"
@@ -2432,7 +2430,7 @@ msgid ""
"Are you sure you want\n"
"to delete these contacts?"
msgstr ""
-"Ar JÅ«s tikrai norite\n"
+"Ar tikrai norite\n"
"ištrinti šiuos kontaktus?"
#: ../addressbook/gui/contact-editor/eab-editor.c:329
@@ -2440,7 +2438,7 @@ msgid ""
"Are you sure you want\n"
"to delete this contact?"
msgstr ""
-"Ar JÅ«s tikrai norite\n"
+"Ar tikrai norite\n"
"ištrinti šį kontaktą?"
#: ../addressbook/gui/contact-editor/fulladdr.glade.h:2
@@ -2627,7 +2625,7 @@ msgid ""
"exists in this folder. Would you like to add it anyway?"
msgstr ""
"Pakeistasis šio kontakto el. paštas ar vardas jau yra\n"
-"šiame aplanke. Ar norėtum jį vis tiek pridėti?"
+"šiame aplanke. Ar norite jį vis tiek pridėti?"
#: ../addressbook/gui/merging/eab-contact-duplicate-detected.glade.h:2
msgid "New Contact:"
@@ -2643,7 +2641,7 @@ msgid ""
"in this folder. Would you like to add it anyway?"
msgstr ""
"Šio kontakto el. pašto adresas arba vardas jau yra šiame\n"
-"aplanke. Ar vis tiek norėtum jį pridėti?"
+"aplanke. Ar vis tiek norite jį pridėti?"
#. FIXME: get the toplevel window...
#: ../addressbook/gui/search/e-addressbook-search-dialog.c:160
@@ -2681,7 +2679,7 @@ msgstr "Modelis"
#: ../addressbook/gui/widgets/e-addressbook-table-adapter.c:103
msgid "Error modifying card"
-msgstr "Klaida modifikuojant kortelÄ™"
+msgstr "Klaida keiÄiant kortelÄ™"
#: ../addressbook/gui/widgets/e-addressbook-view.c:169
msgid "Name begins with"
@@ -2854,7 +2852,7 @@ msgstr "Saugoti kaip"
#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:16
msgid "Given Name"
-msgstr "Duotas Vardas"
+msgstr "Duotas vardas"
#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:17
msgid "Home Fax"
@@ -2896,7 +2894,7 @@ msgstr "Pastaba"
#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:26
msgid "Office"
-msgstr "Ofisas"
+msgstr "Biuras"
#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:27
#: ../addressbook/gui/widgets/eab-contact-display.c:360
@@ -2913,7 +2911,7 @@ msgstr "Kitas telefonas"
#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:30
msgid "Pager"
-msgstr "Ieškas"
+msgstr "Pranešimų gaviklis"
#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:31
msgid "Primary Phone"
@@ -2958,7 +2956,7 @@ msgstr "Vienetas"
#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:45
msgid "Web Site"
-msgstr "Tinklapis"
+msgstr "Tinklalapis"
#: ../addressbook/gui/widgets/e-minicard-label.c:115
#: ../addressbook/gui/widgets/e-minicard.c:137
@@ -2973,7 +2971,7 @@ msgstr "Aukštis"
#: ../addressbook/gui/widgets/e-minicard-label.c:129
#: ../addressbook/gui/widgets/e-minicard.c:152
msgid "Has Focus"
-msgstr "Sufokusuotas"
+msgstr "Aktyvus"
#: ../addressbook/gui/widgets/e-minicard-label.c:136
msgid "Field"
@@ -3019,9 +3017,9 @@ msgid ""
msgstr ""
"\n"
"\n"
-"Šiame vaizde nėra nieko, ką būtų galima parodyti.\n"
+"Šiame vaizde nėra įrašų.\n"
"\n"
-"Dukart spragtelÄ—kite, norÄ—damisukurti naujÄ… kontaktÄ…."
+"Dukart spragtelÄ—kite, norÄ—dami sukurti naujÄ… kontaktÄ…."
#: ../addressbook/gui/widgets/e-minicard-view.c:179
msgid ""
@@ -3031,7 +3029,7 @@ msgid ""
msgstr ""
"\n"
"\n"
-"Ieškokit kontakto."
+"Ieškoti kontakto."
#: ../addressbook/gui/widgets/e-minicard-view.c:181
msgid ""
@@ -3041,7 +3039,7 @@ msgid ""
msgstr ""
"\n"
"\n"
-"Šiame vaizde nėra nieko, ką būtų galima parodyti."
+"Šiame vaizde nėra įrašų."
#: ../addressbook/gui/widgets/e-minicard-view.c:498
msgid "Adapter"
@@ -3115,7 +3113,7 @@ msgstr "Pareigos"
#: ../addressbook/gui/widgets/eab-contact-display.c:587
msgid "Home page"
-msgstr "Namų puslapis"
+msgstr "Asmeninis puslapis"
#. E_BOOK_ERROR_OK
#: ../addressbook/gui/widgets/eab-gui-util.c:49
@@ -3131,7 +3129,7 @@ msgstr "Posistemė užimta"
#. E_BOOK_ERROR_REPOSITORY_OFFLINE
#: ../addressbook/gui/widgets/eab-gui-util.c:52
msgid "Repository offline"
-msgstr "Saugykla atsijungus"
+msgstr "Saugykla atsijungusi"
#. E_BOOK_ERROR_NO_SUCH_BOOK
#: ../addressbook/gui/widgets/eab-gui-util.c:53
@@ -3184,17 +3182,17 @@ msgstr "Nepavyko atšaukti"
#: ../addressbook/gui/widgets/eab-gui-util.c:63
#: ../calendar/gui/comp-editor-factory.c:431
msgid "Authentication Failed"
-msgstr "Autentikacija Nepavyko"
+msgstr "Autentikacija nepavyko"
#. E_BOOK_ERROR_AUTHENTICATION_REQUIRED
#: ../addressbook/gui/widgets/eab-gui-util.c:64
msgid "Authentication Required"
-msgstr "BÅ«tina Autentifikacija"
+msgstr "BÅ«tina autentifikacija"
#. E_BOOK_ERROR_TLS_NOT_AVAILABLE
#: ../addressbook/gui/widgets/eab-gui-util.c:65
msgid "TLS not Available"
-msgstr "TLS Negalimas"
+msgstr "TLS negalimas"
#. E_BOOK_ERROR_CORBA_EXCEPTION
#. E_BOOK_ERROR_NO_SUCH_SOURCE
@@ -3213,26 +3211,25 @@ msgid ""
"marked for offline usage or not yet downloaded for offline usage. Please "
"load the addressbook once in online mode to download its contents"
msgstr ""
-"Nepavyko atidaryti šios adresų knygos. Tai reiškia, kad ši knyga nėra "
-"pažymėta naudojimui atsijungus arba dar nėra tam parsiųsti jos duomenys. Kai "
-"prisijungsite, prašau paleisti šią adresų knygą, taip bus parsiųstas jos "
-"turinys."
+"Nepavyko atverti šios adresų knygos. Tai reiškia, kad ši knyga nėra pažymėta "
+"naudojimui atsijungus, arba dar nėra parsiųsti jos duomenys. Kai "
+"prisijungsite, įkraukite šią adresų knygą, kad būtų parsiųstas jos turinys."
#: ../addressbook/gui/widgets/eab-gui-util.c:98
msgid ""
"We were unable to open this addressbook. Please check that the path exists "
"and that you have permission to access it."
msgstr ""
-"Nepavyko atidaryti šios adresų knygelės. Patikrinkite, ar kelias egzistuoja "
-"ir ar Jūs turite teises jį pasiekti."
+"Nepavyko atverti šios adresų knygelės. Patikrinkite, ar kelias egzistuoja ir "
+"ar turite teises jį pasiekti."
#: ../addressbook/gui/widgets/eab-gui-util.c:105
msgid ""
"We were unable to open this addressbook. This either means you have entered "
"an incorrect URI, or the LDAP server is unreachable."
msgstr ""
-"Nepavyko atidaryti šios adresų knygos. Tai reiškia, kad Jūs įvedėte "
-"neteisingÄ… adresÄ… arba nurodytas LDAP serveris yra nepasiekiamas."
+"Nepavyko atverti šios adresų knygos. Tai reiškia, kad įvedėte neteisingą "
+"adresÄ… arba nurodytas LDAP serveris yra nepasiekiamas."
#: ../addressbook/gui/widgets/eab-gui-util.c:110
msgid ""
@@ -3240,17 +3237,16 @@ msgid ""
"you want to use LDAP in Evolution, you must install an LDAP-enabled "
"Evolution package."
msgstr ""
-"Ši Evolution versija neturi įkompiliuoto LDAP palaikymo. Jei Jūs norite "
-"naudoti LDAP su Evolution, Jums teks įdiegti Evolution paketą su LDAP "
-"palaikymu."
+"Ši Evolution versija neturi įkompiliuoto LDAP palaikymo. Jei norite naudoti "
+"LDAP su Evolution, Jums teks įdiegti Evolution paketą su LDAP palaikymu."
#: ../addressbook/gui/widgets/eab-gui-util.c:117
msgid ""
"We were unable to open this addressbook. This either means you have entered "
"an incorrect URI, or the server is unreachable."
msgstr ""
-"Nepavyko atidaryti šios adresų knygos. Tai reiškia, kad Jūs įvedėte "
-"neteisingÄ… adresÄ… arba nurodytas serveris yra nepasiekiamas."
+"Nepavyko atverti šios adresų knygos. Tai reiškia, kad įvedėte neteisingą "
+"adresÄ… arba nurodytas serveris yra nepasiekiamas."
#: ../addressbook/gui/widgets/eab-gui-util.c:137
msgid ""
@@ -3262,7 +3258,7 @@ msgstr ""
"Užklausa pateikė daugiau atsakymų nei serveriui ar Evolution\n"
"yra leista pateikti. Sukonkretinkite vykdomą paiešką arba \n"
"padidinkite išvedamų atsakymų kiekio apribojimus šios adresų\n"
-"knygos aplanko serverio nustatymų."
+"knygos aplanko serverio nustatymuose."
#: ../addressbook/gui/widgets/eab-gui-util.c:143
msgid ""
@@ -3299,7 +3295,7 @@ msgstr "Klaida įtraukiant kontaktą"
#: ../addressbook/gui/widgets/eab-gui-util.c:188
msgid "Error modifying list"
-msgstr "Klaida modifikuojant sąrašą"
+msgstr "Klaida keiÄiant sÄ…raÅ¡Ä…"
#: ../addressbook/gui/widgets/eab-gui-util.c:188
msgid "Error modifying contact"
@@ -3307,7 +3303,7 @@ msgstr "Klaida keiÄiant kontaktÄ…"
#: ../addressbook/gui/widgets/eab-gui-util.c:200
msgid "Error removing list"
-msgstr "Klaida pašalinant sąrašą"
+msgstr "Klaida šalinant sąrašą"
#: ../addressbook/gui/widgets/eab-gui-util.c:200
#: ../addressbook/gui/widgets/eab-gui-util.c:608
@@ -3327,10 +3323,10 @@ msgstr[0] ""
"Ar tikrai norite peržiūrėti visus šiuos kontaktus vienu metu?"
msgstr[1] ""
"Bandymas atverti %d kontaktus sukurs %d naujus langus.\n"
-"Ar Jūs tikrai norite peržiūrėti visus šiuos kontaktus vienu metu?"
+"Ar tikrai norite peržiūrėti visus šiuos kontaktus vienu metu?"
msgstr[2] ""
"Bandymas atverti %d kontaktų sukurs %d naujų langų.\n"
-"Ar Jūs tikrai norite peržiūrėti visus šiuos kontaktus vienu metu?"
+"Ar tikrai norite peržiūrėti visus šiuos kontaktus vienu metu?"
#: ../addressbook/gui/widgets/eab-gui-util.c:311
#, c-format
@@ -3339,7 +3335,7 @@ msgid ""
"Do you want to overwrite it?"
msgstr ""
"%s jau egzistuoja.\n"
-"Ar nori įrašyti vietoj jo?"
+"Ar norite jį perrašyti nauju?"
#: ../addressbook/gui/widgets/eab-gui-util.c:315
msgid "Overwrite"
@@ -3422,7 +3418,7 @@ msgstr "Įlieti el. pašto adresą"
#, c-format
msgid "There is one other contact."
msgid_plural "There are %d other contacts."
-msgstr[0] "Yra vienas kitas kontaktas."
+msgstr[0] "Yra dar vienas kontaktas."
msgstr[1] "Yra %d kiti kontaktai."
msgstr[2] "Yra %d kitų kontaktų."
@@ -3659,7 +3655,8 @@ msgstr "AutorinÄ—s teisÄ—s (C) 2000, Ximian, Inc."
#: ../addressbook/printing/test-contact-print-style-editor.c:56
msgid "This should test the contact print style editor widget"
msgstr ""
-"Čia turi būti patikrintas kontaktų spausdinimo stiliaus redaktoriaus objektas"
+"Čia turėtų būti patikrintas kontaktų spausdinimo stiliaus redaktoriaus "
+"objektas"
#: ../addressbook/printing/test-print.c:52
msgid "Contact Print Test"
@@ -3667,13 +3664,13 @@ msgstr "Kontaktų spausdinimo testas"
#: ../addressbook/printing/test-print.c:55
msgid "This should test the contact print code"
-msgstr "Čia turi būti patikrintas kontaktų spausdinimo kodas"
+msgstr "Čia turėtų būti patikrintas kontaktų spausdinimo kodas"
#: ../addressbook/tools/evolution-addressbook-export-list-cards.c:657
#: ../addressbook/tools/evolution-addressbook-export-list-cards.c:693
#: ../addressbook/tools/evolution-addressbook-export-list-folders.c:49
msgid "Can not open file"
-msgstr "Nepavyko atidaryti bylos"
+msgstr "Nepavyko atverti bylos"
#: ../addressbook/tools/evolution-addressbook-export-list-folders.c:43
msgid "Couldn't get list of addressbooks"
@@ -3681,11 +3678,11 @@ msgstr "Nepavyko gauti adresų knygų sąrašo"
#: ../addressbook/tools/evolution-addressbook-export-list-folders.c:71
msgid "failed to open book"
-msgstr "Nepavyko atidaryti adresų knygos"
+msgstr "Nepavyko atverti adresų knygos"
#: ../addressbook/tools/evolution-addressbook-export.c:56
msgid "Specify the output file instead of standard output"
-msgstr "Nurodykite išvedimo bylą naudojamą vietoj standartinio išvedimo"
+msgstr "Nurodykite išvedimo bylą, naudojamą vietoje standartinio išvedimo"
#: ../addressbook/tools/evolution-addressbook-export.c:57
msgid "OUTPUTFILE"
@@ -3705,13 +3702,13 @@ msgstr "[vcard|csv]"
#: ../addressbook/tools/evolution-addressbook-export.c:61
msgid "Export in asynchronous mode"
-msgstr "Eksportuoti asinchronine veiksena"
+msgstr "Eksportuoti nesinchroniškai"
#: ../addressbook/tools/evolution-addressbook-export.c:63
msgid ""
"The number of cards in one output file in asychronous mode, default size 100."
msgstr ""
-"Kortelių kiekis vienoje išvedimo byloje dirbant asinchronine veiksena, "
+"Kortelių kiekis vienoje išvedimo byloje dirbant asinchroniškai, "
"standartiškai lygus 100 vnt."
#: ../addressbook/tools/evolution-addressbook-export.c:63
@@ -3723,7 +3720,7 @@ msgid ""
"Command line arguments error, please use --help option to see the usage."
msgstr ""
"Komandinės eilutės parametrų klaida. Norėdami pamatyti kaip naudotis, "
-"panaudokite --help parametrÄ…."
+"naudokite --help parametrÄ…."
#: ../addressbook/tools/evolution-addressbook-export.c:105
msgid "Only support csv or vcard format."
@@ -3731,7 +3728,7 @@ msgstr "Palaiko tik csv arba vcard formatus."
#: ../addressbook/tools/evolution-addressbook-export.c:114
msgid "In async mode, output must be file."
-msgstr "Dirbant asinchronine veiksena, išvedimas turi būti vykdomas į bylą."
+msgstr "Dirbant asinchroniškai, išvedimas turi būti vykdomas į bylą."
#: ../addressbook/tools/evolution-addressbook-export.c:122
msgid "In normal mode, there is no need for the size option."
@@ -3766,7 +3763,7 @@ msgid ""
"the meeting is canceled."
msgstr ""
"Jeigu neišsiųsite perspėjimo apie atšaukimą, kiti dalyviai gali nežinoti, "
-"kad susitikimas yra atšauktas."
+"kad susitikimas atšauktas."
#: ../calendar/calendar-errors.xml.h:5 ../calendar/calendar-errors.xml.h:15
#: ../calendar/calendar-errors.xml.h:25 ../calendar/calendar-errors.xml.h:87
@@ -3915,17 +3912,17 @@ msgstr ""
#. calendar:prompt-save-appointment title
#: ../calendar/calendar-errors.xml.h:68
msgid "Save Appointment"
-msgstr "Išsaugoti įvykį"
+msgstr "IÅ¡saugoti paskyrimÄ…"
#. calendar:prompt-save-appointment primary
#: ../calendar/calendar-errors.xml.h:70
msgid "Would you like to save your changes to this appointment?"
-msgstr "Ar norite išsaugoti pakeitimus atliktus šiam įvykiui?"
+msgstr "Ar norite išsaugoti pakeitimus, atliktus šiam įvykiui?"
#. calendar:prompt-save-appointment secondary
#: ../calendar/calendar-errors.xml.h:72
msgid "You have made changes to this appointment, but not yet saved them."
-msgstr "Jūs pakeitėte šį įvykį, bet pakeitimų dar neišsaugojote."
+msgstr "PakeitÄ—te šį įvykį, taÄiau dar neiÅ¡saugojote pakeitimų."
#: ../calendar/calendar-errors.xml.h:73 ../calendar/calendar-errors.xml.h:81
msgid "Discard Changes"
@@ -3943,17 +3940,17 @@ msgstr "Išsaugoti užduotį"
#. calendar:prompt-save-task primary
#: ../calendar/calendar-errors.xml.h:78
msgid "Would you like to save your changes to this task?"
-msgstr "Ar norite iÅ¡saugoti pakeitimus atliktus Å¡iai užduoÄiai?"
+msgstr "Ar norite išsaugoti šios užduoties pakeitimus?"
#. calendar:prompt-save-task secondary
#: ../calendar/calendar-errors.xml.h:80
msgid "You have made changes to this task, but not yet saved them."
-msgstr "Jūs pakeitėte šią užduotį, bet pakeitimų dar neišsaugojote."
+msgstr "PakeitÄ—te Å¡iÄ… užduotį, taÄiau dar neiÅ¡saugojote pakeitimų."
#. calendar:prompt-meeting-invite primary
#: ../calendar/calendar-errors.xml.h:84
msgid "Would you like to send meeting invitations to participants?"
-msgstr "Ar norite išsiųsti susitikimo dalyviams pakvietimus?"
+msgstr "Ar norite išsiųsti pakvietimus susitikimo dalyviams?"
#. calendar:prompt-meeting-invite secondary
#: ../calendar/calendar-errors.xml.h:86
@@ -3979,13 +3976,13 @@ msgid ""
"Sending updated information allows other participants to keep their "
"calendars up to date."
msgstr ""
-"Atnaujintos informacijos išsiuntimas leidžia kitiems dalyviams turėti jų "
-"kalendorius atnaujintus."
+"Atnaujintos informacijos išsiuntimas leidžia kitiems dalyviams atnaujinti "
+"kalendorius."
#. calendar:prompt-send-task primary
#: ../calendar/calendar-errors.xml.h:96
msgid "Would you like to send this task to participants?"
-msgstr "Ar norite dalyviams išsiųsti šią užduotį?"
+msgstr "Ar norite išsiųsti šią užduotį dalyviams?"
#. calendar:prompt-send-task secondary
#: ../calendar/calendar-errors.xml.h:98
@@ -3993,7 +3990,7 @@ msgid ""
"Email invitations will be sent to all participants and allow them to accept "
"this task."
msgstr ""
-"El. pašto pakvietimai bus išsiųsti kitiems dalyviams ir įgalins juos priimti "
+"El. pašto pakvietimai bus išsiųsti kitiems dalyviams ir leis jiems priimti "
"šią užduotį."
#. calendar:prompt-send-updated-task-info primary
@@ -4007,8 +4004,8 @@ msgid ""
"Sending updated information allows other participants to keep their task "
"lists up to date."
msgstr ""
-"Atnaujintos informacijos išsiuntimas leidžia kitiems dalyviams turėti jų "
-"užduoÄių sÄ…raÅ¡us atnaujintus."
+"Atnaujintos informacijos išsiuntimas leidžia kitiems dalyviams atnaujinti "
+"užduoÄių sÄ…raÅ¡us."
#. calendar:tasks-crashed primary
#: ../calendar/calendar-errors.xml.h:108
@@ -4018,7 +4015,7 @@ msgstr "Evolution užduotys netikėtai užsidarė."
#. calendar:tasks-crashed secondary
#: ../calendar/calendar-errors.xml.h:110
msgid "Your tasks will not be available until Evolution is restarted."
-msgstr "Jūsų užduotys nebus prieinamos kol Evolution nebus paleista iš naujo."
+msgstr "Jūsų užduotys nebus prieinamos, kol Evolution nebus paleista iš naujo."
#. calendar:calendar-crashed primary
#: ../calendar/calendar-errors.xml.h:112
@@ -4029,7 +4026,7 @@ msgstr "Evolution kalendorius netikėtai užsidarė."
#: ../calendar/calendar-errors.xml.h:114
msgid "Your calendars will not be available until Evolution is restarted."
msgstr ""
-"Jūsų kalendoriai bus neprieinami kol Evolution nebus paleista iš naujo."
+"Jūsų kalendoriai bus neprieinami, kol Evolution nebus paleista iš naujo."
#. calendar:prompt-delete-calendar primary
#: ../calendar/calendar-errors.xml.h:116
@@ -4054,7 +4051,7 @@ msgstr "Å is užduoÄių sÄ…raÅ¡as bus iÅ¡trintas visam laikui."
#. calendar:prompt-send-no-subject-calendar primary
#: ../calendar/calendar-errors.xml.h:124
msgid "Are you sure you want to send the appointment without a summary?"
-msgstr "Ar tikrai norite išsiųsti įvykį neparašę santraukos?"
+msgstr "Ar tikrai norite išsiųsti įvykį be santraukos?"
#. calendar:prompt-send-no-subject-calendar secondary
#: ../calendar/calendar-errors.xml.h:126
@@ -4062,8 +4059,8 @@ msgid ""
"Adding a meaningful Summary to your appointment will give your recipients an "
"idea of what your appointment is about."
msgstr ""
-"Pridėdami reikšmingą įvykio santrauką Jūs padėsite gavėjams suprasti apie ką "
-"yra Jūsų įvykis."
+"Pridėdami reikšmingą įvykio santrauką padėsite gavėjams suprasti, apie ką "
+"yra Å¡is paskyrimas."
#: ../calendar/calendar-errors.xml.h:127 ../calendar/calendar-errors.xml.h:132
#: ../mail/mail-errors.xml.h:15 ../mail/mail-errors.xml.h:20
@@ -4337,12 +4334,12 @@ msgid ""
"\n"
"Are you sure you want to run this program?"
msgstr ""
-"Tuoj turėtų pasileisti Evolution Kalendoriaus priminimas. Jis turėtų "
-"įvykdyti žemiau nurodytą komandą:\n"
+"Tuoj bus parodytas Evolution Kalendoriaus priminimas. Jis turėtų įvykdyti "
+"žemiau nurodytą komandą:\n"
"\n"
" %s\n"
"\n"
-"Ar esate tikri, kad ši komanda turi būti paleista?"
+"Ar tikrai norite, kad ši programa būtų paleista?"
#: ../calendar/gui/alarm-notify/alarm-queue.c:1128
msgid "Do not ask me about this program again."
@@ -4366,7 +4363,7 @@ msgstr "PerspÄ—jimo programos"
#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:2
msgid "Ask for confirmation when deleting items"
-msgstr "Trinant elementus paklausti patvirtinimo"
+msgstr "Paklausti patvirtinimo trinant elementus "
#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:3
msgid "Background color of tasks that are due today, in \"#rrggbb\" format."
@@ -4391,7 +4388,7 @@ msgstr "Patvirtinti išvalymą"
#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:8
msgid "Days on which the start and end of work hours should be indicated."
-msgstr "Dienos, kuriose turi būti pažymėtos pirma ir paskutinė darbo valandos."
+msgstr "Dienos, kuriose turi būti pažymėta darbo valandų pradžia bei pabaiga."
#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:9
msgid "Default appointment reminder"
@@ -4554,8 +4551,8 @@ msgid ""
"user part of the mail address and %d is replaced by the domain."
msgstr ""
"Adreso šablonas naudojamas kaip atsarginis laisvas/užsiėmęs informacijos "
-"skelbimo variantas, %u yra pakeiÄiama naudotojo el. paÅ¡to adreso dalimi ir "
-"%d yra pakeiÄiama domenu."
+"skelbimo variantas, %u pakeiÄiama naudotojo el. paÅ¡to adreso dalimi, o %d "
+"pakeiÄiama domenu."
#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:43
msgid ""
@@ -4611,8 +4608,8 @@ msgid ""
"Whether to compress weekends in the month view, which puts Saturday and "
"Sunday in the space of one weekday."
msgstr ""
-"Ar suspausti savaitgalius mÄ—nesio rodinyje. NustaÄius, rodomi Å¡eÅ¡tadienis "
-"ir sekmadienis užima vienos dienos vietą."
+"Ar suspausti savaitgalius mÄ—nesio vaizde. NustaÄius, Å¡eÅ¡tadienis ir "
+"sekmadienis užima vienos dienos vietą."
#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:56
msgid "Whether to display the end time of events in the week and month views."
@@ -4678,7 +4675,7 @@ msgstr "Neatitinkantys"
#: ../calendar/gui/calendar-commands.c:120
#: ../calendar/gui/calendar-component.c:708
#: ../calendar/gui/dialogs/calendar-setup.c:362
-#: ../calendar/gui/gnome-cal.c:1943
+#: ../calendar/gui/gnome-cal.c:1942
#: ../plugins/groupwise-account-setup/camel-gw-listener.c:382
#: ../plugins/groupwise-account-setup/camel-gw-listener.c:412
msgid "Calendar"
@@ -4695,7 +4692,7 @@ msgstr ""
#: ../calendar/gui/calendar-commands.c:361
msgid "Purge events older than"
-msgstr "Ištrinti įvykius senesnius nei"
+msgstr "Ištrinti įvykius, senesnius nei"
#: ../calendar/gui/calendar-commands.c:366
#: ../calendar/gui/dialogs/alarm-dialog.glade.h:20
@@ -4740,7 +4737,7 @@ msgstr "Nepavyko atverti kalendoriaus „%s“ įvykių bei susitikimų įrašym
#: ../calendar/gui/calendar-component.c:1155
msgid "There is no calendar available for creating events and meetings"
-msgstr "Nėra sukurta kalendoriaus naudojamo įvykių bei susitikimų saugojimui"
+msgstr "Nėra kalendoriaus, kuriame galima kurti įvykius bei susitikimus"
#: ../calendar/gui/calendar-component.c:1265
msgid "Calendar Source Selector"
@@ -4812,17 +4809,17 @@ msgstr "MÄ—nesio vaizdas"
#: ../calendar/gui/comp-editor-factory.c:413
msgid "Error while opening the calendar"
-msgstr "Klaida atidarant kalendorių"
+msgstr "Klaida atveriant kalendorių"
#: ../calendar/gui/comp-editor-factory.c:419
msgid "Method not supported when opening the calendar"
-msgstr "Atidarant kalendorių naudojamas nepalaikomas metodas"
+msgstr "Atveriant kalendorių naudojamas nepalaikomas metodas"
#: ../calendar/gui/comp-editor-factory.c:425
msgid "Permission denied to open the calendar"
-msgstr "Turimos priėjimo teisės neleidžia atidaryti kalendoriaus"
+msgstr "Turimos priėjimo teisės neleidžia atverti kalendoriaus"
-#: ../calendar/gui/comp-editor-factory.c:437 ../shell/e-shell.c:1260
+#: ../calendar/gui/comp-editor-factory.c:437 ../shell/e-shell.c:1264
msgid "Unknown error"
msgstr "Nežinoma klaida"
@@ -4965,7 +4962,7 @@ msgid "%.0fG"
msgstr "%.0fG"
#: ../calendar/gui/dialogs/cal-attachment-bar.c:298
-#: ../calendar/gui/dialogs/cal-attachment-bar.c:913
+#: ../calendar/gui/dialogs/cal-attachment-bar.c:922
#: ../composer/e-msg-composer-attachment-bar.c:295 ../mail/em-utils.c:436
msgid "attachment"
msgstr "priedas"
@@ -5047,7 +5044,7 @@ msgstr "MIME tipas:"
#. g_object_set((GObject *)renderer, "activatable", TRUE, NULL);
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:576
-#: ../mail/em-account-prefs.c:460 ../mail/em-composer-prefs.c:888
+#: ../mail/em-account-prefs.c:476 ../mail/em-composer-prefs.c:888
#: ../plugins/plugin-manager/plugin-manager.c:213
msgid "Enabled"
msgstr "Įjungta"
@@ -5067,16 +5064,16 @@ msgstr "Netrinti"
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:787
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:820
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:853
-#: ../mail/em-account-prefs.c:307 ../mail/em-account-prefs.c:335
-#: ../mail/em-account-prefs.c:366
+#: ../mail/em-account-prefs.c:323 ../mail/em-account-prefs.c:351
+#: ../mail/em-account-prefs.c:382
msgid "Disable"
msgstr "IÅ¡jungti"
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:787
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:820
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:855
-#: ../mail/em-account-prefs.c:307 ../mail/em-account-prefs.c:335
-#: ../mail/em-account-prefs.c:368
+#: ../mail/em-account-prefs.c:323 ../mail/em-account-prefs.c:351
+#: ../mail/em-account-prefs.c:384
msgid "Enable"
msgstr "Įjungti"
@@ -5214,7 +5211,7 @@ msgstr "Sekmadienis"
#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:34
msgid "T_asks due today:"
-msgstr "Ši_andienos užduotis:"
+msgstr "Ši_andienos užduotys:"
#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:35
msgid "T_hu"
@@ -5272,7 +5269,7 @@ msgstr "_PridÄ—ti URL"
#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:47
msgid "_Ask for confirmation when deleting items"
-msgstr "P_aprašyti patvirtinimo trinant elementus"
+msgstr "Pr_ašyti patvirtinimo trinant elementus"
#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:48
msgid "_Compress weekends in month view"
@@ -5304,7 +5301,7 @@ msgstr "Š_eš"
#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:56
msgid "_Show appointment end times in week and month views"
-msgstr "Rodyti pa_skyrimų pabaigos laikus savaitės ir mėnesio rodiniuose"
+msgstr "Rodyti pa_skyrimų pabaigos laikus savaitės ir mėnesio vaizduose"
#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:57
msgid "_Time divisions:"
@@ -5404,12 +5401,12 @@ msgstr "Šis žurnalo įrašas buvo ištrintas."
#: ../calendar/gui/dialogs/changed-comp.c:77
#, c-format
msgid "%s You have made changes. Forget those changes and close the editor?"
-msgstr "%s Jūs pakeitėte. Užmiršti tuos pakeitimus ir uždaryti redaktorių?"
+msgstr "%s Atlikote pakeitimų. Užmiršti pakeitimus ir uždaryti redaktorių?"
#: ../calendar/gui/dialogs/changed-comp.c:79
#, c-format
msgid "%s You have made no changes, close the editor?"
-msgstr "%s Jūs nieko nepakeitėte, uždaryti redaktorių?"
+msgstr "%s Nieko nekeitėte, uždaryti redaktorių?"
#: ../calendar/gui/dialogs/changed-comp.c:84
msgid "This event has been changed."
@@ -5426,12 +5423,12 @@ msgstr "Šis žurnalo įrašas buvo pakeistas."
#: ../calendar/gui/dialogs/changed-comp.c:101
#, c-format
msgid "%s You have made changes. Forget those changes and update the editor?"
-msgstr "%s Jūs pakeitėte. Užmiršti tuos pakeitimus ir atnaujinti redaktorių?"
+msgstr "%s Atlikote pakeitimų. Užmiršti pakeitimus ir atnaujinti redaktorių?"
#: ../calendar/gui/dialogs/changed-comp.c:103
#, c-format
msgid "%s You have made no changes, update the editor?"
-msgstr "%s Jūs nieko nepakeitėte, atnaujinti redaktorių?"
+msgstr "%s Nieko nepakeitėte, atnaujinti redaktorių?"
#: ../calendar/gui/dialogs/comp-editor-page.c:464
#, c-format
@@ -5503,9 +5500,9 @@ msgstr "Nepavyko atnaujinti objekto"
#, c-format
msgid "<b>%d</b> File Attached"
msgid_plural "<b>%d</b> Files Attached"
-msgstr[0] "<b>%d</b> prikabinta byla"
-msgstr[1] "<b>%d</b> prikabintos bylos"
-msgstr[2] "<b>%d</b> prikabintų bylų"
+msgstr[0] "<b>%d</b> prisegta byla"
+msgstr[1] "<b>%d</b> prisegtos bylos"
+msgstr[2] "<b>%d</b> prisegtų bylų"
#: ../calendar/gui/dialogs/comp-editor.c:900 ../composer/e-msg-composer.c:2339
msgid "Hide _Attachment Bar (drop attachments here)"
@@ -5567,8 +5564,7 @@ msgstr "Nėra apžvalgos"
#: ../calendar/gui/dialogs/comp-editor.c:2063
#: ../calendar/gui/dialogs/comp-editor.c:2087
msgid "Changes made to this item may be discarded if an update arrives"
-msgstr ""
-"Pakeitimai padaryti Å¡iame punkte bus prarasti, jei atsiras atnaujinimai"
+msgstr "Šio įrašo pakeitimai, jei bus atnaujinimų"
#: ../calendar/gui/dialogs/comp-editor.c:2111
msgid "Unable to use current version!"
@@ -5576,63 +5572,63 @@ msgstr "Nepavyko paleisti turimos versijos!"
#: ../calendar/gui/dialogs/copy-source-dialog.c:61
msgid "Could not open source"
-msgstr "Nepavyko atidaryti Å¡altinio"
+msgstr "Nepavyko atverti Å¡altinio"
#: ../calendar/gui/dialogs/copy-source-dialog.c:69
msgid "Could not open destination"
-msgstr "Nepavyko atidaryti paskirties vietos"
+msgstr "Nepavyko atverti paskirties vietos"
#: ../calendar/gui/dialogs/copy-source-dialog.c:78
msgid "Destination is read only"
-msgstr "Paskirties vieta yra tik skaitoma"
+msgstr "Paskirties vieta yra tik skaitymui"
#: ../calendar/gui/dialogs/delete-error.c:54
msgid "The event could not be deleted due to a corba error"
-msgstr "Dėl corba klaidos nepavyko ištrinti įvykio"
+msgstr "Nepavyko ištrinti įvykio dėl CORBA klaidos"
#: ../calendar/gui/dialogs/delete-error.c:57
msgid "The task could not be deleted due to a corba error"
-msgstr "Dėl corba klaidos nepavyko ištrinti užduoties"
+msgstr "Nepavyko ištrinti užduoties dėl CORBA klaidos"
#: ../calendar/gui/dialogs/delete-error.c:60
msgid "The journal entry could not be deleted due to a corba error"
-msgstr "Dėl corba klaidos nepavyko ištrinti žurnalo įrašo"
+msgstr "Nepavyko ištrinti žurnalo įrašo dėl CORBA klaidos"
#: ../calendar/gui/dialogs/delete-error.c:63
msgid "The item could not be deleted due to a corba error"
-msgstr "Corba klaida neleido ištrinti elemento"
+msgstr "Nepavyko ištrinti įrašo dėl CORBA klaidos"
#: ../calendar/gui/dialogs/delete-error.c:70
msgid "The event could not be deleted because permission was denied"
-msgstr "Įvykis negali būti ištrintas, kadangi nepakanta turimų teisių"
+msgstr "Įvykis negali būti ištrintas, kadangi nepakanka teisių"
#: ../calendar/gui/dialogs/delete-error.c:73
msgid "The task could not be deleted because permission was denied"
-msgstr "Užduotis negali būti ištrinta, nes nepakanka turimų teisių"
+msgstr "Užduotis negali būti ištrinta, nes nepakanka teisių"
#: ../calendar/gui/dialogs/delete-error.c:76
msgid "The journal entry could not be deleted because permission was denied"
-msgstr "Žurnalo įrašas negali būti ištrintas, nes nepakanka turimų teisių"
+msgstr "Žurnalo įrašas negali būti ištrintas, nes nepakanka teisių"
#: ../calendar/gui/dialogs/delete-error.c:79
msgid "The item could not be deleted because permission was denied"
-msgstr "Punktas negali būti ištrintas, nes nepakanka turimų teisių"
+msgstr "Punktas negali būti ištrintas, nes nepakanka teisių"
#: ../calendar/gui/dialogs/delete-error.c:86
msgid "The event could not be deleted due to an error"
-msgstr "Klaida neleido ištrinti įvykio"
+msgstr "Įvykio nepavyko ištrinti dėl klaidos"
#: ../calendar/gui/dialogs/delete-error.c:89
msgid "The task could not be deleted due to an error"
-msgstr "Klaida neleido ištrinti užduoties"
+msgstr "Užduoties nepavyko ištrinti dėl klaidos"
#: ../calendar/gui/dialogs/delete-error.c:92
msgid "The journal entry could not be deleted due to an error"
-msgstr "Klaida neleido ištrinti žurnalo įrašo"
+msgstr "Žurnalo įrašo nepavyko ištrinti dėl klaidos"
#: ../calendar/gui/dialogs/delete-error.c:95
msgid "The item could not be deleted due to an error"
-msgstr "Klaida neleido ištrinti elemento"
+msgstr "Įrašo nepavyko ištrinti dėl klaidos"
#: ../calendar/gui/dialogs/e-delegate-dialog.glade.h:1
msgid "Contacts..."
@@ -5690,7 +5686,7 @@ msgstr "Klaidingas pabaigos laikas"
#: ../calendar/gui/dialogs/event-page.c:1675
#, c-format
msgid "Unable to open the calendar '%s'."
-msgstr "Nepavyko atidaryti kalendoriaus „%s“."
+msgstr "Nepavyko atverti kalendoriaus „%s“."
#: ../calendar/gui/dialogs/event-page.c:1881
#, c-format
@@ -5838,8 +5834,8 @@ msgstr "_Pradžios laikas:"
#: ../calendar/gui/dialogs/meeting-page.glade.h:5
#: ../calendar/gui/e-cal-model-tasks.c:652
#: ../calendar/gui/e-itip-control.c:1104 ../composer/e-msg-composer.c:2117
-#: ../filter/filter-rule.c:878 ../mail/em-account-editor.c:684
-#: ../mail/em-account-editor.c:1290 ../mail/em-account-prefs.c:421
+#: ../filter/filter-rule.c:878 ../mail/em-account-editor.c:685
+#: ../mail/em-account-editor.c:1291 ../mail/em-account-prefs.c:437
#: ../mail/em-folder-view.c:993
#: ../plugins/calendar-weather/calendar-weather.c:371
#: ../plugins/calendar-weather/calendar-weather.c:425
@@ -6026,7 +6022,7 @@ msgstr "pirmas"
#: ../calendar/gui/dialogs/recurrence-page.c:985
msgid "second"
-msgstr "sekundÄ—"
+msgstr "antras"
#: ../calendar/gui/dialogs/recurrence-page.c:986
msgid "third"
@@ -6366,7 +6362,7 @@ msgstr "%s yra skirtas nežinomam daviklio tipui"
#: ../calendar/gui/e-cal-component-preview.c:70 ../mail/em-folder-view.c:2573
#, c-format
msgid "Click to open %s"
-msgstr "NorÄ—dami atidaryti %s, paspauskite Äia"
+msgstr "NorÄ—dami atverti %s, spragtelkite Äia"
#: ../calendar/gui/e-cal-component-preview.c:155 ../filter/filter-rule.c:795
msgid "Untitled"
@@ -6452,7 +6448,7 @@ msgid ""
"\n"
"45.436845,125.862501"
msgstr ""
-"Geografinė vietovė turi būti įvesta formatu:\n"
+"Geografinė pozicija turi būti įvesta formatu:\n"
"\n"
"45.436845,125.862501"
@@ -6562,7 +6558,7 @@ msgstr "Ati_daryti"
#: ../calendar/gui/e-calendar-table.c:1157
msgid "Open _Web Page"
-msgstr "Atverti Tinklapį"
+msgstr "Atverti tinklalapį"
#: ../calendar/gui/e-calendar-table.c:1158
#: ../calendar/gui/e-calendar-view.c:1396 ../mail/em-folder-view.c:976
@@ -6606,7 +6602,7 @@ msgstr "_Pažymėti užbaigta"
#: ../calendar/gui/e-calendar-table.c:1172
msgid "_Mark Selected Tasks as Complete"
-msgstr "_Pažymėti Pasirinktas Užduotis kaip Užbaigtas"
+msgstr "_Pažymėti pasirinktas užduotis užbaigtomis"
#. FIXME: need to disable for undeletable folders
#: ../calendar/gui/e-calendar-table.c:1176
@@ -6914,12 +6910,12 @@ msgstr "Atmestas"
msgid ""
"The meeting has been cancelled, however it could not be found in your "
"calendars"
-msgstr "Å is susitikimas buvo atÅ¡auktas, taÄiau jo JÅ«sų kalendoriuose nÄ—ra"
+msgstr "Å is susitikimas buvo atÅ¡auktas, taÄiau jo nÄ—ra JÅ«sų kalendoriuose"
#: ../calendar/gui/e-itip-control.c:1231
msgid ""
"The task has been cancelled, however it could not be found in your task lists"
-msgstr "Å i užduotis buvo atÅ¡aukta, taÄiau jos JÅ«sų kalendoriuose nÄ—ra"
+msgstr "Å i užduotis buvo atÅ¡aukta, taÄiau jos nÄ—ra JÅ«sų kalendoriuose"
#: ../calendar/gui/e-itip-control.c:1310
#, c-format
@@ -6989,7 +6985,7 @@ msgstr "<b>%s</b> atsiuntė nesuprantamą atsakymą į užklausimą."
#: ../calendar/gui/e-itip-control.c:1359
msgid "Bad Meeting Message"
-msgstr "Blogas susitikimo pranešimas"
+msgstr "Netaisyklingas susitikimo pranešimas"
#: ../calendar/gui/e-itip-control.c:1386
#, c-format
@@ -7092,7 +7088,7 @@ msgstr "Pranešimas nėra teisingai suformuotas"
#: ../calendar/gui/e-itip-control.c:1610
msgid "The message contains only unsupported requests."
-msgstr "Pranešime yra išvardinti tik nepalaikomi prašymai."
+msgstr "Pranešime išvardinti tik nepalaikomi prašymai."
#: ../calendar/gui/e-itip-control.c:1643
msgid "The attachment does not contain a valid calendar message"
@@ -7159,15 +7155,15 @@ msgstr "Priimti"
#: ../calendar/gui/e-itip-control.c:2261
msgid "Tentatively accept"
-msgstr "Sutikti, bet negarantuoti"
+msgstr "Preliminariai sutikti"
#: ../calendar/gui/e-itip-control.c:2262
msgid "Decline"
-msgstr " Atmesti "
+msgstr "Atmesti"
#: ../calendar/gui/e-itip-control.c:2291
msgid "Send Free/Busy Information"
-msgstr "Siųsti Laisvas/Užimtas Informaciją"
+msgstr "Siųsti laisvas/užimtas informaciją"
#: ../calendar/gui/e-itip-control.c:2319
msgid "Update respondent status"
@@ -7387,7 +7383,7 @@ msgstr "Būtini žmonės ir _vienas resursas"
msgid "Enter the password for %s"
msgstr "Įveskite „%s“ slaptažodį"
-#: ../calendar/gui/e-tasks.c:763 ../calendar/gui/gnome-cal.c:2373
+#: ../calendar/gui/e-tasks.c:763 ../calendar/gui/gnome-cal.c:2372
#, c-format
msgid ""
"Error on %s:\n"
@@ -7403,7 +7399,7 @@ msgstr "Įkeliamos užduotys"
#: ../calendar/gui/e-tasks.c:895
#, c-format
msgid "Opening tasks at %s"
-msgstr "Atidaromos užduotys %s"
+msgstr "Atveriamos užduotys %s"
#: ../calendar/gui/e-tasks.c:1091
msgid "Completing tasks..."
@@ -7433,34 +7429,34 @@ msgid "Updating query"
msgstr "Atnaujinama užklausa"
#. bonobo displays this string so it must be in locale
-#: ../calendar/gui/gnome-cal.c:2058 ../widgets/menus/gal-view-menus.c:351
+#: ../calendar/gui/gnome-cal.c:2057 ../widgets/menus/gal-view-menus.c:351
msgid "Custom View"
msgstr "Naudotojo pritaikytas vaizdas"
-#: ../calendar/gui/gnome-cal.c:2059
+#: ../calendar/gui/gnome-cal.c:2058
msgid "Save Custom View"
msgstr "IÅ¡saugoti naudotojo pritaikytÄ… vaizdÄ…"
-#: ../calendar/gui/gnome-cal.c:2064 ../widgets/menus/gal-view-menus.c:373
+#: ../calendar/gui/gnome-cal.c:2063 ../widgets/menus/gal-view-menus.c:373
msgid "Define Views..."
msgstr "Nurodyti vaizdus..."
-#: ../calendar/gui/gnome-cal.c:2223
+#: ../calendar/gui/gnome-cal.c:2222
#, c-format
msgid "Loading appointments at %s"
msgstr "Įkeliami %s paskyrimai"
-#: ../calendar/gui/gnome-cal.c:2242
+#: ../calendar/gui/gnome-cal.c:2241
#, c-format
msgid "Loading tasks at %s"
msgstr "Įkeliamos %s užduotys"
-#: ../calendar/gui/gnome-cal.c:2339
+#: ../calendar/gui/gnome-cal.c:2338
#, c-format
msgid "Opening %s"
-msgstr "Atidaroma %s"
+msgstr "Atveriama %s"
-#: ../calendar/gui/gnome-cal.c:3229
+#: ../calendar/gui/gnome-cal.c:3228
msgid "Purging"
msgstr "IÅ¡valoma"
@@ -7543,7 +7539,7 @@ msgstr "Žurnalo informacija"
#: ../calendar/gui/itip-utils.c:399 ../calendar/gui/itip-utils.c:524
msgid "Free/Busy information"
-msgstr "Laisvas/užsiėmęs informacija"
+msgstr "Laisvas/užimtas informacija"
#: ../calendar/gui/itip-utils.c:401
msgid "Calendar information"
@@ -7584,7 +7580,7 @@ msgstr ""
"PasikeitÄ— Evolution užduoÄių aplankų hierarchija ir vieta, lyginant su tuo, "
"kokia ji buvo Evolution 1.x versijose.\n"
"\n"
-"Palaukite kol Evolution perkels Jūsų aplankus..."
+"Palaukite kol Evolution perkels aplankus..."
#: ../calendar/gui/migration.c:155
msgid ""
@@ -7596,7 +7592,7 @@ msgstr ""
"PasikeitÄ— Evolution užduoÄių aplankų hierarchija ir vieta, lyginant su tuo, "
"kokia ji buvo Evolution 1.x versijose.\n"
"\n"
-"Palaukite kol Evolution perkels Jūsų aplankus..."
+"Palaukite kol Evolution perkels aplankus..."
#. FIXME: set proper domain/code
#: ../calendar/gui/migration.c:745 ../calendar/gui/migration.c:912
@@ -9557,7 +9553,7 @@ msgstr "_Cc:"
#: ../composer/e-msg-composer-hdrs.c:613
msgid "Enter the addresses that will receive a carbon copy of the message"
-msgstr "Įveskite adresus, kuriais bus išsiųsta šio laiško kopiją"
+msgstr "Įveskite adresus, kuriais bus išsiųsta šio laiško kopija"
#: ../composer/e-msg-composer-hdrs.c:616
msgid "_Bcc:"
@@ -9603,15 +9599,15 @@ msgstr ""
#: ../composer/e-msg-composer.c:1222 ../composer/e-msg-composer.c:1255
msgid "Unknown reason"
-msgstr "Nežinomas priežastis"
+msgstr "Nežinoma priežastis"
#: ../composer/e-msg-composer.c:1292
msgid "Could not open file"
-msgstr "Nepavyko atidaryti bylos"
+msgstr "Nepavyko atverti bylos"
#: ../composer/e-msg-composer.c:1300
msgid "Unable to retrieve message from editor"
-msgstr "Nepavyko gauti laiško iš redaktoriaus"
+msgstr "Nepavyko gauti laiško iš teksto redaktoriaus"
#: ../composer/e-msg-composer.c:1570
msgid "Untitled Message"
@@ -9620,10 +9616,10 @@ msgstr "Neužvardintas laiškas"
#. NB: This function is never used anymore
#: ../composer/e-msg-composer.c:1604
msgid "Open File"
-msgstr "Atidaryti bylÄ…"
+msgstr "Atverti bylÄ…"
-#: ../composer/e-msg-composer.c:2001 ../mail/em-account-editor.c:587
-#: ../mail/em-account-editor.c:632 ../mail/em-account-editor.c:699
+#: ../composer/e-msg-composer.c:2001 ../mail/em-account-editor.c:588
+#: ../mail/em-account-editor.c:633 ../mail/em-account-editor.c:700
msgid "Autogenerated"
msgstr "Autogeneruotas"
@@ -9647,12 +9643,12 @@ msgstr ""
#. mail-composer:no-attach primary
#: ../composer/mail-composer-errors.xml.h:2
msgid "You cannot attach the file `{0}' to this message."
-msgstr "Jūs negalite prie šio laiško prisegti bylos „{0}“."
+msgstr "Jūs negalite prisegti bylos „{0}“ prie šio laiško."
#. mail-composer:attach-notfile primary
#: ../composer/mail-composer-errors.xml.h:6
msgid "The file `{0}' is not a regular file and cannot be sent in a message."
-msgstr "Byla „{0}“ nėra paprasta byla ir negali būti išsiųsta šiuo laišku."
+msgstr "Byla „{0}“ nėra paprasta byla ir negali būti išsiųsta laišku."
#. mail-composer:attach-directory primary
#: ../composer/mail-composer-errors.xml.h:8
@@ -9690,7 +9686,7 @@ msgstr "Dėl „{1}“."
#. mail-composer:recover-autosave title
#: ../composer/mail-composer-errors.xml.h:16
msgid "Unfinished messages found"
-msgstr "Rastos nebaigtos žinutės"
+msgstr "Rasta nebaigtÄ— žinuÄių"
#. mail-composer:recover-autosave primary
#: ../composer/mail-composer-errors.xml.h:18
@@ -9703,8 +9699,8 @@ msgid ""
"Evolution quit unexpectedly while you were composing a new message. "
"Recovering the message will allow you to continue where you left off."
msgstr ""
-"Jums rašant naują žinutę, Evolution netikėtai užsidarė. Žinutės atkūrimas "
-"leis Jums tęsti žinutės rašymą nuo ten, kur baigėte."
+"Jums rašant žinutę, Evolution netikėtai užsidarė. Žinutės atkūrimas leis "
+"tęsti žinutės rašymą nuo ten, kur baigėte."
#: ../composer/mail-composer-errors.xml.h:21
msgid "Don't Recover"
@@ -9734,7 +9730,7 @@ msgstr "Įspėjimas: laiškas pakeistas"
msgid ""
"Are you sure you want to discard the message, titled '{0}', you are "
"composing?"
-msgstr "Ar tikrai norite atsisakyti Jūsų rašomos žinutės, pavadintos „{0}?"
+msgstr "Ar tikrai norite atsisakyti rašomos žinutės, pavadintos „{0}?"
#. mail-composer:exit-unsaved secondary
#: ../composer/mail-composer-errors.xml.h:32
@@ -9743,9 +9739,9 @@ msgid ""
"you choose to save the message in your Drafts folder. This will allow you to "
"continue the message at a later date."
msgstr ""
-"Jeigu uždarysite šio redaktoriaus langą, Jūsų žinutė bus panaikinta, nebent "
-"JÅ«s pasirinksite iÅ¡saugoti jÄ… JÅ«sų juodraÅ¡Äių aplanke. Å iuo atveju JÅ«s "
-"vėliau galėsite toliau tęsti šios žinutės redagavimą."
+"Jei uždarysite šio redaktoriaus langą, Jūsų žinutė bus panaikinta, nebent "
+"pasirinksite iÅ¡saugoti jÄ… juodraÅ¡Äių aplanke. Tokiu atveju vÄ—liau galÄ—site "
+"toliau tęsti šios žinutės redagavimą."
#: ../composer/mail-composer-errors.xml.h:33
msgid "_Discard Changes"
@@ -9763,7 +9759,7 @@ msgstr "Nepavyko sukurti žinutės."
#. mail-composer:no-build-message secondary
#: ../composer/mail-composer-errors.xml.h:38
msgid "Because \"{0}\", you may need to select different mail options."
-msgstr "Dėl „{0}“, Jums gali reikti pasirinkti kitus pašto nustatymus."
+msgstr "Dėl „{0}“, gali reikti pasirinkti kitus pašto nustatymus."
#. mail-composer:no-sig-file primary
#: ../composer/mail-composer-errors.xml.h:40
@@ -9779,7 +9775,7 @@ msgstr "Visi abonentai buvo pašalinti."
#: ../composer/mail-composer-errors.xml.h:46
msgid "You need to configure an account before you can compose mail."
msgstr ""
-"Prieš pradėdami rašyti laiškus Jūs turite nustatyti savo pašto abonento "
+"Prieš pradėdami rašyti laiškus turite nustatyti savo pašto abonento "
"parametrus."
#. mail-composer:no-address-control primary
@@ -9897,7 +9893,7 @@ msgstr "Visada išsiųsti perskaitymo pranešimą"
#: ../designs/read_receipts/read.glade.h:7
msgid "Ask me if I want to send back a read receipt"
-msgstr "Paklausti ar galima siųsti perskaitymo pranešimą"
+msgstr "Paklausti, ar siųsti perskaitymo pranešimą"
#: ../designs/read_receipts/read.glade.h:8
msgid "Never send back a read receipt"
@@ -9913,7 +9909,7 @@ msgstr "PraÅ¡yti skaitymo patvirtinimo kiekviename siunÄiamame laiÅ¡ke"
#: ../designs/read_receipts/read.glade.h:11
msgid "Unless the message is sent to a mailing list, and not to me personally"
-msgstr "Jei žinutė yra siųsta į susirašinėjimo sąrašą, o ne asmeniškai"
+msgstr "Nebent jei žinutÄ— siunÄiama į konferencijÄ…, o ne asmeniÅ¡kai"
#: ../designs/read_receipts/read.glade.h:12
msgid ""
@@ -10109,7 +10105,7 @@ msgstr "%Y %m %d"
#: ../filter/filter-datespec.c:406
msgid "Select a time to compare against"
-msgstr "Pasirinkit laikÄ…, su kuriuo palyginti"
+msgstr "Pasirinkite laikÄ…, su kuriuo lyginti"
#. filter:no-date primary
#: ../filter/filter-errors.xml.h:2
@@ -10145,7 +10141,7 @@ msgstr "Bloga reguliarioji išraiška „{0}“."
#. filter:bad-regexp secondary
#: ../filter/filter-errors.xml.h:16
msgid "Could not compile regular expression \"{1}\"."
-msgstr "Nepavyko sukompiliuoti reguliarios išraiškos „{1}“."
+msgstr "Nepavyko sukompiliuoti reguliariosios išraiškos „{1}“."
#. filter:no-name primary
#. mail:no-name-vfolder primary
@@ -10333,7 +10329,7 @@ msgstr ""
#: ../mail/GNOME_Evolution_Mail.server.in.in.h:4
msgid "Configure your email accounts here"
-msgstr "Čia galite konfigūruoti Jūsų pašto abonementus"
+msgstr "Čia galite konfigūruoti pašto abonementus"
#: ../mail/GNOME_Evolution_Mail.server.in.in.h:5
msgid "Evolution Mail"
@@ -10349,15 +10345,15 @@ msgstr "Evolution pašto komponentas"
#: ../mail/GNOME_Evolution_Mail.server.in.in.h:8
msgid "Evolution Mail composer"
-msgstr "Evolution pašto rašymas"
+msgstr "Evolution laiškų redaktorius"
#: ../mail/GNOME_Evolution_Mail.server.in.in.h:9
msgid "Evolution Mail composer configuration control"
-msgstr "Evolution pašto rašymo nustatymų valdymas"
+msgstr "Evolution laiškų rašymo nustatymai"
#: ../mail/GNOME_Evolution_Mail.server.in.in.h:10
msgid "Evolution Mail preferences control"
-msgstr "Evolution pašto nustatymų valdymas"
+msgstr "Evolution pašto nustatymai"
#: ../mail/GNOME_Evolution_Mail.server.in.in.h:11 ../mail/em-folder-view.c:469
#: ../mail/importers/elm-importer.c:418
@@ -10380,12 +10376,12 @@ msgstr "Pašto nustatymai"
msgid "_Mail"
msgstr "_Paštas"
-#: ../mail/em-account-editor.c:386
+#: ../mail/em-account-editor.c:387
#, c-format
msgid "%s License Agreement"
msgstr "Sutikimas su %s sutartimi"
-#: ../mail/em-account-editor.c:393
+#: ../mail/em-account-editor.c:394
#, c-format
msgid ""
"\n"
@@ -10394,66 +10390,66 @@ msgid ""
"and tick the check box for accepting it\n"
msgstr ""
"\n"
-"Prašom atidžiai perskaityti žemiau rodomą sutikimą\n"
+"Atidžiai perskaitykite žemiau rodomą sutikimą\n"
"su %s sutartimi\n"
"ir jeigu su ja sutinkate, pažymÄ—kite paukÅ¡ÄiukÄ…\n"
-#: ../mail/em-account-editor.c:463 ../mail/em-filter-folder-element.c:237
+#: ../mail/em-account-editor.c:464 ../mail/em-filter-folder-element.c:237
#: ../mail/em-vfolder-rule.c:494
msgid "Select Folder"
msgstr "Pasirinkite aplankÄ…"
-#: ../mail/em-account-editor.c:1663 ../mail/mail-config.glade.h:89
+#: ../mail/em-account-editor.c:1664 ../mail/mail-config.glade.h:89
msgid "Identity"
msgstr "AsmenybÄ—"
-#: ../mail/em-account-editor.c:1699 ../mail/mail-config.glade.h:114
+#: ../mail/em-account-editor.c:1700 ../mail/mail-config.glade.h:114
msgid "Receiving Email"
msgstr "Pašto gavimas"
-#: ../mail/em-account-editor.c:1876
+#: ../mail/em-account-editor.c:1877
msgid "Automatically check for _new mail every"
-msgstr "Automatiškai tinkrinti _naujo pašto kas"
+msgstr "Automatiškai tikrinti _naujo pašto kas"
-#: ../mail/em-account-editor.c:2044 ../mail/mail-config.glade.h:124
+#: ../mail/em-account-editor.c:2045 ../mail/mail-config.glade.h:124
msgid "Sending Email"
msgstr "Pašto siuntimas"
-#: ../mail/em-account-editor.c:2088 ../mail/mail-config.glade.h:67
+#: ../mail/em-account-editor.c:2089 ../mail/mail-config.glade.h:67
msgid "Defaults"
msgstr "Įprastos reikšmės"
-#: ../mail/em-account-editor.c:2147 ../mail/mail-config.glade.h:119
+#: ../mail/em-account-editor.c:2148 ../mail/mail-config.glade.h:119
msgid "Security"
msgstr "Saugumas"
#. Most sections for this is auto-generated fromt the camel config
-#: ../mail/em-account-editor.c:2184 ../mail/em-account-editor.c:2259
+#: ../mail/em-account-editor.c:2185 ../mail/em-account-editor.c:2260
msgid "Receiving Options"
msgstr "Gavimo nustatymai"
-#: ../mail/em-account-editor.c:2185 ../mail/em-account-editor.c:2260
+#: ../mail/em-account-editor.c:2186 ../mail/em-account-editor.c:2261
msgid "Checking for New Mail"
msgstr "Tikrinama, ar yra naujų laiškų"
-#: ../mail/em-account-editor.c:2600 ../mail/mail-config.glade.h:33
+#: ../mail/em-account-editor.c:2585 ../mail/mail-config.glade.h:33
msgid "Account Editor"
msgstr "Abonementų tvarkyklė"
-#: ../mail/em-account-editor.c:2600 ../mail/mail-config.glade.h:79
+#: ../mail/em-account-editor.c:2585 ../mail/mail-config.glade.h:79
msgid "Evolution Account Assistant"
msgstr "Evolution abonementų padėjėjas"
#. translators: default account indicator
-#: ../mail/em-account-prefs.c:412
+#: ../mail/em-account-prefs.c:428
msgid "[Default]"
msgstr "[Įprasta]"
-#: ../mail/em-account-prefs.c:466
+#: ../mail/em-account-prefs.c:482
msgid "Account name"
msgstr "Abonemento vardas"
-#: ../mail/em-account-prefs.c:468
+#: ../mail/em-account-prefs.c:484
msgid "Protocol"
msgstr "Protokolas"
@@ -10500,7 +10496,7 @@ msgstr "_Filtravimo taisyklÄ—s"
#. Automatically generated. Do not edit.
#: ../mail/em-filter-i18n.h:2
msgid "Adjust Score"
-msgstr "Adjust Score"
+msgstr "Keisti įvertį"
#: ../mail/em-filter-i18n.h:3
msgid "Assign Color"
@@ -10520,7 +10516,7 @@ msgstr "Signalas"
#: ../mail/em-filter-i18n.h:7
msgid "contains"
-msgstr "susideda iš"
+msgstr "viduje turi"
#: ../mail/em-filter-i18n.h:8
msgid "Copy to Folder"
@@ -10540,7 +10536,7 @@ msgstr "IÅ¡trintas"
#: ../mail/em-filter-i18n.h:13
msgid "does not contain"
-msgstr "nesusideda iš"
+msgstr "viduje neturi"
#: ../mail/em-filter-i18n.h:14
msgid "does not end with"
@@ -10873,7 +10869,7 @@ msgstr "_Perkelti į aplanką"
#: ../mail/em-folder-tree.c:1750 ../mail/mail-ops.c:1026
#, c-format
msgid "Scanning folders in \"%s\""
-msgstr "Skanuojami aplankai, esantys „%s“"
+msgstr "Peržiūrimi aplankai, esantys „%s“"
#: ../mail/em-folder-tree.c:2023
#, c-format
@@ -10925,7 +10921,7 @@ msgstr "_Rodyti"
#: ../mail/em-folder-tree.c:2803
msgid "Open in _New Window"
-msgstr "Atidaryti _naujame lange"
+msgstr "Atverti _naujame lange"
#: ../mail/em-folder-tree.c:2807
msgid "_Copy..."
@@ -11070,7 +11066,7 @@ msgstr "Å i_uo adresu"
#: ../mail/em-folder-view.c:2568
#, c-format
msgid "Click to mail %s"
-msgstr "NorÄ—dami iÅ¡siųsti %s, paspauskite Äia"
+msgstr "NorÄ—dami iÅ¡siųsti %s, spragtelkite Äia"
#. message-search popup match count string
#: ../mail/em-format-html-display.c:412
@@ -11099,12 +11095,11 @@ msgid ""
"This message is signed and is valid meaning that it is very likely that this "
"message is authentic."
msgstr ""
-"Šis laiškas yra pasirašytas ir yra geras, kas reiškia, jog šis laiškas yra "
-"autentiškas."
+"Šis laiškas yra pasirašytas ir yra taisyklingas, todėl yra autentiškas."
#: ../mail/em-format-html-display.c:682 ../mail/em-format-html.c:581
msgid "Invalid signature"
-msgstr "Blogas parašas"
+msgstr "Netinkamas parašas"
#: ../mail/em-format-html-display.c:682
msgid ""
@@ -11123,8 +11118,7 @@ msgid ""
"This message is signed with a valid signature, but the sender of the message "
"cannot be verified."
msgstr ""
-"Laiškas pasirašytas su tvarkingu parašu, bet siuntėjas negali būti "
-"patikrintas."
+"Laiškas pasirašytas tvarkingu parašu, bet siuntėjas negali būti patikrintas."
#: ../mail/em-format-html-display.c:689 ../mail/em-format-html.c:588
msgid "Unencrypted"
@@ -11135,7 +11129,7 @@ msgid ""
"This message is not encrypted. Its content may be viewed in transit across "
"the Internet."
msgstr ""
-"Šis laiškas nėra šifruotas. Jo turinys gali būti perskaitytas siuntimo "
+"Šis laiškas nėra šifruotas. Jo turinys gali būti perskaitytas persiuntimo "
"Internetu metu."
#: ../mail/em-format-html-display.c:690 ../mail/em-format-html.c:589
@@ -11174,7 +11168,7 @@ msgid ""
"practical amount of time."
msgstr ""
"Šis laiškas yra užšifruotas naudojant stiprų kriptografinį algoritmą. "
-"Įsilaužėliui yra labai sunku atkoduoti tokį laišką naudojant šiuo metu "
+"Įsilaužėliui būtų labai sunku iššifruoti tokį laišką naudojant šiuo metu "
"prieinamas priemones."
#: ../mail/em-format-html-display.c:793 ../smime/gui/smime-ui.glade.h:47
@@ -11369,7 +11363,7 @@ msgstr ""
"Evolution pašto aplankų vieta ir hierarchija šiuo metu yra kitokia nei 1.x "
"versijos.\n"
"\n"
-"Palaukite kol Evolution perkels Jūsų ankstesnius aplankus..."
+"Palaukite kol Evolution perkels ankstesnius aplankus..."
#: ../mail/em-migrate.c:1632
#, c-format
@@ -11384,12 +11378,12 @@ msgstr "Nepavyko nukopijuoti aplanko „%s„ į %s: %s"
#: ../mail/em-migrate.c:1843
#, c-format
msgid "Unable to scan for existing mailboxes at `%s': %s"
-msgstr "Skanavimas dÄ—l naujų paÅ¡to dėžutÄių, esanÄių „%s“, nepavyko: %s"
+msgstr "Naujų paÅ¡to dėžuÄių, esanÄių „%s“, peržiÅ«ra nepavyko: %s"
#: ../mail/em-migrate.c:2047
#, c-format
msgid "Unable to open old POP keep-on-server data `%s': %s"
-msgstr "Nepavyko atidaryti senų POP keep-on-server duomenų „%s“: %s"
+msgstr "Nepavyko atverti senų POP keep-on-server duomenų „%s“: %s"
#: ../mail/em-migrate.c:2061
#, c-format
@@ -11455,11 +11449,11 @@ msgstr "Įtraukti į adresų knygą"
#: ../mail/em-popup.c:666
#, c-format
msgid "Open in %s..."
-msgstr "Atidaryti su %s..."
+msgstr "Atverti su %s..."
#: ../mail/em-subscribe-editor.c:611
msgid "This store does not support subscriptions, or they are not enabled."
-msgstr "Ši saugykla nepalaiko užsakymų arba jie yra neįjungti."
+msgstr "Ši saugykla nepalaiko užsakymų arba jie neįjungti."
#: ../mail/em-subscribe-editor.c:640
msgid "Subscribed"
@@ -11472,7 +11466,7 @@ msgstr "Aplankas"
#. FIXME: This is just to get the shadow, is there a better way?
#: ../mail/em-subscribe-editor.c:859
msgid "Please select a server."
-msgstr "Prašom pasirinkti serverį."
+msgstr "Pasirinkite serverį."
#: ../mail/em-subscribe-editor.c:880
msgid "No server has been selected"
@@ -11518,7 +11512,7 @@ msgstr "Automatinis nuorodų atpažinimas"
#: ../mail/evolution-mail.schemas.in.in.h:2
msgid "Automatic smiley recognition"
-msgstr "Automatinis šypsiukų atpažinimas"
+msgstr "Automatinis šypsniukų atpažinimas"
#: ../mail/evolution-mail.schemas.in.in.h:3
msgid "Check incoming mail being junk"
@@ -11542,19 +11536,19 @@ msgstr "Rašymo lango įprastas plotis"
#: ../mail/evolution-mail.schemas.in.in.h:8
msgid "Default charset in which to compose messages"
-msgstr "Koduotė, kuri yra naudojama kuriant laiškus"
+msgstr "Koduotė, naudojama kuriant laiškus"
#: ../mail/evolution-mail.schemas.in.in.h:9
msgid "Default charset in which to compose messages."
-msgstr "Koduotė, kuri yra naudojama kuriant laiškus."
+msgstr "Koduotė, naudojama kuriant laiškus."
#: ../mail/evolution-mail.schemas.in.in.h:10
msgid "Default charset in which to display messages"
-msgstr "Koduotė, kuri yra naudojama skaitant laiškus"
+msgstr "Koduotė, naudojama skaitant laiškus"
#: ../mail/evolution-mail.schemas.in.in.h:11
msgid "Default charset in which to display messages."
-msgstr "Koduotė, kuri yra naudojama skaitant laiškus"
+msgstr "Koduotė, naudojama skaitant laiškus"
#: ../mail/evolution-mail.schemas.in.in.h:12
msgid "Default forward style"
@@ -11574,7 +11568,7 @@ msgstr "Įprastas užsisakymo dialogo aukštis"
#: ../mail/evolution-mail.schemas.in.in.h:16
msgid "Default reply style"
-msgstr "Įprastas atsakymų stilius"
+msgstr "Įprastas atsakymo stilius"
#: ../mail/evolution-mail.schemas.in.in.h:17
msgid "Default width of the Composer Window"
@@ -11607,7 +11601,7 @@ msgstr ""
#: ../mail/evolution-mail.schemas.in.in.h:24
msgid "Enable/disable caret mode"
-msgstr "Perjungia žymeklio veikseną"
+msgstr "Perjungti žymeklio veikseną"
#: ../mail/evolution-mail.schemas.in.in.h:25
msgid "Height of the message-list pane"
@@ -11622,8 +11616,8 @@ msgid ""
"If a user tries to open 10 or more messages at one time, ask the user if "
"they really want to do it."
msgstr ""
-"Jeigu naudotojas bando tuo paÄiu metu atidaryti 10 ar daugiau laiÅ¡kų, "
-"paklausti jo ar jis tikrai nori tai padaryti."
+"Jeigu naudotojas bando tuo paÄiu metu atverti 10 ar daugiau laiÅ¡kų, "
+"paklausti, ar jis tikrai nori tai atlikti."
#: ../mail/evolution-mail.schemas.in.in.h:28
msgid ""
@@ -11668,8 +11662,8 @@ msgid ""
"List of labels known to the mail component of Evolution. The list contains "
"strings containing name:color where color uses the HTML hex encoding."
msgstr ""
-"Evolution pašto komponentui žinomų žymių sąrašas. Sąraše yra eilutės, "
-"kuriose yra name:color, kur spalvai naudojama HTML šešioliktainis kodas."
+"Evolution pašto komponentui žinomų žymių sąrašas. Sąraše yra eilutės vardas:"
+"spalva, kur spalvai naudojama HTML šešioliktainis kodas."
#: ../mail/evolution-mail.schemas.in.in.h:36
msgid "List of mime types to check for bonobo component viewers"
@@ -11703,27 +11697,27 @@ msgstr "Registruoti filtrų veiksmus į nurodytą žurnalo bylą."
#: ../mail/evolution-mail.schemas.in.in.h:42
msgid "Logfile to log filter actions"
-msgstr "Byla registruojanti filtrų veiksmus"
+msgstr "Filtrų veiksmų žurnalo byla"
#: ../mail/evolution-mail.schemas.in.in.h:43
msgid "Logfile to log filter actions."
-msgstr "Byla registruojanti filtrų veiksmus."
+msgstr "Filtrų veiksmų žurnalo byla"
#: ../mail/evolution-mail.schemas.in.in.h:44
msgid "Mark as Seen after specified timeout"
-msgstr "Pažymėti kaip perskaityta po nurodyto laiko tarpo"
+msgstr "Pažymėti kaip perskaitytą po nurodyto laiko tarpo"
#: ../mail/evolution-mail.schemas.in.in.h:45
msgid "Mark as Seen after specified timeout."
-msgstr "Pažymėti kaip Perskaityta po nurodyto laiko tarpo."
+msgstr "Pažymėti kaip perskaitytą po nurodyto laiko tarpo."
#: ../mail/evolution-mail.schemas.in.in.h:46
msgid "Mark citations in the message \"Preview\""
-msgstr "Laiško „Peržiūroje“ pažymėti citatas"
+msgstr "Žymėti citatas Laiško „Peržiūroje“"
#: ../mail/evolution-mail.schemas.in.in.h:47
msgid "Mark citations in the message \"Preview\"."
-msgstr "Laiško „Peržiūroje“ pažymėti citatas."
+msgstr "Žymėti citatas Laiško „Peržiūroje“"
#: ../mail/evolution-mail.schemas.in.in.h:48
msgid "Message Window default height"
@@ -11740,20 +11734,20 @@ msgstr "Laiško rodymo stilius (normalus, pilnos antraštės, pradinis tekstas)"
#: ../mail/evolution-mail.schemas.in.in.h:51
msgid "Minimum days between emptying the trash on exit"
msgstr ""
-"Mažiausias dienų skaiÄius tarp Å¡iukÅ¡linÄ—s iÅ¡valymų, kai uždaroma programa"
+"Mažiausias dienų skaiÄius tarp Å¡iukÅ¡linÄ—s iÅ¡valymų programos uždarymo metu"
#: ../mail/evolution-mail.schemas.in.in.h:52
msgid "Minimum time between emptying the trash on exit, in days."
msgstr ""
-"Mažiausias dienų tarpas tarp šiukšlinės išvalymų, kai uždaroma programa."
+"Mažiausias dienų tarpas tarp šiukšlinės išvalymų programos uždarymo metu."
#: ../mail/evolution-mail.schemas.in.in.h:53
msgid "New Mail Notify sound file"
-msgstr "Naujo pašto perspėjimų garso byla"
+msgstr "Pranešimo apie naują paštą garsinė byla"
#: ../mail/evolution-mail.schemas.in.in.h:54
msgid "New Mail Notify type"
-msgstr "Perspėjimų apie naują paštą tipas"
+msgstr "Pranešimo apie naują paštą tipas"
#: ../mail/evolution-mail.schemas.in.in.h:55
msgid "Prompt on empty subject"
@@ -11805,7 +11799,7 @@ msgstr "Atpažinti nuorodas tekste ir jas pakeisti."
#: ../mail/evolution-mail.schemas.in.in.h:65
msgid "Recognize smileys in text and replace them with images."
-msgstr "Atpažinti šypsiukus tekste ir juos pakeisti paveikslėliais."
+msgstr "Atpažinti šypsniukus tekste ir juos pakeisti paveikslėliais."
#: ../mail/evolution-mail.schemas.in.in.h:66
msgid "Run junk test on incoming mail"
@@ -11905,11 +11899,11 @@ msgstr "Kurti laiškų sąrašo gijas remiantis laiškų temomis"
#: ../mail/evolution-mail.schemas.in.in.h:88
msgid "Timeout for marking message as Seen"
-msgstr "Laiko tarpas, skirtas pažymėti laiškus kaip perskaitytus"
+msgstr "Laiko tarpas, po kurio laiškai pažymimi kaip perskaityti"
#: ../mail/evolution-mail.schemas.in.in.h:89
msgid "Timeout for marking message as Seen."
-msgstr "Laiko tarpas, skirtas pažymėti laiškus kaip perskaitytus."
+msgstr "Laiko tarpas, po kurio laiškai pažymimi kaip perskaityti."
#: ../mail/evolution-mail.schemas.in.in.h:90
msgid "UID string of the default account."
@@ -11925,7 +11919,7 @@ msgstr "Naudoti Spamassassin demonÄ… ir klientÄ… (spamc/spamd)"
#: ../mail/evolution-mail.schemas.in.in.h:93
msgid "Use custom fonts"
-msgstr "Naudoti savo Å¡riftus"
+msgstr "Naudoti specialius Å¡riftus"
#: ../mail/evolution-mail.schemas.in.in.h:94
msgid "Use custom fonts for displaying mail"
@@ -11937,7 +11931,7 @@ msgstr "Naudoti tik vietinius šlamšto testus."
#: ../mail/evolution-mail.schemas.in.in.h:96
msgid "Use only the local spam tests (no DNS)."
-msgstr "Naudoti tik vietinius šlamšto testus (no DNS)."
+msgstr "Naudoti tik vietinius šlamšto testus (be DNS)."
#: ../mail/evolution-mail.schemas.in.in.h:97
msgid "Variable width font"
@@ -12057,7 +12051,7 @@ msgid ""
"Would you like to import them into Evolution?"
msgstr ""
"Evolution rado Elm pašto bylų\n"
-"Ar norėtumėt jas importuoti į Evolution?"
+"Ar norėtumėte jas įkelti į Evolution?"
#: ../mail/importers/elm-importer.c:444
msgid "Elm"
@@ -12071,24 +12065,24 @@ msgstr "Paskirties aplankas:"
#: ../mail/importers/evolution-mbox-importer.c:120
#: ../mail/importers/evolution-outlook-importer.c:134
msgid "Select folder to import into"
-msgstr "Pasirinkit aplanką į kurį importuosit"
+msgstr "Pasirinkite aplanką, į kurį įkelsite"
#: ../mail/importers/evolution-mbox-importer.c:223
#: ../mail/importers/evolution-outlook-importer.c:257
#: ../mail/importers/mail-importer.c:226
#, c-format
msgid "Importing `%s'"
-msgstr "Importuojama „%s“"
+msgstr "Įkeliama „%s“"
#: ../mail/importers/evolution-outlook-importer.c:305
#: ../mail/importers/mail-importer.c:140
msgid "Importing mailbox"
-msgstr "Importuojama pašto dėžutė"
+msgstr "Įkeliama pašto dėžutė"
#: ../mail/importers/mail-importer.c:363
#, c-format
msgid "Scanning %s"
-msgstr "Skanuojama %s"
+msgstr "Peržiūrima %s"
#: ../mail/importers/netscape-importer.c:73
#, c-format
@@ -12112,11 +12106,11 @@ msgstr ""
"Dalis Jūsų Netscape pašto filtrų naudoja pašto prioritetų\n"
"požymius, kurie yra nepalaikomi Evolution. Evolution leidžia\n"
"kiekvienam laiškui priskirti įvertinimus nuo -3 iki 3 ir filtruoja\n"
-"laiškus naudodamasi šiais požymiais.\n"
+"laiškus pagal šiuos požymius.\n"
"\n"
-"Norint išvengti problemų buvo sukurtas filtrų rinkinys pavadintas\n"
+"Norint išvengti problemų buvo sukurtas filtrų rinkinys, pavadintas\n"
"„Prioritetų Filtru“, kuris Netscape paÅ¡to prioritetus perverÄia į\n"
-"Evolution įvertinimų sistemą ir leidžia panauti turimus įvertinimo\n"
+"Evolution įvertinimų sistemą ir leidžia panaudoti turimus įvertinimo\n"
"sistemos filtrus. Patikrinkite įkeltus filtrus ir įsitikinkite, jog jie "
"dirba\n"
"taip, kaip numatyta."
@@ -12184,7 +12178,7 @@ msgid ""
"Would you like to import them into Evolution?"
msgstr ""
"Evolution rado Pine pašto bylų.\n"
-"Ar norėtum jas importuoti į Evolution?"
+"Ar norėtumėte jas importuoti į Evolution?"
#: ../mail/importers/pine-importer.c:506
msgid "Pine"
@@ -12521,7 +12515,7 @@ msgstr "Spalvos"
#: ../mail/mail-config.glade.h:58
msgid "Confirm _when expunging a folder"
-msgstr "Patvirtinti kai _išvalomas aplankas"
+msgstr "Patvirtinti, kai _išvalomas aplankas"
#: ../mail/mail-config.glade.h:59
msgid ""
@@ -12717,19 +12711,19 @@ msgstr "Pasirin_kti..."
#: ../mail/mail-config.glade.h:120
msgid "Select HTML fixed width font"
-msgstr "Pasirinkit HTML fiksuoto ploÄio Å¡riftÄ…"
+msgstr "Pasirinkite HTML fiksuoto ploÄio Å¡riftÄ…"
#: ../mail/mail-config.glade.h:121
msgid "Select HTML fixed width font for printing"
-msgstr "Pasirinkit HTML fiksuoti ploÄio Å¡riftÄ… naudojamÄ… spausdinant"
+msgstr "Pasirinkite HTML fiksuoti ploÄio Å¡riftÄ… spausdinimui"
#: ../mail/mail-config.glade.h:122
msgid "Select HTML variable width font"
-msgstr "Pasirinkit HTML kintamo ploÄio Å¡riftÄ…"
+msgstr "Pasirinkite HTML kintamo ploÄio Å¡riftÄ…"
#: ../mail/mail-config.glade.h:123
msgid "Select HTML variable width font for printing"
-msgstr "Pasirinkit HTML kintamo ploÄio Å¡riftÄ… spausdinimui"
+msgstr "Pasirinkite HTML kintamo ploÄio Å¡riftÄ… spausdinimui"
#: ../mail/mail-config.glade.h:125
msgid "Sending Mail"
@@ -12761,7 +12755,7 @@ msgstr "Parašai"
#: ../mail/mail-config.glade.h:132
msgid "Specify _filename:"
-msgstr "Nurodykit _bylos vardÄ…:"
+msgstr "Nurodykite _bylos vardÄ…:"
#: ../mail/mail-config.glade.h:133
msgid "Spell Checking"
@@ -12788,7 +12782,7 @@ msgid ""
"signature. The name you specify will be used\n"
"for display purposes only. "
msgstr ""
-"Šio scenarijaus išvedamas tekstas bus naudojamas kaip Jūsų\n"
+"Šios programos išvedamas tekstas bus naudojamas kaip Jūsų\n"
"parašas. Nurodytas vardas bus naudojamas tik atvaizdavimo\n"
"tikslais. "
@@ -12993,7 +12987,7 @@ msgstr "_Užsakyti"
#: ../mail/mail-dialogs.glade.h:28
msgid "_Tick this to accept the license agreement"
-msgstr "_PažymÄ—kit Äia, jeigu sutinkate su licencija"
+msgstr "_PažymÄ—kite Äia, jei sutinkate su licencija"
#: ../mail/mail-dialogs.glade.h:29
msgid "_Unsubscribe"
@@ -13040,9 +13034,9 @@ msgid ""
"Check to make sure your password is spelled correctly. Remember that many "
"passwords are case sensitive; your caps lock might be on."
msgstr ""
-"Patikrinkite ar Jūsų slaptažodis parašytas teisingai. Atminkite, kad "
-"daugumoje slaptažodių yra skirtumas tarp raidžių registro; gali būti "
-"įjungtas Jūsų „CapsLock“ klavišas."
+"Patikrinkite, ar slaptažodis parašytas teisingai. Atminkite, kad daugumoje "
+"slaptažodių yra skirtumas tarp raidžių registro; galbūt aktyvi „CapsLock“ "
+"veiksena?"
#. mail:ask-send-html primary
#: ../mail/mail-errors.xml.h:10
@@ -13057,14 +13051,15 @@ msgid ""
"{0}\n"
"Send anyway?"
msgstr ""
-"Įsitikinkite, kad sekantys laiško gavėjai sutinka gauti HTML laiškus ir "
-"sugebÄ—s juos perskaityti:\n"
-"{0}Vistiek išsiųsti?"
+"Įsitikinkite, kad šie laiško gavėjai sutinka gauti HTML laiškus ir sugebės "
+"juos perskaityti:\n"
+"{0}\n"
+"Vis tiek išsiųsti?"
#. mail:ask-send-no-subject primary
#: ../mail/mail-errors.xml.h:17
msgid "Are you sure you want to send a message without a subject?"
-msgstr "Ar tikrai norite išsiųsti laišką neparašę temos?"
+msgstr "Ar tikrai norite išsiųsti laišką be temos?"
#. mail:ask-send-no-subject secondary
#: ../mail/mail-errors.xml.h:19
@@ -13072,7 +13067,7 @@ msgid ""
"Adding a meaningful Subject line to your messages will give your recipients "
"an idea of what your mail is about."
msgstr ""
-"Pridėdami reikšmingą temos eilutę Jūs padėsite gavėjams suprasti apie ką yra "
+"Pridėdami reikšmingą temos eilutę padėsite gavėjams suprasti, apie ką yra "
"Jūsų laiškas."
#. mail:ask-send-only-bcc-contact primary
@@ -13095,7 +13090,7 @@ msgstr ""
"gavÄ—jus.\n"
"\n"
"Dauguma el.pašto sistemų laiškams turintiems tik BCC gavėjus prideda "
-"Apparently-To antraštę. Jeigu ši antraštė bus pridėta, matysis visi Jūsų "
+"Apparently-To antraštę. Jeigu ši antraštė bus pridėta, bus matomi visi Jūsų "
"laiško gavėjai. Norėdami to išvengti, Jūs turėtumėte pridėti bent vieną Kam: "
"arba CC: gavÄ—jÄ…."
@@ -13116,7 +13111,7 @@ msgstr ""
#: ../mail/mail-errors.xml.h:34
msgid ""
"This message cannot be sent because you have not specified any Recipients"
-msgstr "Nepavyko išsiųsti šio laiško, nes JŪs nenurodėte jokių gavėjų"
+msgstr "Nepavyko išsiųsti šio laiško, nes nenurodėte jokių gavėjų"
#. mail:send-no-recipients secondary
#: ../mail/mail-errors.xml.h:36
@@ -13124,8 +13119,8 @@ msgid ""
"Please enter a valid email address in the To: field. You can search for "
"email addresses by clicking on the To: button next to the entry box."
msgstr ""
-"Prašom įvesti tinkamą el. pašto adresą laukelyje Kam:. Jūs galite ieškoti "
-"el. pašto adresų paspausdami šalia įvedimo laukelio esantį mygtuką Kam:."
+"Įveskite tinkamą el. pašto adresą laukelyje Kam:. Galite ieškoti el. pašto "
+"adresų paspaudę šalia įvedimo laukelio esantį mygtuką Kam:."
#. mail:ask-default-drafts primary
#: ../mail/mail-errors.xml.h:38
@@ -13138,8 +13133,8 @@ msgid ""
"Unable to open the drafts folder for this account. Use the system drafts "
"folder instead?"
msgstr ""
-"Nepavyko atidaryti Å¡ios abonemento juodraÅ¡Äių aplanko. Ar vietoj to naudoti "
-"sistemos juodraÅ¡Äių aplankÄ…?"
+"Nepavyko atverti Å¡io abonemento juodraÅ¡Äių aplanko. Ar naudoti sistemos "
+"juodraÅ¡Äių aplankÄ…?"
#: ../mail/mail-errors.xml.h:41
msgid "Use _Default"
@@ -13151,14 +13146,14 @@ msgid ""
"Are you sure you want to permanently remove all the deleted message in "
"folder \"{0}\"?"
msgstr ""
-"Ar tikrai norite visam laikui pašalinti visus laiškus ištrintus iš aplanko "
+"Ar tikrai norite visam laikui pašalinti visus laiškus, ištrintus iš aplanko "
"„{0}“?"
#. mail:ask-expunge secondary
#. mail:ask-empty-trash secondary
#: ../mail/mail-errors.xml.h:45 ../mail/mail-errors.xml.h:50
msgid "If you continue, you will not be able to recover these messages."
-msgstr "Jeigu nusprÄ™site tÄ™sti, JÅ«s nebegalÄ—site atkurti Å¡ių žinuÄių."
+msgstr "Jeigu nusprÄ™site tÄ™sti, nebegalÄ—site atkurti Å¡ių žinuÄių."
#: ../mail/mail-errors.xml.h:46
msgid "_Expunge"
@@ -13180,21 +13175,21 @@ msgstr "Išt_uštinti šiukšlinę"
#. mail:ask-open-many primary
#: ../mail/mail-errors.xml.h:53
msgid "Are you sure you want to open {0} messages at once?"
-msgstr "Ar tikrai norite tuo paÄiu metu atidaryti {0} laiÅ¡kų?"
+msgstr "Ar tikrai norite tuo paÄiu metu atverti {0} laiÅ¡kų?"
#. mail:ask-open-many secondary
#: ../mail/mail-errors.xml.h:55
msgid "Opening too many messages at once may take a long time."
-msgstr "Didelio laiÅ¡kų kiekio atidarymas tuo paÄiu metu gali ilgai užtrukti."
+msgstr "Didelio laiÅ¡kų kiekio atvÄ—rimas tuo paÄiu metu gali ilgai užtrukti."
#: ../mail/mail-errors.xml.h:56
msgid "_Open Messages"
-msgstr "_Atidaryti laiškus"
+msgstr "_Atverti laiškus"
#. mail:exit-unsaved primary
#: ../mail/mail-errors.xml.h:58
msgid "You have unsent messages, do you wish to quit anyway?"
-msgstr "Jūs turite neišsiųstų laiškų, vistiek norite išeiti?"
+msgstr "Turite neišsiųstų laiškų, ar vis tiek norite išeiti?"
#. mail:exit-unsaved secondary
#: ../mail/mail-errors.xml.h:60
@@ -13202,13 +13197,13 @@ msgid ""
"If you quit, these messages will not be sent until Evolution is started "
"again."
msgstr ""
-"Jeigu išeisite, šios žinutės bus neišiųstos kol Evolution nebus paleistą dar "
-"kartÄ…."
+"Jeigu išeisite, šios žinutės bus neišiųstos, kol Evolution nebus paleista "
+"dar kartÄ…."
#. mail:camel-exception primary
#: ../mail/mail-errors.xml.h:62
msgid "Your message with the subject \"{0}\" was not delivered."
-msgstr "Jūsų laiškas su tema „{0}“ buvo nepristatytas."
+msgstr "Jūsų laiškas su tema „{0}“ nebuvo pristatytas."
#. mail:camel-exception secondary
#: ../mail/mail-errors.xml.h:64
@@ -13218,10 +13213,10 @@ msgid ""
"The message is stored in the Outbox folder. Check the message for errors "
"and resend."
msgstr ""
-"Laiškas buvo išsiųstas su išorine programa „sendmail“. Sendmail pranešė "
-"sekanÄiÄ… klaidÄ…: bÅ«klÄ— 67: paÅ¡tas neiÅ¡siųstas.\n"
+"Laiškas buvo išsiųstas su išorine programa „sendmail“. Sendmail pranešė apie "
+"tokią klaidą: būklė 67: paštas neišsiųstas.\n"
"Laiškas išsaugotas aplanke „Paruošti siųsti“. Patikrinkite laišką dėl klaidų "
-"ir siųskite iš naujo."
+"ir bandykite siųsti dar kartą."
#. mail:async-error primary
#: ../mail/mail-errors.xml.h:67
@@ -13251,7 +13246,7 @@ msgstr "Įveskite slaptažodį."
#. mail:filter-load-error primary
#: ../mail/mail-errors.xml.h:91
msgid "Error loading filter definitions."
-msgstr "Įvyko klaida, įkeliant filtro informaciją."
+msgstr "Įvyko klaida įkeliant filtro informaciją."
#. mail:no-save-path primary
#: ../mail/mail-errors.xml.h:95
@@ -13319,7 +13314,8 @@ msgstr "Ištrinti „{0}“?"
#. mail:ask-delete-folder primary
#: ../mail/mail-errors.xml.h:129
msgid "Really delete folder \"{0}\" and all of its subfolders?"
-msgstr "Tikrai norite ištrinti aplanką „{0}“ ir visus dukterinius jo aplankus?"
+msgstr ""
+"Ar tikrai norite ištrinti aplanką „{0}“ ir visus dukterinius jo aplankus?"
#. mail:ask-delete-folder secondary
#: ../mail/mail-errors.xml.h:131
@@ -13357,13 +13353,13 @@ msgstr "Nepavyko perkelti aplanko „{0}“ į „{1}“."
#. mail:no-copy-folder-nostore secondary
#: ../mail/mail-errors.xml.h:143 ../mail/mail-errors.xml.h:151
msgid "Cannot open source \"{2}\"."
-msgstr "Nepavyko atidaryti šaltinio „{2}“."
+msgstr "Nepavyko atverti šaltinio „{2}“."
#. mail:no-move-folder-to-nostore secondary
#. mail:no-copy-folder-to-nostore secondary
#: ../mail/mail-errors.xml.h:147 ../mail/mail-errors.xml.h:155
msgid "Cannot open target \"{2}\"."
-msgstr "Nepavyko atidaryti tikslo „{2}“."
+msgstr "Nepavyko atverti tikslo „{2}“."
#. mail:no-copy-folder-nostore primary
#. mail:no-copy-folder-to-nostore primary
@@ -13379,7 +13375,7 @@ msgstr "Nepavyko sukurti aplanko „{0}“."
#. mail:no-create-folder-nostore secondary
#: ../mail/mail-errors.xml.h:159
msgid "Cannot open source \"{1}\""
-msgstr "Nepavyko atidaryti šaltinio „{1}“"
+msgstr "Nepavyko atverti šaltinio „{1}“"
#. mail:account-incomplete primary
#. mail:account-notunique primary
@@ -13390,12 +13386,12 @@ msgstr "Nepavyko išsaugoti abonemento pakeitimų."
#. mail:account-incomplete secondary
#: ../mail/mail-errors.xml.h:163
msgid "You have not filled in all of the required information."
-msgstr "Jūs neįvedėte visos būtinos informacijos."
+msgstr "Neįvedėte visos būtinos informacijos."
#. mail:account-notunique secondary
#: ../mail/mail-errors.xml.h:167
msgid "You may not create two accounts with the same name."
-msgstr "JÅ«s negalite sukurti dviejų abonementų tuo paÄiu vardu."
+msgstr "Negalite sukurti dviejų abonementų tuo paÄiu vardu."
#. mail:ask-delete-account title
#: ../mail/mail-errors.xml.h:169
@@ -13449,7 +13445,7 @@ msgstr "Ar norite išsaugoti pakeitimus?"
#. mail:ask-signature-changed secondary
#: ../mail/mail-errors.xml.h:188
msgid "This signature has been changed, but has not been saved."
-msgstr "Å is paraÅ¡as buvo pakeistas, taÄiau neiÅ¡saugotas."
+msgstr "Å is paraÅ¡as buvo pakeistas, taÄiau nebuvo iÅ¡saugotas."
#: ../mail/mail-errors.xml.h:189
msgid "_Discard changes"
@@ -13466,8 +13462,8 @@ msgid ""
"This folder may have been added implicitly, go to the vFolder editor to add "
"it explicitly, if required."
msgstr ""
-"Šis aplankas galėjo būti pridėtas aklai, paleiskite vAplankų redaktorių ir "
-"pridėkite jį tiksliai, jeigu reikia."
+"Šis aplankas galėjo būti pridėtas neišreikštinai, paleiskite vAplankų "
+"redaktorių ir pridėkite jį išreikštinai, jeigu reikia."
#. mail:vfolder-notunique primary
#: ../mail/mail-errors.xml.h:195
@@ -13508,7 +13504,7 @@ msgid ""
" \"{1}\"\n"
"And have been updated."
msgstr ""
-"Sekanti(Äios) filtravimo taisyklÄ—(s):\n"
+"Å i(Å¡ios) filtravimo taisyklÄ—(s):\n"
"{0}\n"
"Naudojo dabar pašalintą aplanką:\n"
" „{1}“\n"
@@ -13522,12 +13518,12 @@ msgstr "Trūkstamas aplankas."
#. mail:no-folder secondary
#: ../mail/mail-errors.xml.h:217
msgid "You must specify a folder."
-msgstr "JÅ«s turite nurodyti aplankÄ…."
+msgstr "Turite nurodyti aplankÄ…."
#. mail:no-name-vfolder secondary
#: ../mail/mail-errors.xml.h:221
msgid "You must name this vFolder."
-msgstr "Jūs turite įvardinti ši vAplanką."
+msgstr "Turite įvardinti ši vAplanką."
#. mail:vfolder-no-source primary
#: ../mail/mail-errors.xml.h:223
@@ -13541,14 +13537,14 @@ msgid ""
"Either by selecting the folders individually, and/or by selecting\n"
"all local folders, all remote folders, or both."
msgstr ""
-"Jūs turėtumėte nurodyti bent vieną aplanką kaip šaltinį.\n"
-"Arba pasirenkant aplankus individualiai, ir/arba pasirenkant\n"
-"visus vietinius aplankus, visus nuotolinius aplankus, arba ir tuos, ir tuos"
+"Turėtumėte nurodyti bent vieną aplanką kaip šaltinį,\n"
+"arba pasirinkdami aplankus individualiai, ir/arba pasirinkdami\n"
+"visus vietinius aplankus, visus nuotolinius aplankus, arba abu"
#. mail:ask-migrate-existing primary
#: ../mail/mail-errors.xml.h:229
msgid "Problem migrating old mail folder \"{0}\"."
-msgstr "Problema perkelinėjant seną pašto aplanką „{0}“."
+msgstr "Klaida perkeliant seną pašto aplanką „{0}“."
#. mail:ask-migrate-existing secondary
#: ../mail/mail-errors.xml.h:231
@@ -13558,9 +13554,9 @@ msgid ""
"You can choose to ignore this folder, overwrite or append its contents, or "
"quit.\n"
msgstr ""
-"Ne tuÅ¡Äias aplankas esantis „{1}“ jau egzistuoja.\n"
+"NetuÅ¡Äias aplankas esantis „{1}“ jau egzistuoja.\n"
"\n"
-"Jūs galite ignoruoti šį aplanką, perrašyti, pridėti jo turinį arba išeiti.\n"
+"Galite praleisti šį aplanką, jį perrašyti, pridėti į jo turinį arba išeiti.\n"
#: ../mail/mail-errors.xml.h:235
msgid "Ignore"
@@ -13588,7 +13584,7 @@ msgid ""
" you can accept its license."
msgstr ""
"Nepavyko perskaityti licencijos bylos „{0}“, dėl\n"
-"\tinstaliacijos problemų. Jūs negalėsite naudotis šiuo tiekėju kol,\n"
+"\tinstaliacijos problemų. Negalėsite naudotis šiuo tiekėju kol,\n"
"kol nesutiksite su licencijos sÄ…lygomis."
#. mail:checking-service title
@@ -13605,8 +13601,7 @@ msgstr "Prašome palaukti."
#: ../mail/mail-errors.xml.h:249
msgid "Querying server for a list of supported authentication mechanisms."
msgstr ""
-"Serveriui siunÄiama užklausa dÄ—l palaikomų autentifikacijos mechanizmų "
-"sąrašo."
+"Serveriui siunÄiama užklausa dÄ—l palaikomų autentikacijos mechanizmų sÄ…raÅ¡o."
#. mail:gw-accountsetup-error primary
#: ../mail/mail-errors.xml.h:251
@@ -13624,7 +13619,7 @@ msgid ""
"Please check your account settings and try again.\n"
msgstr ""
"\n"
-"Prašom patikrinti Jūsų abonemento nustatymus ir bandyti dar kartą.\n"
+"Patikrinkite Jūsų abonemento nustatymus ir bandykite dar kartą.\n"
#: ../mail/mail-folder-cache.c:813
#, c-format
@@ -13645,14 +13640,14 @@ msgid ""
"Failed to append to %s: %s\n"
"Appending to local `Sent' folder instead."
msgstr ""
-"Nepavyko įterpti į %s: %s\n"
-"Įterpiama į vietinį „Išsiųstų laiškų“ aplanką."
+"Nepavyko įdėti į %s: %s\n"
+"Deda į vietinį „Išsiųstų laiškų“ aplanką."
#. sending mail, filtering failed
#: ../mail/mail-ops.c:564
#, c-format
msgid "Failed to apply outgoing filters: %s"
-msgstr "Nepavyko pritaikyti iÅ¡einanÄių filtrų: %s"
+msgstr "Nepavyko pritaikyti filtrų iÅ¡einanÄiam paÅ¡tui: %s"
#: ../mail/mail-ops.c:602
#, c-format
@@ -13698,12 +13693,12 @@ msgstr "Persiųsti laiškai"
#: ../mail/mail-ops.c:1182
#, c-format
msgid "Opening folder %s"
-msgstr "Atidaromas aplankas %s"
+msgstr "Atveriamas aplankas %s"
#: ../mail/mail-ops.c:1254
#, c-format
msgid "Opening store %s"
-msgstr "Atidaroma saugykla %s"
+msgstr "Atveriama saugykla %s"
#: ../mail/mail-ops.c:1332
#, c-format
@@ -13855,11 +13850,11 @@ msgstr "Įvesk %s slaptažodį"
#: ../mail/mail-session.c:210
msgid "Enter Password"
-msgstr "Įvesk slaptažodį"
+msgstr "Įveskite slaptažodį"
#: ../mail/mail-session.c:239
msgid "User canceled operation."
-msgstr "Vartotojas nutraukÄ— veiksmÄ…."
+msgstr "Naudotojas nutraukÄ— veiksmÄ…."
#: ../mail/mail-signature-editor.c:372
msgid "Edit signature"
@@ -13867,7 +13862,7 @@ msgstr "Keisti parašą"
#: ../mail/mail-signature-editor.c:412
msgid "Enter a name for this signature."
-msgstr "Įveskite šio parašo vardą."
+msgstr "Įveskite vardą šiam parašui."
#: ../mail/mail-signature-editor.c:415
#: ../plugins/shared-folder/properties.glade.h:5
@@ -14206,7 +14201,7 @@ msgstr "Pažymėti šį aplanką įprastu"
#: ../plugins/default-source/default-source.c:108
msgid "Mark as default folder"
-msgstr "Naudoti šį aplanką įprastu"
+msgstr "Pažymėti šį aplanką įprastu"
#. i18n: "Secure Password Authentication" is an Outlookism
#: ../plugins/exchange-account-setup/exchange-account-setup.c:59
@@ -14246,7 +14241,7 @@ msgstr ""
#: ../plugins/exchange-account-setup/exchange-account-setup.c:221
#: ../plugins/exchange-account-setup/exchange-account-setup.c:231
msgid "I am out of the office"
-msgstr "Manęs šiuo metu darbe nėra"
+msgstr "Manęs šiuo metu nėra darbe"
#: ../plugins/exchange-account-setup/exchange-account-setup.c:224
#: ../plugins/exchange-account-setup/exchange-account-setup.c:228
@@ -14348,7 +14343,7 @@ msgid ""
"The message claims to contain a calendar, but the calendar is not valid "
"iCalendar."
msgstr ""
-"Laiške nurodoma, kad jame yra kelendorius, bet kalendorius nėra tinkamas "
+"Laiške nurodoma, kad jame yra kelendorius, bet kalendorius nėra taisyklingas "
"iCalendar."
#: ../plugins/itip-formatter/itip-formatter.c:1008
@@ -14375,7 +14370,7 @@ msgid ""
"imported"
msgstr ""
"Norint apdoroti visus šiuos elementus, byla turėtų būti išsaugota ir "
-"kalendorius importuotas"
+"kalendorius įkeltas"
#: ../plugins/itip-formatter/itip-formatter.c:1658
msgid "Meetings and Tasks"
@@ -14542,12 +14537,12 @@ msgstr "%A, %Y %B %e, %l:%M:%S %p"
#: ../plugins/itip-formatter/itip-view.c:335
#, c-format
msgid "<b>%s</b> through %s has published the following meeting information:"
-msgstr "<b>%s</b> per %s paskelbÄ— sekanÄiÄ… susitikimo informacijÄ…:"
+msgstr "<b>%s</b> per %s paskelbÄ— tokiÄ… susitikimo informacijÄ…:"
#: ../plugins/itip-formatter/itip-view.c:337
#, c-format
msgid "<b>%s</b> has published the following meeting information:"
-msgstr "<b>%s</b> paskelbÄ— sekanÄiÄ… susitikimo informacijÄ…:"
+msgstr "<b>%s</b> paskelbÄ— tokiÄ… susitikimo informacijÄ…:"
#: ../plugins/itip-formatter/itip-view.c:342
#, c-format
@@ -14558,18 +14553,18 @@ msgstr "<b>%s</b> norÄ—tų, kad %s dalyvautų sekanÄiame susitikime:"
#, c-format
msgid "<b>%s</b> through %s requests your presence at the following meeting:"
msgstr ""
-"<b>%s</b> per %s praneÅ¡Ä—, jog norÄ—tų, kad JÅ«s dalyvautumÄ—te sekanÄiame "
+"<b>%s</b> per %s praneÅ¡Ä—, jog norÄ—tų, kad dalyvautumÄ—te sekanÄiame "
"susitikime:"
#: ../plugins/itip-formatter/itip-view.c:347
#, c-format
msgid "<b>%s</b> requests your presence at the following meeting:"
-msgstr "<b>%s</b> norÄ—tų, kad JÅ«s dalyvautumÄ—te sekanÄiame susitikime:"
+msgstr "<b>%s</b> norÄ—tų, kad dalyvautumÄ—te sekanÄiame susitikime:"
#: ../plugins/itip-formatter/itip-view.c:353
#, c-format
msgid "<b>%s</b> through %s wishes to add to an existing meeting:"
-msgstr "<b>%s</b> per %s nori, nori papildyti esamÄ… susitikimÄ…:"
+msgstr "<b>%s</b> per %s nori papildyti esamÄ… susitikimÄ…:"
#: ../plugins/itip-formatter/itip-view.c:355
#, c-format
@@ -14580,53 +14575,52 @@ msgstr "<b>%s</b> nori papildyti esamÄ… susitikimÄ…:"
#, c-format
msgid ""
"<b>%s</b> wishes to receive the latest information for the following meeting:"
-msgstr ""
-"<b>%s</b> nori gauti naujausiÄ… užduoties informacijÄ… sekanÄiam susitikimui:"
+msgstr "<b>%s</b> nori gauti naujausią užduoties informaciją šiam susitikimui:"
#: ../plugins/itip-formatter/itip-view.c:361
#, c-format
msgid "<b>%s</b> has sent back the following meeting response:"
-msgstr "<b>%s</b> atsiuntė atgal sekantį susitikimo atsakymą:"
+msgstr "<b>%s</b> atsiuntė tokį susitikimo atsakymą:"
#: ../plugins/itip-formatter/itip-view.c:365
#, c-format
msgid "<b>%s</b> through %s has cancelled the following meeting:"
-msgstr "<b>%s</b> per %s atšaukė sekantį susitikimą:"
+msgstr "<b>%s</b> per %s atšaukė šį susitikimą:"
#: ../plugins/itip-formatter/itip-view.c:367
#, c-format
msgid "<b>%s</b> has cancelled the following meeting."
-msgstr "<b>%s</b> atšaukė sekantį susitikimą:"
+msgstr "<b>%s</b> atšaukė šį susitikimą:"
#: ../plugins/itip-formatter/itip-view.c:370
#, c-format
msgid "<b>%s</b> has proposed the following meeting changes."
-msgstr "<b>%s</b> pateikÄ— sekanÄius susitikimo pakeitimus:"
+msgstr "<b>%s</b> pateikÄ— Å¡iuos susitikimo pakeitimus:"
#: ../plugins/itip-formatter/itip-view.c:374
#, c-format
msgid "<b>%s</b> through %s has declined the following meeting changes:"
-msgstr "<b>%s</b> per %s atmetÄ— sekanÄius susitikimo pakeitimus:"
+msgstr "<b>%s</b> per %s atmetÄ— Å¡iuos susitikimo pakeitimus:"
#: ../plugins/itip-formatter/itip-view.c:376
#, c-format
msgid "<b>%s</b> has declined the following meeting changes."
-msgstr "<b>%s</b> atÅ¡aukÄ— sekanÄius susitikimo pakeitimus:"
+msgstr "<b>%s</b> atšaukė šiuos susitikimo pakeitimus:"
#: ../plugins/itip-formatter/itip-view.c:403
#, c-format
msgid "<b>%s</b> through %s has published the following task:"
-msgstr "<b>%s</b> per %s paskelbÄ— sekanÄiÄ… užduotį:"
+msgstr "<b>%s</b> per %s paskelbė šią užduotį:"
#: ../plugins/itip-formatter/itip-view.c:405
#, c-format
msgid "<b>%s</b> has published the following task:"
-msgstr "<b>%s</b> paskelbÄ— sekanÄiÄ… užduotį:"
+msgstr "<b>%s</b> paskelbė šią užduotį:"
#: ../plugins/itip-formatter/itip-view.c:410
#, c-format
msgid "<b>%s</b> requests the assignment of %s to the following task:"
-msgstr "<b>%s</b> norėtų, kad %s būtų priskirta sekanti užduotis:"
+msgstr "<b>%s</b> norÄ—tų, kad %s bÅ«tų priskirta Å¡iai užduoÄiai:"
#: ../plugins/itip-formatter/itip-view.c:413
#, c-format
@@ -14653,38 +14647,37 @@ msgstr "<b>%s</b> nori papildyti esamą užduotį:"
msgid ""
"<b>%s</b> wishes to receive the latest information for the following "
"assigned task:"
-msgstr ""
-"<b>%s</b> nori gauti naujausiÄ… sekanÄios priskirtos užduoties informacijÄ…:"
+msgstr "<b>%s</b> nori gauti naujausią šios priskirtos užduoties informaciją:"
#: ../plugins/itip-formatter/itip-view.c:429
#, c-format
msgid "<b>%s</b> has sent back the following assigned task response:"
-msgstr "<b>%s</b> atsiuntė atgal sekantį atsakymą į priskirtą užduotį:"
+msgstr "<b>%s</b> atsiuntė atgal tokį atsakymą į priskirtą užduotį:"
#: ../plugins/itip-formatter/itip-view.c:433
#, c-format
msgid "<b>%s</b> through %s has cancelled the following assigned task:"
-msgstr "<b>%s</b> per %s atÅ¡aukÄ— sekanÄiÄ… priskirtÄ… užduotÄ—:"
+msgstr "<b>%s</b> per %s atšaukė šią priskirtą užduotą:"
#: ../plugins/itip-formatter/itip-view.c:435
#, c-format
msgid "<b>%s</b> has cancelled the following assigned task:"
-msgstr "<b>%s</b> atÅ¡aukÄ— sekanÄiÄ… priskirtÄ… užduotį:"
+msgstr "<b>%s</b> atšaukė šią priskirtą užduotį:"
#: ../plugins/itip-formatter/itip-view.c:438
#, c-format
msgid "<b>%s</b> has proposed the following task assignment changes:"
-msgstr "<b>%s</b> pateikÄ— sekanÄius užduoties priskyrimo pakeitimus:"
+msgstr "<b>%s</b> pateikė šiuos užduoties priskyrimo pakeitimus:"
#: ../plugins/itip-formatter/itip-view.c:442
#, c-format
msgid "<b>%s</b> through %s has declined the following assigned task:"
-msgstr "<b>%s</b> per %s atmetÄ— sekanÄiÄ… priskirtÄ… užduotį:"
+msgstr "<b>%s</b> per %s atmetė šią priskirtą užduotį:"
#: ../plugins/itip-formatter/itip-view.c:444
#, c-format
msgid "<b>%s</b> has declined the following assigned task:"
-msgstr "<b>%s</b> atmetÄ— sekanÄiÄ… priskirtÄ… užduotÄ—:"
+msgstr "<b>%s</b> atmetė šią priskirtą užduotį:"
#. Comment
#: ../plugins/itip-formatter/itip-view.c:892
@@ -14695,7 +14688,7 @@ msgstr "Komentaras:"
#. org.gnome.mailing-list-actions:no-header primary
#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:2
msgid "Action not available"
-msgstr "Veiksmas neprieinamas"
+msgstr "Veiksmas negalimas"
#. org.gnome.mailing-list-actions:no-header secondary
#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:4
@@ -14703,12 +14696,12 @@ msgid ""
"This message does not contain the header information required for this "
"action."
msgstr ""
-"Šio laiško antraštėje nėra informacijos reikalingos atlikti šiam veiksmui."
+"Šio laiško antraštėje nėra informacijos, reikalingos atlikti šiam veiksmui."
#. org.gnome.mailing-list-actions:posting-not-allowed primary
#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:6
msgid "Posting not allowed"
-msgstr "Rašymas neleistinas"
+msgstr "Rašymas neleidžiamas"
#. org.gnome.mailing-list-actions:posting-not-allowed secondary
#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:8
@@ -14716,9 +14709,9 @@ msgid ""
"Posting to this mailing list is not allowed. Possibly, this is a read-only "
"mailing list. Contact the list owner for details."
msgstr ""
-"RaÅ¡ymas į Å¡iÄ… konferencijÄ… neleidžiamas. GreiÄiausiai, Å¡i konferencija yra "
+"RaÅ¡ymas į Å¡iÄ… konferencijÄ… neleidžiamas. GreiÄiausiai Å¡i konferencija yra "
"tik skaitymui. Dėl išsamesnės informacijos susisiekite su konferencijos "
-"savininku."
+"prižiūrėtoju."
#. org.gnome.mailing-list-actions:ask-send-message primary
#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:10
@@ -14734,11 +14727,11 @@ msgid ""
"You should receive an answer from the mailing list shortly after the message "
"has been sent."
msgstr ""
-"El. laiškas bus išsiųstas adresu „{0}“. Jūs galite pasirinkti ar išsiųsti "
+"El. laiškas bus išsiųstas adresu „{0}“. Galite pasirinkti, ar išsiųsti "
"laišką automatiškai, ar pirma jį pažiūrėti ir redaguoti.\n"
"\n"
-"Jūs turėtumėte neužilgo gauti atsakymą iš konferencijos, po to kai išsiųsite "
-"laišką."
+"Po to kai išsiųsite laišką, turėtumėte greitai gauti atsakymą iš "
+"konferencijos, "
#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:15
msgid "_Send message"
@@ -14751,7 +14744,7 @@ msgstr "_Redaguoti laišką"
#. org.gnome.mailing-list-actions:malformed-header primary
#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:18
msgid "Malformed header"
-msgstr "Apgadinta antraštė"
+msgstr "Netaisyklinga antraštė"
#. org.gnome.mailing-list-actions:malformed-header secondary
#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:20
@@ -14760,7 +14753,7 @@ msgid ""
"\n"
"Header: {1}"
msgstr ""
-"Šio laiško antraštė {0} yra apgadinta, ir todėl jos nepavyko apdoroti.\n"
+"Šio laiško antraštė {0} yra netaisyklinga, todėl jos nepavyko apdoroti.\n"
"\n"
"Antraštė: {1}"
@@ -14942,7 +14935,7 @@ msgid ""
"You cannot share folder with specified user \"{0}\" \n"
msgstr ""
"\n"
-"Jūs negalite dalintis aplanku su nurodytu naudotoju „{0}“ \n"
+"Negalite dalintis aplanku su nurodytu naudotoju „{0}“ \n"
#. org.gnome.evolution.mail_shared_folder:no-user primary
#: ../plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:8
@@ -14956,7 +14949,7 @@ msgid ""
"\tYou have to specify a user name whom you want to add to the list \n"
msgstr ""
"\n"
-"\tJūs turite nurodyti naudotojo, kurį norite įtraukti į sąrašą, vardą \n"
+"\tTurite nurodyti naudotojo, kurį norite įtraukti į sąrašą, vardą \n"
#: ../plugins/shared-folder/properties.glade.h:2
msgid "<b>Users :</b>"
@@ -15009,7 +15002,7 @@ msgstr "Viešinimas"
#. Create the checkbox we will display, complete with mnemonic that is unique in the dialog
#: ../plugins/subject-thread/subject-thread.c:54
msgid "Fall back to threading messages by sub_ject"
-msgstr "Kaip atsarginį variantą naudoti laiškų rikiavimą pagal _temą"
+msgstr "Naudoti laiškų rikiavimą pagal _temą kaip atsarginį variantą"
#: ../shell/GNOME_Evolution_Shell.server.in.in.h:1
msgid "Evolution Shell"
@@ -15055,8 +15048,8 @@ msgstr "Paskutinė atnaujinta konfigūracijos versija"
msgid ""
"List of paths for the folders to be synchronized to disk for offline usage"
msgstr ""
-"Aplankų, kurie turi būti sinchronizuoti su disku, naudojimui atsijungimo "
-"veiksenoje, kelių sąrašas"
+"Aplankų, kurie turi būti sinchronizuoti su disku tam, kad juos būtų galima "
+"naudoti atsijungimo veiksenoje, kelių sąrašas"
#: ../shell/apps_evolution_shell.schemas.in.in.h:9
msgid "Printer settings"
@@ -15074,7 +15067,8 @@ msgstr "Paleisti neprisijungiant"
msgid ""
"The configuration version of Evolution, with major/minor/configuration level"
msgstr ""
-"Evolution konfigūracijos versija, su mažoriniu/minoriniu/konfigūracijos lygiu"
+"Evolution konfigūracijos versija, su mažoriniu/minoriniu/konfigūracijos "
+"lygmeniu"
#: ../shell/apps_evolution_shell.schemas.in.in.h:13
msgid "The default height for the main window, in pixels."
@@ -15094,7 +15088,7 @@ msgid ""
"configuration level"
msgstr ""
"Paskutinė atnaujinta Evolution konfigūracijos versija, su mažoriniu/"
-"minoriniu/konfigūracijos lygiu"
+"minoriniu/konfigūracijos lygmeniu"
#: ../shell/apps_evolution_shell.schemas.in.in.h:17
msgid ""
@@ -15307,11 +15301,11 @@ msgid ""
"\n"
"Do you want to quit using the Assistant now?"
msgstr ""
-"Jei Jūs dabar uždarysite Evolution Nustatymų Pagalbininką, visa Jūsų "
-"pateikta informacija bus prarasta. Jums teks iš naujo paleisti pagalbinką, "
-"norint pradÄ—ti naudoti Evolution.\n"
+"Jei dabar uždarysite Evolution nustatymų pagalbininką, visa Jūsų pateikta "
+"informacija bus prarasta. Jums teks iš naujo paleisti pagalbinką, norint "
+"pradÄ—ti naudoti Evolution.\n"
"\n"
-"Ar JÅ«s norite nutraukti Pagalbininko darbÄ… dabar?"
+"Ar norite dabar nutraukti Pagalbininko darbÄ…?"
#: ../shell/e-shell-utils.c:116
msgid "No folder name specified."
@@ -15392,7 +15386,7 @@ msgstr "Evolution dabar yra atsijungimo procese."
#: ../shell/e-shell-window.c:356
msgid "Evolution is currently offline. Click on this button to work online."
msgstr ""
-"Evolution dabar yra atsijungusi. NorÄ—dami dirbti atsijungimo veiksenoje, "
+"Evolution dabar yra atsijungusi. NorÄ—dami dirbti prisijungimo veiksenoje, "
"paspauskite šį mygtuką."
#: ../shell/e-shell-window.c:713
@@ -15404,28 +15398,28 @@ msgstr "Perjungti į %s"
msgid "Uknown system error."
msgstr "Nežinoma sistemos klaida."
-#: ../shell/e-shell.c:806 ../shell/e-shell.c:807
+#: ../shell/e-shell.c:800 ../shell/e-shell.c:801
#, c-format
msgid "%ld KB"
msgstr "%ld KB"
-#: ../shell/e-shell.c:1250 ../widgets/misc/e-cell-date-edit.c:256
+#: ../shell/e-shell.c:1254 ../widgets/misc/e-cell-date-edit.c:256
msgid "OK"
msgstr "Gerai"
-#: ../shell/e-shell.c:1252
+#: ../shell/e-shell.c:1256
msgid "Invalid arguments"
msgstr "Blogi argumentai"
-#: ../shell/e-shell.c:1254
+#: ../shell/e-shell.c:1258
msgid "Cannot register on OAF"
msgstr "Nepavyko prisiregistruoti OAF"
-#: ../shell/e-shell.c:1256
+#: ../shell/e-shell.c:1260
msgid "Configuration Database not found"
-msgstr "Konfigūracijos duombazė nerasta"
+msgstr "Konfigūracijos duomenų bazė nerasta"
-#: ../shell/e-shell.c:1258
+#: ../shell/e-shell.c:1262
msgid "Generic error"
msgstr "Bendroji klaida"
@@ -15471,7 +15465,7 @@ msgid ""
msgstr ""
"Jūs sėkmingai įvedėte visą Evolution nustatymui reikiamą informaciją. \n"
"\n"
-"Norėdami išsaugoti Jūsų nustatymus, spauskite mygtuką „Pritaikyti. "
+"Norėdami išsaugoti Jūsų nustatymus, spauskite mygtuką „Pritaikyti“. "
#: ../shell/evolution-test-component.c:140
msgid "New Test"
@@ -15566,19 +15560,19 @@ msgstr ""
"Sveiki. AÄiÅ« už laikÄ…, sugaiÅ¡tÄ… parsisiųsti šį Evolution\n"
"grupinio darbo rinkinio bandomąjį leidimą.\n"
"\n"
-"Evolution dar nÄ—ra baigta. Ji artÄ—ja prie to, taÄiau yra vietų,\n"
-"kur ypatybių trūksta arba jos tik pusiau veikia.\n"
+"Evolution dar nÄ—ra iÅ¡baigta. Ji artÄ—ja prie to, taÄiau yra vietų,\n"
+"kur trūksta funkcionalumo arba jis nepatikimai veikia.\n"
"\n"
"Jeigu Jums reikia stabilios Evolution versijos, siūlome pašalinti\n"
"šią versiją ir įdiegti Evolution versiją %s .\n"
"\n"
"Jeigu šiame produkte rasite klaidų, praneškite apie jas mums\n"
"adresu bugzilla.ximian.com. Mes neteikiame jokių šio produkto\n"
-"naudojimo garantijų. Jis nÄ—ra skirtas žmonÄ—ms kenÄiantiems nuo\n"
+"naudojimo garantijų. Jis nÄ—ra skirtas žmonÄ—ms, kenÄiantiems nuo\n"
"netikÄ—tų pykÄio protrÅ«kių.\n"
"\n"
-"Mes tikimės, kad Jums patiks mūsų sunkaus darbo vaisiai, ir\n"
-"mes nekantriai laukiame Jūsų prisidėjimo prie šio produkto tobulinimo!\n"
+"Tikimės, kad Jums patiks mūsų sunkaus darbo vaisiai, ir\n"
+"nekantriai laukiame Jūsų prisidėjimo prie šio produkto tobulinimo!\n"
#: ../shell/main.c:262
msgid ""
@@ -15598,7 +15592,7 @@ msgstr "Evolution paleidimas aktyvuoja nurodytÄ… komponentÄ…"
#: ../shell/main.c:478
msgid "Start in online mode"
-msgstr "Paleisti prisijungiant"
+msgstr "Paleisti prisijungimo veiksenoje"
#: ../shell/main.c:481
msgid "Forcibly shut down all Evolution components"
@@ -15643,10 +15637,10 @@ msgid ""
"You will need to make more space available in your home directory before you "
"can continue."
msgstr ""
-"Jūsų duomenų ir nustatymų atnaujinimui prireiks iki {0} vietos diske, o Jūsu "
+"Jūsų duomenų ir nustatymų atnaujinimui prireiks iki {0} vietos diske, o "
"diske yra tik {1}.\n"
"\n"
-"Norint tęsti Jums reikės Jūsų namų aplanke atlaisvinti vietos."
+"Norint tęsti reikės Jūsų namų aplanke atlaisvinti vietos."
#. shell:upgrade-failed primary
#: ../shell/shell-errors.xml.h:8
@@ -15667,8 +15661,8 @@ msgid ""
msgstr ""
"{1}\n"
"\n"
-"Jeigu pasirinksite tęsti, Jūs galite nebeturėti priėjimo prie kai kurių senų "
-"Jūsų duomenų.\n"
+"Jeigu nuspręsite tęsti, galite nebeturėti priėjimo prie kai kurių senų "
+"duomenų.\n"
#: ../shell/shell-errors.xml.h:15
msgid "Continue"
@@ -15678,7 +15672,7 @@ msgstr "Tęsti"
#. shell:upgrade-remove-1-4 primary
#: ../shell/shell-errors.xml.h:17 ../shell/shell-errors.xml.h:19
msgid "Delete old data from version {0}?"
-msgstr "IÅ¡trinti senus {0} versijos duomenis{0}?"
+msgstr "IÅ¡trinti senus {0} versijos duomenis?"
#. shell:upgrade-remove-1-4 secondary
#: ../shell/shell-errors.xml.h:21
@@ -15693,13 +15687,13 @@ msgstr ""
"AnkstesnÄ—je Evolution versijoje programos duomenys buvo saugomi kitoje "
"vietoje.\n"
"\n"
-"Jeigu Jūs pasirinksite pašalinti šiuos duomenis, bus ištrintas visas "
-"„evolution“ aplanko turinys. Jeigu pasirinksite palikti šiuos duomenis, tada "
-"Jūs galėsite ištrinti „evolution“ aplanko turinį kada tik Jums patogu.\n"
+"Jeigu pasirinksite pašalinti šiuos duomenis, bus ištrintas visas „evolution“ "
+"aplanko turinys. Jei pasirinksite palikti Å¡iuos duomenis, galÄ—site bet kada "
+"ištrinti „evolution“ aplanko turinį.\n"
#: ../shell/shell-errors.xml.h:25
msgid "_Remind Me Later"
-msgstr "P_riminiti man vÄ—liau"
+msgstr "P_riminti vÄ—liau"
#: ../shell/shell-errors.xml.h:26
msgid "_Keep Data"
@@ -15724,14 +15718,14 @@ msgid ""
"Once deleted, you cannot downgrade to the previous version of Evolution "
"without manual intervention.\n"
msgstr ""
-"Ruošiamasi visam laikui ištrinti visą „evolution“ aplanko turinį.\n"
+"„evolution“ aplanko turinys bus galutinai ištrintas.\n"
"\n"
-"Prieš ištrinant senus duomenis, Jums siūloma savarankiškai patikrinti ar Jūs "
-"turite visus Jūsų pašto, kontaktų ir kalendoriaus duomenis, ir ar naujoji "
-"Evolution versija dirba korektiškai.\n"
+"Prieš ištrinant senus duomenis, siūlome savarankiškai patikrinti ar turite "
+"visus pašto, kontaktų ir kalendoriaus duomenis, ir ar naujoji Evolution "
+"versija dirba korektiškai.\n"
"\n"
-"Kartą ištrynę, Jūs jau nebegalėsite sugrįžti prie senosios Evolutionversijos "
-"be rankinio įsikišimo.\n"
+"Kartą ištrynę, jau nebegalėsite sugrįžti prie senosios Evolution versijos be "
+"rankinio įsikišimo.\n"
#. shell:noshell title
#. shell:noshell-reason title
@@ -15765,7 +15759,7 @@ msgid ""
"\n"
"Click help for details."
msgstr ""
-"Your system configuration does not match your Evolution configuration:\n"
+"Jūsų sistemos konfigūracija neatitinka Jūsų Evolution konfigūracijos:\n"
"\n"
"{0}\n"
"\n"
@@ -15780,7 +15774,7 @@ msgid ""
msgstr ""
"Serifikatas „%s“ yra CA sertifikatas.\n"
"\n"
-"Pakeiskite pasitikÄ—jimo nustatymus:"
+"Pakeisti pasitikÄ—jimo nustatymus:"
#: ../smime/gui/cert-trust-dialog.c:145
msgid ""
@@ -15788,8 +15782,8 @@ msgid ""
"then you trust the authenticity of this certificate unless otherwise "
"indicated here"
msgstr ""
-"Dėl to, kad Jūs pasitikite šį sertifikatą išdavusiu sertifikatų tvirtintoju, "
-"JÅ«s pasitikite Å¡io sertifikato autentiÅ¡kumu, nebent Äia nurodysite kitaip"
+"Kadangi pasitikite šį sertifikatą išdavusiu sertifikatų tvirtintoju, "
+"pasitikite ir Å¡io sertifikato autentiÅ¡kumu, nebent Äia nurodysite kitaip"
#: ../smime/gui/cert-trust-dialog.c:149
msgid ""
@@ -15797,9 +15791,8 @@ msgid ""
"certificate, then you do not trust the authenticity of this certificate "
"unless otherwise indicated here"
msgstr ""
-"Dėl to, kad Jūs nepasitikite šį sertifikatą išdavusiu sertifikatų "
-"tvirtintoju, JÅ«s nepasitikite Å¡io sertifikato autentiÅ¡kumu, nebent Äia "
-"nurodysite kitaip"
+"Dėl to, kad nepasitikite šį sertifikatą išdavusiu sertifikatų tvirtintoju, "
+"nepasitikite ir Å¡io sertifikato autentiÅ¡kumu, nebent Äia nurodysite kitaip"
#: ../smime/gui/certificate-manager.c:134
#: ../smime/gui/certificate-manager.c:142
@@ -15906,7 +15899,7 @@ msgstr "<b>Skirtas</b>"
#: ../smime/gui/smime-ui.glade.h:8
msgid "<b>This certificate has been verified for the following uses:</b>"
-msgstr "<b>Å is sertifikatas patikrintas dÄ—l Å¡ių panaudojimo sriÄių:</b>"
+msgstr "<b>Å is sertifikatas patvirtintas Å¡ioms naudojimo sritims:</b>"
#: ../smime/gui/smime-ui.glade.h:9
msgid "<b>Validity</b>"
@@ -15914,7 +15907,7 @@ msgstr "<b>Galiojimas</b>"
#: ../smime/gui/smime-ui.glade.h:10
msgid "Authorities"
-msgstr "Autorizatoriai"
+msgstr "Autoritetai"
#: ../smime/gui/smime-ui.glade.h:11
msgid "Backup"
@@ -16511,15 +16504,15 @@ msgstr "Rodyti sąrašą"
#: ../ui/evolution-calendar.xml.h:30
msgid "Show one day"
-msgstr "Rodyti vienÄ… dienÄ…"
+msgstr "Rodyti dienÄ…"
#: ../ui/evolution-calendar.xml.h:31
msgid "Show one month"
-msgstr "Rodyti vieną mėnesį"
+msgstr "Rodyti mėnesį"
#: ../ui/evolution-calendar.xml.h:32
msgid "Show one week"
-msgstr "Rodyti vienÄ… savaitÄ™"
+msgstr "Rodyti savaitÄ™"
#: ../ui/evolution-calendar.xml.h:33
msgid "Show the working week"
@@ -16539,7 +16532,7 @@ msgstr "Darbo savaitÄ—"
#: ../ui/evolution-calendar.xml.h:42
msgid "_Open Appointment"
-msgstr "_Atidaryti paskyrimÄ…"
+msgstr "_Atverti paskyrimÄ…"
#: ../ui/evolution-composer-entries.xml.h:1
msgid "Copy selected text to the clipboard"
@@ -16593,7 +16586,7 @@ msgstr "Ištuštinti ši_ukšlinę"
#: ../ui/evolution-mail-global.xml.h:7
msgid "Open a window for composing a mail message"
-msgstr "Atidaryti langą naujam laiškui rašyti"
+msgstr "Atverti langą naujam laiškui rašyti"
#: ../ui/evolution-mail-global.xml.h:8
msgid "Permanently remove all deleted messages from all folders"
@@ -16686,7 +16679,8 @@ msgstr "Pasirinkti visus šiuo metu nepažymėtus laiškus"
#: ../ui/evolution-mail-list.xml.h:16
msgid "Select all messages in the same thread as the selected message"
-msgstr "Pažymėti visus laiškus toje gijoje, kur yra pasirinktas laiškas"
+msgstr ""
+"Pažymėti visus laiškus toje gijoje, kuriai priklauso pasirinktas laiškas"
#: ../ui/evolution-mail-list.xml.h:17
msgid "Select all visible messages"
@@ -16926,7 +16920,7 @@ msgstr "Atšaukti pažymėto laiško(ų) žymėjimą šiukšlėmis"
#: ../ui/evolution-mail-message.xml.h:60
msgid "Mark the selected message(s) as not having been read"
-msgstr "Pažymėti pasirinktą laišką(us) kaip neperskaityta"
+msgstr "Pažymėti pasirinktą laišką(us) kaip neperskaitytą"
#: ../ui/evolution-mail-message.xml.h:61
msgid "Mark the selected message(s) as unimportant"
@@ -16962,11 +16956,11 @@ msgstr "Ne šiukšlė"
#: ../ui/evolution-mail-message.xml.h:70
msgid "Open the selected message in a new window"
-msgstr "Atidaryti pasirinktą laišką naujame lange"
+msgstr "Atverti pasirinktą laišką naujame lange"
#: ../ui/evolution-mail-message.xml.h:71
msgid "Open the selected message in the composer for editing"
-msgstr "Atidaryti pasirinktą laišką redagavimui rašyklėje"
+msgstr "Atverti pasirinktą laišką redagavimui rašyklėje"
#: ../ui/evolution-mail-message.xml.h:72
msgid "Original Si_ze"
@@ -17094,7 +17088,7 @@ msgstr "_Normalus rodymas"
#: ../ui/evolution-mail-message.xml.h:118
msgid "_Open Message"
-msgstr "_Atidaryti laišką"
+msgstr "_Atverti laišką"
#: ../ui/evolution-mail-message.xml.h:120
msgid "_Previous Message"
@@ -17191,7 +17185,7 @@ msgstr "H_TML"
#: ../ui/evolution-message-composer.xml.h:11
msgid "Open a file"
-msgstr "Atidaryti bylÄ…"
+msgstr "Atverti bylÄ…"
#: ../ui/evolution-message-composer.xml.h:12
msgid "PGP Encrypt"
@@ -17265,31 +17259,31 @@ msgstr "Pasirašyti šį laišką tavo PGP raktu"
#: ../ui/evolution-message-composer.xml.h:31
msgid "Sign this message with your S/MIME Signature Certificate"
-msgstr "Pasirašyti šį laišką tavo S/MIME Parašo sertifikatu"
+msgstr "Pasirašyti šį laišką Jūsų S/MIME Parašo sertifikatu"
#: ../ui/evolution-message-composer.xml.h:32
msgid "Toggles whether the BCC field is displayed"
-msgstr "Perjungia, ar BCC laukas yra rodomas"
+msgstr "Nurodo, ar BCC laukas yra rodomas"
#: ../ui/evolution-message-composer.xml.h:33
msgid "Toggles whether the CC field is displayed"
-msgstr "Perjungia, ar CC laukas yra rodomas"
+msgstr "Nurodo, ar CC laukas yra rodomas"
#: ../ui/evolution-message-composer.xml.h:34
msgid "Toggles whether the From chooser is displayed"
-msgstr "Perjungia, ar Nuo pasirinkimas yra rodomas"
+msgstr "Nurodo, ar Nuo pasirinkimas yra rodomas"
#: ../ui/evolution-message-composer.xml.h:35
msgid "Toggles whether the Post-To field is displayed"
-msgstr "Perjungia, ar Rašyti-į laukas yra rodomas"
+msgstr "Nurodo, ar Rašyti-į laukas yra rodomas"
#: ../ui/evolution-message-composer.xml.h:36
msgid "Toggles whether the Reply-To field is displayed"
-msgstr "Perjungia, ar Atsakyti-kam laukas yra rodomas"
+msgstr "Nurodo, ar Atsakyti-kam laukas yra rodomas"
#: ../ui/evolution-message-composer.xml.h:37
msgid "Toggles whether the To field is displayed"
-msgstr "Nurodo ar yra rodomas Kam laukelis"
+msgstr "Nurodo, ar yra rodomas Kam laukelis"
#: ../ui/evolution-message-composer.xml.h:38
msgid "_Attachment..."
@@ -17318,7 +17312,7 @@ msgstr "Įterpt_i"
#: ../ui/evolution-message-composer.xml.h:47
msgid "_Open..."
-msgstr "_Atidaryti..."
+msgstr "_Atverti..."
#: ../ui/evolution-message-composer.xml.h:48
msgid "_Post-To Field"
@@ -17363,7 +17357,7 @@ msgstr "Išsaugoti šią bylą ir uždaryti langą"
#: ../ui/evolution-subscribe.xml.h:1
msgid "Add folder to your list of subscribed folders"
-msgstr "Pridėti aplanką į užsakytų aplankų sąrašą"
+msgstr "Įdėti aplanką į užsakytų aplankų sąrašą"
#: ../ui/evolution-subscribe.xml.h:2
msgid "F_older"
@@ -17431,7 +17425,7 @@ msgstr "Peržiūrėti pasirinktą užduotį"
#: ../ui/evolution-tasks.xml.h:23
msgid "_Open Task"
-msgstr "_Atidaryti užduotį"
+msgstr "_Atverti užduotį"
#: ../ui/evolution.xml.h:1
msgid "About Evolution..."
@@ -17891,7 +17885,7 @@ msgid ""
"If set, an underline in the text indicates the next character should be used "
"for the mnemonic accelerator key"
msgstr ""
-"Jeigu nustatyta, pabraukti simboliai tekste reiškia, kad sekantis simbolis "
+"Jeigu nustatyta, pabraukti simboliai tekste reiškia, kad kitas simbolis "
"turėtų būti naudojamas karštųjų klavišų išraiškai"
#: ../widgets/misc/e-expander.c:205
@@ -17965,8 +17959,8 @@ msgid ""
"should select the timezone from the below combo box instead."
msgstr ""
"Pele paremtas interaktyvus pasaulio žemėlapis laiko juostų pasirinkimui. "
-"Naudotojai, naudojantys klaviatūrą, vietoj to turėtų pasirinkti laiko juostą "
-"iÅ¡ žemiau esanÄio sÄ…raÅ¡o."
+"Naudotojai, naudojantys klaviatūrą, turėtų pasirinkti laiko juostą iš žemiau "
+"esanÄio sÄ…raÅ¡o."
#: ../widgets/misc/e-pilot-settings.c:103
msgid "Sync with:"
@@ -18052,7 +18046,7 @@ msgstr "Suk_urti siunÄiamÄ… elementÄ… informacijai sekti"
#: ../widgets/misc/e-send-options.glade.h:8
msgid "Deli_vered and opened"
-msgstr "Pri_statytas ir atidarytas"
+msgstr "Pri_statytas ir atvertas"
#: ../widgets/misc/e-send-options.glade.h:9
msgid "Gene_ral Options"
@@ -18064,7 +18058,7 @@ msgid ""
"Mail Receipt"
msgstr ""
"NÄ—ra\n"
-"Pašto gavimas"
+"Žinutės patvirtinimas"
#: ../widgets/misc/e-send-options.glade.h:12
msgid ""
@@ -18072,7 +18066,7 @@ msgid ""
"Mail Receipt\n"
msgstr ""
"NÄ—ra\n"
-"Pašto gavimas\n"
+"Žinutės patvirtinimas\n"
#: ../widgets/misc/e-send-options.glade.h:15
msgid ""
@@ -18150,7 +18144,7 @@ msgstr "_Kai tinkama"
#: ../widgets/misc/e-send-options.glade.h:38
msgid "_When opened: "
-msgstr "_Kai atidaryta: "
+msgstr "_Kai atverta: "
#. system:ask-save-file-exists-overwrite primary
#: ../widgets/misc/e-system-errors.xml.h:4
@@ -18170,7 +18164,7 @@ msgstr "Nepavyko išsaugoti į „{0}“."
#. system:no-load-file primary
#: ../widgets/misc/e-system-errors.xml.h:13
msgid "Cannot open file \"{0}\"."
-msgstr "Nepavyko atidaryti bylos „{0}“."
+msgstr "Nepavyko atverti bylos „{0}“."
#: ../widgets/misc/e-task-widget.c:208
#, c-format
diff --git a/po/nl.po b/po/nl.po
index a54e119e84..370b231882 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -4,18 +4,23 @@
# -------------------------------------------------------
# Woordenlijst: (naar believen aanvullen a.u.b)
#
+# attendee -? aanwezige/bezoeker/komt/aanwezig
# authentication - aanmeldingscontrole
# calendar - agenda
# contacts -? adresboek/contacten/kaarten
# due to an error -? door een fout/vanwege een fout
+# decline -? afzeggen/weigeren/afwijzen
+# enveloped -? omhuld
+# event - notitie (altijd bij agenda's, agenda's bevatten notities)
+# expunge -? schrappen/leegmaken/definitief verwijderen/opruimen/opschonen/ruimen
# journal - dagboek
# journal entry - dagboekaantekening
# junk -? spam/troep
# meeting -? bijeenkomst (vergadering)
# permission was denied -? toestemming is geweigerd/hiertoe geen recht(en) heeft
+# permanently -? definief/blijvend/onherroepelijk/voorgoed
# send -? versturen/verzenden
# sync -? sync/synchroniseren/actualiseren
-# enveloped -? omhuld
#
# ------------------------------------------------------
# Arjan Scherpenisse <acscherp@wins.uva.nl>, 2000.
@@ -35,15 +40,14 @@ msgid ""
msgstr ""
"Project-Id-Version: evolution.gnome-2-8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-02-22 06:28+0100\n"
-"PO-Revision-Date: 2004-10-02 03:20+0200\n"
+"POT-Creation-Date: 2005-03-03 11:50+0100\n"
+"PO-Revision-Date: 2005-03-04 23:44+0100\n"
"Last-Translator: Tino Meinen <a.t.meinen@chello.nl>\n"
-"Language-Team: Dutch <vertaling@nl.linux.org>\n"
+"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: KBabel 1.3.1\n"
#: a11y/addressbook/ea-addressbook-view.c:94
#: a11y/addressbook/ea-addressbook-view.c:103
@@ -62,11 +66,11 @@ msgid "New Contact List"
msgstr "Nieuwe contactenlijst"
#: a11y/addressbook/ea-minicard-view.c:149
-#, fuzzy, c-format
+#, c-format
msgid "current addressbook folder has %d card"
msgid_plural "current addressbook folder has %d cards"
-msgstr[0] "huidige adresboek map"
-msgstr[1] "huidige adresboek map"
+msgstr[0] "huidige adresboek map heeft %d kaart"
+msgstr[1] "huidige adresboek map heeft %d kaarten"
#: a11y/addressbook/ea-minicard.c:31
#: calendar/gui/alarm-notify/alarm-queue.c:863
@@ -75,112 +79,104 @@ msgid "Open"
msgstr "Openen"
#: a11y/addressbook/ea-minicard.c:138
-#, fuzzy
msgid "Contact List: "
-msgstr "Contacten_lijst"
+msgstr "Contactenlijst:"
#: a11y/addressbook/ea-minicard.c:139
-#, fuzzy
msgid "Contact: "
-msgstr "Contacten: "
+msgstr "Contact: "
#: a11y/addressbook/ea-minicard.c:165
msgid "evolution minicard"
msgstr "evolution minikaart"
+# wekkers/alarms
#: a11y/calendar/ea-cal-view-event.c:235
msgid "It has alarms."
-msgstr ""
+msgstr "Het heeft wekkers."
#: a11y/calendar/ea-cal-view-event.c:238
-#, fuzzy
msgid "It has recurrences."
-msgstr "Alleen deze verwijderen"
+msgstr "Het herhaalt zich."
#: a11y/calendar/ea-cal-view-event.c:241
msgid "It is a meeting."
-msgstr ""
+msgstr "Het is een bijeenkomst."
#: a11y/calendar/ea-cal-view-event.c:247
-#, fuzzy, c-format
+#, c-format
msgid "Calendar Event: Summary is %s."
-msgstr "Agendagebeurtenissen"
+msgstr "Agendanotitie: Samenvatting is %s."
#: a11y/calendar/ea-cal-view-event.c:249
-#, fuzzy
msgid "Calendar Event: It has no summary."
-msgstr "Agendagebeurtenissen"
+msgstr "Agendanotitie: bevat geen samenvatting."
+# is dit goed?
#: a11y/calendar/ea-cal-view-event.c:268
-#, fuzzy
msgid "calendar view event"
-msgstr "Agendagebeurtenissen"
+msgstr "agendanotitie weergeven"
+# aandacht grijpen/betere vertaling?
#: a11y/calendar/ea-cal-view-event.c:485
-#, fuzzy
msgid "Grab Focus"
-msgstr "Heeft focus"
+msgstr "Focus grijpen"
#: a11y/calendar/ea-cal-view.c:306
-#, fuzzy
msgid "New Appointment"
msgstr "Nieuwe afspraak"
+# nieuwe agendanotitie voor de hele dag
#: a11y/calendar/ea-cal-view.c:307
-#, fuzzy
msgid "New All Day Event"
-msgstr "Gebeurtenis voor de hele dag"
+msgstr "Nieuwe gebeurtenis voor de hele dag"
#: a11y/calendar/ea-cal-view.c:308 calendar/gui/e-calendar-view.c:1372
msgid "New Meeting"
msgstr "Nieuwe bijeenkomst"
#: a11y/calendar/ea-cal-view.c:309
-#, fuzzy
msgid "Go to Today"
-msgstr "Ga Naar _Vandaag"
+msgstr "Ga naar vandaag"
#: a11y/calendar/ea-cal-view.c:310
-#, fuzzy
msgid "Go to Date"
-msgstr "_Ga Naar Datum..."
+msgstr "Ga naar datum"
#: a11y/calendar/ea-day-view-main-item.c:299
#: a11y/calendar/ea-week-view-main-item.c:301
-#, fuzzy
msgid "a table to view and select the current time range"
-msgstr "Een tijd relatief aan de huidige tijd"
+msgstr "een tabel om de huidige tijdsperiode weer te geven en te selecteren"
#: a11y/calendar/ea-day-view.c:146 a11y/calendar/ea-week-view.c:148
#, c-format
msgid "It has %d event."
msgid_plural "It has %d events."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Het heeft %d notitie."
+msgstr[1] "Het heeft %d notities."
#: a11y/calendar/ea-day-view.c:148 a11y/calendar/ea-week-view.c:150
msgid "It has no events."
-msgstr ""
+msgstr "Het heeft geen notities."
#: a11y/calendar/ea-day-view.c:152
-#, fuzzy, c-format
+#, c-format
msgid "Work Week View: %s. %s"
-msgstr "Werkweek weergave"
+msgstr "Werkweekweergave: %s. %s"
#: a11y/calendar/ea-day-view.c:155
-#, fuzzy, c-format
+#, c-format
msgid "Day View: %s. %s"
-msgstr "Dag weergave"
+msgstr "Dagweergave: %s. %s"
# agendainformatie
#: a11y/calendar/ea-day-view.c:186
-#, fuzzy
msgid "calendar view for a work week"
-msgstr "agenda-informatie"
+msgstr "agendaweergave voor een werkweek"
#: a11y/calendar/ea-day-view.c:188
msgid "calendar view for one or more days"
-msgstr ""
+msgstr "agendaweergave voor één of meer dagen"
#: a11y/calendar/ea-gnome-calendar.c:187 calendar/gui/calendar-component.c:660
msgid "%A %d %b %Y"
@@ -228,70 +224,64 @@ msgid "Gnome Calendar"
msgstr "Gnome Agenda"
#: a11y/calendar/ea-gnome-calendar.c:290
-#, fuzzy
msgid "search bar"
-msgstr "Zoek _basis:"
+msgstr "Zoekbalk"
#: a11y/calendar/ea-gnome-calendar.c:291
-#, fuzzy
msgid "evolution calendar search bar"
-msgstr "Evolution agenda en taken"
+msgstr "evolution agenda zoekbalk"
#: a11y/calendar/ea-jump-button.c:149
msgid "Jump button"
-msgstr ""
+msgstr "Springknop"
#: a11y/calendar/ea-jump-button.c:158
-#, fuzzy
msgid "Click here, you can find more events."
-msgstr "Klik hier om een lid toe te voegen"
+msgstr "Klik hier voor meer notities."
#: a11y/calendar/ea-week-view.c:155
-#, fuzzy, c-format
+#, c-format
msgid "Month View: %s. %s"
-msgstr "Maand weergave"
+msgstr "Maandweergave: %s. %s"
#: a11y/calendar/ea-week-view.c:159
-#, fuzzy, c-format
+#, c-format
msgid "Week View: %s. %s"
-msgstr "Week weergave"
+msgstr "Weekweergave: %s. %s"
# agendainformatie
#: a11y/calendar/ea-week-view.c:190
-#, fuzzy
msgid "calendar view for a month"
-msgstr "agenda-informatie"
+msgstr "agendaweergave voor een maand"
#: a11y/calendar/ea-week-view.c:192
msgid "calendar view for one or more weeks"
-msgstr ""
+msgstr "agendaweergave voor één of meer weken"
-#: a11y/widgets/ea-calendar-item.c:290 a11y/widgets/ea-calendar-item.c:296
+#: a11y/widgets/ea-calendar-item.c:296 a11y/widgets/ea-calendar-item.c:302
msgid "%d %B %Y"
msgstr "%d %B %Y"
-#: a11y/widgets/ea-calendar-item.c:298
-#, fuzzy, c-format
+#: a11y/widgets/ea-calendar-item.c:304
+#, c-format
msgid "Calendar: from %s to %s"
-msgstr "Agenda-informatie"
+msgstr "Agenda: van %s tot %s"
-#: a11y/widgets/ea-calendar-item.c:333
-#, fuzzy
+#: a11y/widgets/ea-calendar-item.c:339
msgid "evolution calendar item"
-msgstr "Evolution vKaender import"
+msgstr "evolution agenda-item"
#: a11y/widgets/ea-combo-button.c:40
msgid "Combo Button"
-msgstr ""
+msgstr "Combinatieknop"
#: a11y/widgets/ea-combo-button.c:50
-#, fuzzy
msgid "Activate Default"
-msgstr "_Standaard gebruiken"
+msgstr "Standaard activeren"
#: a11y/widgets/ea-combo-button.c:52
msgid "Popup Menu"
-msgstr ""
+msgstr "Popup-menu"
#. addressbook:ldap-init primary
#: addressbook/addressbook-errors.xml.h:2
@@ -300,13 +290,10 @@ msgstr "Dit adresboek kon niet worden geopend."
#. addressbook:ldap-init secondary
#: addressbook/addressbook-errors.xml.h:4
-#, fuzzy
msgid ""
"This addressbook server might be unreachable or the server name may be "
"misspelled or your network connection could be down."
-msgstr ""
-"Deze adresboek-server kan onbereikbaar zijn of de dserver naam kan \n"
-"verkeerd gespeld zijn of de netwerk verbinding kan verbroken zijn."
+msgstr "Deze adresboek-server kan onbereikbaar zijn of de servernaam kan verkeerd gespeld zijn of de netwerkverbinding kan verbroken zijn."
#. addressbook:ldap-auth primary
#: addressbook/addressbook-errors.xml.h:6
@@ -365,15 +352,13 @@ msgstr "Kan het adresboek niet verwijderen."
#. addressbook:ask-delete-addressbook primary
#: addressbook/addressbook-errors.xml.h:22
-#, fuzzy
msgid "Delete address book '{0}'?"
-msgstr "Selecteer doel adresboek"
+msgstr "Adresboek '{0}' verwijderen?"
#. addressbook:ask-delete-addressbook secondary
#: addressbook/addressbook-errors.xml.h:24
-#, fuzzy
msgid "This address book will be removed permanently."
-msgstr "Dit adresboek kon niet worden geopend."
+msgstr "Dit adresboek zal definitief worden verwijderd."
#. addressbook:edit-categories primary
#: addressbook/addressbook-errors.xml.h:26
@@ -483,19 +468,15 @@ msgstr ""
#. addressbook:ask-list-add-exists primary
#: addressbook/addressbook-errors.xml.h:59
-#, fuzzy
msgid "Address '{0}' already exists."
-msgstr "Map bestaat reeds"
+msgstr "Adres '{0} bestaat al."
#. addressbook:ask-list-add-exists secondary
#: addressbook/addressbook-errors.xml.h:61
-#, fuzzy
msgid ""
"A contact already exists with this address. Would you like to add a new "
"card with the same address anyway?"
-msgstr ""
-"De naam of het e-mailadres van dit contact bestaat reeds\n"
-"in deze map. Wilt u het toch toevoegen?"
+msgstr "Een contact met dit e-mailadres bestaat al. Wilt u het toch een nieuwe kaart met ditzelfde adres toevoegen?"
#: addressbook/addressbook-errors.xml.h:62 mail/em-vfolder-rule.c:494
#: plugins/shared-folder/properties.glade.h:10
@@ -505,20 +486,21 @@ msgstr "_Toevoegen"
#. addressbook:server-version title
#. calendar:server-version title
#: addressbook/addressbook-errors.xml.h:64 calendar/calendar-errors.xml.h:142
-#, fuzzy
msgid "Server Version"
-msgstr "Versie"
+msgstr "Server-versie"
#. addressbook:server-version primary
#. calendar:server-version primary
#: addressbook/addressbook-errors.xml.h:66 calendar/calendar-errors.xml.h:144
msgid "Your server needs to be updated"
-msgstr ""
+msgstr "Uw server heeft een update nodig"
#. addressbook:server-version secondary
#: addressbook/addressbook-errors.xml.h:68
msgid "Some features may not work correctly with your current server version"
msgstr ""
+"Bepaalde mogelijkheden werken mogelijk niet correct met uw huidige server-"
+"versie"
#: addressbook/conduit/address-conduit.c:298
msgid "Default Sync Address:"
@@ -534,9 +516,12 @@ msgstr "Kon adresboek niet laden"
msgid "Could not read pilot's Address application block"
msgstr "Kon de adresgegevens niet uit de pilot lezen"
+# was eerst: auto-afmaken,
+# maar het gaat er om welke adresboeken worden gebruikt bij het
+# automatisch aanvullen van een adres (als je 3 of meer letters hebt getypt)
#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:1
msgid "Autocompletion"
-msgstr "Auto-afmaken"
+msgstr "Auto-aanvullen"
#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:2
msgid "C_ontacts"
@@ -548,7 +533,7 @@ msgstr "Certificaten"
#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:4
msgid "Configure autocomplete here"
-msgstr "Configure autocomplete here"
+msgstr "Automatsch aanvullen hier configureren"
#. Create the contacts group
#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:5
@@ -598,7 +583,7 @@ msgstr "U kunt uw S/Mime certificaten hier beheren"
#: calendar/gui/calendar-component.c:208 calendar/gui/migration.c:459
#: calendar/gui/migration.c:552 calendar/gui/tasks-component.c:188
#: mail/em-folder-tree-model.c:197 mail/em-folder-tree-model.c:199
-#: mail/mail-component.c:270 mail/mail-vfolder.c:222
+#: mail/mail-component.c:290 mail/mail-vfolder.c:222
msgid "On This Computer"
msgstr "Op deze computer"
@@ -612,7 +597,7 @@ msgstr "Op deze computer"
#: addressbook/gui/contact-editor/contact-editor.glade.h:20
#: calendar/gui/calendar-component.c:216 calendar/gui/migration.c:467
#: calendar/gui/migration.c:560 calendar/gui/tasks-component.c:196
-#: filter/filter-label.c:123 mail/em-migrate.c:1013 mail/mail-config.c:77
+#: filter/filter-label.c:123 mail/em-migrate.c:1043 mail/mail-config.c:78
#: mail/mail-config.glade.h:101
msgid "Personal"
msgstr "Persoonlijk"
@@ -641,7 +626,7 @@ msgid "Create a new contact list"
msgstr "Maak een nieuwe contactenlijst"
#: addressbook/gui/component/addressbook-component.c:212
-#: addressbook/gui/component/addressbook-config.c:1121
+#: addressbook/gui/component/addressbook-config.c:1120
#: addressbook/gui/component/addressbook-view.c:757
msgid "New Address Book"
msgstr "Nieuw adresboek"
@@ -656,12 +641,12 @@ msgstr "Nieuw adresboek aanmaken"
#: addressbook/gui/component/addressbook-component.c:287
msgid "Failed upgrading Addressbook settings or folders."
-msgstr "Het opwaarderen van adresboek instellingen of mappen is mislukt"
+msgstr "Het opwaarderen van adresboek-instellingen of mappen is mislukt."
+# ?
#: addressbook/gui/component/addressbook-config.c:315
-#, fuzzy
msgid "Base"
-msgstr "Plakken"
+msgstr "Basis"
#: addressbook/gui/component/addressbook-config.c:510
#: calendar/gui/dialogs/calendar-setup.c:191
@@ -670,9 +655,8 @@ msgid "_Type:"
msgstr "_Type:"
#: addressbook/gui/component/addressbook-config.c:609
-#, fuzzy
msgid "Copy book content locally for offline operation"
-msgstr "Kopieër de inhoud van de map lokaal voor offline gebruik"
+msgstr "De inhoud van het adresboek lokaal kopiëren voor offline gebruik"
#: addressbook/gui/component/addressbook-config.c:904
#: addressbook/gui/component/ldap-config.glade.h:23
@@ -689,14 +673,12 @@ msgid "Addressbook"
msgstr "Adresboek"
#: addressbook/gui/component/addressbook-config.c:909
-#, fuzzy
msgid "Server Information"
-msgstr "<b>Server informatie</b>"
+msgstr "Server-informatie"
#: addressbook/gui/component/addressbook-config.c:911
-#, fuzzy
msgid "Authentication"
-msgstr "SMTP Aanmelding"
+msgstr "Aanmeldingscontrole"
#: addressbook/gui/component/addressbook-config.c:914
#: addressbook/gui/component/ldap-config.glade.h:18
@@ -704,29 +686,28 @@ msgstr "SMTP Aanmelding"
msgid "Details"
msgstr "Details"
+# zoekende/bezig met zoeken/zoeken...
#: addressbook/gui/component/addressbook-config.c:915
-#, fuzzy
msgid "Searching"
-msgstr "Ruimtes"
+msgstr "Zoeken"
+# bezig met downloaden/downloaden...
#: addressbook/gui/component/addressbook-config.c:917
-#, fuzzy
msgid "Downloading"
-msgstr "<b>Downloaden</b>"
+msgstr "Downloaden"
-#: addressbook/gui/component/addressbook-config.c:1119
+#: addressbook/gui/component/addressbook-config.c:1118
#: addressbook/gui/component/ldap-config.glade.h:14
msgid "Address Book Properties"
msgstr "Adresboek eigenschappen"
-# Of: bezig met overzetten
#: addressbook/gui/component/addressbook-migrate.c:72
-#: calendar/gui/migration.c:142 mail/em-migrate.c:1160
+#: calendar/gui/migration.c:142 mail/em-migrate.c:1190
msgid "Migrating..."
-msgstr "Nu aan het overzetten ..."
+msgstr "Bezig met overzetten..."
#: addressbook/gui/component/addressbook-migrate.c:124
-#: calendar/gui/migration.c:189 mail/em-migrate.c:1201
+#: calendar/gui/migration.c:189 mail/em-migrate.c:1231
#, c-format
msgid "Migrating `%s':"
msgstr "`%s' wordt overgezet:"
@@ -795,11 +776,9 @@ msgstr "Verwijderen"
msgid "Properties..."
msgstr "Eigenschappen..."
-# gegeven/geselecteerd
#: addressbook/gui/component/addressbook-view.c:1130
-#, fuzzy
msgid "Contact Source Selector"
-msgstr "Geen bronnen geselecteerd."
+msgstr "Contactenbron-selectie"
#: addressbook/gui/component/addressbook.c:98
msgid "Accessing LDAP Server anonymously"
@@ -812,64 +791,54 @@ msgstr "Fout bij het aanmelden.\n"
#: addressbook/gui/component/addressbook.c:200
#: plugins/groupwise-account-setup/camel-gw-listener.c:461
-#, fuzzy, c-format
+#, c-format
msgid "Enter password for %s (user %s)"
-msgstr "%sVoer uw wachtwoord in voor %s (gebruiker %s)"
+msgstr "Voer het wachtwoord in voor %s (gebruiker %s)"
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:1
-#, fuzzy
msgid "Autocomplete length"
-msgstr "Auto-afmaken"
+msgstr "Auto-aanvullen lengte"
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:2
-#, fuzzy
msgid "EFolderList XML for the list of completion URIs"
-msgstr "EFolderList xml voor de lijst met autoafmaak uri's"
+msgstr "EFolderList XML voor de lijst met auto-aanvullen URI's"
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:3
-#, fuzzy
msgid "EFolderList XML for the list of completion URIs."
-msgstr "EFolderList xml voor de lijst met autoafmaak uri's"
+msgstr "EFolderList XML voor de lijst met auto-aanvullen URI's."
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:4
-#, fuzzy
msgid ""
"Position of the vertical pane, between the card and list views and the "
"preview pane, in pixels."
-msgstr "Positie van het vertikale paneel in maand weergave"
+msgstr "Positie van het vertikale paneel, tussen de kaart- en lijstweergave en het voorbeeldpaneel, in pixels."
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:5
-#, fuzzy
msgid "Show preview pane"
-msgstr "Toon het voorbeeld paneel"
+msgstr "Het voorbeeldpaneel tonen"
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:6
-#, fuzzy
msgid ""
"The number of characters that must be typed before Evolution will attempt to "
"autocomplete."
-msgstr ""
-"Het aantal karakters dat getypt moet worden voordat evolution zal proberen "
-"het automatisch aan te vullen"
+msgstr "Het aantal tekens dat getypt moet worden voordat evolution het zal pogen automatisch aan te vullen."
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:7
msgid "URI for the folder last used in the select names dialog"
msgstr "URI voor de laatst gebruikte map in de slecteer namen dialoog"
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:8
-#, fuzzy
msgid "URI for the folder last used in the select names dialog."
-msgstr "URI voor de laatst gebruikte map in de slecteer namen dialoog"
+msgstr "URI voor de laatst gebruikte map in het dialoog: namen selecteren."
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:9
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:49
msgid "Vertical pane position"
-msgstr ""
+msgstr "Positie van verticale paneel"
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:10
-#, fuzzy
msgid "Whether to show the preview pane."
-msgstr "Het voorbeeld weergave paneel tonen."
+msgstr "Of het voorbeeldpaneel wordt getoond"
#: addressbook/gui/component/ldap-config.glade.h:1
#: addressbook/gui/contact-editor/contact-editor.glade.h:1
@@ -941,7 +910,7 @@ msgid "Add Address Book"
msgstr "Adresboek toevoegen"
#: addressbook/gui/component/ldap-config.glade.h:15
-#: mail/em-account-editor.c:300
+#: mail/em-account-editor.c:302
msgid "Always"
msgstr "Altijd"
@@ -977,7 +946,7 @@ msgid "Lo_gin:"
msgstr "Aan_melding:"
#: addressbook/gui/component/ldap-config.glade.h:25
-#: mail/em-account-editor.c:298
+#: mail/em-account-editor.c:300
msgid "Never"
msgstr "Nooit"
@@ -1062,19 +1031,14 @@ msgstr ""
msgid ""
"This is the maximum number of entries to download. Setting this number to be "
"too large will slow down your address book."
-msgstr ""
-"Dit is het maximum aantal kaarten dat zal worden opgehaald. Als u het te "
-"hoog instelt zal het adresboek langzaam worden."
+msgstr "Dit is het maximum aantal kaarten dat zal worden opgehaald. Als u het te hoog instelt zal het adresboek traag worden."
#: addressbook/gui/component/ldap-config.glade.h:37
-#, fuzzy
msgid ""
"This is the method Evolution will use to authenticate you. Note that "
"setting this to \"Email Address\" requires anonymous access to your ldap "
"server."
-msgstr ""
-"Dit is de methode die evolution zal gebruiken om u aan te melden. Als het op "
-"\"E-mailadres\" wordt gezet, is anonieme toegang tot de ldap server vereist."
+msgstr "Dit is de methode die Evolution zal gebruiken om u aan te melden. Als het op \"E-mailadres\" wordt gezet, is anonieme toegang tot de ldap server vereist."
#: addressbook/gui/component/ldap-config.glade.h:38
msgid ""
@@ -1103,7 +1067,7 @@ msgid "Using email address"
msgstr "E-mail adres wordt gebruikt"
#: addressbook/gui/component/ldap-config.glade.h:42
-#: mail/em-account-editor.c:299
+#: mail/em-account-editor.c:301
msgid "Whenever Possible"
msgstr "Indien mogelijk"
@@ -1157,7 +1121,7 @@ msgstr "kaarten"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:12
#: calendar/gui/dialogs/alarm-dialog.glade.h:26
#: calendar/gui/dialogs/calendar-setup.glade.h:14 filter/filter.glade.h:16
-#: mail/em-account-editor.c:1883 plugins/calendar-http/calendar-http.c:263
+#: mail/em-account-editor.c:1885 plugins/calendar-http/calendar-http.c:263
#: plugins/calendar-weather/calendar-weather.c:564
msgid "minutes"
msgstr "minuten"
@@ -1222,10 +1186,10 @@ msgstr "Contacten bewerken"
msgid "Full _Name..."
msgstr "Volledige _naam..."
+# plaatje/foto/afbeelding
#: addressbook/gui/contact-editor/contact-editor.glade.h:15
-#, fuzzy
msgid "Image"
-msgstr "bericht"
+msgstr "Foto"
#: addressbook/gui/contact-editor/contact-editor.glade.h:16
#: addressbook/gui/contact-editor/e-contact-editor-im.c:66
@@ -1251,15 +1215,14 @@ msgid "Personal Information"
msgstr "Persoonlijke informatie"
#: addressbook/gui/contact-editor/contact-editor.glade.h:22
-#, fuzzy
msgid "Telephone"
-msgstr "<b>Telefoon</b>"
+msgstr "Telefoon"
#. red
#: addressbook/gui/contact-editor/contact-editor.glade.h:23
#: addressbook/gui/contact-editor/e-contact-editor-im.c:235
#: addressbook/gui/contact-editor/e-contact-editor.c:199
-#: filter/filter-label.c:122 mail/em-migrate.c:1012 mail/mail-config.c:76
+#: filter/filter-label.c:122 mail/em-migrate.c:1042 mail/mail-config.c:77
#: mail/mail-config.glade.h:148
msgid "Work"
msgstr "Werk"
@@ -1270,79 +1233,66 @@ msgid "_Address:"
msgstr "_Adres:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:25
-#, fuzzy
msgid "_Anniversary:"
-msgstr "Verjaardag:"
+msgstr "Ver_jaardag:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:26
-#, fuzzy
msgid "_Assistant:"
-msgstr "Assistent:"
+msgstr "A_ssistent:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:27
-#, fuzzy
msgid "_Birthday:"
-msgstr "Geboortedatum:"
+msgstr "_Geboortedatum:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:28
#: plugins/itip-formatter/itip-view.c:1619
-#, fuzzy
msgid "_Calendar:"
-msgstr "Agenda:"
+msgstr "_Agenda:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:29
msgid "_Categories"
msgstr "_Categorieën"
#: addressbook/gui/contact-editor/contact-editor.glade.h:30
-#, fuzzy
msgid "_City:"
-msgstr "Plaats:"
+msgstr "_Plaats:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:31
-#, fuzzy
msgid "_Company:"
-msgstr "Bedrijf:"
+msgstr "_Bedrijf:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:32
-#, fuzzy
msgid "_Country:"
-msgstr "Land:"
+msgstr "_Land:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:33
-#, fuzzy
msgid "_Department:"
-msgstr "Afdeling:"
+msgstr "A_fdeling:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:34
msgid "_File under:"
msgstr "_Opslaan onder:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:35
-#, fuzzy
msgid "_Free/Busy:"
msgstr "V_rij/Bezet:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:36
-#, fuzzy
msgid "_Home Page:"
-msgstr "Homepage:"
+msgstr "_Webstek:"
# beheerder
#: addressbook/gui/contact-editor/contact-editor.glade.h:37
-#, fuzzy
msgid "_Manager:"
-msgstr "Manager:"
+msgstr "_Manager:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:38
-#, fuzzy
msgid "_Notes:"
msgstr "Aa_ntekeningen:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:39
-#, fuzzy
msgid "_Office:"
-msgstr "Kantoor:"
+msgstr "_Kantoor:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:40
#: addressbook/gui/contact-editor/fulladdr.glade.h:7
@@ -1350,15 +1300,13 @@ msgid "_PO Box:"
msgstr "_Postbus:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:41
-#, fuzzy
msgid "_Profession:"
-msgstr "Beroep:"
+msgstr "_Beroep:"
# echtgenoot
#: addressbook/gui/contact-editor/contact-editor.glade.h:42
-#, fuzzy
msgid "_Spouse:"
-msgstr "Partner:"
+msgstr "Pa_rtner:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:43
#: addressbook/gui/contact-editor/fulladdr.glade.h:8
@@ -1371,19 +1319,16 @@ msgid "_Title:"
msgstr "_Titel:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:45
-#, fuzzy
msgid "_Video Chat:"
-msgstr "Video Chat:"
+msgstr "_Video-chat:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:46
-#, fuzzy
msgid "_Wants to receive HTML mail"
-msgstr "Bij voorkeur HTML-berichten"
+msgstr "Bij voorkeur _HTML-berichten"
#: addressbook/gui/contact-editor/contact-editor.glade.h:47
-#, fuzzy
msgid "_Web Log:"
-msgstr "Weblog:"
+msgstr "_Weblog:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:48
#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:13
@@ -1391,9 +1336,8 @@ msgid "_Where:"
msgstr "_Waar:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:49
-#, fuzzy
msgid "_Zip/Postal Code:"
-msgstr "Postcode:"
+msgstr "Post_code:"
#: addressbook/gui/contact-editor/e-contact-editor-address.c:96
#: addressbook/gui/widgets/eab-contact-display.c:365
@@ -2152,9 +2096,8 @@ msgid "Saint Lucia"
msgstr "Santa Lucia"
#: addressbook/gui/contact-editor/e-contact-editor-address.c:320
-#, fuzzy
msgid "Saint Vincent And The Grenadines"
-msgstr "Saint Vincent en de Grena-dines"
+msgstr "Saint Vincent en de Grenadines"
#: addressbook/gui/contact-editor/e-contact-editor-address.c:321
msgid "Samoa"
@@ -2466,18 +2409,19 @@ msgid "Writable Fields"
msgstr "Beschrijfbare velden"
#: addressbook/gui/contact-editor/e-contact-editor.c:291
-#, fuzzy
msgid "Required Fields"
-msgstr "_Vereiste mensen"
+msgstr "Vereiste velden"
#: addressbook/gui/contact-editor/e-contact-editor.c:305
msgid "Changed"
-msgstr "Veranderd"
+msgstr "Gewijzigd"
+# foto is beter
#: addressbook/gui/contact-editor/e-contact-editor.c:2578
msgid "Please select an image for this contact"
msgstr "Selecteer een afbeelding voor dit contact"
+# foto is beter
#: addressbook/gui/contact-editor/e-contact-editor.c:2579
msgid "No image"
msgstr "Geen afbeelding"
@@ -2487,7 +2431,7 @@ msgid ""
"The contact data is invalid:\n"
"\n"
msgstr ""
-"De contact data is ongeldig:\n"
+"De contact-data is ongeldig:\n"
"\n"
#: addressbook/gui/contact-editor/e-contact-editor.c:2907
@@ -2503,7 +2447,6 @@ msgid "_Edit Full"
msgstr "Volledig be_werken"
#: addressbook/gui/contact-editor/e-contact-quick-add.c:306
-#, fuzzy
msgid "_Full name:"
msgstr "_Volledige naam:"
@@ -2511,7 +2454,7 @@ msgstr "_Volledige naam:"
msgid "E-_mail:"
msgstr "E-_mail:"
-#: addressbook/gui/contact-editor/eab-editor.c:324
+#: addressbook/gui/contact-editor/eab-editor.c:326
msgid ""
"Are you sure you want\n"
"to delete these contacts?"
@@ -2519,7 +2462,7 @@ msgstr ""
"Weet u zeker dat u deze\n"
"contacten wilt verwijderen?"
-#: addressbook/gui/contact-editor/eab-editor.c:327
+#: addressbook/gui/contact-editor/eab-editor.c:329
msgid ""
"Are you sure you want\n"
"to delete this contact?"
@@ -2663,11 +2606,10 @@ msgstr "_Verberg de adressen bij het sturen van post naar deze lijst"
msgid "_List name:"
msgstr "_Lijstnaam:"
-# selecteren
+# selecteer
#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:11
-#, fuzzy
msgid "_Select"
-msgstr "Selecteer"
+msgstr "_Selecteren"
#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:12
msgid "_Type an email address or drag a contact into the list below:"
@@ -2687,14 +2629,12 @@ msgid "Is New List"
msgstr "Is nieuwe lijst"
#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:707
-#, fuzzy
msgid "_Members"
-msgstr "Leden"
+msgstr "_Leden"
#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:710
-#, fuzzy
msgid "Contact List Members"
-msgstr "Lijstleden"
+msgstr "Leden contactenlijst"
#: addressbook/gui/merging/eab-contact-commit-duplicate-detected.glade.h:1
msgid "Changed Contact:"
@@ -2801,7 +2741,7 @@ msgstr "Bron"
#: addressbook/gui/widgets/e-addressbook-view.c:244
#: calendar/gui/dialogs/meeting-page.etspec.h:11
#: calendar/gui/e-calendar-table.etspec.h:13
-#: calendar/gui/e-meeting-list-view.c:244
+#: calendar/gui/e-meeting-list-view.c:319
#: calendar/gui/e-meeting-time-sel.etspec.h:11
msgid "Type"
msgstr "Type"
@@ -2873,9 +2813,8 @@ msgid "Any Category"
msgstr "Elke categorie"
#: addressbook/gui/widgets/e-addressbook-view.c:1750
-#, fuzzy
msgid "Print cards"
-msgstr "Taken afdrukken"
+msgstr "Kaarten afdrukken"
#: addressbook/gui/widgets/e-addressbook-view.etspec.h:1
msgid "Assistant"
@@ -3014,7 +2953,7 @@ msgstr "Radio"
#: addressbook/gui/widgets/e-addressbook-view.etspec.h:33
#: calendar/gui/dialogs/meeting-page.etspec.h:9
-#: calendar/gui/e-meeting-list-view.c:251
+#: calendar/gui/e-meeting-list-view.c:326
#: calendar/gui/e-meeting-time-sel.etspec.h:9
msgid "Role"
msgstr "Rol"
@@ -3086,7 +3025,6 @@ msgid "Column Width"
msgstr "Kolombreedte"
#: addressbook/gui/widgets/e-minicard-view.c:171
-#, fuzzy
msgid ""
"\n"
"\n"
@@ -3096,9 +3034,9 @@ msgid ""
msgstr ""
"\n"
"\n"
-"Er zijn geen items om weer te geven.\n"
+"Zoeken naar het contact\n"
"\n"
-"Dubbelklik hier om een nieuw contact te maken."
+"of dubbelklik hier om een nieuw contact te maken."
#: addressbook/gui/widgets/e-minicard-view.c:174
msgid ""
@@ -3115,12 +3053,14 @@ msgstr ""
"Dubbelklik hier om een nieuw contact te maken."
#: addressbook/gui/widgets/e-minicard-view.c:179
-#, fuzzy
msgid ""
"\n"
"\n"
"Search for the Contact."
-msgstr "Zoek naar contacten..."
+msgstr ""
+"\n"
+"\n"
+"Zoeken naar het contact."
#: addressbook/gui/widgets/e-minicard-view.c:181
msgid ""
@@ -3301,7 +3241,7 @@ msgid ""
"We were unable to open this addressbook. This either means this book is not "
"marked for offline usage or not yet downloaded for offline usage. Please "
"load the addressbook once in online mode to download its contents"
-msgstr ""
+msgstr "Wij konden dit adresboek niet openen. Dit betekent dat het boek niet aangemerkt voor offline gebruik of nog niet is gedownload voor offline gebruik. Om de inhoud te downloaden moet u het adresboek voor één keer in online-modus laden."
#: addressbook/gui/widgets/eab-gui-util.c:98
msgid ""
@@ -3499,12 +3439,13 @@ msgstr "Adresboek wordt benaderd..."
msgid "Merge E-Mail Address"
msgstr "E-mailadres samenvoegen"
+# contact/kaart
#: addressbook/gui/widgets/eab-vcard-control.c:139
-#, fuzzy, c-format
+#, c-format
msgid "There is one other contact."
msgid_plural "There are %d other contacts."
-msgstr[0] "en één andere kaart."
-msgstr[1] "en %d andere kaarten."
+msgstr[0] "Er is één ander contact."
+msgstr[1] "Er zijn %d andere contacten."
#: addressbook/gui/widgets/eab-vcard-control.c:223
#: addressbook/gui/widgets/eab-vcard-control.c:272
@@ -3784,12 +3725,10 @@ msgid "[vcard|csv]"
msgstr "[vcard|csv]"
#: addressbook/tools/evolution-addressbook-export.c:61
-#, fuzzy
msgid "Export in asynchronous mode"
-msgstr "Exporteer in asynchrone mode "
+msgstr "Exporteren in asynchrone modus"
#: addressbook/tools/evolution-addressbook-export.c:63
-#, fuzzy
msgid ""
"The number of cards in one output file in asychronous mode, default size 100."
msgstr ""
@@ -3818,8 +3757,8 @@ msgstr "In async mode moet de uitvoer een bestand zijn."
msgid "In normal mode, there is no need for the size option."
msgstr "In normale stand is er geen optie nodig voor grootte."
+# niet letterlijk vertaald
#: addressbook/tools/evolution-addressbook-export.c:153
-#, fuzzy
msgid "Unhandled error"
msgstr "Onbekende fout"
@@ -3867,7 +3806,7 @@ msgstr "Melding versturen"
#. calendar:prompt-delete-meeting primary
#: calendar/calendar-errors.xml.h:8
msgid "Are you sure you want to delete this meeting?"
-msgstr "Weet u zeker dat u deze vergadering wilt verwijderen?"
+msgstr "Weet u zeker dat u deze bijeenkomst wilt verwijderen?"
#. calendar:prompt-delete-meeting secondary
#: calendar/calendar-errors.xml.h:10
@@ -4134,41 +4073,37 @@ msgstr ""
#. calendar:prompt-delete-calendar primary
#: calendar/calendar-errors.xml.h:116
-#, fuzzy
msgid "Delete calendar '{0}'?"
-msgstr "{0}\" verwijderen?"
+msgstr "Agenda '{0}' verwijderen?"
#. calendar:prompt-delete-calendar secondary
#: calendar/calendar-errors.xml.h:118
msgid "This calendar will be removed permanently."
-msgstr ""
+msgstr "Deze agenda zal definitief worden verwijderd."
#. calendar:prompt-delete-task-list primary
#: calendar/calendar-errors.xml.h:120
-#, fuzzy
msgid "Delete task list '{0}'?"
-msgstr "Deze lijst verwijderen"
+msgstr "Takenlijst '{0}' verwijderen?"
#. calendar:prompt-delete-task-list secondary
#: calendar/calendar-errors.xml.h:122
msgid "This task list will be removed permanently."
-msgstr ""
+msgstr "Deze takenlijst zal definitief worden verwijderd."
#. calendar:prompt-send-no-subject-calendar primary
#: calendar/calendar-errors.xml.h:124
-#, fuzzy
msgid "Are you sure you want to send the appointment without a summary?"
-msgstr "Weet u zeker dat u een bericht zonder onderwerp wilt versturen?"
+msgstr "Weet u zeker dat u de afspraak wilt versturen zonder samenvatting?"
#. calendar:prompt-send-no-subject-calendar secondary
#: calendar/calendar-errors.xml.h:126
-#, fuzzy
msgid ""
"Adding a meaningful Summary to your appointment will give your recipients an "
"idea of what your appointment is about."
msgstr ""
-"Het toevoegen van een onderwerp aan uw bericht zal de geadresseerden een "
-"hint geven waar uw bericht over gaat."
+"Het toevoegen van een samenvatting aan uw afspraakbericht zal de "
+"geadresseerden een hint geven waar de afspraak over gaat."
# in outlook wordt de 'e' als sneltoets gebruikt
#: calendar/calendar-errors.xml.h:127 calendar/calendar-errors.xml.h:132
@@ -4179,46 +4114,42 @@ msgstr "V_erzenden"
#. calendar:prompt-send-no-subject-task primary
#: calendar/calendar-errors.xml.h:129
-#, fuzzy
msgid "Are you sure you want to send the task without a summary?"
-msgstr "Weet u zeker dat u een bericht zonder onderwerp wilt versturen?"
+msgstr "Weet u zeker dat u de taak zonder onderwerp wilt versturen?"
#. calendar:prompt-send-no-subject-task secondary
#: calendar/calendar-errors.xml.h:131
-#, fuzzy
msgid ""
"Adding a meaningful Summary to your task will give your recipients an idea "
"of what your task is about."
-msgstr ""
-"Het toevoegen van een onderwerp aan uw bericht zal de geadresseerden een "
-"hint geven waar uw bericht over gaat."
+msgstr "Het toevoegen van een onderwerp aan uw taak zal de geadresseerden een hint geven waar uw taak over gaat."
#. calendar:prompt-no-contents-offline-calendar primary
#: calendar/calendar-errors.xml.h:134
-#, fuzzy
msgid "Error loading calendar"
-msgstr "Fout bij openen van de agenda"
+msgstr "Fout bij laden van de agenda"
#. calendar:prompt-no-contents-offline-calendar secondary
#: calendar/calendar-errors.xml.h:136
msgid "The calendar is not marked for offline usage"
-msgstr ""
+msgstr "De agenda is niet aangemerkt voor offline gebruik"
#. calendar:prompt-no-contents-offline-tasks primary
#: calendar/calendar-errors.xml.h:138
-#, fuzzy
msgid "Error loading task list"
-msgstr "Fout bij toevoegen lijst"
+msgstr "Fout bij laden van takenlijst"
#. calendar:prompt-no-contents-offline-tasks secondary
#: calendar/calendar-errors.xml.h:140
msgid "The task list is not marked for offline usage"
-msgstr ""
+msgstr "De takenlijst is niet aangemerkt voor offline gebruik"
#. calendar:server-version secondary
#: calendar/calendar-errors.xml.h:146
msgid " Some features may not work correctly with your current server version"
msgstr ""
+"Bepaalde mogelijkheden werken mogelijk niet correct met uw huidige server-"
+"versie"
#: calendar/common/authentication.c:49 calendar/gui/e-pub-utils.c:301
#: smime/gui/component.c:48
@@ -4311,10 +4242,9 @@ msgid "Evolution Calendar alarm notification service"
msgstr "Evolution agenda alarmweergave"
#: calendar/gui/alarm-notify/alarm-notify-dialog.c:79
-#, fuzzy
msgid "minute"
msgid_plural "minutes"
-msgstr[0] "minuten"
+msgstr[0] "minuut"
msgstr[1] "minuten"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:1
@@ -4323,34 +4253,30 @@ msgid "Appointment"
msgstr "Afspraak"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:2
-#, fuzzy
msgid "Appointment Title"
-msgstr "Afspraak"
+msgstr "Afspraak titel"
#. End time
#: calendar/gui/alarm-notify/alarm-notify.glade.h:3
#: plugins/itip-formatter/itip-view.c:876
-#, fuzzy
msgid "End time:"
-msgstr "_Eindtijd:"
+msgstr "Eindtijd:"
#. Location
#: calendar/gui/alarm-notify/alarm-notify.glade.h:4
#: calendar/gui/e-itip-control.c:1118 plugins/itip-formatter/itip-view.c:859
msgid "Location:"
-msgstr "Locatie: "
+msgstr "Lokatie: "
#: calendar/gui/alarm-notify/alarm-notify.glade.h:5
-#, fuzzy
msgid "Snooze _time:"
-msgstr "Sluimer_tijd (minuten):"
+msgstr "Sluimer_tijd:"
#. Start time
#: calendar/gui/alarm-notify/alarm-notify.glade.h:6
#: plugins/itip-formatter/itip-view.c:867
-#, fuzzy
msgid "Start time:"
-msgstr "_Begintijd:"
+msgstr "Begintijd:"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:7
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:50
@@ -4369,37 +4295,33 @@ msgid "_Snooze"
msgstr "_Sluimeren"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:9
-#, fuzzy
msgid "description of appointment"
-msgstr "begin van afspraak"
+msgstr "omschrijving van afspraak"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:10
-#, fuzzy
msgid "end-time"
-msgstr "_Eindtijd:"
+msgstr "eindtijd"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:11
-#, fuzzy
msgid "location"
-msgstr "Lokatie"
+msgstr "lokatie"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:13
-#, fuzzy
msgid "start-time"
-msgstr "_Begintijd:"
+msgstr "begintijd"
#: calendar/gui/alarm-notify/alarm-queue.c:864
msgid "Dismiss"
msgstr "Negeren"
+# alles ververgen
#: calendar/gui/alarm-notify/alarm-queue.c:865
msgid "Dismiss All"
msgstr "Allemaal verbergen"
#: calendar/gui/alarm-notify/alarm-queue.c:947
-#, fuzzy
msgid "No summary available."
-msgstr "Geen beschrijving beschikbaar."
+msgstr "Geen omschrijving beschikbaar."
#: calendar/gui/alarm-notify/alarm-queue.c:956
#: calendar/gui/alarm-notify/alarm-queue.c:958
@@ -4407,9 +4329,8 @@ msgid "No description available."
msgstr "Geen beschrijving beschikbaar."
#: calendar/gui/alarm-notify/alarm-queue.c:966
-#, fuzzy
msgid "No location information available."
-msgstr "Geen beschrijving beschikbaar."
+msgstr "Geen lokatieinformatie beschikbaar."
#: calendar/gui/alarm-notify/alarm-queue.c:982
#, c-format
@@ -4475,324 +4396,306 @@ msgid "invalid time"
msgstr "ongeldige tijd"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:1
-#, fuzzy
msgid "Alarm programs"
-msgstr "Start een programma"
+msgstr "Wekkerprogramma's"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:2
-#, fuzzy
msgid "Ask for confirmation when deleting items"
-msgstr "Vr_aag om bevestiging bij het wissen van items"
+msgstr "Vragen om bevestiging bij het wissen van items"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:3
-#, fuzzy
msgid "Background color of tasks that are due today, in \"#rrggbb\" format."
-msgstr "Kleur voor taken voor vandaag"
+msgstr ""
+"Achtergrondkleur voor taken die vandaag gedaan moeten worden, in \"rrggbb\"-"
+"formaat."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:4
-#, fuzzy
msgid "Background color of tasks that are overdue, in \"#rrggbb\" format."
-msgstr "Kleur voor taken die gedaan hadden moeten zijn"
+msgstr ""
+"Achtergrondkleur voor taken die al gedaan hadden moeten zijn, in \"rrggbb\"-"
+"formaat."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:5
msgid "Calendars to run alarms for"
-msgstr "Agenda's met alarmen"
+msgstr "Agenda's met alarms"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:6
-#, fuzzy
msgid "Compress weekends in month view"
-msgstr "Weekeinden comprimeren in maand weergave"
+msgstr "Weekeinden comprimeren in maandweergave"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:7
-#, fuzzy
msgid "Confirm expunge"
-msgstr "Bevestigen bij het _legen van een map"
+msgstr "Bevestigen bij het leegmaken"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:8
msgid "Days on which the start and end of work hours should be indicated."
-msgstr ""
+msgstr "Dagen waarop de begin- en eindtijden van werkuren zichbaar moeten zijn."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:9
-#, fuzzy
msgid "Default appointment reminder"
-msgstr "Verwijder deze afspraak"
+msgstr "Standaar afspraak herinnering"
+# ?
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:10
-#, fuzzy
msgid "Default reminder units"
-msgstr "Standaard venster breedte"
+msgstr "Standaard herinneringseenheden"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:11
-#, fuzzy
msgid "Default reminder value"
-msgstr "Eenheden van standaard herinnering"
+msgstr "Standaard herinneringswaarde"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:12
-#, fuzzy
msgid "Free/busy server urls"
-msgstr "Vrij/Bezet Verzoek"
+msgstr "Vrij/bezet server-urls"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:13
-#, fuzzy
msgid "Free/busy template url"
-msgstr "Vrij/Bezet Antwoord"
+msgstr "Vrij/bezet sjabloon-url"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:14
-#, fuzzy
msgid "Hide completed tasks"
-msgstr "Verberg voltooide _taken na"
+msgstr "Voltooide taken verbergen"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:15
-#, fuzzy
msgid "Hide task units"
-msgstr "Nieuwe takenlijst"
+msgstr "Taakeenheden verbergen"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:16
msgid "Hide task value"
-msgstr ""
+msgstr "Taakwaarde verbergen"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:17
msgid "Horizontal pane position"
-msgstr ""
+msgstr "Horizontale paneelpositie"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:18
msgid "Hour the workday ends on, in twenty four hour format, 0 to 23."
-msgstr ""
+msgstr "Het uur waarop de werkdag eindigt, in 24-uurs formaat, 0 tot 23."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:19
msgid "Hour the workday starts on, in twenty four hour format, 0 to 23."
-msgstr ""
+msgstr "Het uur waarop de werkdag begint, in 24-uurs formaat, 0 tot 23."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:20
msgid "Last alarm time"
-msgstr ""
+msgstr "Laatste alarmtijd"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:21
-#, fuzzy
msgid "List of server urls for free/busy publishing."
-msgstr "Lijst met urls voor vrij/bezet publicatie"
+msgstr "Lijst met server-urls voor vrij/bezet publicatie."
+# engels: geen punt op het eind
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:22
-#, fuzzy
msgid "Minute the workday ends on, 0 to 59"
-msgstr "Minuut waarop de werkdag eindigd"
+msgstr "Minuut waarop de werkdag eindigt, 0 tot 59."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:23
-#, fuzzy
msgid "Minute the workday starts on, 0 to 59."
-msgstr "Minuut waarop de werkdag begint"
+msgstr "Minuut waarop de werkdag begint, 0 tot 59."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:24
-#, fuzzy
msgid "Month view horizontal pane position"
-msgstr "Positie van het horizontale paneel"
+msgstr "Maandweergave, horizontale paneelpositie"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:25
-#, fuzzy
msgid "Month view vertical pane position"
-msgstr "Positie van het vertikale paneel in hoofd weergave"
+msgstr "Maandweergave, verticale paneelpositie"
+# Engels grammatica: Number of units for determining for a default reminder.
+# voor het bepalen van een standaard herinnering?
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:26
-#, fuzzy
msgid "Number of units for determining for a default reminder."
-msgstr "Aantal units voor de standaard herinnering"
+msgstr "Aantal eenheden voor een standaard herinnering."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:27
-#, fuzzy
msgid "Number of units for determining when to hide tasks."
-msgstr "Aantal units voordat taken verborgen moeten worden"
+msgstr ""
+"Aantal eenheden voor het bepalen wanneer taken verborgen moeten worden."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:28
-#, fuzzy
msgid "Overdue tasks color"
-msgstr "Verl_open taken:"
+msgstr "Kleur van verlopen taken"
+# wat een rotzin!
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:29
msgid ""
"Position of the horizontal pane, between the date navigator calendar and the "
"task list when not in the month view, in pixels."
msgstr ""
+"Positie van het horizontale paneel, tussen de datumkiezer-agenda en de "
+"takenlijst, wanneer niet in maandweergave, in pixels."
+# engels: zin klopt niet:
+# Position of the horizontal pane, between the view and the date navigator
+# calendar and task list in the month view, in pixels.
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:30
msgid ""
"Position of the horizontal pane, between the view and the date navigator "
"calendar and task list in the month view, in pixels."
msgstr ""
+"Positie van het horizontale paneel, tussen het weergavegedeelte en de "
+"datumkiezer-agenda en de takenlijst, bij maandweergave, in pixels."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:31
-#, fuzzy
msgid ""
"Position of the vertical pane, between task list and the task preview pane, "
"in pixels."
-msgstr "Positie van het vertikale paneel in de taken weergave"
+msgstr ""
+"Positie van het verticale paneel, tussen takenlijst en de taken-"
+"voorbeelpaneel, in pixels."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:32
msgid ""
"Position of the vertical pane, between the view and the date navigator "
"calendar and task list in the month view, in pixels."
msgstr ""
+"Positie van het verticale paneel, tussen het weergavegedeelte en de "
+"datumkiezer-agenda en takenlijst, bij maandweergave, in pixels."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:33
msgid ""
"Position of the vertical pane, between the view and the date navigator "
"calendar and task list when not in the month view, in pixels."
msgstr ""
+"Positie van het verticale paneel, tussen het weergavegedeelte en de "
+"datumkiezer-agenda en de takenlijst, wanneer niet in maandweergave, in "
+"pixels."
+# Programma's die kunnen fungeren als deel van een alarm
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:34
-#, fuzzy
msgid "Programs that are allowed to be run by alarms."
-msgstr "Programma's die kunnen fungeren als deel van een alarm"
+msgstr "Programma's die door alarms mogen worden uitgevoerd."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:35
-#, fuzzy
msgid "Show appointment end times in week and month views"
msgstr "Eindtijden van afspraken tonen in week- en maandweergave"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:36
msgid "Show display alarms in notification tray"
-msgstr ""
+msgstr "Alarms weergeven in het mededelingengebied"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:37
-#, fuzzy
msgid "Show week numbers in date navigator"
-msgstr "Week_nummers tonen in datum navigator"
+msgstr "Weeknummers tonen in datumkiezer"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:38
-#, fuzzy
msgid "Tasks due today color"
-msgstr "T_aken die vandaag verlopen:"
+msgstr "Kleur van taken die vandaag verlopen"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:39
msgid "Tasks vertical pane position"
-msgstr ""
+msgstr "Taken verticale paneelpositie"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:40
msgid ""
"The default timezone to use for dates and times in the calendar, as an "
"untranslated Olsen timezone database location like \"America/New York\"."
-msgstr ""
+msgstr "De standaard tijdzone gebruikt voor datum en tijd in de agenda, als een onvertaalde Olsen tijdzone database lokatie zoals \"Europe/Amsterdam\"."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:42
#, no-c-format
msgid ""
"The url template to use as a free/busy data fallback, %u is replaced by the "
"user part of the mail address and %d is replaced by the domain."
-msgstr ""
+msgstr "De url-sjabloon die gebruikt wordt als vrij/bezet fallback, %u wordt vervangen door het gebruikersnaam-deel van het mailadres en %d wordt vervangen door het domein."
+# Engels fout: Time divisions</short> <short>Intervals ...
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:43
-#, fuzzy
msgid ""
"Time divisions</short> <short>Intervals shown in Day and Work Week views, in "
"minutes."
-msgstr "Intervallen die getoont worden in dag- en week-weergave"
+msgstr "<short>Tijdverdeling</short> Intervallen die getoont worden in dag- en werkweekweergave, in minuten."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:44
-#, fuzzy
msgid "Time the last alarm ran, in time_t."
-msgstr "Tijd van het laatste alarm"
+msgstr "Tijd wanneer het laatste alarm is afgegaan, in time_t."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:45
-#, fuzzy
msgid "Timezone"
-msgstr "Tijdzone "
+msgstr "Tijdzone"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:46
msgid "Twenty four hour time format"
-msgstr ""
+msgstr "24-uurs tijdsformaat"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:47
msgid "Units for a default reminder, \"minutes\", \"hours\" or \"days\"."
-msgstr ""
+msgstr "Eenheid voor een standaard-herinnering, \"minuten\", \"uren\" of \"dagen\"."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:48
-#, fuzzy
msgid ""
"Units for determining when to hide tasks, \"minutes\", \"hours\" or \"days\"."
-msgstr "Units voor het uitzoeken of taken verborgen dienen te worden"
+msgstr "Eenheid wanneer taken worden verborgen, \"minuten\", \"uren\" of \"dagen\"."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:50
-#, fuzzy
msgid "Week start"
-msgstr "W_eek begint:"
+msgstr "Week begint"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:51
-#, fuzzy
msgid "Weekday the week starts on, from Sunday (0) to Saturday (6)."
-msgstr "Weekdag waarmee de week begint"
+msgstr "Weekdag waarmee de week begint, van zondag (0) tot zaterdag (6)."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:52
-#, fuzzy
msgid "Whether or not to use the notification tray for display alarms."
-msgstr ""
-"Gebruik het notificatie systeemvak voor het weergeven van waarschuwingen"
+msgstr "Of het mededelingengebied wordt gebruikt voor het weergeven van alarms."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:53
-#, fuzzy
msgid "Whether to ask for confirmation when deleting an appointment or task."
-msgstr "Vraag om bevestiging bij het wissen van afspraken"
+msgstr "Of om bevestiging wordt gevraagd bij het wissen van eem afspraak of taak."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:54
-#, fuzzy
msgid "Whether to ask for confirmation when expunging appointments and tasks."
-msgstr "Vraag om bevestiging bij het wissen van afspraken"
+msgstr "Of om bevestiging wordt gevraagd bij het definitief verwijderen van afspraken en taken."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:55
msgid ""
"Whether to compress weekends in the month view, which puts Saturday and "
"Sunday in the space of one weekday."
-msgstr ""
+msgstr "Of weekenden in de maandweergave worden gecomprimeerd waardoor zaterdag en zondag de ruimte krijgen van één weekdag."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:56
-#, fuzzy
msgid "Whether to display the end time of events in the week and month views."
-msgstr "Eindtijden van afspraken tonen in week- en maandweergave"
+msgstr ""
+"If de eindtijden van afspraken worden getoond in week- en maandweergave."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:57
-#, fuzzy
msgid "Whether to hide completed tasks in the tasks view."
-msgstr "Verbergen van voltooide taken"
+msgstr "Of voltooide taken worden verborgen in in de takenweergave."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:58
-#, fuzzy
msgid "Whether to set a default reminder for appointments."
-msgstr "Instellen standaard herinnering bij gebeurtenissen"
+msgstr "Of een standaard herinnering wordt ingesteld bij afspraken."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:59
-#, fuzzy
msgid ""
"Whether to show times in twenty four hour format instead of using am/pm."
-msgstr "Toon de tijd in 24 uurs formaat in plaats van het gebruik van am/pm"
+msgstr "Of de tijd in 24-uurs formaat wordt getoond in plaats van am/pm."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:60
-#, fuzzy
msgid "Whether to show week numbers in the date navigator."
-msgstr "Week_nummers tonen in datum navigatie"
+msgstr "Of weeknummers worden getoond in de datumkiezer."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:61
-#, fuzzy
msgid "Work days"
-msgstr "Werkdagen:"
+msgstr "Werkdagen"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:62
-#, fuzzy
msgid "Workday end hour"
-msgstr "Het uur waarop een werkdag eindigt"
+msgstr "Werkdag laatste uur"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:63
-#, fuzzy
msgid "Workday end minute"
-msgstr "Online _werken"
+msgstr "Werkdag laatste minuut"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:64
-#, fuzzy
msgid "Workday start hour"
-msgstr "Het uur waarop een werkdag begint"
+msgstr "Werdag eerste uur"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:65
-#, fuzzy
msgid "Workday start minute"
-msgstr "Het uur waarop een werkdag begint"
+msgstr "Werkdag eerste minuut"
+# onderwerp/samevatting
#: calendar/gui/cal-search-bar.c:49
msgid "Summary contains"
msgstr "Samenvatting bevat"
@@ -4827,7 +4730,7 @@ msgid ""
"events."
msgstr ""
"Deze bewerking zal alle taken die ouder zijn de gespecificeerde tijd "
-"permanent verwijderen. Als u doorgaat zult u ze niet meer kunnen herstellen."
+"definitief verwijderen. Als u doorgaat zult u ze niet meer kunnen herstellen."
#: calendar/gui/calendar-commands.c:361
msgid "Purge events older than"
@@ -4857,9 +4760,8 @@ msgstr "Verjaardagen & gedenkdagen"
#. Create the weather group
#: calendar/gui/calendar-component.c:247
#: plugins/calendar-weather/calendar-weather.c:100
-#, fuzzy
msgid "Weather"
-msgstr "Later"
+msgstr "Weer"
#: calendar/gui/calendar-component.c:524
#: calendar/gui/dialogs/calendar-setup.c:442
@@ -4870,23 +4772,21 @@ msgstr "Nieuwe agenda"
msgid "Failed upgrading calendars."
msgstr "Bijwerken van agenda's mislukt."
+# maken ipv aanmaken hier beter
#: calendar/gui/calendar-component.c:1139
#, c-format
msgid "Unable to open the calendar '%s' for creating events and meetings"
msgstr ""
-"Kan de agenda '%s' niet openen voor het creëren van gebeurtenissen en "
-"afspraken"
+"Kan de agenda '%s' niet openen voor het maken van notities en bijeenkomsten"
#: calendar/gui/calendar-component.c:1155
msgid "There is no calendar available for creating events and meetings"
msgstr ""
-"Er is geen agenda beschikbaar voor het creëren van gebeurtenissen en "
-"bijeenkomsten"
+"Er is geen agenda beschikbaar voor het maken van notities en bijeenkomsten"
#: calendar/gui/calendar-component.c:1265
-#, fuzzy
msgid "Calendar Source Selector"
-msgstr "Agendalocatie"
+msgstr "Agendabron-selectie"
#: calendar/gui/calendar-component.c:1456
msgid "New appointment"
@@ -4902,11 +4802,12 @@ msgstr "Maak een nieuwe afspraak"
#: calendar/gui/calendar-component.c:1464
msgid "New meeting"
-msgstr "Nieuwe vergadering"
+msgstr "Nieuwe bijeenkomst"
+# bijeenkomst
#: calendar/gui/calendar-component.c:1465
msgid "M_eeting"
-msgstr "Ver_gadering"
+msgstr "_Bijeenkomst"
#: calendar/gui/calendar-component.c:1466
msgid "Create a new meeting request"
@@ -4930,7 +4831,7 @@ msgstr "Nieuwe agenda"
#: calendar/gui/calendar-component.c:1481
msgid "Cale_ndar"
-msgstr "Kale_nder"
+msgstr "A_genda"
#: calendar/gui/calendar-component.c:1482
msgid "Create a new calendar"
@@ -4964,14 +4865,14 @@ msgstr "Methode niet ondersteund tijdens het openen van de agenda"
msgid "Permission denied to open the calendar"
msgstr "Toegang geweigerd bij openen van de agenda"
-#: calendar/gui/comp-editor-factory.c:437 shell/e-shell.c:1259
+#: calendar/gui/comp-editor-factory.c:437 shell/e-shell.c:1264
msgid "Unknown error"
msgstr "Onbekende fout"
+# wekker
#: calendar/gui/dialogs/alarm-dialog.glade.h:1
-#, fuzzy
msgid "<b>Alarm</b>"
-msgstr "<b>Alarm</b>\t"
+msgstr "<b>Alarm</b>"
#: calendar/gui/dialogs/alarm-dialog.glade.h:2
msgid "<b>Options</b>"
@@ -5108,7 +5009,7 @@ msgid "%.0fG"
msgstr "%.0fG"
#: calendar/gui/dialogs/cal-attachment-bar.c:298
-#: calendar/gui/dialogs/cal-attachment-bar.c:913
+#: calendar/gui/dialogs/cal-attachment-bar.c:922
#: composer/e-msg-composer-attachment-bar.c:295 mail/em-utils.c:436
msgid "attachment"
msgstr "bijlage"
@@ -5126,18 +5027,16 @@ msgstr "_Verwijderen"
msgid "_Properties"
msgstr "_Eigenschappen"
-# bijlage toevoegen
+# bijlage toevoegen/bestand bijvoegen
#: calendar/gui/dialogs/cal-attachment-bar.c:442
#: composer/e-msg-composer-attachment-bar.c:440
-#, fuzzy
msgid "_Add attachment..."
-msgstr "Bestand bijvoegen..."
+msgstr "_Bijlage toevoegen..."
#: calendar/gui/dialogs/cal-attachment-bar.c:699
#: composer/e-msg-composer-attachment-bar.c:703
-#, fuzzy
msgid "Attachment Bar"
-msgstr "Bijlage"
+msgstr "Bijlagebalk"
#: calendar/gui/dialogs/cal-attachment-select-file.c:96
#: calendar/gui/dialogs/cal-attachment-select-file.c:115
@@ -5190,7 +5089,7 @@ msgid "MIME type:"
msgstr "MIME type:"
#. g_object_set((GObject *)renderer, "activatable", TRUE, NULL);
-#: calendar/gui/dialogs/cal-prefs-dialog.c:576 mail/em-account-prefs.c:460
+#: calendar/gui/dialogs/cal-prefs-dialog.c:576 mail/em-account-prefs.c:476
#: mail/em-composer-prefs.c:888 plugins/plugin-manager/plugin-manager.c:213
msgid "Enabled"
msgstr "Ingeschakeld"
@@ -5209,15 +5108,15 @@ msgstr "Niet verwijderen"
#: calendar/gui/dialogs/cal-prefs-dialog.c:787
#: calendar/gui/dialogs/cal-prefs-dialog.c:820
-#: calendar/gui/dialogs/cal-prefs-dialog.c:853 mail/em-account-prefs.c:307
-#: mail/em-account-prefs.c:335 mail/em-account-prefs.c:366
+#: calendar/gui/dialogs/cal-prefs-dialog.c:853 mail/em-account-prefs.c:323
+#: mail/em-account-prefs.c:351 mail/em-account-prefs.c:382
msgid "Disable"
msgstr "Uitzetten"
#: calendar/gui/dialogs/cal-prefs-dialog.c:787
#: calendar/gui/dialogs/cal-prefs-dialog.c:820
-#: calendar/gui/dialogs/cal-prefs-dialog.c:855 mail/em-account-prefs.c:307
-#: mail/em-account-prefs.c:335 mail/em-account-prefs.c:368
+#: calendar/gui/dialogs/cal-prefs-dialog.c:855 mail/em-account-prefs.c:323
+#: mail/em-account-prefs.c:351 mail/em-account-prefs.c:384
msgid "Enable"
msgstr "Aanzetten"
@@ -5246,22 +5145,20 @@ msgid "<b>Alerts</b>"
msgstr "<b>Waarschuwingen</b>"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:8
-#, fuzzy
msgid "<b>Default Free/Busy Server</b>"
-msgstr "<b>Vrij/bezet agendas</b>"
+msgstr "<b>Standaard vrij/bezet server</b>"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:9
msgid "<b>General</b>"
msgstr "<b>Algemeen</b>"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:10
-#, fuzzy
msgid "<b>Publishing</b>"
-msgstr "<b>_Publicatielocatie</b>"
+msgstr "<b>Publicatie</b>"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:11
msgid "<b>Task List</b>"
-msgstr "<b>Taken lijst</b>"
+msgstr "<b>Takenlijst</b>"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:12
msgid "<b>Time</b>"
@@ -5275,7 +5172,7 @@ msgstr "<b>Werkweek</b>"
#, no-c-format
msgid ""
"<i>%u and %d will be replaced by user and domain from the email address.</i>"
-msgstr ""
+msgstr "<i>%u en %d zullen worden vervangen door gebruiker en domein van het email-adres.</i>"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:16
msgid "Calendar and Tasks Settings"
@@ -5283,7 +5180,7 @@ msgstr "Agenda- en Taakinstellingen"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:17
msgid "Color for overdue tasks"
-msgstr "Kleur voor taken die te laat zijn"
+msgstr "Kleur voor taken die over-tijd zijn"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:18
msgid "Color for tasks due today"
@@ -5291,7 +5188,7 @@ msgstr "Kleur voor taken voor vandaag"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:19
msgid "Day _ends:"
-msgstr "Dag _eindigd:"
+msgstr "Dag _eindigt:"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:20
msgid "Days"
@@ -5307,9 +5204,8 @@ msgid "E_nable"
msgstr "Aanzetten"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:23
-#, fuzzy
msgid "Free/Busy"
-msgstr "V_rij/Bezet:"
+msgstr "Vrij/Bezet"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:24
#: calendar/gui/dialogs/recurrence-page.c:1044
@@ -5333,7 +5229,7 @@ msgstr "Maandag"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:29
msgid "S_un"
-msgstr "Z_on"
+msgstr "_Zon"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:30
#: calendar/gui/dialogs/recurrence-page.c:1045
@@ -5361,12 +5257,11 @@ msgstr "T_aken die vandaag verlopen:"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:35
msgid "T_hu"
-msgstr "D_on"
+msgstr "_Don"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:36
-#, fuzzy
msgid "Template:"
-msgstr "Afdeling:"
+msgstr "Sjabloon:"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:37
#: calendar/gui/dialogs/recurrence-page.c:1043
@@ -5468,16 +5363,15 @@ msgstr "voor het begin van elke afspraak"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:61
msgid "option menu to choose reminder units"
-msgstr ""
+msgstr "optiemenu voor het kiezen van herinneringseenheid"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:62
msgid "option menu to choose time units"
-msgstr ""
+msgstr "optiemenu voor het kiezen van tijdeenheid"
#: calendar/gui/dialogs/calendar-setup.c:284
-#, fuzzy
msgid "Copy calendar contents locally for offline operation"
-msgstr "Kopieër de inhoud van de map lokaal voor offline gebruik"
+msgstr "De inhoud van de agenda lokaal kopiëren voor offline gebruik"
#: calendar/gui/dialogs/calendar-setup.c:336
#: calendar/gui/dialogs/calendar-setup.glade.h:4
@@ -5485,19 +5379,16 @@ msgid "C_olor:"
msgstr "_Kleur:"
#: calendar/gui/dialogs/calendar-setup.c:373
-#, fuzzy
msgid "Tasks List"
msgstr "Takenlijst"
#: calendar/gui/dialogs/calendar-setup.c:440
-#, fuzzy
msgid "Calendar Properties"
-msgstr "Map-eigenschappen"
+msgstr "Agenda-eigenschappen"
#: calendar/gui/dialogs/calendar-setup.c:506
-#, fuzzy
msgid "Task List Properties"
-msgstr "Takenlijst-groep"
+msgstr "Takenlijst-eigenschappen"
#: calendar/gui/dialogs/calendar-setup.glade.h:2
msgid "Add Calendar"
@@ -5626,8 +5517,8 @@ msgstr[1] "%d bijgevoegd berichten"
#: calendar/gui/dialogs/comp-editor.c:412 calendar/gui/e-calendar-table.c:1164
#: calendar/gui/e-calendar-view.c:1402 composer/e-msg-composer.c:2906
-#: mail/em-folder-tree.c:1046 mail/em-folder-view.c:973
-#: mail/message-list.c:1712 ui/evolution-addressbook.xml.h:31
+#: mail/em-folder-tree.c:1046 mail/em-folder-view.c:966
+#: mail/message-list.c:1707 ui/evolution-addressbook.xml.h:31
#: ui/evolution-calendar.xml.h:39 ui/evolution-composer-entries.xml.h:7
#: ui/evolution-mail-message.xml.h:105 ui/evolution-tasks.xml.h:20
msgid "_Copy"
@@ -5635,89 +5526,90 @@ msgstr "_Kopiëren"
#: calendar/gui/dialogs/comp-editor.c:413 composer/e-msg-composer.c:2907
#: mail/em-folder-tree.c:1047 mail/em-folder-tree.c:2311
-#: mail/em-folder-view.c:869 mail/message-list.c:1713
+#: mail/em-folder-view.c:862 mail/message-list.c:1708
msgid "_Move"
msgstr "_Verplaatsen"
#: calendar/gui/dialogs/comp-editor.c:415 composer/e-msg-composer.c:2909
-#: mail/em-folder-tree.c:1049 mail/message-list.c:1715
+#: mail/em-folder-tree.c:1049 mail/message-list.c:1710
msgid "Cancel _Drag"
msgstr "_Slepen annuleren"
-#: calendar/gui/dialogs/comp-editor.c:659
+#: calendar/gui/dialogs/comp-editor.c:682
msgid "Could not update object"
msgstr "Kon object niet vernieuwen"
-#: calendar/gui/dialogs/comp-editor.c:820 composer/e-msg-composer.c:2310
+#: calendar/gui/dialogs/comp-editor.c:843 composer/e-msg-composer.c:2310
#, c-format
msgid "<b>%d</b> File Attached"
msgid_plural "<b>%d</b> Files Attached"
msgstr[0] "<b>%d</b> Bestand bijgevoegd"
msgstr[1] "<b>%d</b> Bestanden bijgevoegd"
-#: calendar/gui/dialogs/comp-editor.c:873 composer/e-msg-composer.c:2339
+#: calendar/gui/dialogs/comp-editor.c:900 composer/e-msg-composer.c:2339
msgid "Hide _Attachment Bar (drop attachments here)"
-msgstr "Verberg bijl_agen-balk (drop bijlagen hier)"
+msgstr "Bijl_agenbalk verbergen (sleep hier uw bijlagen naar toe)"
-#: calendar/gui/dialogs/comp-editor.c:876
-#: calendar/gui/dialogs/comp-editor.c:928 composer/e-msg-composer.c:2342
+#: calendar/gui/dialogs/comp-editor.c:903
+#: calendar/gui/dialogs/comp-editor.c:955 composer/e-msg-composer.c:2342
#: composer/e-msg-composer.c:3471
msgid "Show _Attachment Bar (drop attachments here)"
-msgstr "Toon bijl_agen-balk (drop bijlagen hier)"
+msgstr "Bijl_agenbalk tonen (sleep hier uw bijlagen naar toe)"
-#: calendar/gui/dialogs/comp-editor.c:952 composer/e-msg-composer.c:3493
+#: calendar/gui/dialogs/comp-editor.c:979 composer/e-msg-composer.c:3493
msgid "Attachment Button: Press space key to toggle attachment bar"
-msgstr ""
+msgstr "Bijlageknop: Druk op de spatiebalk om de bijlagebalk om te schakelen"
-#: calendar/gui/dialogs/comp-editor.c:1499
-#: calendar/gui/dialogs/comp-editor.c:1542
+#: calendar/gui/dialogs/comp-editor.c:1526
+#: calendar/gui/dialogs/comp-editor.c:1569
msgid "Edit Appointment"
msgstr "Afspraak Bewerken"
-#: calendar/gui/dialogs/comp-editor.c:1505
-#: calendar/gui/dialogs/comp-editor.c:1548
-#, fuzzy, c-format
+#: calendar/gui/dialogs/comp-editor.c:1532
+#: calendar/gui/dialogs/comp-editor.c:1575
+#, c-format
msgid "Meeting - %s"
-msgstr "Vergadering"
+msgstr "Bijeenkomst - %s"
-#: calendar/gui/dialogs/comp-editor.c:1507
-#: calendar/gui/dialogs/comp-editor.c:1550
+#: calendar/gui/dialogs/comp-editor.c:1534
+#: calendar/gui/dialogs/comp-editor.c:1577
#, c-format
msgid "Appointment - %s"
msgstr "Afspraak - %s"
-#: calendar/gui/dialogs/comp-editor.c:1511
-#: calendar/gui/dialogs/comp-editor.c:1554
-#, fuzzy, c-format
+#: calendar/gui/dialogs/comp-editor.c:1538
+#: calendar/gui/dialogs/comp-editor.c:1581
+#, c-format
msgid "Assigned Task - %s"
-msgstr "Toegewe_zen taak"
+msgstr "Toegewezen taak - %s"
-#: calendar/gui/dialogs/comp-editor.c:1513
-#: calendar/gui/dialogs/comp-editor.c:1556
+#: calendar/gui/dialogs/comp-editor.c:1540
+#: calendar/gui/dialogs/comp-editor.c:1583
#, c-format
msgid "Task - %s"
msgstr "Taak - %s"
-#: calendar/gui/dialogs/comp-editor.c:1516
-#: calendar/gui/dialogs/comp-editor.c:1559
+#: calendar/gui/dialogs/comp-editor.c:1543
+#: calendar/gui/dialogs/comp-editor.c:1586
#, c-format
msgid "Journal entry - %s"
msgstr "Dagboekaantekening - %s"
-#: calendar/gui/dialogs/comp-editor.c:1527
-#: calendar/gui/dialogs/comp-editor.c:1569
+# samenvatting/onderwerp
+#: calendar/gui/dialogs/comp-editor.c:1554
+#: calendar/gui/dialogs/comp-editor.c:1596
msgid "No summary"
msgstr "Geen samenvatting"
-#: calendar/gui/dialogs/comp-editor.c:2001
-#: calendar/gui/dialogs/comp-editor.c:2034
-#: calendar/gui/dialogs/comp-editor.c:2058
+#: calendar/gui/dialogs/comp-editor.c:2030
+#: calendar/gui/dialogs/comp-editor.c:2063
+#: calendar/gui/dialogs/comp-editor.c:2087
msgid "Changes made to this item may be discarded if an update arrives"
msgstr ""
"De gemaakte veranderingen aan dit item worden verworpen indien een "
"bijwerking via e-mail arriveerd"
-#: calendar/gui/dialogs/comp-editor.c:2082
+#: calendar/gui/dialogs/comp-editor.c:2111
msgid "Unable to use current version!"
msgstr "Kan huidige niet gebruiken!"
@@ -5886,17 +5778,17 @@ msgstr "<b>Datum & tijd</b>"
#: calendar/gui/dialogs/event-page.glade.h:7
#: calendar/gui/dialogs/task-page.glade.h:3
-#, fuzzy
msgid "<b>Send Options</b>"
-msgstr "<b>Opties</b>"
+msgstr "<b>Verzendopties</b>"
#: calendar/gui/dialogs/event-page.glade.h:8
msgid "A_ll day event"
msgstr "_Gebeurtenis voor de hele dag"
+# Engels fout: extra spatie: Ad_vanced send options
#: calendar/gui/dialogs/event-page.glade.h:9
msgid "Ad_vanced send options"
-msgstr ""
+msgstr "Ge_avanceerde verzend-opties"
#: calendar/gui/dialogs/event-page.glade.h:10
msgid "C_ustomize..."
@@ -5923,9 +5815,8 @@ msgid "Confidential"
msgstr "Vertrouwelijk"
#: calendar/gui/dialogs/event-page.glade.h:15
-#, fuzzy
msgid "Event Description"
-msgstr "Omschrijving:"
+msgstr "Agendanotitie omschrijving"
#: calendar/gui/dialogs/event-page.glade.h:16
msgid "Locat_ion:"
@@ -5985,8 +5876,8 @@ msgstr "_Begintijd:"
#: calendar/gui/dialogs/meeting-page.glade.h:5
#: calendar/gui/e-cal-model-tasks.c:652 calendar/gui/e-itip-control.c:1104
#: composer/e-msg-composer.c:2117 filter/filter-rule.c:878
-#: mail/em-account-editor.c:683 mail/em-account-editor.c:1289
-#: mail/em-account-prefs.c:421 mail/em-folder-view.c:1000
+#: mail/em-account-editor.c:685 mail/em-account-editor.c:1291
+#: mail/em-account-prefs.c:437 mail/em-folder-view.c:993
#: plugins/calendar-weather/calendar-weather.c:371
#: plugins/calendar-weather/calendar-weather.c:425
#: plugins/itip-formatter/itip-formatter.c:1376
@@ -6013,11 +5904,12 @@ msgid "_Delegate To..."
msgstr "_Overdragen aan..."
#: calendar/gui/dialogs/meeting-page.etspec.h:1
-#: calendar/gui/e-meeting-list-view.c:235
+#: calendar/gui/e-meeting-list-view.c:308
#: calendar/gui/e-meeting-time-sel.etspec.h:1
msgid "Attendee"
msgstr "Aanwezige"
+# bezoeker/aanwezige/persoon
#: calendar/gui/dialogs/meeting-page.etspec.h:2
#: calendar/gui/e-meeting-time-sel.etspec.h:2
msgid "Click here to add an attendee"
@@ -6049,7 +5941,7 @@ msgid "Member"
msgstr "Lid"
#: calendar/gui/dialogs/meeting-page.etspec.h:8
-#: calendar/gui/e-meeting-list-view.c:258
+#: calendar/gui/e-meeting-list-view.c:333
#: calendar/gui/e-meeting-time-sel.etspec.h:8
msgid "RSVP"
msgstr "RSVP"
@@ -6057,7 +5949,7 @@ msgstr "RSVP"
#: calendar/gui/dialogs/meeting-page.etspec.h:10
#: calendar/gui/dialogs/task-editor.c:146
#: calendar/gui/e-calendar-table.etspec.h:10
-#: calendar/gui/e-meeting-list-view.c:265
+#: calendar/gui/e-meeting-list-view.c:340
#: calendar/gui/e-meeting-time-sel.etspec.h:10 mail/em-filter-i18n.h:63
#: mail/message-list.etspec.h:12
msgid "Status"
@@ -6081,9 +5973,8 @@ msgid "Or_ganizer:"
msgstr "_Organisator:"
#: calendar/gui/dialogs/meeting-page.glade.h:7
-#, fuzzy
msgid "Organizer"
-msgstr "Organisator:"
+msgstr "Organisator"
#: calendar/gui/dialogs/meeting-page.glade.h:8
#: calendar/gui/e-itip-control.glade.h:9
@@ -6262,13 +6153,15 @@ msgstr "ja(a)r(en)"
msgid "Completed date is wrong"
msgstr "Voltooiingsdatum is ongeldig"
+# webpagina/webstek
+# we moeten maar kijken in hoeverre webstek voeten aan de grond
+# krijgt in het Nederlands.
#: calendar/gui/dialogs/task-details-page.c:522
-#, fuzzy
msgid "Web Page"
-msgstr "Webstek:"
+msgstr "Webstek"
+# overige/diversen
#: calendar/gui/dialogs/task-details-page.glade.h:1
-#, fuzzy
msgid "<span weight=\"bold\">Miscellaneous</span>"
msgstr "<span weight=\"bold\">Diversen\t</span>"
@@ -6289,7 +6182,7 @@ msgstr "Voltooid"
#: calendar/gui/dialogs/task-details-page.glade.h:5
#: calendar/gui/e-cal-component-preview.c:248
-#: calendar/gui/e-calendar-table.c:382 mail/message-list.c:1011
+#: calendar/gui/e-calendar-table.c:382 mail/message-list.c:1006
msgid "High"
msgstr "Hoog"
@@ -6303,13 +6196,13 @@ msgstr "In behandeling"
#: calendar/gui/dialogs/task-details-page.glade.h:7
#: calendar/gui/e-cal-component-preview.c:252
-#: calendar/gui/e-calendar-table.c:384 mail/message-list.c:1009
+#: calendar/gui/e-calendar-table.c:384 mail/message-list.c:1004
msgid "Low"
msgstr "Laag"
#: calendar/gui/dialogs/task-details-page.glade.h:8
#: calendar/gui/e-cal-component-preview.c:250 calendar/gui/e-cal-model.c:899
-#: calendar/gui/e-calendar-table.c:383 mail/message-list.c:1010
+#: calendar/gui/e-calendar-table.c:383 mail/message-list.c:1005
msgid "Normal"
msgstr "Normaal"
@@ -6367,7 +6260,7 @@ msgstr "Kan taken in '%s' niet openen."
#: calendar/gui/dialogs/task-page.glade.h:4
msgid "Ad_vanced send options"
-msgstr ""
+msgstr "Ge_avanceerde verzend-opties"
#: calendar/gui/dialogs/task-page.glade.h:9
msgid "D_escription:"
@@ -6378,9 +6271,8 @@ msgid "Sta_rt date:"
msgstr "Be_gindatum:"
#: calendar/gui/dialogs/task-page.glade.h:14
-#, fuzzy
msgid "Task Description"
-msgstr "Omschrijving:"
+msgstr "Taakomschrijving"
#: calendar/gui/dialogs/task-page.glade.h:15
msgid "_Due date:"
@@ -6403,9 +6295,8 @@ msgid "<b>Publishing _Location</b>"
msgstr "<b>_Publicatielocatie</b>"
#: calendar/gui/dialogs/url-editor-dialog.glade.h:6
-#, fuzzy
msgid "Free/Busy Publishing Settings"
-msgstr "Vrij/Bezet publicatie"
+msgstr "Vrij/Bezet publicatie-instellingen"
#: calendar/gui/dialogs/url-editor-dialog.glade.h:7
msgid "_Daily"
@@ -6510,7 +6401,7 @@ msgstr "%s bij %s"
msgid "%s for an unknown trigger type"
msgstr "%s voor een onbekend triggertype"
-#: calendar/gui/e-cal-component-preview.c:70 mail/em-folder-view.c:2588
+#: calendar/gui/e-cal-component-preview.c:70 mail/em-folder-view.c:2573
#, c-format
msgid "Click to open %s"
msgstr "Klik hier om %s te openen"
@@ -6519,6 +6410,7 @@ msgstr "Klik hier om %s te openen"
msgid "Untitled"
msgstr "Naamloos"
+# samenvatting/onderwerp
#: calendar/gui/e-cal-component-preview.c:186
#: calendar/gui/e-itip-control.c:1108 calendar/gui/e-itip-control.glade.h:11
msgid "Summary:"
@@ -6538,7 +6430,7 @@ msgstr "Verloopdatum:"
#. Status
#: calendar/gui/e-cal-component-preview.c:222
#: calendar/gui/e-itip-control.c:1132
-#: plugins/exchange-account-setup/exchange-account-setup.c:129
+#: plugins/exchange-account-setup/exchange-account-setup.c:209
#: plugins/itip-formatter/itip-view.c:884
msgid "Status:"
msgstr "Status:"
@@ -6616,7 +6508,7 @@ msgstr "Nee"
#: calendar/gui/e-meeting-list-view.c:139
#: calendar/gui/e-meeting-list-view.c:153 calendar/gui/e-meeting-store.c:124
#: calendar/gui/e-meeting-store.c:159 calendar/gui/e-meeting-store.c:224
-#: mail/em-utils.c:1157 plugins/itip-formatter/itip-formatter.c:251
+#: mail/em-utils.c:1173 plugins/itip-formatter/itip-formatter.c:251
#: plugins/itip-formatter/itip-formatter.c:1398
#: plugins/plugin-manager/plugin-manager.c:72 shell/e-component-registry.c:201
#: shell/e-component-registry.c:205 widgets/misc/e-charset-picker.c:62
@@ -6676,9 +6568,8 @@ msgid "100%"
msgstr "100%"
#: calendar/gui/e-calendar-table.c:516
-#, fuzzy
msgid "Task Table"
-msgstr "Taak Update"
+msgstr "Taaktabel"
#: calendar/gui/e-calendar-table.c:694 calendar/gui/e-calendar-view.c:652
msgid "Deleting selected objects"
@@ -6703,7 +6594,7 @@ msgid "Open _Web Page"
msgstr "Open _website"
#: calendar/gui/e-calendar-table.c:1158 calendar/gui/e-calendar-view.c:1396
-#: mail/em-folder-view.c:983 mail/em-popup.c:493
+#: mail/em-folder-view.c:976 mail/em-popup.c:494
#: ui/evolution-mail-message.xml.h:124
msgid "_Save As..."
msgstr "_Opslaan als..."
@@ -6746,7 +6637,7 @@ msgstr "Geselecteerde taken als voltooid markeren"
#. FIXME: need to disable for undeletable folders
#: calendar/gui/e-calendar-table.c:1176 calendar/gui/e-calendar-view.c:1414
-#: mail/em-folder-tree.c:2814 mail/em-folder-view.c:987
+#: mail/em-folder-tree.c:2814 mail/em-folder-view.c:980
#: ui/evolution-addressbook.xml.h:33 ui/evolution-calendar.xml.h:40
#: ui/evolution-mail-message.xml.h:108 ui/evolution-tasks.xml.h:21
msgid "_Delete"
@@ -7020,21 +6911,22 @@ msgstr ""
#: calendar/gui/e-itip-control.c:1137 calendar/gui/e-meeting-list-view.c:175
#: calendar/gui/e-meeting-store.c:188 calendar/gui/e-meeting-store.c:211
-#: calendar/gui/itip-utils.c:422 plugins/itip-formatter/itip-formatter.c:1389
+#: calendar/gui/itip-utils.c:421 plugins/itip-formatter/itip-formatter.c:1389
msgid "Accepted"
msgstr "Geaccepteerd"
-#: calendar/gui/e-itip-control.c:1141 calendar/gui/itip-utils.c:425
+#: calendar/gui/e-itip-control.c:1141 calendar/gui/itip-utils.c:424
#: plugins/itip-formatter/itip-formatter.c:1392
msgid "Tentatively Accepted"
msgstr "Voorlopig Geaccepteerd"
+# afgezegd/geweigerd/afgewezen
#: calendar/gui/e-itip-control.c:1145 calendar/gui/e-meeting-list-view.c:176
#: calendar/gui/e-meeting-store.c:190 calendar/gui/e-meeting-store.c:213
-#: calendar/gui/itip-utils.c:428 calendar/gui/itip-utils.c:454
+#: calendar/gui/itip-utils.c:427 calendar/gui/itip-utils.c:453
#: plugins/itip-formatter/itip-formatter.c:1395
msgid "Declined"
-msgstr "Geweigerd"
+msgstr "Afgewezen"
#: calendar/gui/e-itip-control.c:1229
msgid ""
@@ -7240,11 +7132,12 @@ msgstr "Update Voltooid\n"
msgid "Object is invalid and cannot be updated\n"
msgstr "Object is ongeldig en kan niet worden bijgewerkt\n"
+# toevoegen als komt/aanwezige/aanwezig
#: calendar/gui/e-itip-control.c:1947
msgid "This response is not from a current attendee. Add as an attendee?"
msgstr ""
-"Dit antwoord is niet van een geregistreerd staand persoon. Toevoegen in "
-"registratie?"
+"Dit antwoord is niet van een geregistreerd staand persoon. Toevoegen als "
+"aanwezige?"
#: calendar/gui/e-itip-control.c:1959
msgid "Attendee status could not be updated because of an invalid status!\n"
@@ -7289,9 +7182,10 @@ msgstr "Accepteren"
msgid "Tentatively accept"
msgstr "Voorlopig accepteren"
+# afzeggen/weigeren/afwijzen
#: calendar/gui/e-itip-control.c:2262
msgid "Decline"
-msgstr "Weigeren"
+msgstr "Afwijzen"
#: calendar/gui/e-itip-control.c:2291
msgid "Send Free/Busy Information"
@@ -7305,7 +7199,7 @@ msgstr "Ververs antwoordstatus"
msgid "Send Latest Information"
msgstr "Verstuur Laatste Informatie"
-#: calendar/gui/e-itip-control.c:2375 calendar/gui/itip-utils.c:442
+#: calendar/gui/e-itip-control.c:2375 calendar/gui/itip-utils.c:441
#: mail/mail-send-recv.c:414 mail/mail-send-recv.c:466
#: ui/evolution-mail-global.xml.h:1
msgid "Cancel"
@@ -7542,9 +7436,8 @@ msgid "Expunging"
msgstr "Bezig met schrappen"
#: calendar/gui/e-timezone-entry.c:133
-#, fuzzy
msgid "Timezone Button"
-msgstr "Tijdzone "
+msgstr "Tijdzoneknop"
#. strftime format %d = day of month, %B = full
#. month name. You can change the order but don't
@@ -7563,9 +7456,8 @@ msgid "Custom View"
msgstr "_Aangepaste weergave"
#: calendar/gui/gnome-cal.c:2058
-#, fuzzy
msgid "Save Custom View"
-msgstr "Aangepaste weergave opslaan..."
+msgstr "Aangepaste weergave opslaan"
#: calendar/gui/gnome-cal.c:2063 widgets/menus/gal-view-menus.c:373
msgid "Define Views..."
@@ -7646,57 +7538,57 @@ msgstr "September"
msgid "_Select Today"
msgstr "_Selecteer vandaag"
-#: calendar/gui/itip-utils.c:271 calendar/gui/itip-utils.c:319
-#: calendar/gui/itip-utils.c:351
+#: calendar/gui/itip-utils.c:270 calendar/gui/itip-utils.c:318
+#: calendar/gui/itip-utils.c:350
msgid "An organizer must be set."
msgstr "Er moet een organisator ingesteld worden."
-#: calendar/gui/itip-utils.c:306
+#: calendar/gui/itip-utils.c:305
msgid "At least one attendee is necessary"
msgstr "Er is minstens één bezoeker nodig"
-#: calendar/gui/itip-utils.c:394 calendar/gui/itip-utils.c:503
+#: calendar/gui/itip-utils.c:393 calendar/gui/itip-utils.c:502
msgid "Event information"
msgstr "Gebeurtenis informatie"
-#: calendar/gui/itip-utils.c:396 calendar/gui/itip-utils.c:505
+#: calendar/gui/itip-utils.c:395 calendar/gui/itip-utils.c:504
msgid "Task information"
msgstr "Taak informatie"
-#: calendar/gui/itip-utils.c:398 calendar/gui/itip-utils.c:507
+#: calendar/gui/itip-utils.c:397 calendar/gui/itip-utils.c:506
msgid "Journal information"
msgstr "Journaal informatie"
-#: calendar/gui/itip-utils.c:400 calendar/gui/itip-utils.c:525
+#: calendar/gui/itip-utils.c:399 calendar/gui/itip-utils.c:524
msgid "Free/Busy information"
msgstr "Vrij/Bezet informatie"
-#: calendar/gui/itip-utils.c:402
+#: calendar/gui/itip-utils.c:401
msgid "Calendar information"
msgstr "Agenda-informatie"
-#: calendar/gui/itip-utils.c:438
+#: calendar/gui/itip-utils.c:437
msgid "Updated"
msgstr "Vernieuwd"
-#: calendar/gui/itip-utils.c:446
+#: calendar/gui/itip-utils.c:445
msgid "Refresh"
msgstr "Verversen"
-#: calendar/gui/itip-utils.c:450
+#: calendar/gui/itip-utils.c:449
msgid "Counter-proposal"
msgstr "Tegenvoorstel"
-#: calendar/gui/itip-utils.c:521
+#: calendar/gui/itip-utils.c:520
#, c-format
msgid "Free/Busy information (%s to %s)"
msgstr "Vrij/Bezet informatie (%s tot %s)"
-#: calendar/gui/itip-utils.c:531
+#: calendar/gui/itip-utils.c:530
msgid "iCalendar information"
msgstr "iCalendar informatie"
-#: calendar/gui/itip-utils.c:673
+#: calendar/gui/itip-utils.c:672
msgid "You must be an attendee of the event."
msgstr "U moet een bezoeker zijn van het evenement."
@@ -7976,7 +7868,7 @@ msgid_plural "%d tasks"
msgstr[0] "%d taak"
msgstr[1] "%d taken"
-#: calendar/gui/tasks-component.c:506 mail/mail-component.c:523
+#: calendar/gui/tasks-component.c:506 mail/mail-component.c:544
#, c-format
msgid ", %d selected"
msgid_plural ", %d selected"
@@ -7998,11 +7890,9 @@ msgstr ""
msgid "There is no calendar available for creating tasks"
msgstr "Er is geen agenda beschikbaar voor het aanmaken van taken"
-# gegeven/geselecteerd
#: calendar/gui/tasks-component.c:956
-#, fuzzy
msgid "Task Source Selector"
-msgstr "Geen bronnen geselecteerd."
+msgstr "Takenbron-selectie"
#: calendar/gui/tasks-component.c:1139
msgid "New task"
@@ -8047,7 +7937,7 @@ msgid ""
"\n"
"Really erase these tasks?"
msgstr ""
-"Deze bewerking zal alle taken die als 'voltooid' gemarkeerd zijn, permanent "
+"Deze bewerking zal alle taken die als 'voltooid' gemarkeerd zijn, definitief "
"verwijderen. Als u doorgaat zult u ze niet meer kunnen herstellen.\n"
"\n"
"De taken echt verwijderen?"
@@ -9654,48 +9544,42 @@ msgstr "Klik hier voor het adresboek"
#. * expects the reply_to fields to be initialized.
#.
#: composer/e-msg-composer-hdrs.c:584
-#, fuzzy
msgid "_Reply-To:"
-msgstr "Antwoordadres:"
+msgstr "A_ntwoordadres:"
#.
#. * From
#.
#: composer/e-msg-composer-hdrs.c:591
-#, fuzzy
msgid "Fr_om:"
-msgstr "Van:"
+msgstr "_Van:"
#.
#. * Subject
#.
#: composer/e-msg-composer-hdrs.c:598
-#, fuzzy
msgid "S_ubject:"
-msgstr "Onderwerp:"
+msgstr "_Onderwerp:"
#: composer/e-msg-composer-hdrs.c:608
-#, fuzzy
msgid "_To:"
-msgstr "Aan:"
+msgstr "_Aan:"
#: composer/e-msg-composer-hdrs.c:609
msgid "Enter the recipients of the message"
msgstr "Geef de geadresseerden"
#: composer/e-msg-composer-hdrs.c:612
-#, fuzzy
msgid "_Cc:"
-msgstr "Cc:"
+msgstr "_Cc:"
#: composer/e-msg-composer-hdrs.c:613
msgid "Enter the addresses that will receive a carbon copy of the message"
msgstr "Geef de adressen die een kopie van het bericht moeten krijgen"
#: composer/e-msg-composer-hdrs.c:616
-#, fuzzy
msgid "_Bcc:"
-msgstr "Bcc:"
+msgstr "_Bcc:"
#: composer/e-msg-composer-hdrs.c:617
msgid ""
@@ -9705,13 +9589,13 @@ msgstr ""
"Geef de adressen die een kopie van het bericht moeten krijgen zonder dat ze "
"op de geadresseerden-lijst van het bericht verschijnen."
+# verzenden/versturen
#.
#. * Post-To
#.
#: composer/e-msg-composer-hdrs.c:624
-#, fuzzy
msgid "_Post To:"
-msgstr "Versturen naar:"
+msgstr "_Versturen naar:"
#: composer/e-msg-composer-hdrs.c:629
msgid "Click here to select folders to post to"
@@ -9754,19 +9638,17 @@ msgstr "Naamloos Bericht"
#. NB: This function is never used anymore
#: composer/e-msg-composer.c:1604
-#, fuzzy
msgid "Open File"
msgstr "Bestand openen"
-#: composer/e-msg-composer.c:2001 mail/em-account-editor.c:586
-#: mail/em-account-editor.c:631 mail/em-account-editor.c:698
+#: composer/e-msg-composer.c:2001 mail/em-account-editor.c:588
+#: mail/em-account-editor.c:633 mail/em-account-editor.c:700
msgid "Autogenerated"
msgstr "Automatisch gegenereerd"
#: composer/e-msg-composer.c:2100
-#, fuzzy
msgid "Si_gnature:"
-msgstr "Handtekening:"
+msgstr "_Handtekening:"
#: composer/e-msg-composer.c:2359 composer/e-msg-composer.c:3360
#: composer/e-msg-composer.c:3361
@@ -9890,10 +9772,10 @@ msgid ""
"you choose to save the message in your Drafts folder. This will allow you to "
"continue the message at a later date."
msgstr ""
-"Het afsluiten van het opstelvenster heeft tot gevolg dat het bericht wordt "
-"weggegooid, tenzij u besluit het bericht op te slaan in de kladmap. Dit "
-"geeft u de mogelijkheid om op een later tijdstip verder te gaan met het "
-"bericht."
+"Het afsluiten van het opstelvenster heeft tot gevolg dat het bericht "
+"definitief wordt weggegooid, tenzij u besluit het bericht op te slaan in de "
+"kladmap. Dit geeft u de mogelijkheid om op een later tijdstip verder te gaan "
+"met het bericht."
#: composer/mail-composer-errors.xml.h:33
msgid "_Discard Changes"
@@ -9955,7 +9837,7 @@ msgstr ""
"Controleer alstublieft dat u de juiste versie van gtkhtml en libgtkhtml "
"geïnstalleerd heeft."
-#: data/evolution.desktop.in.in.h:1 shell/main.c:520
+#: data/evolution.desktop.in.in.h:1 shell/main.c:521
msgid "Evolution"
msgstr "Evolution"
@@ -10093,14 +9975,6 @@ msgstr ""
msgid "Overwrite file?"
msgstr "Bestand overschrijven?"
-#: e-util/e-passwords.c:472
-msgid "_Remember this password"
-msgstr "_Onthoud dit wachtwoord"
-
-#: e-util/e-passwords.c:473
-msgid "_Remember this password for the remainder of this session"
-msgstr "Dit wachtwoord onthouden tot het einde van deze sessie"
-
#. strptime format of a weekday, a date and a time,
#. in 12-hour format, without seconds.
#. strftime format of a weekday, a date and a
@@ -10199,17 +10073,17 @@ msgstr "%H:%M"
msgid "%I %p"
msgstr "%I %p"
+# huh?
#: e-util/eggtrayicon.c:119
-#, fuzzy
msgid "The orientation of the tray."
-msgstr "Beschrijving van de bijlage."
+msgstr "De oriëntatie van de lade"
#: filter/filter-datespec.c:73
#, c-format
msgid "1 second ago"
msgid_plural "%d seconds ago"
msgstr[0] "1 seconde geleden"
-msgstr[1] "%d seconden geldeden"
+msgstr[1] "%d seconden geleden"
#: filter/filter-datespec.c:74
#, c-format
@@ -10331,19 +10205,19 @@ msgstr "Kies een andere naam."
msgid "Choose a file"
msgstr "Kies een bestand"
-#: filter/filter-label.c:121 mail/em-filter-i18n.h:26 mail/em-migrate.c:1011
-#: mail/mail-config.c:75 mail/mail-config.glade.h:90
+#: filter/filter-label.c:121 mail/em-filter-i18n.h:26 mail/em-migrate.c:1041
+#: mail/mail-config.c:76 mail/mail-config.glade.h:90
msgid "Important"
msgstr "Belangrijk"
#. forest green
-#: filter/filter-label.c:124 mail/em-migrate.c:1014 mail/mail-config.c:78
+#: filter/filter-label.c:124 mail/em-migrate.c:1044 mail/mail-config.c:79
#: mail/mail-config.glade.h:140
msgid "To Do"
msgstr "Te doen"
#. blue
-#: filter/filter-label.c:125 mail/em-migrate.c:1015 mail/mail-config.c:79
+#: filter/filter-label.c:125 mail/em-migrate.c:1045 mail/mail-config.c:80
#: mail/mail-config.glade.h:93
msgid "Later"
msgstr "Later"
@@ -10353,10 +10227,10 @@ msgid "Test"
msgstr "Test"
#: filter/filter-rule.c:790
-#, fuzzy
msgid "_Rule name:"
-msgstr "Regel naam:"
+msgstr "_Regelnaam:"
+# indien/als
#: filter/filter-rule.c:818
msgid "<b>If</b>"
msgstr "<b>Als</b>"
@@ -10395,21 +10269,20 @@ msgid "Incoming"
msgstr "Inkomend"
#: filter/filter-rule.c:975
-#, fuzzy
msgid "Outgoing"
-msgstr "uitgaand"
+msgstr "Uitgaand"
#: filter/filter.glade.h:1
msgid "<b>_Filter Rules</b>"
-msgstr "<b>_Filter regels</b>"
+msgstr "<b>_Filter-regels</b>"
#: filter/filter.glade.h:2
msgid "Compare against"
-msgstr "Vergelijk met"
+msgstr "Vergelijken met"
#: filter/filter.glade.h:4
msgid "Show filters for mail:"
-msgstr ""
+msgstr "Filters voor mail tonen:"
#: filter/filter.glade.h:5
msgid ""
@@ -10437,7 +10310,7 @@ msgstr ""
#: filter/filter.glade.h:12
msgid "a time relative to the current time"
-msgstr "Een tijd relatief aan de huidige tijd"
+msgstr "een tijd relatief aan de huidige tijd"
#: filter/filter.glade.h:13
msgid "ago"
@@ -10519,10 +10392,10 @@ msgstr "Evolution configuratie voor opstellen van nieuw bericht"
msgid "Evolution Mail preferences control"
msgstr "Evolution e-mail voorkeuren"
-#: mail/GNOME_Evolution_Mail.server.in.in.h:11 mail/em-folder-view.c:473
+#: mail/GNOME_Evolution_Mail.server.in.in.h:11 mail/em-folder-view.c:469
#: mail/importers/elm-importer.c:418 mail/importers/netscape-importer.c:1902
-#: mail/importers/pine-importer.c:474 mail/mail-component.c:536
-#: mail/mail-component.c:587
+#: mail/importers/pine-importer.c:474 mail/mail-component.c:557
+#: mail/mail-component.c:608
msgid "Mail"
msgstr "Post"
@@ -10539,12 +10412,12 @@ msgstr "E-mailvoorkeuren"
msgid "_Mail"
msgstr "_Post"
-#: mail/em-account-editor.c:385
+#: mail/em-account-editor.c:387
#, c-format
msgid "%s License Agreement"
msgstr "%s licentieovereenkomst"
-#: mail/em-account-editor.c:392
+#: mail/em-account-editor.c:394
#, c-format
msgid ""
"\n"
@@ -10557,67 +10430,67 @@ msgstr ""
"voor %s zorgvuldig door en vink de optie\n"
"aan om deze te accepteren\n"
-#: mail/em-account-editor.c:462 mail/em-filter-folder-element.c:237
+#: mail/em-account-editor.c:464 mail/em-filter-folder-element.c:237
#: mail/em-vfolder-rule.c:494
msgid "Select Folder"
msgstr "Map selecteren"
-#: mail/em-account-editor.c:1662 mail/mail-config.glade.h:89
+#: mail/em-account-editor.c:1664 mail/mail-config.glade.h:89
msgid "Identity"
msgstr "Identiteit"
-#: mail/em-account-editor.c:1698 mail/mail-config.glade.h:114
+#: mail/em-account-editor.c:1700 mail/mail-config.glade.h:114
msgid "Receiving Email"
msgstr "E-mail ontvangen"
-#: mail/em-account-editor.c:1875
+#: mail/em-account-editor.c:1877
msgid "Automatically check for _new mail every"
msgstr "Automatisch controleren op _nieuwe post, iedere"
-#: mail/em-account-editor.c:2044 mail/mail-config.glade.h:124
+#: mail/em-account-editor.c:2045 mail/mail-config.glade.h:124
msgid "Sending Email"
msgstr "E-mail versturen"
-#: mail/em-account-editor.c:2088 mail/mail-config.glade.h:67
+#: mail/em-account-editor.c:2089 mail/mail-config.glade.h:67
msgid "Defaults"
msgstr "_Standaardinstellingen"
-#: mail/em-account-editor.c:2147 mail/mail-config.glade.h:119
+#: mail/em-account-editor.c:2148 mail/mail-config.glade.h:119
msgid "Security"
msgstr "Beveiliging"
#. Most sections for this is auto-generated fromt the camel config
-#: mail/em-account-editor.c:2184 mail/em-account-editor.c:2259
+#: mail/em-account-editor.c:2185 mail/em-account-editor.c:2260
msgid "Receiving Options"
msgstr "Ontvangst-instellingen"
-#: mail/em-account-editor.c:2185 mail/em-account-editor.c:2260
+#: mail/em-account-editor.c:2186 mail/em-account-editor.c:2261
msgid "Checking for New Mail"
msgstr "Controleren op nieuwe e-mail"
-#: mail/em-account-editor.c:2600 mail/mail-config.glade.h:33
+#: mail/em-account-editor.c:2585 mail/mail-config.glade.h:33
msgid "Account Editor"
msgstr "Accountbeheer"
-#: mail/em-account-editor.c:2600 mail/mail-config.glade.h:79
+#: mail/em-account-editor.c:2585 mail/mail-config.glade.h:79
msgid "Evolution Account Assistant"
msgstr "Evolution Account Assistent"
#. translators: default account indicator
-#: mail/em-account-prefs.c:412
+#: mail/em-account-prefs.c:428
msgid "[Default]"
msgstr "[Standaard]"
-#: mail/em-account-prefs.c:466
+#: mail/em-account-prefs.c:482
msgid "Account name"
msgstr "Accountnaam"
-#: mail/em-account-prefs.c:468
+#: mail/em-account-prefs.c:484
msgid "Protocol"
msgstr "Protocol"
#: mail/em-composer-prefs.c:306 mail/em-composer-prefs.c:429
-#: mail/mail-config.c:934
+#: mail/mail-config.c:935
msgid "Unnamed"
msgstr "Naamloos"
@@ -10633,18 +10506,18 @@ msgstr "Handtekening script toevoegen"
msgid "Signature(s)"
msgstr "Handtekening(en)"
-#: mail/em-composer-utils.c:910
+#: mail/em-composer-utils.c:911
msgid "-------- Forwarded Message --------"
msgstr "-------Doorgestuurd bericht-------"
-#: mail/em-composer-utils.c:1526
+#: mail/em-composer-utils.c:1521
msgid "an unknown sender"
msgstr "een onbekende afzender"
#. Note to translators: this is the attribution string used when quoting messages.
#. * each ${Variable} gets replaced with a value. To see a full list of available
#. * variables, see em-composer-utils.c:1514
-#: mail/em-composer-utils.c:1573
+#: mail/em-composer-utils.c:1568
msgid ""
"On ${AbbrevWeekdayName}, ${Year}-${Month}-${Day} at ${24Hour}:${Minute} "
"${TimeZone}, ${Sender} wrote:"
@@ -10790,7 +10663,7 @@ msgstr "Troep"
msgid "Junk Test"
msgstr "Troep test"
-#: mail/em-filter-i18n.h:37 mail/em-folder-view.c:999
+#: mail/em-filter-i18n.h:37 mail/em-folder-view.c:992
#: widgets/misc/e-expander.c:189
msgid "Label"
msgstr "Label"
@@ -10799,10 +10672,10 @@ msgstr "Label"
msgid "Mailing list"
msgstr "Mailinglijst"
+# betere vertaling?
#: mail/em-filter-i18n.h:39
-#, fuzzy
msgid "Match All"
-msgstr "Alles veiligstellen"
+msgstr "Alles meenemen"
#: mail/em-filter-i18n.h:40
msgid "Message Body"
@@ -10917,9 +10790,8 @@ msgid "<b>Then</b>"
msgstr "<b>Dan</b>"
#: mail/em-folder-browser.c:133
-#, fuzzy
msgid "Create _vFolder From Search..."
-msgstr "_VMap van zoekopdracht maken..."
+msgstr "_vMap van zoekopdracht maken..."
#. TODO: can this be done in a loop?
#: mail/em-folder-properties.c:144
@@ -10947,7 +10819,7 @@ msgid "Create New Folder"
msgstr "Nieuwe map aanmaken"
#: mail/em-folder-selector.c:166 mail/em-folder-tree.c:2527
-#: mail/mail-component.c:739 plugins/shared-folder/install-shared.c:144
+#: mail/mail-component.c:770 plugins/shared-folder/install-shared.c:144
#: plugins/shared-folder/share-folder-common.c:345
msgid "Specify where to create the folder:"
msgstr "Specificeer waar de map gemaakt moet worden:"
@@ -10970,21 +10842,21 @@ msgstr "vMappen"
msgid "UNMATCHED"
msgstr "UNMATCHED"
-#: mail/em-folder-tree-model.c:468 mail/mail-component.c:139
+#: mail/em-folder-tree-model.c:468 mail/mail-component.c:142
msgid "Drafts"
msgstr "Klad"
#. translators: standard local mailbox names
-#: mail/em-folder-tree-model.c:471 mail/mail-component.c:138
+#: mail/em-folder-tree-model.c:471 mail/mail-component.c:141
msgid "Inbox"
msgstr "Inbox"
# postvak uit
-#: mail/em-folder-tree-model.c:474 mail/mail-component.c:140
+#: mail/em-folder-tree-model.c:474 mail/mail-component.c:143
msgid "Outbox"
msgstr "Outbox"
-#: mail/em-folder-tree-model.c:476 mail/mail-component.c:141
+#: mail/em-folder-tree-model.c:476 mail/mail-component.c:144
msgid "Sent"
msgstr "Verzonden"
@@ -10994,9 +10866,8 @@ msgid "Loading..."
msgstr "Bezig met laden..."
#: mail/em-folder-tree.c:688
-#, fuzzy
msgid "Mail Folder Tree"
-msgstr "Mail _Map"
+msgstr "Mailmappen-boom"
#: mail/em-folder-tree.c:921
#, c-format
@@ -11009,19 +10880,19 @@ msgstr "verplaatsen map %s"
msgid "Copying folder %s"
msgstr "Bezig met kopiëren van map %s"
-#: mail/em-folder-tree.c:930 mail/message-list.c:1617
+#: mail/em-folder-tree.c:930 mail/message-list.c:1612
#, c-format
msgid "Moving messages into folder %s"
msgstr "Berichten worden verplaatst naar map %s"
-#: mail/em-folder-tree.c:932 mail/message-list.c:1619
+#: mail/em-folder-tree.c:932 mail/message-list.c:1614
#, c-format
msgid "Copying messages into folder %s"
msgstr "Berichten worden gekopieerd naar map %s"
#: mail/em-folder-tree.c:948
msgid "Cannot drop message(s) into toplevel store"
-msgstr "Kan bericht(en) niet droppen in hoogste nivo opslag."
+msgstr "Kan bericht(en) niet neerzetten in hoogste niveau opslag"
#: mail/em-folder-tree.c:1044 ui/evolution-mail-message.xml.h:106
msgid "_Copy to Folder"
@@ -11031,24 +10902,25 @@ msgstr "_Kopiëren naar map"
msgid "_Move to Folder"
msgstr "_Verplaatsen naar map"
+# mappen in %s worden gescannd/doorzocht/gelezen
#: mail/em-folder-tree.c:1750 mail/mail-ops.c:1026
#, c-format
msgid "Scanning folders in \"%s\""
-msgstr "Bezig met scannen van mappen in \"%s\""
+msgstr "Mappen in \"%s\" worden doorzocht"
#: mail/em-folder-tree.c:2023
-#, fuzzy, c-format
+#, c-format
msgid "Copying `%s' to `%s'"
-msgstr "Berichten worden gekopieerd naar %s"
+msgstr "Kopiëren van `%s' naar `%s'"
#: mail/em-folder-tree.c:2297 mail/em-folder-tree.c:2311
-#: mail/em-folder-view.c:869 mail/em-folder-view.c:884
+#: mail/em-folder-view.c:862 mail/em-folder-view.c:877
#: mail/importers/evolution-mbox-importer.c:120
#: mail/importers/evolution-outlook-importer.c:134
msgid "Select folder"
msgstr "Map selecteren"
-#: mail/em-folder-tree.c:2297 mail/em-folder-view.c:884
+#: mail/em-folder-tree.c:2297 mail/em-folder-view.c:877
msgid "C_opy"
msgstr "_Kopiëren"
@@ -11057,7 +10929,7 @@ msgstr "_Kopiëren"
msgid "Creating folder `%s'"
msgstr "Bezig met aanmaken map `%s'"
-#: mail/em-folder-tree.c:2527 mail/mail-component.c:739
+#: mail/em-folder-tree.c:2527 mail/mail-component.c:770
#: plugins/shared-folder/install-shared.c:144
#: plugins/shared-folder/share-folder-common.c:345
msgid "Create folder"
@@ -11073,9 +10945,8 @@ msgid "Rename Folder"
msgstr "Map hernoemen"
#: mail/em-folder-tree.c:2728
-#, fuzzy
msgid "Folder names cannot contain '/'"
-msgstr "Mapnaam mag geen \"/\" bevatten."
+msgstr "Mapnaam mag geen '/' bevatten"
#: mail/em-folder-tree.c:2802 ui/evolution-addressbook.xml.h:44
#: ui/evolution-mail-global.xml.h:17 ui/evolution-mail-messagedisplay.xml.h:8
@@ -11089,11 +10960,11 @@ msgstr "In _nieuw venster openen"
#: mail/em-folder-tree.c:2807
msgid "_Copy..."
-msgstr "Kopiëren..."
+msgstr "_Kopiëren..."
#: mail/em-folder-tree.c:2808
msgid "_Move..."
-msgstr "Verplaatsen..."
+msgstr "_Verplaatsen..."
#. FIXME: need to disable for nochildren folders
#: mail/em-folder-tree.c:2812
@@ -11104,138 +10975,130 @@ msgstr "_Nieuwe map..."
msgid "_Rename..."
msgstr "He_rnoemen..."
-#: mail/em-folder-view.c:977 mail/em-popup.c:498
+#: mail/em-folder-view.c:970 mail/em-popup.c:499
#: ui/evolution-mail-message.xml.h:87
msgid "Reply to _All"
-msgstr "_Iedereen beantwoorden"
+msgstr "_Allen beantwoorden"
-#: mail/em-folder-view.c:978 ui/evolution-mail-message.xml.h:123
+#: mail/em-folder-view.c:971 ui/evolution-mail-message.xml.h:123
msgid "_Reply to Sender"
msgstr "_Afzender beantwoorden"
-#: mail/em-folder-view.c:979 mail/em-popup.c:500
+#: mail/em-folder-view.c:972 mail/em-popup.c:501
#: ui/evolution-mail-message.xml.h:110
msgid "_Forward"
msgstr "_Doorsturen"
-#: mail/em-folder-view.c:982 ui/evolution-mail-message.xml.h:109
+#: mail/em-folder-view.c:975 ui/evolution-mail-message.xml.h:109
msgid "_Edit as New Message..."
-msgstr "B_ewerk als Nieuw Bericht..."
+msgstr "Be_werken als nieuw bericht..."
-#: mail/em-folder-view.c:984
+#: mail/em-folder-view.c:977
msgid "_Print"
msgstr "Af_drukken"
-#: mail/em-folder-view.c:988
+#: mail/em-folder-view.c:981
msgid "U_ndelete"
msgstr "_Herstellen"
-#: mail/em-folder-view.c:989
+#: mail/em-folder-view.c:982
msgid "Mo_ve to Folder..."
msgstr "Naar map _verplaatsen..."
-#: mail/em-folder-view.c:990 ui/evolution-addressbook.xml.h:32
+#: mail/em-folder-view.c:983 ui/evolution-addressbook.xml.h:32
msgid "_Copy to Folder..."
msgstr "Naar map _kopiëren..."
-#: mail/em-folder-view.c:993
+#: mail/em-folder-view.c:986
msgid "Mark as _Important"
-msgstr "Als belan_grijk markeren"
+msgstr "Aanmerken als belan_grijk"
-#: mail/em-folder-view.c:994
+#: mail/em-folder-view.c:987
msgid "_Mark as Unimportant"
-msgstr "Als _onbelangrijk markeren"
+msgstr "Aanmerken als _onbelangrijk"
-#: mail/em-folder-view.c:995 ui/evolution-mail-message.xml.h:54
+#: mail/em-folder-view.c:988 ui/evolution-mail-message.xml.h:54
msgid "Mark as _Junk"
-msgstr "Als troep markeren"
+msgstr "Aanmerken als _troep"
-#: mail/em-folder-view.c:996 ui/evolution-mail-message.xml.h:55
+#: mail/em-folder-view.c:989 ui/evolution-mail-message.xml.h:55
msgid "Mark as _Not Junk"
-msgstr "Als niet-troep markeren"
+msgstr "Aanmerken als _geen-troep"
-#: mail/em-folder-view.c:997
-#, fuzzy
+#: mail/em-folder-view.c:990
msgid "Mark for Follo_w Up..."
-msgstr "Vervolg_acties..."
+msgstr "Aanmerken voor vervolg_actie..."
-#: mail/em-folder-view.c:1005
+#: mail/em-folder-view.c:998
msgid "Fla_g Completed"
-msgstr "Als voltooid markeren"
+msgstr "Aanmerken als voltooid"
-#: mail/em-folder-view.c:1006
+#: mail/em-folder-view.c:999
msgid "Cl_ear Flag"
msgstr "Markering wissen"
-#: mail/em-folder-view.c:1009
+#: mail/em-folder-view.c:1002
msgid "Crea_te Rule From Message"
msgstr "Regel aanmaken van bericht"
-#: mail/em-folder-view.c:1010
-#, fuzzy
+#: mail/em-folder-view.c:1003
msgid "vFolder on _Subject"
-msgstr "VMap op _Onderwerp"
+msgstr "vMap op _onderwerp"
-#: mail/em-folder-view.c:1011
-#, fuzzy
+#: mail/em-folder-view.c:1004
msgid "vFolder on Se_nder"
-msgstr "VMap op afze_nder"
+msgstr "vMap op afze_nder"
-#: mail/em-folder-view.c:1012
-#, fuzzy
+#: mail/em-folder-view.c:1005
msgid "vFolder on _Recipients"
-msgstr "VMap op _Geadresseerden"
+msgstr "vMap op _geadresseerden"
-#: mail/em-folder-view.c:1013
-#, fuzzy
+#: mail/em-folder-view.c:1006
msgid "vFolder on Mailing _List"
-msgstr "VMap op Mailing_Lijst"
+msgstr "vMap op mailing_lijst"
-#: mail/em-folder-view.c:1017
+#: mail/em-folder-view.c:1010
msgid "Filter on Sub_ject"
-msgstr "Filter op Onderwerp"
+msgstr "Filter op onder_werp"
-#: mail/em-folder-view.c:1018
+#: mail/em-folder-view.c:1011
msgid "Filter on Sen_der"
-msgstr "Filter op afzen_der"
+msgstr "Filter op af_zender"
-#: mail/em-folder-view.c:1019
+#: mail/em-folder-view.c:1012
msgid "Filter on Re_cipients"
-msgstr "Filter op Geadresseerden"
+msgstr "Filter op _geadresseerden"
-#: mail/em-folder-view.c:1020
+#: mail/em-folder-view.c:1013
msgid "Filter on _Mailing List"
-msgstr "Filter op _Mailinglijst"
+msgstr "Filter op _mailinglijst"
#. default charset used in mail view
-#: mail/em-folder-view.c:1851 mail/em-folder-view.c:1895
+#: mail/em-folder-view.c:1844 mail/em-folder-view.c:1888
msgid "Default"
msgstr "Standaard"
-#: mail/em-folder-view.c:1994
+#: mail/em-folder-view.c:1987
msgid "Print Message"
msgstr "Bericht afdrukken"
-#: mail/em-folder-view.c:2293
+#: mail/em-folder-view.c:2295
msgid "_Copy Link Location"
msgstr "Verwijzing _kopiëren"
-#: mail/em-folder-view.c:2295
-#, fuzzy
+#: mail/em-folder-view.c:2297
msgid "Create _vFolder"
-msgstr "Map aanmaken"
+msgstr "_vMap aanmaken"
-#: mail/em-folder-view.c:2296
-#, fuzzy
+#: mail/em-folder-view.c:2298
msgid "_From this Address"
-msgstr "E-mail_adres:"
+msgstr "Van dit _adres"
-#: mail/em-folder-view.c:2297
-#, fuzzy
+#: mail/em-folder-view.c:2299
msgid "_To this Address"
-msgstr "_Adres:"
+msgstr "_Naar dit adres"
-#: mail/em-folder-view.c:2583
+#: mail/em-folder-view.c:2568
#, c-format
msgid "Click to mail %s"
msgstr "Klik hier om mail te versturen naar %s"
@@ -11244,7 +11107,7 @@ msgstr "Klik hier om mail te versturen naar %s"
#: mail/em-format-html-display.c:412
#, c-format
msgid "Matches: %d"
-msgstr "Klopt: %d"
+msgstr "Zoekresultaten: %d"
# Niet ondertekend of positief getal?
#: mail/em-format-html-display.c:680 mail/em-format-html.c:579
@@ -11377,9 +11240,8 @@ msgid "_Hide"
msgstr "_Verbergen"
#: mail/em-format-html-display.c:1340
-#, fuzzy
msgid "Attachment Button"
-msgstr "Bijlage"
+msgstr "Bijlageknop"
#: mail/em-format-html-print.c:130
#, c-format
@@ -11529,7 +11391,7 @@ msgstr "Een keer per week"
msgid "Once per month"
msgstr "Een keer per maand"
-#: mail/em-migrate.c:1168
+#: mail/em-migrate.c:1198
msgid ""
"The location and hierarchy of the Evolution mailbox folders has changed "
"since Evolution 1.x.\n"
@@ -11541,48 +11403,48 @@ msgstr ""
"\n"
"Een ogenblik geduld, uw mappen worden door Evolution gemigreerd..."
-#: mail/em-migrate.c:1602
+#: mail/em-migrate.c:1632
#, c-format
msgid "Unable to create new folder `%s': %s"
msgstr "Kon nieuwe map `%s' niet aanmaken: %s"
-#: mail/em-migrate.c:1628
+#: mail/em-migrate.c:1658
#, c-format
msgid "Unable to copy folder `%s' to `%s': %s"
msgstr "Kon map `%s' niet kopiëren naar `%s': %s"
-#: mail/em-migrate.c:1813
+#: mail/em-migrate.c:1843
#, c-format
msgid "Unable to scan for existing mailboxes at `%s': %s"
msgstr "Kon niet scannen voor bestaande mailboxen op `%s': %s"
-#: mail/em-migrate.c:2017
+#: mail/em-migrate.c:2047
#, c-format
msgid "Unable to open old POP keep-on-server data `%s': %s"
msgstr "Kon oude POP3 op-server-houden data `%s' niet openen: %s"
-#: mail/em-migrate.c:2031
+#: mail/em-migrate.c:2061
#, c-format
msgid "Unable to create POP3 keep-on-server data directory `%s': %s"
msgstr "Kon POP3 op-server-houden data-map `%s' niet aanmaken: %s"
-#: mail/em-migrate.c:2060
+#: mail/em-migrate.c:2090
#, c-format
msgid "Unable to copy POP3 keep-on-server data `%s': %s"
msgstr "Kon POP3 op-server-houden data `%s' niet kopiëren: %s"
-#: mail/em-migrate.c:2494 mail/em-migrate.c:2506
+#: mail/em-migrate.c:2561 mail/em-migrate.c:2573
#, c-format
msgid "Failed to create local mail storage `%s': %s"
msgstr "Aanmaken van locate mail-opslag `%s' mislukt: %s"
-#: mail/em-migrate.c:2657
+#: mail/em-migrate.c:2693
#, c-format
msgid "Unable to create local mail folders at `%s': %s"
msgstr "Kon locale mail-mappen niet maken op `%s': %s"
# 'vorige versie' gebruikt ipv 'vorige installatie'
-#: mail/em-migrate.c:2675
+#: mail/em-migrate.c:2711
msgid ""
"Unable to read settings from previous Evolution install, `evolution/config."
"xmldb' does not exist or is corrupt."
@@ -11590,42 +11452,41 @@ msgstr ""
"Niet in staat de instellingen van een vorige versie Evolution te lezen. "
"`evolution/config.xmldb bestaat niet of is beschadigd."
-#: mail/em-popup.c:381
+#: mail/em-popup.c:382
msgid "Save As..."
msgstr "Opslaan als..."
-#: mail/em-popup.c:400
+#: mail/em-popup.c:401
#, c-format
msgid "untitled_image.%s"
msgstr "untitled_image.%s"
-#: mail/em-popup.c:494
+#: mail/em-popup.c:495
msgid "Set as _Background"
msgstr "Als _achtergrond instellen"
-#: mail/em-popup.c:496
+#: mail/em-popup.c:497
msgid "_Reply to sender"
msgstr "_Afzender beantwoorden"
-#: mail/em-popup.c:497 ui/evolution-mail-message.xml.h:88
+#: mail/em-popup.c:498 ui/evolution-mail-message.xml.h:88
msgid "Reply to _List"
msgstr "_Lijst beantwoorden"
-#: mail/em-popup.c:548
+#: mail/em-popup.c:549
msgid "_Open Link in Browser"
msgstr "Verwijzing in browser _openen"
# verzenden naar...
-#: mail/em-popup.c:549
-#, fuzzy
+#: mail/em-popup.c:550
msgid "_Send New Message To..."
-msgstr "_Bericht sturen aan..."
+msgstr "_Nieuw bericht sturen aan..."
-#: mail/em-popup.c:550
+#: mail/em-popup.c:551
msgid "_Add to Addressbook"
msgstr "Aan adresboek _toevoegen"
-#: mail/em-popup.c:681
+#: mail/em-popup.c:666
#, c-format
msgid "Open in %s..."
msgstr "Openen in %s..."
@@ -11674,20 +11535,18 @@ msgid "Add address"
msgstr "Adres toevoegen"
#. Drop filename for messages from a mailbox
-#: mail/em-utils.c:1055
+#: mail/em-utils.c:1071
#, c-format
msgid "Messages from %s"
msgstr "Berichten van %s"
#: mail/em-vfolder-editor.c:104
-#, fuzzy
msgid "v_Folders"
-msgstr "vMappen"
+msgstr "v_Mappen"
#: mail/em-vfolder-rule.c:574
-#, fuzzy
msgid "vFolder source"
-msgstr "VMap-bron"
+msgstr "vMap-bron"
#: mail/evolution-mail.schemas.in.in.h:1
msgid "Automatic link recognition"
@@ -11802,7 +11661,7 @@ msgstr "Hoogte van het berichtenlijst paneel."
msgid ""
"If a user tries to open 10 or more messages at one time, ask the user if "
"they really want to do it."
-msgstr ""
+msgstr "Als een gebruiker 10 of meer berichten tegelijkertijd probeert te openen, vraag de gebruiker dan of hij dat werkelijk wilt doen."
#: mail/evolution-mail.schemas.in.in.h:28
msgid ""
@@ -11966,10 +11825,8 @@ msgid "Prompt when user only fills Bcc"
msgstr "Waarschuw als de gebruiker enkel Bcc invuld"
#: mail/evolution-mail.schemas.in.in.h:60
-#, fuzzy
msgid "Prompt when user tries to open 10 or more messages at once"
-msgstr ""
-"Waarschuwen wanneer berichten worden verstuurd zonder Aan of Cc-ontvangers"
+msgstr "Waarschuwen wanneer de gebruiker 10 of meer berichten tegelijkertijd probeert te openen."
#: mail/evolution-mail.schemas.in.in.h:61
msgid ""
@@ -12110,17 +11967,13 @@ msgstr "Timeout voor het markeren van berichten als gezien."
msgid "UID string of the default account."
msgstr "UID tekenreeks van de standaard account."
-# fout in engels: spamasssassin
#: mail/evolution-mail.schemas.in.in.h:91
-#, fuzzy
msgid "Use Spamassassin daemon and client"
-msgstr "Spamassassin daemon en client gebruiken"
+msgstr "Spamassassin daemon en cliënt gebruiken"
-# fout in engels: spamasssassin
#: mail/evolution-mail.schemas.in.in.h:92
-#, fuzzy
msgid "Use Spamassassin daemon and client (spamc/spamd)"
-msgstr "Spamassassin daemon en client gebruiken (spamc/spamd)"
+msgstr "Spamassassin daemon en cliënt gebruiken (spamc/spamd)"
#: mail/evolution-mail.schemas.in.in.h:93
msgid "Use custom fonts"
@@ -12324,10 +12177,10 @@ msgid ""
"feature, which is not supported in Evolution.\n"
"These filters will be dropped."
msgstr ""
-"Sommige van uw netscape e-mailfilters gebruiken\n"
+"Sommige van uw Netscape e-mailfilters gebruiken\n"
"de \"Discussie negeren\" of \"Discussie volgen\"\n"
"mogelijkheid. Deze worden niet ondersteund door\n"
-"Evolution. Deze filters wordengenegeerd."
+"Evolution. Deze filters worden genegeerd."
#: mail/importers/netscape-importer.c:703
msgid ""
@@ -12337,7 +12190,7 @@ msgid ""
"were modified to test whether that string is or is not\n"
"contained in the message body."
msgstr ""
-"Sommige van uw netscape e-mailfilters testen\n"
+"Sommige van uw Netscape e-mailfilters testen\n"
"of de berichtinhoud (on)gelijk is aan een tekenreeks.\n"
"Dit wordt niet ondersteund door Evolution. De filters\n"
"zijn omgezet naar filters die kijken of de berichtinhoud\n"
@@ -12411,81 +12264,81 @@ msgstr "%s mailinglijst"
msgid "Add Filter Rule"
msgstr "Filterregel Toevoegen"
-#: mail/mail-component.c:484
+#: mail/mail-component.c:505
#, c-format
msgid "%d deleted"
msgid_plural "%d deleted"
msgstr[0] "%d verwijderd"
msgstr[1] "%d verwijderd"
-#: mail/mail-component.c:486
+#: mail/mail-component.c:507
#, c-format
msgid "%d junk"
msgid_plural "%d junk"
msgstr[0] "%d troep"
msgstr[1] "%d troep"
-#: mail/mail-component.c:509
+#: mail/mail-component.c:530
#, c-format
msgid "%d draft"
msgid_plural "%d drafts"
msgstr[0] "%d klad"
msgstr[1] "%d klad"
-#: mail/mail-component.c:511
+#: mail/mail-component.c:532
#, c-format
msgid "%d sent"
msgid_plural "%d sent"
msgstr[0] "%d verzonden"
msgstr[1] "%d verzonden"
-#: mail/mail-component.c:513
+#: mail/mail-component.c:534
#, c-format
msgid "%d unsent"
msgid_plural "%d unsent"
msgstr[0] "%d niet verzonden"
msgstr[1] "%d niet verzonden"
-#: mail/mail-component.c:517
+#: mail/mail-component.c:538
#, c-format
msgid "%d total"
msgid_plural "%d total"
msgstr[0] "%d totaal"
msgstr[1] "%d totaal"
-#: mail/mail-component.c:519
+#: mail/mail-component.c:540
#, c-format
msgid ", %d unread"
msgid_plural ", %d unread"
msgstr[0] ", %d ongelezen"
msgstr[1] ", %d ongelezen"
-#: mail/mail-component.c:691
+#: mail/mail-component.c:722
msgid "New Mail Message"
msgstr "Nieuw Bericht"
-#: mail/mail-component.c:692
+#: mail/mail-component.c:723
msgid "_Mail Message"
msgstr "_Bericht"
-#: mail/mail-component.c:693
+#: mail/mail-component.c:724
msgid "Compose a new mail message"
msgstr "Een nieuwe e-mail opstellen"
-#: mail/mail-component.c:699
+#: mail/mail-component.c:730
msgid "New Mail Folder"
msgstr "Nieuwe berichtenmap"
-#: mail/mail-component.c:700
+#: mail/mail-component.c:731
msgid "Mail _Folder"
msgstr "Mail _Map"
-#: mail/mail-component.c:701
+#: mail/mail-component.c:732
msgid "Create a new mail folder"
msgstr "Nieuwe berichtenmap aanmaken"
# upgraden/vernieuwen/bijwerken
-#: mail/mail-component.c:848
+#: mail/mail-component.c:879
msgid "Failed upgrading Mail settings or folders."
msgstr "Upgraden van mail-instellingen of mappen is mislukt."
@@ -12498,7 +12351,6 @@ msgid " Ch_eck for Supported Types "
msgstr "Control_eren op ondersteunde types "
#: mail/mail-config.glade.h:4
-#, fuzzy
msgid "<b>SSL is not supported in this build of Evolution</b>"
msgstr "<b>SSL wordt niet ondersteund in deze versie van Evolution</b>"
@@ -12512,8 +12364,7 @@ msgstr "<b>Ta_len</b>"
#: mail/mail-config.glade.h:7
msgid "<small>This will make the the filter more reliable, but slower</small>"
-msgstr ""
-"<small>Dit zal het filter betrouwbaarder maken, maar ook langzamer</small>"
+msgstr "<small>Dit zal het filter betrouwbaarder maken, maar ook trager</small>"
#: mail/mail-config.glade.h:8
msgid "<span weight=\"bold\">Account Information</span>"
@@ -12581,7 +12432,7 @@ msgstr "<span weight=\"bold\">Nieuwe Mail Notificatie</span>"
#: mail/mail-config.glade.h:24
msgid "<span weight=\"bold\">Optional Information</span>"
-msgstr "<span weight=\"bold\">Optionele informatie</span>"
+msgstr "<span weight=\"bold\">Facultatieve informatie</span>"
#: mail/mail-config.glade.h:25
msgid "<span weight=\"bold\">Options</span>"
@@ -12628,17 +12479,12 @@ msgid "Add _Script"
msgstr "_Script toevoegen"
#: mail/mail-config.glade.h:37
-#, fuzzy
msgid "Al_ways sign outgoing messages when using this account"
-msgstr ""
-"Uitgaande berichten _altijd ondertekenen bij het gebruik van dit account"
+msgstr "_Bij dit account, de uitgaande berichten altijd ondertekenen"
#: mail/mail-config.glade.h:38
-#, fuzzy
msgid "Also encrypt to sel_f when sending encrypted mail"
-msgstr ""
-"Berichten ook naar _mijzelf versleutelen bij het versturen van versleutelde "
-"berichten"
+msgstr "Bij het _versturen van versleutelde berichten, ook naar mijzelf versleuteld versturen"
#: mail/mail-config.glade.h:39
msgid "Alway_s carbon-copy (cc) to:"
@@ -12653,11 +12499,8 @@ msgid "Always _trust keys in my keyring when encrypting"
msgstr "Sleutels in mijn sleutelbos altijd _vertrouwen bij versleutelen"
#: mail/mail-config.glade.h:42
-#, fuzzy
msgid "Always encrypt to _myself when sending encrypted mail"
-msgstr ""
-"Berichten naar _mijzelf versleutelen bij het versturen van versleutelde "
-"berichten"
+msgstr "Bij het versturen van versleutelde berichten, altijd naar _mijzelf versleuteld versturen"
#: mail/mail-config.glade.h:43
msgid "Attach original message"
@@ -12704,14 +12547,12 @@ msgid "Checks incoming mail messages to be Junk"
msgstr "Controleert binnenkomende mailberichten op troep"
#: mail/mail-config.glade.h:54
-#, fuzzy
msgid "Cle_ar"
msgstr "_Wissen"
#: mail/mail-config.glade.h:55
-#, fuzzy
msgid "Clea_r"
-msgstr "_Wissen"
+msgstr "Wi_ssen"
#: mail/mail-config.glade.h:56
msgid "Color for _misspelled words:"
@@ -12749,9 +12590,8 @@ msgid "Default character e_ncoding:"
msgstr "Standaard teken_codering:"
#: mail/mail-config.glade.h:69
-#, fuzzy
msgid "Digitally _sign outgoing messages (by default)"
-msgstr "Uitgaande berichten _altijd ondertekenen"
+msgstr "Uitgaande berichten per standaard digitaal _ondertekenen"
#: mail/mail-config.glade.h:70
msgid "Do not quote original message"
@@ -12782,9 +12622,8 @@ msgid "Encry_ption certificate:"
msgstr "Encry_ptie certificaat:"
#: mail/mail-config.glade.h:78
-#, fuzzy
msgid "Encrypt out_going messages (by default)"
-msgstr "V_ersleutel uitgaande berichten (standaard)"
+msgstr "_Uitgaande berichten (standaard) versleutelen"
#: mail/mail-config.glade.h:80
msgid "Execute Command..."
@@ -12859,25 +12698,21 @@ msgid ""
"Please enter a descriptive name for this account in the space below.\n"
"This name will be used for display purposes only."
msgstr ""
+"Geef een naam aan dit account in de ruimte hieronder.\n"
+"Deze naam zal alleen voor weergave worden gebruikt."
#: mail/mail-config.glade.h:106
msgid ""
"Please enter information about the way you will send mail. If you are not "
"sure, ask your system administrator or Internet Service Provider."
-msgstr ""
-"Geef hier de informatie over uw server om e-mail via te verzenden. Als u "
-"niet weet wat voor servertype u gebruikt, neem dan contact op met uw "
-"systeembeheerder of met uw internet-provider."
+msgstr "Geef hier aan hoe u uw e-mail gaat verzenden. Als u niet weet wat voor servertype u gebruikt, neem dan contact op met uw systeembeheerder of met uw internet-provider."
#: mail/mail-config.glade.h:107
msgid ""
"Please enter your name and email address below. The \"optional\" fields "
"below do not need to be filled in, unless you wish to include this "
"information in email you send."
-msgstr ""
-"Voer uw naam en e-mailadres in. De \"optionele\" velden behoeven niet te "
-"worden ingevuld, tenzij u wilt dat deze informatie wordt meegezonden bij de "
-"berichten die u verzendt."
+msgstr "Voer uw naam en e-mailadres in. De velden die bij \"Facultatieve informatie\" staan hoeven niet te worden ingevuld, tenzij u wilt dat deze informatie wordt meegezonden bij de berichten die u verstuurt."
#: mail/mail-config.glade.h:108
msgid "Please select among the following options"
@@ -12909,18 +12744,16 @@ msgid "Remember _password"
msgstr "Onthoud _wachtwoord"
#: mail/mail-config.glade.h:116
-#, fuzzy
msgid "S_elect..."
-msgstr "Selecteer..."
+msgstr "S_electeren..."
#: mail/mail-config.glade.h:117
msgid "S_tandard Font:"
msgstr "S_tandaardlettertype:"
#: mail/mail-config.glade.h:118
-#, fuzzy
msgid "Se_lect..."
-msgstr "Selecteer..."
+msgstr "Se_lecteren..."
#: mail/mail-config.glade.h:120
msgid "Select HTML fixed width font"
@@ -12955,9 +12788,8 @@ msgid "Server _Type: "
msgstr "Server _Type: "
#: mail/mail-config.glade.h:129
-#, fuzzy
msgid "Sig_ning certificate:"
-msgstr "Ondertekenin_gs certificaat:"
+msgstr "Ondertekenin_gscertificaat:"
#: mail/mail-config.glade.h:130
msgid "Signat_ure:"
@@ -12984,14 +12816,10 @@ msgid "T_ype: "
msgstr "T_ype: "
#: mail/mail-config.glade.h:136
-#, fuzzy
msgid ""
"The list of languages here reflects only the languages for which you have a "
"dictionary installed."
-msgstr ""
-"Op deze pagina kunt u spellingscontrole en taalinstellingen bewerken. De "
-"lijst van beschikbare talen komt overeen met de waarvoor een woordenboek "
-"geïnstalleerd is."
+msgstr "De lijst met talen hieronder, geeft alleen maar aan voor welke talen een woordenboek geïnstalleerd is."
#: mail/mail-config.glade.h:137
msgid ""
@@ -13042,7 +12870,6 @@ msgid "_Do not notify me when new mail arrives"
msgstr "_Geen melding bij binnenkomst van nieuwe e-mail"
#: mail/mail-config.glade.h:152
-#, fuzzy
msgid "_Don't sign meeting requests (for Outlook compatibility)"
msgstr ""
"Aanvragen voor bijeenkomsten _niet ondertekenen (voor Outlook "
@@ -13103,9 +12930,8 @@ msgid "_Show animated images"
msgstr "Bewegende afbeeldingen _weergeven"
#: mail/mail-config.glade.h:168
-#, fuzzy
msgid "_Use Secure Connection:"
-msgstr "Beveiligde verbinding (SSL) gebr_uiken:"
+msgstr "Beveiligde verbinding gebr_uiken:"
#: mail/mail-config.glade.h:169
msgid "_Use the same fonts as other applications"
@@ -13144,24 +12970,22 @@ msgid "<span weight=\"bold\">Encryption</span>"
msgstr "<span weight=\"bold\">Encryptie</span>"
#: mail/mail-dialogs.glade.h:10
-#, fuzzy
msgid "Case _Sensitive"
-msgstr "Hoofdlettergevoelig"
+msgstr "_Hoofdlettergevoelig"
#: mail/mail-dialogs.glade.h:11 mail/message-tags.glade.h:2
-#, fuzzy
msgid "Co_mpleted"
-msgstr "Voltooid"
+msgstr "_Voltooid"
#: mail/mail-dialogs.glade.h:13
-#, fuzzy
msgid "F_ind:"
-msgstr "Zoek:"
+msgstr "_Zoeken:"
#: mail/mail-dialogs.glade.h:14
msgid "Find in Message"
-msgstr "Vind in bericht"
+msgstr "Zoeken in bericht"
+# aanmerken/vlaggen/markeren
#: mail/mail-dialogs.glade.h:15 mail/message-tag-followup.c:295
#: mail/message-tags.glade.h:3
msgid "Flag to Follow Up"
@@ -13196,10 +13020,10 @@ msgstr ""
"Kies een vervolgactie uit het \"Vlag\"-menu."
#: mail/mail-dialogs.glade.h:24
-#, fuzzy
msgid "_Accept License"
-msgstr "Geaccepteerde overeenkomst"
+msgstr "Overeenkomst _accepteren"
+# verloopt/verloopdatum
#: mail/mail-dialogs.glade.h:25 mail/message-tags.glade.h:6
msgid "_Due By:"
msgstr "_Verloopdatum:"
@@ -13210,12 +13034,11 @@ msgstr "_Vlag:"
#: mail/mail-dialogs.glade.h:27
msgid "_Subscribe"
-msgstr "Abonneren"
+msgstr "A_bonneren"
#: mail/mail-dialogs.glade.h:28
-#, fuzzy
msgid "_Tick this to accept the license agreement"
-msgstr "Aanvinken om de licentieovereenkomst te accepteren"
+msgstr "Aan_vinken om de licentieovereenkomst te accepteren"
#: mail/mail-dialogs.glade.h:29
msgid "_Unsubscribe"
@@ -13336,13 +13159,13 @@ msgstr ""
"toch alle geadresserden in uw bericht tonen. Om dit te vermijden moet u "
"tenminste één geadresseerde geven in het veld \"Aan:\" of \"CC:\"."
+# vrij vertaald, was eerst: omdat u geen geadresseerden heeft opgegeven.
+# maar het is duidelijker als er staat dat het adresveld leeg is.
#. mail:send-no-recipients primary
#: mail/mail-errors.xml.h:34
msgid ""
"This message cannot be sent because you have not specified any Recipients"
-msgstr ""
-"Dit bericht kan niet worden verzonden omdat u geen geadresseerden heeft "
-"opgegeven"
+msgstr "Dit bericht kan niet worden verzonden omdat u geen adres heeft ingevuld"
#. mail:send-no-recipients secondary
#: mail/mail-errors.xml.h:36
@@ -13377,8 +13200,8 @@ msgid ""
"Are you sure you want to permanently remove all the deleted message in "
"folder \"{0}\"?"
msgstr ""
-"Weet u zeker dat u alle verwijderde berichten in map \"{0}\" permanent wilt "
-"verwijderen?"
+"Weet u zeker dat u alle verwijderde berichten in map \"{0}\" definitief wilt "
+"weggooien?"
#. mail:ask-expunge secondary
#. mail:ask-empty-trash secondary
@@ -13398,8 +13221,8 @@ msgid ""
"Are you sure you want to permanently remove all the deleted messages in all "
"folders?"
msgstr ""
-"Weet u zeker dat u alle verwijderde berichten van alle mappen permanent wilt "
-"weggooien?"
+"Weet u zeker dat u alle verwijderde berichten van alle mappen definitief "
+"wilt weggooien?"
#: mail/mail-errors.xml.h:51
msgid "_Empty Trash"
@@ -13407,20 +13230,17 @@ msgstr "_Prullenbak legen"
#. mail:ask-open-many primary
#: mail/mail-errors.xml.h:53
-#, fuzzy
msgid "Are you sure you want to open {0} messages at once?"
-msgstr ""
-"Weet u zeker dat u een bericht met enkel BCC-geadresseerden wilt versturen?"
+msgstr "Weet u zeker dat u {0} berichten tegelijk wilt openen?"
#. mail:ask-open-many secondary
#: mail/mail-errors.xml.h:55
msgid "Opening too many messages at once may take a long time."
-msgstr ""
+msgstr "Teveel berichten tegelijk openen kan lang duren."
#: mail/mail-errors.xml.h:56
-#, fuzzy
msgid "_Open Messages"
-msgstr "Bericht _openen"
+msgstr "Berichten _openen"
#. mail:exit-unsaved primary
#: mail/mail-errors.xml.h:58
@@ -13563,7 +13383,7 @@ msgid ""
"will be deleted permanently."
msgstr ""
"Indien u deze map verwijdert zal de gehele inhoud inclusief alle submappen "
-"permanent worden verwijderd."
+"definitief worden verwijderd."
#. mail:no-rename-folder-exists primary
#. mail:no-rename-folder primary
@@ -13648,7 +13468,7 @@ msgstr "Weet u zeker dat u deze account wilt verwijderen?"
#: mail/mail-errors.xml.h:173
msgid "If you proceed, the account information will be deleted permanently."
msgstr ""
-"Indien u verdergaat, zal de account-informatie permanent worden verwijderd."
+"Indien u verdergaat, zal de account-informatie definitief worden verwijderd."
#: mail/mail-errors.xml.h:174
msgid "Don't delete"
@@ -13702,13 +13522,10 @@ msgstr "Kan vMap \"{0}\" niet bewerken omdat deze niet bestaat."
#. mail:vfolder-notexist secondary
#: mail/mail-errors.xml.h:193
-#, fuzzy
msgid ""
"This folder may have been added implicitly, go to the vFolder editor to add "
"it explicitly, if required."
-msgstr ""
-"Deze map is mogelijk impliciet toegevoegd. Ga, indien nodig, naar de "
-"virtuele map-editor om haar expliciet toe te voegen."
+msgstr "Deze map is mogelijk impliciet toegevoegd. Ga, indien nodig, naar de vMap-editor om haar expliciet toe te voegen."
#. mail:vfolder-notunique primary
#: mail/mail-errors.xml.h:195
@@ -13820,9 +13637,8 @@ msgstr "_Bijvoegen"
#. mail:no-load-license primary
#: mail/mail-errors.xml.h:239
-#, fuzzy
msgid "Unable to read license file."
-msgstr "Kon nieuwe map `%s' niet aanmaken: %s"
+msgstr "Kon het licentiebestand niet lezen."
#. mail:no-load-license secondary
#: mail/mail-errors.xml.h:241
@@ -13832,23 +13648,25 @@ msgid ""
"until\n"
" you can accept its license."
msgstr ""
+"Kan het licentiebestand \"{0}\" niet lezen, vanwege een\n"
+" installatieprobleem. U kunt deze provider niet gebruiken totdat\n"
+" u haar licentie kunt accepteren."
#. mail:checking-service title
#: mail/mail-errors.xml.h:245
msgid "Querying server"
-msgstr ""
+msgstr "Bevragen van de server"
#. mail:checking-service primary
#: mail/mail-errors.xml.h:247
-#, fuzzy
msgid "Please wait."
-msgstr "Een ogenblik geduld aub"
+msgstr "Een ogenblik geduld."
+# bevraagd voor/gevraagd om
#. mail:checking-service secondary
#: mail/mail-errors.xml.h:249
-#, fuzzy
msgid "Querying server for a list of supported authentication mechanisms."
-msgstr "Versleuteling vereist voor gewenst aanmeldingsmechanisme"
+msgstr "De server wordt gevraagd om een lijst met ondersteunde aanmeldingsmechanismen."
#. mail:gw-accountsetup-error primary
#: mail/mail-errors.xml.h:251
@@ -13871,7 +13689,7 @@ msgstr ""
#: mail/mail-folder-cache.c:813
#, c-format
msgid "Pinging %s"
-msgstr "%s pingen"
+msgstr "Pingen van %s"
#: mail/mail-ops.c:101
msgid "Filtering Folder"
@@ -14140,98 +13958,96 @@ msgid "Invalid folder: `%s'"
msgstr "Ongeldige map: `%s'"
#: mail/mail-vfolder.c:90
-#, fuzzy, c-format
+#, c-format
msgid "Setting up vFolder: %s"
-msgstr "Bezig met aanmaken vfolder: %s"
+msgstr "Bezig met aanmaken vMap: %s"
#: mail/mail-vfolder.c:239
#, c-format
msgid "Updating vFolders for '%s:%s'"
-msgstr "Actualiseren vfolders voor '%s:%s'"
+msgstr "Actualiseren vMappen voor '%s:%s'"
#: mail/mail-vfolder.c:246
#, c-format
msgid "Updating vFolders for '%s'"
-msgstr "Actualiseren vfolders voor '%s'"
+msgstr "Actualiseren vMappen voor '%s'"
#: mail/mail-vfolder.c:1008
-#, fuzzy
msgid "Edit vFolder"
-msgstr "Bewerk VMap"
+msgstr "vMap bewerken"
#: mail/mail-vfolder.c:1092
-#, fuzzy
msgid "New vFolder"
-msgstr "Nieuwe VMap"
+msgstr "Nieuwe vMap"
-#: mail/message-list.c:999
+#: mail/message-list.c:994
msgid "Unseen"
msgstr "Ongelezen"
-#: mail/message-list.c:1000
+#: mail/message-list.c:995
msgid "Seen"
msgstr "Gelezen"
-#: mail/message-list.c:1001
+#: mail/message-list.c:996
msgid "Answered"
msgstr "Beantwoord"
-#: mail/message-list.c:1002
+#: mail/message-list.c:997
msgid "Multiple Unseen Messages"
msgstr "Meerdere Ongelezen Berichten"
-#: mail/message-list.c:1003
+#: mail/message-list.c:998
msgid "Multiple Messages"
msgstr "Meerdere Berichten"
-#: mail/message-list.c:1007
+#: mail/message-list.c:1002
msgid "Lowest"
msgstr "Laagste"
-#: mail/message-list.c:1008
+#: mail/message-list.c:1003
msgid "Lower"
msgstr "Laag"
-#: mail/message-list.c:1012
+#: mail/message-list.c:1007
msgid "Higher"
msgstr "Hoog"
-#: mail/message-list.c:1013
+#: mail/message-list.c:1008
msgid "Highest"
msgstr "Hoogste"
-#: mail/message-list.c:1341
+#: mail/message-list.c:1336
msgid "?"
msgstr "?"
#. strftime format of a time,
#. in 12-hour format, without seconds.
-#: mail/message-list.c:1348 plugins/itip-formatter/itip-view.c:189
+#: mail/message-list.c:1343 plugins/itip-formatter/itip-view.c:189
msgid "Today %l:%M %p"
msgstr "Vandaag %l:%M %p"
-#: mail/message-list.c:1357
+#: mail/message-list.c:1352
msgid "Yesterday %l:%M %p"
msgstr "Gisteren %l:%M %p"
-#: mail/message-list.c:1369
+#: mail/message-list.c:1364
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
-#: mail/message-list.c:1377
+#: mail/message-list.c:1372
msgid "%b %d %l:%M %p"
msgstr "%b %d %l:%M %p"
-#: mail/message-list.c:1379
+#: mail/message-list.c:1374
msgid "%b %d %Y"
msgstr "%b %d %Y"
-#: mail/message-list.c:2046
-#, fuzzy
+# gewoon 'berichten' beter? korter?
+#: mail/message-list.c:2041
msgid "Message List"
-msgstr "Be_richten"
+msgstr "Berichtenlijst"
-#: mail/message-list.c:3386
+#: mail/message-list.c:3384
msgid "Generating message list"
msgstr "Bezig met genereren van berichtenlijst"
@@ -14291,9 +14107,10 @@ msgstr "Geen antwoord nodig"
msgid "Reply"
msgstr "Beantwoorden"
+# allen is korter dan iedereen
#: mail/message-tag-followup.c:82 ui/evolution-mail-message.xml.h:86
msgid "Reply to All"
-msgstr "Iedereen beantwoorden"
+msgstr "Allen beantwoorden"
#: mail/message-tag-followup.c:83
msgid "Review"
@@ -14320,83 +14137,71 @@ msgid "Subject contains"
msgstr "Onderwerp bevat"
#: mail/searchtypes.xml.h:6
-#, fuzzy
msgid "Subject or Sender contains"
-msgstr "Onderwerp bevat"
+msgstr "Onderwerp of afzender bevat"
#: plugins/backup-restore/backup-restore.c:51
msgid "Select name of Evolution archive"
-msgstr ""
+msgstr "Naam selecteren voor Evolution-archief"
#: plugins/backup-restore/backup-restore.c:61
msgid "_Restart Evolution after backup"
-msgstr ""
+msgstr "Evolution _herstarten na backup"
#: plugins/backup-restore/backup-restore.c:89
msgid "Select Evolution archive to restore"
-msgstr ""
+msgstr "Evolution-archief selecteren voor herstellen"
#: plugins/backup-restore/backup-restore.c:97
msgid "_Restart Evolution after restore"
-msgstr ""
+msgstr "Evolution _herstarten na herstellen"
#: plugins/backup-restore/backup.c:109
-#, fuzzy
msgid "Backup Evolution directory"
-msgstr "Evolution Fout"
+msgstr "Backup maken van Evolution-map"
#: plugins/backup-restore/backup.c:111
-#, fuzzy
msgid "Restore Evolution directory"
-msgstr "Evolution Fout"
+msgstr "Evolution-map herstellen"
-# groupware is wat anders dan workgroup
-# (denk software voor groepen)
#: plugins/backup-restore/backup.c:113
-#, fuzzy
msgid "Check Evolution archive"
-msgstr "De Evolution Groupware suite"
+msgstr "Evolution-archief controleren"
#: plugins/backup-restore/backup.c:115
-#, fuzzy
msgid "Restart Evolution"
-msgstr "Kan Evolution niet starten"
+msgstr "Evolution herstarten"
#: plugins/backup-restore/org-gnome-backup-restore.xml.h:1
-#, fuzzy
msgid "Backup Settings..."
-msgstr "_Instellingen..."
+msgstr "Backup-instellingen..."
#: plugins/backup-restore/org-gnome-backup-restore.xml.h:2
-#, fuzzy
msgid "Backup and restore Evolution data and settings"
-msgstr "Instellingen van Evolution bewerken"
+msgstr "Evolution data en instellingen backup maken en herstellen"
#: plugins/backup-restore/org-gnome-backup-restore.xml.h:3
-#, fuzzy
msgid "Restore Settings..."
-msgstr "Pilot instellingen..."
+msgstr "Instellingen herstellen..."
#: plugins/bbdb/bbdb.c:388
-#, fuzzy
msgid "Automatic Contacts"
-msgstr "Toevoegen aan contacten"
+msgstr "Automatische contacten"
#: plugins/bbdb/bbdb.c:397
-#, fuzzy
msgid "<span weight=\"bold\">Automatic Contacts</span>"
-msgstr "<span weight=\"bold\">Authenticatie</span>"
+msgstr "<span weight=\"bold\">Automatisch contacten</span>"
#. Enable BBDB checkbox
#: plugins/bbdb/bbdb.c:410
msgid ""
"_Automatically create entries in the addressbook when responding to mail"
msgstr ""
+"_Automatisch kaarten aanmaken in het adresboek bij het beantwoorden van mail"
#: plugins/bbdb/bbdb.c:428
-#, fuzzy
msgid "<span weight=\"bold\">Instant Messaging Contacts</span>"
-msgstr "<span weight=\"bold\">Bericht lettertype</span>"
+msgstr "<span weight=\"bold\">Instant messaging contacten</span>"
#. Enable Gaim Checkbox
#: plugins/bbdb/bbdb.c:441
@@ -14404,234 +14209,213 @@ msgid ""
"Periodically synchronize contact information and images from my _instant "
"messenger"
msgstr ""
+"Periodiek de contactinformatie en afbeeldingen met mijn _instant messanger "
+"synchroniseren"
#. Synchronize now button.
#: plugins/bbdb/bbdb.c:448
msgid "Synchronize with _buddy list now"
-msgstr ""
+msgstr "Met _buddylijst synchroniseren"
#: plugins/calendar-weather/calendar-weather.c:54
#: plugins/calendar-weather/calendar-weather.c:60
msgid "Weather: Cloudy"
-msgstr ""
+msgstr "Weer: bewolkt"
#: plugins/calendar-weather/calendar-weather.c:61
msgid "Weather: Fog"
-msgstr ""
+msgstr "Weer: mist"
#: plugins/calendar-weather/calendar-weather.c:62
msgid "Weather: Partly Cloudy"
-msgstr ""
+msgstr "Weer: gedeeltelijk bewolkt"
#: plugins/calendar-weather/calendar-weather.c:63
-#, fuzzy
msgid "Weather: Rain"
-msgstr "Bahrein"
+msgstr "Weer: regen"
#: plugins/calendar-weather/calendar-weather.c:64
msgid "Weather: Snow"
-msgstr ""
+msgstr "Weer: sneeuw"
#: plugins/calendar-weather/calendar-weather.c:65
msgid "Weather: Sunny"
-msgstr ""
+msgstr "Weer: zonnig"
#: plugins/calendar-weather/calendar-weather.c:66
msgid "Weather: Thunderstorms"
-msgstr ""
+msgstr "Weer: onweer"
#: plugins/calendar-weather/calendar-weather.c:268
-#, fuzzy
msgid "Select a location"
-msgstr "Kies een actie"
+msgstr "Kies een lokatie"
#: plugins/calendar-weather/calendar-weather.c:655
-#, fuzzy
msgid "_Units:"
-msgstr "Unit"
+msgstr "_Eenheden:"
#: plugins/calendar-weather/calendar-weather.c:662
msgid "Metric (Celsius, cm, etc)"
-msgstr ""
+msgstr "Metrisch (Celsius, cm, etc)"
#: plugins/calendar-weather/calendar-weather.c:663
msgid "Imperial (Fahrenheit, inches, etc)"
-msgstr ""
+msgstr "Imperisch (Fahrenheit, inch, etc)"
+# Engels: spatie te veel: "Mark as default folder"
#: plugins/default-source/default-source.c:82
-#, fuzzy
msgid "Mark as default folder"
-msgstr "Standaard kladmap gebruiken?"
+msgstr "Aanmerken als standaardmap"
#: plugins/default-source/default-source.c:108
-#, fuzzy
msgid "Mark as default folder"
-msgstr "Standaard kladmap gebruiken?"
+msgstr "Aanmerken als standaardmap"
#. i18n: "Secure Password Authentication" is an Outlookism
-#: plugins/exchange-account-setup/exchange-account-setup.c:53
-#, fuzzy
+#: plugins/exchange-account-setup/exchange-account-setup.c:59
msgid "Secure Password"
-msgstr "Voer Wachtwoord in"
+msgstr "Beveiligd wachtwoord"
#. i18n: "NTLM" probably doesn't translate
-#: plugins/exchange-account-setup/exchange-account-setup.c:56
-#, fuzzy
+#: plugins/exchange-account-setup/exchange-account-setup.c:62
msgid ""
"This option will connect to the Exchange server using secure password (NTLM) "
"authentication."
-msgstr ""
-"Deze optie zal bij het verbinden met de server gebruik maken van Kerberos-4-"
-"aanmelding."
+msgstr "Met deze optie zal bij het aanmelden bij de Exchange server gebruik maken van beveiligde wachtwoorden (NTLM)."
-#: plugins/exchange-account-setup/exchange-account-setup.c:64
-#, fuzzy
+# wachtwoord in platte tekst
+#: plugins/exchange-account-setup/exchange-account-setup.c:70
msgid "Plaintext Password"
-msgstr "Voer Wachtwoord in"
+msgstr "'Platte tekst'-wachtwoord"
-#: plugins/exchange-account-setup/exchange-account-setup.c:66
-#, fuzzy
+#: plugins/exchange-account-setup/exchange-account-setup.c:72
msgid ""
"This option will connect to the Exchange server using standard plaintext "
"password authentication."
-msgstr ""
-"Deze optie zal bij het verbinden met de IMAP-server het wachtwoord versturen "
-"als platte tekst."
+msgstr "Met deze optie zal bij het aanmelden bij de Exchange-server het wachtwoord versturen als platte tekst."
#. Description section
-#: plugins/exchange-account-setup/exchange-account-setup.c:113
-#, fuzzy
+#: plugins/exchange-account-setup/exchange-account-setup.c:193
msgid ""
"The message specified below will be automatically sent to \n"
"each person who sends mail to you while you are out of the office."
msgstr ""
-"<small>Het hieronder aangegeven bericht zal automatisch naar iedereen "
-"gestuurd worden\n"
-"die een bericht aan u stuurt wanneer u weg bent.</small>"
+"Het bericht hieronder zal automatisch worden vertuurd naar een ieder\n"
+"die naar u een bericht stuurt wanneer u afwezig bent."
-#: plugins/exchange-account-setup/exchange-account-setup.c:140
-#, fuzzy
-msgid "I am in the office"
-msgstr "Ik ben op dit moment aanwezig"
-
-#: plugins/exchange-account-setup/exchange-account-setup.c:154
-#, fuzzy
+#: plugins/exchange-account-setup/exchange-account-setup.c:221
+#: plugins/exchange-account-setup/exchange-account-setup.c:231
msgid "I am out of the office"
msgstr "Ik ben op dit moment afwezig"
-#: plugins/exchange-account-setup/exchange-account-setup.c:168
-#, fuzzy
+#: plugins/exchange-account-setup/exchange-account-setup.c:224
+#: plugins/exchange-account-setup/exchange-account-setup.c:228
+msgid "I am in the office"
+msgstr "Ik ben op dit moment aanwezig"
+
+#: plugins/exchange-account-setup/exchange-account-setup.c:257
msgid "Out of office Message:"
-msgstr "<b>Afwezigheidsbericht:</b>"
+msgstr "Afwezigheidsbericht:"
-#: plugins/exchange-account-setup/exchange-account-setup.c:194
-#, fuzzy
+#: plugins/exchange-account-setup/exchange-account-setup.c:302
msgid "Exchange Settings"
-msgstr "Instellingen"
+msgstr "Exchange-instellingen"
-#: plugins/exchange-account-setup/exchange-account-setup.c:332
+#: plugins/exchange-account-setup/exchange-account-setup.c:448
#: plugins/exchange-account-setup/exchange-ask-password.c:200
msgid "_OWA Url:"
-msgstr ""
+msgstr "_OWA Url:"
-#: plugins/exchange-account-setup/exchange-account-setup.c:340
+#: plugins/exchange-account-setup/exchange-account-setup.c:456
#: plugins/exchange-account-setup/exchange-ask-password.c:193
-#, fuzzy
msgid "A_uthenticate"
-msgstr "Aanmelding mislukt"
+msgstr "Aan_meldingscontrole"
-#: plugins/exchange-account-setup/exchange-account-setup.c:457
-#, fuzzy
+#: plugins/exchange-account-setup/exchange-account-setup.c:664
msgid "Authentication Type"
-msgstr "Aanmelding mislukt"
+msgstr "Soort aanmeldingscontrole"
-#: plugins/exchange-account-setup/exchange-account-setup.c:471
-#, fuzzy
+#: plugins/exchange-account-setup/exchange-account-setup.c:678
msgid "Ch_eck for Supported Types"
-msgstr "Testen op ondersteunde types "
+msgstr "_Testen op ondersteunde types "
#: plugins/folder-unsubscribe/folder-unsubscribe.c:57
-#, fuzzy, c-format
+#, c-format
msgid "Unsubscribing from folder \"%s\""
-msgstr "Kan niet uitschrijven bij map `%s': Slechte opdracht"
+msgstr "Abonnement op map \"%s\" wordt opgezegd"
+# controlelijst/aftekenlijst
#: plugins/groupwise-account-setup/camel-gw-listener.c:413
msgid "Checklist"
msgstr "Aftekenlijst"
#: plugins/groupwise-send-options/org-gnome-compose-send-options.xml.h:1
msgid "Add Send Options to groupwise messages"
-msgstr ""
+msgstr "Verzendopties bij groupwise-berichten tonen"
#: plugins/groupwise-send-options/org-gnome-compose-send-options.xml.h:2
#: widgets/misc/e-send-options.glade.h:20
-#, fuzzy
msgid "Send Options"
-msgstr "Opties"
+msgstr "Verzend-opties"
#: plugins/itip-formatter/itip-formatter.c:704
-#, fuzzy
msgid "Unable to parse item"
-msgstr "Kan de inhoud van het bericht niet ontleden"
+msgstr "Kan het item niet verwerken"
#: plugins/itip-formatter/itip-formatter.c:757
-#, fuzzy, c-format
+#, c-format
msgid "Unable to send item to calendar '%s'. %s"
-msgstr "Kan de agenda '%s' niet openen."
+msgstr "Kan item niet naar agenda '%s' versturen. %s"
#: plugins/itip-formatter/itip-formatter.c:768
#, c-format
msgid "Sent to calendar '%s' as accepted"
-msgstr ""
+msgstr "Verzonden aan agenda '%s' als geaccepteerd"
#: plugins/itip-formatter/itip-formatter.c:772
#, c-format
msgid "Sent to calendar '%s' as tentative"
-msgstr ""
+msgstr "Verzonden aan agenda '%s' als voorlopig"
#: plugins/itip-formatter/itip-formatter.c:777
#, c-format
msgid "Sent to calendar '%s' as declined"
-msgstr ""
+msgstr "Verzonden aan agenda '%s' als afgewezen"
#: plugins/itip-formatter/itip-formatter.c:782
#, c-format
msgid "Sent to calendar '%s' as cancelled"
-msgstr ""
+msgstr "Verzonden aan agenda '%s' als geannuleerd"
#: plugins/itip-formatter/itip-formatter.c:833
-#, fuzzy
msgid "Attendee status could not be updated because the status is invalid"
-msgstr ""
-"Bezoekerstatus kon niet ververst worden vanwege een ongeldige status!\n"
+msgstr "Aanwezigheidsstatus kon niet ververst worden omdat de status ongeldig is"
#: plugins/itip-formatter/itip-formatter.c:844
-#, fuzzy, c-format
+#, c-format
msgid "Unable to update attendee. %s"
-msgstr "Kan de agenda '%s' niet migreren"
+msgstr "Kon aanwezige niet updaten. %s"
#: plugins/itip-formatter/itip-formatter.c:848
-#, fuzzy
msgid "Attendee status updated"
-msgstr "Bezoekerstatus ververst\n"
+msgstr "Aanwezigheidstatus ververst"
#: plugins/itip-formatter/itip-formatter.c:973
-#, fuzzy
msgid "The calendar attached is not valid"
-msgstr ""
-"De contact data is ongeldig:\n"
-"\n"
+msgstr "De bijgevoegde agenda is niet geldig"
#: plugins/itip-formatter/itip-formatter.c:974
msgid ""
"The message claims to contain a calendar, but the calendar is not valid "
"iCalendar."
msgstr ""
+"Het bericht claimt een agenda te bevatten, maar de agenda is geen geldige "
+"iCalendar."
#: plugins/itip-formatter/itip-formatter.c:1008
#: plugins/itip-formatter/itip-formatter.c:1064
msgid "The item in the calendar is not valid"
-msgstr ""
+msgstr "Het item in de agenda is niet geldig"
#: plugins/itip-formatter/itip-formatter.c:1009
#: plugins/itip-formatter/itip-formatter.c:1065
@@ -14639,37 +14423,40 @@ msgid ""
"The message does contain a calendar, but the calendar contains no events, "
"tasks or free/busy information"
msgstr ""
+"Het bericht bevat een agenda, maar de agenda bevat geen aantekenigen, taken "
+"of vrij/bezet-informatie"
#: plugins/itip-formatter/itip-formatter.c:1020
msgid "The calendar attached contains multiple items"
-msgstr ""
+msgstr "De bijgevoegde agenda bevat meerdere items"
#: plugins/itip-formatter/itip-formatter.c:1021
msgid ""
"To process all of these items, the file should be saved and the calendar "
"imported"
msgstr ""
+"Om al deze items te verwerken, moet het bestand worden opgeslagen en de "
+"agenda worden geïmporteerd"
#: plugins/itip-formatter/itip-formatter.c:1658
-#, fuzzy
msgid "Meetings and Tasks"
-msgstr "Agenda en Taken"
+msgstr "Bijeenkomsten en taken"
#. Delete message after acting
#. FIXME Need a schema for this
#: plugins/itip-formatter/itip-formatter.c:1681
msgid "_Delete message after acting"
-msgstr ""
+msgstr "_Bericht verwijderen na actie"
+# vrij vertaald
#: plugins/itip-formatter/itip-formatter.c:1691
-#, fuzzy
msgid "<span weight=\"bold\">Conflict Search</span>"
-msgstr "<span weight=\"bold\">Configuratie</span>"
+msgstr "<span weight=\"bold\">Dubbele afspraken</span>"
#. Source selector
#: plugins/itip-formatter/itip-formatter.c:1704
msgid "Select the calendars to search for meeting conflicts"
-msgstr ""
+msgstr "Selecteer de agenda's waarbinnen naar dubbele afspraken moet worden gezocht"
#. strftime format of a weekday and a date.
#: plugins/itip-formatter/itip-view.c:175 ui/evolution-calendar.xml.h:34
@@ -14680,342 +14467,319 @@ msgstr "Vandaag"
#. strftime format of a time,
#. in 24-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:180
-#, fuzzy
msgid "Today %H:%M"
-msgstr "Vandaag %l:%M %p"
+msgstr "Vandaag %H:%M"
#. strftime format of a time,
#. in 24-hour format.
#: plugins/itip-formatter/itip-view.c:184
-#, fuzzy
msgid "Today %H:%M:%S"
-msgstr "Vandaag %l:%M %p"
+msgstr "Vandaag %H:%M:%S"
#. strftime format of a time,
#. in 12-hour format.
#: plugins/itip-formatter/itip-view.c:193
-#, fuzzy
msgid "Today %l:%M:%S %p"
-msgstr "Vandaag %l:%M %p"
+msgstr "Vandaag %l:%M:%S %p"
#. strftime format of a weekday and a date.
#: plugins/itip-formatter/itip-view.c:203
-#, fuzzy
msgid "Tomorrow"
-msgstr "Komoren"
+msgstr "Morgen"
#. strftime format of a time,
#. in 24-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:208
msgid "Tomorrow %H:%M"
-msgstr ""
+msgstr "Morgen %H:%M"
#. strftime format of a time,
#. in 24-hour format.
#: plugins/itip-formatter/itip-view.c:212
-#, fuzzy
msgid "Tomorrow %H:%M:%S"
-msgstr "%H:%M:%S%n"
+msgstr "Morgen %H:%M:%S"
#. strftime format of a time,
#. in 12-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:217
-#, fuzzy
msgid "Tomorrow %l:%M %p"
-msgstr "Vandaag %l:%M %p"
+msgstr "Morgen %l:%M %p"
#. strftime format of a time,
#. in 12-hour format.
#: plugins/itip-formatter/itip-view.c:221
-#, fuzzy
msgid "Tomorrow %l:%M:%S %p"
-msgstr "Vandaag %l:%M %p"
+msgstr "Morgen %l:%M:%S %p"
#. strftime format of a weekday.
#: plugins/itip-formatter/itip-view.c:240
#, c-format
msgid "%A"
-msgstr ""
+msgstr "%A"
#. strftime format of a weekday and a
#. time, in 24-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:245
-#, fuzzy
msgid "%A %H:%M"
-msgstr "%H:%M"
+msgstr "%A %H:%M"
#. strftime format of a weekday and a
#. time, in 24-hour format.
#: plugins/itip-formatter/itip-view.c:249
-#, fuzzy
msgid "%A %H:%M:%S"
-msgstr "%H:%M:%S%n"
+msgstr "%A %H:%M:%S"
#. strftime format of a weekday and a
#. time, in 12-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:254
-#, fuzzy
msgid "%A %l:%M %p"
-msgstr "%a %l:%M %p"
+msgstr "%A %l:%M %p"
#. strftime format of a weekday and a
#. time, in 12-hour format.
#: plugins/itip-formatter/itip-view.c:258
-#, fuzzy
msgid "%A %l:%M:%S %p"
-msgstr "%I:%M:%S %p%n"
+msgstr "%A %l:%M:%S %p"
#. strftime format of a weekday and a date
#. without a year.
#: plugins/itip-formatter/itip-view.c:267
-#, fuzzy
msgid "%A, %B %e"
-msgstr "%A, %d %B, %Y"
+msgstr "%A, %B %e"
#. strftime format of a weekday, a date
#. without a year and a time,
#. in 24-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:273
-#, fuzzy
msgid "%A, %B %e %H:%M"
-msgstr "%A, %d %B, %Y"
+msgstr "%A, %B %e %H:%M"
#. strftime format of a weekday, a date without a year
#. and a time, in 24-hour format.
#: plugins/itip-formatter/itip-view.c:277
-#, fuzzy
msgid "%A, %B %e %H:%M:%S"
-msgstr "%m/%d/%Y %H:%M:%S"
+msgstr "%A, %B %e %H:%M:%S"
#. strftime format of a weekday, a date without a year
#. and a time, in 12-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:282
-#, fuzzy
msgid "%A, %B %e %l:%M %p"
-msgstr "%b %d %l:%M %p"
+msgstr "%A, %B %e %l:%M %p"
#. strftime format of a weekday, a date without a year
#. and a time, in 12-hour format.
#: plugins/itip-formatter/itip-view.c:286
-#, fuzzy
msgid "%A, %B %e %l:%M:%S %p"
-msgstr "%b %d %l:%M %p"
+msgstr "%A, %B %e %l:%M:%S %p"
#. strftime format of a weekday and a date.
#: plugins/itip-formatter/itip-view.c:292
-#, fuzzy
msgid "%A, %B %e, %Y"
-msgstr "%A, %d %B, %Y"
+msgstr "%A, %B %e, %Y"
#. strftime format of a weekday, a date and a
#. time, in 24-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:297
-#, fuzzy
msgid "%A, %B %e, %Y %H:%M"
-msgstr "%A, %d %B, %Y"
+msgstr "%A, %B %e, %Y %H:%M"
#. strftime format of a weekday, a date and a
#. time, in 24-hour format.
#: plugins/itip-formatter/itip-view.c:301
-#, fuzzy
msgid "%A, %B %e, %Y %H:%M:%S"
-msgstr "%a %d-%m-%Y %H:%M:%S"
+msgstr "%A, %B %e, %Y %H:%M:%S"
#. strftime format of a weekday, a date and a
#. time, in 12-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:306
-#, fuzzy
msgid "%A, %B %e, %Y %l:%M %p"
-msgstr "op %B %d, %Y, %l:%M %p"
+msgstr "%A, %B %e, %Y %l:%M %p"
#. strftime format of a weekday, a date and a
#. time, in 12-hour format.
#: plugins/itip-formatter/itip-view.c:310
-#, fuzzy
msgid "%A, %B %e, %Y %l:%M:%S %p"
-msgstr "op %B %d, %Y, %l:%M %p"
+msgstr "%A, %B %e, %Y %l:%M:%S %p"
#: plugins/itip-formatter/itip-view.c:335
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s has published the following meeting information:"
-msgstr "<b>%s</b> heeft bijeenkomstgegevens beschikbaar gemaakt."
+msgstr "<b>%s</b> heeft via %s de volgende bijeenkomstgegevens beschikbaar gesteld:"
#: plugins/itip-formatter/itip-view.c:337
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has published the following meeting information:"
-msgstr "<b>%s</b> heeft bijeenkomstgegevens beschikbaar gemaakt."
+msgstr "<b>%s</b> heeft de volgende bijeenkomstgegevens beschikbaar gesteld:"
#: plugins/itip-formatter/itip-view.c:342
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> requests the presence of %s at the following meeting:"
-msgstr "<b>%s</b> verzoekt %s om bij de bijeenkomst aanwezig te zijn."
+msgstr "<b>%s</b> verzoekt %s om bij de volgende bijeenkomst aanwezig te zijn:"
#: plugins/itip-formatter/itip-view.c:345
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s requests your presence at the following meeting:"
-msgstr "<b>%s</b> verzoekt u bij de bijeenkomst aanwezig te zijn."
+msgstr "<b>%s</b> vraagt u op verzoek van %s bij de volgende bijeenkomst aanwezig te zijn:"
#: plugins/itip-formatter/itip-view.c:347
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> requests your presence at the following meeting:"
-msgstr "<b>%s</b> verzoekt u bij de bijeenkomst aanwezig te zijn."
+msgstr "<b>%s</b> verzoekt u bij de volgende bijeenkomst aanwezig te zijn:"
#: plugins/itip-formatter/itip-view.c:353
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s wishes to add to an existing meeting:"
-msgstr "<b>%s</b> wil graag aan een bestaande bijeenkomst bijdragen."
+msgstr "<b>%s</b> wil op verzoek van %s graag aan een bestaande bijeenkomst bijdragen:"
#: plugins/itip-formatter/itip-view.c:355
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> wishes to add to an existing meeting:"
-msgstr "<b>%s</b> wil graag aan een bestaande bijeenkomst bijdragen."
+msgstr "<b>%s</b> wil graag aan een bestaande bijeenkomst bijdragen:"
#: plugins/itip-formatter/itip-view.c:358
-#, fuzzy, c-format
+#, c-format
msgid ""
"<b>%s</b> wishes to receive the latest information for the following meeting:"
-msgstr "<b>%s</b> wil graag de laatste taakgegevens ontvangen."
+msgstr "<b>%s</b> wil graag de laatste informatie ontvangen voor de volgende bijeenkomst:"
#: plugins/itip-formatter/itip-view.c:361
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has sent back the following meeting response:"
-msgstr "<b>%s</b> heeft een onleesbaar bericht gestuurd."
+msgstr "<b>%s</b> heeft het volgende antwoord teruggestuurd:"
#: plugins/itip-formatter/itip-view.c:365
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s has cancelled the following meeting:"
-msgstr "<b>%s</b> heeft een bijeenkomst geannuleerd."
+msgstr "<b>%s</b> heeft via %s de volgende bijeenkomst geannuleerd:"
+# : ipv .
#: plugins/itip-formatter/itip-view.c:367
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has cancelled the following meeting."
-msgstr "<b>%s</b> heeft een bijeenkomst geannuleerd."
+msgstr "<b>%s</b> heeft de volgende bijeenkomst geannuleerd:"
#: plugins/itip-formatter/itip-view.c:370
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has proposed the following meeting changes."
-msgstr "<b>%s<b> heeft geantwoord op een bijeenkomstverzoek."
+msgstr "<b>%s<b> stelt de volgende bijeenkomstwijzigingen voor:"
#: plugins/itip-formatter/itip-view.c:374
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s has declined the following meeting changes:"
-msgstr "<b>%s<b> heeft geantwoord op een bijeenkomstverzoek."
+msgstr "<b>%s<b> heeft via %s de volgende bijeenkomstwijzigingen afgewezen:"
#: plugins/itip-formatter/itip-view.c:376
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has declined the following meeting changes."
-msgstr "<b>%s<b> heeft geantwoord op een bijeenkomstverzoek."
+msgstr "<b>%s<b> heeft de volgende bijeenkomstwijzigingen afgewezen:"
#: plugins/itip-formatter/itip-view.c:403
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s has published the following task:"
-msgstr "<b>%s</b> heeft taakgegevens beschikbaar gemaakt."
+msgstr "<b>%s</b> heeft via %s de volgende taak beschikbaar gesteld:"
#: plugins/itip-formatter/itip-view.c:405
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has published the following task:"
-msgstr "<b>%s</b> heeft taakgegevens beschikbaar gemaakt."
+msgstr "<b>%s</b> heeft de volgende taak beschikbaar gesteld:"
#: plugins/itip-formatter/itip-view.c:410
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> requests the assignment of %s to the following task:"
-msgstr "<b>%s</b> verzoekt %s om bij de bijeenkomst aanwezig te zijn."
+msgstr "<b>%s</b> verzoekt dat %s de volgende taak wordt toegewezen:"
#: plugins/itip-formatter/itip-view.c:413
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s has assigned you a task:"
-msgstr "<b>%s</b> heeft een taak geannuleerd."
+msgstr "<b>%s</b> heeft via %s u een taak toebedeeld:"
#: plugins/itip-formatter/itip-view.c:415
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has assigned you a task:"
-msgstr "<b>%s</b> heeft een taak geannuleerd."
+msgstr "<b>%s</b> heeft u een taak toebedeeld:"
#: plugins/itip-formatter/itip-view.c:421
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s wishes to add to an existing task:"
-msgstr "<b>%s</b> wil graag iets toevoegen aan een bestaande taak."
+msgstr "<b>%s</b> wil via %s aan een bestaande taak iets toevoegen:"
#: plugins/itip-formatter/itip-view.c:423
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> wishes to add to an existing task:"
-msgstr "<b>%s</b> wil graag iets toevoegen aan een bestaande taak."
+msgstr "<b>%s</b> wil aan een bestaande taak iets toevoegen:"
#: plugins/itip-formatter/itip-view.c:426
-#, fuzzy, c-format
+#, c-format
msgid ""
"<b>%s</b> wishes to receive the latest information for the following "
"assigned task:"
-msgstr "<b>%s</b> wil graag de laatste taakgegevens ontvangen."
+msgstr "<b>%s</b> wil graag de laatste informatie voor de volgende toebedeelde taak ontvangen:"
#: plugins/itip-formatter/itip-view.c:429
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has sent back the following assigned task response:"
-msgstr "<b>%s</b> heeft een onleesbaar bericht gestuurd."
+msgstr "<b>%s</b> heeft het volgende antwoord gestuurd:"
#: plugins/itip-formatter/itip-view.c:433
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s has cancelled the following assigned task:"
-msgstr "<b>%s</b> heeft een taak geannuleerd."
+msgstr "<b>%s</b> heeft via %s de volgende toebedeelde taak geannuleerd:"
#: plugins/itip-formatter/itip-view.c:435
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has cancelled the following assigned task:"
-msgstr "<b>%s</b> heeft een taak geannuleerd."
+msgstr "<b>%s</b> heeft de volgende toebedeelde taak geannuleerd:"
#: plugins/itip-formatter/itip-view.c:438
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has proposed the following task assignment changes:"
-msgstr "<b>%s</b> heeft een taakopdracht beantwoord."
+msgstr "<b>%s</b> stelt de volgende wijzigingen bij het toebedelen van taken voor:"
#: plugins/itip-formatter/itip-view.c:442
#, c-format
msgid "<b>%s</b> through %s has declined the following assigned task:"
-msgstr ""
+msgstr "<b>%s</b> heeft via %s de volgende toebedeelde taak afgewezen:"
#: plugins/itip-formatter/itip-view.c:444
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has declined the following assigned task:"
-msgstr "<b>%s</b> heeft een taakopdracht beantwoord."
+msgstr "<b>%s</b> heeft de volgende toebedeelde taak afgewezen:"
#. Comment
#: plugins/itip-formatter/itip-view.c:892
#: plugins/itip-formatter/itip-view.c:942
-#, fuzzy
msgid "Comment:"
-msgstr "Opdracht:"
+msgstr "Commentaar:"
#. org.gnome.mailing-list-actions:no-header primary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:2
-#, fuzzy
msgid "Action not available"
-msgstr "TLS is niet beschikbaar"
+msgstr "Actie is niet beschikbaar"
#. org.gnome.mailing-list-actions:no-header secondary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:4
msgid ""
"This message does not contain the header information required for this "
"action."
-msgstr ""
+msgstr "Dit bericht bevat de header-informatie niet die vereist is voor deze actie."
#. org.gnome.mailing-list-actions:posting-not-allowed primary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:6
-#, fuzzy
msgid "Posting not allowed"
-msgstr "Plaatsen mislukt: %s"
+msgstr "Mail sturen niet toegestaan"
+# mogelijkerwijs/mogelijk/misschien/wellicht
#. org.gnome.mailing-list-actions:posting-not-allowed secondary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:8
msgid ""
"Posting to this mailing list is not allowed. Possibly, this is a read-only "
"mailing list. Contact the list owner for details."
-msgstr ""
+msgstr "Berichten sturen aan deze mailinglijst is niet toegestaan. Mogelijk is dit een 'alleen-lezen' mailinglijst. Neem contact op met de lijsteigenaar voor details."
#. org.gnome.mailing-list-actions:ask-send-message primary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:10
-#, fuzzy
msgid "Send e-mail message to mailing list?"
-msgstr "_Bericht aan lijst sturen..."
+msgstr "E-mailbericht aan mailinglijst sturen?"
#. org.gnome.mailing-list-actions:ask-send-message secondary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:12
@@ -15026,22 +14790,22 @@ msgid ""
"You should receive an answer from the mailing list shortly after the message "
"has been sent."
msgstr ""
+"Er zal een e-mail worden verzonden naar de URL \"{0}\". U kunt het bericht automatisch verzenden, of het eerst bekijken en aanpassen.\n"
+"\n"
+"Als het goed is ontvangt u antwoord van de mailinglijst kort nadat het bericht is verzonden."
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:15
-#, fuzzy
msgid "_Send message"
-msgstr "Bericht wordt verstuurd"
+msgstr "Bericht v_ersturen"
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:16
-#, fuzzy
msgid "_Edit message"
-msgstr "Bericht wordt verstuurd"
+msgstr "Bericht be_werken"
#. org.gnome.mailing-list-actions:malformed-header primary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:18
-#, fuzzy
msgid "Malformed header"
-msgstr "Misvormde handtekening"
+msgstr "Misvormde header"
#. org.gnome.mailing-list-actions:malformed-header secondary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:20
@@ -15050,12 +14814,14 @@ msgid ""
"\n"
"Header: {1}"
msgstr ""
+"De {0} header van dit bericht misvormd en kon niet worden verwerkt\n"
+"\n"
+"Header: {1}"
#. org.gnome.mailing-list-actions:no-action primary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:24
-#, fuzzy
msgid "No e-mail action"
-msgstr "Filter acties bijhouden"
+msgstr "Geen e-mailactie"
#. org.gnome.mailing-list-actions:no-action secondary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:26
@@ -15065,94 +14831,88 @@ msgid ""
"\n"
"Header: {0}"
msgstr ""
+"De actie kon niet worden uitgevoerd. Dit betekent dat de header voor deze actie geen enkele actie bevatte die wij konden uitvoeren.\n"
+"\n"
+"Header: {0}"
#. Create the checkbox we will display, complete with mnemonic that is unique in the dialog
#: plugins/new-mail-notify/new-mail-notify.c:66
-#, fuzzy
msgid "_Generates a D-BUS message when new mail arrives"
-msgstr "_Geen melding bij binnenkomst van nieuwe e-mail"
+msgstr "Genereert een D-BUS melding bij binnenkomst van nieuwe e-mail"
#: plugins/plugin-manager/org-gnome-plugin-manager.xml.h:1
msgid "Enable and disable plugins"
-msgstr ""
+msgstr "Plugins aan en uitzetten"
#: plugins/plugin-manager/org-gnome-plugin-manager.xml.h:2
-#, fuzzy
msgid "Manage Plugins..."
-msgstr "Annuleren..."
+msgstr "Plugins beheren..."
#: plugins/plugin-manager/plugin-manager.c:45
-#, fuzzy
msgid "Author(s)"
-msgstr "u(u)r(en)"
+msgstr "Auteur(s)"
#: plugins/plugin-manager/plugin-manager.c:46
-#, fuzzy
msgid "Id"
-msgstr "I"
+msgstr "Id"
#: plugins/plugin-manager/plugin-manager.c:47
-#, fuzzy
msgid "Path"
-msgstr "_Pad:"
+msgstr "Pad"
#: plugins/plugin-manager/plugin-manager.c:48
-#, fuzzy
msgid "Description"
-msgstr "Omschrijving:"
+msgstr "Omschrijving"
# beheerder
#. Setup the ui
#: plugins/plugin-manager/plugin-manager.c:188
-#, fuzzy
msgid "Plugin Manager"
-msgstr "Manager"
+msgstr "Pluginbeheer"
#: plugins/plugin-manager/plugin-manager.c:201
msgid "Note: Some changes will not take effect until restart"
-msgstr ""
+msgstr "Merk op: Bepaalde wijzigingen zijn pas van kracht na een herstart"
#: plugins/plugin-manager/plugin-manager.c:210
-#, fuzzy
msgid "Plugin"
-msgstr "Legen"
+msgstr "Plugin"
#: plugins/prefer-plain/prefer-plain.c:105
msgid "Show HTML if present"
-msgstr ""
+msgstr "HTML tonen indien aanwezig"
#: plugins/prefer-plain/prefer-plain.c:106
msgid "Prefer PLAIN"
-msgstr ""
+msgstr "Voorkeur voor gewone tekst"
+# ooit eens?
#: plugins/prefer-plain/prefer-plain.c:107
msgid "Only ever show PLAIN"
-msgstr ""
+msgstr "Alleen gewone tekst"
#: plugins/prefer-plain/prefer-plain.c:150
-#, fuzzy
msgid "HTML Mode"
-msgstr "HTML e-mail"
+msgstr "HTML-modus"
+# Engels fout: spatie tussen einde zin en ...:
+# Save Attachments ...
#: plugins/save-attachments/org-gnome-save-attachments.xml.h:1
-#, fuzzy
msgid "Save Attachments ..."
-msgstr "_Bijlage..."
+msgstr "Bijlagen opslaan ..."
#: plugins/save-attachments/org-gnome-save-attachments.xml.h:2
-#, fuzzy
msgid "Save all attachments"
-msgstr "Bezig met opslaan bijlage"
+msgstr "Alle bijlagen opslaan"
+# huh?
#: plugins/save-attachments/save-attachments.c:331
-#, fuzzy
msgid "Select save base name"
-msgstr "Selecteer een tijdzone"
+msgstr "Selecteer opslaan basisnaam"
#: plugins/save-attachments/save-attachments.c:351
-#, fuzzy
msgid "MIME Type"
-msgstr "MIME type:"
+msgstr "MIME-type"
#: plugins/save-attachments/save-attachments.c:359
#: ui/evolution-message-composer.xml.h:16
@@ -15163,7 +14923,7 @@ msgstr "Opslaan"
#: plugins/save-calendar/csv-format.c:167
#, c-format
msgid "%s%d/%s%d/%s%d %s%d:%s%d:%s%d"
-msgstr ""
+msgstr "%s%d/%s%d/%s%d %s%d:%s%d:%s%d"
#: plugins/save-calendar/csv-format.c:370
#, c-format
@@ -15171,54 +14931,54 @@ msgid ""
"Uid%sSummary%sDescription List%sCategories List%sComment List%sCompleted%"
"sCreated%sContact List%sStart%sEnd%sDue%sPercent Done%sPriority%sUrl%"
"sAttendees List%sLocation%sModified%s"
-msgstr ""
+msgstr "Uid%sOnderwerp%sOmschrijving%scategorieën%sOpmerkingen%sVoltooid%sAangemaakt%sContacten%sBegin%sEinde%sVerloopt%sPercentage gedaan%sPrioriteit%sUrl%sWie%sLocatie%sGewijzigd%s"
#: plugins/save-calendar/csv-format.c:519
msgid "Advanced options for the CSV format"
-msgstr ""
+msgstr "Geavanceerde opties voor het CSV-formaat"
+# bijsluiten/invoegen
#: plugins/save-calendar/csv-format.c:526
msgid "Prepend a header"
-msgstr ""
+msgstr "Vooraan een header invoegen"
+# letterlijk: waardebegrenser, maar het gaat om het teken
+# waarmee de variabelen worden gescheiden
#: plugins/save-calendar/csv-format.c:535
-#, fuzzy
msgid "Value delimiter:"
-msgstr "Lokale bezorging"
+msgstr "Scheidingsteken"
#: plugins/save-calendar/csv-format.c:541
msgid "Record delimiter:"
-msgstr ""
+msgstr "Einde-regel teken:"
#: plugins/save-calendar/csv-format.c:547
msgid "Encapsulate values with:"
-msgstr ""
+msgstr "Waarden omringen met:"
#: plugins/save-calendar/csv-format.c:569
msgid "Comma separated value format (.csv)"
-msgstr ""
+msgstr "Comma separated value formaat (.csv)"
-#: plugins/save-calendar/ical-format.c:120
-#, fuzzy
+#: plugins/save-calendar/ical-format.c:136
msgid "iCalendar format (.ics)"
-msgstr "iCalendar agendabestanden (.ics)"
+msgstr "iCalendar formaat (.ics)"
#: plugins/save-calendar/rdf-format.c:390
msgid "RDF format (.rdf)"
-msgstr ""
+msgstr "RDF formaat (.rdf)"
-#: plugins/save-calendar/save-calendar.c:172
-#: plugins/save-calendar/save-calendar.c:182
-#, fuzzy
+#: plugins/save-calendar/save-calendar.c:171
+#: plugins/save-calendar/save-calendar.c:181
msgid "Select destination file"
-msgstr "Selecteer doel"
+msgstr "Doelbestand selecteren"
-#: plugins/save-calendar/save-calendar.c:217
+#: plugins/save-calendar/save-calendar.c:216
#, c-format
msgid ""
"The suggested filename extension of this filetype (%s) is unused in the "
"chosen filename. Do you want to continue?"
-msgstr ""
+msgstr "De gesuggereerde extensie voor dit bestandstype (%s) is niet gebruikt in de gekozen bestandsnaam. Wilt u doorgaan?"
#: plugins/send-options/send-options.c:82
#, c-format
@@ -15227,90 +14987,81 @@ msgstr "%sVoer uw wachtwoord in voor %s (gebruiker %s)"
#. org.gnome.evolution.mail_shared_folder:invalid-user primary
#: plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:2
-#, fuzzy
msgid "Invalid user"
-msgstr "Ongeldig doel"
+msgstr "Ongeldige gebruiker"
#. org.gnome.evolution.mail_shared_folder:invalid-user secondary
#: plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:4
msgid ""
"\n"
"You cannot share folder with specified user \"{0}\" \n"
-msgstr ""
+msgstr "\nU kunt geen map delen met de opgegeven gebruiker \"{0}\" \n"
#. org.gnome.evolution.mail_shared_folder:no-user primary
#: plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:8
-#, fuzzy
msgid "Specify User"
-msgstr "Specifieke kop"
+msgstr "Geef de gebruiker"
#. org.gnome.evolution.mail_shared_folder:no-user secondary
#: plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:10
msgid ""
"\n"
"\tYou have to specify a user name whom you want to add to the list \n"
-msgstr ""
+msgstr "\n\tU moet een gebruikersnaam geven van degene die u aan de lijst wilt toevoegen\n"
#: plugins/shared-folder/properties.glade.h:2
-#, fuzzy
msgid "<b>Users :</b>"
-msgstr "<b>Waarschuwingen</b>"
+msgstr "<b>Gebruikers :</b>"
#: plugins/shared-folder/properties.glade.h:4
-#, fuzzy
msgid "Message"
-msgstr "Be_richt:"
+msgstr "Bericht"
#: plugins/shared-folder/properties.glade.h:6
msgid "Shared Folder Notification"
-msgstr ""
+msgstr "Gedeelde map mededelingen"
#: plugins/shared-folder/properties.glade.h:8
msgid "The participants will receive the following notification.\n"
-msgstr ""
+msgstr "De deelnemers zullen de volgende mededeling ontvangen.\n"
#: plugins/shared-folder/properties.glade.h:11
-#, fuzzy
msgid "_Contacts..."
-msgstr "Contacten..."
+msgstr "_Contacten..."
+# engels spelfout: Cutomize
#: plugins/shared-folder/properties.glade.h:12
-#, fuzzy
msgid "_Cutomize notification message"
-msgstr "Kon bericht niet aanmaken."
+msgstr "_Mededelingsbericht aanpassen"
#: plugins/shared-folder/properties.glade.h:13
-#, fuzzy
msgid "_Not Shared"
-msgstr "Niet gestart"
+msgstr "_Niet gedeeld"
#: plugins/shared-folder/properties.glade.h:15
msgid "_Shared With ..."
-msgstr ""
+msgstr "_Gedeeld met ..."
#: plugins/shared-folder/properties.glade.h:16
-#, fuzzy
msgid "_Sharing"
-msgstr "Schaduw"
+msgstr "_Delen"
#: plugins/shared-folder/share-folder-common.c:315
-#, fuzzy
msgid "Users"
-msgstr "Gebruikersnaam"
+msgstr "Gebruikers"
#: plugins/shared-folder/share-folder-common.c:316
msgid "Enter the users and set permissions"
-msgstr ""
+msgstr "Geef de gebruikers en bepaal de rechten"
#: plugins/shared-folder/share-folder-common.c:401
-#, fuzzy
msgid "Sharing"
-msgstr "Schaduw"
+msgstr "Delen"
#. Create the checkbox we will display, complete with mnemonic that is unique in the dialog
#: plugins/subject-thread/subject-thread.c:54
msgid "Fall back to threading messages by sub_ject"
-msgstr ""
+msgstr "Terugvallen naar berichtensortering per _onderwerp"
#: shell/GNOME_Evolution_Shell.server.in.in.h:1
msgid "Evolution Shell"
@@ -15326,25 +15077,24 @@ msgstr "Evolution testcomponent"
#: shell/apps_evolution_shell.schemas.in.in.h:1
msgid "A GNOME Print description of the current printer settings"
-msgstr ""
+msgstr "Een omschrijving van de huidige printerinstellingen met GNOME Print"
#: shell/apps_evolution_shell.schemas.in.in.h:2
-#, fuzzy
msgid "Configuration version"
-msgstr "Evolution configuratie versie"
+msgstr "Configuratieversie"
+# zijpaneel
#: shell/apps_evolution_shell.schemas.in.in.h:3
-#, fuzzy
msgid "Default sidebar width"
-msgstr "Standaard venster breedte"
+msgstr "Standaardbreedte van zijbalk"
#: shell/apps_evolution_shell.schemas.in.in.h:4
msgid "Default window height"
-msgstr "Standaard venster hoogte"
+msgstr "Standaard vensterhoogte"
#: shell/apps_evolution_shell.schemas.in.in.h:5
msgid "Default window width"
-msgstr "Standaard venster breedte"
+msgstr "Standaard vensterbreedte"
#: shell/apps_evolution_shell.schemas.in.in.h:6
msgid "ID or alias of the component to be shown by default at start-up."
@@ -15352,9 +15102,8 @@ msgstr ""
"ID of alias van het component dat bij het opstarten moet worden weergegeven."
#: shell/apps_evolution_shell.schemas.in.in.h:7
-#, fuzzy
msgid "Last upgraded configuration version"
-msgstr "Laatst bijgewerkte Evolution configuratieversie"
+msgstr "Laatst bijgewerkte configuratieversie"
#: shell/apps_evolution_shell.schemas.in.in.h:8
msgid ""
@@ -15364,89 +15113,75 @@ msgstr ""
"offline gebruik"
#: shell/apps_evolution_shell.schemas.in.in.h:9
-#, fuzzy
msgid "Printer settings"
-msgstr "Pilot instellingen..."
+msgstr "Printerinstellingen"
#: shell/apps_evolution_shell.schemas.in.in.h:10
-#, fuzzy
msgid "Skip development warning dialog"
-msgstr "Toon het waarschuwings dialoog voor de development versie"
+msgstr "Waarschuwingsdialoog voor instabiele versie overslaan"
-#: shell/apps_evolution_shell.schemas.in.in.h:11 shell/main.c:475
+#: shell/apps_evolution_shell.schemas.in.in.h:11 shell/main.c:476
msgid "Start in offline mode"
msgstr "Beginnen in offline stand"
#: shell/apps_evolution_shell.schemas.in.in.h:12
msgid ""
"The configuration version of Evolution, with major/minor/configuration level"
-msgstr ""
+msgstr "De configuratieversie van Evolution, met major/minor/configuratieniveau"
#: shell/apps_evolution_shell.schemas.in.in.h:13
-#, fuzzy
msgid "The default height for the main window, in pixels."
-msgstr "Standaard hoogte van het bericht venster"
+msgstr "De standaardhoogte van het hoofdvenster in pixels."
#: shell/apps_evolution_shell.schemas.in.in.h:14
-#, fuzzy
msgid "The default width for the main window, in pixels."
-msgstr "Standaard breedte van het bericht venster"
+msgstr "De standaardbreedte van het hoofdvenster in pixels."
#: shell/apps_evolution_shell.schemas.in.in.h:15
-#, fuzzy
msgid "The default width for the sidebar, in pixels."
-msgstr "Standaard breedte van de mappenbalk"
+msgstr "De standaardbreedte van de zijbalk in pixels."
#: shell/apps_evolution_shell.schemas.in.in.h:16
msgid ""
"The last upgraded configuration version of Evolution, with major/minor/"
"configuration level"
-msgstr ""
+msgstr "De laats bijgewerkte configuratieversie van Evolution, met major/minor/configuratieniveau"
#: shell/apps_evolution_shell.schemas.in.in.h:17
msgid ""
"The style of the window buttons. Can be \"text\", \"icons\", \"both\", "
"\"toolbar\". If \"toolbar\" is set, the style of the buutons is determined "
"by the GNOME toolbar setting."
-msgstr ""
+msgstr "De stijl van de vensterknoppen. Kan zijn \"text\", \"icons\", \"both\", \"toolbar\". Indien \"toolbar\" wordt gebruikt, wordt de stijl bepaald door de werkbalkinstelling van GNOME."
#: shell/apps_evolution_shell.schemas.in.in.h:18
msgid "Toolbar is visible"
msgstr "Werkbalk is zichtbaar"
#: shell/apps_evolution_shell.schemas.in.in.h:19
-#, fuzzy
msgid "Whether Evolution will start up in offline mode instead of online mode."
-msgstr ""
-"Als ingesteld op true zal Evolution opstarten in offline mode in plaatsvan "
-"online mode."
+msgstr "Of Evolution opstart in offline-modus in plaats van online-modus."
-# is/moet zijn
#: shell/apps_evolution_shell.schemas.in.in.h:20
msgid "Whether the toolbar should be visible."
msgstr "Of de werkbalk zichtbaar is."
#: shell/apps_evolution_shell.schemas.in.in.h:21
-#, fuzzy
msgid ""
"Whether the warning dialog in development versions of Evolution is skipped."
-msgstr ""
-"Als deze optie aan staat zal het waarschuwings dialoog voor de development "
-"versie van Evolution niet worden weergegeven."
+msgstr "Of het waarschuwingsdialoog voor de ontwikkelingsversies van Evolution wordt overgeslagen."
-# is/moet zijn
#: shell/apps_evolution_shell.schemas.in.in.h:22
-#, fuzzy
msgid "Whether the window buttons should be visible."
-msgstr "Of de werkbalk zichtbaar is."
+msgstr "Of de vensterknoppen zichtbaar zijn."
#: shell/apps_evolution_shell.schemas.in.in.h:23
msgid "Window button style"
-msgstr ""
+msgstr "Vensterknoppenstijl"
#: shell/apps_evolution_shell.schemas.in.in.h:24
msgid "Window buttons are visible"
-msgstr ""
+msgstr "Vensterknoppen zijn zichtbaar"
#: shell/e-active-connection-dialog.glade.h:1
msgid "<b>Active Connections</b>"
@@ -15644,27 +15379,27 @@ msgstr "Mapnaam mag geen \"#\" bevatten."
msgid "'.' and '..' are reserved folder names."
msgstr "'.' en '..' zijn gereserveerde mapnamen."
-#: shell/e-shell-window-commands.c:67
+#: shell/e-shell-window-commands.c:69
msgid "The GNOME Pilot tools do not appear to be installed on this system."
msgstr "Het gereedschap voor GNOME Pilot lijkt niet geïnstalleerd te zijn."
-#: shell/e-shell-window-commands.c:75
+#: shell/e-shell-window-commands.c:77
#, c-format
msgid "Error executing %s."
msgstr "Fout bij uitvoeren filter %s."
-#: shell/e-shell-window-commands.c:124
+#: shell/e-shell-window-commands.c:126
msgid "Bug buddy is not installed."
msgstr "Bug-buddy is niet geïnstalleerd."
-#: shell/e-shell-window-commands.c:132
+#: shell/e-shell-window-commands.c:134
msgid "Bug buddy could not be run."
msgstr "Bug-buddy kon niet worden gestart."
#. The translator-credits string is for translators to list
#. * per language credits for translation, displayed in the
#. * about box
-#: shell/e-shell-window-commands.c:426
+#: shell/e-shell-window-commands.c:501
msgid "translator-credits"
msgstr ""
"Arjan Scherpenisse\n"
@@ -15684,19 +15419,19 @@ msgstr ""
"in de vertaling:\n"
"http://nl.gnome.org"
-#: shell/e-shell-window-commands.c:440
+#: shell/e-shell-window-commands.c:515
msgid "Groupware Suite"
msgstr "Groupware suite"
-#: shell/e-shell-window-commands.c:681
+#: shell/e-shell-window-commands.c:742
msgid "_Work Online"
msgstr "Online _werken"
-#: shell/e-shell-window-commands.c:694 ui/evolution.xml.h:51
+#: shell/e-shell-window-commands.c:755 ui/evolution.xml.h:51
msgid "_Work Offline"
msgstr "Offline _werken"
-#: shell/e-shell-window-commands.c:707 ui/evolution.xml.h:34
+#: shell/e-shell-window-commands.c:768 ui/evolution.xml.h:34
msgid "Work Offline"
msgstr "Werken zonder netwerk"
@@ -15714,37 +15449,37 @@ msgstr "Evolution is bezig offline te gaan."
msgid "Evolution is currently offline. Click on this button to work online."
msgstr "Evolution is nu offline. Klik op deze knop om online te gaan werken."
-#: shell/e-shell-window.c:708
+#: shell/e-shell-window.c:713
#, c-format
msgid "Switch to %s"
msgstr "Omschakelen naar %s"
-#: shell/e-shell.c:597
+#: shell/e-shell.c:598
msgid "Uknown system error."
msgstr "Onbekende systeem fout."
-#: shell/e-shell.c:805 shell/e-shell.c:806
+#: shell/e-shell.c:800 shell/e-shell.c:801
#, c-format
msgid "%ld KB"
msgstr "%ld KB"
-#: shell/e-shell.c:1249 widgets/misc/e-cell-date-edit.c:256
+#: shell/e-shell.c:1254 widgets/misc/e-cell-date-edit.c:256
msgid "OK"
msgstr "OK"
-#: shell/e-shell.c:1251
+#: shell/e-shell.c:1256
msgid "Invalid arguments"
msgstr "Ongeldige argumenten"
-#: shell/e-shell.c:1253
+#: shell/e-shell.c:1258
msgid "Cannot register on OAF"
msgstr "Kan niet registreren op OAF"
-#: shell/e-shell.c:1255
+#: shell/e-shell.c:1260
msgid "Configuration Database not found"
msgstr "Configuratiedatabase niet gevonden"
-#: shell/e-shell.c:1257
+#: shell/e-shell.c:1262
msgid "Generic error"
msgstr "Generieke fout"
@@ -15768,30 +15503,26 @@ msgstr "Tijdzone "
msgid "Welcome"
msgstr "Welkom"
+# Forward wordt in gtk+ vertaald met Volgende
#: shell/evolution-startup-wizard.glade.h:6
-#, fuzzy
msgid ""
"Welcome to Evolution. The next few screens will allow Evolution to connect "
"to your email accounts, and to import files from other applications. \n"
"\n"
"Please click the \"Forward\" button to continue. "
msgstr ""
-"Welkom bij Evolution. De volgende schermen stellen\n"
-"Evolution in staat een verbinding te maken uw e-mailaccount,\n"
-"en om bestanden te importeren vanuit andere programma's\n"
+"Welkom bij Evolution. In de volgende schermen zal Evolution verbinding maken met uw e-mailaccount, en zal het gegevens importeren van andere programma's. \n"
"\n"
"Klik op \"Volgende\" om te beginnen."
#: shell/evolution-startup-wizard.glade.h:9
-#, fuzzy
msgid ""
"You have successfully entered all of the information needed to set up "
"Evolution. \n"
"\n"
"Click the \"Apply\" button to save your settings. "
msgstr ""
-"U heeft alle benodigde informatie ingevoerd om\n"
-"Evolution in te stellen.\n"
+"U heeft alle benodigde informatie ingevoerd om Evolution te kunnen instellen.\n"
"\n"
"Klik op \"Toepassen\" om uw instellingen op te slaan."
@@ -15868,7 +15599,7 @@ msgid "Evolution can import data from the following files:"
msgstr "Evolution kan gegevens importeren van de volgende bestanden:"
#. Preview/Alpha/Beta version warning message
-#: shell/main.c:237
+#: shell/main.c:238
#, no-c-format
msgid ""
"Hi. Thanks for taking the time to download this preview release\n"
@@ -15905,7 +15636,7 @@ msgstr ""
"ons\n"
"harde werk en wachten in spanning op uw bijdrage!\n"
-#: shell/main.c:261
+#: shell/main.c:262
msgid ""
"Thanks\n"
"The Evolution Team\n"
@@ -15913,42 +15644,41 @@ msgstr ""
"Bedankt!\n"
"Het Evolution team\n"
-#: shell/main.c:268
+#: shell/main.c:269
msgid "Don't tell me again"
msgstr "Dit bericht niet meer weergeven"
-#: shell/main.c:473
+#: shell/main.c:474
msgid "Start Evolution activating the specified component"
msgstr "Start Evolution met activatie van het gespecificeerde component"
-#: shell/main.c:477
+#: shell/main.c:478
msgid "Start in online mode"
msgstr "Beginnen in online modus"
-# geforceerd laten stoppen
-#: shell/main.c:480
-#, fuzzy
+# geforceerd laten stoppen/doen stoppen
+#: shell/main.c:481
msgid "Forcibly shut down all Evolution components"
-msgstr "Alle onderdelen van Evolution stoppen"
+msgstr "Alle componenten van Evolution geforceerd laten stoppen"
# Geforceerd migreren van Evolution 1.4
-#: shell/main.c:484
+#: shell/main.c:485
msgid "Forcibly re-migrate from Evolution 1.4"
msgstr "Geforceerd opnieuw migreren vanuit Evolution 1.4"
-#: shell/main.c:487
+#: shell/main.c:488
msgid "Send the debugging output of all components to a file."
msgstr "Verzend de debug-uitvoer van alle componenten naar een bestand."
-#: shell/main.c:490
+#: shell/main.c:491
msgid "Disable the mono plugin environment."
-msgstr ""
+msgstr "De mono plugin uitzetten."
-#: shell/main.c:493
+#: shell/main.c:494
msgid "Disable loading of any plugins."
-msgstr ""
+msgstr "Het laden van plugins uitzetten."
-#: shell/main.c:524
+#: shell/main.c:525
#, c-format
msgid ""
"%s: --online and --offline cannot be used together.\n"
@@ -16009,6 +15739,7 @@ msgstr "Doorgaan"
msgid "Delete old data from version {0}?"
msgstr "Oude data van versie {0} verwijderen?"
+# kunnen we niet gewoon de hele map 'evolution' verwijderen ipv de inhoud?
#. shell:upgrade-remove-1-4 secondary
#: shell/shell-errors.xml.h:21
msgid ""
@@ -16019,12 +15750,12 @@ msgid ""
"then you may manually remove the contents of \"evolution\" at your "
"convenience.\n"
msgstr ""
-"De vorige versie van Evolution bewaarde de gegevens op een andere locatie.\n"
+"De vorige versie van Evolution bewaarde de gegevens op een andere lokatie.\n"
"\n"
"Indien u besluit deze data te verwijderen zal de gehele inhoud van de map "
-"\"evolution\" permanent worden verwijderd. Indien u besluit deze data te "
-"behouden kunt u later handmatig, naar wens, de inhoud van de map \"evolution"
-"\" verwijderen.\n"
+"\"evolution\" definitief worden verwijderd. Indien u nu besluit deze data te "
+"behouden kunt u op een later tijdstip, wanneer het u uitkomt, handmatig de "
+"inhoud van de map \"evolution\" verwijderen.\n"
#: shell/shell-errors.xml.h:25
msgid "_Remind Me Later"
@@ -16053,15 +15784,15 @@ msgid ""
"Once deleted, you cannot downgrade to the previous version of Evolution "
"without manual intervention.\n"
msgstr ""
-"De gehele inhoud van de map \"evolution\" staat op het punt permanent te "
+"De gehele inhoud van de map \"evolution\" staat op het punt definitief te "
"worden verwijderd.\n"
"\n"
"U wordt aangeraden zelf te controleren dat al uw mail, contacten en "
"agendagegevens aanwezig zijn en dat deze versie van Evolution correct "
-"functioneert, voordat u deze oude gegevens verwijdert.\n"
+"functioneert, alvorens u deze oude gegevens verwijdert.\n"
"\n"
-"Eenmaal verwijderd, kunt u niet naar een vorige versie van Evolution "
-"teruggaan zonder handmatige inteventie.\n"
+"Eenmaal verwijderd, kunt u niet eenvoudig naar een vorige versie van "
+"Evolution teruggaan zonder handmatige interventie.\n"
#. shell:noshell title
#. shell:noshell-reason title
@@ -16133,30 +15864,30 @@ msgstr ""
"hier anders is aangegeven"
#: smime/gui/certificate-manager.c:134 smime/gui/certificate-manager.c:142
-#: smime/gui/certificate-manager.c:375 smime/gui/certificate-manager.c:383
-#: smime/gui/certificate-manager.c:595 smime/gui/certificate-manager.c:603
+#: smime/gui/certificate-manager.c:377 smime/gui/certificate-manager.c:385
+#: smime/gui/certificate-manager.c:597 smime/gui/certificate-manager.c:605
msgid "Select a cert to import..."
msgstr "Selecteer een cert om te importeren..."
-#: smime/gui/certificate-manager.c:263 smime/gui/certificate-manager.c:472
-#: smime/gui/certificate-manager.c:690
+#: smime/gui/certificate-manager.c:265 smime/gui/certificate-manager.c:474
+#: smime/gui/certificate-manager.c:692
msgid "Certificate Name"
msgstr "Naam certificaat"
-#: smime/gui/certificate-manager.c:272 smime/gui/certificate-manager.c:490
+#: smime/gui/certificate-manager.c:274 smime/gui/certificate-manager.c:492
msgid "Purposes"
msgstr "Doelen"
-#: smime/gui/certificate-manager.c:281 smime/gui/smime-ui.glade.h:36
+#: smime/gui/certificate-manager.c:283 smime/gui/smime-ui.glade.h:36
#: smime/lib/e-cert.c:569
msgid "Serial Number"
msgstr "Serienummer"
-#: smime/gui/certificate-manager.c:289
+#: smime/gui/certificate-manager.c:291
msgid "Expires"
msgstr "Verloopt"
-#: smime/gui/certificate-manager.c:481
+#: smime/gui/certificate-manager.c:483
msgid "E-Mail Address"
msgstr "E-mailadres"
@@ -16611,7 +16342,7 @@ msgstr "De weer te geven bestandsnaam in de e-mail."
#: tools/evolution-launch-composer.c:327
msgid "Description of the attachment."
-msgstr "Beschrijving van de bijlage."
+msgstr "Omschrijving van de bijlage."
#: tools/evolution-launch-composer.c:328
msgid "Mark attachment to be shown inline by default."
@@ -16912,9 +16643,8 @@ msgid "Create or edit rules for filtering new mail"
msgstr "Regels maken of bewerken om nieuwe berichten te filteren"
#: ui/evolution-mail-global.xml.h:5
-#, fuzzy
msgid "Create or edit vFolder definitions"
-msgstr "Definities maken of bewerken van virtuele mappen"
+msgstr "vMap-definiets aanmaken of bewerken"
#: ui/evolution-mail-global.xml.h:6
msgid "Empty _Trash"
@@ -16926,7 +16656,7 @@ msgstr "Venster openen om een e-mail op te stellen"
#: ui/evolution-mail-global.xml.h:8
msgid "Permanently remove all deleted messages from all folders"
-msgstr "Alle verwijderde berichten permanent uit alle mappen verwijderen"
+msgstr "Alle verwijderde berichten definitief uit alle mappen verwijderen"
#: ui/evolution-mail-global.xml.h:9
msgid "Post Ne_w Message"
@@ -16940,22 +16670,22 @@ msgstr "Bericht sturen naar openbare map"
msgid "S_ubscribe to Folders..."
msgstr "_Abonneren op mappen..."
+# beter dan berichtvoorbeeldvenster
#: ui/evolution-mail-global.xml.h:12
msgid "Show message preview window"
-msgstr "Berichten voorbeeldvenster tonen"
+msgstr "Berichtinhoud tonen"
#: ui/evolution-mail-global.xml.h:13
msgid "Subscribe or unsubscribe to folders on remote servers"
-msgstr "Abboneer of zegt abbo op op de mappen op de server"
+msgstr "Abboneren of abbonnement opzeggen voor mappen op externe servers"
#: ui/evolution-mail-global.xml.h:15
msgid "_Filters..."
msgstr "_Filters..."
#: ui/evolution-mail-global.xml.h:18
-#, fuzzy
msgid "vFolder _Editor..."
-msgstr "_Virtuele map bewerken..."
+msgstr "vMap _editor..."
#: ui/evolution-mail-list.xml.h:1
msgid "Change the properties of this folder"
@@ -16971,7 +16701,7 @@ msgstr "Geselecteerde bericht(en) naar klembord knippen"
#: ui/evolution-mail-list.xml.h:4
msgid "E_xpunge"
-msgstr "Ops_chonen"
+msgstr "Op_ruimen"
#: ui/evolution-mail-list.xml.h:5
msgid "Hide S_elected Messages"
@@ -17006,7 +16736,7 @@ msgstr "Bericht(en) vanaf het klembord plakken"
#: ui/evolution-mail-list.xml.h:12
msgid "Permanently remove all deleted messages from this folder"
-msgstr "Alle verwijderde berichen permanent uit deze map verwijderen"
+msgstr "Alle verwijderde berichen definitief uit deze map verwijderen"
#: ui/evolution-mail-list.xml.h:14
msgid "Select _Thread"
@@ -17094,9 +16824,8 @@ msgid "Copy selected messages to another folder"
msgstr "Kopieer het bericht naar een andere map"
#: ui/evolution-mail-message.xml.h:12
-#, fuzzy
msgid "Create _vFolder From Message"
-msgstr "_Filter maken van bericht"
+msgstr "_vMap aanmaken van bericht"
#: ui/evolution-mail-message.xml.h:13
msgid "Create a rule to filter messages from this sender"
@@ -17115,24 +16844,20 @@ msgid "Create a rule to filter messages with this subject"
msgstr "Maak een regel om de berichten met dit onderwerp te filteren"
#: ui/evolution-mail-message.xml.h:17
-#, fuzzy
msgid "Create a vFolder for these recipients"
-msgstr "Maak een Virtueele map voor deze ontvangers"
+msgstr "Een vMap aanmaken voor deze geadresseerden"
#: ui/evolution-mail-message.xml.h:18
-#, fuzzy
msgid "Create a vFolder for this mailing list"
-msgstr "Maak een virtuele map voor deze e-maillijst"
+msgstr "Een vMap aanmaken voor deze mailinglijst"
#: ui/evolution-mail-message.xml.h:19
-#, fuzzy
msgid "Create a vFolder for this sender"
-msgstr "Maak een virtuele map voor deze afzender"
+msgstr "Een vMap aanmaken voor deze afzender"
#: ui/evolution-mail-message.xml.h:20
-#, fuzzy
msgid "Create a vFolder for this subject"
-msgstr "Maak een virtuele map voor dit onderwerp"
+msgstr "Een vMap aanmaken voor dit onderwerp"
#: ui/evolution-mail-message.xml.h:23
msgid "Decrease the text size"
@@ -17452,24 +17177,20 @@ msgid "_Undelete"
msgstr "_Herstellen"
#: ui/evolution-mail-message.xml.h:127
-#, fuzzy
msgid "vFolder on Mailing _List..."
-msgstr "VMap op mailing_lijst..."
+msgstr "vMap op mailing_lijst..."
#: ui/evolution-mail-message.xml.h:128
-#, fuzzy
msgid "vFolder on Se_nder..."
-msgstr "VMap op _afzender..."
+msgstr "vMap op _afzender..."
#: ui/evolution-mail-message.xml.h:129
-#, fuzzy
msgid "vFolder on _Recipients..."
-msgstr "VMap op _geadresseerden..."
+msgstr "vMap op _geadresseerden..."
#: ui/evolution-mail-message.xml.h:130
-#, fuzzy
msgid "vFolder on _Subject..."
-msgstr "VMap op _onderwerp..."
+msgstr "vMap op _onderwerp..."
#: ui/evolution-mail-messagedisplay.xml.h:1
#: ui/evolution-message-composer.xml.h:3 ui/evolution-signature-editor.xml.h:2
@@ -17792,19 +17513,19 @@ msgstr "Een nieuw venster voor deze map openen"
#: ui/evolution.xml.h:7
msgid "Display window buttons using the desktop toolbar setting"
-msgstr ""
+msgstr "Vensterknoppen weergeven volgens de desktop-instelling voor werkbalken"
#: ui/evolution.xml.h:8
msgid "Display window buttons with icons and text"
-msgstr ""
+msgstr "Vensterknoppen weergeven met pictogrammen en tekst"
#: ui/evolution.xml.h:9
msgid "Display window buttons with icons only"
-msgstr ""
+msgstr "Vensterknoppen weergeven met alleen pictogrammen"
#: ui/evolution.xml.h:10
msgid "Display window buttons with text only"
-msgstr ""
+msgstr "Vensterknoppen weergeven met alleen tekst"
#: ui/evolution.xml.h:11
msgid "E_xit"
@@ -17828,11 +17549,11 @@ msgstr "De onthouden wachtwoorden vergeten zodat ze opnieuw gevraagd worden"
#: ui/evolution.xml.h:16
msgid "Hide window buttons"
-msgstr ""
+msgstr "Vensterknoppen verbergen"
#: ui/evolution.xml.h:17
msgid "Icons _and text"
-msgstr ""
+msgstr "Pictogrammen _en tekst"
#: ui/evolution.xml.h:18
msgid "Import data from other programs"
@@ -17840,17 +17561,19 @@ msgstr "Importeer gegevens van andere programma's"
#: ui/evolution.xml.h:20
msgid "New _Window"
-msgstr "Nieuw _Venster"
+msgstr "Nieuw _venster"
#: ui/evolution.xml.h:21
msgid "Pi_lot Settings..."
-msgstr "Pil_ot instellingen..."
+msgstr "Pil_ot-instellingen..."
#: ui/evolution.xml.h:22
-#, fuzzy
msgid "Prefere_nces"
-msgstr "E-mailvoorkeuren"
+msgstr "_Voorkeuren"
+# post uit / in
+# postbezorging
+# post bezorgen
#: ui/evolution.xml.h:23
msgid "Send / Receive"
msgstr "Versturen & ontvangen"
@@ -17884,22 +17607,20 @@ msgid "Toggle whether we are working offline."
msgstr "Offline werken aan- of uitschakelen."
#: ui/evolution.xml.h:31
-#, fuzzy
msgid "Tool_bar"
-msgstr "Gereedschapsbalk"
+msgstr "Werk_balk"
#: ui/evolution.xml.h:32
-#, fuzzy
msgid "Tool_bar style"
-msgstr "Werkbalk is zichtbaar"
+msgstr "Werk_balkstijl"
#: ui/evolution.xml.h:33
msgid "Window B_uttons"
-msgstr ""
+msgstr "_Vensterknoppen"
#: ui/evolution.xml.h:35
msgid "_About Evolution..."
-msgstr "Over Ximi_an Evolution"
+msgstr "_Over Evolution..."
#: ui/evolution.xml.h:40
msgid "_Help"
@@ -17907,11 +17628,11 @@ msgstr "_Hulp"
#: ui/evolution.xml.h:41
msgid "_Hide buttons"
-msgstr ""
+msgstr "_Knoppen verbergen"
#: ui/evolution.xml.h:42
msgid "_Icons only"
-msgstr ""
+msgstr "Alleen _pictogrammen"
#: ui/evolution.xml.h:43
msgid "_Import..."
@@ -17930,9 +17651,8 @@ msgid "_Send / Receive"
msgstr "_Versturen & ontvangen"
#: ui/evolution.xml.h:47
-#, fuzzy
msgid "_Text only"
-msgstr "Tekst model"
+msgstr "Alleen _tekst"
#: ui/evolution.xml.h:50
msgid "_Window"
@@ -18005,7 +17725,7 @@ msgstr "Met Status"
#: widgets/e-timezone-dialog/e-timezone-dialog.c:195
#: widgets/e-timezone-dialog/e-timezone-dialog.c:637
msgid "UTC"
-msgstr "GMT"
+msgstr "UTC"
#: widgets/e-timezone-dialog/e-timezone-dialog.glade.h:2
msgid "<b>Time Zones</b>"
@@ -18020,9 +17740,8 @@ msgid "Select a Time Zone"
msgstr "Selecteer een tijdzone"
#: widgets/e-timezone-dialog/e-timezone-dialog.glade.h:6
-#, fuzzy
msgid "TimeZone Combobox"
-msgstr "Tijdzone "
+msgstr "Tijdzone combinatieveld"
#: widgets/e-timezone-dialog/e-timezone-dialog.glade.h:7
msgid ""
@@ -18054,14 +17773,13 @@ msgid "%B %Y"
msgstr "%B %Y"
#: widgets/misc/e-calendar.c:177 widgets/misc/e-calendar.c:201
-#, fuzzy
msgid "Previous Button"
-msgstr "Vorige"
+msgstr "Vorige knop"
+# hier kalender ipv agenda?
#: widgets/misc/e-calendar.c:226
-#, fuzzy
msgid "Month Calendar"
-msgstr "Agenda wordt geladen"
+msgstr "Maandkalender"
#: widgets/misc/e-cell-date-edit.c:232 widgets/misc/e-dateedit.c:444
msgid "Now"
@@ -18164,34 +17882,33 @@ msgid "..."
msgstr "..."
#: widgets/misc/e-dateedit.c:313
-#, fuzzy
msgid "Date and Time Entry"
-msgstr "<b>Datum en tijd</b>"
+msgstr "Datum en tijd"
#: widgets/misc/e-dateedit.c:332
msgid "Text entry to input date"
-msgstr ""
+msgstr "Tekstveld voor invoeren datum"
#: widgets/misc/e-dateedit.c:333
msgid "Text Date Entry"
-msgstr ""
+msgstr "Tekst datuminvoer"
+# kalender, geen agenda
#: widgets/misc/e-dateedit.c:350
msgid "Click this button to show a calendar"
-msgstr ""
+msgstr "Klik op deze knop om een kalender te tonen"
#: widgets/misc/e-dateedit.c:351
-#, fuzzy
msgid "Date Button"
-msgstr "Verzendingsdatum"
+msgstr "Datumknop"
#: widgets/misc/e-dateedit.c:371
msgid "Combo box to select time"
-msgstr ""
+msgstr "Combinatieveld om de tijd te selecteren"
#: widgets/misc/e-dateedit.c:372
msgid "Time Combo Box"
-msgstr ""
+msgstr "Tijd combiveld"
#: widgets/misc/e-error.c:84 widgets/misc/e-error.c:85
#: widgets/misc/e-error.c:127
@@ -18307,13 +18024,13 @@ msgstr "Kies een afbeelding"
#: widgets/misc/e-map.c:647
msgid "World Map"
-msgstr ""
+msgstr "Wereldkaart"
#: widgets/misc/e-map.c:649
msgid ""
"Mouse-based interactive map widget for selecting timezone. Keyboard users "
"should select the timezone from the below combo box instead."
-msgstr ""
+msgstr "Interactieve kaart voor het met de muis selecteren van de tijdzone. Toetsenbordgebruikers moeten de tijdzone kiezen met het combinatieveld hieronder."
#: widgets/misc/e-pilot-settings.c:103
msgid "Sync with:"
@@ -18332,9 +18049,8 @@ msgstr "Sync categorieën:"
#. To translators: This is the accessibility name of
#. the search bar's text entry widget
#: widgets/misc/e-search-bar.c:343
-#, fuzzy
msgid "Search Text Entry"
-msgstr "Zoekopdracht-editor"
+msgstr "Zoektekst-invoer"
#: widgets/misc/e-search-bar.c:547
msgid "_Search"
@@ -18349,9 +18065,8 @@ msgid "_Clear"
msgstr "_Wissen"
#: widgets/misc/e-search-bar.c:645
-#, fuzzy
msgid "Search Type"
-msgstr "_Zoek gebied:"
+msgstr "Zoektype"
#: widgets/misc/e-search-bar.c:849
msgid "Item ID"
@@ -18370,86 +18085,81 @@ msgid "Find _Now"
msgstr "_Nu zoeken"
#: widgets/misc/e-send-options.c:505
-#, fuzzy
msgid "When de_leted:"
-msgstr "%d verwijderd"
+msgstr "Wanneer _verwijderd"
#: widgets/misc/e-send-options.glade.h:1
-#, fuzzy
msgid "<b>Delivery Options</b>"
-msgstr "<b>Opties</b>"
+msgstr "<b>Bezorgingsopties</b>"
#: widgets/misc/e-send-options.glade.h:2
-#, fuzzy
msgid "<b>Replies</b>"
-msgstr "<b>Herhaling</b>"
+msgstr "<b>Antwoorden</b>"
+# Berzorgingsmelding
#: widgets/misc/e-send-options.glade.h:3
-#, fuzzy
msgid "<b>Return Notification</b>"
-msgstr "<b>Aanmeldingscontrole</b>"
+msgstr "<b>Leesbevestiging</b>"
#: widgets/misc/e-send-options.glade.h:4
-#, fuzzy
msgid "<b>Status Tracking</b>"
-msgstr "<b>Zoeken</b>"
+msgstr "<b>Status volgen</b>"
#: widgets/misc/e-send-options.glade.h:5
-#, fuzzy
msgid "A_uto-delete sent item"
-msgstr "Dit item verwijderen"
+msgstr "Verzonden item a_utomatisch verwijderen"
#: widgets/misc/e-send-options.glade.h:6
-#, fuzzy
msgid "C_lassification"
-msgstr "Classi_ficatie:"
+msgstr "Classi_ficatie"
#: widgets/misc/e-send-options.glade.h:7
-#, fuzzy
msgid "Creat_e a sent item to track information"
-msgstr "Verkrijg de meeste recente taakinformatie"
+msgstr "_Een 'verzonden' item aanmaken om status te volgen"
-# ouders/referenties
#: widgets/misc/e-send-options.glade.h:8
-#, fuzzy
msgid "Deli_vered and opened"
-msgstr "Antwoorden en referenties"
+msgstr "Be_zorgd en gelezen"
#: widgets/misc/e-send-options.glade.h:9
-#, fuzzy
msgid "Gene_ral Options"
-msgstr "Algemeen"
+msgstr "_Algemene opties"
+# Niets/Geen
#: widgets/misc/e-send-options.glade.h:10
-#, fuzzy
msgid ""
"None\n"
"Mail Receipt"
-msgstr "Leesbevestigingen"
+msgstr ""
+"Geen\n"
+"Leesbevestiging"
#: widgets/misc/e-send-options.glade.h:12
-#, fuzzy
msgid ""
"None\n"
"Mail Receipt\n"
-msgstr "Leesbevestigingen"
+msgstr ""
+"Geen\n"
+"Leesbevestiging\n"
#: widgets/misc/e-send-options.glade.h:15
-#, fuzzy
msgid ""
"Public\n"
"Private\n"
"Confidential\n"
-msgstr "Vertrouwelijk"
+msgstr ""
+"Openbaar\n"
+"Privé\n"
+"Vertrouwelijk\n"
#: widgets/misc/e-send-options.glade.h:19
-#, fuzzy
msgid "R_eply requested"
-msgstr "_Antwoordstijl:"
+msgstr "_Antwoord verwacht"
+# engels: dubbele spatie: Sta_tus Tracking
#: widgets/misc/e-send-options.glade.h:21
msgid "Sta_tus Tracking"
-msgstr ""
+msgstr "_Status volgen"
#: widgets/misc/e-send-options.glade.h:22
msgid ""
@@ -18458,61 +18168,58 @@ msgid ""
"Standard\n"
"Low"
msgstr ""
+"Niet gedefinieerd\n"
+"Hoog\n"
+"Standaard\n"
+"Laag"
#: widgets/misc/e-send-options.glade.h:26
-#, fuzzy
msgid "W_ithin"
-msgstr "Breedte"
+msgstr "_Binnen"
#: widgets/misc/e-send-options.glade.h:27
msgid "When acce_pted: "
-msgstr ""
+msgstr "Bij _accepteren:"
#: widgets/misc/e-send-options.glade.h:28
-#, fuzzy
msgid "When co_mpleted:"
-msgstr "Voltooiings _datum:"
+msgstr "Bij _voltooien:"
#: widgets/misc/e-send-options.glade.h:29
msgid "When decli_ned: "
-msgstr ""
+msgstr "Bij a_fwijzing:"
#: widgets/misc/e-send-options.glade.h:30
-#, fuzzy
msgid "_After:"
-msgstr "na"
+msgstr "_Na:"
#: widgets/misc/e-send-options.glade.h:31
-#, fuzzy
msgid "_All information"
-msgstr "Taak informatie"
+msgstr "A_lle informatie"
#: widgets/misc/e-send-options.glade.h:32
-#, fuzzy
msgid "_Delay message delivery"
-msgstr "Laat de berichten op de server achter"
+msgstr "Bezorging ver_tragen"
#: widgets/misc/e-send-options.glade.h:33
-#, fuzzy
msgid "_Delivered"
-msgstr "_Verwijderen"
+msgstr "_Bezorgd"
#: widgets/misc/e-send-options.glade.h:35
msgid "_Set expiration date"
-msgstr ""
+msgstr "Verloo_pdatum instellen"
#: widgets/misc/e-send-options.glade.h:36
-#, fuzzy
msgid "_Until:"
-msgstr "Naamloos"
+msgstr "_Tot:"
#: widgets/misc/e-send-options.glade.h:37
msgid "_When convenient"
-msgstr ""
+msgstr "_Wanneer het uitkomt"
#: widgets/misc/e-send-options.glade.h:38
msgid "_When opened: "
-msgstr ""
+msgstr "Bij _openen:"
#. system:ask-save-file-exists-overwrite primary
#: widgets/misc/e-system-errors.xml.h:4
@@ -18545,9 +18252,14 @@ msgid "%s (%d%% complete)"
msgstr "%s (%d%% voltooid)"
#: widgets/misc/e-url-entry.c:107
-#, fuzzy
msgid "click here to go to url"
-msgstr "<klik hier om een map te selecteren>"
+msgstr "hier klikken om naar url te gaan"
+
+#~ msgid "_Remember this password"
+#~ msgstr "_Onthoud dit wachtwoord"
+
+#~ msgid "_Remember this password for the remainder of this session"
+#~ msgstr "Dit wachtwoord onthouden tot het einde van deze sessie"
#~ msgid "have "
#~ msgstr "heeft "
diff --git a/po/pa.po b/po/pa.po
index 9e0e0be827..d868cf3b28 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -1,3 +1,4 @@
+# translation of evolution.gnome-2-10.po to Punjabi
# translation of pa2.po to Punjabi
# translation of evolution.po to Punjabi
# translation of evolution.HEAD.pa.po to Punjabi
@@ -10,10 +11,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: pa2\n"
+"Project-Id-Version: evolution.gnome-2-10\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-02-26 14:09+0100\n"
-"PO-Revision-Date: 2005-02-27 02:24+0530\n"
+"POT-Creation-Date: 2005-03-08 21:27+0100\n"
+"PO-Revision-Date: 2005-03-09 07:06+0530\n"
"Last-Translator: Amanpreet Singh Alam <amanpreetalam@yahoo.com>\n"
"Language-Team: Punjabi <fedora-trans-pa@redhat.com>\n"
"MIME-Version: 1.0\n"
@@ -49,7 +50,7 @@ msgstr[0] "ਮੌਜੂਦਾ ਸਿਰਨਾਵਾਂ ਕਿਤਾਬ ਫੋਲ
msgstr[1] "ਮੌਜੂਦਾ ਸਿਰਨਾਵਾਂ ਕਿਤਾਬ ਫੋਲਡਰ ਵਿੱਚ %d ਕਾਰਡ"
#: a11y/addressbook/ea-minicard.c:31
-#: calendar/gui/alarm-notify/alarm-queue.c:863
+#: calendar/gui/alarm-notify/alarm-queue.c:878
#: ui/evolution-message-composer.xml.h:10
msgid "Open"
msgstr "ਖੋਲà©à¨¹à©‹"
@@ -263,9 +264,7 @@ msgstr "ਸਿਰਨਾਵਾਂ ਕਿਤਾਬ ਨੂੰ ਖੋਲਿਆ ਨà¨
msgid ""
"This addressbook server might be unreachable or the server name may be "
"misspelled or your network connection could be down."
-msgstr ""
-"ਸਿਰਨਾਵਾਂ ਕਿਤਾਬ ਸਰਵਰ ਉਪਲੱਬਧ ਨਹੀਂ ਹੈ ਜਾਂ ਸਰਵਰ ਨਾਂ ਗਲਤ ਹੈ ਜਾਂ ਤà©à¨¹à¨¾à¨¡à¨¾ ਨੈੱਟਵਰਕ "
-"ਬੰਦ ਹੋ ਰਿਹਾ ਹੈ।"
+msgstr "ਸਿਰਨਾਵਾਂ ਕਿਤਾਬ ਸਰਵਰ ਉਪਲੱਬਧ ਨਹੀਂ ਹੈ ਜਾਂ ਸਰਵਰ ਨਾਂ ਗਲਤ ਹੈ ਜਾਂ ਤà©à¨¹à¨¾à¨¡à¨¾ ਨੈੱਟਵਰਕ ਬੰਦ ਹੋ ਰਿਹਾ ਹੈ।"
#. addressbook:ldap-auth primary
#: addressbook/addressbook-errors.xml.h:6
@@ -279,9 +278,8 @@ msgid ""
"a supported login method. Remember that many passwords are case sensitive; "
"your caps lock might be on."
msgstr ""
-"ਜਾਂਚ ਕਰੋ ਤà©à¨¹à¨¾à¨¡à¨¾ ਗà©à¨ªà¨¤-ਕੋਡ ਠੀਕ ਤਰਾਂ ਲਿਖਿਆ ਗਿਆ ਹੈ ਅਤੇ ਤà©à¨¸à©€à¨‚ ਲਾਗਆਨ ਲਈ ਸਹਾਇਕ ਢੰਗ "
-"ਚà©à¨£à¨¿à¨† ਹੈ, ਯਾਦ ਰੱਖੋ ਕਿ ਅਕਸਰ ਗà©à¨ªà¨¤-ਕੋਡ ਅੱਖਰ ਆਕਾਰ ਤੇ ਅਧਾਰਿਤ ਹà©à©°à¨¦à©‡ ਹਨ;ਤà©à¨¹à¨¾à¨¡à¨¾ ਕੈਪਸ ਲਾਕ "
-"ਚਾਲੂ ਹੋ ਸਕਦਾ ਹੈ।"
+"ਜਾਂਚ ਕਰੋ ਤà©à¨¹à¨¾à¨¡à¨¾ ਗà©à¨ªà¨¤-ਕੋਡ ਠੀਕ ਤਰਾਂ ਲਿਖਿਆ ਗਿਆ ਹੈ ਅਤੇ ਤà©à¨¸à©€à¨‚ ਲਾਗਆਨ ਲਈ ਸਹਾਇਕ ਢੰਗ ਚà©à¨£à¨¿à¨† ਹੈ, ਯਾਦ "
+"ਰੱਖੋ ਕਿ ਅਕਸਰ ਗà©à¨ªà¨¤-ਕੋਡ ਅੱਖਰ ਆਕਾਰ ਤੇ ਅਧਾਰਿਤ ਹà©à©°à¨¦à©‡ ਹਨ;ਤà©à¨¹à¨¾à¨¡à¨¾ ਕੈਪਸ ਲਾਕ ਚਾਲੂ ਹੋ ਸਕਦਾ ਹੈ।"
#. addressbook:ldap-search-base primary
#: addressbook/addressbook-errors.xml.h:10
@@ -451,8 +449,8 @@ msgid ""
"A contact already exists with this address. Would you like to add a new "
"card with the same address anyway?"
msgstr ""
-"ਸੰਪਰਕ ਦਾ ਤਬਦੀਲ ਨਾਂ ਜਾਂ ਈ-ਪੱਤਰ ਮੌਜੂਦਾ ਫੋਲਡਰ ਵਿੱਚ ਪਹਿਲਾਂ ਹੀ ਸ਼ਾਮਿਲ ਹੈ। ਕੀ ਤà©à¨¸à©€à¨‚ "
-"ਇਸ ਨੂੰ ਕਿਸੇ ਵੀ ਤਰਾਂ ਸ਼ਾਮਿਲ ਕਰਨਾ ਚਾਹà©à©°à¨¦à©‡ ਹੋ?"
+"ਸੰਪਰਕ ਦਾ ਤਬਦੀਲ ਨਾਂ ਜਾਂ ਈ-ਪੱਤਰ ਮੌਜੂਦਾ ਫੋਲਡਰ ਵਿੱਚ ਪਹਿਲਾਂ ਹੀ ਸ਼ਾਮਿਲ ਹੈ। ਕੀ ਤà©à¨¸à©€à¨‚ ਇਸ ਨੂੰ ਕਿਸੇ ਵੀ "
+"ਤਰਾਂ ਸ਼ਾਮਿਲ ਕਰਨਾ ਚਾਹà©à©°à¨¦à©‡ ਹੋ?"
#: addressbook/addressbook-errors.xml.h:62 mail/em-vfolder-rule.c:494
#: plugins/shared-folder/properties.glade.h:10
@@ -776,8 +774,8 @@ msgid ""
"Position of the vertical pane, between the card and list views and the "
"preview pane, in pixels."
msgstr ""
-"ਲੰਬਕਾਰੀ ਬਾਹੀ ਦੀ ਸਥਿਤੀ, ਜੋ ਕਿ ਕਾਰਡ ਅਤੇ ਸੂਚੀ ਦਰਿਸ਼ ਅਤੇ ਦਿੱਖ ਬਾਹੀ ਵਿੱਚ "
-"ਵਿੱਚ ਹੈ, (ਪਿਕਸਲ ਵਿੱਚ)।"
+"ਲੰਬਕਾਰੀ ਬਾਹੀ ਦੀ ਸਥਿਤੀ, ਜੋ ਕਿ ਕਾਰਡ ਅਤੇ ਸੂਚੀ ਦਰਿਸ਼ ਅਤੇ ਦਿੱਖ ਬਾਹੀ ਵਿੱਚ ਵਿੱਚ ਹੈ, (ਪਿਕਸਲ "
+"ਵਿੱਚ)।"
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:5
msgid "Show preview pane"
@@ -876,7 +874,7 @@ msgid "Add Address Book"
msgstr "ਸਿਰਨਾਵਾਂ ਕਿਤਾਬ ਸ਼ਾਮਿਲ"
#: addressbook/gui/component/ldap-config.glade.h:15
-#: mail/em-account-editor.c:301
+#: mail/em-account-editor.c:302
msgid "Always"
msgstr "ਹਮੇਸ਼ਾ"
@@ -909,7 +907,7 @@ msgid "Lo_gin:"
msgstr "ਲਾਗਆਨ(_g):"
#: addressbook/gui/component/ldap-config.glade.h:25
-#: mail/em-account-editor.c:299
+#: mail/em-account-editor.c:300
msgid "Never"
msgstr "ਕਦੇ ਨਹੀਂ"
@@ -1026,7 +1024,7 @@ msgid "Using email address"
msgstr "ਈ-ਪੱਤਰ ਸਿਰਨਾਵੇ ਦੀ ਵਰਤੋ ਕਰਕੇ"
#: addressbook/gui/component/ldap-config.glade.h:42
-#: mail/em-account-editor.c:300
+#: mail/em-account-editor.c:301
msgid "Whenever Possible"
msgstr "ਜਦੋ ਵੀ ਸੰਭਵ ਹੋਵੇ"
@@ -1080,7 +1078,7 @@ msgstr "ਕਾਰਡ"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:12
#: calendar/gui/dialogs/alarm-dialog.glade.h:26
#: calendar/gui/dialogs/calendar-setup.glade.h:14 filter/filter.glade.h:16
-#: mail/em-account-editor.c:1884 plugins/calendar-http/calendar-http.c:263
+#: mail/em-account-editor.c:1885 plugins/calendar-http/calendar-http.c:263
#: plugins/calendar-weather/calendar-weather.c:564
msgid "minutes"
msgstr "ਮਿੰਟ"
@@ -3189,8 +3187,8 @@ msgid ""
"load the addressbook once in online mode to download its contents"
msgstr ""
"ਅਸੀਂ ਇਹ ਸਿਰਨਾਵਾਂ ਕਿਤਾਬ ਖੋਲਣ ਤੋਂ ਅਸਮਰੱਥ ਰਹੇ ਹਾਂ। ਇਸ ਦਾ ਕਾਰਨ ਹੋ ਸਕਦਾ ਹੈ ਕਿ ਇਹ ਕਿਤਾਬ "
-"ਆਫਲਾਇਨ ਵਰਤੋਂ ਲਈ ਤਿਆਰ ਨਾ ਕੀਤੀ ਗਈ ਹੋਵੇ ਜਾਂ ਹਾਲੇ ਡਾਊਨਲੋਡ ਨਾ ਹੋਈ ਹੋਵੇ। ਕਿਰਪਾ ਕਰਕੇ "
-"ਆਨਲਾਇਨ ਢੰਗ ਨਾਲ ਚਾਲੂ ਹੋਣ ਉਪਰੰਤ ਸਿਰਨਾਵਾਂ ਕਿਤਾਬ ਡਾਊਨਲੋਡ ਕਰੋ ਤਾਂ ਇਸ ਨੂੰ ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਸਕੇ"
+"ਆਫਲਾਇਨ ਵਰਤੋਂ ਲਈ ਤਿਆਰ ਨਾ ਕੀਤੀ ਗਈ ਹੋਵੇ ਜਾਂ ਹਾਲੇ ਡਾਊਨਲੋਡ ਨਾ ਹੋਈ ਹੋਵੇ। ਕਿਰਪਾ ਕਰਕੇ ਆਨਲਾਇਨ ਢੰਗ "
+"ਨਾਲ ਚਾਲੂ ਹੋਣ ਉਪਰੰਤ ਸਿਰਨਾਵਾਂ ਕਿਤਾਬ ਡਾਊਨਲੋਡ ਕਰੋ ਤਾਂ ਇਸ ਨੂੰ ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਸਕੇ"
#: addressbook/gui/widgets/eab-gui-util.c:98
msgid ""
@@ -4006,8 +4004,8 @@ msgid ""
"Adding a meaningful Summary to your appointment will give your recipients an "
"idea of what your appointment is about."
msgstr ""
-"ਆਪਣੇ ਮà©à¨²à¨•à¨¾à¨¤ ਦੇ ਸੰਖੇਪ ਵਿੱਚ ਕà©à¨ ਅਰਥ ਪੂਰਨ ਜਾਣਕਾਰੀ ਲਿਖਣ ਨਾਲ ਪੱਤਰ ਪà©à¨°à¨¾à¨ªà¨¤ ਕਰਨ ਵਾਲੇ ਤà©à¨¹à¨¾à¨¡à©‡ ਪੱਤਰ ਬਾਰੇ "
-"ਆਸਾਨੀ ਨਾਲ ਸਮਠਜਾਦੇ ਹਨ।"
+"ਆਪਣੇ ਮà©à¨²à¨•à¨¾à¨¤ ਦੇ ਸੰਖੇਪ ਵਿੱਚ ਕà©à¨ ਅਰਥ ਪੂਰਨ ਜਾਣਕਾਰੀ ਲਿਖਣ ਨਾਲ ਪੱਤਰ ਪà©à¨°à¨¾à¨ªà¨¤ ਕਰਨ ਵਾਲੇ ਤà©à¨¹à¨¾à¨¡à©‡ ਪੱਤਰ "
+"ਬਾਰੇ ਆਸਾਨੀ ਨਾਲ ਸਮਠਜਾਦੇ ਹਨ।"
#: calendar/calendar-errors.xml.h:127 calendar/calendar-errors.xml.h:132
#: mail/mail-errors.xml.h:15 mail/mail-errors.xml.h:20
@@ -4052,7 +4050,7 @@ msgstr "ਕੰਮ ਸੂਚੀ ਆਫਲਾਇਨ ਵਰਤੋਂ ਲਈ ਨਿà
#. calendar:server-version secondary
#: calendar/calendar-errors.xml.h:146
-msgid " Some features may not work correctly with your current server version"
+msgid " Some features may not work correctly with your current server version "
msgstr " ਤà©à¨¹à¨¾à¨¡à©‡ ਮੌਜੂਦਾ ਸਰਵਰ ਵਰਜਨ ਨਾਲ ਕà©à¨ ਗà©à¨£ ਠੀਕ ਤਰਾਂ ਕੰਮ ਨਹੀਂ ਕਰ ਸਕਦੇ ਹਨ"
#: calendar/common/authentication.c:49 calendar/gui/e-pub-utils.c:301
@@ -4213,28 +4211,28 @@ msgstr "ਟਿਕਾਣਾ"
msgid "start-time"
msgstr "ਸ਼à©à¨°à©‚ ਸਮਾਂ"
-#: calendar/gui/alarm-notify/alarm-queue.c:864
+#: calendar/gui/alarm-notify/alarm-queue.c:879
msgid "Dismiss"
msgstr "ਰੱਦ ਕਰੋ"
-#: calendar/gui/alarm-notify/alarm-queue.c:865
+#: calendar/gui/alarm-notify/alarm-queue.c:880
msgid "Dismiss All"
msgstr "ਸਭ ਰੱਦ"
-#: calendar/gui/alarm-notify/alarm-queue.c:947
+#: calendar/gui/alarm-notify/alarm-queue.c:962
msgid "No summary available."
msgstr "ਕੋਈ ਸੰਖੇਪ ਜਾਣਕਾਰੀ ਉਪਲੱਬਧ ਨਹੀ ਹੈ।"
-#: calendar/gui/alarm-notify/alarm-queue.c:956
-#: calendar/gui/alarm-notify/alarm-queue.c:958
+#: calendar/gui/alarm-notify/alarm-queue.c:971
+#: calendar/gui/alarm-notify/alarm-queue.c:973
msgid "No description available."
msgstr "ਕੋਈ ਵੇਰਵਾ ਉਪਲੱਬਧ ਨਹੀ ਹੈ।"
-#: calendar/gui/alarm-notify/alarm-queue.c:966
+#: calendar/gui/alarm-notify/alarm-queue.c:981
msgid "No location information available."
msgstr "ਕੋਈ ਟਿਕਾਣਾ ਜਾਣਕਾਰੀ ਉਪਲੱਬਧ ਨਹੀ ਹੈ।"
-#: calendar/gui/alarm-notify/alarm-queue.c:982
+#: calendar/gui/alarm-notify/alarm-queue.c:997
#, c-format
msgid ""
"Alarm on %s\n"
@@ -4247,12 +4245,12 @@ msgstr ""
"%s ਤੇ ਸ਼à©à¨°à©‚\n"
"%s ਤੇ ਸਮਾਪਤ"
-#: calendar/gui/alarm-notify/alarm-queue.c:1084
-#: calendar/gui/alarm-notify/alarm-queue.c:1108
+#: calendar/gui/alarm-notify/alarm-queue.c:1099
+#: calendar/gui/alarm-notify/alarm-queue.c:1123
msgid "Warning"
msgstr "ਚੇਤਾਵਨੀ"
-#: calendar/gui/alarm-notify/alarm-queue.c:1088
+#: calendar/gui/alarm-notify/alarm-queue.c:1103
msgid ""
"Evolution does not support calendar reminders with\n"
"email notifications yet, but this reminder was\n"
@@ -4264,7 +4262,7 @@ msgstr ""
"ਈਵੇਲੂਸ਼ਨ ਇੱਕ ਸਧਾਰਨ ਯਾਦ-ਪੱਤਰ ਪà©à©±à¨›à¨—ਿੱਛ ਬਕਸਾ ਹੀ\n"
"ਵੇਖਾ ਸਕੇਗੀ।"
-#: calendar/gui/alarm-notify/alarm-queue.c:1114
+#: calendar/gui/alarm-notify/alarm-queue.c:1129
#, c-format
msgid ""
"An Evolution Calendar reminder is about to trigger. This reminder is "
@@ -4280,7 +4278,7 @@ msgstr ""
"\n"
"ਕੀ ਤà©à¨¸à©€à¨‚ ਇਸ ਕਾਰਜ ਨੂੰ ਚਲਾਉਣਾ ਚਾਹà©à©°à¨¦à©‡ ਹੋ?"
-#: calendar/gui/alarm-notify/alarm-queue.c:1128
+#: calendar/gui/alarm-notify/alarm-queue.c:1143
msgid "Do not ask me about this program again."
msgstr "ਇਸ ਕਾਰਜ ਬਾਰੇ ਮੈਨੂੰ ਮà©à©œ ਨਾ ਪà©à©±à¨›à©‹à¥¤"
@@ -4413,16 +4411,16 @@ msgid ""
"Position of the horizontal pane, between the date navigator calendar and the "
"task list when not in the month view, in pixels."
msgstr ""
-"ਖਿਤਿਜੀ ਬਾਹੀ ਦੀ ਸਥਿਤੀ ਪਿਕਸਲ ਵਿੱਚ, ਜੋ ਕਿ ਦਿੱਖ ਅਤ ਮਿਤੀ ਕੈਲੰਡਰ ਅਤੇ ਕੰਮ ਸੂਚੀ ਵਿੱਚ ਹà©à©°à¨¦à©€ "
-"ਹੈ, ਜੋ ਕਿ ਮਹੀਨਾ ਨਾ ਦਿੱਖ ਹੋਵੇ।"
+"ਖਿਤਿਜੀ ਬਾਹੀ ਦੀ ਸਥਿਤੀ ਪਿਕਸਲ ਵਿੱਚ, ਜੋ ਕਿ ਦਿੱਖ ਅਤ ਮਿਤੀ ਕੈਲੰਡਰ ਅਤੇ ਕੰਮ ਸੂਚੀ ਵਿੱਚ ਹà©à©°à¨¦à©€ ਹੈ, ਜੋ "
+"ਕਿ ਮਹੀਨਾ ਨਾ ਦਿੱਖ ਹੋਵੇ।"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:30
msgid ""
"Position of the horizontal pane, between the view and the date navigator "
"calendar and task list in the month view, in pixels."
msgstr ""
-"ਖਿਤਿਜੀ ਬਾਹੀ ਦੀ ਸਥਿਤੀ ਪਿਕਸਲ ਵਿੱਚ, ਜੋ ਕਿ ਦਿੱਖ ਅਤ ਮਿਤੀ ਕੈਲੰਡਰ ਅਤੇ ਕੰਮ ਸੂਚੀ ਵਿੱਚ ਹà©à©°à¨¦à©€ "
-"ਹੈ, ਜੋ ਕਿ ਮਹੀਨਾ ਦਿੱਖ ਹੋਵੇ।"
+"ਖਿਤਿਜੀ ਬਾਹੀ ਦੀ ਸਥਿਤੀ ਪਿਕਸਲ ਵਿੱਚ, ਜੋ ਕਿ ਦਿੱਖ ਅਤ ਮਿਤੀ ਕੈਲੰਡਰ ਅਤੇ ਕੰਮ ਸੂਚੀ ਵਿੱਚ ਹà©à©°à¨¦à©€ ਹੈ, ਜੋ "
+"ਕਿ ਮਹੀਨਾ ਦਿੱਖ ਹੋਵੇ।"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:31
msgid ""
@@ -4435,16 +4433,16 @@ msgid ""
"Position of the vertical pane, between the view and the date navigator "
"calendar and task list in the month view, in pixels."
msgstr ""
-"ਲੰਬਕਾਰੀ ਬਾਹੀ ਦੀ ਸਥਿਤੀ ਪਿਕਸਲਾਂ ਵਿੱਚ, ਜੋ ਕਿ ਦਿੱਖ ਅਤੇ ਮਿਤੀ ਕੈਲੰਡਰ ਅਤੇ ਕੰਮ ਸੂਚੀ "
-"ਵਿੱਚ ਹà©à©°à¨¦à©€ ਹੈ, ਜਦੋਂ ਕਿ ਮਹੀਨਾ ਦਿੱਖ ਹੋਵੇ।"
+"ਲੰਬਕਾਰੀ ਬਾਹੀ ਦੀ ਸਥਿਤੀ ਪਿਕਸਲਾਂ ਵਿੱਚ, ਜੋ ਕਿ ਦਿੱਖ ਅਤੇ ਮਿਤੀ ਕੈਲੰਡਰ ਅਤੇ ਕੰਮ ਸੂਚੀ ਵਿੱਚ ਹà©à©°à¨¦à©€ ਹੈ, "
+"ਜਦੋਂ ਕਿ ਮਹੀਨਾ ਦਿੱਖ ਹੋਵੇ।"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:33
msgid ""
"Position of the vertical pane, between the view and the date navigator "
"calendar and task list when not in the month view, in pixels."
msgstr ""
-"ਲੰਬਕਾਰੀ ਬਾਹੀ ਦੀ ਸਥਿਤੀ ਪਿਕਸਲਾਂ ਵਿੱਚ, ਜੋ ਕਿ ਦਿੱਖ ਅਤੇ ਮਿਤੀ ਕੈਲੰਡਰ ਅਤੇ ਕੰਮ ਸੂਚੀ "
-"ਵਿੱਚ ਹà©à©°à¨¦à©€ ਹੈ, ਜਦੋਂ ਕਿ ਮਹੀਨਾ ਦਿੱਖ ਨਾ ਹੋਵੇ।"
+"ਲੰਬਕਾਰੀ ਬਾਹੀ ਦੀ ਸਥਿਤੀ ਪਿਕਸਲਾਂ ਵਿੱਚ, ਜੋ ਕਿ ਦਿੱਖ ਅਤੇ ਮਿਤੀ ਕੈਲੰਡਰ ਅਤੇ ਕੰਮ ਸੂਚੀ ਵਿੱਚ ਹà©à©°à¨¦à©€ ਹੈ, "
+"ਜਦੋਂ ਕਿ ਮਹੀਨਾ ਦਿੱਖ ਨਾ ਹੋਵੇ।"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:34
msgid "Programs that are allowed to be run by alarms."
@@ -4475,8 +4473,8 @@ msgid ""
"The default timezone to use for dates and times in the calendar, as an "
"untranslated Olsen timezone database location like \"America/New York\"."
msgstr ""
-"ਕੈਲੰਡਰ ਵਿੱਚ ਵਰਤਣ ਲਈ ਮਿਤੀ ਤੇ ਸਮਾਂ ਲਈ ਮੂਲ ਸਮਾਂ-ਖੇਤਰ, ਇੱਖ ਨਾ-ਅਨà©à¨µà¨¾à¨¦ ਓਲਸੀਨ ਸਮਾਂ-ਖੇਤਰ "
-"ਡਾਟਾਬੇਸ ਖੇਤਰ, ਜਿਵੇਂ ਕਿ \"America/New York\" ਆਦਿ।"
+"ਕੈਲੰਡਰ ਵਿੱਚ ਵਰਤਣ ਲਈ ਮਿਤੀ ਤੇ ਸਮਾਂ ਲਈ ਮੂਲ ਸਮਾਂ-ਖੇਤਰ, ਇੱਖ ਨਾ-ਅਨà©à¨µà¨¾à¨¦ ਓਲਸੀਨ ਸਮਾਂ-ਖੇਤਰ ਡਾਟਾਬੇਸ "
+"ਖੇਤਰ, ਜਿਵੇਂ ਕਿ \"America/New York\" ਆਦਿ।"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:42
#, no-c-format
@@ -4484,8 +4482,8 @@ msgid ""
"The url template to use as a free/busy data fallback, %u is replaced by the "
"user part of the mail address and %d is replaced by the domain."
msgstr ""
-"ਵਿਹਲਾ/ਰà©à¨à¨¿à¨† ਵਾਂਗ ਵਰਤਣ ਲ਼ਈ url ਨਮੂਨਾ ਡਾਟਾ, %u ਨੂੰ ਪੱਤਰ ਸਿਰਨਾਵੇਂ ਦੇ ਉਪਭੋਗਤਾ ਖੇਤਰ "
-"ਅਤੇ %d ਨੂੰ ਡੋਮੇਨ ਨਾਲ ਤਬਦੀਲ ਕਰ ਦਿੱਤਾ ਜਾਵੇਗਾ"
+"ਵਿਹਲਾ/ਰà©à¨à¨¿à¨† ਵਾਂਗ ਵਰਤਣ ਲ਼ਈ url ਨਮੂਨਾ ਡਾਟਾ, %u ਨੂੰ ਪੱਤਰ ਸਿਰਨਾਵੇਂ ਦੇ ਉਪਭੋਗਤਾ ਖੇਤਰ ਅਤੇ %d ਨੂੰ "
+"ਡੋਮੇਨ ਨਾਲ ਤਬਦੀਲ ਕਰ ਦਿੱਤਾ ਜਾਵੇਗਾ"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:43
msgid ""
@@ -4538,8 +4536,8 @@ msgid ""
"Whether to compress weekends in the month view, which puts Saturday and "
"Sunday in the space of one weekday."
msgstr ""
-"ਕੀ ਮਹੀਨਾ ਦਰਿਸ਼ ਵਿੱਚ ਹਫਤਿਆਂ ਨੂੰ ਇੱਕਠਾ ਕਰਨਾ ਹੈ ਤਾਂ ਕਿ ਸਨਿਚੱਰਵਾਰ ਅਤੇ à¨à¨¤à¨µà¨¾à¨° ਨੂੰ ਇੱਕ "
-"ਦਿਨ ਦੇ ਤੌਰ ਤੇ ਵੇਖਾਇਆ ਜਾਵੇ।"
+"ਕੀ ਮਹੀਨਾ ਦਰਿਸ਼ ਵਿੱਚ ਹਫਤਿਆਂ ਨੂੰ ਇੱਕਠਾ ਕਰਨਾ ਹੈ ਤਾਂ ਕਿ ਸਨਿਚੱਰਵਾਰ ਅਤੇ à¨à¨¤à¨µà¨¾à¨° ਨੂੰ ਇੱਕ ਦਿਨ ਦੇ ਤੌਰ "
+"ਤੇ ਵੇਖਾਇਆ ਜਾਵੇ।"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:56
msgid "Whether to display the end time of events in the week and month views."
@@ -4602,7 +4600,7 @@ msgid "Unmatched"
msgstr "ਨਾ-ਮਿਲਦਾ"
#: calendar/gui/calendar-commands.c:120 calendar/gui/calendar-component.c:708
-#: calendar/gui/dialogs/calendar-setup.c:362 calendar/gui/gnome-cal.c:1943
+#: calendar/gui/dialogs/calendar-setup.c:362 calendar/gui/gnome-cal.c:1942
#: plugins/groupwise-account-setup/camel-gw-listener.c:382
#: plugins/groupwise-account-setup/camel-gw-listener.c:412
msgid "Calendar"
@@ -4746,7 +4744,7 @@ msgstr "ਕੈਲੰਡਰ ਖੋਲਣ ਲਈ ਤਰੀਕਾ ਸਹਾਇਕ à
msgid "Permission denied to open the calendar"
msgstr "ਕੈਲੰਡਰ ਖੋਲਣ ਲਈ ਅਧਿਕਾਰ ਨਹੀਂ ਹਨ"
-#: calendar/gui/comp-editor-factory.c:437 shell/e-shell.c:1260
+#: calendar/gui/comp-editor-factory.c:437 shell/e-shell.c:1264
msgid "Unknown error"
msgstr "ਅਣਪਛਾਤੀ ਸਫਲਤਾ"
@@ -4887,7 +4885,7 @@ msgid "%.0fG"
msgstr "%.0f ਗੈਗਾ"
#: calendar/gui/dialogs/cal-attachment-bar.c:298
-#: calendar/gui/dialogs/cal-attachment-bar.c:913
+#: calendar/gui/dialogs/cal-attachment-bar.c:922
#: composer/e-msg-composer-attachment-bar.c:295 mail/em-utils.c:436
msgid "attachment"
msgstr "ਨੱਥੀ"
@@ -4966,7 +4964,7 @@ msgid "MIME type:"
msgstr "MIME ਕਿਸਮ:"
#. g_object_set((GObject *)renderer, "activatable", TRUE, NULL);
-#: calendar/gui/dialogs/cal-prefs-dialog.c:576 mail/em-account-prefs.c:460
+#: calendar/gui/dialogs/cal-prefs-dialog.c:576 mail/em-account-prefs.c:476
#: mail/em-composer-prefs.c:888 plugins/plugin-manager/plugin-manager.c:213
msgid "Enabled"
msgstr "ਯੋਗ ਕੀਤਾ"
@@ -4985,15 +4983,15 @@ msgstr "ਨਾ ਹਟਾਓ"
#: calendar/gui/dialogs/cal-prefs-dialog.c:787
#: calendar/gui/dialogs/cal-prefs-dialog.c:820
-#: calendar/gui/dialogs/cal-prefs-dialog.c:853 mail/em-account-prefs.c:307
-#: mail/em-account-prefs.c:335 mail/em-account-prefs.c:366
+#: calendar/gui/dialogs/cal-prefs-dialog.c:853 mail/em-account-prefs.c:323
+#: mail/em-account-prefs.c:351 mail/em-account-prefs.c:382
msgid "Disable"
msgstr "ਅਯੋਗ"
#: calendar/gui/dialogs/cal-prefs-dialog.c:787
#: calendar/gui/dialogs/cal-prefs-dialog.c:820
-#: calendar/gui/dialogs/cal-prefs-dialog.c:855 mail/em-account-prefs.c:307
-#: mail/em-account-prefs.c:335 mail/em-account-prefs.c:368
+#: calendar/gui/dialogs/cal-prefs-dialog.c:855 mail/em-account-prefs.c:323
+#: mail/em-account-prefs.c:351 mail/em-account-prefs.c:384
msgid "Enable"
msgstr "ਯੋਗ"
@@ -5407,78 +5405,78 @@ msgstr "ਭੇਜੋ(_M)"
msgid "Cancel _Drag"
msgstr "ਚà©à©±à¨•à¨£à¨¾ ਰੱਦ(_D)"
-#: calendar/gui/dialogs/comp-editor.c:659
+#: calendar/gui/dialogs/comp-editor.c:682
msgid "Could not update object"
msgstr "ਇਕਾਈ ਦਾ ਨਵੀਨੀਕਰਨ ਨਹੀਂ ਹੋ ਸਕਦਾ ਹੈ"
-#: calendar/gui/dialogs/comp-editor.c:820 composer/e-msg-composer.c:2310
+#: calendar/gui/dialogs/comp-editor.c:843 composer/e-msg-composer.c:2310
#, c-format
msgid "<b>%d</b> File Attached"
msgid_plural "<b>%d</b> Files Attached"
msgstr[0] "<b>%d</b> ਫਾਇਲ ਨੱਥੀ"
msgstr[1] "<b>%d</b> ਫਾਇਲਾਂ ਨੱਥੀ"
-#: calendar/gui/dialogs/comp-editor.c:873 composer/e-msg-composer.c:2339
+#: calendar/gui/dialogs/comp-editor.c:900 composer/e-msg-composer.c:2339
msgid "Hide _Attachment Bar (drop attachments here)"
msgstr "ਨੱਥੀ ਪੱਟੀ ਓਹਲੇ (ਨੱਥੀ ਇੱਥੇ ਰੱਖੋ) (_A)"
-#: calendar/gui/dialogs/comp-editor.c:876
-#: calendar/gui/dialogs/comp-editor.c:928 composer/e-msg-composer.c:2342
+#: calendar/gui/dialogs/comp-editor.c:903
+#: calendar/gui/dialogs/comp-editor.c:955 composer/e-msg-composer.c:2342
#: composer/e-msg-composer.c:3471
msgid "Show _Attachment Bar (drop attachments here)"
msgstr "ਨੱਥੀ ਪੱਟੀ ਵੇਖਾਓ (ਨੱਥੀ ਇੱਥੇ ਰੱਖੋ)(_A)"
-#: calendar/gui/dialogs/comp-editor.c:952 composer/e-msg-composer.c:3493
+#: calendar/gui/dialogs/comp-editor.c:979 composer/e-msg-composer.c:3493
msgid "Attachment Button: Press space key to toggle attachment bar"
msgstr "ਨੱਥੀ ਬਟਨ: ਨੱਥੀ ਪੱਟੀ ਨੂੰ ਤਬਦੀਲ ਕਰਨ ਲਈ ਸਪੇਸ ਸਵਿੱਚ ਦਬਾਓ"
-#: calendar/gui/dialogs/comp-editor.c:1499
-#: calendar/gui/dialogs/comp-editor.c:1542
+#: calendar/gui/dialogs/comp-editor.c:1526
+#: calendar/gui/dialogs/comp-editor.c:1569
msgid "Edit Appointment"
msgstr "ਰà©à¨à©‡à¨µà¨¾à¨‚ ਸੋਧ"
-#: calendar/gui/dialogs/comp-editor.c:1505
-#: calendar/gui/dialogs/comp-editor.c:1548
+#: calendar/gui/dialogs/comp-editor.c:1532
+#: calendar/gui/dialogs/comp-editor.c:1575
#, c-format
msgid "Meeting - %s"
msgstr "ਮੀਟਿੰਗ - %s"
-#: calendar/gui/dialogs/comp-editor.c:1507
-#: calendar/gui/dialogs/comp-editor.c:1550
+#: calendar/gui/dialogs/comp-editor.c:1534
+#: calendar/gui/dialogs/comp-editor.c:1577
#, c-format
msgid "Appointment - %s"
msgstr "ਰà©à¨à©‡à¨µà¨¾à¨‚ - %s"
-#: calendar/gui/dialogs/comp-editor.c:1511
-#: calendar/gui/dialogs/comp-editor.c:1554
+#: calendar/gui/dialogs/comp-editor.c:1538
+#: calendar/gui/dialogs/comp-editor.c:1581
#, c-format
msgid "Assigned Task - %s"
msgstr "ਮਿਲੇ ਕੰਮ - %s"
-#: calendar/gui/dialogs/comp-editor.c:1513
-#: calendar/gui/dialogs/comp-editor.c:1556
+#: calendar/gui/dialogs/comp-editor.c:1540
+#: calendar/gui/dialogs/comp-editor.c:1583
#, c-format
msgid "Task - %s"
msgstr "ਕੰਮ - %s"
-#: calendar/gui/dialogs/comp-editor.c:1516
-#: calendar/gui/dialogs/comp-editor.c:1559
+#: calendar/gui/dialogs/comp-editor.c:1543
+#: calendar/gui/dialogs/comp-editor.c:1586
#, c-format
msgid "Journal entry - %s"
msgstr "ਜਰਨਲ ਇੰਦਰਾਜ਼ - %s"
-#: calendar/gui/dialogs/comp-editor.c:1527
-#: calendar/gui/dialogs/comp-editor.c:1569
+#: calendar/gui/dialogs/comp-editor.c:1554
+#: calendar/gui/dialogs/comp-editor.c:1596
msgid "No summary"
msgstr "ਸੰਖੇਪ ਨਹੀਂ"
-#: calendar/gui/dialogs/comp-editor.c:2003
-#: calendar/gui/dialogs/comp-editor.c:2036
-#: calendar/gui/dialogs/comp-editor.c:2060
+#: calendar/gui/dialogs/comp-editor.c:2030
+#: calendar/gui/dialogs/comp-editor.c:2063
+#: calendar/gui/dialogs/comp-editor.c:2087
msgid "Changes made to this item may be discarded if an update arrives"
msgstr "ਜੇਕਰ ਨਵੀਨੀਕਰਨ ਕੀਤਾ ਇਸ ਇਕਾਈ ਵਿੱਚ ਕੀਤੀਆਂ ਤਬਦੀਲੀਆਂ ਰੱਦ ਕਰ ਦਿੱਤੀਆਂ ਜਾਣਗੀਆਂ"
-#: calendar/gui/dialogs/comp-editor.c:2084
+#: calendar/gui/dialogs/comp-editor.c:2111
msgid "Unable to use current version!"
msgstr "ਮੌਜੂਦਾ ਵਰਜਨ ਵਰਤਣ ਵਿੱਚ ਅਸਫਲ!"
@@ -5741,8 +5739,8 @@ msgstr "ਸ਼à©à¨°à©‚ਆਤੀ ਸਮਾਂ(_S):"
#: calendar/gui/dialogs/meeting-page.glade.h:5
#: calendar/gui/e-cal-model-tasks.c:652 calendar/gui/e-itip-control.c:1104
#: composer/e-msg-composer.c:2117 filter/filter-rule.c:878
-#: mail/em-account-editor.c:684 mail/em-account-editor.c:1290
-#: mail/em-account-prefs.c:421 mail/em-folder-view.c:993
+#: mail/em-account-editor.c:685 mail/em-account-editor.c:1291
+#: mail/em-account-prefs.c:437 mail/em-folder-view.c:993
#: plugins/calendar-weather/calendar-weather.c:371
#: plugins/calendar-weather/calendar-weather.c:425
#: plugins/itip-formatter/itip-formatter.c:1376
@@ -5881,31 +5879,31 @@ msgstr "ਕਾਰਜ ਸੂਚੀ ਸਮੂਹ"
msgid "Task List Name"
msgstr "ਸੰਦ ਸੂਚੀ ਨਾਂ"
-#: calendar/gui/dialogs/recur-comp.c:51
+#: calendar/gui/dialogs/recur-comp.c:52
msgid "You are modifying a recurring event, what would you like to modify?"
msgstr "ਤà©à¨¸à©€à¨‚ ਇੱਕ ਆਵਰਤੀ ਘਟਨਾ ਨੂੰ ਸੋਧ ਰਹੇ ਹੋ, ਤà©à¨¸à©€à¨‚ ਕੀ ਸੋਧਣਾ ਚਾਹà©à©°à¨¦à©‡ ਹੋ?"
-#: calendar/gui/dialogs/recur-comp.c:55
+#: calendar/gui/dialogs/recur-comp.c:56
msgid "You are modifying a recurring task, what would you like to modify?"
msgstr "ਤà©à¨¸à©€à¨‚ ਇੱਕ ਆਵਰਤੀ ਕੰਮ ਨੂੰ ਸੋਧ ਰਹੇ ਹੋ, ਤà©à¨¸à©€à¨‚ ਕੀ ਸੋਧਣਾ ਚਾਹà©à©°à¨¦à©‡ ਹੋ?"
-#: calendar/gui/dialogs/recur-comp.c:59
+#: calendar/gui/dialogs/recur-comp.c:60
msgid "You are modifying a recurring journal entry, what would you like to modify?"
msgstr "ਤà©à¨¸à©€à¨‚ ਇੱਕ ਆਵਰਤੀ ਰਸਾਲਾ ਜਾਣਕਾਰੀ ਸੋਧ ਕਰ ਰਹੇ ਹੋ, ਤà©à¨¸à©€à¨‚ ਕੀ ਸੋਧ ਕਰਨੀ ਚਾਹà©à©°à¨¦à©‡ ਹੋ?"
-#: calendar/gui/dialogs/recur-comp.c:87
+#: calendar/gui/dialogs/recur-comp.c:88
msgid "This Instance Only"
msgstr "ਇਸ ਮੌਕੇ ਤੇ ਹੀ"
-#: calendar/gui/dialogs/recur-comp.c:91
+#: calendar/gui/dialogs/recur-comp.c:92
msgid "This and Prior Instances"
msgstr "ਇਹ ਅਤੇ ਪਹਿਲ ਮੌਕੇ"
-#: calendar/gui/dialogs/recur-comp.c:97
+#: calendar/gui/dialogs/recur-comp.c:98
msgid "This and Future Instances"
msgstr "ਇਹ ਅਤੇ ਭਵਿੱਖਤ ਮੌਕੇ ਲਈ"
-#: calendar/gui/dialogs/recur-comp.c:102
+#: calendar/gui/dialogs/recur-comp.c:103
msgid "All Instances"
msgstr "ਸਭ ਮੌਕੇ"
@@ -6282,7 +6280,7 @@ msgstr "ਮਿਆਦ:"
#. Status
#: calendar/gui/e-cal-component-preview.c:222
#: calendar/gui/e-itip-control.c:1132
-#: plugins/exchange-account-setup/exchange-account-setup.c:129
+#: plugins/exchange-account-setup/exchange-account-setup.c:209
#: plugins/itip-formatter/itip-view.c:884
msgid "Status:"
msgstr "ਸਥਿਤੀ:"
@@ -7245,7 +7243,7 @@ msgstr "ਲੋਡ਼ੀਦੇ ਲੋਕ ਤੇ ਇੱਕ ਸਰੋਤ(_o)"
msgid "Enter the password for %s"
msgstr "%s ਲਈ ਗà©à¨ªà¨¤-ਕੋਡ ਭਰੋ"
-#: calendar/gui/e-tasks.c:763 calendar/gui/gnome-cal.c:2373
+#: calendar/gui/e-tasks.c:763 calendar/gui/gnome-cal.c:2372
#, c-format
msgid ""
"Error on %s:\n"
@@ -7294,34 +7292,34 @@ msgid "Updating query"
msgstr "ਨਵੀਵੀਕਰਨ ਸਵਾਲ"
#. bonobo displays this string so it must be in locale
-#: calendar/gui/gnome-cal.c:2058 widgets/menus/gal-view-menus.c:351
+#: calendar/gui/gnome-cal.c:2057 widgets/menus/gal-view-menus.c:351
msgid "Custom View"
msgstr "ਦਰਿਸ਼ ਸੋਧ"
-#: calendar/gui/gnome-cal.c:2059
+#: calendar/gui/gnome-cal.c:2058
msgid "Save Custom View"
msgstr "ਸੋਧ ਦਰਿਸ਼ ਸੰਭਾਲੋ"
-#: calendar/gui/gnome-cal.c:2064 widgets/menus/gal-view-menus.c:373
+#: calendar/gui/gnome-cal.c:2063 widgets/menus/gal-view-menus.c:373
msgid "Define Views..."
msgstr "ਦਰਿਸ਼ ਪà©à¨°à¨­à¨¾à¨¶à¨¿à¨¤ ਕਰੋ..."
-#: calendar/gui/gnome-cal.c:2223
+#: calendar/gui/gnome-cal.c:2222
#, c-format
msgid "Loading appointments at %s"
msgstr "%s ਤੇ ਰà©à¨à©‡à¨µà©‡à¨‚ ਲੋਡ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ"
-#: calendar/gui/gnome-cal.c:2242
+#: calendar/gui/gnome-cal.c:2241
#, c-format
msgid "Loading tasks at %s"
msgstr "%s ਤੇ ਕੰਮ ਲੋਡ ਕਰੋ"
-#: calendar/gui/gnome-cal.c:2339
+#: calendar/gui/gnome-cal.c:2338
#, c-format
msgid "Opening %s"
msgstr "%s ਖੋਲਿਆ ਜਾ ਰਿਹਾ ਹੈ"
-#: calendar/gui/gnome-cal.c:3229
+#: calendar/gui/gnome-cal.c:3228
msgid "Purging"
msgstr "ਸੋਧਿਆ ਜਾ ਰਿਹਾ ਹੈ"
@@ -9481,8 +9479,8 @@ msgstr "ਬਿਨਾਂ ਸਿਰਲੇਖ ਸà©à¨¨à©‡à¨¹à¨¾"
msgid "Open File"
msgstr "ਫਾਇਲ ਖੋਲੋ"
-#: composer/e-msg-composer.c:2001 mail/em-account-editor.c:587
-#: mail/em-account-editor.c:632 mail/em-account-editor.c:699
+#: composer/e-msg-composer.c:2001 mail/em-account-editor.c:588
+#: mail/em-account-editor.c:633 mail/em-account-editor.c:700
msgid "Autogenerated"
msgstr "ਸਵੈ-ਨਿਰਮਤ"
@@ -10240,12 +10238,12 @@ msgstr "ਪੱਤਰ ਪਸੰਦ"
msgid "_Mail"
msgstr "ਪੱਤਰ(_M)"
-#: mail/em-account-editor.c:386
+#: mail/em-account-editor.c:387
#, c-format
msgid "%s License Agreement"
msgstr "%s ਲਾਇਸੈਂਸ ਸ਼ਰਤਾਂ"
-#: mail/em-account-editor.c:393
+#: mail/em-account-editor.c:394
#, c-format
msgid ""
"\n"
@@ -10258,62 +10256,62 @@ msgstr ""
"ਜੋ ਕਿ %s ਲਈ ਹੇਠ ਦਿੱਤੀਆਂ ਹਨ\n"
"ਅਤੇ ਸਵੀਕਾਰ ਕਰਨ ਲਈ ਜਾਂਚ ਬਕਸੇ ਤੇ ਕਲਿੱਕ ਕਰੋ\n"
-#: mail/em-account-editor.c:463 mail/em-filter-folder-element.c:237
+#: mail/em-account-editor.c:464 mail/em-filter-folder-element.c:237
#: mail/em-vfolder-rule.c:494
msgid "Select Folder"
msgstr "ਫੋਲਡਰ ਚà©à¨£à©‹"
-#: mail/em-account-editor.c:1663 mail/mail-config.glade.h:89
+#: mail/em-account-editor.c:1664 mail/mail-config.glade.h:89
msgid "Identity"
msgstr "ਪਛਾਣ"
-#: mail/em-account-editor.c:1699 mail/mail-config.glade.h:114
+#: mail/em-account-editor.c:1700 mail/mail-config.glade.h:114
msgid "Receiving Email"
msgstr "ਈ-ਪੱਤਰ ਪà©à¨°à¨¾à¨ªà¨¤ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
-#: mail/em-account-editor.c:1876
+#: mail/em-account-editor.c:1877
msgid "Automatically check for _new mail every"
msgstr "ਇੰਨੇ ਅੰਤਰਾਲ ਬਾਅਦ ਪੱਤਰ ਦੀ ਜਾਂਚ ਕਰੋ(_n)"
-#: mail/em-account-editor.c:2044 mail/mail-config.glade.h:124
+#: mail/em-account-editor.c:2045 mail/mail-config.glade.h:124
msgid "Sending Email"
msgstr "ਈ-ਪੱਤਰ ਭੇਜਿਆ ਜਾ ਰਿਹਾ ਹੈ"
-#: mail/em-account-editor.c:2088 mail/mail-config.glade.h:67
+#: mail/em-account-editor.c:2089 mail/mail-config.glade.h:67
msgid "Defaults"
msgstr "ਮੂਲ"
-#: mail/em-account-editor.c:2147 mail/mail-config.glade.h:119
+#: mail/em-account-editor.c:2148 mail/mail-config.glade.h:119
msgid "Security"
msgstr "ਸà©à¨°à©±à¨–ਿਆ"
#. Most sections for this is auto-generated fromt the camel config
-#: mail/em-account-editor.c:2184 mail/em-account-editor.c:2259
+#: mail/em-account-editor.c:2185 mail/em-account-editor.c:2260
msgid "Receiving Options"
msgstr "ਪà©à¨°à¨¾à¨ªà¨¤à©€ ਚੋਣ"
-#: mail/em-account-editor.c:2185 mail/em-account-editor.c:2260
+#: mail/em-account-editor.c:2186 mail/em-account-editor.c:2261
msgid "Checking for New Mail"
msgstr "ਨਵਾਂ ਪੱਤਰ ਲਈ ਜਾਂਚ ਜਾਰੀ"
-#: mail/em-account-editor.c:2600 mail/mail-config.glade.h:33
+#: mail/em-account-editor.c:2585 mail/mail-config.glade.h:33
msgid "Account Editor"
msgstr "ਖਾਤਾ ਸੰਪਾਦਕ"
-#: mail/em-account-editor.c:2600 mail/mail-config.glade.h:79
+#: mail/em-account-editor.c:2585 mail/mail-config.glade.h:79
msgid "Evolution Account Assistant"
msgstr "ਈਵੇਲੂਸ਼ਨ ਖਾਤਾ ਸਹਾਇਕ"
#. translators: default account indicator
-#: mail/em-account-prefs.c:412
+#: mail/em-account-prefs.c:428
msgid "[Default]"
msgstr "[ਮੂਲ]"
-#: mail/em-account-prefs.c:466
+#: mail/em-account-prefs.c:482
msgid "Account name"
msgstr "ਖਾਤਾ ਨਾਂ"
-#: mail/em-account-prefs.c:468
+#: mail/em-account-prefs.c:484
msgid "Protocol"
msgstr "ਪà©à¨°à©‹à¨Ÿà©‹à¨•à¨¾à¨²"
@@ -10996,8 +10994,8 @@ msgid ""
"be difficult, but not impossible for an outsider to view the content of this "
"message in a practical amount of time."
msgstr ""
-"ਇਹ ਸà©à¨¨à©‡à¨¹à©‡ ਇਕà©à¨°à¨¿à¨ªà¨Ÿà¨¡ ਹੈ ਅਤੇ ਇਸ ਲਈ ਹਲਕਾ à¨à¨²à©‹à¨—à©à¨°à¨¿à¨¥à¨® ਵਰਤਿਆ ਗਿਆ ਹੈ। ਇਸ ਸà©à¨¨à©‡à¨¹à©‡ ਨੂੰ ਇੱਕ ਸੰਭਵ "
-"ਸਮੇਂ ਵਿੱਚ ਕਿਸੇ ਵੀ ਬਾਹਰੀ ਵਿਅਕਤੀ ਦà©à¨†à¨°à¨¾ ਖੋਲਣਾ ਅਸੰਭਵ ਤਾਂ ਨਹੀਂ, ਪਰ ਬਹà©à¨¤ ਔਖਾ ਹੈ।"
+"ਇਹ ਸà©à¨¨à©‡à¨¹à©‡ ਇਕà©à¨°à¨¿à¨ªà¨Ÿà¨¡ ਹੈ ਅਤੇ ਇਸ ਲਈ ਹਲਕਾ à¨à¨²à©‹à¨—à©à¨°à¨¿à¨¥à¨® ਵਰਤਿਆ ਗਿਆ ਹੈ। ਇਸ ਸà©à¨¨à©‡à¨¹à©‡ ਨੂੰ ਇੱਕ ਸੰਭਵ ਸਮੇਂ ਵਿੱਚ "
+"ਕਿਸੇ ਵੀ ਬਾਹਰੀ ਵਿਅਕਤੀ ਦà©à¨†à¨°à¨¾ ਖੋਲਣਾ ਅਸੰਭਵ ਤਾਂ ਨਹੀਂ, ਪਰ ਬਹà©à¨¤ ਔਖਾ ਹੈ।"
#: mail/em-format-html-display.c:691 mail/em-format-html.c:590
msgid "Encrypted"
@@ -11465,8 +11463,8 @@ msgid ""
"If a user tries to open 10 or more messages at one time, ask the user if "
"they really want to do it."
msgstr ""
-"ਜੇਕਰ ਉਪਭੋਗਤਾ ਨੇ 10 ਜਾਂ ਵਧੇਰੇ ਸà©à¨¨à©‡à¨¹à©‡ ਇੱਕੋ ਸਮੇਂ ਖੋਲਣ ਦੀ ਕੋਸ਼ਿਸ ਕੀਤੀ ਤਾਂ, ਉਪਭੋਗਤਾ "
-"ਨੂੰ ਪà©à©±à¨›à©‹ ਕਿ ਕੀ ਉਹ ਇਸਤਰਾਂ ਕਰਨਾ ਚਾਹà©à©°à¨¦à¨¾ ਹੈ।"
+"ਜੇਕਰ ਉਪਭੋਗਤਾ ਨੇ 10 ਜਾਂ ਵਧੇਰੇ ਸà©à¨¨à©‡à¨¹à©‡ ਇੱਕੋ ਸਮੇਂ ਖੋਲਣ ਦੀ ਕੋਸ਼ਿਸ ਕੀਤੀ ਤਾਂ, ਉਪਭੋਗਤਾ ਨੂੰ ਪà©à©±à¨›à©‹ ਕਿ ਕੀ ਉਹ "
+"ਇਸਤਰਾਂ ਕਰਨਾ ਚਾਹà©à©°à¨¦à¨¾ ਹੈ।"
#: mail/evolution-mail.schemas.in.in.h:28
msgid ""
@@ -13282,8 +13280,8 @@ msgid ""
"This folder may have been added implicitly, go to the vFolder editor to add "
"it explicitly, if required."
msgstr ""
-"ਇਹ ਫੋਲਡਰ ਲà©à¨ªà¨¤ ਸ਼ਾਮਿਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਫਰਜ਼ੀ ਫੋਲਡਰ ਸੰਪਾਦਕ ਵਿੱਚ ਜਾ ਕੇ ਇਸ ਨੂੰ "
-"ਪਰਤੱਖ ਸ਼ਾਮਿਲ ਕਰੋ, ਜੇ ਲੋੜ ਹੈ ਤਾਂ।"
+"ਇਹ ਫੋਲਡਰ ਲà©à¨ªà¨¤ ਸ਼ਾਮਿਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਫਰਜ਼ੀ ਫੋਲਡਰ ਸੰਪਾਦਕ ਵਿੱਚ ਜਾ ਕੇ ਇਸ ਨੂੰ ਪਰਤੱਖ "
+"ਸ਼ਾਮਿਲ ਕਰੋ, ਜੇ ਲੋੜ ਹੈ ਤਾਂ।"
#. mail:vfolder-notunique primary
#: mail/mail-errors.xml.h:195
@@ -14020,29 +14018,29 @@ msgid "Mark as default folder"
msgstr "ਮੂਲ ਫੋਲਡਰ ਵਾਂਗ ਨਿਸ਼ਾਨਬੱਧ"
#. i18n: "Secure Password Authentication" is an Outlookism
-#: plugins/exchange-account-setup/exchange-account-setup.c:53
+#: plugins/exchange-account-setup/exchange-account-setup.c:59
msgid "Secure Password"
msgstr "ਸà©à¨°à©±à¨–ਿਅਤ ਗà©à¨ªà¨¤-ਕੋਡ"
#. i18n: "NTLM" probably doesn't translate
-#: plugins/exchange-account-setup/exchange-account-setup.c:56
+#: plugins/exchange-account-setup/exchange-account-setup.c:62
msgid ""
"This option will connect to the Exchange server using secure password (NTLM) "
"authentication."
msgstr "ਇਹ ਚੋਣ ਤà©à¨¹à¨¾à¨¨à©‚à©° à¨à¨•à¨¶à¨šà©‡à©› ਸਰਵਰ ਨਾਲ ਸà©à¨°à©±à¨–ਿਅਤ ਗà©à¨ªà¨¤-ਕੋਡ (NTLM) ਪà©à¨°à¨®à¨¾à¨£à¨•à¨¿à¨¤à¨¾ ਨਾਲ ਜੋੜੇਗੀ।"
-#: plugins/exchange-account-setup/exchange-account-setup.c:64
+#: plugins/exchange-account-setup/exchange-account-setup.c:70
msgid "Plaintext Password"
msgstr "ਸਧਾਰਨ ਗà©à¨ªà¨¤-ਕੋਡ"
-#: plugins/exchange-account-setup/exchange-account-setup.c:66
+#: plugins/exchange-account-setup/exchange-account-setup.c:72
msgid ""
"This option will connect to the Exchange server using standard plaintext "
"password authentication."
msgstr "ਇਹ ਚੋਣ ਤà©à¨¹à¨¾à¨¨à©‚à©° à¨à¨•à¨¶à¨šà©‡à©› ਸਰਵਰ ਨਾਲ ਸਧਾਰਨ ਗà©à¨ªà¨¤-ਕੋਡ ਪà©à¨°à¨®à¨¾à¨£à¨•à¨¿à¨¤à¨¾ ਨਾਲ ਜੋੜੇਗੀ।"
#. Description section
-#: plugins/exchange-account-setup/exchange-account-setup.c:113
+#: plugins/exchange-account-setup/exchange-account-setup.c:193
msgid ""
"The message specified below will be automatically sent to \n"
"each person who sends mail to you while you are out of the office."
@@ -14050,37 +14048,39 @@ msgstr ""
"ਹੇਠਾਂ ਨਿਰਧਾਰਿਤ ਕੀਤਾ ਸà©à¨¨à©‡à¨¹à¨¾ ਸਵੈ-ਚਾਲਿਤ ਹੀ ਉਹਨਾਂ ਸਾਰੇ ਪੱਤਰ ਭੇਜਣ ਵਾਲਿਆਂ ਨੂੰ ਭੇਜ ਦਿੱਤਾ\n"
"ਜਾਵੇਗਾ, ਜੋ ਕਿ ਤà©à¨¹à¨¾à¨¡à©‡ ਦਫਤਰੋਂ ਬਾਹਰ ਹੋਣ ਦੀ ਸੂਰਤ ਵਿੱਚ ਪੱਤਰ ਭੇਜਣ।"
-#: plugins/exchange-account-setup/exchange-account-setup.c:140
-msgid "I am in the office"
-msgstr "ਮੈਂ ਦਫ਼ਤਰ ਵਿੱਚ ਹਾਂ"
-
-#: plugins/exchange-account-setup/exchange-account-setup.c:154
+#: plugins/exchange-account-setup/exchange-account-setup.c:221
+#: plugins/exchange-account-setup/exchange-account-setup.c:231
msgid "I am out of the office"
msgstr "ਮੈਂ ਦਫ਼ਤਰ ਤੋਂ ਬਾਹਰ ਹਾਂ"
-#: plugins/exchange-account-setup/exchange-account-setup.c:168
+#: plugins/exchange-account-setup/exchange-account-setup.c:224
+#: plugins/exchange-account-setup/exchange-account-setup.c:228
+msgid "I am in the office"
+msgstr "ਮੈਂ ਦਫ਼ਤਰ ਵਿੱਚ ਹਾਂ"
+
+#: plugins/exchange-account-setup/exchange-account-setup.c:257
msgid "Out of office Message:"
msgstr "ਦਫਤਰੋਂ ਬਾਹਰ ਸà©à¨¨à©‡à¨¹à¨¾:"
-#: plugins/exchange-account-setup/exchange-account-setup.c:194
+#: plugins/exchange-account-setup/exchange-account-setup.c:302
msgid "Exchange Settings"
msgstr "à¨à¨•à¨¶à¨šà©‡à©› ਵਿਵਸਥਾ"
-#: plugins/exchange-account-setup/exchange-account-setup.c:342
+#: plugins/exchange-account-setup/exchange-account-setup.c:448
#: plugins/exchange-account-setup/exchange-ask-password.c:200
msgid "_OWA Url:"
msgstr "_OWA Url:"
-#: plugins/exchange-account-setup/exchange-account-setup.c:350
+#: plugins/exchange-account-setup/exchange-account-setup.c:456
#: plugins/exchange-account-setup/exchange-ask-password.c:193
msgid "A_uthenticate"
msgstr "ਪà©à¨°à¨®à¨¾à¨£à¨•à¨¿à¨¤à¨¾(_u)"
-#: plugins/exchange-account-setup/exchange-account-setup.c:473
+#: plugins/exchange-account-setup/exchange-account-setup.c:664
msgid "Authentication Type"
msgstr "ਪà©à¨°à¨®à¨¾à¨£à¨•à¨¿à¨¤à¨¾ ਕਿਸਮ"
-#: plugins/exchange-account-setup/exchange-account-setup.c:487
+#: plugins/exchange-account-setup/exchange-account-setup.c:678
msgid "Ch_eck for Supported Types"
msgstr "ਸਹਾਇਕ ਕਿਸਮ ਲਈ ਜਾਂਚ(_e)"
@@ -14165,9 +14165,7 @@ msgstr "ਕੈਲੰਡਰ ਵਿੱਚ ਇਕਾਈ ਠੀਕ ਨਹੀਂ ਹà
msgid ""
"The message does contain a calendar, but the calendar contains no events, "
"tasks or free/busy information"
-msgstr ""
-"ਸà©à¨¨à©‡à¨¹à©‡ ਵਿੱਚ ਕੈਲੰਡਰ ਤਾਂ ਹੈ, ਪਰ ਕੈਲੰਡਰ ਵਿੱਚ ਕੋਈ ਘਟਨਾਸ ਕੰਮ ਜਾਂ ਵਿਹਲਾ/ਰà©à¨à¨¿à¨†à¨‚ ਜਾਣਕਾਰੀ ਨਹੀ "
-"ਹੈ"
+msgstr "ਸà©à¨¨à©‡à¨¹à©‡ ਵਿੱਚ ਕੈਲੰਡਰ ਤਾਂ ਹੈ, ਪਰ ਕੈਲੰਡਰ ਵਿੱਚ ਕੋਈ ਘਟਨਾਸ ਕੰਮ ਜਾਂ ਵਿਹਲਾ/ਰà©à¨à¨¿à¨†à¨‚ ਜਾਣਕਾਰੀ ਨਹੀ ਹੈ"
#: plugins/itip-formatter/itip-formatter.c:1020
msgid "The calendar attached contains multiple items"
@@ -14177,9 +14175,7 @@ msgstr "ਨੱਥੀ ਕੈਲੰਡਰ ਵਿੱਚ ਕਈ ਇਕਾਈਆਂ à
msgid ""
"To process all of these items, the file should be saved and the calendar "
"imported"
-msgstr ""
-"ਇਹਨਾਂ ਸਭ ਇਕਾਈਆਂ ਤੇ ਕਾਰਵਾਈ ਕਰਨ ਲ਼ਈ, ਫਾਇਲ ਨੂੰ ਸੰਭਾਲਣਾ ਪਵੇਗਾ ਅਤੇ ਕੈਲੰਡਰ ਆਯਾਤ ਕਰਨਾ "
-"ਪਵੇਗਾ"
+msgstr "ਇਹਨਾਂ ਸਭ ਇਕਾਈਆਂ ਤੇ ਕਾਰਵਾਈ ਕਰਨ ਲ਼ਈ, ਫਾਇਲ ਨੂੰ ਸੰਭਾਲਣਾ ਪਵੇਗਾ ਅਤੇ ਕੈਲੰਡਰ ਆਯਾਤ ਕਰਨਾ ਪਵੇਗਾ"
#: plugins/itip-formatter/itip-formatter.c:1658
msgid "Meetings and Tasks"
@@ -14514,8 +14510,8 @@ msgid ""
"Posting to this mailing list is not allowed. Possibly, this is a read-only "
"mailing list. Contact the list owner for details."
msgstr ""
-"ਇਸ ਮੇਲਿੰਗ ਸੂਚੀ ਤੇ ਪੱਤਰ ਭੇਜਣ ਤੇ ਰੋਕ ਹੈ। ਸੰਭਵ ਤੌਰ ਤੇ, ਇਹ ਸਿਰਫ਼ ਪੜਨ ਲਈ ਹੀ ਪੱਤਰ ਸੂਚੀ "
-"ਹੈ। ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ ਸੂਚੀ ਪà©à¨°à¨¬à©°à¨§ ਨਾਲ ਸੰਪਰਕ ਕਰੋ।"
+"ਇਸ ਮੇਲਿੰਗ ਸੂਚੀ ਤੇ ਪੱਤਰ ਭੇਜਣ ਤੇ ਰੋਕ ਹੈ। ਸੰਭਵ ਤੌਰ ਤੇ, ਇਹ ਸਿਰਫ਼ ਪੜਨ ਲਈ ਹੀ ਪੱਤਰ ਸੂਚੀ ਹੈ। ਵਧੇਰੇ "
+"ਜਾਣਕਾਰੀ ਲਈ ਸੂਚੀ ਪà©à¨°à¨¬à©°à¨§ ਨਾਲ ਸੰਪਰਕ ਕਰੋ।"
#. org.gnome.mailing-list-actions:ask-send-message primary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:10
@@ -14531,8 +14527,8 @@ msgid ""
"You should receive an answer from the mailing list shortly after the message "
"has been sent."
msgstr ""
-"URL \"{0}\" ਨੂੰ ਈ-ਪੱਤਰ ਸà©à¨¨à©‡à¨¹à¨¾ ਭੇਜਿਆ ਜਾਵੇਗਾ, ਤà©à¨¸à©€à¨‚ ਸਵੈ-ਚਾਲਤ ਸà©à¨¨à©‡à¨¹à¨¾ ਭੇਜ ਸਕਦੇ ਹੋ, "
-"ਜਾਂ ਇਸ ਨੂੰ ਪਹਿਲਾਂ ਵੇਖ ਅਤੇ ਤਬਦੀਲ ਕਰ ਸਕਦੇ ਹੋ।\n"
+"URL \"{0}\" ਨੂੰ ਈ-ਪੱਤਰ ਸà©à¨¨à©‡à¨¹à¨¾ ਭੇਜਿਆ ਜਾਵੇਗਾ, ਤà©à¨¸à©€à¨‚ ਸਵੈ-ਚਾਲਤ ਸà©à¨¨à©‡à¨¹à¨¾ ਭੇਜ ਸਕਦੇ ਹੋ, ਜਾਂ ਇਸ ਨੂੰ "
+"ਪਹਿਲਾਂ ਵੇਖ ਅਤੇ ਤਬਦੀਲ ਕਰ ਸਕਦੇ ਹੋ।\n"
"\n"
"ਤà©à¨¸à©€à¨‚ ਮੇਲਿੰਗ ਸੂਚੀ ਤੇ ਭੇਜਣ ਬਾਅਦ ਤਰà©à©°à¨¤ ਜਵਾਬ ਪà©à¨°à¨¾à¨ªà¨¤ ਕਰ ਲਵੋਗੇ।"
@@ -14573,8 +14569,8 @@ msgid ""
"\n"
"Header: {0}"
msgstr ""
-"ਕਾਰਵਾਈ ਕੀਤੀ ਨਹੀਂ ਜਾ ਸਕਦੀ ਹੈ। ਇਹ ਦਾ ਅਰਥ ਹੈ, ਕਿ ਇਸ ਕਾਰਵਾਈ ਲਈ ਮà©à©±à¨– ਵਿੱਚ "
-"ਉਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ ਕਾਰਵਾਈ ਨਹੀਂ ਹੈ, ਜਿਸ ਨੂੰ ਅਸੀਂ ਹੈਂਡਲ ਕਰ ਸਕਦੇ ਹਾਂ।\n"
+"ਕਾਰਵਾਈ ਕੀਤੀ ਨਹੀਂ ਜਾ ਸਕਦੀ ਹੈ। ਇਹ ਦਾ ਅਰਥ ਹੈ, ਕਿ ਇਸ ਕਾਰਵਾਈ ਲਈ ਮà©à©±à¨– ਵਿੱਚ ਉਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ "
+"ਕਾਰਵਾਈ ਨਹੀਂ ਹੈ, ਜਿਸ ਨੂੰ ਅਸੀਂ ਹੈਂਡਲ ਕਰ ਸਕਦੇ ਹਾਂ।\n"
"\n"
"ਸਿਰਲੇਖ: {0}"
@@ -14670,9 +14666,8 @@ msgid ""
"sCreated%sContact List%sStart%sEnd%sDue%sPercent Done%sPriority%sUrl%"
"sAttendees List%sLocation%sModified%s"
msgstr ""
-"Uid%sਸੰਖੇਪ%sਵੇਰਵਾ ਸੂਚੀ%sਵਰਗ ਸੂਚੀ%sਟਿੱਪਣੀ ਸੂਚੀ%sਮà©à¨•à©°à¨®à¨²%"
-"sਨਿਰਮਾਣ%sਸੰਪਰਕ ਸੂਚੀ%sਸ਼à©à¨°à©‚%sEnd%sਦੇਣ%sਫੀ-ਸਦੀ ਮà©à¨•à©°à¨®à¨²%sਦਰਜਾ%sUrl%"
-"sਦਰਸ਼ਕ ਸੂਚੀ%sਟਿਕਾਣਾ%sਸੋਧ%s"
+"Uid%sਸੰਖੇਪ%sਵੇਰਵਾ ਸੂਚੀ%sਵਰਗ ਸੂਚੀ%sਟਿੱਪਣੀ ਸੂਚੀ%sਮà©à¨•à©°à¨®à¨²%sਨਿਰਮਾਣ%sਸੰਪਰਕ ਸੂਚੀ%sਸ਼à©à¨°à©‚%sEnd%sਦੇਣ%"
+"sਫੀ-ਸਦੀ ਮà©à¨•à©°à¨®à¨²%sਦਰਜਾ%sUrl%sਦਰਸ਼ਕ ਸੂਚੀ%sਟਿਕਾਣਾ%sਸੋਧ%s"
#: plugins/save-calendar/csv-format.c:519
msgid "Advanced options for the CSV format"
@@ -14717,8 +14712,8 @@ msgid ""
"The suggested filename extension of this filetype (%s) is unused in the "
"chosen filename. Do you want to continue?"
msgstr ""
-"ਇਸ ਫਾਇਲ ਕਿਸਮ (%s) ਲਈ ਸà©à¨à¨¾à¨‡à¨† ਫਾਇਲ ਨਾਂ à¨à¨•à¨¶à¨Ÿà©‡à¨¶à¨¨ ਚà©à¨£à©‡ ਫਾਇਲ ਨਾਂ ਨਾਲ "
-"ਨਾ ਵਰਤਿਆ ਹੈ। ਕੀ ਤà©à¨¸à©€à¨‚ ਜਾਰੀ ਰੱਖਣਾ ਚਾਹà©à©°à¨¦à©‡ ਹੋ?"
+"ਇਸ ਫਾਇਲ ਕਿਸਮ (%s) ਲਈ ਸà©à¨à¨¾à¨‡à¨† ਫਾਇਲ ਨਾਂ à¨à¨•à¨¶à¨Ÿà©‡à¨¶à¨¨ ਚà©à¨£à©‡ ਫਾਇਲ ਨਾਂ ਨਾਲ ਨਾ ਵਰਤਿਆ ਹੈ। ਕੀ ਤà©à¨¸à©€à¨‚ "
+"ਜਾਰੀ ਰੱਖਣਾ ਚਾਹà©à©°à¨¦à©‡ ਹੋ?"
#: plugins/send-options/send-options.c:82
#, c-format
@@ -14890,9 +14885,8 @@ msgid ""
"\"toolbar\". If \"toolbar\" is set, the style of the buutons is determined "
"by the GNOME toolbar setting."
msgstr ""
-"à¨à¨°à©‹à¨–ਾ ਬਟਨਾਂ ਦੀ ਸ਼ੈਲੀ ਹੈ। \"ਪਾਠ\", \"ਆਈਕਾਨ\", \"ਦੋਵੇਂ\", "
-"\"ਸੰਦ-ਪੱਟੀ\" ਸੰਭਵ ਹੈ। ਜੇ \"ਸੰਦ-ਪੱਟੀ\" ਨੂੰ ਚà©à¨£à¨¿à¨† ਗਿਆ ਤਾਂ, ਗਨੋਮ ਸੰਦ-ਪੱਟੀ ਵਿਵਸਥਾ ਰਾਹੀਂ ਹੀ "
-"ਬਟਨਾਂ ਦੀ ਸ਼ੈਲੀ ਨਿਰਧਾਰਿਤ ਕੀਤੀ ਜਾਵੇਗੀ।"
+"à¨à¨°à©‹à¨–ਾ ਬਟਨਾਂ ਦੀ ਸ਼ੈਲੀ ਹੈ। \"ਪਾਠ\", \"ਆਈਕਾਨ\", \"ਦੋਵੇਂ\", \"ਸੰਦ-ਪੱਟੀ\" ਸੰਭਵ ਹੈ। ਜੇ \"ਸੰਦ-ਪੱਟੀ"
+"\" ਨੂੰ ਚà©à¨£à¨¿à¨† ਗਿਆ ਤਾਂ, ਗਨੋਮ ਸੰਦ-ਪੱਟੀ ਵਿਵਸਥਾ ਰਾਹੀਂ ਹੀ ਬਟਨਾਂ ਦੀ ਸ਼ੈਲੀ ਨਿਰਧਾਰਿਤ ਕੀਤੀ ਜਾਵੇਗੀ।"
#: shell/apps_evolution_shell.schemas.in.in.h:18
msgid "Toolbar is visible"
@@ -15134,25 +15128,25 @@ msgstr "ਬੱਗ-ਬੱਡੀ ਨੂੰ ਚਲਾਇਆ ਨਹੀਂ ਜਾ ਸ
#. The translator-credits string is for translators to list
#. * per language credits for translation, displayed in the
#. * about box
-#: shell/e-shell-window-commands.c:428
+#: shell/e-shell-window-commands.c:501
msgid "translator-credits"
msgstr ""
"ਅਮਨਪà©à¨°à©€à¨¤ ਸਿੰਘ ਆਲਮ (amanpreetalam@yahoo.com)\n"
"ਪੰਜਾਬ ਲੀਨਕਸ ਤਕਨਾਲੋਜੀ (http://punlinux.sf.net)"
-#: shell/e-shell-window-commands.c:442
+#: shell/e-shell-window-commands.c:515
msgid "Groupware Suite"
msgstr "ਸਮੂਹਿਕ ਸਰੂਪ"
-#: shell/e-shell-window-commands.c:669
+#: shell/e-shell-window-commands.c:742
msgid "_Work Online"
msgstr "ਆਨਲਾਇਨ(_W)"
-#: shell/e-shell-window-commands.c:682 ui/evolution.xml.h:51
+#: shell/e-shell-window-commands.c:755 ui/evolution.xml.h:51
msgid "_Work Offline"
msgstr "ਆਫਲਾਇਨ(_W)"
-#: shell/e-shell-window-commands.c:695 ui/evolution.xml.h:34
+#: shell/e-shell-window-commands.c:768 ui/evolution.xml.h:34
msgid "Work Offline"
msgstr "ਆਫਲਾਇਨ"
@@ -15177,28 +15171,28 @@ msgstr "%s ਲਈ ਤਬਦੀਲ"
msgid "Uknown system error."
msgstr "ਅਣਪਛਾਤੀ ਸਿਸਟਮ ਗਲਤੀ।"
-#: shell/e-shell.c:806 shell/e-shell.c:807
+#: shell/e-shell.c:800 shell/e-shell.c:801
#, c-format
msgid "%ld KB"
msgstr "%ld ਕਿਬਾ"
-#: shell/e-shell.c:1250 widgets/misc/e-cell-date-edit.c:256
+#: shell/e-shell.c:1254 widgets/misc/e-cell-date-edit.c:256
msgid "OK"
msgstr "ਠੀਕ ਹੈ"
-#: shell/e-shell.c:1252
+#: shell/e-shell.c:1256
msgid "Invalid arguments"
msgstr "ਗਲਤ ਆਰਗੂਮਿੰਟ"
-#: shell/e-shell.c:1254
+#: shell/e-shell.c:1258
msgid "Cannot register on OAF"
msgstr "OAF ਤੇ ਰਜਿਸਟਰ ਨਹੀਂ ਹੋ ਸਕਿਆ ਹੈ"
-#: shell/e-shell.c:1256
+#: shell/e-shell.c:1260
msgid "Configuration Database not found"
msgstr "ਸੰਰਚਨਾ ਡਾਟਾਬੇਸ ਨਹੀਂ ਲੱਭਾ ਹੈ"
-#: shell/e-shell.c:1258
+#: shell/e-shell.c:1262
msgid "Generic error"
msgstr "ਸਧਾਰਨ ਗਲਤੀ"
@@ -15558,8 +15552,8 @@ msgid ""
"then you trust the authenticity of this certificate unless otherwise "
"indicated here"
msgstr ""
-"ਕਿਉਕਿ ਤà©à¨¸à©€à¨‚ ਸਰਟੀਫਿਕੇਟ ਪà©à¨°à¨®à¨¾à¨£à¨¿à¨•à¨¤à¨¾ ਤੇ ਭਰੋਸਾਂ ਕਰਦੇ ਹੋ, ਸੋ ਤà©à¨¸à©€ ਇਸ ਸਰਟੀਫਿਕੇਟ ਤੇ ਭਰੋਸਾ ਕਰ ਸਕਦੇ ਹੋ, "
-"ਜਦੋਂ ਤੱਕ ਕਿ ਦਿਖਾਇਆ ਨਾ ਗਿਆ ਹੋਵੇ"
+"ਕਿਉਕਿ ਤà©à¨¸à©€à¨‚ ਸਰਟੀਫਿਕੇਟ ਪà©à¨°à¨®à¨¾à¨£à¨¿à¨•à¨¤à¨¾ ਤੇ ਭਰੋਸਾਂ ਕਰਦੇ ਹੋ, ਸੋ ਤà©à¨¸à©€ ਇਸ ਸਰਟੀਫਿਕੇਟ ਤੇ ਭਰੋਸਾ ਕਰ ਸਕਦੇ "
+"ਹੋ, ਜਦੋਂ ਤੱਕ ਕਿ ਦਿਖਾਇਆ ਨਾ ਗਿਆ ਹੋਵੇ"
#: smime/gui/cert-trust-dialog.c:149
msgid ""
@@ -17718,8 +17712,8 @@ msgid ""
"Mouse-based interactive map widget for selecting timezone. Keyboard users "
"should select the timezone from the below combo box instead."
msgstr ""
-"ਸਮਾਂ-ਖੇਤਰ ਚà©à¨£à¨¨ ਲਈ ਮਾਊਸ-ਅਧਾਰਿਤ ਸà©à©°à¨¦à¨° ਨਕਸ਼ਾ ਹੈ। ਕੀ-ਬੋਰਡ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਾਲੇ ਸਮਾਂ-ਖੇਤਰ "
-"ਲਈ ਹੇਠਾਂ ਦਿੱਤਾ ਕੰਬੋਸਮਾਂ ਖੇਤਰ ਬਕਸਾ ਵਰਤ ਸਕਦੇ ਹਨ।"
+"ਸਮਾਂ-ਖੇਤਰ ਚà©à¨£à¨¨ ਲਈ ਮਾਊਸ-ਅਧਾਰਿਤ ਸà©à©°à¨¦à¨° ਨਕਸ਼ਾ ਹੈ। ਕੀ-ਬੋਰਡ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਾਲੇ ਸਮਾਂ-ਖੇਤਰ ਲਈ ਹੇਠਾਂ "
+"ਦਿੱਤਾ ਕੰਬੋਸਮਾਂ ਖੇਤਰ ਬਕਸਾ ਵਰਤ ਸਕਦੇ ਹਨ।"
#: widgets/misc/e-pilot-settings.c:103
msgid "Sync with:"
diff --git a/po/pl.po b/po/pl.po
index d20c1c4b7f..415643cca1 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -1,7 +1,7 @@
# Copyright (C) 2001-2005 Free Software Foundation, Inc.
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-# Aktualną wersję tego pliku możesz odnaleźć w repozytorium cvs.gnome.pl
-# (:pserver:anonymous@cvs.gnome.pl:/gnomepl, puste hasło)
+# Aktualną wersję tego pliku możesz odnaleźć w repozytorium cvs.gnomepl.org
+# (:pserver:anonymous@cvs.gnomepl.org:/gnomepl, puste hasło)
# Jeśli masz jakiekolwiek uwagi odnoszące się do tłumaczenia lub chcesz
# pomóc w jego rozwijaniu i pielęgnowaniu, napisz do nas na adres:
# translators@gnomepl.org
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: evolution\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-02-19 14:57+0100\n"
+"POT-Creation-Date: 2005-03-15 09:14+0100\n"
"PO-Revision-Date: 2004-01-28 14:18+0100\n"
"Last-Translator: GNOME PL Team <translators@gnomepl.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -29,12 +29,12 @@ msgid "evolution addressbook"
msgstr "książka adresowa evolution"
#: ../a11y/addressbook/ea-minicard-view.c:34
-#: ../addressbook/gui/component/addressbook-component.c:182
+#: ../addressbook/gui/component/addressbook-component.c:196
msgid "New Contact"
msgstr "Nowy kontakt"
#: ../a11y/addressbook/ea-minicard-view.c:35
-#: ../addressbook/gui/component/addressbook-component.c:190
+#: ../addressbook/gui/component/addressbook-component.c:204
msgid "New Contact List"
msgstr "Nowa lista kontaktów"
@@ -47,7 +47,7 @@ msgstr[1] "bieżący folder książki adresowej zawiera %d karty"
msgstr[2] "bieżący folder książki adresowej zawiera %d kart"
#: ../a11y/addressbook/ea-minicard.c:31
-#: ../calendar/gui/alarm-notify/alarm-queue.c:863
+#: ../calendar/gui/alarm-notify/alarm-queue.c:878
#: ../ui/evolution-message-composer.xml.h:10
msgid "Open"
msgstr "Otwórz"
@@ -150,7 +150,7 @@ msgid "calendar view for one or more days"
msgstr "widok kalendarza dla jednego lub więcej dni"
#: ../a11y/calendar/ea-gnome-calendar.c:187
-#: ../calendar/gui/calendar-component.c:520
+#: ../calendar/gui/calendar-component.c:660
msgid "%A %d %b %Y"
msgstr "%A %d %b %Y"
@@ -161,7 +161,7 @@ msgstr "%A %d %b %Y"
#. You can change the order but don't change the
#. specifiers or add anything.
#: ../a11y/calendar/ea-gnome-calendar.c:190
-#: ../calendar/gui/calendar-component.c:523
+#: ../calendar/gui/calendar-component.c:663
#: ../calendar/gui/e-day-view-top-item.c:719 ../calendar/gui/e-day-view.c:1511
#: ../calendar/gui/e-week-view-main-item.c:321
msgid "%a %d %b"
@@ -170,9 +170,9 @@ msgstr "%a %d %b"
#: ../a11y/calendar/ea-gnome-calendar.c:192
#: ../a11y/calendar/ea-gnome-calendar.c:197
#: ../a11y/calendar/ea-gnome-calendar.c:199
-#: ../calendar/gui/calendar-component.c:525
-#: ../calendar/gui/calendar-component.c:530
-#: ../calendar/gui/calendar-component.c:532
+#: ../calendar/gui/calendar-component.c:665
+#: ../calendar/gui/calendar-component.c:670
+#: ../calendar/gui/calendar-component.c:672
msgid "%a %d %b %Y"
msgstr "%a %d %b %Y"
@@ -180,10 +180,10 @@ msgstr "%a %d %b %Y"
#: ../a11y/calendar/ea-gnome-calendar.c:222
#: ../a11y/calendar/ea-gnome-calendar.c:228
#: ../a11y/calendar/ea-gnome-calendar.c:230
-#: ../calendar/gui/calendar-component.c:544
-#: ../calendar/gui/calendar-component.c:551
-#: ../calendar/gui/calendar-component.c:557
-#: ../calendar/gui/calendar-component.c:559
+#: ../calendar/gui/calendar-component.c:684
+#: ../calendar/gui/calendar-component.c:691
+#: ../calendar/gui/calendar-component.c:697
+#: ../calendar/gui/calendar-component.c:699
msgid "%d %b %Y"
msgstr "%d %b %Y"
@@ -193,7 +193,7 @@ msgstr "%d %b %Y"
#. month name. You can change the order but don't
#. change the specifiers or add anything.
#: ../a11y/calendar/ea-gnome-calendar.c:220
-#: ../calendar/gui/calendar-component.c:549
+#: ../calendar/gui/calendar-component.c:689
#: ../calendar/gui/e-day-view-top-item.c:723 ../calendar/gui/e-day-view.c:1527
#: ../calendar/gui/e-week-view-main-item.c:335
msgid "%d %b"
@@ -239,17 +239,17 @@ msgstr "widok kalendarza dla miesiÄ…ca"
msgid "calendar view for one or more weeks"
msgstr "widok kalendarza dla jednego lub więcej tygodni"
-#: ../a11y/widgets/ea-calendar-item.c:290
#: ../a11y/widgets/ea-calendar-item.c:296
+#: ../a11y/widgets/ea-calendar-item.c:302
msgid "%d %B %Y"
msgstr "%d %B %Y"
-#: ../a11y/widgets/ea-calendar-item.c:298
+#: ../a11y/widgets/ea-calendar-item.c:304
#, c-format
msgid "Calendar: from %s to %s"
msgstr "Kalendarz: od %s do %s"
-#: ../a11y/widgets/ea-calendar-item.c:333
+#: ../a11y/widgets/ea-calendar-item.c:339
msgid "evolution calendar item"
msgstr "element kalendarza Evolution"
@@ -516,7 +516,7 @@ msgstr "Konfiguracja automatycznego uzupełniania"
#. Create the contacts group
#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:5
#: ../addressbook/gui/component/addressbook-view.c:1119
-#: ../calendar/gui/migration.c:385
+#: ../calendar/gui/calendar-component.c:235 ../calendar/gui/migration.c:385
msgid "Contacts"
msgstr "Kontakty"
@@ -554,64 +554,67 @@ msgstr "ZarzÄ…dzanie certyfikatami S/Mime"
#. create the local source group
#. On This Computer is always first and vFolders is always last
-#: ../addressbook/gui/component/addressbook-component.c:120
+#: ../addressbook/gui/component/addressbook-component.c:133
#: ../addressbook/gui/component/addressbook-migrate.c:493
-#: ../calendar/gui/migration.c:459 ../calendar/gui/migration.c:552
+#: ../calendar/gui/calendar-component.c:208 ../calendar/gui/migration.c:459
+#: ../calendar/gui/migration.c:552 ../calendar/gui/tasks-component.c:188
#: ../mail/em-folder-tree-model.c:197 ../mail/em-folder-tree-model.c:199
-#: ../mail/mail-component.c:270 ../mail/mail-vfolder.c:222
+#: ../mail/mail-component.c:290 ../mail/mail-vfolder.c:222
msgid "On This Computer"
msgstr "Na tym komputerze"
#. Create the default Person addressbook
#. Create the default Person calendar
#. Create the default Person task list
+#. Create the default Person addressbook
#. orange
-#: ../addressbook/gui/component/addressbook-component.c:128
+#: ../addressbook/gui/component/addressbook-component.c:141
#: ../addressbook/gui/component/addressbook-migrate.c:501
#: ../addressbook/gui/contact-editor/contact-editor.glade.h:20
-#: ../calendar/gui/migration.c:467 ../calendar/gui/migration.c:560
-#: ../filter/filter-label.c:123 ../mail/em-migrate.c:1013
-#: ../mail/mail-config.c:77 ../mail/mail-config.glade.h:101
+#: ../calendar/gui/calendar-component.c:216 ../calendar/gui/migration.c:467
+#: ../calendar/gui/migration.c:560 ../calendar/gui/tasks-component.c:196
+#: ../filter/filter-label.c:123 ../mail/em-migrate.c:1043
+#: ../mail/mail-config.c:78 ../mail/mail-config.glade.h:101
msgid "Personal"
msgstr "Osobiste"
#. Create the LDAP source group
-#: ../addressbook/gui/component/addressbook-component.c:136
+#: ../addressbook/gui/component/addressbook-component.c:149
#: ../addressbook/gui/component/addressbook-migrate.c:509
msgid "On LDAP Servers"
msgstr "Na serwerze LDAP"
-#: ../addressbook/gui/component/addressbook-component.c:183
+#: ../addressbook/gui/component/addressbook-component.c:197
msgid "_Contact"
msgstr "_Kontakt"
-#: ../addressbook/gui/component/addressbook-component.c:184
+#: ../addressbook/gui/component/addressbook-component.c:198
msgid "Create a new contact"
msgstr "Tworzy nowy kontakt"
-#: ../addressbook/gui/component/addressbook-component.c:191
+#: ../addressbook/gui/component/addressbook-component.c:205
msgid "Contact _List"
msgstr "Lista _kontaktów"
-#: ../addressbook/gui/component/addressbook-component.c:192
+#: ../addressbook/gui/component/addressbook-component.c:206
msgid "Create a new contact list"
msgstr "Tworzy nową listę kontaktów"
-#: ../addressbook/gui/component/addressbook-component.c:198
-#: ../addressbook/gui/component/addressbook-config.c:1121
+#: ../addressbook/gui/component/addressbook-component.c:212
+#: ../addressbook/gui/component/addressbook-config.c:1120
#: ../addressbook/gui/component/addressbook-view.c:757
msgid "New Address Book"
msgstr "Nowa książka adresowa"
-#: ../addressbook/gui/component/addressbook-component.c:199
+#: ../addressbook/gui/component/addressbook-component.c:213
msgid "Address _Book"
msgstr "_Książka adresowa"
-#: ../addressbook/gui/component/addressbook-component.c:200
+#: ../addressbook/gui/component/addressbook-component.c:214
msgid "Create a new address book"
msgstr "Tworzy nową książkę adresową"
-#: ../addressbook/gui/component/addressbook-component.c:273
+#: ../addressbook/gui/component/addressbook-component.c:287
msgid "Failed upgrading Addressbook settings or folders."
msgstr "Nie można zaktualizować ustawień książki adresowej lub folderów."
@@ -654,7 +657,7 @@ msgstr "Uwierzytelnianie"
#: ../addressbook/gui/component/addressbook-config.c:914
#: ../addressbook/gui/component/ldap-config.glade.h:18
-#: ../mail/mail-dialogs.glade.h:12 ../smime/gui/smime-ui.glade.h:19
+#: ../mail/mail-dialogs.glade.h:8 ../smime/gui/smime-ui.glade.h:19
msgid "Details"
msgstr "Szczegóły"
@@ -666,18 +669,18 @@ msgstr "Wyszukiwanie"
msgid "Downloading"
msgstr "Pobieranie"
-#: ../addressbook/gui/component/addressbook-config.c:1119
+#: ../addressbook/gui/component/addressbook-config.c:1118
#: ../addressbook/gui/component/ldap-config.glade.h:14
msgid "Address Book Properties"
msgstr "Właściwości książki adresowej"
#: ../addressbook/gui/component/addressbook-migrate.c:72
-#: ../calendar/gui/migration.c:142 ../mail/em-migrate.c:1160
+#: ../calendar/gui/migration.c:142 ../mail/em-migrate.c:1190
msgid "Migrating..."
msgstr "Migracja..."
#: ../addressbook/gui/component/addressbook-migrate.c:124
-#: ../calendar/gui/migration.c:189 ../mail/em-migrate.c:1201
+#: ../calendar/gui/migration.c:189 ../mail/em-migrate.c:1231
#, c-format
msgid "Migrating `%s':"
msgstr "Migrowanie \"%s\":"
@@ -735,16 +738,16 @@ msgstr ""
#: ../addressbook/gui/component/addressbook-view.c:758
#: ../addressbook/gui/widgets/e-addressbook-view.c:935
-#: ../calendar/gui/calendar-component.c:386
-#: ../calendar/gui/tasks-component.c:330 ../mail/em-filter-i18n.h:11
+#: ../calendar/gui/calendar-component.c:526
+#: ../calendar/gui/tasks-component.c:430 ../mail/em-filter-i18n.h:11
#: ../ui/evolution-addressbook.xml.h:8 ../ui/evolution-calendar.xml.h:5
#: ../ui/evolution-mail-message.xml.h:24 ../ui/evolution-tasks.xml.h:6
msgid "Delete"
msgstr "Usuń"
#: ../addressbook/gui/component/addressbook-view.c:760
-#: ../calendar/gui/calendar-component.c:387
-#: ../calendar/gui/tasks-component.c:331
+#: ../calendar/gui/calendar-component.c:527
+#: ../calendar/gui/tasks-component.c:431
msgid "Properties..."
msgstr "Właściwości..."
@@ -756,12 +759,12 @@ msgstr "Wybór źródła kontaktu"
msgid "Accessing LDAP Server anonymously"
msgstr "Anonimowy dostęp do serwera LDAP"
-#: ../addressbook/gui/component/addressbook.c:193
+#: ../addressbook/gui/component/addressbook.c:194
#: ../plugins/groupwise-account-setup/camel-gw-listener.c:478
msgid "Failed to authenticate.\n"
msgstr "Nie można dokonać uwierzytelnienia.\n"
-#: ../addressbook/gui/component/addressbook.c:200
+#: ../addressbook/gui/component/addressbook.c:201
#: ../plugins/groupwise-account-setup/camel-gw-listener.c:461
#, c-format
msgid "Enter password for %s (user %s)"
@@ -831,7 +834,7 @@ msgstr "Określa, czy wyświetlać panel podglądu."
#: ../calendar/gui/dialogs/new-task-list.glade.h:1
#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:1
#: ../composer/e-msg-composer-attachment.glade.h:1
-#: ../mail/mail-dialogs.glade.h:6 ../mail/message-tags.glade.h:1
+#: ../mail/mail-dialogs.glade.h:2 ../mail/message-tags.glade.h:1
#: ../plugins/shared-folder/properties.glade.h:1
#: ../widgets/e-timezone-dialog/e-timezone-dialog.glade.h:1
msgid "*"
@@ -887,7 +890,7 @@ msgid "Add Address Book"
msgstr "Dodawanie książki adresowej"
#: ../addressbook/gui/component/ldap-config.glade.h:15
-#: ../mail/em-account-editor.c:292
+#: ../mail/em-account-editor.c:302
msgid "Always"
msgstr "Zawsze"
@@ -922,7 +925,7 @@ msgid "Lo_gin:"
msgstr "_Login:"
#: ../addressbook/gui/component/ldap-config.glade.h:25
-#: ../mail/em-account-editor.c:290
+#: ../mail/em-account-editor.c:300
msgid "Never"
msgstr "Nigdy"
@@ -1046,7 +1049,7 @@ msgid "Using email address"
msgstr "Użycie adresu e-mail"
#: ../addressbook/gui/component/ldap-config.glade.h:42
-#: ../mail/em-account-editor.c:291
+#: ../mail/em-account-editor.c:301
msgid "Whenever Possible"
msgstr "Kiedy możliwe"
@@ -1101,7 +1104,7 @@ msgstr "karty"
#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:12
#: ../calendar/gui/dialogs/alarm-dialog.glade.h:26
#: ../calendar/gui/dialogs/calendar-setup.glade.h:14
-#: ../filter/filter.glade.h:16 ../mail/em-account-editor.c:1825
+#: ../filter/filter.glade.h:16 ../mail/em-account-editor.c:1882
#: ../plugins/calendar-http/calendar-http.c:263
#: ../plugins/calendar-weather/calendar-weather.c:564
msgid "minutes"
@@ -1200,8 +1203,8 @@ msgstr "Telefon"
#: ../addressbook/gui/contact-editor/contact-editor.glade.h:23
#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:235
#: ../addressbook/gui/contact-editor/e-contact-editor.c:199
-#: ../filter/filter-label.c:122 ../mail/em-migrate.c:1012
-#: ../mail/mail-config.c:76 ../mail/mail-config.glade.h:148
+#: ../filter/filter-label.c:122 ../mail/em-migrate.c:1042
+#: ../mail/mail-config.c:77 ../mail/mail-config.glade.h:148
msgid "Work"
msgstr "Praca"
@@ -2431,7 +2434,7 @@ msgstr "ImiÄ™ i _nazwisko:"
msgid "E-_mail:"
msgstr "_E-mail"
-#: ../addressbook/gui/contact-editor/eab-editor.c:319
+#: ../addressbook/gui/contact-editor/eab-editor.c:326
msgid ""
"Are you sure you want\n"
"to delete these contacts?"
@@ -2439,7 +2442,7 @@ msgstr ""
"Czy na pewno chcesz\n"
"usunąć te kontakty?"
-#: ../addressbook/gui/contact-editor/eab-editor.c:322
+#: ../addressbook/gui/contact-editor/eab-editor.c:329
msgid ""
"Are you sure you want\n"
"to delete this contact?"
@@ -2559,7 +2562,7 @@ msgid "Add an email to the List"
msgstr "Dodaje adres e-mail do listy"
#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:5
-#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:820
+#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:817
msgid "Contact List Editor"
msgstr "Edytor listy kontaktów"
@@ -2604,11 +2607,11 @@ msgstr "Książka"
msgid "Is New List"
msgstr "Jest nowÄ… listÄ…"
-#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:710
+#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:707
msgid "_Members"
msgstr "_Członkowie"
-#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:713
+#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:710
msgid "Contact List Members"
msgstr "Członkowie listy kontaktów"
@@ -2718,7 +2721,7 @@ msgstr "Źródło"
#: ../addressbook/gui/widgets/e-addressbook-view.c:244
#: ../calendar/gui/dialogs/meeting-page.etspec.h:11
#: ../calendar/gui/e-calendar-table.etspec.h:13
-#: ../calendar/gui/e-meeting-list-view.c:244
+#: ../calendar/gui/e-meeting-list-view.c:319
#: ../calendar/gui/e-meeting-time-sel.etspec.h:11
msgid "Type"
msgstr "Rodzaj"
@@ -2772,8 +2775,8 @@ msgid "Cut"
msgstr "Wytnij"
#: ../addressbook/gui/widgets/e-addressbook-view.c:933
-#: ../calendar/gui/calendar-component.c:385
-#: ../calendar/gui/tasks-component.c:329 ../ui/evolution-addressbook.xml.h:2
+#: ../calendar/gui/calendar-component.c:525
+#: ../calendar/gui/tasks-component.c:429 ../ui/evolution-addressbook.xml.h:2
#: ../ui/evolution-mail-message.xml.h:9 ../ui/evolution-tasks.xml.h:2
msgid "Copy"
msgstr "Skopiuj"
@@ -2929,7 +2932,7 @@ msgstr "Radio"
#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:33
#: ../calendar/gui/dialogs/meeting-page.etspec.h:9
-#: ../calendar/gui/e-meeting-list-view.c:251
+#: ../calendar/gui/e-meeting-list-view.c:326
#: ../calendar/gui/e-meeting-time-sel.etspec.h:9
msgid "Role"
msgstr "Rola"
@@ -4119,8 +4122,8 @@ msgstr "Lista zadań nie jest zaznaczona do użycia bez podłączenia"
#. calendar:server-version secondary
#: ../calendar/calendar-errors.xml.h:146
-msgid " Some features may not work correctly with your current server version"
-msgstr " Część funkcji może nie działać poprawnie z obecną wersją serwera"
+msgid " Some features may not work correctly with your current server version "
+msgstr " Część funkcji może nie działać poprawnie z obecną wersją serwera "
#: ../calendar/common/authentication.c:49 ../calendar/gui/e-pub-utils.c:301
#: ../smime/gui/component.c:48
@@ -4157,7 +4160,7 @@ msgid "Calendar and Tasks"
msgstr "Kalendarz i zadania"
#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:2
-#: ../calendar/gui/calendar-component.c:1150
+#: ../calendar/gui/calendar-component.c:1290
msgid "Calendars"
msgstr "Kalendarze"
@@ -4191,7 +4194,7 @@ msgstr "Komponent zadań Evolution"
#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:10
#: ../calendar/gui/e-tasks.c:1219 ../calendar/gui/print.c:1822
-#: ../calendar/gui/tasks-component.c:408 ../calendar/gui/tasks-component.c:881
+#: ../calendar/gui/tasks-component.c:508 ../calendar/gui/tasks-component.c:981
#: ../calendar/gui/tasks-control.c:408
#: ../calendar/importers/icalendar-importer.c:83
#: ../calendar/importers/icalendar-importer.c:701
@@ -4285,28 +4288,28 @@ msgstr "położenie"
msgid "start-time"
msgstr "czas rozpoczęcia"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:864
+#: ../calendar/gui/alarm-notify/alarm-queue.c:879
msgid "Dismiss"
msgstr "Zamknij"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:865
+#: ../calendar/gui/alarm-notify/alarm-queue.c:880
msgid "Dismiss All"
msgstr "Zamknij wszystko"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:947
+#: ../calendar/gui/alarm-notify/alarm-queue.c:962
msgid "No summary available."
msgstr "Brak opisu."
-#: ../calendar/gui/alarm-notify/alarm-queue.c:956
-#: ../calendar/gui/alarm-notify/alarm-queue.c:958
+#: ../calendar/gui/alarm-notify/alarm-queue.c:971
+#: ../calendar/gui/alarm-notify/alarm-queue.c:973
msgid "No description available."
msgstr "Brak opisu."
-#: ../calendar/gui/alarm-notify/alarm-queue.c:966
+#: ../calendar/gui/alarm-notify/alarm-queue.c:981
msgid "No location information available."
msgstr "Brak informacji o położeniu."
-#: ../calendar/gui/alarm-notify/alarm-queue.c:982
+#: ../calendar/gui/alarm-notify/alarm-queue.c:997
#, c-format
msgid ""
"Alarm on %s\n"
@@ -4319,12 +4322,12 @@ msgstr ""
"Rozpoczęcie o %s\n"
"Zakończenie o %s"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1084
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1108
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1099
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1123
msgid "Warning"
msgstr "Ostrzeżenie"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1088
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1103
msgid ""
"Evolution does not support calendar reminders with\n"
"email notifications yet, but this reminder was\n"
@@ -4336,7 +4339,7 @@ msgstr ""
"z powiadamianiem za pośrednictwem listów. Zamiast tego\n"
"zostanie wyświetlone zwykłe okno przypomnienia."
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1114
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1129
#, c-format
msgid ""
"An Evolution Calendar reminder is about to trigger. This reminder is "
@@ -4353,7 +4356,7 @@ msgstr ""
"\n"
"Czy na pewno chcesz uruchomić ten program?"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1128
+#: ../calendar/gui/alarm-notify/alarm-queue.c:1143
msgid "Do not ask me about this program again."
msgstr "Bez pytania o ten program w przyszłości."
@@ -4691,7 +4694,7 @@ msgid "Unmatched"
msgstr "Niedopasowane"
#: ../calendar/gui/calendar-commands.c:120
-#: ../calendar/gui/calendar-component.c:568
+#: ../calendar/gui/calendar-component.c:708
#: ../calendar/gui/dialogs/calendar-setup.c:362
#: ../calendar/gui/gnome-cal.c:1942
#: ../plugins/groupwise-account-setup/camel-gw-listener.c:382
@@ -4722,74 +4725,92 @@ msgstr "Usunięcie zdarzeń starszych niż"
msgid "days"
msgstr "dni"
-#: ../calendar/gui/calendar-component.c:384
+#. Create the On the web source group
+#. Create the Webcal source group
+#. Create the LDAP source group
+#: ../calendar/gui/calendar-component.c:223 ../calendar/gui/migration.c:486
+#: ../calendar/gui/migration.c:579 ../calendar/gui/tasks-component.c:204
+msgid "On The Web"
+msgstr "Na sieci web"
+
+#: ../calendar/gui/calendar-component.c:241 ../calendar/gui/migration.c:388
+msgid "Birthdays & Anniversaries"
+msgstr "Urodziny i rocznice"
+
+#. Create the weather group
+#: ../calendar/gui/calendar-component.c:247
+#: ../plugins/calendar-weather/calendar-weather.c:100
+msgid "Weather"
+msgstr "Pogoda"
+
+#: ../calendar/gui/calendar-component.c:524
#: ../calendar/gui/dialogs/calendar-setup.c:442
msgid "New Calendar"
msgstr "Nowy kalendarz"
-#: ../calendar/gui/calendar-component.c:703
+#: ../calendar/gui/calendar-component.c:843
msgid "Failed upgrading calendars."
msgstr "Nie można zaktualizować kalendarzy."
-#: ../calendar/gui/calendar-component.c:999
+#: ../calendar/gui/calendar-component.c:1139
#, c-format
msgid "Unable to open the calendar '%s' for creating events and meetings"
msgstr ""
"Nie można otworzyć kalendarza \"%s\" w celu utworzenia zdarzeń i spotkań"
-#: ../calendar/gui/calendar-component.c:1015
+#: ../calendar/gui/calendar-component.c:1155
msgid "There is no calendar available for creating events and meetings"
msgstr "Brak dostępnego kalendarza do utworzenia zdarzeń i spotkań"
-#: ../calendar/gui/calendar-component.c:1125
+#: ../calendar/gui/calendar-component.c:1265
msgid "Calendar Source Selector"
msgstr "Wybór źródła kalendarza"
-#: ../calendar/gui/calendar-component.c:1316
+#: ../calendar/gui/calendar-component.c:1456
msgid "New appointment"
msgstr "Nowy termin"
-#: ../calendar/gui/calendar-component.c:1317
+#: ../calendar/gui/calendar-component.c:1457
msgid "_Appointment"
msgstr "_Termin"
-#: ../calendar/gui/calendar-component.c:1318
+#: ../calendar/gui/calendar-component.c:1458
msgid "Create a new appointment"
msgstr "Tworzy nowy termin"
-#: ../calendar/gui/calendar-component.c:1324
+#: ../calendar/gui/calendar-component.c:1464
msgid "New meeting"
msgstr "Nowe spotkanie"
-#: ../calendar/gui/calendar-component.c:1325
+#: ../calendar/gui/calendar-component.c:1465
msgid "M_eeting"
msgstr "Spot_kanie"
-#: ../calendar/gui/calendar-component.c:1326
+#: ../calendar/gui/calendar-component.c:1466
msgid "Create a new meeting request"
msgstr "Tworzy nową prośbę o spotkanie"
-#: ../calendar/gui/calendar-component.c:1332
+#: ../calendar/gui/calendar-component.c:1472
msgid "New all day appointment"
msgstr "Nowy termin całodniowy"
-#: ../calendar/gui/calendar-component.c:1333
+#: ../calendar/gui/calendar-component.c:1473
msgid "All Day A_ppointment"
msgstr "T_ermin całodniowy"
-#: ../calendar/gui/calendar-component.c:1334
+#: ../calendar/gui/calendar-component.c:1474
msgid "Create a new all-day appointment"
msgstr "Tworzy nowy termin całodniowy"
-#: ../calendar/gui/calendar-component.c:1340
+#: ../calendar/gui/calendar-component.c:1480
msgid "New calendar"
msgstr "Nowy kalendarz"
-#: ../calendar/gui/calendar-component.c:1341
+#: ../calendar/gui/calendar-component.c:1481
msgid "Cale_ndar"
msgstr "Kale_ndarz"
-#: ../calendar/gui/calendar-component.c:1342
+#: ../calendar/gui/calendar-component.c:1482
msgid "Create a new calendar"
msgstr "Tworzy nowy kalendarz"
@@ -4821,7 +4842,7 @@ msgstr "Nieobsługiwana metoda podczas otwierania kalendarza"
msgid "Permission denied to open the calendar"
msgstr "Brak uprawnień do otwarcia kalendarza"
-#: ../calendar/gui/comp-editor-factory.c:437 ../shell/e-shell.c:1259
+#: ../calendar/gui/comp-editor-factory.c:437 ../shell/e-shell.c:1264
msgid "Unknown error"
msgstr "Nieznany błąd"
@@ -4965,8 +4986,8 @@ msgid "%.0fG"
msgstr "%.0fG"
#: ../calendar/gui/dialogs/cal-attachment-bar.c:298
-#: ../calendar/gui/dialogs/cal-attachment-bar.c:913
-#: ../composer/e-msg-composer-attachment-bar.c:295 ../mail/em-utils.c:436
+#: ../calendar/gui/dialogs/cal-attachment-bar.c:922
+#: ../composer/e-msg-composer-attachment-bar.c:295 ../mail/em-utils.c:438
msgid "attachment"
msgstr "załącznik"
@@ -4979,7 +5000,7 @@ msgstr "_Usuń"
#: ../calendar/gui/dialogs/cal-attachment-bar.c:440
#: ../composer/e-msg-composer-attachment-bar.c:438
-#: ../mail/em-folder-tree.c:2818 ../ui/evolution-mail-list.xml.h:27
+#: ../mail/em-folder-tree.c:2819 ../ui/evolution-mail-list.xml.h:27
msgid "_Properties"
msgstr "_Właściwości"
@@ -5047,7 +5068,7 @@ msgstr "Typ MIME:"
#. g_object_set((GObject *)renderer, "activatable", TRUE, NULL);
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:576
-#: ../mail/em-account-prefs.c:460 ../mail/em-composer-prefs.c:888
+#: ../mail/em-account-prefs.c:476 ../mail/em-composer-prefs.c:888
#: ../plugins/plugin-manager/plugin-manager.c:213
msgid "Enabled"
msgstr "Aktywne"
@@ -5067,16 +5088,16 @@ msgstr "Nie usuwaj"
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:787
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:820
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:853
-#: ../mail/em-account-prefs.c:307 ../mail/em-account-prefs.c:335
-#: ../mail/em-account-prefs.c:366
+#: ../mail/em-account-prefs.c:323 ../mail/em-account-prefs.c:351
+#: ../mail/em-account-prefs.c:382
msgid "Disable"
msgstr "Wyłącz"
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:787
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:820
#: ../calendar/gui/dialogs/cal-prefs-dialog.c:855
-#: ../mail/em-account-prefs.c:307 ../mail/em-account-prefs.c:335
-#: ../mail/em-account-prefs.c:368
+#: ../mail/em-account-prefs.c:323 ../mail/em-account-prefs.c:351
+#: ../mail/em-account-prefs.c:384
msgid "Enable"
msgstr "Aktywne"
@@ -5479,29 +5500,29 @@ msgstr[2] "Załączonych %d listów"
#: ../calendar/gui/dialogs/comp-editor.c:412
#: ../calendar/gui/e-calendar-table.c:1164
#: ../calendar/gui/e-calendar-view.c:1402 ../composer/e-msg-composer.c:2906
-#: ../mail/em-folder-tree.c:1046 ../mail/em-folder-view.c:972
-#: ../mail/message-list.c:1712 ../ui/evolution-addressbook.xml.h:31
+#: ../mail/em-folder-tree.c:1047 ../mail/em-folder-view.c:966
+#: ../mail/message-list.c:1707 ../ui/evolution-addressbook.xml.h:31
#: ../ui/evolution-calendar.xml.h:39 ../ui/evolution-composer-entries.xml.h:7
#: ../ui/evolution-mail-message.xml.h:105 ../ui/evolution-tasks.xml.h:20
msgid "_Copy"
msgstr "S_kopiuj"
#: ../calendar/gui/dialogs/comp-editor.c:413 ../composer/e-msg-composer.c:2907
-#: ../mail/em-folder-tree.c:1047 ../mail/em-folder-tree.c:2311
-#: ../mail/em-folder-view.c:868 ../mail/message-list.c:1713
+#: ../mail/em-folder-tree.c:1048 ../mail/em-folder-tree.c:2312
+#: ../mail/em-folder-view.c:862 ../mail/message-list.c:1708
msgid "_Move"
msgstr "_PrzenieÅ›"
#: ../calendar/gui/dialogs/comp-editor.c:415 ../composer/e-msg-composer.c:2909
-#: ../mail/em-folder-tree.c:1049 ../mail/message-list.c:1715
+#: ../mail/em-folder-tree.c:1050 ../mail/message-list.c:1710
msgid "Cancel _Drag"
msgstr "Anuluj p_rzeciÄ…ganie"
-#: ../calendar/gui/dialogs/comp-editor.c:659
+#: ../calendar/gui/dialogs/comp-editor.c:682
msgid "Could not update object"
msgstr "Nie można uaktualnić obiektu"
-#: ../calendar/gui/dialogs/comp-editor.c:820 ../composer/e-msg-composer.c:2310
+#: ../calendar/gui/dialogs/comp-editor.c:843 ../composer/e-msg-composer.c:2310
#, c-format
msgid "<b>%d</b> File Attached"
msgid_plural "<b>%d</b> Files Attached"
@@ -5509,70 +5530,70 @@ msgstr[0] "<b>%d</b> załączony plik"
msgstr[1] "<b>%d</b> załączone pliki"
msgstr[2] "<b>%d</b> załączonych plików"
-#: ../calendar/gui/dialogs/comp-editor.c:873 ../composer/e-msg-composer.c:2339
+#: ../calendar/gui/dialogs/comp-editor.c:900 ../composer/e-msg-composer.c:2339
msgid "Hide _Attachment Bar (drop attachments here)"
msgstr "Ukrycie p_aska załączników (upuść tutaj załączniki)"
-#: ../calendar/gui/dialogs/comp-editor.c:876
-#: ../calendar/gui/dialogs/comp-editor.c:928 ../composer/e-msg-composer.c:2342
+#: ../calendar/gui/dialogs/comp-editor.c:903
+#: ../calendar/gui/dialogs/comp-editor.c:955 ../composer/e-msg-composer.c:2342
#: ../composer/e-msg-composer.c:3471
msgid "Show _Attachment Bar (drop attachments here)"
msgstr "Wyświetlenie p_aska załączników (upuść tutaj załączniki)"
-#: ../calendar/gui/dialogs/comp-editor.c:952 ../composer/e-msg-composer.c:3493
+#: ../calendar/gui/dialogs/comp-editor.c:979 ../composer/e-msg-composer.c:3493
msgid "Attachment Button: Press space key to toggle attachment bar"
msgstr ""
"Przycisk załącznika: Naciśnij klawisz spacji aby przełączyć pasek załącznika"
-#: ../calendar/gui/dialogs/comp-editor.c:1499
-#: ../calendar/gui/dialogs/comp-editor.c:1542
+#: ../calendar/gui/dialogs/comp-editor.c:1526
+#: ../calendar/gui/dialogs/comp-editor.c:1569
msgid "Edit Appointment"
msgstr "Modyfikacja terminu"
-#: ../calendar/gui/dialogs/comp-editor.c:1505
-#: ../calendar/gui/dialogs/comp-editor.c:1548
+#: ../calendar/gui/dialogs/comp-editor.c:1532
+#: ../calendar/gui/dialogs/comp-editor.c:1575
#, c-format
msgid "Meeting - %s"
msgstr "Spotkanie - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1507
-#: ../calendar/gui/dialogs/comp-editor.c:1550
+#: ../calendar/gui/dialogs/comp-editor.c:1534
+#: ../calendar/gui/dialogs/comp-editor.c:1577
#, c-format
msgid "Appointment - %s"
msgstr "Termin - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1511
-#: ../calendar/gui/dialogs/comp-editor.c:1554
+#: ../calendar/gui/dialogs/comp-editor.c:1538
+#: ../calendar/gui/dialogs/comp-editor.c:1581
#, c-format
msgid "Assigned Task - %s"
msgstr "Przypisane zadanie - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1513
-#: ../calendar/gui/dialogs/comp-editor.c:1556
+#: ../calendar/gui/dialogs/comp-editor.c:1540
+#: ../calendar/gui/dialogs/comp-editor.c:1583
#, c-format
msgid "Task - %s"
msgstr "Zadanie - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1516
-#: ../calendar/gui/dialogs/comp-editor.c:1559
+#: ../calendar/gui/dialogs/comp-editor.c:1543
+#: ../calendar/gui/dialogs/comp-editor.c:1586
#, c-format
msgid "Journal entry - %s"
msgstr "Wpis dziennika - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1527
-#: ../calendar/gui/dialogs/comp-editor.c:1569
+#: ../calendar/gui/dialogs/comp-editor.c:1554
+#: ../calendar/gui/dialogs/comp-editor.c:1596
msgid "No summary"
msgstr "Brak zestawienia"
-#: ../calendar/gui/dialogs/comp-editor.c:2001
-#: ../calendar/gui/dialogs/comp-editor.c:2034
-#: ../calendar/gui/dialogs/comp-editor.c:2058
+#: ../calendar/gui/dialogs/comp-editor.c:2033
+#: ../calendar/gui/dialogs/comp-editor.c:2066
+#: ../calendar/gui/dialogs/comp-editor.c:2090
msgid "Changes made to this item may be discarded if an update arrives"
msgstr ""
"Zmiany dokonane w tym elemencie mogą zostać porzucone, jeśli nadejdzie "
"aktualizacja"
-#: ../calendar/gui/dialogs/comp-editor.c:2082
+#: ../calendar/gui/dialogs/comp-editor.c:2114
msgid "Unable to use current version!"
msgstr "Nie można użyć bieżącej wersji!"
@@ -5664,37 +5685,37 @@ msgstr "Planowanie"
msgid "Invitations"
msgstr "Powiadomienia"
-#: ../calendar/gui/dialogs/event-page.c:725
+#: ../calendar/gui/dialogs/event-page.c:721
msgid "Event with no start date"
msgstr "Zdarzenie bez daty rozpoczęcia"
-#: ../calendar/gui/dialogs/event-page.c:728
+#: ../calendar/gui/dialogs/event-page.c:724
msgid "Event with no end date"
msgstr "Zdarzenie bez daty zakończenia"
-#: ../calendar/gui/dialogs/event-page.c:894
-#: ../calendar/gui/dialogs/task-page.c:561
+#: ../calendar/gui/dialogs/event-page.c:890
+#: ../calendar/gui/dialogs/task-page.c:557
msgid "Start date is wrong"
msgstr "Data poczÄ…tkowa jest niepoprawna"
-#: ../calendar/gui/dialogs/event-page.c:904
+#: ../calendar/gui/dialogs/event-page.c:900
msgid "End date is wrong"
msgstr "Data końcowa jest niepoprawna"
-#: ../calendar/gui/dialogs/event-page.c:927
+#: ../calendar/gui/dialogs/event-page.c:923
msgid "Start time is wrong"
msgstr "Czas poczÄ…tkowy jest niepoprawny"
-#: ../calendar/gui/dialogs/event-page.c:934
+#: ../calendar/gui/dialogs/event-page.c:930
msgid "End time is wrong"
msgstr "Czas końcowy jest niepoprawny"
-#: ../calendar/gui/dialogs/event-page.c:1675
+#: ../calendar/gui/dialogs/event-page.c:1676
#, c-format
msgid "Unable to open the calendar '%s'."
msgstr "Nie można otworzyć kalendarza \"%s\"."
-#: ../calendar/gui/dialogs/event-page.c:1881
+#: ../calendar/gui/dialogs/event-page.c:1882
#, c-format
msgid "%d day before appointment"
msgid_plural "%d days before appointment"
@@ -5702,7 +5723,7 @@ msgstr[0] "dzień przed terminem"
msgstr[1] "%d dni przed terminem"
msgstr[2] "%d dni przed terminem"
-#: ../calendar/gui/dialogs/event-page.c:1889
+#: ../calendar/gui/dialogs/event-page.c:1890
#, c-format
msgid "%d hour before appointment"
msgid_plural "%d hours before appointment"
@@ -5710,7 +5731,7 @@ msgstr[0] "godzinÄ™ przed terminem"
msgstr[1] "%d godziny przed terminem"
msgstr[2] "%d godzin przed terminem"
-#: ../calendar/gui/dialogs/event-page.c:1897
+#: ../calendar/gui/dialogs/event-page.c:1898
#, c-format
msgid "%d minute before appointement"
msgid_plural "%d minutes before appointment"
@@ -5840,9 +5861,9 @@ msgstr "Cza_s rozpoczęcia:"
#: ../calendar/gui/dialogs/meeting-page.glade.h:5
#: ../calendar/gui/e-cal-model-tasks.c:652
#: ../calendar/gui/e-itip-control.c:1104 ../composer/e-msg-composer.c:2117
-#: ../filter/filter-rule.c:878 ../mail/em-account-editor.c:675
-#: ../mail/em-account-editor.c:1273 ../mail/em-account-prefs.c:421
-#: ../mail/em-folder-view.c:999
+#: ../filter/filter-rule.c:878 ../mail/em-account-editor.c:683
+#: ../mail/em-account-editor.c:1288 ../mail/em-account-prefs.c:437
+#: ../mail/em-folder-view.c:993
#: ../plugins/calendar-weather/calendar-weather.c:371
#: ../plugins/calendar-weather/calendar-weather.c:425
#: ../plugins/itip-formatter/itip-formatter.c:1376
@@ -5869,7 +5890,7 @@ msgid "_Delegate To..."
msgstr "_Oddeleguj do..."
#: ../calendar/gui/dialogs/meeting-page.etspec.h:1
-#: ../calendar/gui/e-meeting-list-view.c:235
+#: ../calendar/gui/e-meeting-list-view.c:308
#: ../calendar/gui/e-meeting-time-sel.etspec.h:1
msgid "Attendee"
msgstr "Uczestnik"
@@ -5905,7 +5926,7 @@ msgid "Member"
msgstr "Członek"
#: ../calendar/gui/dialogs/meeting-page.etspec.h:8
-#: ../calendar/gui/e-meeting-list-view.c:258
+#: ../calendar/gui/e-meeting-list-view.c:333
#: ../calendar/gui/e-meeting-time-sel.etspec.h:8
msgid "RSVP"
msgstr "RSVP"
@@ -5913,7 +5934,7 @@ msgstr "RSVP"
#: ../calendar/gui/dialogs/meeting-page.etspec.h:10
#: ../calendar/gui/dialogs/task-editor.c:146
#: ../calendar/gui/e-calendar-table.etspec.h:10
-#: ../calendar/gui/e-meeting-list-view.c:265
+#: ../calendar/gui/e-meeting-list-view.c:340
#: ../calendar/gui/e-meeting-time-sel.etspec.h:10 ../mail/em-filter-i18n.h:63
#: ../mail/message-list.etspec.h:12
msgid "Status"
@@ -5981,32 +6002,32 @@ msgstr "Grupa listy zadań"
msgid "Task List Name"
msgstr "Nazwa listy zadań"
-#: ../calendar/gui/dialogs/recur-comp.c:51
+#: ../calendar/gui/dialogs/recur-comp.c:52
msgid "You are modifying a recurring event, what would you like to modify?"
msgstr "Modyfikujesz zdarzenie okresowe, czy chcesz je zmodyfikować?"
-#: ../calendar/gui/dialogs/recur-comp.c:55
+#: ../calendar/gui/dialogs/recur-comp.c:56
msgid "You are modifying a recurring task, what would you like to modify?"
msgstr "Modyfikujesz zadanie okresowe, czy chcesz je zmodyfikować?"
-#: ../calendar/gui/dialogs/recur-comp.c:59
+#: ../calendar/gui/dialogs/recur-comp.c:60
msgid ""
"You are modifying a recurring journal entry, what would you like to modify?"
msgstr "Modyfikujesz okresowy wpis dziennika, czy chcesz go zmodyfikować?"
-#: ../calendar/gui/dialogs/recur-comp.c:87
+#: ../calendar/gui/dialogs/recur-comp.c:88
msgid "This Instance Only"
msgstr "Tylko ta instancja"
-#: ../calendar/gui/dialogs/recur-comp.c:91
+#: ../calendar/gui/dialogs/recur-comp.c:92
msgid "This and Prior Instances"
msgstr "Ta i wcześniejsze instancje"
-#: ../calendar/gui/dialogs/recur-comp.c:97
+#: ../calendar/gui/dialogs/recur-comp.c:98
msgid "This and Future Instances"
msgstr "Ta i przyszłe instancje"
-#: ../calendar/gui/dialogs/recur-comp.c:102
+#: ../calendar/gui/dialogs/recur-comp.c:103
msgid "All Instances"
msgstr "Wszystkie instancje"
@@ -6140,7 +6161,7 @@ msgstr "Zakończone"
#: ../calendar/gui/dialogs/task-details-page.glade.h:5
#: ../calendar/gui/e-cal-component-preview.c:248
-#: ../calendar/gui/e-calendar-table.c:382 ../mail/message-list.c:1011
+#: ../calendar/gui/e-calendar-table.c:382 ../mail/message-list.c:1007
msgid "High"
msgstr "Wysoki"
@@ -6155,14 +6176,14 @@ msgstr "W trakcie"
#: ../calendar/gui/dialogs/task-details-page.glade.h:7
#: ../calendar/gui/e-cal-component-preview.c:252
-#: ../calendar/gui/e-calendar-table.c:384 ../mail/message-list.c:1009
+#: ../calendar/gui/e-calendar-table.c:384 ../mail/message-list.c:1005
msgid "Low"
msgstr "Niski"
#: ../calendar/gui/dialogs/task-details-page.glade.h:8
#: ../calendar/gui/e-cal-component-preview.c:250
#: ../calendar/gui/e-cal-model.c:899 ../calendar/gui/e-calendar-table.c:383
-#: ../mail/message-list.c:1010
+#: ../mail/message-list.c:1006
msgid "Normal"
msgstr "Zwykły"
@@ -6210,11 +6231,11 @@ msgstr "Zadanie"
msgid "Assignment"
msgstr "PrzyporzÄ…dkowanie"
-#: ../calendar/gui/dialogs/task-page.c:534
+#: ../calendar/gui/dialogs/task-page.c:530
msgid "Due date is wrong"
msgstr "Data docelowa jest niepoprawna"
-#: ../calendar/gui/dialogs/task-page.c:878
+#: ../calendar/gui/dialogs/task-page.c:874
#, c-format
msgid "Unable to open tasks in '%s'."
msgstr "Nie można otworzyć zadań w \"%s\"."
@@ -6367,7 +6388,7 @@ msgstr "%s o %s"
msgid "%s for an unknown trigger type"
msgstr "%s z nieznanym typem warunku"
-#: ../calendar/gui/e-cal-component-preview.c:70 ../mail/em-folder-view.c:2587
+#: ../calendar/gui/e-cal-component-preview.c:70 ../mail/em-folder-view.c:2573
#, c-format
msgid "Click to open %s"
msgstr "Kliknij, aby otworzyć %s"
@@ -6396,7 +6417,7 @@ msgstr "Czas zakończenia:"
#. Status
#: ../calendar/gui/e-cal-component-preview.c:222
#: ../calendar/gui/e-itip-control.c:1132
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:129
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:209
#: ../plugins/itip-formatter/itip-view.c:884
msgid "Status:"
msgstr "Stan:"
@@ -6419,7 +6440,7 @@ msgstr "Data rozpoczęcia"
#: ../calendar/gui/e-cal-list-view.etspec.h:5
#: ../calendar/gui/e-calendar-table.etspec.h:11
-#: ../mail/mail-dialogs.glade.h:21
+#: ../mail/mail-dialogs.glade.h:17
msgid "Summary"
msgstr "Zestawienie"
@@ -6479,7 +6500,7 @@ msgstr "Nie"
#: ../calendar/gui/e-meeting-list-view.c:139
#: ../calendar/gui/e-meeting-list-view.c:153
#: ../calendar/gui/e-meeting-store.c:124 ../calendar/gui/e-meeting-store.c:159
-#: ../calendar/gui/e-meeting-store.c:224 ../mail/em-utils.c:1157
+#: ../calendar/gui/e-meeting-store.c:224 ../mail/em-utils.c:1175
#: ../plugins/itip-formatter/itip-formatter.c:251
#: ../plugins/itip-formatter/itip-formatter.c:1398
#: ../plugins/plugin-manager/plugin-manager.c:72
@@ -6569,8 +6590,8 @@ msgid "Open _Web Page"
msgstr "_Otwórz stronę WWW"
#: ../calendar/gui/e-calendar-table.c:1158
-#: ../calendar/gui/e-calendar-view.c:1396 ../mail/em-folder-view.c:982
-#: ../mail/em-popup.c:493 ../ui/evolution-mail-message.xml.h:124
+#: ../calendar/gui/e-calendar-view.c:1396 ../mail/em-folder-view.c:976
+#: ../mail/em-popup.c:494 ../ui/evolution-mail-message.xml.h:124
msgid "_Save As..."
msgstr "Z_apisz jako..."
@@ -6614,8 +6635,8 @@ msgstr "_Oznacz zadania jako zakończone"
#. FIXME: need to disable for undeletable folders
#: ../calendar/gui/e-calendar-table.c:1176
-#: ../calendar/gui/e-calendar-view.c:1414 ../mail/em-folder-tree.c:2814
-#: ../mail/em-folder-view.c:986 ../ui/evolution-addressbook.xml.h:33
+#: ../calendar/gui/e-calendar-view.c:1414 ../mail/em-folder-tree.c:2815
+#: ../mail/em-folder-view.c:980 ../ui/evolution-addressbook.xml.h:33
#: ../ui/evolution-calendar.xml.h:40 ../ui/evolution-mail-message.xml.h:108
#: ../ui/evolution-tasks.xml.h:21
msgid "_Delete"
@@ -6896,12 +6917,12 @@ msgstr ""
#: ../calendar/gui/e-itip-control.c:1137
#: ../calendar/gui/e-meeting-list-view.c:175
#: ../calendar/gui/e-meeting-store.c:188 ../calendar/gui/e-meeting-store.c:211
-#: ../calendar/gui/itip-utils.c:422
+#: ../calendar/gui/itip-utils.c:421
#: ../plugins/itip-formatter/itip-formatter.c:1389
msgid "Accepted"
msgstr "Zaakceptowane"
-#: ../calendar/gui/e-itip-control.c:1141 ../calendar/gui/itip-utils.c:425
+#: ../calendar/gui/e-itip-control.c:1141 ../calendar/gui/itip-utils.c:424
#: ../plugins/itip-formatter/itip-formatter.c:1392
msgid "Tentatively Accepted"
msgstr "Próbna akceptacja"
@@ -6909,7 +6930,7 @@ msgstr "Próbna akceptacja"
#: ../calendar/gui/e-itip-control.c:1145
#: ../calendar/gui/e-meeting-list-view.c:176
#: ../calendar/gui/e-meeting-store.c:190 ../calendar/gui/e-meeting-store.c:213
-#: ../calendar/gui/itip-utils.c:428 ../calendar/gui/itip-utils.c:454
+#: ../calendar/gui/itip-utils.c:427 ../calendar/gui/itip-utils.c:453
#: ../plugins/itip-formatter/itip-formatter.c:1395
msgid "Declined"
msgstr "Odrzucone"
@@ -7181,7 +7202,7 @@ msgstr "Pobranie stanu wezwanej osoby"
msgid "Send Latest Information"
msgstr "Wysłanie najświeższej informacji"
-#: ../calendar/gui/e-itip-control.c:2375 ../calendar/gui/itip-utils.c:442
+#: ../calendar/gui/e-itip-control.c:2375 ../calendar/gui/itip-utils.c:441
#: ../mail/mail-send-recv.c:414 ../mail/mail-send-recv.c:466
#: ../ui/evolution-mail-global.xml.h:1
msgid "Cancel"
@@ -7437,7 +7458,7 @@ msgid "Updating query"
msgstr "Aktualizowanie zapytania"
#. bonobo displays this string so it must be in locale
-#: ../calendar/gui/gnome-cal.c:2057 ../widgets/menus/gal-view-menus.c:351
+#: ../calendar/gui/gnome-cal.c:2057 ../widgets/menus/gal-view-menus.c:350
msgid "Custom View"
msgstr "WÅ‚asny widok"
@@ -7445,7 +7466,7 @@ msgstr "WÅ‚asny widok"
msgid "Save Custom View"
msgstr "Zapis własnego widoku"
-#: ../calendar/gui/gnome-cal.c:2063 ../widgets/menus/gal-view-menus.c:373
+#: ../calendar/gui/gnome-cal.c:2063 ../widgets/menus/gal-view-menus.c:372
msgid "Define Views..."
msgstr "Zdefiniuj widoki..."
@@ -7526,57 +7547,57 @@ msgstr "Wrzesień"
msgid "_Select Today"
msgstr "Dzi_siaj"
-#: ../calendar/gui/itip-utils.c:271 ../calendar/gui/itip-utils.c:319
-#: ../calendar/gui/itip-utils.c:351
+#: ../calendar/gui/itip-utils.c:270 ../calendar/gui/itip-utils.c:318
+#: ../calendar/gui/itip-utils.c:350
msgid "An organizer must be set."
msgstr "Należy podać organizatora."
-#: ../calendar/gui/itip-utils.c:306
+#: ../calendar/gui/itip-utils.c:305
msgid "At least one attendee is necessary"
msgstr "Wymagany jest co najmniej jeden uczestnik"
-#: ../calendar/gui/itip-utils.c:394 ../calendar/gui/itip-utils.c:503
+#: ../calendar/gui/itip-utils.c:393 ../calendar/gui/itip-utils.c:502
msgid "Event information"
msgstr "Informacja o spotkaniu"
-#: ../calendar/gui/itip-utils.c:396 ../calendar/gui/itip-utils.c:505
+#: ../calendar/gui/itip-utils.c:395 ../calendar/gui/itip-utils.c:504
msgid "Task information"
msgstr "Informacja o zadaniu"
-#: ../calendar/gui/itip-utils.c:398 ../calendar/gui/itip-utils.c:507
+#: ../calendar/gui/itip-utils.c:397 ../calendar/gui/itip-utils.c:506
msgid "Journal information"
msgstr "Informacja dziennika"
-#: ../calendar/gui/itip-utils.c:400 ../calendar/gui/itip-utils.c:525
+#: ../calendar/gui/itip-utils.c:399 ../calendar/gui/itip-utils.c:524
msgid "Free/Busy information"
msgstr "Informacja o zajętości"
-#: ../calendar/gui/itip-utils.c:402
+#: ../calendar/gui/itip-utils.c:401
msgid "Calendar information"
msgstr "Informacja kalendarza"
-#: ../calendar/gui/itip-utils.c:438
+#: ../calendar/gui/itip-utils.c:437
msgid "Updated"
msgstr "Aktualizacja"
-#: ../calendar/gui/itip-utils.c:446
+#: ../calendar/gui/itip-utils.c:445
msgid "Refresh"
msgstr "Odśwież"
-#: ../calendar/gui/itip-utils.c:450
+#: ../calendar/gui/itip-utils.c:449
msgid "Counter-proposal"
msgstr "Kontrpropozycja"
-#: ../calendar/gui/itip-utils.c:521
+#: ../calendar/gui/itip-utils.c:520
#, c-format
msgid "Free/Busy information (%s to %s)"
msgstr "Informacja o zajętości (od %s do %s)"
-#: ../calendar/gui/itip-utils.c:531
+#: ../calendar/gui/itip-utils.c:530
msgid "iCalendar information"
msgstr "Informacja w formacie iCalendar"
-#: ../calendar/gui/itip-utils.c:673
+#: ../calendar/gui/itip-utils.c:672
msgid "You must be an attendee of the event."
msgstr "Musisz należeć do uczestników zdarzenia."
@@ -7604,15 +7625,6 @@ msgstr ""
"\n"
"Zachowaj cierpliwość podczas gdy Evolution będzie migrował foldery..."
-#: ../calendar/gui/migration.c:388
-msgid "Birthdays & Anniversaries"
-msgstr "Urodziny i rocznice"
-
-#. Create the Webcal source group
-#: ../calendar/gui/migration.c:486 ../calendar/gui/migration.c:579
-msgid "On The Web"
-msgstr "Na sieci web"
-
#. FIXME: set proper domain/code
#: ../calendar/gui/migration.c:745 ../calendar/gui/migration.c:912
msgid "Unable to migrate old settings from evolution/config.xmldb"
@@ -7853,11 +7865,11 @@ msgstr "PodglÄ…d wydruku"
msgid "Print Item"
msgstr "Wydruk elementu"
-#: ../calendar/gui/tasks-component.c:328
+#: ../calendar/gui/tasks-component.c:428
msgid "New Task List"
msgstr "Nowa lista zadań"
-#: ../calendar/gui/tasks-component.c:404
+#: ../calendar/gui/tasks-component.c:504
#, c-format
msgid "%d task"
msgid_plural "%d tasks"
@@ -7865,7 +7877,7 @@ msgstr[0] "%d zadanie"
msgstr[1] "%d zadania"
msgstr[2] "%d zadań"
-#: ../calendar/gui/tasks-component.c:406 ../mail/mail-component.c:523
+#: ../calendar/gui/tasks-component.c:506 ../mail/mail-component.c:544
#, c-format
msgid ", %d selected"
msgid_plural ", %d selected"
@@ -7873,57 +7885,57 @@ msgstr[0] ", %d zaznaczone"
msgstr[1] ", %d zaznaczone"
msgstr[2] ", %d zaznaczonych"
-#: ../calendar/gui/tasks-component.c:453
+#: ../calendar/gui/tasks-component.c:553
msgid "Failed upgrading tasks."
msgstr "Nie można zaktualizować zadań."
-#: ../calendar/gui/tasks-component.c:747
+#: ../calendar/gui/tasks-component.c:847
#, c-format
msgid "Unable to open the task list '%s' for creating events and meetings"
msgstr ""
"Nie można otworzyć listy zadań \"%s\" w celu utworzenia zdarzeń i spotkań"
-#: ../calendar/gui/tasks-component.c:762
+#: ../calendar/gui/tasks-component.c:862
msgid "There is no calendar available for creating tasks"
msgstr "Brak dostępnego kalendarza do utworzenia zadań"
-#: ../calendar/gui/tasks-component.c:856
+#: ../calendar/gui/tasks-component.c:956
msgid "Task Source Selector"
msgstr "Wybór źródła zadania"
-#: ../calendar/gui/tasks-component.c:1039
+#: ../calendar/gui/tasks-component.c:1139
msgid "New task"
msgstr "Nowe zadanie"
-#: ../calendar/gui/tasks-component.c:1040
+#: ../calendar/gui/tasks-component.c:1140
msgid "_Task"
msgstr "_Zadanie"
-#: ../calendar/gui/tasks-component.c:1041
+#: ../calendar/gui/tasks-component.c:1141
msgid "Create a new task"
msgstr "Tworzy nowe zadanie"
-#: ../calendar/gui/tasks-component.c:1047
+#: ../calendar/gui/tasks-component.c:1147
msgid "New assigned task"
msgstr "Nowe przypisane zadanie"
-#: ../calendar/gui/tasks-component.c:1048
+#: ../calendar/gui/tasks-component.c:1148
msgid "Assigne_d Task"
msgstr "Przypisane za_danie"
-#: ../calendar/gui/tasks-component.c:1049
+#: ../calendar/gui/tasks-component.c:1149
msgid "Create a new assigned task"
msgstr "Tworzy nowe przypisane zadanie"
-#: ../calendar/gui/tasks-component.c:1055
+#: ../calendar/gui/tasks-component.c:1155
msgid "New task list"
msgstr "Nowa lista zadań"
-#: ../calendar/gui/tasks-component.c:1056
+#: ../calendar/gui/tasks-component.c:1156
msgid "Task l_ist"
msgstr "L_ista zadań"
-#: ../calendar/gui/tasks-component.c:1057
+#: ../calendar/gui/tasks-component.c:1157
msgid "Create a new task list"
msgstr "Tworzy nową listę zadań"
@@ -9526,15 +9538,15 @@ msgstr "Pacyfik/Wallis"
msgid "Pacific/Yap"
msgstr "Pacyfik/Yap"
-#: ../composer/e-msg-composer-hdrs.c:519
+#: ../composer/e-msg-composer-hdrs.c:520
msgid "Posting destination"
msgstr "Cel wysyłania"
-#: ../composer/e-msg-composer-hdrs.c:520
+#: ../composer/e-msg-composer-hdrs.c:521
msgid "Choose folders to post the message to."
msgstr "Wybierz foldery do których będzie wysłana wiadomość."
-#: ../composer/e-msg-composer-hdrs.c:554
+#: ../composer/e-msg-composer-hdrs.c:555
msgid "Click here for the address book"
msgstr "Kliknij tu aby otworzyć książkę adresową"
@@ -9545,45 +9557,45 @@ msgstr "Kliknij tu aby otworzyć książkę adresową"
#. * because that causes from_changed to be called, which
#. * expects the reply_to fields to be initialized.
#.
-#: ../composer/e-msg-composer-hdrs.c:584
+#: ../composer/e-msg-composer-hdrs.c:585
msgid "_Reply-To:"
msgstr "Odpo_wiedź do:"
#.
#. * From
#.
-#: ../composer/e-msg-composer-hdrs.c:591
+#: ../composer/e-msg-composer-hdrs.c:592
msgid "Fr_om:"
msgstr "_Od:"
#.
#. * Subject
#.
-#: ../composer/e-msg-composer-hdrs.c:598
+#: ../composer/e-msg-composer-hdrs.c:599
msgid "S_ubject:"
msgstr "_Temat:"
-#: ../composer/e-msg-composer-hdrs.c:608
+#: ../composer/e-msg-composer-hdrs.c:609
msgid "_To:"
msgstr "_Dla:"
-#: ../composer/e-msg-composer-hdrs.c:609
+#: ../composer/e-msg-composer-hdrs.c:610
msgid "Enter the recipients of the message"
msgstr "Podaj adres odbiorcy listu"
-#: ../composer/e-msg-composer-hdrs.c:612
+#: ../composer/e-msg-composer-hdrs.c:613
msgid "_Cc:"
msgstr "_Cc:"
-#: ../composer/e-msg-composer-hdrs.c:613
+#: ../composer/e-msg-composer-hdrs.c:614
msgid "Enter the addresses that will receive a carbon copy of the message"
msgstr "Podaj adresy, pod które zostanie przesłana kopia listu"
-#: ../composer/e-msg-composer-hdrs.c:616
+#: ../composer/e-msg-composer-hdrs.c:617
msgid "_Bcc:"
msgstr "_Bcc:"
-#: ../composer/e-msg-composer-hdrs.c:617
+#: ../composer/e-msg-composer-hdrs.c:618
msgid ""
"Enter the addresses that will receive a carbon copy of the message without "
"appearing in the recipient list of the message."
@@ -9593,15 +9605,15 @@ msgstr ""
#.
#. * Post-To
#.
-#: ../composer/e-msg-composer-hdrs.c:624
+#: ../composer/e-msg-composer-hdrs.c:625
msgid "_Post To:"
msgstr "_Wyślij do:"
-#: ../composer/e-msg-composer-hdrs.c:629
+#: ../composer/e-msg-composer-hdrs.c:630
msgid "Click here to select folders to post to"
msgstr "Kliknij aby wybrać foldery do których wysłać"
-#: ../composer/e-msg-composer-hdrs.c:635
+#: ../composer/e-msg-composer-hdrs.c:636
msgid "Post To:"
msgstr "Wyślij do:"
@@ -9641,8 +9653,8 @@ msgstr "List bez tytułu"
msgid "Open File"
msgstr "Otwarcie pliku"
-#: ../composer/e-msg-composer.c:2001 ../mail/em-account-editor.c:578
-#: ../mail/em-account-editor.c:623 ../mail/em-account-editor.c:690
+#: ../composer/e-msg-composer.c:2001 ../mail/em-account-editor.c:588
+#: ../mail/em-account-editor.c:633 ../mail/em-account-editor.c:698
msgid "Autogenerated"
msgstr "Wygenerowany automatycznie"
@@ -9655,7 +9667,7 @@ msgstr "Podp_is:"
msgid "Compose a message"
msgstr "Tworzenie listu"
-#: ../composer/e-msg-composer.c:4542
+#: ../composer/e-msg-composer.c:4554
msgid ""
"<b>(The composer contains a non-text message body, which cannot be edited.)"
"<b>"
@@ -9825,7 +9837,7 @@ msgstr ""
"Upewnij się, że w systemie zainstalowane są poprawne wersje pakietów gtkhtml "
"i libgtkhtml."
-#: ../data/evolution.desktop.in.in.h:1 ../shell/main.c:520
+#: ../data/evolution.desktop.in.in.h:1 ../shell/main.c:521
msgid "Evolution"
msgstr "Evolution"
@@ -9961,14 +9973,6 @@ msgstr ""
msgid "Overwrite file?"
msgstr "Nadpisać plik?"
-#: ../e-util/e-passwords.c:472
-msgid "_Remember this password"
-msgstr "_Zapamiętanie hasła"
-
-#: ../e-util/e-passwords.c:473
-msgid "_Remember this password for the remainder of this session"
-msgstr "_Zapamiętanie tego hasła na czas bieżącej sesji"
-
#. strptime format of a weekday, a date and a time,
#. in 12-hour format, without seconds.
#. strftime format of a weekday, a date and a
@@ -10206,20 +10210,20 @@ msgid "Choose a file"
msgstr "Wybór pliku"
#: ../filter/filter-label.c:121 ../mail/em-filter-i18n.h:26
-#: ../mail/em-migrate.c:1011 ../mail/mail-config.c:75
+#: ../mail/em-migrate.c:1041 ../mail/mail-config.c:76
#: ../mail/mail-config.glade.h:90
msgid "Important"
msgstr "Ważne"
#. forest green
-#: ../filter/filter-label.c:124 ../mail/em-migrate.c:1014
-#: ../mail/mail-config.c:78 ../mail/mail-config.glade.h:140
+#: ../filter/filter-label.c:124 ../mail/em-migrate.c:1044
+#: ../mail/mail-config.c:79 ../mail/mail-config.glade.h:140
msgid "To Do"
msgstr "Do zrobienia"
#. blue
-#: ../filter/filter-label.c:125 ../mail/em-migrate.c:1015
-#: ../mail/mail-config.c:79 ../mail/mail-config.glade.h:93
+#: ../filter/filter-label.c:125 ../mail/em-migrate.c:1045
+#: ../mail/mail-config.c:80 ../mail/mail-config.glade.h:93
msgid "Later"
msgstr "Później"
@@ -10391,11 +10395,11 @@ msgstr "Kontrola konfiguracji programu do tworzenia listów Evolution"
msgid "Evolution Mail preferences control"
msgstr "Kontrola preferencji poczty Evolution"
-#: ../mail/GNOME_Evolution_Mail.server.in.in.h:11 ../mail/em-folder-view.c:472
+#: ../mail/GNOME_Evolution_Mail.server.in.in.h:11 ../mail/em-folder-view.c:469
#: ../mail/importers/elm-importer.c:418
#: ../mail/importers/netscape-importer.c:1902
-#: ../mail/importers/pine-importer.c:474 ../mail/mail-component.c:536
-#: ../mail/mail-component.c:587
+#: ../mail/importers/pine-importer.c:474 ../mail/mail-component.c:557
+#: ../mail/mail-component.c:608
msgid "Mail"
msgstr "Poczta"
@@ -10412,12 +10416,12 @@ msgstr "Ustawienia poczty"
msgid "_Mail"
msgstr "_Poczta"
-#: ../mail/em-account-editor.c:377
+#: ../mail/em-account-editor.c:387
#, c-format
msgid "%s License Agreement"
msgstr "Umowa licencyjna %s"
-#: ../mail/em-account-editor.c:384
+#: ../mail/em-account-editor.c:394
#, c-format
msgid ""
"\n"
@@ -10430,47 +10434,67 @@ msgstr ""
"wyświetloną poniżej dla %s\n"
"i zaznacz pole wyboru aby ją zaakceptować\n"
-#: ../mail/em-account-editor.c:454 ../mail/em-filter-folder-element.c:237
+#: ../mail/em-account-editor.c:464 ../mail/em-filter-folder-element.c:237
#: ../mail/em-vfolder-rule.c:494
msgid "Select Folder"
msgstr "Wybór folderu"
-#: ../mail/em-account-editor.c:1817
+#: ../mail/em-account-editor.c:1661 ../mail/mail-config.glade.h:89
+msgid "Identity"
+msgstr "Tożsamość"
+
+#: ../mail/em-account-editor.c:1697 ../mail/mail-config.glade.h:114
+msgid "Receiving Email"
+msgstr "Odbieranie poczty"
+
+#: ../mail/em-account-editor.c:1874
msgid "Automatically check for _new mail every"
msgstr "Automatyczne sprawdzanie _nowych listów co"
+#: ../mail/em-account-editor.c:2042 ../mail/mail-config.glade.h:124
+msgid "Sending Email"
+msgstr "Wysyłanie listów"
+
+#: ../mail/em-account-editor.c:2086 ../mail/mail-config.glade.h:67
+msgid "Defaults"
+msgstr "Domyślne"
+
+#: ../mail/em-account-editor.c:2145 ../mail/mail-config.glade.h:119
+msgid "Security"
+msgstr "Bezpieczeństwo"
+
#. Most sections for this is auto-generated fromt the camel config
-#: ../mail/em-account-editor.c:2086 ../mail/em-account-editor.c:2164
+#: ../mail/em-account-editor.c:2182 ../mail/em-account-editor.c:2256
msgid "Receiving Options"
msgstr "Opcje odbioru"
-#: ../mail/em-account-editor.c:2087 ../mail/em-account-editor.c:2165
+#: ../mail/em-account-editor.c:2183 ../mail/em-account-editor.c:2257
msgid "Checking for New Mail"
msgstr "Sprawdzanie nowej poczty"
-#: ../mail/em-account-editor.c:2509 ../mail/mail-config.glade.h:33
+#: ../mail/em-account-editor.c:2581 ../mail/mail-config.glade.h:33
msgid "Account Editor"
msgstr "Edytor kont"
-#: ../mail/em-account-editor.c:2509 ../mail/mail-config.glade.h:79
+#: ../mail/em-account-editor.c:2581 ../mail/mail-config.glade.h:79
msgid "Evolution Account Assistant"
msgstr "Druid kont Evolution"
#. translators: default account indicator
-#: ../mail/em-account-prefs.c:412
+#: ../mail/em-account-prefs.c:428
msgid "[Default]"
msgstr "[Domyślny]"
-#: ../mail/em-account-prefs.c:466
+#: ../mail/em-account-prefs.c:482
msgid "Account name"
msgstr "Nazwa konta"
-#: ../mail/em-account-prefs.c:468
+#: ../mail/em-account-prefs.c:484
msgid "Protocol"
msgstr "Protokół"
#: ../mail/em-composer-prefs.c:306 ../mail/em-composer-prefs.c:429
-#: ../mail/mail-config.c:934
+#: ../mail/mail-config.c:935
msgid "Unnamed"
msgstr "Bez nazwy"
@@ -10486,18 +10510,18 @@ msgstr "Dodawanie treści podpisu"
msgid "Signature(s)"
msgstr "Podpis(y)"
-#: ../mail/em-composer-utils.c:910
+#: ../mail/em-composer-utils.c:849
msgid "-------- Forwarded Message --------"
msgstr "-------- Przesyłany list ----------"
-#: ../mail/em-composer-utils.c:1526
+#: ../mail/em-composer-utils.c:1459
msgid "an unknown sender"
msgstr "nieznany nadawca"
#. Note to translators: this is the attribution string used when quoting messages.
#. * each ${Variable} gets replaced with a value. To see a full list of available
#. * variables, see em-composer-utils.c:1514
-#: ../mail/em-composer-utils.c:1573
+#: ../mail/em-composer-utils.c:1506
msgid ""
"On ${AbbrevWeekdayName}, ${Year}-${Month}-${Day} at ${24Hour}:${Minute} "
"${TimeZone}, ${Sender} wrote:"
@@ -10643,7 +10667,7 @@ msgstr "Spam"
msgid "Junk Test"
msgstr "Test spamu"
-#: ../mail/em-filter-i18n.h:37 ../mail/em-folder-view.c:998
+#: ../mail/em-filter-i18n.h:37 ../mail/em-folder-view.c:992
#: ../widgets/misc/e-expander.c:189
msgid "Label"
msgstr "Etykieta"
@@ -10753,7 +10777,7 @@ msgstr "rozpoczyna siÄ™ od"
msgid "Stop Processing"
msgstr "Zatrzymanie przetwarzania"
-#: ../mail/em-filter-i18n.h:65 ../mail/em-format-html.c:1533
+#: ../mail/em-filter-i18n.h:65 ../mail/em-format-html.c:1532
#: ../mail/em-format-quote.c:306 ../mail/em-format.c:853
#: ../mail/em-mailer-prefs.c:88 ../mail/message-list.etspec.h:13
#: ../mail/message-tag-followup.c:330
@@ -10802,8 +10826,8 @@ msgstr "<kliknij, aby wybrać folder> "
msgid "Create New Folder"
msgstr "Tworzenie nowego folderu"
-#: ../mail/em-folder-selector.c:166 ../mail/em-folder-tree.c:2527
-#: ../mail/mail-component.c:739 ../plugins/shared-folder/install-shared.c:144
+#: ../mail/em-folder-selector.c:166 ../mail/em-folder-tree.c:2528
+#: ../mail/mail-component.c:770 ../plugins/shared-folder/install-shared.c:144
#: ../plugins/shared-folder/share-folder-common.c:345
msgid "Specify where to create the folder:"
msgstr "Określ miejsce utworzenia folderu:"
@@ -10826,20 +10850,20 @@ msgstr "vFoldery"
msgid "UNMATCHED"
msgstr "NIEPASUJÄ„CE"
-#: ../mail/em-folder-tree-model.c:468 ../mail/mail-component.c:139
+#: ../mail/em-folder-tree-model.c:468 ../mail/mail-component.c:142
msgid "Drafts"
msgstr "Robocze"
#. translators: standard local mailbox names
-#: ../mail/em-folder-tree-model.c:471 ../mail/mail-component.c:138
+#: ../mail/em-folder-tree-model.c:471 ../mail/mail-component.c:141
msgid "Inbox"
msgstr "Odebrane"
-#: ../mail/em-folder-tree-model.c:474 ../mail/mail-component.c:140
+#: ../mail/em-folder-tree-model.c:474 ../mail/mail-component.c:143
msgid "Outbox"
msgstr "WychodzÄ…ce"
-#: ../mail/em-folder-tree-model.c:476 ../mail/mail-component.c:141
+#: ../mail/em-folder-tree-model.c:476 ../mail/mail-component.c:144
msgid "Sent"
msgstr "Wysłane"
@@ -10847,243 +10871,243 @@ msgstr "Wysłane"
msgid "Loading..."
msgstr "Wczytywanie..."
-#: ../mail/em-folder-tree.c:688
+#: ../mail/em-folder-tree.c:689
msgid "Mail Folder Tree"
msgstr "Drzewo foldera poczty"
-#: ../mail/em-folder-tree.c:921
+#: ../mail/em-folder-tree.c:922
#, c-format
msgid "Moving folder %s"
msgstr "Przenoszenie folderu %s"
-#: ../mail/em-folder-tree.c:923
+#: ../mail/em-folder-tree.c:924
#, c-format
msgid "Copying folder %s"
msgstr "Kopiowanie folderu %s"
-#: ../mail/em-folder-tree.c:930 ../mail/message-list.c:1617
+#: ../mail/em-folder-tree.c:931 ../mail/message-list.c:1612
#, c-format
msgid "Moving messages into folder %s"
msgstr "Przenoszenie listów do folderu %s"
-#: ../mail/em-folder-tree.c:932 ../mail/message-list.c:1619
+#: ../mail/em-folder-tree.c:933 ../mail/message-list.c:1614
#, c-format
msgid "Copying messages into folder %s"
msgstr "Kopiowanie listów do folderu %s"
# FIXME - ma ktoÅ› coÅ› lepszego?
-#: ../mail/em-folder-tree.c:948
+#: ../mail/em-folder-tree.c:949
msgid "Cannot drop message(s) into toplevel store"
msgstr "Nie można upuścić listu w głównym folderze"
-#: ../mail/em-folder-tree.c:1044 ../ui/evolution-mail-message.xml.h:106
+#: ../mail/em-folder-tree.c:1045 ../ui/evolution-mail-message.xml.h:106
msgid "_Copy to Folder"
msgstr "S_kopiuj do folderu"
-#: ../mail/em-folder-tree.c:1045 ../ui/evolution-mail-message.xml.h:115
+#: ../mail/em-folder-tree.c:1046 ../ui/evolution-mail-message.xml.h:115
msgid "_Move to Folder"
msgstr "P_rzenieÅ› do folderu"
-#: ../mail/em-folder-tree.c:1750 ../mail/mail-ops.c:1026
+#: ../mail/em-folder-tree.c:1751 ../mail/mail-ops.c:1051
#, c-format
msgid "Scanning folders in \"%s\""
msgstr "Analizowanie folderów w \"%s\""
-#: ../mail/em-folder-tree.c:2023
+#: ../mail/em-folder-tree.c:2024
#, c-format
msgid "Copying `%s' to `%s'"
msgstr "Kopiowanie \"%s\" do \"%s\""
-#: ../mail/em-folder-tree.c:2297 ../mail/em-folder-tree.c:2311
-#: ../mail/em-folder-view.c:868 ../mail/em-folder-view.c:883
+#: ../mail/em-folder-tree.c:2298 ../mail/em-folder-tree.c:2312
+#: ../mail/em-folder-view.c:862 ../mail/em-folder-view.c:877
#: ../mail/importers/evolution-mbox-importer.c:120
#: ../mail/importers/evolution-outlook-importer.c:134
msgid "Select folder"
msgstr "Wybór folderu"
-#: ../mail/em-folder-tree.c:2297 ../mail/em-folder-view.c:883
+#: ../mail/em-folder-tree.c:2298 ../mail/em-folder-view.c:877
msgid "C_opy"
msgstr "Sk_opiuj"
-#: ../mail/em-folder-tree.c:2338
+#: ../mail/em-folder-tree.c:2339
#: ../plugins/shared-folder/share-folder-common.c:138
#, c-format
msgid "Creating folder `%s'"
msgstr "Tworzenie folderu \"%s\""
-#: ../mail/em-folder-tree.c:2527 ../mail/mail-component.c:739
+#: ../mail/em-folder-tree.c:2528 ../mail/mail-component.c:770
#: ../plugins/shared-folder/install-shared.c:144
#: ../plugins/shared-folder/share-folder-common.c:345
msgid "Create folder"
msgstr "Tworzenie folderu"
-#: ../mail/em-folder-tree.c:2720
+#: ../mail/em-folder-tree.c:2721
#, c-format
msgid "Rename the \"%s\" folder to:"
msgstr "Zmiana nazwy folderu \"%s\" na:"
-#: ../mail/em-folder-tree.c:2722
+#: ../mail/em-folder-tree.c:2723
msgid "Rename Folder"
msgstr "Zmiana nazwy folderu"
-#: ../mail/em-folder-tree.c:2728
+#: ../mail/em-folder-tree.c:2729
msgid "Folder names cannot contain '/'"
msgstr "Nazwa folderu nie może zawierać znaku \"/\""
-#: ../mail/em-folder-tree.c:2802 ../ui/evolution-addressbook.xml.h:44
+#: ../mail/em-folder-tree.c:2803 ../ui/evolution-addressbook.xml.h:44
#: ../ui/evolution-mail-global.xml.h:17
#: ../ui/evolution-mail-messagedisplay.xml.h:8
#: ../ui/evolution-message-composer.xml.h:53 ../ui/evolution.xml.h:49
msgid "_View"
msgstr "_Widok"
-#: ../mail/em-folder-tree.c:2803
+#: ../mail/em-folder-tree.c:2804
msgid "Open in _New Window"
msgstr "Otwórz w nowym _oknie"
-#: ../mail/em-folder-tree.c:2807
+#: ../mail/em-folder-tree.c:2808
msgid "_Copy..."
msgstr "S_kopiuj..."
-#: ../mail/em-folder-tree.c:2808
+#: ../mail/em-folder-tree.c:2809
msgid "_Move..."
msgstr "_PrzenieÅ›..."
#. FIXME: need to disable for nochildren folders
-#: ../mail/em-folder-tree.c:2812
+#: ../mail/em-folder-tree.c:2813
msgid "_New Folder..."
msgstr "_Nowy folder..."
-#: ../mail/em-folder-tree.c:2815
+#: ../mail/em-folder-tree.c:2816
msgid "_Rename..."
msgstr "_Zmień nazwę..."
-#: ../mail/em-folder-view.c:976 ../mail/em-popup.c:498
+#: ../mail/em-folder-view.c:970 ../mail/em-popup.c:499
#: ../ui/evolution-mail-message.xml.h:87
msgid "Reply to _All"
msgstr "Odpowiedz wszystki_m"
-#: ../mail/em-folder-view.c:977 ../ui/evolution-mail-message.xml.h:123
+#: ../mail/em-folder-view.c:971 ../ui/evolution-mail-message.xml.h:123
msgid "_Reply to Sender"
msgstr "Odpo_wiedz nadawcy"
-#: ../mail/em-folder-view.c:978 ../mail/em-popup.c:500
+#: ../mail/em-folder-view.c:972 ../mail/em-popup.c:501
#: ../ui/evolution-mail-message.xml.h:110
msgid "_Forward"
msgstr "_Prześlij"
-#: ../mail/em-folder-view.c:981 ../ui/evolution-mail-message.xml.h:109
+#: ../mail/em-folder-view.c:975 ../ui/evolution-mail-message.xml.h:109
msgid "_Edit as New Message..."
msgstr "Z_redaguj jako nowy list..."
-#: ../mail/em-folder-view.c:983
+#: ../mail/em-folder-view.c:977
msgid "_Print"
msgstr "Wy_drukuj"
-#: ../mail/em-folder-view.c:987
+#: ../mail/em-folder-view.c:981
msgid "U_ndelete"
msgstr "_Cofnij usunięcie"
-#: ../mail/em-folder-view.c:988
+#: ../mail/em-folder-view.c:982
msgid "Mo_ve to Folder..."
msgstr "P_rzenieÅ› do folderu..."
-#: ../mail/em-folder-view.c:989 ../ui/evolution-addressbook.xml.h:32
+#: ../mail/em-folder-view.c:983 ../ui/evolution-addressbook.xml.h:32
msgid "_Copy to Folder..."
msgstr "S_kopiuj do folderu..."
-#: ../mail/em-folder-view.c:992
+#: ../mail/em-folder-view.c:986
msgid "Mark as _Important"
msgstr "Oz_nacz jako ważne"
-#: ../mail/em-folder-view.c:993
+#: ../mail/em-folder-view.c:987
msgid "_Mark as Unimportant"
msgstr "Ozn_acz jako nieważne"
-#: ../mail/em-folder-view.c:994 ../ui/evolution-mail-message.xml.h:54
+#: ../mail/em-folder-view.c:988 ../ui/evolution-mail-message.xml.h:54
msgid "Mark as _Junk"
msgstr "Oznacz jako _spam"
-#: ../mail/em-folder-view.c:995 ../ui/evolution-mail-message.xml.h:55
+#: ../mail/em-folder-view.c:989 ../ui/evolution-mail-message.xml.h:55
msgid "Mark as _Not Junk"
msgstr "Oz_nacz jako ważne"
-#: ../mail/em-folder-view.c:996
+#: ../mail/em-folder-view.c:990
msgid "Mark for Follo_w Up..."
msgstr "Oznacz dla Po_dążania..."
# FIXME - upewnić się, że tak a nie inaczej :)
-#: ../mail/em-folder-view.c:1004
+#: ../mail/em-folder-view.c:998
msgid "Fla_g Completed"
msgstr "_Oznacz jako zakończone"
-#: ../mail/em-folder-view.c:1005
+#: ../mail/em-folder-view.c:999
msgid "Cl_ear Flag"
msgstr "Wy_czyść flagę"
-#: ../mail/em-folder-view.c:1008
+#: ../mail/em-folder-view.c:1002
msgid "Crea_te Rule From Message"
msgstr "_Utwórz regułę na podstawie listu"
-#: ../mail/em-folder-view.c:1009
+#: ../mail/em-folder-view.c:1003
msgid "vFolder on _Subject"
msgstr "vFolder w oparciu o _temat"
-#: ../mail/em-folder-view.c:1010
+#: ../mail/em-folder-view.c:1004
msgid "vFolder on Se_nder"
msgstr "vFolder w oparciu o _nadawcÄ™"
-#: ../mail/em-folder-view.c:1011
+#: ../mail/em-folder-view.c:1005
msgid "vFolder on _Recipients"
msgstr "vFolder w oparciu o _odbiorców"
-#: ../mail/em-folder-view.c:1012
+#: ../mail/em-folder-view.c:1006
msgid "vFolder on Mailing _List"
msgstr "vFolder w oparciu o _listÄ™ dyskusyjnÄ…"
-#: ../mail/em-folder-view.c:1016
+#: ../mail/em-folder-view.c:1010
msgid "Filter on Sub_ject"
msgstr "Filtr w oparciu o t_emat"
-#: ../mail/em-folder-view.c:1017
+#: ../mail/em-folder-view.c:1011
msgid "Filter on Sen_der"
msgstr "Filtr w oparciu o n_adawcÄ™"
-#: ../mail/em-folder-view.c:1018
+#: ../mail/em-folder-view.c:1012
msgid "Filter on Re_cipients"
msgstr "Filtr w oparciu o o_dbiorców"
-#: ../mail/em-folder-view.c:1019
+#: ../mail/em-folder-view.c:1013
msgid "Filter on _Mailing List"
msgstr "Filtr w oparciu o li_stÄ™ dyskusyjnÄ…"
#. default charset used in mail view
-#: ../mail/em-folder-view.c:1850 ../mail/em-folder-view.c:1894
+#: ../mail/em-folder-view.c:1844 ../mail/em-folder-view.c:1888
msgid "Default"
msgstr "Domyślne"
-#: ../mail/em-folder-view.c:1993
+#: ../mail/em-folder-view.c:1987
msgid "Print Message"
msgstr "Wydrukuj list"
-#: ../mail/em-folder-view.c:2292
+#: ../mail/em-folder-view.c:2295
msgid "_Copy Link Location"
msgstr "Skopiuj położ_enie odnośnika"
-#: ../mail/em-folder-view.c:2294
+#: ../mail/em-folder-view.c:2297
msgid "Create _vFolder"
msgstr "Utwórz _vFolder"
-#: ../mail/em-folder-view.c:2295
+#: ../mail/em-folder-view.c:2298
msgid "_From this Address"
msgstr "_Z tego adresu"
-#: ../mail/em-folder-view.c:2296
+#: ../mail/em-folder-view.c:2299
msgid "_To this Address"
msgstr "_Na ten adres"
# FIXME - Nie mam pewności , że to o to idzie
-#: ../mail/em-folder-view.c:2582
+#: ../mail/em-folder-view.c:2568
#, c-format
msgid "Click to mail %s"
msgstr "Kliknij aby wysłać %s"
@@ -11301,28 +11325,28 @@ msgid "Bcc"
msgstr "Bcc"
#. pseudo-header
-#: ../mail/em-format-html.c:1537 ../mail/em-format-quote.c:315
+#: ../mail/em-format-html.c:1536 ../mail/em-format-quote.c:315
#: ../mail/em-mailer-prefs.c:986
msgid "Mailer"
msgstr "Program pocztowy"
#. translators: strftime format for local time equivalent in Date header display, with day
-#: ../mail/em-format-html.c:1564
+#: ../mail/em-format-html.c:1563
msgid "<I> (%a, %R %Z)</I>"
msgstr "<I> (%a, %R %Z)</I>"
#. translators: strftime format for local time equivalent in Date header display, without day
-#: ../mail/em-format-html.c:1567
+#: ../mail/em-format-html.c:1566
msgid "<I> (%R %Z)</I>"
msgstr "<I> (%R %Z)</I>"
-#: ../mail/em-format-html.c:1577 ../mail/em-format-quote.c:322
+#: ../mail/em-format-html.c:1576 ../mail/em-format-quote.c:322
#: ../mail/em-format.c:854 ../mail/em-mailer-prefs.c:89
#: ../mail/message-list.etspec.h:2
msgid "Date"
msgstr "Data"
-#: ../mail/em-format-html.c:1600 ../mail/em-format.c:855
+#: ../mail/em-format-html.c:1599 ../mail/em-format.c:855
#: ../mail/em-mailer-prefs.c:90
msgid "Newsgroups"
msgstr "Grupy nowin"
@@ -11379,7 +11403,7 @@ msgstr "Co tydzień"
msgid "Once per month"
msgstr "Co miesiÄ…c"
-#: ../mail/em-migrate.c:1168
+#: ../mail/em-migrate.c:1198
msgid ""
"The location and hierarchy of the Evolution mailbox folders has changed "
"since Evolution 1.x.\n"
@@ -11391,50 +11415,50 @@ msgstr ""
"\n"
"Zachowaj cierpliwość podczas gdy Evolution będzie migrował foldery..."
-#: ../mail/em-migrate.c:1602
+#: ../mail/em-migrate.c:1632
#, c-format
msgid "Unable to create new folder `%s': %s"
msgstr "Nie można utworzyć nowego folderu \"%s\": %s"
-#: ../mail/em-migrate.c:1628
+#: ../mail/em-migrate.c:1658
#, c-format
msgid "Unable to copy folder `%s' to `%s': %s"
msgstr "Nie można skopiować folderu \"%s\" do \"%s\": %s"
-#: ../mail/em-migrate.c:1813
+#: ../mail/em-migrate.c:1843
#, c-format
msgid "Unable to scan for existing mailboxes at `%s': %s"
msgstr "Nie można wyszukać istniejących skrzynek w \"%s\": %s"
-#: ../mail/em-migrate.c:2017
+#: ../mail/em-migrate.c:2047
#, c-format
msgid "Unable to open old POP keep-on-server data `%s': %s"
msgstr ""
"Nie można otworzyć starych danych POP przechowywanych na serwerze \"%s\": %s"
-#: ../mail/em-migrate.c:2031
+#: ../mail/em-migrate.c:2061
#, c-format
msgid "Unable to create POP3 keep-on-server data directory `%s': %s"
msgstr ""
"Nie można utworzyć katalogu danych POP3 przechowywanych na serwerze \"%s\": %"
"s"
-#: ../mail/em-migrate.c:2060
+#: ../mail/em-migrate.c:2090
#, c-format
msgid "Unable to copy POP3 keep-on-server data `%s': %s"
msgstr "Nie można skopiować danych POP3 przechowywanych na serwerze \"%s\": %s"
-#: ../mail/em-migrate.c:2494 ../mail/em-migrate.c:2506
+#: ../mail/em-migrate.c:2561 ../mail/em-migrate.c:2573
#, c-format
msgid "Failed to create local mail storage `%s': %s"
msgstr "Nie można utworzyć lokalnego miejsca przechowywania listów \"%s\": %s"
-#: ../mail/em-migrate.c:2657
+#: ../mail/em-migrate.c:2693
#, c-format
msgid "Unable to create local mail folders at `%s': %s"
msgstr "Nie można utworzyć lokalnych folderów listów \"%s\": %s"
-#: ../mail/em-migrate.c:2675
+#: ../mail/em-migrate.c:2711
msgid ""
"Unable to read settings from previous Evolution install, `evolution/config."
"xmldb' does not exist or is corrupt."
@@ -11442,40 +11466,40 @@ msgstr ""
"Nie można odczytac ustawień z poprzedniej instalacji Evolution, plik "
"\"evolution/config.xmldb\" nie istnieje lub jest uszkodzony."
-#: ../mail/em-popup.c:381
+#: ../mail/em-popup.c:382
msgid "Save As..."
msgstr "Zapisz jako..."
-#: ../mail/em-popup.c:400
+#: ../mail/em-popup.c:401
#, c-format
msgid "untitled_image.%s"
msgstr "nienazwany_obraz.%s"
-#: ../mail/em-popup.c:494
+#: ../mail/em-popup.c:495
msgid "Set as _Background"
msgstr "Ustaw jako _tło"
-#: ../mail/em-popup.c:496
+#: ../mail/em-popup.c:497
msgid "_Reply to sender"
msgstr "Odpo_wiedz nadawcy"
-#: ../mail/em-popup.c:497 ../ui/evolution-mail-message.xml.h:88
+#: ../mail/em-popup.c:498 ../ui/evolution-mail-message.xml.h:88
msgid "Reply to _List"
msgstr "Odpowiedz na _listÄ™"
-#: ../mail/em-popup.c:548
+#: ../mail/em-popup.c:549
msgid "_Open Link in Browser"
msgstr "Otwórz odnośnik w p_rzeglądarce"
-#: ../mail/em-popup.c:549
+#: ../mail/em-popup.c:550
msgid "_Send New Message To..."
msgstr "_Wyślij nowy list do..."
-#: ../mail/em-popup.c:550
+#: ../mail/em-popup.c:551
msgid "_Add to Addressbook"
msgstr "Dodaj d_o książki adresowej"
-#: ../mail/em-popup.c:681
+#: ../mail/em-popup.c:666
#, c-format
msgid "Open in %s..."
msgstr "Otwórz za pomocą programu %s..."
@@ -11509,21 +11533,21 @@ msgstr "Bez wyświetlania tego komunikatu w przyszłości."
msgid "Filters"
msgstr "Filtry"
-#: ../mail/em-utils.c:434
+#: ../mail/em-utils.c:436
msgid "message"
msgstr "list"
-#: ../mail/em-utils.c:543
+#: ../mail/em-utils.c:545
msgid "Save Message..."
msgstr "Zapis wiadomości..."
-#: ../mail/em-utils.c:592
+#: ../mail/em-utils.c:594
msgid "Add address"
msgstr "Dodanie adresu"
# FIXME - upewnić się co to jest
#. Drop filename for messages from a mailbox
-#: ../mail/em-utils.c:1055
+#: ../mail/em-utils.c:1073
#, c-format
msgid "Messages from %s"
msgstr "Listów z %s"
@@ -12215,31 +12239,31 @@ msgstr ""
msgid "Pine"
msgstr "Pine"
-#: ../mail/mail-autofilter.c:74
+#: ../mail/mail-autofilter.c:75
#, c-format
msgid "Mail to %s"
msgstr "List do %s"
-#: ../mail/mail-autofilter.c:238 ../mail/mail-autofilter.c:277
+#: ../mail/mail-autofilter.c:239 ../mail/mail-autofilter.c:278
#, c-format
msgid "Mail from %s"
msgstr "List od %s"
-#: ../mail/mail-autofilter.c:261
+#: ../mail/mail-autofilter.c:262
#, c-format
msgid "Subject is %s"
msgstr "Tematem jest %s"
-#: ../mail/mail-autofilter.c:296
+#: ../mail/mail-autofilter.c:297
#, c-format
msgid "%s mailing list"
msgstr "lista dyskusyjna %s"
-#: ../mail/mail-autofilter.c:365
+#: ../mail/mail-autofilter.c:366
msgid "Add Filter Rule"
msgstr "Dodanie reguły filtru"
-#: ../mail/mail-component.c:484
+#: ../mail/mail-component.c:505
#, c-format
msgid "%d deleted"
msgid_plural "%d deleted"
@@ -12247,7 +12271,7 @@ msgstr[0] "%d usunięty"
msgstr[1] "%d usunięte"
msgstr[2] "%d usuniętych"
-#: ../mail/mail-component.c:486
+#: ../mail/mail-component.c:507
#, c-format
msgid "%d junk"
msgid_plural "%d junk"
@@ -12255,7 +12279,7 @@ msgstr[0] "%d spam"
msgstr[1] "%d spamy"
msgstr[2] "%d spamów"
-#: ../mail/mail-component.c:509
+#: ../mail/mail-component.c:530
#, c-format
msgid "%d draft"
msgid_plural "%d drafts"
@@ -12263,7 +12287,7 @@ msgstr[0] "%d roboczy"
msgstr[1] "%d robocze"
msgstr[2] "%d roboczych"
-#: ../mail/mail-component.c:511
+#: ../mail/mail-component.c:532
#, c-format
msgid "%d sent"
msgid_plural "%d sent"
@@ -12271,7 +12295,7 @@ msgstr[0] "%d wysłany"
msgstr[1] "%d wysłane"
msgstr[2] "%d wysłanych"
-#: ../mail/mail-component.c:513
+#: ../mail/mail-component.c:534
#, c-format
msgid "%d unsent"
msgid_plural "%d unsent"
@@ -12279,7 +12303,7 @@ msgstr[0] "%d nie wysłany"
msgstr[1] "%d nie wysłane"
msgstr[2] "%d nie wysłanych"
-#: ../mail/mail-component.c:517
+#: ../mail/mail-component.c:538
#, c-format
msgid "%d total"
msgid_plural "%d total"
@@ -12287,7 +12311,7 @@ msgstr[0] "%d wszystkich"
msgstr[1] "%d wszystkich"
msgstr[2] "%d wszystkich"
-#: ../mail/mail-component.c:519
+#: ../mail/mail-component.c:540
#, c-format
msgid ", %d unread"
msgid_plural ", %d unread"
@@ -12295,35 +12319,35 @@ msgstr[0] ", %d nieprzeczytany"
msgstr[1] ", %d nieprzeczytane"
msgstr[2] ", %d nieprzeczytanych"
-#: ../mail/mail-component.c:691
+#: ../mail/mail-component.c:722
msgid "New Mail Message"
msgstr "Nowy list"
-#: ../mail/mail-component.c:692
+#: ../mail/mail-component.c:723
msgid "_Mail Message"
msgstr "_List"
-#: ../mail/mail-component.c:693
+#: ../mail/mail-component.c:724
msgid "Compose a new mail message"
msgstr "Tworzy nowy list"
-#: ../mail/mail-component.c:699
+#: ../mail/mail-component.c:730
msgid "New Mail Folder"
msgstr "Nowy folder poczty"
-#: ../mail/mail-component.c:700
+#: ../mail/mail-component.c:731
msgid "Mail _Folder"
msgstr "F_older poczty"
-#: ../mail/mail-component.c:701
+#: ../mail/mail-component.c:732
msgid "Create a new mail folder"
msgstr "Tworzy nowy folder poczty"
-#: ../mail/mail-component.c:848
+#: ../mail/mail-component.c:879
msgid "Failed upgrading Mail settings or folders."
msgstr "Nie powiodło się zaktualizowanie ustawień poczty lub folderów."
-#: ../mail/mail-config.glade.h:1 ../mail/mail-dialogs.glade.h:5
+#: ../mail/mail-config.glade.h:1 ../mail/mail-dialogs.glade.h:1
msgid " "
msgstr " "
@@ -12575,10 +12599,6 @@ msgstr "D_omyślne"
msgid "Default character e_ncoding:"
msgstr "Domyślne kodowanie z_naków:"
-#: ../mail/mail-config.glade.h:67
-msgid "Defaults"
-msgstr "Domyślne"
-
#: ../mail/mail-config.glade.h:69
msgid "Digitally _sign outgoing messages (by default)"
msgstr "Podpisyw_anie cyfrowe wychodzących listów (domyślnie)"
@@ -12647,10 +12667,6 @@ msgstr "_Wyróżnianie cytatów za pomocą koloru"
msgid "I_nclude remote tests"
msgstr "_Dołączenie zewnętrznych testów"
-#: ../mail/mail-config.glade.h:89
-msgid "Identity"
-msgstr "Tożsamość"
-
#: ../mail/mail-config.glade.h:91
msgid "Inline"
msgstr "W treści listu"
@@ -12737,10 +12753,6 @@ msgstr "Zapa_miętanie hasła"
msgid "Re_ply-To:"
msgstr "O_dpowiedź do:"
-#: ../mail/mail-config.glade.h:114
-msgid "Receiving Email"
-msgstr "Odbieranie poczty"
-
#: ../mail/mail-config.glade.h:115
msgid "Remember _password"
msgstr "Zapamiętanie _hasła"
@@ -12757,10 +12769,6 @@ msgstr "_Zwykła czcionka:"
msgid "Se_lect..."
msgstr "Wy_bierz..."
-#: ../mail/mail-config.glade.h:119
-msgid "Security"
-msgstr "Bezpieczeństwo"
-
#: ../mail/mail-config.glade.h:120
msgid "Select HTML fixed width font"
msgstr "Wybór czcionki o stałej szerokości używanej w HTML-u"
@@ -12777,10 +12785,6 @@ msgstr "Wybór czcionki o zmiennej szerokości używanej w HTML-u"
msgid "Select HTML variable width font for printing"
msgstr "Wybór czcionki o zmiennej szerokości używanej na wydruku"
-#: ../mail/mail-config.glade.h:124
-msgid "Sending Email"
-msgstr "Wysyłanie listów"
-
#: ../mail/mail-config.glade.h:125
msgid "Sending Mail"
msgstr "Wysyłanie listów"
@@ -12956,71 +12960,61 @@ msgstr "kolor"
msgid "description"
msgstr "opis"
-#: ../mail/mail-dialogs.glade.h:1
-msgid ""
-"\n"
-" Please read carefully the license agreement displayed\n"
-" below and tick the check box for accepting it\n"
-msgstr ""
-"\n"
-"Przeczytaj uważnie umowę licencyjną wyświetloną\n"
-"poniżej i zaznacz pole wyboru aby ją zaakceptować\n"
-
-#: ../mail/mail-dialogs.glade.h:7
+#: ../mail/mail-dialogs.glade.h:3
msgid "<b>vFolder Sources</b>"
msgstr "<b>Źródła vFolderów</b>"
-#: ../mail/mail-dialogs.glade.h:8
+#: ../mail/mail-dialogs.glade.h:4
msgid "<span weight=\"bold\">Digital Signature</span>"
msgstr "<span weight=\"bold\">Podpis cyfrowy</span>"
-#: ../mail/mail-dialogs.glade.h:9
+#: ../mail/mail-dialogs.glade.h:5
msgid "<span weight=\"bold\">Encryption</span>"
msgstr "<span weight=\"bold\">Szyfrowanie</span>"
-#: ../mail/mail-dialogs.glade.h:10
+#: ../mail/mail-dialogs.glade.h:6
msgid "Case _Sensitive"
msgstr "Z _rozróżnianiem małych i wielkich liter"
-#: ../mail/mail-dialogs.glade.h:11 ../mail/message-tags.glade.h:2
+#: ../mail/mail-dialogs.glade.h:7 ../mail/message-tags.glade.h:2
msgid "Co_mpleted"
msgstr "Zakończo_ne"
-#: ../mail/mail-dialogs.glade.h:13
+#: ../mail/mail-dialogs.glade.h:9
msgid "F_ind:"
msgstr "Znaj_dź:"
-#: ../mail/mail-dialogs.glade.h:14
+#: ../mail/mail-dialogs.glade.h:10
msgid "Find in Message"
msgstr "Wyszukiwanie w liście"
# FIXME - Albo Zaznacz by kontynuować
-#: ../mail/mail-dialogs.glade.h:15 ../mail/message-tag-followup.c:295
+#: ../mail/mail-dialogs.glade.h:11 ../mail/message-tag-followup.c:295
#: ../mail/message-tags.glade.h:3
msgid "Flag to Follow Up"
msgstr "Znacznik kontynuacji"
-#: ../mail/mail-dialogs.glade.h:16
+#: ../mail/mail-dialogs.glade.h:12
msgid "Folder Subscriptions"
msgstr "Subskrypcje folderów"
-#: ../mail/mail-dialogs.glade.h:17
+#: ../mail/mail-dialogs.glade.h:13
msgid "License Agreement"
msgstr "Umowa licencyjna"
-#: ../mail/mail-dialogs.glade.h:18
+#: ../mail/mail-dialogs.glade.h:14
msgid "None Selected"
msgstr "Niczego nie wybrano"
-#: ../mail/mail-dialogs.glade.h:19
+#: ../mail/mail-dialogs.glade.h:15
msgid "S_erver:"
msgstr "S_erwer:"
-#: ../mail/mail-dialogs.glade.h:20
+#: ../mail/mail-dialogs.glade.h:16
msgid "Security Information"
msgstr "Informacje o zabezpieczeniach"
-#: ../mail/mail-dialogs.glade.h:22 ../mail/message-tags.glade.h:4
+#: ../mail/mail-dialogs.glade.h:18 ../mail/message-tags.glade.h:4
msgid ""
"The messages you have selected for follow up are listed below.\n"
"Please select a follow up action from the \"Flag\" menu."
@@ -13028,43 +13022,43 @@ msgstr ""
"Wiadomości wybrane do kontynuacji są wyświetlone pod spodem.\n"
"Wybierz kontynuuj z menu \"Znacznik\"."
-#: ../mail/mail-dialogs.glade.h:24
+#: ../mail/mail-dialogs.glade.h:20
msgid "_Accept License"
msgstr "Zaakcep_towanie licencji"
-#: ../mail/mail-dialogs.glade.h:25 ../mail/message-tags.glade.h:6
+#: ../mail/mail-dialogs.glade.h:21 ../mail/message-tags.glade.h:6
msgid "_Due By:"
msgstr "_Wykonianie do:"
-#: ../mail/mail-dialogs.glade.h:26 ../mail/message-tags.glade.h:7
+#: ../mail/mail-dialogs.glade.h:22 ../mail/message-tags.glade.h:7
msgid "_Flag:"
msgstr "_Znacznik:"
-#: ../mail/mail-dialogs.glade.h:27
+#: ../mail/mail-dialogs.glade.h:23
msgid "_Subscribe"
msgstr "_Zasubskrybuj"
-#: ../mail/mail-dialogs.glade.h:28
+#: ../mail/mail-dialogs.glade.h:24
msgid "_Tick this to accept the license agreement"
msgstr "Należy zaznaczyć aby zaakceptować umowę _licencyjną"
-#: ../mail/mail-dialogs.glade.h:29
+#: ../mail/mail-dialogs.glade.h:25
msgid "_Unsubscribe"
msgstr "O_dsubskrybuj"
-#: ../mail/mail-dialogs.glade.h:30
+#: ../mail/mail-dialogs.glade.h:26
msgid "specific folders only"
msgstr "tylko określone foldery"
-#: ../mail/mail-dialogs.glade.h:31
+#: ../mail/mail-dialogs.glade.h:27
msgid "with all active remote folders"
msgstr "ze wszystkimi aktywnymi zdalnymi folderami"
-#: ../mail/mail-dialogs.glade.h:32
+#: ../mail/mail-dialogs.glade.h:28
msgid "with all local and active remote folders"
msgstr "ze wszystkimi lokalnymi i aktywnymi zdalnymi folderami"
-#: ../mail/mail-dialogs.glade.h:33
+#: ../mail/mail-dialogs.glade.h:29
msgid "with all local folders"
msgstr "ze wszystkimi lokalnymi folderami"
@@ -13697,7 +13691,7 @@ msgid "Fetching Mail"
msgstr "Pobieranie poczty"
# FIXME - jakieÅ› takie kwadratowe to zdanie
-#: ../mail/mail-ops.c:542 ../mail/mail-ops.c:585
+#: ../mail/mail-ops.c:556 ../mail/mail-ops.c:598
#, c-format
msgid ""
"Failed to append to %s: %s\n"
@@ -13707,105 +13701,105 @@ msgstr ""
"Zamiast tego będzie dodanie do folderu \"Wysłane\"."
#. sending mail, filtering failed
-#: ../mail/mail-ops.c:564
+#: ../mail/mail-ops.c:577
#, c-format
msgid "Failed to apply outgoing filters: %s"
msgstr "Zastosowanie filtrów wychodzących nie powiodło się: %s"
-#: ../mail/mail-ops.c:602
+#: ../mail/mail-ops.c:615
#, c-format
msgid "Failed to append to local `Sent' folder: %s"
msgstr "Dodanie do lokalanego folderu \"Wysłane\" nie powiodło się: %s"
-#: ../mail/mail-ops.c:702
+#: ../mail/mail-ops.c:727
#, c-format
msgid "Sending message %d of %d"
msgstr "Wysyłanie %d. listu z %d"
-#: ../mail/mail-ops.c:727
+#: ../mail/mail-ops.c:752
#, c-format
msgid "Failed to send %d of %d messages"
msgstr "Niepowodzenie przy wysyłaniu %d z %d listów"
-#: ../mail/mail-ops.c:729 ../mail/mail-send-recv.c:613
+#: ../mail/mail-ops.c:754 ../mail/mail-send-recv.c:613
msgid "Cancelled."
msgstr "Anulowano."
-#: ../mail/mail-ops.c:731
+#: ../mail/mail-ops.c:756
msgid "Complete."
msgstr "Gotowe."
-#: ../mail/mail-ops.c:828
+#: ../mail/mail-ops.c:853
msgid "Saving message to folder"
msgstr "Zapisywanie listu w folderze"
-#: ../mail/mail-ops.c:913
+#: ../mail/mail-ops.c:938
#, c-format
msgid "Moving messages to %s"
msgstr "Przenoszenie listów do %s"
-#: ../mail/mail-ops.c:913
+#: ../mail/mail-ops.c:938
#, c-format
msgid "Copying messages to %s"
msgstr "Kopiowanie listów do %s"
-#: ../mail/mail-ops.c:1139
+#: ../mail/mail-ops.c:1164
msgid "Forwarded messages"
msgstr "Przesłane listy"
-#: ../mail/mail-ops.c:1182
+#: ../mail/mail-ops.c:1207
#, c-format
msgid "Opening folder %s"
msgstr "Otwieranie folderu %s"
-#: ../mail/mail-ops.c:1254
+#: ../mail/mail-ops.c:1279
#, c-format
msgid "Opening store %s"
msgstr "Otwieranie miejsca przechowywania %s"
-#: ../mail/mail-ops.c:1332
+#: ../mail/mail-ops.c:1357
#, c-format
msgid "Removing folder %s"
msgstr "Usuwanie folderu %s"
-#: ../mail/mail-ops.c:1426
+#: ../mail/mail-ops.c:1451
#, c-format
msgid "Storing folder '%s'"
msgstr "Zapisywanie folderu \"%s\""
-#: ../mail/mail-ops.c:1491
+#: ../mail/mail-ops.c:1516
#, c-format
msgid "Expunging and storing account '%s'"
msgstr "Oczyszczanie i zapisywanie konta \"%s\""
-#: ../mail/mail-ops.c:1492
+#: ../mail/mail-ops.c:1517
#, c-format
msgid "Storing account '%s'"
msgstr "Zapisywanie konta \"%s\""
-#: ../mail/mail-ops.c:1547
+#: ../mail/mail-ops.c:1572
msgid "Refreshing folder"
msgstr "Odświeżanie folderu"
-#: ../mail/mail-ops.c:1583 ../mail/mail-ops.c:1634
+#: ../mail/mail-ops.c:1608 ../mail/mail-ops.c:1659
msgid "Expunging folder"
msgstr "Oczyszczanie folderu"
-#: ../mail/mail-ops.c:1631
+#: ../mail/mail-ops.c:1656
#, c-format
msgid "Emptying trash in '%s'"
msgstr "Opróżnianie śmietnika w \"%s\""
-#: ../mail/mail-ops.c:1632
+#: ../mail/mail-ops.c:1657
msgid "Local Folders"
msgstr "Lokalne foldery"
-#: ../mail/mail-ops.c:1715
+#: ../mail/mail-ops.c:1740
#, c-format
msgid "Retrieving message %s"
msgstr "Pobieranie listu %s"
-#: ../mail/mail-ops.c:1787
+#: ../mail/mail-ops.c:1812
#, c-format
msgid "Retrieving %d message"
msgid_plural "Retrieving %d messages"
@@ -13813,7 +13807,7 @@ msgstr[0] "Pobieranie %d listu"
msgstr[1] "Pobieranie %d listów"
msgstr[2] "Pobieranie %d listów"
-#: ../mail/mail-ops.c:1873
+#: ../mail/mail-ops.c:1898
#, c-format
msgid "Saving %d message"
msgid_plural "Saving %d messsages"
@@ -13821,7 +13815,7 @@ msgstr[0] "Zapisywanie %d listu"
msgstr[1] "Zapisywanie %d listów"
msgstr[2] "Zapisywanie %d listów"
-#: ../mail/mail-ops.c:1923
+#: ../mail/mail-ops.c:1948
#, c-format
msgid ""
"Unable to create output file: %s\n"
@@ -13830,7 +13824,7 @@ msgstr ""
"Nie można utworzyć pliku wyjściowego: %s\n"
" %s"
-#: ../mail/mail-ops.c:1951
+#: ../mail/mail-ops.c:1976
#, c-format
msgid ""
"Error saving messages to: %s:\n"
@@ -13839,11 +13833,11 @@ msgstr ""
"Błąd przy zapisie listów do: %s:\n"
" %s"
-#: ../mail/mail-ops.c:2022
+#: ../mail/mail-ops.c:2047
msgid "Saving attachment"
msgstr "Zapisywanie załącznika"
-#: ../mail/mail-ops.c:2034
+#: ../mail/mail-ops.c:2059
#, c-format
msgid ""
"Cannot create output file: %s:\n"
@@ -13852,22 +13846,22 @@ msgstr ""
"Nie można utworzyć pliku wyjściowego: %s:\n"
" %s"
-#: ../mail/mail-ops.c:2044
+#: ../mail/mail-ops.c:2069
#, c-format
msgid "Could not write data: %s"
msgstr "Nie można zapisać danych: %s"
-#: ../mail/mail-ops.c:2194
+#: ../mail/mail-ops.c:2219
#, c-format
msgid "Disconnecting from %s"
msgstr "Odłączanie od %s"
-#: ../mail/mail-ops.c:2194
+#: ../mail/mail-ops.c:2219
#, c-format
msgid "Reconnecting to %s"
msgstr "Ponowne nawiązywanie połączenia z %s"
-#: ../mail/mail-ops.c:2310
+#: ../mail/mail-ops.c:2335
msgid "Checking Service"
msgstr "Sprawdzanie usługi"
@@ -13944,16 +13938,16 @@ msgstr "Nie można utworzyć katalogu bufora \"%s\": %s"
msgid "Trying to movemail a non-mbox source `%s'"
msgstr "Próba przeniesienia źródła które nie jest skrzynką pocztową \"%s\""
-#: ../mail/mail-tools.c:277
+#: ../mail/mail-tools.c:241
#, c-format
msgid "Forwarded message - %s"
msgstr "Przesłany list - %s"
-#: ../mail/mail-tools.c:279
+#: ../mail/mail-tools.c:243
msgid "Forwarded message"
msgstr "Przesłany list"
-#: ../mail/mail-tools.c:320
+#: ../mail/mail-tools.c:283
#, c-format
msgid "Invalid folder: `%s'"
msgstr "Niepoprawny folder: \"%s\""
@@ -13981,69 +13975,69 @@ msgstr "Modyfikacja vFolderu"
msgid "New vFolder"
msgstr "Nowy vFolder"
-#: ../mail/message-list.c:999
+#: ../mail/message-list.c:995
msgid "Unseen"
msgstr "Niewidziany"
-#: ../mail/message-list.c:1000
+#: ../mail/message-list.c:996
msgid "Seen"
msgstr "Widziany"
-#: ../mail/message-list.c:1001
+#: ../mail/message-list.c:997
msgid "Answered"
msgstr "Z odpowiedziÄ…"
-#: ../mail/message-list.c:1002
+#: ../mail/message-list.c:998
msgid "Multiple Unseen Messages"
msgstr "Wiele niewidzianych listów"
-#: ../mail/message-list.c:1003
+#: ../mail/message-list.c:999
msgid "Multiple Messages"
msgstr "Wiele listów"
-#: ../mail/message-list.c:1007
+#: ../mail/message-list.c:1003
msgid "Lowest"
msgstr "Najniższy"
-#: ../mail/message-list.c:1008
+#: ../mail/message-list.c:1004
msgid "Lower"
msgstr "Niższy"
-#: ../mail/message-list.c:1012
+#: ../mail/message-list.c:1008
msgid "Higher"
msgstr "Wyższy"
-#: ../mail/message-list.c:1013
+#: ../mail/message-list.c:1009
msgid "Highest"
msgstr "Najwyższy"
-#: ../mail/message-list.c:1341
+#: ../mail/message-list.c:1337
msgid "?"
msgstr "?"
#. strftime format of a time,
#. in 12-hour format, without seconds.
-#: ../mail/message-list.c:1348 ../plugins/itip-formatter/itip-view.c:189
+#: ../mail/message-list.c:1344 ../plugins/itip-formatter/itip-view.c:189
msgid "Today %l:%M %p"
msgstr "DziÅ› %k:%M"
-#: ../mail/message-list.c:1357
+#: ../mail/message-list.c:1353
msgid "Yesterday %l:%M %p"
msgstr "Wczoraj %k:%M"
-#: ../mail/message-list.c:1369
+#: ../mail/message-list.c:1365
msgid "%a %l:%M %p"
msgstr "%a %k:%M"
-#: ../mail/message-list.c:1377
+#: ../mail/message-list.c:1373
msgid "%b %d %l:%M %p"
msgstr "%d %b %k:%M"
-#: ../mail/message-list.c:1379
+#: ../mail/message-list.c:1375
msgid "%b %d %Y"
msgstr "%d %b %Y"
-#: ../mail/message-list.c:2046
+#: ../mail/message-list.c:2041
msgid "Message List"
msgstr "Lista wiadomości"
@@ -14246,10 +14240,6 @@ msgstr "Pogoda: SÅ‚onecznie"
msgid "Weather: Thunderstorms"
msgstr "Pogoda: Burze"
-#: ../plugins/calendar-weather/calendar-weather.c:100
-msgid "Weather"
-msgstr "Pogoda"
-
#: ../plugins/calendar-weather/calendar-weather.c:268
msgid "Select a location"
msgstr "Wybierz położenie"
@@ -14275,12 +14265,12 @@ msgid "Mark as default folder"
msgstr "Oznacz jako domyślny folder"
#. i18n: "Secure Password Authentication" is an Outlookism
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:53
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:59
msgid "Secure Password"
msgstr "Hasło bezpieczne"
#. i18n: "NTLM" probably doesn't translate
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:56
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:62
msgid ""
"This option will connect to the Exchange server using secure password (NTLM) "
"authentication."
@@ -14288,11 +14278,11 @@ msgstr ""
"Opcja ta spowoduje połączenie z serwerem Exchange przy wykorzystaniu "
"bezpiecznego uwierzytelniania (NTLM)."
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:64
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:70
msgid "Plaintext Password"
msgstr "Hasło tekstowe"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:66
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:72
msgid ""
"This option will connect to the Exchange server using standard plaintext "
"password authentication."
@@ -14301,7 +14291,7 @@ msgstr ""
"postaci czystego tekstu."
#. Description section
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:113
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:193
msgid ""
"The message specified below will be automatically sent to \n"
"each person who sends mail to you while you are out of the office."
@@ -14309,37 +14299,39 @@ msgstr ""
"Wiadomość wprowadzona poniżej będzie automatycznie wysyłana \n"
"do każdej osoby, która przyśle list podczas twojej nieobecności."
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:140
-msgid "I am in the office"
-msgstr "Jestem w pracy"
-
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:154
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:221
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:231
msgid "I am out of the office"
msgstr "Jestem poza pracÄ…"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:168
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:224
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:228
+msgid "I am in the office"
+msgstr "Jestem w pracy"
+
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:257
msgid "Out of office Message:"
msgstr "Wiadomość \"poza pracą\":"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:194
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:302
msgid "Exchange Settings"
msgstr "Ustawienia Exchange"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:332
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:448
#: ../plugins/exchange-account-setup/exchange-ask-password.c:200
msgid "_OWA Url:"
msgstr "Adres URL _OWA:"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:340
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:456
#: ../plugins/exchange-account-setup/exchange-ask-password.c:193
msgid "A_uthenticate"
msgstr "_Uwierzytelnienie"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:457
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:664
msgid "Authentication Type"
msgstr "Rodzaj uwierzytelniania"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:471
+#: ../plugins/exchange-account-setup/exchange-account-setup.c:678
msgid "Ch_eck for Supported Types"
msgstr "_Sprawdź obsługiwane typy "
@@ -14967,7 +14959,7 @@ msgstr "Wartości umieszczone w:"
msgid "Comma separated value format (.csv)"
msgstr "Format wartości oddzielonych przecinkiem (.csv)"
-#: ../plugins/save-calendar/ical-format.c:120
+#: ../plugins/save-calendar/ical-format.c:136
msgid "iCalendar format (.ics)"
msgstr "Format iKalendarza (.ics)"
@@ -14976,12 +14968,12 @@ msgid "RDF format (.rdf)"
msgstr "Format RDF (.rdf)"
# FIXME - A może Wybór miejsca docelowego?
-#: ../plugins/save-calendar/save-calendar.c:172
-#: ../plugins/save-calendar/save-calendar.c:182
+#: ../plugins/save-calendar/save-calendar.c:171
+#: ../plugins/save-calendar/save-calendar.c:181
msgid "Select destination file"
msgstr "Wybierz plik docelowy"
-#: ../plugins/save-calendar/save-calendar.c:217
+#: ../plugins/save-calendar/save-calendar.c:216
#, c-format
msgid ""
"The suggested filename extension of this filetype (%s) is unused in the "
@@ -15067,7 +15059,7 @@ msgstr "Użytkownicy"
msgid "Enter the users and set permissions"
msgstr "Wprowadź użytkowników i ustaw uprawnienia"
-#: ../plugins/shared-folder/share-folder-common.c:401
+#: ../plugins/shared-folder/share-folder-common.c:403
msgid "Sharing"
msgstr "Udostępnianie"
@@ -15131,7 +15123,7 @@ msgstr "Ustawienia drukarki"
msgid "Skip development warning dialog"
msgstr "Pominięcie ostrzegawczego okna o rozwojowej wersji"
-#: ../shell/apps_evolution_shell.schemas.in.in.h:11 ../shell/main.c:475
+#: ../shell/apps_evolution_shell.schemas.in.in.h:11 ../shell/main.c:476
msgid "Start in offline mode"
msgstr "Rozpoczyna w trybie bez podłączenia"
@@ -15403,43 +15395,43 @@ msgstr "Nazwa folderu nie może zawierać znaku \"#\"."
msgid "'.' and '..' are reserved folder names."
msgstr "\".\" oraz \"..\" są zarezerwowanymi nazwami folderów."
-#: ../shell/e-shell-window-commands.c:67
+#: ../shell/e-shell-window-commands.c:69
msgid "The GNOME Pilot tools do not appear to be installed on this system."
msgstr "W systemie nie jest zainstalowany GNOME Pilot tools."
-#: ../shell/e-shell-window-commands.c:75
+#: ../shell/e-shell-window-commands.c:77
#, c-format
msgid "Error executing %s."
msgstr "BÅ‚Ä…d przy wykonywaniu %s."
-#: ../shell/e-shell-window-commands.c:124
+#: ../shell/e-shell-window-commands.c:126
msgid "Bug buddy is not installed."
msgstr "Nie zainstalowano programu Bug buddy."
-#: ../shell/e-shell-window-commands.c:132
+#: ../shell/e-shell-window-commands.c:134
msgid "Bug buddy could not be run."
msgstr "Nie można uruchomić Bug buddy."
#. The translator-credits string is for translators to list
#. * per language credits for translation, displayed in the
#. * about box
-#: ../shell/e-shell-window-commands.c:426
+#: ../shell/e-shell-window-commands.c:501
msgid "translator-credits"
-msgstr "GNOME PL Team <translators@gnome.pl>"
+msgstr "GNOME PL Team <translators@gnomepl.org>"
-#: ../shell/e-shell-window-commands.c:440
+#: ../shell/e-shell-window-commands.c:515
msgid "Groupware Suite"
msgstr "Pakiet do pracy grupowej"
-#: ../shell/e-shell-window-commands.c:681
+#: ../shell/e-shell-window-commands.c:742
msgid "_Work Online"
msgstr "Praca _z podłączeniem"
-#: ../shell/e-shell-window-commands.c:694 ../ui/evolution.xml.h:51
+#: ../shell/e-shell-window-commands.c:755 ../ui/evolution.xml.h:51
msgid "_Work Offline"
msgstr "Praca _bez podłączenia"
-#: ../shell/e-shell-window-commands.c:707 ../ui/evolution.xml.h:34
+#: ../shell/e-shell-window-commands.c:768 ../ui/evolution.xml.h:34
msgid "Work Offline"
msgstr "Praca bez podłączenia"
@@ -15460,37 +15452,37 @@ msgstr ""
"pracować w trybie podłączenia do sieci."
# FIXME - sprawdzić formę!!
-#: ../shell/e-shell-window.c:708
+#: ../shell/e-shell-window.c:713
#, c-format
msgid "Switch to %s"
msgstr "Przełącz do %s"
-#: ../shell/e-shell.c:597
+#: ../shell/e-shell.c:598
msgid "Uknown system error."
msgstr "Nieznany błąd systemowy."
-#: ../shell/e-shell.c:805 ../shell/e-shell.c:806
+#: ../shell/e-shell.c:800 ../shell/e-shell.c:801
#, c-format
msgid "%ld KB"
msgstr "%ld KB"
-#: ../shell/e-shell.c:1249 ../widgets/misc/e-cell-date-edit.c:256
+#: ../shell/e-shell.c:1254 ../widgets/misc/e-cell-date-edit.c:256
msgid "OK"
msgstr "OK"
-#: ../shell/e-shell.c:1251
+#: ../shell/e-shell.c:1256
msgid "Invalid arguments"
msgstr "Niepoprawny argumenty"
-#: ../shell/e-shell.c:1253
+#: ../shell/e-shell.c:1258
msgid "Cannot register on OAF"
msgstr "Nie można dokonać rejestracji na serwerze OAF"
-#: ../shell/e-shell.c:1255
+#: ../shell/e-shell.c:1260
msgid "Configuration Database not found"
msgstr "Nie odnaleziono bazy danych konfiguracji"
-#: ../shell/e-shell.c:1257
+#: ../shell/e-shell.c:1262
msgid "Generic error"
msgstr "Błąd ogólny"
@@ -15612,7 +15604,7 @@ msgid "Evolution can import data from the following files:"
msgstr "Można zaimportować do Evolution dane z następujących plików:"
#. Preview/Alpha/Beta version warning message
-#: ../shell/main.c:237
+#: ../shell/main.c:238
#, no-c-format
msgid ""
"Hi. Thanks for taking the time to download this preview release\n"
@@ -15647,7 +15639,7 @@ msgstr ""
"Mamy nadzieję, że spodobają ci się wyniki naszej ciężkiej pracy,\n"
"my zaś będziemy oczekiwać z niecierpliwością na na twoje wsparcie!\n"
-#: ../shell/main.c:261
+#: ../shell/main.c:262
msgid ""
"Thanks\n"
"The Evolution Team\n"
@@ -15655,40 +15647,40 @@ msgstr ""
"Dzięki\n"
"Zespół Evolution\n"
-#: ../shell/main.c:268
+#: ../shell/main.c:269
msgid "Don't tell me again"
msgstr "Nie informuj mnie ponownie"
-#: ../shell/main.c:473
+#: ../shell/main.c:474
msgid "Start Evolution activating the specified component"
msgstr "Rozpoczyna Evolution aktywujÄ…c podany komponent"
-#: ../shell/main.c:477
+#: ../shell/main.c:478
msgid "Start in online mode"
msgstr "Rozpoczyna w trybie z podłączeniem"
-#: ../shell/main.c:480
+#: ../shell/main.c:481
msgid "Forcibly shut down all Evolution components"
msgstr "Wymusza zamknięcie wszystkich komponentów Evolution"
-#: ../shell/main.c:484
+#: ../shell/main.c:485
msgid "Forcibly re-migrate from Evolution 1.4"
msgstr "Wymusza ponownÄ… migracjÄ™ z Evolution 1.4"
-#: ../shell/main.c:487
+#: ../shell/main.c:488
msgid "Send the debugging output of all components to a file."
msgstr ""
"Zapisuje do pliku informacje dotyczące przebiegu wykonania komponentów."
-#: ../shell/main.c:490
+#: ../shell/main.c:491
msgid "Disable the mono plugin environment."
msgstr "Wyłącza środowisko wtyczki mono."
-#: ../shell/main.c:493
+#: ../shell/main.c:494
msgid "Disable loading of any plugins."
msgstr "Wyłącza wczytywanie wtyczek."
-#: ../shell/main.c:524
+#: ../shell/main.c:525
#, c-format
msgid ""
"%s: --online and --offline cannot be used together.\n"
@@ -15872,34 +15864,34 @@ msgstr ""
#: ../smime/gui/certificate-manager.c:134
#: ../smime/gui/certificate-manager.c:142
-#: ../smime/gui/certificate-manager.c:375
-#: ../smime/gui/certificate-manager.c:383
-#: ../smime/gui/certificate-manager.c:595
-#: ../smime/gui/certificate-manager.c:603
+#: ../smime/gui/certificate-manager.c:377
+#: ../smime/gui/certificate-manager.c:385
+#: ../smime/gui/certificate-manager.c:597
+#: ../smime/gui/certificate-manager.c:605
msgid "Select a cert to import..."
msgstr "Wybór importowanego certyfikatu..."
-#: ../smime/gui/certificate-manager.c:263
-#: ../smime/gui/certificate-manager.c:472
-#: ../smime/gui/certificate-manager.c:690
+#: ../smime/gui/certificate-manager.c:265
+#: ../smime/gui/certificate-manager.c:474
+#: ../smime/gui/certificate-manager.c:692
msgid "Certificate Name"
msgstr "Nazwa certyfikatu"
-#: ../smime/gui/certificate-manager.c:272
-#: ../smime/gui/certificate-manager.c:490
+#: ../smime/gui/certificate-manager.c:274
+#: ../smime/gui/certificate-manager.c:492
msgid "Purposes"
msgstr "Zastosowania"
-#: ../smime/gui/certificate-manager.c:281 ../smime/gui/smime-ui.glade.h:36
+#: ../smime/gui/certificate-manager.c:283 ../smime/gui/smime-ui.glade.h:36
#: ../smime/lib/e-cert.c:569
msgid "Serial Number"
msgstr "Numer seryjny"
-#: ../smime/gui/certificate-manager.c:289
+#: ../smime/gui/certificate-manager.c:291
msgid "Expires"
msgstr "Traci ważność"
-#: ../smime/gui/certificate-manager.c:481
+#: ../smime/gui/certificate-manager.c:483
msgid "E-Mail Address"
msgstr "Adres e-mail"
@@ -17780,11 +17772,11 @@ msgstr ""
"strefÄ™ czasowÄ….\n"
"Przyciśnięcie prawego przycisku przywraca zwykłe powiększenie."
-#: ../widgets/menus/gal-view-menus.c:292
+#: ../widgets/menus/gal-view-menus.c:291
msgid "_Current View"
msgstr "_Bieżący widok"
-#: ../widgets/menus/gal-view-menus.c:360
+#: ../widgets/menus/gal-view-menus.c:359
msgid "Save Custom View..."
msgstr "Zapisz dostosowany widok..."
@@ -18074,43 +18066,43 @@ msgstr "Kategorie synchronizacji:"
#. To translators: This is the accessibility name of
#. the search bar's text entry widget
-#: ../widgets/misc/e-search-bar.c:343
+#: ../widgets/misc/e-search-bar.c:345
msgid "Search Text Entry"
msgstr "Wejście wyszukiwanego tekstu"
-#: ../widgets/misc/e-search-bar.c:547
+#: ../widgets/misc/e-search-bar.c:549
msgid "_Search"
msgstr "_Znajdź"
-#: ../widgets/misc/e-search-bar.c:553
+#: ../widgets/misc/e-search-bar.c:555
msgid "_Find Now"
msgstr "_Znajdź teraz"
-#: ../widgets/misc/e-search-bar.c:554 ../widgets/misc/e-search-bar.c:941
+#: ../widgets/misc/e-search-bar.c:556 ../widgets/misc/e-search-bar.c:943
msgid "_Clear"
msgstr "Wy_czyść"
-#: ../widgets/misc/e-search-bar.c:645
+#: ../widgets/misc/e-search-bar.c:647
msgid "Search Type"
msgstr "Rodzaj wyszukiwania"
-#: ../widgets/misc/e-search-bar.c:849
+#: ../widgets/misc/e-search-bar.c:851
msgid "Item ID"
msgstr "ID pozycji"
-#: ../widgets/misc/e-search-bar.c:856
+#: ../widgets/misc/e-search-bar.c:858
msgid "Subitem ID"
msgstr "ID podpozycji"
-#: ../widgets/misc/e-search-bar.c:863
+#: ../widgets/misc/e-search-bar.c:865
msgid "Text"
msgstr "Tekst"
-#: ../widgets/misc/e-search-bar.c:943
+#: ../widgets/misc/e-search-bar.c:945
msgid "Find _Now"
msgstr "Znajdź _teraz"
-#: ../widgets/misc/e-send-options.c:505
+#: ../widgets/misc/e-send-options.c:506
msgid "When de_leted:"
msgstr "Po _usunięciu:"
@@ -18278,6 +18270,21 @@ msgstr "%s (zakończono %d%%)"
msgid "click here to go to url"
msgstr "kliknij, aby przejść do adresu"
+#~ msgid "_Remember this password"
+#~ msgstr "_Zapamiętanie hasła"
+
+#~ msgid "_Remember this password for the remainder of this session"
+#~ msgstr "_Zapamiętanie tego hasła na czas bieżącej sesji"
+
+#~ msgid ""
+#~ "\n"
+#~ " Please read carefully the license agreement displayed\n"
+#~ " below and tick the check box for accepting it\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Przeczytaj uważnie umowę licencyjną wyświetloną\n"
+#~ "poniżej i zaznacz pole wyboru aby ją zaakceptować\n"
+
#~ msgid "Mark as _Unread"
#~ msgstr "Oznacz jako ni_eprzeczytane"
diff --git a/po/pt.po b/po/pt.po
index e3e40bb5b8..4fa8186b1b 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: 2.10\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-02-22 03:18+0000\n"
-"PO-Revision-Date: 2005-02-22 00:25+0000\n"
+"POT-Creation-Date: 2005-03-08 22:51+0000\n"
+"PO-Revision-Date: 2005-03-08 22:55+0000\n"
"Last-Translator: Duarte Loreto <happyguy_pt@hotmail.com>\n"
"Language-Team: Portuguese <gnome_pt@yahoogroups.com>\n"
"MIME-Version: 1.0\n"
@@ -41,7 +41,7 @@ msgstr[0] "pasta do livro de endereços actual tem %d cartão"
msgstr[1] "pasta do livro de endereços actual tem %d cartões"
#: a11y/addressbook/ea-minicard.c:31
-#: calendar/gui/alarm-notify/alarm-queue.c:863
+#: calendar/gui/alarm-notify/alarm-queue.c:878
#: ui/evolution-message-composer.xml.h:10
msgid "Open"
msgstr "Abrir"
@@ -220,16 +220,16 @@ msgstr "vista de calendário para um mês"
msgid "calendar view for one or more weeks"
msgstr "vista de calendário para uma ou mais semanas"
-#: a11y/widgets/ea-calendar-item.c:290 a11y/widgets/ea-calendar-item.c:296
+#: a11y/widgets/ea-calendar-item.c:296 a11y/widgets/ea-calendar-item.c:302
msgid "%d %B %Y"
msgstr "%d %B %Y"
-#: a11y/widgets/ea-calendar-item.c:298
+#: a11y/widgets/ea-calendar-item.c:304
#, c-format
msgid "Calendar: from %s to %s"
msgstr "Calendário: de %s a %s"
-#: a11y/widgets/ea-calendar-item.c:333
+#: a11y/widgets/ea-calendar-item.c:339
msgid "evolution calendar item"
msgstr "item de calendário evolution"
@@ -539,7 +539,7 @@ msgstr "Efectue aqui a gestão dos seus certificados S/MIME"
#: calendar/gui/calendar-component.c:208 calendar/gui/migration.c:459
#: calendar/gui/migration.c:552 calendar/gui/tasks-component.c:188
#: mail/em-folder-tree-model.c:197 mail/em-folder-tree-model.c:199
-#: mail/mail-component.c:270 mail/mail-vfolder.c:222
+#: mail/mail-component.c:290 mail/mail-vfolder.c:222
msgid "On This Computer"
msgstr "Neste Computador"
@@ -553,7 +553,7 @@ msgstr "Neste Computador"
#: addressbook/gui/contact-editor/contact-editor.glade.h:20
#: calendar/gui/calendar-component.c:216 calendar/gui/migration.c:467
#: calendar/gui/migration.c:560 calendar/gui/tasks-component.c:196
-#: filter/filter-label.c:123 mail/em-migrate.c:1013 mail/mail-config.c:77
+#: filter/filter-label.c:123 mail/em-migrate.c:1043 mail/mail-config.c:78
#: mail/mail-config.glade.h:101
msgid "Personal"
msgstr "Pessoal"
@@ -581,7 +581,7 @@ msgid "Create a new contact list"
msgstr "Criar uma nova lista de contactos"
#: addressbook/gui/component/addressbook-component.c:212
-#: addressbook/gui/component/addressbook-config.c:1121
+#: addressbook/gui/component/addressbook-config.c:1120
#: addressbook/gui/component/addressbook-view.c:757
msgid "New Address Book"
msgstr "Novo Livro de Endereços"
@@ -648,18 +648,18 @@ msgstr "A procurar"
msgid "Downloading"
msgstr "A Efectuar Download"
-#: addressbook/gui/component/addressbook-config.c:1119
+#: addressbook/gui/component/addressbook-config.c:1118
#: addressbook/gui/component/ldap-config.glade.h:14
msgid "Address Book Properties"
msgstr "Propriedades do Livro de Endereços"
#: addressbook/gui/component/addressbook-migrate.c:72
-#: calendar/gui/migration.c:142 mail/em-migrate.c:1160
+#: calendar/gui/migration.c:142 mail/em-migrate.c:1190
msgid "Migrating..."
msgstr "A migrar..."
#: addressbook/gui/component/addressbook-migrate.c:124
-#: calendar/gui/migration.c:189 mail/em-migrate.c:1201
+#: calendar/gui/migration.c:189 mail/em-migrate.c:1231
#, c-format
msgid "Migrating `%s':"
msgstr "A migrar `%s':"
@@ -867,7 +867,7 @@ msgid "Add Address Book"
msgstr "Adicionar Livro de Endereços"
#: addressbook/gui/component/ldap-config.glade.h:15
-#: mail/em-account-editor.c:300
+#: mail/em-account-editor.c:302
msgid "Always"
msgstr "Sempre"
@@ -902,7 +902,7 @@ msgid "Lo_gin:"
msgstr "_Sessão:"
#: addressbook/gui/component/ldap-config.glade.h:25
-#: mail/em-account-editor.c:298
+#: mail/em-account-editor.c:300
msgid "Never"
msgstr "Nunca"
@@ -1027,7 +1027,7 @@ msgid "Using email address"
msgstr "Utilizar o endereço de email"
#: addressbook/gui/component/ldap-config.glade.h:42
-#: mail/em-account-editor.c:299
+#: mail/em-account-editor.c:301
msgid "Whenever Possible"
msgstr "Sempre Que Possível"
@@ -1081,7 +1081,7 @@ msgstr "cartões"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:12
#: calendar/gui/dialogs/alarm-dialog.glade.h:26
#: calendar/gui/dialogs/calendar-setup.glade.h:14 filter/filter.glade.h:16
-#: mail/em-account-editor.c:1883 plugins/calendar-http/calendar-http.c:263
+#: mail/em-account-editor.c:1885 plugins/calendar-http/calendar-http.c:263
#: plugins/calendar-weather/calendar-weather.c:564
msgid "minutes"
msgstr "minutos"
@@ -1179,7 +1179,7 @@ msgstr "Telefone"
#: addressbook/gui/contact-editor/contact-editor.glade.h:23
#: addressbook/gui/contact-editor/e-contact-editor-im.c:235
#: addressbook/gui/contact-editor/e-contact-editor.c:199
-#: filter/filter-label.c:122 mail/em-migrate.c:1012 mail/mail-config.c:76
+#: filter/filter-label.c:122 mail/em-migrate.c:1042 mail/mail-config.c:77
#: mail/mail-config.glade.h:148
msgid "Work"
msgstr "Emprego"
@@ -2407,7 +2407,7 @@ msgstr "Nome comp_leto:"
msgid "E-_mail:"
msgstr "E-_mail:"
-#: addressbook/gui/contact-editor/eab-editor.c:324
+#: addressbook/gui/contact-editor/eab-editor.c:326
msgid ""
"Are you sure you want\n"
"to delete these contacts?"
@@ -2415,7 +2415,7 @@ msgstr ""
"Tem a certeza de que deseja\n"
"apagar estes contactos?"
-#: addressbook/gui/contact-editor/eab-editor.c:327
+#: addressbook/gui/contact-editor/eab-editor.c:329
msgid ""
"Are you sure you want\n"
"to delete this contact?"
@@ -2693,7 +2693,7 @@ msgstr "Origem"
#: addressbook/gui/widgets/e-addressbook-view.c:244
#: calendar/gui/dialogs/meeting-page.etspec.h:11
#: calendar/gui/e-calendar-table.etspec.h:13
-#: calendar/gui/e-meeting-list-view.c:244
+#: calendar/gui/e-meeting-list-view.c:319
#: calendar/gui/e-meeting-time-sel.etspec.h:11
msgid "Type"
msgstr "Tipo"
@@ -2903,7 +2903,7 @@ msgstr "Rádio"
#: addressbook/gui/widgets/e-addressbook-view.etspec.h:33
#: calendar/gui/dialogs/meeting-page.etspec.h:9
-#: calendar/gui/e-meeting-list-view.c:251
+#: calendar/gui/e-meeting-list-view.c:326
#: calendar/gui/e-meeting-time-sel.etspec.h:9
msgid "Role"
msgstr "Cargo"
@@ -4097,10 +4097,10 @@ msgstr "A lista de tarefas não está marcada para utilização quando desligado
#. calendar:server-version secondary
#: calendar/calendar-errors.xml.h:146
-msgid " Some features may not work correctly with your current server version"
+msgid " Some features may not work correctly with your current server version "
msgstr ""
" Algumas funcionalidades poderão não funcionar correctamente com a versão "
-"actual do servidor"
+"actual do servidor "
#: calendar/common/authentication.c:49 calendar/gui/e-pub-utils.c:301
#: smime/gui/component.c:48
@@ -4260,28 +4260,28 @@ msgstr "localização"
msgid "start-time"
msgstr "hora de início"
-#: calendar/gui/alarm-notify/alarm-queue.c:864
+#: calendar/gui/alarm-notify/alarm-queue.c:879
msgid "Dismiss"
msgstr "Desactivar"
-#: calendar/gui/alarm-notify/alarm-queue.c:865
+#: calendar/gui/alarm-notify/alarm-queue.c:880
msgid "Dismiss All"
msgstr "Desactivar Todas"
-#: calendar/gui/alarm-notify/alarm-queue.c:947
+#: calendar/gui/alarm-notify/alarm-queue.c:962
msgid "No summary available."
msgstr "Nenhum resumo disponível."
-#: calendar/gui/alarm-notify/alarm-queue.c:956
-#: calendar/gui/alarm-notify/alarm-queue.c:958
+#: calendar/gui/alarm-notify/alarm-queue.c:971
+#: calendar/gui/alarm-notify/alarm-queue.c:973
msgid "No description available."
msgstr "Nenhuma descrição disponível."
-#: calendar/gui/alarm-notify/alarm-queue.c:966
+#: calendar/gui/alarm-notify/alarm-queue.c:981
msgid "No location information available."
msgstr "Nenhuma informação de local disponível."
-#: calendar/gui/alarm-notify/alarm-queue.c:982
+#: calendar/gui/alarm-notify/alarm-queue.c:997
#, c-format
msgid ""
"Alarm on %s\n"
@@ -4294,12 +4294,12 @@ msgstr ""
"Iniciar a %s\n"
"Terminar a %s"
-#: calendar/gui/alarm-notify/alarm-queue.c:1084
-#: calendar/gui/alarm-notify/alarm-queue.c:1108
+#: calendar/gui/alarm-notify/alarm-queue.c:1099
+#: calendar/gui/alarm-notify/alarm-queue.c:1123
msgid "Warning"
msgstr "Aviso"
-#: calendar/gui/alarm-notify/alarm-queue.c:1088
+#: calendar/gui/alarm-notify/alarm-queue.c:1103
msgid ""
"Evolution does not support calendar reminders with\n"
"email notifications yet, but this reminder was\n"
@@ -4311,7 +4311,7 @@ msgstr ""
"configurado para enviar um email. O Evolution\n"
"irá apresentar um diálogo de lembrete normal."
-#: calendar/gui/alarm-notify/alarm-queue.c:1114
+#: calendar/gui/alarm-notify/alarm-queue.c:1129
#, c-format
msgid ""
"An Evolution Calendar reminder is about to trigger. This reminder is "
@@ -4328,7 +4328,7 @@ msgstr ""
"\n"
"Tem a certeza que deseja executar esta aplicação?"
-#: calendar/gui/alarm-notify/alarm-queue.c:1128
+#: calendar/gui/alarm-notify/alarm-queue.c:1143
msgid "Do not ask me about this program again."
msgstr "Não perguntar novamente sobre esta aplicação."
@@ -4816,7 +4816,7 @@ msgstr "Método não suportado ao abrir o calendário"
msgid "Permission denied to open the calendar"
msgstr "Autorização negada ao abrir o calendário"
-#: calendar/gui/comp-editor-factory.c:437 shell/e-shell.c:1259
+#: calendar/gui/comp-editor-factory.c:437 shell/e-shell.c:1264
msgid "Unknown error"
msgstr "Erro desconhecido"
@@ -4957,7 +4957,7 @@ msgid "%.0fG"
msgstr "%.0fG"
#: calendar/gui/dialogs/cal-attachment-bar.c:298
-#: calendar/gui/dialogs/cal-attachment-bar.c:913
+#: calendar/gui/dialogs/cal-attachment-bar.c:922
#: composer/e-msg-composer-attachment-bar.c:295 mail/em-utils.c:436
msgid "attachment"
msgstr "anexo"
@@ -5036,7 +5036,7 @@ msgid "MIME type:"
msgstr "Tipo MIME:"
#. g_object_set((GObject *)renderer, "activatable", TRUE, NULL);
-#: calendar/gui/dialogs/cal-prefs-dialog.c:576 mail/em-account-prefs.c:460
+#: calendar/gui/dialogs/cal-prefs-dialog.c:576 mail/em-account-prefs.c:476
#: mail/em-composer-prefs.c:888 plugins/plugin-manager/plugin-manager.c:213
msgid "Enabled"
msgstr "Activo"
@@ -5055,15 +5055,15 @@ msgstr "Não Apagar"
#: calendar/gui/dialogs/cal-prefs-dialog.c:787
#: calendar/gui/dialogs/cal-prefs-dialog.c:820
-#: calendar/gui/dialogs/cal-prefs-dialog.c:853 mail/em-account-prefs.c:307
-#: mail/em-account-prefs.c:335 mail/em-account-prefs.c:366
+#: calendar/gui/dialogs/cal-prefs-dialog.c:853 mail/em-account-prefs.c:323
+#: mail/em-account-prefs.c:351 mail/em-account-prefs.c:382
msgid "Disable"
msgstr "Desactivar"
#: calendar/gui/dialogs/cal-prefs-dialog.c:787
#: calendar/gui/dialogs/cal-prefs-dialog.c:820
-#: calendar/gui/dialogs/cal-prefs-dialog.c:855 mail/em-account-prefs.c:307
-#: mail/em-account-prefs.c:335 mail/em-account-prefs.c:368
+#: calendar/gui/dialogs/cal-prefs-dialog.c:855 mail/em-account-prefs.c:323
+#: mail/em-account-prefs.c:351 mail/em-account-prefs.c:384
msgid "Enable"
msgstr "Activar"
@@ -5465,8 +5465,8 @@ msgstr[1] "%d mensagens anexas"
#: calendar/gui/dialogs/comp-editor.c:412 calendar/gui/e-calendar-table.c:1164
#: calendar/gui/e-calendar-view.c:1402 composer/e-msg-composer.c:2906
-#: mail/em-folder-tree.c:1046 mail/em-folder-view.c:973
-#: mail/message-list.c:1712 ui/evolution-addressbook.xml.h:31
+#: mail/em-folder-tree.c:1046 mail/em-folder-view.c:966
+#: mail/message-list.c:1707 ui/evolution-addressbook.xml.h:31
#: ui/evolution-calendar.xml.h:39 ui/evolution-composer-entries.xml.h:7
#: ui/evolution-mail-message.xml.h:105 ui/evolution-tasks.xml.h:20
msgid "_Copy"
@@ -5474,89 +5474,89 @@ msgstr "_Copiar"
#: calendar/gui/dialogs/comp-editor.c:413 composer/e-msg-composer.c:2907
#: mail/em-folder-tree.c:1047 mail/em-folder-tree.c:2311
-#: mail/em-folder-view.c:869 mail/message-list.c:1713
+#: mail/em-folder-view.c:862 mail/message-list.c:1708
msgid "_Move"
msgstr "_Mover"
#: calendar/gui/dialogs/comp-editor.c:415 composer/e-msg-composer.c:2909
-#: mail/em-folder-tree.c:1049 mail/message-list.c:1715
+#: mail/em-folder-tree.c:1049 mail/message-list.c:1710
msgid "Cancel _Drag"
msgstr "Cancelar A_rrastar"
-#: calendar/gui/dialogs/comp-editor.c:659
+#: calendar/gui/dialogs/comp-editor.c:682
msgid "Could not update object"
msgstr "Incapaz de actualizar o objecto"
-#: calendar/gui/dialogs/comp-editor.c:820 composer/e-msg-composer.c:2310
+#: calendar/gui/dialogs/comp-editor.c:843 composer/e-msg-composer.c:2310
#, c-format
msgid "<b>%d</b> File Attached"
msgid_plural "<b>%d</b> Files Attached"
msgstr[0] "<b>%d</b> Ficheiro Anexo"
msgstr[1] "<b>%d</b> Ficheiros Anexos"
-#: calendar/gui/dialogs/comp-editor.c:873 composer/e-msg-composer.c:2339
+#: calendar/gui/dialogs/comp-editor.c:900 composer/e-msg-composer.c:2339
msgid "Hide _Attachment Bar (drop attachments here)"
msgstr "Esconder a Barra de _Anexos (largar os anexos aqui)"
-#: calendar/gui/dialogs/comp-editor.c:876
-#: calendar/gui/dialogs/comp-editor.c:928 composer/e-msg-composer.c:2342
+#: calendar/gui/dialogs/comp-editor.c:903
+#: calendar/gui/dialogs/comp-editor.c:955 composer/e-msg-composer.c:2342
#: composer/e-msg-composer.c:3471
msgid "Show _Attachment Bar (drop attachments here)"
msgstr "Apresentar a Barra de _Anexos (largar os anexos aqui)"
-#: calendar/gui/dialogs/comp-editor.c:952 composer/e-msg-composer.c:3493
+#: calendar/gui/dialogs/comp-editor.c:979 composer/e-msg-composer.c:3493
msgid "Attachment Button: Press space key to toggle attachment bar"
msgstr "Botão de Anexo: Prima qualquer tecla para alternar a barra de anexos"
-#: calendar/gui/dialogs/comp-editor.c:1499
-#: calendar/gui/dialogs/comp-editor.c:1542
+#: calendar/gui/dialogs/comp-editor.c:1526
+#: calendar/gui/dialogs/comp-editor.c:1569
msgid "Edit Appointment"
msgstr "Editar Compromisso"
-#: calendar/gui/dialogs/comp-editor.c:1505
-#: calendar/gui/dialogs/comp-editor.c:1548
+#: calendar/gui/dialogs/comp-editor.c:1532
+#: calendar/gui/dialogs/comp-editor.c:1575
#, c-format
msgid "Meeting - %s"
msgstr "Reunião - %s"
-#: calendar/gui/dialogs/comp-editor.c:1507
-#: calendar/gui/dialogs/comp-editor.c:1550
+#: calendar/gui/dialogs/comp-editor.c:1534
+#: calendar/gui/dialogs/comp-editor.c:1577
#, c-format
msgid "Appointment - %s"
msgstr "Compromisso - %s"
-#: calendar/gui/dialogs/comp-editor.c:1511
-#: calendar/gui/dialogs/comp-editor.c:1554
+#: calendar/gui/dialogs/comp-editor.c:1538
+#: calendar/gui/dialogs/comp-editor.c:1581
#, c-format
msgid "Assigned Task - %s"
msgstr "Tarefa Atribuída - %s"
-#: calendar/gui/dialogs/comp-editor.c:1513
-#: calendar/gui/dialogs/comp-editor.c:1556
+#: calendar/gui/dialogs/comp-editor.c:1540
+#: calendar/gui/dialogs/comp-editor.c:1583
#, c-format
msgid "Task - %s"
msgstr "Tarefa - %s"
-#: calendar/gui/dialogs/comp-editor.c:1516
-#: calendar/gui/dialogs/comp-editor.c:1559
+#: calendar/gui/dialogs/comp-editor.c:1543
+#: calendar/gui/dialogs/comp-editor.c:1586
#, c-format
msgid "Journal entry - %s"
msgstr "Entrada de diário - %s"
-#: calendar/gui/dialogs/comp-editor.c:1527
-#: calendar/gui/dialogs/comp-editor.c:1569
+#: calendar/gui/dialogs/comp-editor.c:1554
+#: calendar/gui/dialogs/comp-editor.c:1596
msgid "No summary"
msgstr "Sem resumo"
-#: calendar/gui/dialogs/comp-editor.c:2001
-#: calendar/gui/dialogs/comp-editor.c:2034
-#: calendar/gui/dialogs/comp-editor.c:2058
+#: calendar/gui/dialogs/comp-editor.c:2030
+#: calendar/gui/dialogs/comp-editor.c:2063
+#: calendar/gui/dialogs/comp-editor.c:2087
msgid "Changes made to this item may be discarded if an update arrives"
msgstr ""
"Alterações efectuadas a este item poderão ser descartadas se chegarem "
"actualizações"
-#: calendar/gui/dialogs/comp-editor.c:2082
+#: calendar/gui/dialogs/comp-editor.c:2111
msgid "Unable to use current version!"
msgstr "Incapaz de utilizar a versão actual!"
@@ -5819,8 +5819,8 @@ msgstr "Hora de _início:"
#: calendar/gui/dialogs/meeting-page.glade.h:5
#: calendar/gui/e-cal-model-tasks.c:652 calendar/gui/e-itip-control.c:1104
#: composer/e-msg-composer.c:2117 filter/filter-rule.c:878
-#: mail/em-account-editor.c:683 mail/em-account-editor.c:1289
-#: mail/em-account-prefs.c:421 mail/em-folder-view.c:1000
+#: mail/em-account-editor.c:685 mail/em-account-editor.c:1291
+#: mail/em-account-prefs.c:437 mail/em-folder-view.c:993
#: plugins/calendar-weather/calendar-weather.c:371
#: plugins/calendar-weather/calendar-weather.c:425
#: plugins/itip-formatter/itip-formatter.c:1376
@@ -5847,7 +5847,7 @@ msgid "_Delegate To..."
msgstr "_Delegar A..."
#: calendar/gui/dialogs/meeting-page.etspec.h:1
-#: calendar/gui/e-meeting-list-view.c:235
+#: calendar/gui/e-meeting-list-view.c:308
#: calendar/gui/e-meeting-time-sel.etspec.h:1
msgid "Attendee"
msgstr "Participante"
@@ -5883,7 +5883,7 @@ msgid "Member"
msgstr "Membro"
#: calendar/gui/dialogs/meeting-page.etspec.h:8
-#: calendar/gui/e-meeting-list-view.c:258
+#: calendar/gui/e-meeting-list-view.c:333
#: calendar/gui/e-meeting-time-sel.etspec.h:8
msgid "RSVP"
msgstr "RSVP"
@@ -5891,7 +5891,7 @@ msgstr "RSVP"
#: calendar/gui/dialogs/meeting-page.etspec.h:10
#: calendar/gui/dialogs/task-editor.c:146
#: calendar/gui/e-calendar-table.etspec.h:10
-#: calendar/gui/e-meeting-list-view.c:265
+#: calendar/gui/e-meeting-list-view.c:340
#: calendar/gui/e-meeting-time-sel.etspec.h:10 mail/em-filter-i18n.h:63
#: mail/message-list.etspec.h:12
msgid "Status"
@@ -5959,32 +5959,32 @@ msgstr "Grupo de Lista de Tarefas"
msgid "Task List Name"
msgstr "Nome da Lista de Tarefas"
-#: calendar/gui/dialogs/recur-comp.c:51
+#: calendar/gui/dialogs/recur-comp.c:52
msgid "You are modifying a recurring event, what would you like to modify?"
msgstr "Está a alterar um evento recorrente, o que deseja alterar?"
-#: calendar/gui/dialogs/recur-comp.c:55
+#: calendar/gui/dialogs/recur-comp.c:56
msgid "You are modifying a recurring task, what would you like to modify?"
msgstr "Está a alterar uma tarefa recorrente, o que deseja alterar?"
-#: calendar/gui/dialogs/recur-comp.c:59
+#: calendar/gui/dialogs/recur-comp.c:60
msgid ""
"You are modifying a recurring journal entry, what would you like to modify?"
msgstr "Está a alterar uma entrada de diário recorrente, o que deseja alterar?"
-#: calendar/gui/dialogs/recur-comp.c:87
+#: calendar/gui/dialogs/recur-comp.c:88
msgid "This Instance Only"
msgstr "Apenas Esta Instância"
-#: calendar/gui/dialogs/recur-comp.c:91
+#: calendar/gui/dialogs/recur-comp.c:92
msgid "This and Prior Instances"
msgstr "Esta Instância e Anteriores"
-#: calendar/gui/dialogs/recur-comp.c:97
+#: calendar/gui/dialogs/recur-comp.c:98
msgid "This and Future Instances"
msgstr "Esta Instância e Futuras"
-#: calendar/gui/dialogs/recur-comp.c:102
+#: calendar/gui/dialogs/recur-comp.c:103
msgid "All Instances"
msgstr "Todas as Instâncias"
@@ -6114,7 +6114,7 @@ msgstr "Terminada"
#: calendar/gui/dialogs/task-details-page.glade.h:5
#: calendar/gui/e-cal-component-preview.c:248
-#: calendar/gui/e-calendar-table.c:382 mail/message-list.c:1011
+#: calendar/gui/e-calendar-table.c:382 mail/message-list.c:1006
msgid "High"
msgstr "Alta"
@@ -6128,13 +6128,13 @@ msgstr "Em Curso"
#: calendar/gui/dialogs/task-details-page.glade.h:7
#: calendar/gui/e-cal-component-preview.c:252
-#: calendar/gui/e-calendar-table.c:384 mail/message-list.c:1009
+#: calendar/gui/e-calendar-table.c:384 mail/message-list.c:1004
msgid "Low"
msgstr "Baixa"
#: calendar/gui/dialogs/task-details-page.glade.h:8
#: calendar/gui/e-cal-component-preview.c:250 calendar/gui/e-cal-model.c:899
-#: calendar/gui/e-calendar-table.c:383 mail/message-list.c:1010
+#: calendar/gui/e-calendar-table.c:383 mail/message-list.c:1005
msgid "Normal"
msgstr "Normal"
@@ -6333,7 +6333,7 @@ msgstr "%s em %s"
msgid "%s for an unknown trigger type"
msgstr "%s para um tipo despoletado desconhecido"
-#: calendar/gui/e-cal-component-preview.c:70 mail/em-folder-view.c:2588
+#: calendar/gui/e-cal-component-preview.c:70 mail/em-folder-view.c:2573
#, c-format
msgid "Click to open %s"
msgstr "Clicar para abrir %s"
@@ -6361,7 +6361,7 @@ msgstr "Data de _Término:"
#. Status
#: calendar/gui/e-cal-component-preview.c:222
#: calendar/gui/e-itip-control.c:1132
-#: plugins/exchange-account-setup/exchange-account-setup.c:129
+#: plugins/exchange-account-setup/exchange-account-setup.c:209
#: plugins/itip-formatter/itip-view.c:884
msgid "Status:"
msgstr "Estado:"
@@ -6439,7 +6439,7 @@ msgstr "Não"
#: calendar/gui/e-meeting-list-view.c:139
#: calendar/gui/e-meeting-list-view.c:153 calendar/gui/e-meeting-store.c:124
#: calendar/gui/e-meeting-store.c:159 calendar/gui/e-meeting-store.c:224
-#: mail/em-utils.c:1157 plugins/itip-formatter/itip-formatter.c:251
+#: mail/em-utils.c:1173 plugins/itip-formatter/itip-formatter.c:251
#: plugins/itip-formatter/itip-formatter.c:1398
#: plugins/plugin-manager/plugin-manager.c:72 shell/e-component-registry.c:201
#: shell/e-component-registry.c:205 widgets/misc/e-charset-picker.c:62
@@ -6525,7 +6525,7 @@ msgid "Open _Web Page"
msgstr "Abrir Página _Web"
#: calendar/gui/e-calendar-table.c:1158 calendar/gui/e-calendar-view.c:1396
-#: mail/em-folder-view.c:983 mail/em-popup.c:493
+#: mail/em-folder-view.c:976 mail/em-popup.c:494
#: ui/evolution-mail-message.xml.h:124
msgid "_Save As..."
msgstr "Gravar _Como..."
@@ -6568,7 +6568,7 @@ msgstr "_Marcar as Tarefas Seleccionadas como Terminadas"
#. FIXME: need to disable for undeletable folders
#: calendar/gui/e-calendar-table.c:1176 calendar/gui/e-calendar-view.c:1414
-#: mail/em-folder-tree.c:2814 mail/em-folder-view.c:987
+#: mail/em-folder-tree.c:2814 mail/em-folder-view.c:980
#: ui/evolution-addressbook.xml.h:33 ui/evolution-calendar.xml.h:40
#: ui/evolution-mail-message.xml.h:108 ui/evolution-tasks.xml.h:21
msgid "_Delete"
@@ -6842,18 +6842,18 @@ msgstr ""
#: calendar/gui/e-itip-control.c:1137 calendar/gui/e-meeting-list-view.c:175
#: calendar/gui/e-meeting-store.c:188 calendar/gui/e-meeting-store.c:211
-#: calendar/gui/itip-utils.c:422 plugins/itip-formatter/itip-formatter.c:1389
+#: calendar/gui/itip-utils.c:421 plugins/itip-formatter/itip-formatter.c:1389
msgid "Accepted"
msgstr "Aceite"
-#: calendar/gui/e-itip-control.c:1141 calendar/gui/itip-utils.c:425
+#: calendar/gui/e-itip-control.c:1141 calendar/gui/itip-utils.c:424
#: plugins/itip-formatter/itip-formatter.c:1392
msgid "Tentatively Accepted"
msgstr "Aceite Tentativamente"
#: calendar/gui/e-itip-control.c:1145 calendar/gui/e-meeting-list-view.c:176
#: calendar/gui/e-meeting-store.c:190 calendar/gui/e-meeting-store.c:213
-#: calendar/gui/itip-utils.c:428 calendar/gui/itip-utils.c:454
+#: calendar/gui/itip-utils.c:427 calendar/gui/itip-utils.c:453
#: plugins/itip-formatter/itip-formatter.c:1395
msgid "Declined"
msgstr "Recusada"
@@ -7125,7 +7125,7 @@ msgstr "Actualizar o estado das respostas"
msgid "Send Latest Information"
msgstr "Enviar a Mais Recente Informação"
-#: calendar/gui/e-itip-control.c:2375 calendar/gui/itip-utils.c:442
+#: calendar/gui/e-itip-control.c:2375 calendar/gui/itip-utils.c:441
#: mail/mail-send-recv.c:414 mail/mail-send-recv.c:466
#: ui/evolution-mail-global.xml.h:1
msgid "Cancel"
@@ -7464,57 +7464,57 @@ msgstr "Setembro"
msgid "_Select Today"
msgstr "_Seleccionar Hoje"
-#: calendar/gui/itip-utils.c:271 calendar/gui/itip-utils.c:319
-#: calendar/gui/itip-utils.c:351
+#: calendar/gui/itip-utils.c:270 calendar/gui/itip-utils.c:318
+#: calendar/gui/itip-utils.c:350
msgid "An organizer must be set."
msgstr "Tem de ser definido um organizador."
-#: calendar/gui/itip-utils.c:306
+#: calendar/gui/itip-utils.c:305
msgid "At least one attendee is necessary"
msgstr "É necessário pelo menos um participante"
-#: calendar/gui/itip-utils.c:394 calendar/gui/itip-utils.c:503
+#: calendar/gui/itip-utils.c:393 calendar/gui/itip-utils.c:502
msgid "Event information"
msgstr "Informação do evento"
-#: calendar/gui/itip-utils.c:396 calendar/gui/itip-utils.c:505
+#: calendar/gui/itip-utils.c:395 calendar/gui/itip-utils.c:504
msgid "Task information"
msgstr "Informação da tarefa"
-#: calendar/gui/itip-utils.c:398 calendar/gui/itip-utils.c:507
+#: calendar/gui/itip-utils.c:397 calendar/gui/itip-utils.c:506
msgid "Journal information"
msgstr "Informação de diário"
-#: calendar/gui/itip-utils.c:400 calendar/gui/itip-utils.c:525
+#: calendar/gui/itip-utils.c:399 calendar/gui/itip-utils.c:524
msgid "Free/Busy information"
msgstr "Informação de livre/ocupado"
-#: calendar/gui/itip-utils.c:402
+#: calendar/gui/itip-utils.c:401
msgid "Calendar information"
msgstr "Informação de calendário"
-#: calendar/gui/itip-utils.c:438
+#: calendar/gui/itip-utils.c:437
msgid "Updated"
msgstr "Actualizado"
-#: calendar/gui/itip-utils.c:446
+#: calendar/gui/itip-utils.c:445
msgid "Refresh"
msgstr "Actualizar"
-#: calendar/gui/itip-utils.c:450
+#: calendar/gui/itip-utils.c:449
msgid "Counter-proposal"
msgstr "Contra-proposta"
-#: calendar/gui/itip-utils.c:521
+#: calendar/gui/itip-utils.c:520
#, c-format
msgid "Free/Busy information (%s to %s)"
msgstr "Informação de livre/ocupado (%s para %s)"
-#: calendar/gui/itip-utils.c:531
+#: calendar/gui/itip-utils.c:530
msgid "iCalendar information"
msgstr "Informação de iCalendar"
-#: calendar/gui/itip-utils.c:673
+#: calendar/gui/itip-utils.c:672
msgid "You must be an attendee of the event."
msgstr "Tem de ser um participante do evento."
@@ -7793,7 +7793,7 @@ msgid_plural "%d tasks"
msgstr[0] "%d tarefa"
msgstr[1] "%d tarefas"
-#: calendar/gui/tasks-component.c:506 mail/mail-component.c:523
+#: calendar/gui/tasks-component.c:506 mail/mail-component.c:544
#, c-format
msgid ", %d selected"
msgid_plural ", %d selected"
@@ -9563,8 +9563,8 @@ msgstr "Mensagem sem Título"
msgid "Open File"
msgstr "Abrir o Ficheiro"
-#: composer/e-msg-composer.c:2001 mail/em-account-editor.c:586
-#: mail/em-account-editor.c:631 mail/em-account-editor.c:698
+#: composer/e-msg-composer.c:2001 mail/em-account-editor.c:588
+#: mail/em-account-editor.c:633 mail/em-account-editor.c:700
msgid "Autogenerated"
msgstr "Gerada automaticamente"
@@ -9750,7 +9750,7 @@ msgstr ""
"Certifique-se de que possui instaladas as versões correctas do gtkhtml e "
"libgtkhtml."
-#: data/evolution.desktop.in.in.h:1 shell/main.c:520
+#: data/evolution.desktop.in.in.h:1 shell/main.c:521
msgid "Evolution"
msgstr "Evolution"
@@ -9885,14 +9885,6 @@ msgstr ""
msgid "Overwrite file?"
msgstr "Sobrepor o ficheiro?"
-#: e-util/e-passwords.c:472
-msgid "_Remember this password"
-msgstr "_Recordar esta senha"
-
-#: e-util/e-passwords.c:473
-msgid "_Remember this password for the remainder of this session"
-msgstr "_Recordar esta senha durante o resto desta sessão"
-
#. strptime format of a weekday, a date and a time,
#. in 12-hour format, without seconds.
#. strftime format of a weekday, a date and a
@@ -10122,19 +10114,19 @@ msgstr "Seleccione outro nome."
msgid "Choose a file"
msgstr "Seleccione um ficheiro"
-#: filter/filter-label.c:121 mail/em-filter-i18n.h:26 mail/em-migrate.c:1011
-#: mail/mail-config.c:75 mail/mail-config.glade.h:90
+#: filter/filter-label.c:121 mail/em-filter-i18n.h:26 mail/em-migrate.c:1041
+#: mail/mail-config.c:76 mail/mail-config.glade.h:90
msgid "Important"
msgstr "Importante"
#. forest green
-#: filter/filter-label.c:124 mail/em-migrate.c:1014 mail/mail-config.c:78
+#: filter/filter-label.c:124 mail/em-migrate.c:1044 mail/mail-config.c:79
#: mail/mail-config.glade.h:140
msgid "To Do"
msgstr "A Fazer"
#. blue
-#: filter/filter-label.c:125 mail/em-migrate.c:1015 mail/mail-config.c:79
+#: filter/filter-label.c:125 mail/em-migrate.c:1045 mail/mail-config.c:80
#: mail/mail-config.glade.h:93
msgid "Later"
msgstr "Mais Tarde"
@@ -10308,10 +10300,10 @@ msgstr "Controlo de configuração de compositor de Mensagem Evolution"
msgid "Evolution Mail preferences control"
msgstr "Controlo de preferências de Email Evolution"
-#: mail/GNOME_Evolution_Mail.server.in.in.h:11 mail/em-folder-view.c:473
+#: mail/GNOME_Evolution_Mail.server.in.in.h:11 mail/em-folder-view.c:469
#: mail/importers/elm-importer.c:418 mail/importers/netscape-importer.c:1902
-#: mail/importers/pine-importer.c:474 mail/mail-component.c:536
-#: mail/mail-component.c:587
+#: mail/importers/pine-importer.c:474 mail/mail-component.c:557
+#: mail/mail-component.c:608
msgid "Mail"
msgstr "Email"
@@ -10327,12 +10319,12 @@ msgstr "Preferências do Email"
msgid "_Mail"
msgstr "E_mail"
-#: mail/em-account-editor.c:385
+#: mail/em-account-editor.c:387
#, c-format
msgid "%s License Agreement"
msgstr "Acordo de Licença de %s"
-#: mail/em-account-editor.c:392
+#: mail/em-account-editor.c:394
#, c-format
msgid ""
"\n"
@@ -10345,67 +10337,67 @@ msgstr ""
"para %s apresentado abaixo\n"
"e marque a caixa de selecção para a aceitar\n"
-#: mail/em-account-editor.c:462 mail/em-filter-folder-element.c:237
+#: mail/em-account-editor.c:464 mail/em-filter-folder-element.c:237
#: mail/em-vfolder-rule.c:494
msgid "Select Folder"
msgstr "Seleccionar Pasta"
-#: mail/em-account-editor.c:1662 mail/mail-config.glade.h:89
+#: mail/em-account-editor.c:1664 mail/mail-config.glade.h:89
msgid "Identity"
msgstr "Identidade"
-#: mail/em-account-editor.c:1698 mail/mail-config.glade.h:114
+#: mail/em-account-editor.c:1700 mail/mail-config.glade.h:114
msgid "Receiving Email"
msgstr "A Receber Mensagens"
-#: mail/em-account-editor.c:1875
+#: mail/em-account-editor.c:1877
msgid "Automatically check for _new mail every"
msgstr "Verificar automaticamente se existem _novas mensagens a cada"
-#: mail/em-account-editor.c:2044 mail/mail-config.glade.h:124
+#: mail/em-account-editor.c:2045 mail/mail-config.glade.h:124
msgid "Sending Email"
msgstr "A Enviar Mensagens"
-#: mail/em-account-editor.c:2088 mail/mail-config.glade.h:67
+#: mail/em-account-editor.c:2089 mail/mail-config.glade.h:67
msgid "Defaults"
msgstr "Omissões"
-#: mail/em-account-editor.c:2147 mail/mail-config.glade.h:119
+#: mail/em-account-editor.c:2148 mail/mail-config.glade.h:119
msgid "Security"
msgstr "Segurança"
#. Most sections for this is auto-generated fromt the camel config
-#: mail/em-account-editor.c:2184 mail/em-account-editor.c:2259
+#: mail/em-account-editor.c:2185 mail/em-account-editor.c:2260
msgid "Receiving Options"
msgstr "Opções de Recepção"
-#: mail/em-account-editor.c:2185 mail/em-account-editor.c:2260
+#: mail/em-account-editor.c:2186 mail/em-account-editor.c:2261
msgid "Checking for New Mail"
msgstr "A Verificar a Existência de Novas Mensagens"
-#: mail/em-account-editor.c:2600 mail/mail-config.glade.h:33
+#: mail/em-account-editor.c:2585 mail/mail-config.glade.h:33
msgid "Account Editor"
msgstr "Editor de Contas"
-#: mail/em-account-editor.c:2600 mail/mail-config.glade.h:79
+#: mail/em-account-editor.c:2585 mail/mail-config.glade.h:79
msgid "Evolution Account Assistant"
msgstr "Assistente de Contas Evolution"
#. translators: default account indicator
-#: mail/em-account-prefs.c:412
+#: mail/em-account-prefs.c:428
msgid "[Default]"
msgstr "[Por Omissão]"
-#: mail/em-account-prefs.c:466
+#: mail/em-account-prefs.c:482
msgid "Account name"
msgstr "Nome da conta"
-#: mail/em-account-prefs.c:468
+#: mail/em-account-prefs.c:484
msgid "Protocol"
msgstr "Protocolo"
#: mail/em-composer-prefs.c:306 mail/em-composer-prefs.c:429
-#: mail/mail-config.c:934
+#: mail/mail-config.c:935
msgid "Unnamed"
msgstr "Sem nome"
@@ -10421,18 +10413,18 @@ msgstr "Adicionar script de assinatura"
msgid "Signature(s)"
msgstr "Assinatura(s)"
-#: mail/em-composer-utils.c:910
+#: mail/em-composer-utils.c:911
msgid "-------- Forwarded Message --------"
msgstr "------ Mensagem Reencaminhada ------"
-#: mail/em-composer-utils.c:1526
+#: mail/em-composer-utils.c:1521
msgid "an unknown sender"
msgstr "um remetente desconhecido"
#. Note to translators: this is the attribution string used when quoting messages.
#. * each ${Variable} gets replaced with a value. To see a full list of available
#. * variables, see em-composer-utils.c:1514
-#: mail/em-composer-utils.c:1573
+#: mail/em-composer-utils.c:1568
msgid ""
"On ${AbbrevWeekdayName}, ${Year}-${Month}-${Day} at ${24Hour}:${Minute} "
"${TimeZone}, ${Sender} wrote:"
@@ -10578,7 +10570,7 @@ msgstr "Não Solicitado"
msgid "Junk Test"
msgstr "Teste de Não Solicitado"
-#: mail/em-filter-i18n.h:37 mail/em-folder-view.c:999
+#: mail/em-filter-i18n.h:37 mail/em-folder-view.c:992
#: widgets/misc/e-expander.c:189
msgid "Label"
msgstr "Etiqueta"
@@ -10733,7 +10725,7 @@ msgid "Create New Folder"
msgstr "Criar uma Nova Pasta"
#: mail/em-folder-selector.c:166 mail/em-folder-tree.c:2527
-#: mail/mail-component.c:739 plugins/shared-folder/install-shared.c:144
+#: mail/mail-component.c:770 plugins/shared-folder/install-shared.c:144
#: plugins/shared-folder/share-folder-common.c:345
msgid "Specify where to create the folder:"
msgstr "Especificar onde criar a pasta:"
@@ -10756,20 +10748,20 @@ msgstr "vPastas"
msgid "UNMATCHED"
msgstr "SEMEQUIVALÊNCIA"
-#: mail/em-folder-tree-model.c:468 mail/mail-component.c:139
+#: mail/em-folder-tree-model.c:468 mail/mail-component.c:142
msgid "Drafts"
msgstr "Rascunhos"
#. translators: standard local mailbox names
-#: mail/em-folder-tree-model.c:471 mail/mail-component.c:138
+#: mail/em-folder-tree-model.c:471 mail/mail-component.c:141
msgid "Inbox"
msgstr "Caixa de Entrada"
-#: mail/em-folder-tree-model.c:474 mail/mail-component.c:140
+#: mail/em-folder-tree-model.c:474 mail/mail-component.c:143
msgid "Outbox"
msgstr "Caixa de Saída"
-#: mail/em-folder-tree-model.c:476 mail/mail-component.c:141
+#: mail/em-folder-tree-model.c:476 mail/mail-component.c:144
msgid "Sent"
msgstr "Enviadas"
@@ -10791,12 +10783,12 @@ msgstr "A mover a pasta %s"
msgid "Copying folder %s"
msgstr "A copiar a pasta %s"
-#: mail/em-folder-tree.c:930 mail/message-list.c:1617
+#: mail/em-folder-tree.c:930 mail/message-list.c:1612
#, c-format
msgid "Moving messages into folder %s"
msgstr "A mover as mensagens para a pasta %s"
-#: mail/em-folder-tree.c:932 mail/message-list.c:1619
+#: mail/em-folder-tree.c:932 mail/message-list.c:1614
#, c-format
msgid "Copying messages into folder %s"
msgstr "A copiar as mensagens para a pasta %s"
@@ -10825,13 +10817,13 @@ msgid "Copying `%s' to `%s'"
msgstr "A copiar `%s' para `%s'"
#: mail/em-folder-tree.c:2297 mail/em-folder-tree.c:2311
-#: mail/em-folder-view.c:869 mail/em-folder-view.c:884
+#: mail/em-folder-view.c:862 mail/em-folder-view.c:877
#: mail/importers/evolution-mbox-importer.c:120
#: mail/importers/evolution-outlook-importer.c:134
msgid "Select folder"
msgstr "Seleccionar a pasta"
-#: mail/em-folder-tree.c:2297 mail/em-folder-view.c:884
+#: mail/em-folder-tree.c:2297 mail/em-folder-view.c:877
msgid "C_opy"
msgstr "C_opiar"
@@ -10840,7 +10832,7 @@ msgstr "C_opiar"
msgid "Creating folder `%s'"
msgstr "A criar a pasta `%s'"
-#: mail/em-folder-tree.c:2527 mail/mail-component.c:739
+#: mail/em-folder-tree.c:2527 mail/mail-component.c:770
#: plugins/shared-folder/install-shared.c:144
#: plugins/shared-folder/share-folder-common.c:345
msgid "Create folder"
@@ -10886,130 +10878,130 @@ msgstr "_Nova Pasta..."
msgid "_Rename..."
msgstr "_Renomear..."
-#: mail/em-folder-view.c:977 mail/em-popup.c:498
+#: mail/em-folder-view.c:970 mail/em-popup.c:499
#: ui/evolution-mail-message.xml.h:87
msgid "Reply to _All"
msgstr "Responder _a Todos"
-#: mail/em-folder-view.c:978 ui/evolution-mail-message.xml.h:123
+#: mail/em-folder-view.c:971 ui/evolution-mail-message.xml.h:123
msgid "_Reply to Sender"
msgstr "_Responder ao Remetente"
-#: mail/em-folder-view.c:979 mail/em-popup.c:500
+#: mail/em-folder-view.c:972 mail/em-popup.c:501
#: ui/evolution-mail-message.xml.h:110
msgid "_Forward"
msgstr "R_eencaminhar"
-#: mail/em-folder-view.c:982 ui/evolution-mail-message.xml.h:109
+#: mail/em-folder-view.c:975 ui/evolution-mail-message.xml.h:109
msgid "_Edit as New Message..."
msgstr "_Editar como uma Nova Mensagem..."
-#: mail/em-folder-view.c:984
+#: mail/em-folder-view.c:977
msgid "_Print"
msgstr "_Imprimir"
-#: mail/em-folder-view.c:988
+#: mail/em-folder-view.c:981
msgid "U_ndelete"
msgstr "R_ecuperar"
-#: mail/em-folder-view.c:989
+#: mail/em-folder-view.c:982
msgid "Mo_ve to Folder..."
msgstr "Mo_ver para a Pasta..."
-#: mail/em-folder-view.c:990 ui/evolution-addressbook.xml.h:32
+#: mail/em-folder-view.c:983 ui/evolution-addressbook.xml.h:32
msgid "_Copy to Folder..."
msgstr "_Copiar para a Pasta..."
-#: mail/em-folder-view.c:993
+#: mail/em-folder-view.c:986
msgid "Mark as _Important"
msgstr "Marcar como _Importante"
-#: mail/em-folder-view.c:994
+#: mail/em-folder-view.c:987
msgid "_Mark as Unimportant"
msgstr "_Marcar como Irrelevante"
-#: mail/em-folder-view.c:995 ui/evolution-mail-message.xml.h:54
+#: mail/em-folder-view.c:988 ui/evolution-mail-message.xml.h:54
msgid "Mark as _Junk"
msgstr "Marcar como _Não Solicitada"
-#: mail/em-folder-view.c:996 ui/evolution-mail-message.xml.h:55
+#: mail/em-folder-view.c:989 ui/evolution-mail-message.xml.h:55
msgid "Mark as _Not Junk"
msgstr "Marcar como _Solicitada"
-#: mail/em-folder-view.c:997
+#: mail/em-folder-view.c:990
msgid "Mark for Follo_w Up..."
msgstr "Marcar para Dar Se_guimento..."
-#: mail/em-folder-view.c:1005
+#: mail/em-folder-view.c:998
msgid "Fla_g Completed"
msgstr "Marcar como _Terminada"
-#: mail/em-folder-view.c:1006
+#: mail/em-folder-view.c:999
msgid "Cl_ear Flag"
msgstr "L_impar a Marca"
-#: mail/em-folder-view.c:1009
+#: mail/em-folder-view.c:1002
msgid "Crea_te Rule From Message"
msgstr "Criar Regra a Par_tir da Mensagem"
-#: mail/em-folder-view.c:1010
+#: mail/em-folder-view.c:1003
msgid "vFolder on _Subject"
msgstr "vPasta baseada no A_ssunto"
-#: mail/em-folder-view.c:1011
+#: mail/em-folder-view.c:1004
msgid "vFolder on Se_nder"
msgstr "vPasta baseada no Remete_nte"
-#: mail/em-folder-view.c:1012
+#: mail/em-folder-view.c:1005
msgid "vFolder on _Recipients"
msgstr "vPasta baseada nos Destinatá_rios"
-#: mail/em-folder-view.c:1013
+#: mail/em-folder-view.c:1006
msgid "vFolder on Mailing _List"
msgstr "vPasta baseada na _Lista de Distribuição"
-#: mail/em-folder-view.c:1017
+#: mail/em-folder-view.c:1010
msgid "Filter on Sub_ject"
msgstr "Filtrar baseado no Ass_unto"
-#: mail/em-folder-view.c:1018
+#: mail/em-folder-view.c:1011
msgid "Filter on Sen_der"
msgstr "Filtrar baseado no _Remetente"
-#: mail/em-folder-view.c:1019
+#: mail/em-folder-view.c:1012
msgid "Filter on Re_cipients"
msgstr "Filtrar baseado no _Destinatário"
-#: mail/em-folder-view.c:1020
+#: mail/em-folder-view.c:1013
msgid "Filter on _Mailing List"
msgstr "Filtrar baseado na _Lista de Distribuição"
#. default charset used in mail view
-#: mail/em-folder-view.c:1851 mail/em-folder-view.c:1895
+#: mail/em-folder-view.c:1844 mail/em-folder-view.c:1888
msgid "Default"
msgstr "Por Omissão"
-#: mail/em-folder-view.c:1994
+#: mail/em-folder-view.c:1987
msgid "Print Message"
msgstr "Imprimir a Mensagem"
-#: mail/em-folder-view.c:2293
+#: mail/em-folder-view.c:2295
msgid "_Copy Link Location"
msgstr "_Copiar a Localização do Link"
-#: mail/em-folder-view.c:2295
+#: mail/em-folder-view.c:2297
msgid "Create _vFolder"
msgstr "Criar uma _vPasta"
-#: mail/em-folder-view.c:2296
+#: mail/em-folder-view.c:2298
msgid "_From this Address"
msgstr "_Deste Endereço"
-#: mail/em-folder-view.c:2297
+#: mail/em-folder-view.c:2299
msgid "_To this Address"
msgstr "_Para este Endereço"
-#: mail/em-folder-view.c:2583
+#: mail/em-folder-view.c:2568
#, c-format
msgid "Click to mail %s"
msgstr "Clicar para enviar mensagem a %s"
@@ -11299,7 +11291,7 @@ msgstr "Uma vez por semana"
msgid "Once per month"
msgstr "Uma vez por mês"
-#: mail/em-migrate.c:1168
+#: mail/em-migrate.c:1198
msgid ""
"The location and hierarchy of the Evolution mailbox folders has changed "
"since Evolution 1.x.\n"
@@ -11311,48 +11303,48 @@ msgstr ""
"\n"
"Aguarde enquanto o Evolution migra as suas pastas..."
-#: mail/em-migrate.c:1602
+#: mail/em-migrate.c:1632
#, c-format
msgid "Unable to create new folder `%s': %s"
msgstr "Incapaz de criar a nova pasta `%s': %s"
-#: mail/em-migrate.c:1628
+#: mail/em-migrate.c:1658
#, c-format
msgid "Unable to copy folder `%s' to `%s': %s"
msgstr "Incapaz de copiar a pasta `%s' para `%s': %s"
-#: mail/em-migrate.c:1813
+#: mail/em-migrate.c:1843
#, c-format
msgid "Unable to scan for existing mailboxes at `%s': %s"
msgstr "Incapaz de analisar caixas de correio existentes em `%s': %s"
-#: mail/em-migrate.c:2017
+#: mail/em-migrate.c:2047
#, c-format
msgid "Unable to open old POP keep-on-server data `%s': %s"
msgstr "Incapaz de abir dados antigos POP manter-no-servidor `%s': %s"
-#: mail/em-migrate.c:2031
+#: mail/em-migrate.c:2061
#, c-format
msgid "Unable to create POP3 keep-on-server data directory `%s': %s"
msgstr ""
"Incapaz de criar o directório de dados POP3 manter-no-servidor `%s': %s"
-#: mail/em-migrate.c:2060
+#: mail/em-migrate.c:2090
#, c-format
msgid "Unable to copy POP3 keep-on-server data `%s': %s"
msgstr "Incapaz de copiar os dados POP3 manter-no-servidor `%s': %s"
-#: mail/em-migrate.c:2494 mail/em-migrate.c:2506
+#: mail/em-migrate.c:2561 mail/em-migrate.c:2573
#, c-format
msgid "Failed to create local mail storage `%s': %s"
msgstr "Falha ao criar o armazenamento local de mensagens `%s': %s"
-#: mail/em-migrate.c:2657
+#: mail/em-migrate.c:2693
#, c-format
msgid "Unable to create local mail folders at `%s': %s"
msgstr "Incapaz de criar as pastas locais de mensagens em `%s': %s"
-#: mail/em-migrate.c:2675
+#: mail/em-migrate.c:2711
msgid ""
"Unable to read settings from previous Evolution install, `evolution/config."
"xmldb' does not exist or is corrupt."
@@ -11360,40 +11352,40 @@ msgstr ""
"Incapaz de ler as definições da instalação anterior do Evolution, `evolution/"
"config.xmldb' não existe ou está corrompido."
-#: mail/em-popup.c:381
+#: mail/em-popup.c:382
msgid "Save As..."
msgstr "Gravar Como..."
-#: mail/em-popup.c:400
+#: mail/em-popup.c:401
#, c-format
msgid "untitled_image.%s"
msgstr "imagem_sem_titulo.%s"
-#: mail/em-popup.c:494
+#: mail/em-popup.c:495
msgid "Set as _Background"
msgstr "Definir como _Fundo"
-#: mail/em-popup.c:496
+#: mail/em-popup.c:497
msgid "_Reply to sender"
msgstr "_Responder ao remetente"
-#: mail/em-popup.c:497 ui/evolution-mail-message.xml.h:88
+#: mail/em-popup.c:498 ui/evolution-mail-message.xml.h:88
msgid "Reply to _List"
msgstr "Responder para a _Lista"
-#: mail/em-popup.c:548
+#: mail/em-popup.c:549
msgid "_Open Link in Browser"
msgstr "Abrir o Link no _Navegador"
-#: mail/em-popup.c:549
+#: mail/em-popup.c:550
msgid "_Send New Message To..."
msgstr "_Enviar uma Nova Mensagem Para..."
-#: mail/em-popup.c:550
+#: mail/em-popup.c:551
msgid "_Add to Addressbook"
msgstr "_Adicionar ao Livro de Endereços"
-#: mail/em-popup.c:681
+#: mail/em-popup.c:666
#, c-format
msgid "Open in %s..."
msgstr "Abrir em %s..."
@@ -11440,7 +11432,7 @@ msgid "Add address"
msgstr "Adicionar o endereço"
#. Drop filename for messages from a mailbox
-#: mail/em-utils.c:1055
+#: mail/em-utils.c:1071
#, c-format
msgid "Messages from %s"
msgstr "Mensagens de %s"
@@ -12166,80 +12158,80 @@ msgstr "lista de distribuição %s"
msgid "Add Filter Rule"
msgstr "Adicionar Regra de Filtro"
-#: mail/mail-component.c:484
+#: mail/mail-component.c:505
#, c-format
msgid "%d deleted"
msgid_plural "%d deleted"
msgstr[0] "%d seleccionada"
msgstr[1] "%d seleccionadas"
-#: mail/mail-component.c:486
+#: mail/mail-component.c:507
#, c-format
msgid "%d junk"
msgid_plural "%d junk"
msgstr[0] "%d não solicitado"
msgstr[1] "%d não solicitados"
-#: mail/mail-component.c:509
+#: mail/mail-component.c:530
#, c-format
msgid "%d draft"
msgid_plural "%d drafts"
msgstr[0] "%d rascunho"
msgstr[1] "%d rascunhos"
-#: mail/mail-component.c:511
+#: mail/mail-component.c:532
#, c-format
msgid "%d sent"
msgid_plural "%d sent"
msgstr[0] "%d enviada"
msgstr[1] "%d enviadas"
-#: mail/mail-component.c:513
+#: mail/mail-component.c:534
#, c-format
msgid "%d unsent"
msgid_plural "%d unsent"
msgstr[0] "%d por enviar"
msgstr[1] "%d por enviar"
-#: mail/mail-component.c:517
+#: mail/mail-component.c:538
#, c-format
msgid "%d total"
msgid_plural "%d total"
msgstr[0] "%d no total"
msgstr[1] "%d no total"
-#: mail/mail-component.c:519
+#: mail/mail-component.c:540
#, c-format
msgid ", %d unread"
msgid_plural ", %d unread"
msgstr[0] ", %d por ler"
msgstr[1] ", %d por ler"
-#: mail/mail-component.c:691
+#: mail/mail-component.c:722
msgid "New Mail Message"
msgstr "Nova Mensagem de Email"
-#: mail/mail-component.c:692
+#: mail/mail-component.c:723
msgid "_Mail Message"
msgstr "_Mensagem de Email"
-#: mail/mail-component.c:693
+#: mail/mail-component.c:724
msgid "Compose a new mail message"
msgstr "Compor uma nova mensagem de email"
-#: mail/mail-component.c:699
+#: mail/mail-component.c:730
msgid "New Mail Folder"
msgstr "Nova Pasta de Mensagens"
-#: mail/mail-component.c:700
+#: mail/mail-component.c:731
msgid "Mail _Folder"
msgstr "_Pasta de Mensagens"
-#: mail/mail-component.c:701
+#: mail/mail-component.c:732
msgid "Create a new mail folder"
msgstr "Criar uma nova pasta de mensagens"
-#: mail/mail-component.c:848
+#: mail/mail-component.c:879
msgid "Failed upgrading Mail settings or folders."
msgstr "Falha ao actualizar as definições ou pastas de Mensagens."
@@ -13868,73 +13860,73 @@ msgstr "Editar a vPasta"
msgid "New vFolder"
msgstr "Nova vPasta"
-#: mail/message-list.c:999
+#: mail/message-list.c:994
msgid "Unseen"
msgstr "Por Ler"
-#: mail/message-list.c:1000
+#: mail/message-list.c:995
msgid "Seen"
msgstr "Lida"
-#: mail/message-list.c:1001
+#: mail/message-list.c:996
msgid "Answered"
msgstr "Respondida"
-#: mail/message-list.c:1002
+#: mail/message-list.c:997
msgid "Multiple Unseen Messages"
msgstr "Múltiplas Mensagens Por Ler"
-#: mail/message-list.c:1003
+#: mail/message-list.c:998
msgid "Multiple Messages"
msgstr "Múltiplas Mensagens"
-#: mail/message-list.c:1007
+#: mail/message-list.c:1002
msgid "Lowest"
msgstr "Mais Baixo"
-#: mail/message-list.c:1008
+#: mail/message-list.c:1003
msgid "Lower"
msgstr "Baixo"
-#: mail/message-list.c:1012
+#: mail/message-list.c:1007
msgid "Higher"
msgstr "Alto"
-#: mail/message-list.c:1013
+#: mail/message-list.c:1008
msgid "Highest"
msgstr "Mais Alto"
-#: mail/message-list.c:1341
+#: mail/message-list.c:1336
msgid "?"
msgstr "?"
#. strftime format of a time,
#. in 12-hour format, without seconds.
-#: mail/message-list.c:1348 plugins/itip-formatter/itip-view.c:189
+#: mail/message-list.c:1343 plugins/itip-formatter/itip-view.c:189
msgid "Today %l:%M %p"
msgstr "Hoje %l:%M %p"
-#: mail/message-list.c:1357
+#: mail/message-list.c:1352
msgid "Yesterday %l:%M %p"
msgstr "Ontem %l:%M %p"
-#: mail/message-list.c:1369
+#: mail/message-list.c:1364
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
-#: mail/message-list.c:1377
+#: mail/message-list.c:1372
msgid "%b %d %l:%M %p"
msgstr "%b %d %l:%M %p"
-#: mail/message-list.c:1379
+#: mail/message-list.c:1374
msgid "%b %d %Y"
msgstr "%b %d %Y"
-#: mail/message-list.c:2046
+#: mail/message-list.c:2041
msgid "Message List"
msgstr "Lista de Mensagens"
-#: mail/message-list.c:3386
+#: mail/message-list.c:3384
msgid "Generating message list"
msgstr "A gerar a lista de mensagens"
@@ -14158,12 +14150,12 @@ msgid "Mark as default folder"
msgstr "Marcar como pasta por omissão"
#. i18n: "Secure Password Authentication" is an Outlookism
-#: plugins/exchange-account-setup/exchange-account-setup.c:53
+#: plugins/exchange-account-setup/exchange-account-setup.c:59
msgid "Secure Password"
msgstr "Senha Segura"
#. i18n: "NTLM" probably doesn't translate
-#: plugins/exchange-account-setup/exchange-account-setup.c:56
+#: plugins/exchange-account-setup/exchange-account-setup.c:62
msgid ""
"This option will connect to the Exchange server using secure password (NTLM) "
"authentication."
@@ -14171,11 +14163,11 @@ msgstr ""
"Esta opção irá estabelecer uma ligação ao servidor utilizando autenticação "
"de senha segura (NTLM)."
-#: plugins/exchange-account-setup/exchange-account-setup.c:64
+#: plugins/exchange-account-setup/exchange-account-setup.c:70
msgid "Plaintext Password"
msgstr "Senha de Texto Simples"
-#: plugins/exchange-account-setup/exchange-account-setup.c:66
+#: plugins/exchange-account-setup/exchange-account-setup.c:72
msgid ""
"This option will connect to the Exchange server using standard plaintext "
"password authentication."
@@ -14184,7 +14176,7 @@ msgstr ""
"autenticação com senha em texto simples."
#. Description section
-#: plugins/exchange-account-setup/exchange-account-setup.c:113
+#: plugins/exchange-account-setup/exchange-account-setup.c:193
msgid ""
"The message specified below will be automatically sent to \n"
"each person who sends mail to you while you are out of the office."
@@ -14192,37 +14184,39 @@ msgstr ""
"A mensagem abaixo especificada será automaticamente enviada para todas \n"
"as pessoas lhe enviarem uma mensagem enquanto estiver ausente do escritório."
-#: plugins/exchange-account-setup/exchange-account-setup.c:140
-msgid "I am in the office"
-msgstr "Encontro-me no escritório"
-
-#: plugins/exchange-account-setup/exchange-account-setup.c:154
+#: plugins/exchange-account-setup/exchange-account-setup.c:221
+#: plugins/exchange-account-setup/exchange-account-setup.c:231
msgid "I am out of the office"
msgstr "Estou ausente do escritório"
-#: plugins/exchange-account-setup/exchange-account-setup.c:168
+#: plugins/exchange-account-setup/exchange-account-setup.c:224
+#: plugins/exchange-account-setup/exchange-account-setup.c:228
+msgid "I am in the office"
+msgstr "Encontro-me no escritório"
+
+#: plugins/exchange-account-setup/exchange-account-setup.c:257
msgid "Out of office Message:"
msgstr "Mensagem de Ausente do Escritório:"
-#: plugins/exchange-account-setup/exchange-account-setup.c:194
+#: plugins/exchange-account-setup/exchange-account-setup.c:302
msgid "Exchange Settings"
msgstr "Definições de Exchange"
-#: plugins/exchange-account-setup/exchange-account-setup.c:332
+#: plugins/exchange-account-setup/exchange-account-setup.c:448
#: plugins/exchange-account-setup/exchange-ask-password.c:200
msgid "_OWA Url:"
msgstr "URL _OWA:"
-#: plugins/exchange-account-setup/exchange-account-setup.c:340
+#: plugins/exchange-account-setup/exchange-account-setup.c:456
#: plugins/exchange-account-setup/exchange-ask-password.c:193
msgid "A_uthenticate"
msgstr "A_utenticar"
-#: plugins/exchange-account-setup/exchange-account-setup.c:457
+#: plugins/exchange-account-setup/exchange-account-setup.c:664
msgid "Authentication Type"
msgstr "Tipo de Autenticação"
-#: plugins/exchange-account-setup/exchange-account-setup.c:471
+#: plugins/exchange-account-setup/exchange-account-setup.c:678
msgid "Ch_eck for Supported Types"
msgstr "_Consultar por Tipos Suportados"
@@ -14851,7 +14845,7 @@ msgstr "Encapsular os valores com:"
msgid "Comma separated value format (.csv)"
msgstr "Formato de valores separados por vírgula (.csv)"
-#: plugins/save-calendar/ical-format.c:120
+#: plugins/save-calendar/ical-format.c:136
msgid "iCalendar format (.ics)"
msgstr "Formato iCalendar (.ics)"
@@ -14859,12 +14853,12 @@ msgstr "Formato iCalendar (.ics)"
msgid "RDF format (.rdf)"
msgstr "Formato RDF (.rdf)"
-#: plugins/save-calendar/save-calendar.c:172
-#: plugins/save-calendar/save-calendar.c:182
+#: plugins/save-calendar/save-calendar.c:171
+#: plugins/save-calendar/save-calendar.c:181
msgid "Select destination file"
msgstr "Seleccionar o ficheiro de destino"
-#: plugins/save-calendar/save-calendar.c:217
+#: plugins/save-calendar/save-calendar.c:216
#, c-format
msgid ""
"The suggested filename extension of this filetype (%s) is unused in the "
@@ -15015,7 +15009,7 @@ msgstr "Configuração da impressora"
msgid "Skip development warning dialog"
msgstr "Saltar o diálogo de aviso de versão de desenvolvimento"
-#: shell/apps_evolution_shell.schemas.in.in.h:11 shell/main.c:475
+#: shell/apps_evolution_shell.schemas.in.in.h:11 shell/main.c:476
msgid "Start in offline mode"
msgstr "Iniciar em modo desligado"
@@ -15282,44 +15276,44 @@ msgstr "Nome de pasta não pode conter o caracter \"#\"."
msgid "'.' and '..' are reserved folder names."
msgstr "'.' e '..' são nomes de pastas reservados."
-#: shell/e-shell-window-commands.c:67
+#: shell/e-shell-window-commands.c:69
msgid "The GNOME Pilot tools do not appear to be installed on this system."
msgstr ""
"Parece que as ferramentas GNOME Pilot não estão instaladas neste sistema."
-#: shell/e-shell-window-commands.c:75
+#: shell/e-shell-window-commands.c:77
#, c-format
msgid "Error executing %s."
msgstr "Erro ao executar %s."
-#: shell/e-shell-window-commands.c:124
+#: shell/e-shell-window-commands.c:126
msgid "Bug buddy is not installed."
msgstr "Bub buddy não está instalado."
-#: shell/e-shell-window-commands.c:132
+#: shell/e-shell-window-commands.c:134
msgid "Bug buddy could not be run."
msgstr "Incapaz de executar o Bub buddy."
#. The translator-credits string is for translators to list
#. * per language credits for translation, displayed in the
#. * about box
-#: shell/e-shell-window-commands.c:426
+#: shell/e-shell-window-commands.c:501
msgid "translator-credits"
msgstr "Duarte Loreto <happyguy_pt@hotmail.com>"
-#: shell/e-shell-window-commands.c:440
+#: shell/e-shell-window-commands.c:515
msgid "Groupware Suite"
msgstr "Groupwise Suite"
-#: shell/e-shell-window-commands.c:681
+#: shell/e-shell-window-commands.c:742
msgid "_Work Online"
msgstr "Trabalhar _Ligado"
-#: shell/e-shell-window-commands.c:694 ui/evolution.xml.h:51
+#: shell/e-shell-window-commands.c:755 ui/evolution.xml.h:51
msgid "_Work Offline"
msgstr "Trabalhar _Desligado"
-#: shell/e-shell-window-commands.c:707 ui/evolution.xml.h:34
+#: shell/e-shell-window-commands.c:768 ui/evolution.xml.h:34
msgid "Work Offline"
msgstr "Trabalhar Desligado"
@@ -15339,37 +15333,37 @@ msgstr ""
"Evolution de momento está desligado. Clique neste botão para trabalhar "
"ligado."
-#: shell/e-shell-window.c:708
+#: shell/e-shell-window.c:713
#, c-format
msgid "Switch to %s"
msgstr "Alternar para %s"
-#: shell/e-shell.c:597
+#: shell/e-shell.c:598
msgid "Uknown system error."
msgstr "Erro de sistema desconhecido."
-#: shell/e-shell.c:805 shell/e-shell.c:806
+#: shell/e-shell.c:800 shell/e-shell.c:801
#, c-format
msgid "%ld KB"
msgstr "%ld KB"
-#: shell/e-shell.c:1249 widgets/misc/e-cell-date-edit.c:256
+#: shell/e-shell.c:1254 widgets/misc/e-cell-date-edit.c:256
msgid "OK"
msgstr "OK"
-#: shell/e-shell.c:1251
+#: shell/e-shell.c:1256
msgid "Invalid arguments"
msgstr "Argumentos inválidos"
-#: shell/e-shell.c:1253
+#: shell/e-shell.c:1258
msgid "Cannot register on OAF"
msgstr "Incapaz de se registar no OAF"
-#: shell/e-shell.c:1255
+#: shell/e-shell.c:1260
msgid "Configuration Database not found"
msgstr "Base de Dados de Configuração não foi encontrada"
-#: shell/e-shell.c:1257
+#: shell/e-shell.c:1262
msgid "Generic error"
msgstr "Erro genérico"
@@ -15489,7 +15483,7 @@ msgid "Evolution can import data from the following files:"
msgstr "Evolution pode importar dados dos seguintes ficheiros:"
#. Preview/Alpha/Beta version warning message
-#: shell/main.c:237
+#: shell/main.c:238
#, no-c-format
msgid ""
"Hi. Thanks for taking the time to download this preview release\n"
@@ -15525,7 +15519,7 @@ msgstr ""
"Esperamos que lhe agrade o resultado do nosso trabalho e aguardamos\n"
"as suas contribuições!\n"
-#: shell/main.c:261
+#: shell/main.c:262
msgid ""
"Thanks\n"
"The Evolution Team\n"
@@ -15533,41 +15527,41 @@ msgstr ""
"Obrigado\n"
"A Equipa do Evolution\n"
-#: shell/main.c:268
+#: shell/main.c:269
msgid "Don't tell me again"
msgstr "Não apresentar novamente"
-#: shell/main.c:473
+#: shell/main.c:474
msgid "Start Evolution activating the specified component"
msgstr "Iniciar o Evolution activando o componente especificado"
-#: shell/main.c:477
+#: shell/main.c:478
msgid "Start in online mode"
msgstr "Iniciar em modo ligado"
-#: shell/main.c:480
+#: shell/main.c:481
msgid "Forcibly shut down all Evolution components"
msgstr "Forçar todos os componentes do Evolution a terminar"
-#: shell/main.c:484
+#: shell/main.c:485
msgid "Forcibly re-migrate from Evolution 1.4"
msgstr ""
"Forçar uma nova actualização de ficheiros de configuração do Evolution 1.4"
-#: shell/main.c:487
+#: shell/main.c:488
msgid "Send the debugging output of all components to a file."
msgstr ""
"Enviar o resultado de depuração de todos os componentes para um ficheiro."
-#: shell/main.c:490
+#: shell/main.c:491
msgid "Disable the mono plugin environment."
msgstr "Desactivar o ambiente de plugin mono."
-#: shell/main.c:493
+#: shell/main.c:494
msgid "Disable loading of any plugins."
msgstr "Desactivar o carregamento de quaisquer plugins."
-#: shell/main.c:524
+#: shell/main.c:525
#, c-format
msgid ""
"%s: --online and --offline cannot be used together.\n"
@@ -15752,30 +15746,30 @@ msgstr ""
"certificado excepto se aqui especificado"
#: smime/gui/certificate-manager.c:134 smime/gui/certificate-manager.c:142
-#: smime/gui/certificate-manager.c:375 smime/gui/certificate-manager.c:383
-#: smime/gui/certificate-manager.c:595 smime/gui/certificate-manager.c:603
+#: smime/gui/certificate-manager.c:377 smime/gui/certificate-manager.c:385
+#: smime/gui/certificate-manager.c:597 smime/gui/certificate-manager.c:605
msgid "Select a cert to import..."
msgstr "Seleccionar um certificado a importar..."
-#: smime/gui/certificate-manager.c:263 smime/gui/certificate-manager.c:472
-#: smime/gui/certificate-manager.c:690
+#: smime/gui/certificate-manager.c:265 smime/gui/certificate-manager.c:474
+#: smime/gui/certificate-manager.c:692
msgid "Certificate Name"
msgstr "Nome do Certificado"
-#: smime/gui/certificate-manager.c:272 smime/gui/certificate-manager.c:490
+#: smime/gui/certificate-manager.c:274 smime/gui/certificate-manager.c:492
msgid "Purposes"
msgstr "Propósitos"
-#: smime/gui/certificate-manager.c:281 smime/gui/smime-ui.glade.h:36
+#: smime/gui/certificate-manager.c:283 smime/gui/smime-ui.glade.h:36
#: smime/lib/e-cert.c:569
msgid "Serial Number"
msgstr "Número de Série"
-#: smime/gui/certificate-manager.c:289
+#: smime/gui/certificate-manager.c:291
msgid "Expires"
msgstr "Expira"
-#: smime/gui/certificate-manager.c:481
+#: smime/gui/certificate-manager.c:483
msgid "E-Mail Address"
msgstr "Endereço de Email"
@@ -18134,6 +18128,12 @@ msgstr "%s (%d%% terminado)"
msgid "click here to go to url"
msgstr "clique aqui para ir para o url"
+#~ msgid "_Remember this password"
+#~ msgstr "_Recordar esta senha"
+
+#~ msgid "_Remember this password for the remainder of this session"
+#~ msgstr "_Recordar esta senha durante o resto desta sessão"
+
#~ msgid "have "
#~ msgstr "possui "
diff --git a/po/pt_BR.po b/po/pt_BR.po
index f9b5edb7fa..25137172c7 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: evolution\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2005-03-09 13:28+0100\n"
-"PO-Revision-Date: 2005-03-15 20:32-0300\n"
+"PO-Revision-Date: 2005-03-09 10:53-0300\n"
"Last-Translator: Gustavo Maciel Dias Vieira <gustavo@sagui.org>\n"
"Language-Team: Brazilian Portuguese <gnome-l10n-br@listas.cipsga.org.br>\n"
"MIME-Version: 1.0\n"
@@ -13148,7 +13148,7 @@ msgstr ""
#. mail:async-error primary
#: mail/mail-errors.xml.h:67
msgid "Error while {0}."
-msgstr "Erro {0}."
+msgstr "Erro ao {0}."
#. mail:async-error secondary
#: mail/mail-errors.xml.h:69
diff --git a/po/sq.po b/po/sq.po
index 9657900d88..a38cb42e8f 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: evolution HEAD\n"
+"Project-Id-Version: evolution gnome-2-10\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-03-02 10:05+0100\n"
-"PO-Revision-Date: 2005-03-02 13:18+0100\n"
+"POT-Creation-Date: 2005-03-09 05:24+0100\n"
+"PO-Revision-Date: 2005-03-09 11:00+0100\n"
"Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n"
"Language-Team: Albanian <gnome-albanian-perkthyesit@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
@@ -16,132 +16,131 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../a11y/addressbook/ea-addressbook-view.c:94
-#: ../a11y/addressbook/ea-addressbook-view.c:103
-#: ../a11y/addressbook/ea-minicard-view.c:166
+#: a11y/addressbook/ea-addressbook-view.c:94
+#: a11y/addressbook/ea-addressbook-view.c:103
+#: a11y/addressbook/ea-minicard-view.c:166
msgid "evolution addressbook"
msgstr "rubrika e evolution"
-#: ../a11y/addressbook/ea-minicard-view.c:34
-#: ../addressbook/gui/component/addressbook-component.c:196
+#: a11y/addressbook/ea-minicard-view.c:34
+#: addressbook/gui/component/addressbook-component.c:196
msgid "New Contact"
msgstr "Kontakt i Ri"
-#: ../a11y/addressbook/ea-minicard-view.c:35
-#: ../addressbook/gui/component/addressbook-component.c:204
+#: a11y/addressbook/ea-minicard-view.c:35
+#: addressbook/gui/component/addressbook-component.c:204
msgid "New Contact List"
msgstr "Lista e re kontaktesh"
-#: ../a11y/addressbook/ea-minicard-view.c:149
+#: a11y/addressbook/ea-minicard-view.c:149
#, c-format
msgid "current addressbook folder has %d card"
msgid_plural "current addressbook folder has %d cards"
msgstr[0] "kartela aktuale e rubrikës ka %d skedë"
msgstr[1] "kartela aktuale e rubrikës ka %d skeda"
-#: ../a11y/addressbook/ea-minicard.c:31
-#: ../calendar/gui/alarm-notify/alarm-queue.c:863
-#: ../ui/evolution-message-composer.xml.h:10
+#: a11y/addressbook/ea-minicard.c:31
+#: calendar/gui/alarm-notify/alarm-queue.c:878
+#: ui/evolution-message-composer.xml.h:10
msgid "Open"
msgstr "Hap"
-#: ../a11y/addressbook/ea-minicard.c:138
+#: a11y/addressbook/ea-minicard.c:138
msgid "Contact List: "
msgstr "Lista e kontakteve: "
-#: ../a11y/addressbook/ea-minicard.c:139
+#: a11y/addressbook/ea-minicard.c:139
msgid "Contact: "
msgstr "Kontakti: "
-#: ../a11y/addressbook/ea-minicard.c:165
+#: a11y/addressbook/ea-minicard.c:165
msgid "evolution minicard"
msgstr "minicard e evolution"
-#: ../a11y/calendar/ea-cal-view-event.c:235
+#: a11y/calendar/ea-cal-view-event.c:235
msgid "It has alarms."
msgstr "Përmban alarme."
-#: ../a11y/calendar/ea-cal-view-event.c:238
+#: a11y/calendar/ea-cal-view-event.c:238
msgid "It has recurrences."
msgstr "Përmban përvjetore."
-#: ../a11y/calendar/ea-cal-view-event.c:241
+#: a11y/calendar/ea-cal-view-event.c:241
msgid "It is a meeting."
msgstr "Është një mbledhje."
-#: ../a11y/calendar/ea-cal-view-event.c:247
+#: a11y/calendar/ea-cal-view-event.c:247
#, c-format
msgid "Calendar Event: Summary is %s."
msgstr "Ndodhi kalendari: Treguesi është «%s»."
-#: ../a11y/calendar/ea-cal-view-event.c:249
+#: a11y/calendar/ea-cal-view-event.c:249
msgid "Calendar Event: It has no summary."
msgstr "Ndodhi kalendari: nuk ka asnjë tregues."
-#: ../a11y/calendar/ea-cal-view-event.c:268
+#: a11y/calendar/ea-cal-view-event.c:268
msgid "calendar view event"
msgstr "shfaqja e kalendarit sipas ndodhive"
-#: ../a11y/calendar/ea-cal-view-event.c:485
+#: a11y/calendar/ea-cal-view-event.c:485
msgid "Grab Focus"
msgstr "Merr fokusin"
-#: ../a11y/calendar/ea-cal-view.c:306
+#: a11y/calendar/ea-cal-view.c:306
msgid "New Appointment"
msgstr "Takim i ri"
-#: ../a11y/calendar/ea-cal-view.c:307
+#: a11y/calendar/ea-cal-view.c:307
msgid "New All Day Event"
msgstr "Ndodhi e re për gjithë ditën"
-#: ../a11y/calendar/ea-cal-view.c:308 ../calendar/gui/e-calendar-view.c:1372
+#: a11y/calendar/ea-cal-view.c:308 calendar/gui/e-calendar-view.c:1372
msgid "New Meeting"
msgstr "Mbledhje e Re"
-#: ../a11y/calendar/ea-cal-view.c:309
+#: a11y/calendar/ea-cal-view.c:309
msgid "Go to Today"
msgstr "Shko tek sot"
-#: ../a11y/calendar/ea-cal-view.c:310
+#: a11y/calendar/ea-cal-view.c:310
msgid "Go to Date"
msgstr "Shko tek data"
-#: ../a11y/calendar/ea-day-view-main-item.c:299
-#: ../a11y/calendar/ea-week-view-main-item.c:301
+#: a11y/calendar/ea-day-view-main-item.c:299
+#: a11y/calendar/ea-week-view-main-item.c:301
msgid "a table to view and select the current time range"
msgstr "një tabelë për të shfaqur dhe zgjedhur intervalin e kohës aktuale"
-#: ../a11y/calendar/ea-day-view.c:146 ../a11y/calendar/ea-week-view.c:148
+#: a11y/calendar/ea-day-view.c:146 a11y/calendar/ea-week-view.c:148
#, c-format
msgid "It has %d event."
msgid_plural "It has %d events."
msgstr[0] "Përmban %d ndodhi."
msgstr[1] "Përmban %d ndodhi."
-#: ../a11y/calendar/ea-day-view.c:148 ../a11y/calendar/ea-week-view.c:150
+#: a11y/calendar/ea-day-view.c:148 a11y/calendar/ea-week-view.c:150
msgid "It has no events."
msgstr "Nuk ka ndodhi."
-#: ../a11y/calendar/ea-day-view.c:152
+#: a11y/calendar/ea-day-view.c:152
#, c-format
msgid "Work Week View: %s. %s"
msgstr "Paraqitja e javës së punës: %s. %s"
-#: ../a11y/calendar/ea-day-view.c:155
+#: a11y/calendar/ea-day-view.c:155
#, c-format
msgid "Day View: %s. %s"
msgstr "Paraqitja ditore: %s. %s"
-#: ../a11y/calendar/ea-day-view.c:186
+#: a11y/calendar/ea-day-view.c:186
msgid "calendar view for a work week"
msgstr "paraqitja e kalendarit për një javë pune"
-#: ../a11y/calendar/ea-day-view.c:188
+#: a11y/calendar/ea-day-view.c:188
msgid "calendar view for one or more days"
msgstr "paraqitja e kalendarit për një apo më shumë ditë"
-#: ../a11y/calendar/ea-gnome-calendar.c:187
-#: ../calendar/gui/calendar-component.c:660
+#: a11y/calendar/ea-gnome-calendar.c:187 calendar/gui/calendar-component.c:660
msgid "%A %d %b %Y"
msgstr "%A %d %b %Y"
@@ -151,30 +150,22 @@ msgstr "%A %d %b %Y"
#. %d = day of month, %b = abbreviated month name.
#. You can change the order but don't change the
#. specifiers or add anything.
-#: ../a11y/calendar/ea-gnome-calendar.c:190
-#: ../calendar/gui/calendar-component.c:663
-#: ../calendar/gui/e-day-view-top-item.c:719 ../calendar/gui/e-day-view.c:1511
-#: ../calendar/gui/e-week-view-main-item.c:321
+#: a11y/calendar/ea-gnome-calendar.c:190 calendar/gui/calendar-component.c:663
+#: calendar/gui/e-day-view-top-item.c:719 calendar/gui/e-day-view.c:1511
+#: calendar/gui/e-week-view-main-item.c:321
msgid "%a %d %b"
msgstr "%a %d %b"
-#: ../a11y/calendar/ea-gnome-calendar.c:192
-#: ../a11y/calendar/ea-gnome-calendar.c:197
-#: ../a11y/calendar/ea-gnome-calendar.c:199
-#: ../calendar/gui/calendar-component.c:665
-#: ../calendar/gui/calendar-component.c:670
-#: ../calendar/gui/calendar-component.c:672
+#: a11y/calendar/ea-gnome-calendar.c:192 a11y/calendar/ea-gnome-calendar.c:197
+#: a11y/calendar/ea-gnome-calendar.c:199 calendar/gui/calendar-component.c:665
+#: calendar/gui/calendar-component.c:670 calendar/gui/calendar-component.c:672
msgid "%a %d %b %Y"
msgstr "%a %d %b %Y"
-#: ../a11y/calendar/ea-gnome-calendar.c:216
-#: ../a11y/calendar/ea-gnome-calendar.c:222
-#: ../a11y/calendar/ea-gnome-calendar.c:228
-#: ../a11y/calendar/ea-gnome-calendar.c:230
-#: ../calendar/gui/calendar-component.c:684
-#: ../calendar/gui/calendar-component.c:691
-#: ../calendar/gui/calendar-component.c:697
-#: ../calendar/gui/calendar-component.c:699
+#: a11y/calendar/ea-gnome-calendar.c:216 a11y/calendar/ea-gnome-calendar.c:222
+#: a11y/calendar/ea-gnome-calendar.c:228 a11y/calendar/ea-gnome-calendar.c:230
+#: calendar/gui/calendar-component.c:684 calendar/gui/calendar-component.c:691
+#: calendar/gui/calendar-component.c:697 calendar/gui/calendar-component.c:699
msgid "%d %b %Y"
msgstr "%d %b %Y"
@@ -183,86 +174,83 @@ msgstr "%d %b %Y"
#. strftime format %d = day of month, %b = abbreviated
#. month name. You can change the order but don't
#. change the specifiers or add anything.
-#: ../a11y/calendar/ea-gnome-calendar.c:220
-#: ../calendar/gui/calendar-component.c:689
-#: ../calendar/gui/e-day-view-top-item.c:723 ../calendar/gui/e-day-view.c:1527
-#: ../calendar/gui/e-week-view-main-item.c:335
+#: a11y/calendar/ea-gnome-calendar.c:220 calendar/gui/calendar-component.c:689
+#: calendar/gui/e-day-view-top-item.c:723 calendar/gui/e-day-view.c:1527
+#: calendar/gui/e-week-view-main-item.c:335
msgid "%d %b"
msgstr "%d %b"
-#: ../a11y/calendar/ea-gnome-calendar.c:247
-#: ../a11y/calendar/ea-gnome-calendar.c:255
-#: ../calendar/importers/icalendar-importer.c:726
+#: a11y/calendar/ea-gnome-calendar.c:247 a11y/calendar/ea-gnome-calendar.c:255
+#: calendar/importers/icalendar-importer.c:726
msgid "Gnome Calendar"
msgstr "Kalendari i Gnome"
-#: ../a11y/calendar/ea-gnome-calendar.c:290
+#: a11y/calendar/ea-gnome-calendar.c:290
msgid "search bar"
msgstr "shtylla e kërkimit"
-#: ../a11y/calendar/ea-gnome-calendar.c:291
+#: a11y/calendar/ea-gnome-calendar.c:291
msgid "evolution calendar search bar"
msgstr "shtylla e kërkimit tek kalendari i evolution"
-#: ../a11y/calendar/ea-jump-button.c:149
+#: a11y/calendar/ea-jump-button.c:149
msgid "Jump button"
msgstr "Pulsanti \"shko tek\""
-#: ../a11y/calendar/ea-jump-button.c:158
+#: a11y/calendar/ea-jump-button.c:158
msgid "Click here, you can find more events."
msgstr "Kliko këtu për gjetur aktivitete të tjerë.֣"
-#: ../a11y/calendar/ea-week-view.c:155
+#: a11y/calendar/ea-week-view.c:155
#, c-format
msgid "Month View: %s. %s"
msgstr "Paraqitja mujore: %s. %s"
-#: ../a11y/calendar/ea-week-view.c:159
+#: a11y/calendar/ea-week-view.c:159
#, c-format
msgid "Week View: %s. %s"
msgstr "Paraqitja javore: %s. %s"
-#: ../a11y/calendar/ea-week-view.c:190
+#: a11y/calendar/ea-week-view.c:190
msgid "calendar view for a month"
msgstr "paraqitja e kalendarit për një muaj"
-#: ../a11y/calendar/ea-week-view.c:192
+#: a11y/calendar/ea-week-view.c:192
msgid "calendar view for one or more weeks"
msgstr "paraqitja e kalendarit për një apo më shumë javë"
-#: ../a11y/widgets/ea-calendar-item.c:296
-#: ../a11y/widgets/ea-calendar-item.c:302
+#: a11y/widgets/ea-calendar-item.c:296 a11y/widgets/ea-calendar-item.c:302
msgid "%d %B %Y"
msgstr "%d %B %Y"
-#: ../a11y/widgets/ea-calendar-item.c:304
+#: a11y/widgets/ea-calendar-item.c:304
#, c-format
msgid "Calendar: from %s to %s"
msgstr "Kalendari: nga %s tek %s"
-#: ../a11y/widgets/ea-calendar-item.c:339
+#: a11y/widgets/ea-calendar-item.c:339
msgid "evolution calendar item"
msgstr "zë kalendari i evolution"
-#: ../a11y/widgets/ea-combo-button.c:40
+#: a11y/widgets/ea-combo-button.c:40
msgid "Combo Button"
msgstr "Pulsant i kombinuar"
-#: ../a11y/widgets/ea-combo-button.c:50
+#: a11y/widgets/ea-combo-button.c:50
msgid "Activate Default"
msgstr "Aktivo të prezgjedhurin"
-#: ../a11y/widgets/ea-combo-button.c:52
+#: a11y/widgets/ea-combo-button.c:52
msgid "Popup Menu"
msgstr "Menu popup"
#. addressbook:ldap-init primary
-#: ../addressbook/addressbook-errors.xml.h:2
+#: addressbook/addressbook-errors.xml.h:2
msgid "This addressbook could not be opened."
msgstr "Kjo rubrikë nuk mund të hapet."
#. addressbook:ldap-init secondary
-#: ../addressbook/addressbook-errors.xml.h:4
+#: addressbook/addressbook-errors.xml.h:4
msgid ""
"This addressbook server might be unreachable or the server name may be "
"misspelled or your network connection could be down."
@@ -271,12 +259,12 @@ msgstr ""
"jetë i gabuar ose akoma lidhja e rrjetit mund të mos jetë akoma aktive."
#. addressbook:ldap-auth primary
-#: ../addressbook/addressbook-errors.xml.h:6
+#: addressbook/addressbook-errors.xml.h:6
msgid "Failed to authenticate with LDAP server."
msgstr "Identifikimi me server-in LDAP dështoi."
#. addressbook:ldap-auth secondary
-#: ../addressbook/addressbook-errors.xml.h:8
+#: addressbook/addressbook-errors.xml.h:8
msgid ""
"Check to make sure your password is spelled correctly and that you are using "
"a supported login method. Remember that many passwords are case sensitive; "
@@ -288,12 +276,12 @@ msgstr ""
"mëdha."
#. addressbook:ldap-search-base primary
-#: ../addressbook/addressbook-errors.xml.h:10
+#: addressbook/addressbook-errors.xml.h:10
msgid "This addressbook server does not have any suggested search bases."
msgstr "Ky server rubrike nuk ka asnjë bazë kërkesash të shfrytëzueshme."
#. addressbook:ldap-search-base secondary
-#: ../addressbook/addressbook-errors.xml.h:12
+#: addressbook/addressbook-errors.xml.h:12
msgid ""
"This LDAP server may use an older version of LDAP, which does not support "
"this functionality or it may be misconfigured. Ask your administrator for "
@@ -304,37 +292,37 @@ msgstr ""
"bazat e suportuara të kërkimit."
#. addressbook:ldap-v3-schema primary
-#: ../addressbook/addressbook-errors.xml.h:14
+#: addressbook/addressbook-errors.xml.h:14
msgid "This server does not support LDAPv3 schema information."
msgstr "Ky server nuk suporton informacionet e skemës LDAPv3."
#. addressbook:ldap-get-schema primary
-#: ../addressbook/addressbook-errors.xml.h:16
+#: addressbook/addressbook-errors.xml.h:16
msgid "Could not get schema information for LDAP server."
msgstr "E pamundur marrja e informacioneve të skemës për serverin LDAP."
#. addressbook:ldap-invalid-schema primary
-#: ../addressbook/addressbook-errors.xml.h:18
+#: addressbook/addressbook-errors.xml.h:18
msgid "LDAP server did not respond with valid schema information."
msgstr "Serveri LDAP nuk përgjigjet me informacion të vlefshëm skeme."
#. addressbook:remove-addressbook primary
-#: ../addressbook/addressbook-errors.xml.h:20
+#: addressbook/addressbook-errors.xml.h:20
msgid "Could not remove addressbook."
msgstr "E pamundur heqja e rubrikës."
#. addressbook:ask-delete-addressbook primary
-#: ../addressbook/addressbook-errors.xml.h:22
+#: addressbook/addressbook-errors.xml.h:22
msgid "Delete address book '{0}'?"
msgstr "Eleminon rubrikën «{0}»?"
#. addressbook:ask-delete-addressbook secondary
-#: ../addressbook/addressbook-errors.xml.h:24
+#: addressbook/addressbook-errors.xml.h:24
msgid "This address book will be removed permanently."
msgstr "Kjo rubrikë do të eleminohet përgjithmonë."
#. addressbook:edit-categories primary
-#: ../addressbook/addressbook-errors.xml.h:26
+#: addressbook/addressbook-errors.xml.h:26
msgid "Category editor not available."
msgstr "Editori i kategorive nuk është disponibël."
@@ -349,62 +337,62 @@ msgstr "Editori i kategorive nuk është disponibël."
#. mail:session-message-error-cancel secondary
#. mail:ask-session-password secondary
#. mail:filter-load-error secondary
-#: ../addressbook/addressbook-errors.xml.h:28
-#: ../addressbook/addressbook-errors.xml.h:36
-#: ../addressbook/addressbook-errors.xml.h:40 ../mail/mail-errors.xml.h:75
-#: ../mail/mail-errors.xml.h:77 ../mail/mail-errors.xml.h:79
-#: ../mail/mail-errors.xml.h:81 ../mail/mail-errors.xml.h:83
-#: ../mail/mail-errors.xml.h:85 ../mail/mail-errors.xml.h:89
-#: ../mail/mail-errors.xml.h:93
+#: addressbook/addressbook-errors.xml.h:28
+#: addressbook/addressbook-errors.xml.h:36
+#: addressbook/addressbook-errors.xml.h:40 mail/mail-errors.xml.h:75
+#: mail/mail-errors.xml.h:77 mail/mail-errors.xml.h:79
+#: mail/mail-errors.xml.h:81 mail/mail-errors.xml.h:83
+#: mail/mail-errors.xml.h:85 mail/mail-errors.xml.h:89
+#: mail/mail-errors.xml.h:93
msgid "{0}"
msgstr "{0}"
#. addressbook:generic-error secondary
#. mail-composer:no-attach secondary
#. mail:no-save-path secondary
-#: ../addressbook/addressbook-errors.xml.h:30
-#: ../composer/mail-composer-errors.xml.h:4 ../mail/mail-errors.xml.h:97
+#: addressbook/addressbook-errors.xml.h:30
+#: composer/mail-composer-errors.xml.h:4 mail/mail-errors.xml.h:97
msgid "{1}"
msgstr "{1}"
#. addressbook:load-error title
-#: ../addressbook/addressbook-errors.xml.h:32
+#: addressbook/addressbook-errors.xml.h:32
msgid "Unable to open addressbook"
msgstr "E pamundur hapja e rubrikës"
#. addressbook:load-error primary
-#: ../addressbook/addressbook-errors.xml.h:34
+#: addressbook/addressbook-errors.xml.h:34
msgid "Error loading addressbook."
msgstr "Gabim gjatë ngarkimit të rubrikës."
#. addressbook:search-error primary
-#: ../addressbook/addressbook-errors.xml.h:38
+#: addressbook/addressbook-errors.xml.h:38
msgid "Unable to perform search."
msgstr "E pamundur kryerja e kërkimit."
#. addressbook:prompt-save primary
-#: ../addressbook/addressbook-errors.xml.h:42
+#: addressbook/addressbook-errors.xml.h:42
msgid "Would you like to save your changes?"
msgstr "Dëshiron të ruash ndryshimet e kryera?"
#. addressbook:prompt-save secondary
-#: ../addressbook/addressbook-errors.xml.h:44
+#: addressbook/addressbook-errors.xml.h:44
msgid ""
"You have made modifications to this contact. Do you want to save these "
"changes?"
msgstr "Keni kryer ndryshime tek ky kontakt. Dëshironi t'i ruani këto ndryshime?"
-#: ../addressbook/addressbook-errors.xml.h:45
+#: addressbook/addressbook-errors.xml.h:45
msgid "_Discard"
msgstr "_Anullo"
#. addressbook:prompt-move primary
-#: ../addressbook/addressbook-errors.xml.h:47
+#: addressbook/addressbook-errors.xml.h:47
msgid "Cannot move contact."
msgstr "E pamundur lëvizja e kontaktit."
#. addressbook:prompt-move secondary
-#: ../addressbook/addressbook-errors.xml.h:49
+#: addressbook/addressbook-errors.xml.h:49
msgid ""
"You are attempting to move a contact from one addressbook to another but it "
"cannot be removed from the source. Do you want to save a copy instead?"
@@ -413,34 +401,34 @@ msgstr ""
"fshihet nga burimi. Dëshironi përkundrazi të ruani një kopje?"
#. addressbook:save-error primary
-#: ../addressbook/addressbook-errors.xml.h:51
+#: addressbook/addressbook-errors.xml.h:51
msgid "Unable to save contact(s)."
msgstr "E pamundur ruajtja e kontaktit(eve)."
#. addressbook:save-error secondary
-#: ../addressbook/addressbook-errors.xml.h:53
+#: addressbook/addressbook-errors.xml.h:53
msgid "Error saving contacts to {0}: {1}"
msgstr "Gabim gjatë ruajtjes së kontakteve në {0}: {1}"
#. addressbook:backend-died primary
-#: ../addressbook/addressbook-errors.xml.h:55
+#: addressbook/addressbook-errors.xml.h:55
msgid "The Evolution addressbook has quit unexpectedly."
msgstr "Rubrika e Evolution përfundoi në menyrë të papritur."
#. addressbook:backend-died secondary
-#: ../addressbook/addressbook-errors.xml.h:57
+#: addressbook/addressbook-errors.xml.h:57
msgid "Your contacts for {0} will not be available until Evolution is restarted."
msgstr ""
"Kontaktet tuaja për {0} do të jenë në dispozicion vetëm mbas rinisjes së "
"Evolution."
#. addressbook:ask-list-add-exists primary
-#: ../addressbook/addressbook-errors.xml.h:59
+#: addressbook/addressbook-errors.xml.h:59
msgid "Address '{0}' already exists."
msgstr "Adresa «{0}» ekziston."
#. addressbook:ask-list-add-exists secondary
-#: ../addressbook/addressbook-errors.xml.h:61
+#: addressbook/addressbook-errors.xml.h:61
msgid ""
"A contact already exists with this address. Would you like to add a new "
"card with the same address anyway?"
@@ -448,109 +436,107 @@ msgstr ""
"Një kontakt me këtë adresë ekziston. Dëshironi sidoqoftë të shtoni një "
"teser të re me të njëjtën adresë?"
-#: ../addressbook/addressbook-errors.xml.h:62 ../mail/em-vfolder-rule.c:494
-#: ../plugins/shared-folder/properties.glade.h:10
+#: addressbook/addressbook-errors.xml.h:62 mail/em-vfolder-rule.c:494
+#: plugins/shared-folder/properties.glade.h:10
msgid "_Add"
msgstr "_Shto"
#. addressbook:server-version title
#. calendar:server-version title
-#: ../addressbook/addressbook-errors.xml.h:64
-#: ../calendar/calendar-errors.xml.h:142
+#: addressbook/addressbook-errors.xml.h:64 calendar/calendar-errors.xml.h:142
msgid "Server Version"
msgstr "Versioni i serverit"
#. addressbook:server-version primary
#. calendar:server-version primary
-#: ../addressbook/addressbook-errors.xml.h:66
-#: ../calendar/calendar-errors.xml.h:144
+#: addressbook/addressbook-errors.xml.h:66 calendar/calendar-errors.xml.h:144
msgid "Your server needs to be updated"
msgstr "Serveri juaj duhet përditësuar"
#. addressbook:server-version secondary
-#: ../addressbook/addressbook-errors.xml.h:68
+#: addressbook/addressbook-errors.xml.h:68
msgid "Some features may not work correctly with your current server version"
msgstr ""
"Disa nga veçoritë ndoshta nuk do të funksionojnë si duhet me versionin "
"aktual të serverit tuaj"
-#: ../addressbook/conduit/address-conduit.c:298
+#: addressbook/conduit/address-conduit.c:298
msgid "Default Sync Address:"
msgstr "Adresa sync e prezgjedhur:"
-#: ../addressbook/conduit/address-conduit.c:1183
-#: ../addressbook/conduit/address-conduit.c:1184
+#: addressbook/conduit/address-conduit.c:1183
+#: addressbook/conduit/address-conduit.c:1184
msgid "Could not load addressbook"
msgstr "I pamundur ngarkimi i librit të adresave"
-#: ../addressbook/conduit/address-conduit.c:1252
-#: ../addressbook/conduit/address-conduit.c:1255
+#: addressbook/conduit/address-conduit.c:1252
+#: addressbook/conduit/address-conduit.c:1255
msgid "Could not read pilot's Address application block"
msgstr "Nuk arrij të lexoj bllokun e adresave të pilot-it"
-#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:1
+#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:1
msgid "Autocompletion"
msgstr "Plotësim automatik"
-#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:2
+#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:2
msgid "C_ontacts"
msgstr "K_ontakte"
-#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:3
+#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:3
msgid "Certificates"
msgstr "Çertifikimet"
-#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:4
+#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:4
msgid "Configure autocomplete here"
msgstr "Konfiguro këtu plotësimin automatik"
#. Create the contacts group
-#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:5
-#: ../addressbook/gui/component/addressbook-view.c:1119
-#: ../calendar/gui/calendar-component.c:235 ../calendar/gui/migration.c:385
+#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:5
+#: addressbook/gui/component/addressbook-view.c:1119
+#: calendar/gui/calendar-component.c:235 calendar/gui/migration.c:385
msgid "Contacts"
msgstr "Kontakte"
-#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:6
+#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:6
msgid "Evolution Addressbook"
msgstr "Libri i adresave të Evolution"
-#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:7
+#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:7
msgid "Evolution Addressbook address pop-up"
msgstr "Pop-up i librit të adresave të Evolution"
-#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:8
+#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:8
msgid "Evolution Addressbook address viewer"
msgstr "Shikuesi i adresave të librit të adresave të Evolution"
-#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:9
+#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:9
msgid "Evolution Addressbook card viewer"
msgstr "Shikuesi i card nga libri i adresave të Evolution"
-#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:10
+#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:10
msgid "Evolution Addressbook component"
msgstr "Komponenti i librit të adresave të Evolution"
-#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:11
+#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:11
msgid "Evolution S/Mime Certificate Management Control"
msgstr "Administrimi i kontrollit të çertifikatave S/Mime të Evolution"
-#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:12
+#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:12
msgid "Evolution folder settings configuration control"
msgstr "Kontrolli i konfigurimit të rregullimit të kartelave të Evolution"
-#: ../addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:13
+#: addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in.h:13
msgid "Manage your S/MIME certificates here"
msgstr "Trajto këtu çertifikatat tuaja S/MIME"
#. create the local source group
#. On This Computer is always first and vFolders is always last
-#: ../addressbook/gui/component/addressbook-component.c:133
-#: ../addressbook/gui/component/addressbook-migrate.c:493
-#: ../calendar/gui/calendar-component.c:208 ../calendar/gui/migration.c:459
-#: ../calendar/gui/migration.c:552 ../calendar/gui/tasks-component.c:188
-#: ../mail/em-folder-tree-model.c:197 ../mail/em-folder-tree-model.c:199
-#: ../mail/mail-component.c:290 ../mail/mail-vfolder.c:222
+#: addressbook/gui/component/addressbook-component.c:133
+#: addressbook/gui/component/addressbook-migrate.c:493
+#: calendar/gui/calendar-component.c:208 calendar/gui/migration.c:459
+#: calendar/gui/migration.c:552 calendar/gui/tasks-component.c:188
+#: mail/em-folder-tree-model.c:197 mail/em-folder-tree-model.c:199
+#: mail/mail-component.c:290 mail/mail-vfolder.c:222
msgid "On This Computer"
msgstr "Në Këtë Kompjuter"
@@ -559,132 +545,131 @@ msgstr "Në Këtë Kompjuter"
#. Create the default Person task list
#. Create the default Person addressbook
#. orange
-#: ../addressbook/gui/component/addressbook-component.c:141
-#: ../addressbook/gui/component/addressbook-migrate.c:501
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:20
-#: ../calendar/gui/calendar-component.c:216 ../calendar/gui/migration.c:467
-#: ../calendar/gui/migration.c:560 ../calendar/gui/tasks-component.c:196
-#: ../filter/filter-label.c:123 ../mail/em-migrate.c:1043
-#: ../mail/mail-config.c:78 ../mail/mail-config.glade.h:101
+#: addressbook/gui/component/addressbook-component.c:141
+#: addressbook/gui/component/addressbook-migrate.c:501
+#: addressbook/gui/contact-editor/contact-editor.glade.h:20
+#: calendar/gui/calendar-component.c:216 calendar/gui/migration.c:467
+#: calendar/gui/migration.c:560 calendar/gui/tasks-component.c:196
+#: filter/filter-label.c:123 mail/em-migrate.c:1043 mail/mail-config.c:78
+#: mail/mail-config.glade.h:101
msgid "Personal"
msgstr "Personale"
#. Create the LDAP source group
-#: ../addressbook/gui/component/addressbook-component.c:149
-#: ../addressbook/gui/component/addressbook-migrate.c:509
+#: addressbook/gui/component/addressbook-component.c:149
+#: addressbook/gui/component/addressbook-migrate.c:509
msgid "On LDAP Servers"
msgstr "Në server-ët LDAP"
-#: ../addressbook/gui/component/addressbook-component.c:197
+#: addressbook/gui/component/addressbook-component.c:197
msgid "_Contact"
msgstr "_Kontakt"
-#: ../addressbook/gui/component/addressbook-component.c:198
+#: addressbook/gui/component/addressbook-component.c:198
msgid "Create a new contact"
msgstr "Krijo një kontakt të ri"
-#: ../addressbook/gui/component/addressbook-component.c:205
+#: addressbook/gui/component/addressbook-component.c:205
msgid "Contact _List"
msgstr "_Lista e kontakteve"
-#: ../addressbook/gui/component/addressbook-component.c:206
+#: addressbook/gui/component/addressbook-component.c:206
msgid "Create a new contact list"
msgstr "Krijo një listë të re kontaktesh"
-#: ../addressbook/gui/component/addressbook-component.c:212
-#: ../addressbook/gui/component/addressbook-config.c:1120
-#: ../addressbook/gui/component/addressbook-view.c:757
+#: addressbook/gui/component/addressbook-component.c:212
+#: addressbook/gui/component/addressbook-config.c:1120
+#: addressbook/gui/component/addressbook-view.c:757
msgid "New Address Book"
msgstr "Rubrikë e Re"
-#: ../addressbook/gui/component/addressbook-component.c:213
+#: addressbook/gui/component/addressbook-component.c:213
msgid "Address _Book"
msgstr "_Rubrika"
-#: ../addressbook/gui/component/addressbook-component.c:214
+#: addressbook/gui/component/addressbook-component.c:214
msgid "Create a new address book"
msgstr "Krijo një rubrikë të re"
-#: ../addressbook/gui/component/addressbook-component.c:287
+#: addressbook/gui/component/addressbook-component.c:287
msgid "Failed upgrading Addressbook settings or folders."
msgstr "Rifreskimi i rregullimeve apo kartelave të rubrikës dështoi."
-#: ../addressbook/gui/component/addressbook-config.c:315
+#: addressbook/gui/component/addressbook-config.c:315
msgid "Base"
msgstr "Bazë"
-#: ../addressbook/gui/component/addressbook-config.c:510
-#: ../calendar/gui/dialogs/calendar-setup.c:191
-#: ../calendar/gui/dialogs/calendar-setup.glade.h:10
+#: addressbook/gui/component/addressbook-config.c:510
+#: calendar/gui/dialogs/calendar-setup.c:191
+#: calendar/gui/dialogs/calendar-setup.glade.h:10
msgid "_Type:"
msgstr "_Lloji:"
-#: ../addressbook/gui/component/addressbook-config.c:609
+#: addressbook/gui/component/addressbook-config.c:609
msgid "Copy book content locally for offline operation"
msgstr "Kopjo në lokale përmbajtjen e rubrikës për veprime jashtë linje"
-#: ../addressbook/gui/component/addressbook-config.c:904
-#: ../addressbook/gui/component/ldap-config.glade.h:23
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:25
-#: ../calendar/gui/dialogs/calendar-setup.c:361
-#: ../calendar/gui/dialogs/calendar-setup.c:372
-#: ../mail/em-folder-properties.c:215 ../mail/mail-config.glade.h:84
-#: ../smime/gui/smime-ui.glade.h:27
+#: addressbook/gui/component/addressbook-config.c:904
+#: addressbook/gui/component/ldap-config.glade.h:23
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:25
+#: calendar/gui/dialogs/calendar-setup.c:361
+#: calendar/gui/dialogs/calendar-setup.c:372 mail/em-folder-properties.c:215
+#: mail/mail-config.glade.h:84 smime/gui/smime-ui.glade.h:27
msgid "General"
msgstr "Të përgjithshme"
-#: ../addressbook/gui/component/addressbook-config.c:905
-#: ../mail/importers/pine-importer.c:479
+#: addressbook/gui/component/addressbook-config.c:905
+#: mail/importers/pine-importer.c:479
msgid "Addressbook"
msgstr "Rubrika"
-#: ../addressbook/gui/component/addressbook-config.c:909
+#: addressbook/gui/component/addressbook-config.c:909
msgid "Server Information"
msgstr "Informacione mbi serverin"
-#: ../addressbook/gui/component/addressbook-config.c:911
+#: addressbook/gui/component/addressbook-config.c:911
msgid "Authentication"
msgstr "Autentifikimi"
-#: ../addressbook/gui/component/addressbook-config.c:914
-#: ../addressbook/gui/component/ldap-config.glade.h:18
-#: ../mail/mail-dialogs.glade.h:12 ../smime/gui/smime-ui.glade.h:19
+#: addressbook/gui/component/addressbook-config.c:914
+#: addressbook/gui/component/ldap-config.glade.h:18
+#: mail/mail-dialogs.glade.h:12 smime/gui/smime-ui.glade.h:19
msgid "Details"
msgstr "Hollësi"
-#: ../addressbook/gui/component/addressbook-config.c:915
+#: addressbook/gui/component/addressbook-config.c:915
msgid "Searching"
msgstr "Duke kërkuar"
-#: ../addressbook/gui/component/addressbook-config.c:917
+#: addressbook/gui/component/addressbook-config.c:917
msgid "Downloading"
msgstr "Duke shkarkuar"
-#: ../addressbook/gui/component/addressbook-config.c:1118
-#: ../addressbook/gui/component/ldap-config.glade.h:14
+#: addressbook/gui/component/addressbook-config.c:1118
+#: addressbook/gui/component/ldap-config.glade.h:14
msgid "Address Book Properties"
msgstr "Pronësitë e Rubrikës"
-#: ../addressbook/gui/component/addressbook-migrate.c:72
-#: ../calendar/gui/migration.c:142 ../mail/em-migrate.c:1190
+#: addressbook/gui/component/addressbook-migrate.c:72
+#: calendar/gui/migration.c:142 mail/em-migrate.c:1190
msgid "Migrating..."
msgstr "Duke migruar..."
-#: ../addressbook/gui/component/addressbook-migrate.c:124
-#: ../calendar/gui/migration.c:189 ../mail/em-migrate.c:1231
+#: addressbook/gui/component/addressbook-migrate.c:124
+#: calendar/gui/migration.c:189 mail/em-migrate.c:1231
#, c-format
msgid "Migrating `%s':"
msgstr "Duke migruar `%s':"
-#: ../addressbook/gui/component/addressbook-migrate.c:637
+#: addressbook/gui/component/addressbook-migrate.c:637
msgid "LDAP Servers"
msgstr "Server-ët LDAP"
-#: ../addressbook/gui/component/addressbook-migrate.c:752
+#: addressbook/gui/component/addressbook-migrate.c:752
msgid "Autocompletion Settings"
msgstr "Rregullimet e plotësimit automatik"
-#: ../addressbook/gui/component/addressbook-migrate.c:1123
+#: addressbook/gui/component/addressbook-migrate.c:1123
msgid ""
"The location and hierarchy of the Evolution contact folders has changed "
"since Evolution 1.x.\n"
@@ -696,7 +681,7 @@ msgstr ""
"\n"
"Ju lutem durim ndërkohë që Evolution migron kartelat tuaja..."
-#: ../addressbook/gui/component/addressbook-migrate.c:1137
+#: addressbook/gui/component/addressbook-migrate.c:1137
msgid ""
"The format of mailing list contacts has changed.\n"
"\n"
@@ -706,7 +691,7 @@ msgstr ""
"\n"
"Ju lutem durim ndërkohë që Evolution migron kartelat tuaja..."
-#: ../addressbook/gui/component/addressbook-migrate.c:1146
+#: addressbook/gui/component/addressbook-migrate.c:1146
msgid ""
"The way Evolution stores some phone numbers has changed.\n"
"\n"
@@ -716,7 +701,7 @@ msgstr ""
"\n"
"Ju lutem durim ndërkohë që Evolution migron kartelat tuaja..."
-#: ../addressbook/gui/component/addressbook-migrate.c:1156
+#: addressbook/gui/component/addressbook-migrate.c:1156
msgid ""
"Evolution's Palm Sync changelog and map files have changed.\n"
"\n"
@@ -727,53 +712,52 @@ msgstr ""
"\n"
"Ju lutem durim ndërkohë që Evolution migron të dhënat e sinkronizimit..."
-#: ../addressbook/gui/component/addressbook-view.c:758
-#: ../addressbook/gui/widgets/e-addressbook-view.c:935
-#: ../calendar/gui/calendar-component.c:526
-#: ../calendar/gui/tasks-component.c:430 ../mail/em-filter-i18n.h:11
-#: ../ui/evolution-addressbook.xml.h:8 ../ui/evolution-calendar.xml.h:5
-#: ../ui/evolution-mail-message.xml.h:24 ../ui/evolution-tasks.xml.h:6
+#: addressbook/gui/component/addressbook-view.c:758
+#: addressbook/gui/widgets/e-addressbook-view.c:935
+#: calendar/gui/calendar-component.c:526 calendar/gui/tasks-component.c:430
+#: mail/em-filter-i18n.h:11 ui/evolution-addressbook.xml.h:8
+#: ui/evolution-calendar.xml.h:5 ui/evolution-mail-message.xml.h:24
+#: ui/evolution-tasks.xml.h:6
msgid "Delete"
msgstr "Elemino"
-#: ../addressbook/gui/component/addressbook-view.c:760
-#: ../calendar/gui/calendar-component.c:527
-#: ../calendar/gui/tasks-component.c:431
+#: addressbook/gui/component/addressbook-view.c:760
+#: calendar/gui/calendar-component.c:527 calendar/gui/tasks-component.c:431
msgid "Properties..."
msgstr "Pronësitë..."
-#: ../addressbook/gui/component/addressbook-view.c:1130
+#: addressbook/gui/component/addressbook-view.c:1130
msgid "Contact Source Selector"
msgstr "Zgjedhësi i origjinës së kontakteve"
-#: ../addressbook/gui/component/addressbook.c:98
+#: addressbook/gui/component/addressbook.c:98
msgid "Accessing LDAP Server anonymously"
msgstr "Hyrje anonime tek server-i LDAP"
-#: ../addressbook/gui/component/addressbook.c:193
-#: ../plugins/groupwise-account-setup/camel-gw-listener.c:478
+#: addressbook/gui/component/addressbook.c:193
+#: plugins/groupwise-account-setup/camel-gw-listener.c:478
msgid "Failed to authenticate.\n"
msgstr "Autentifikimi dështoi.\n"
-#: ../addressbook/gui/component/addressbook.c:200
-#: ../plugins/groupwise-account-setup/camel-gw-listener.c:461
+#: addressbook/gui/component/addressbook.c:200
+#: plugins/groupwise-account-setup/camel-gw-listener.c:461
#, c-format
msgid "Enter password for %s (user %s)"
msgstr "Shkruaj fjalëkalimin për %s (përdoruesi %s)"
-#: ../addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:1
+#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:1
msgid "Autocomplete length"
msgstr "Gjatësia e plotësimit automatik"
-#: ../addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:2
+#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:2
msgid "EFolderList XML for the list of completion URIs"
msgstr "XML EFolderList për listën e URIve të plotësimit"
-#: ../addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:3
+#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:3
msgid "EFolderList XML for the list of completion URIs."
msgstr "XML EFolderList për listën e URIve të plotësimit."
-#: ../addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:4
+#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:4
msgid ""
"Position of the vertical pane, between the card and list views and the "
"preview pane, in pixels."
@@ -781,11 +765,11 @@ msgstr ""
"Pozicioni i panelit vertikal, në pixel, midis paraqitjes me tesera ose me "
"listë dhe panelit të pamjes së parë."
-#: ../addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:5
+#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:5
msgid "Show preview pane"
msgstr "Shfaq panelin e pamjes së parë"
-#: ../addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:6
+#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:6
msgid ""
"The number of characters that must be typed before Evolution will attempt to "
"autocomplete."
@@ -793,142 +777,141 @@ msgstr ""
"Numri i gërmave që duhen shkruar para se Evolution të përpiqet t'i plotësojë "
"automatikisht."
-#: ../addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:7
+#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:7
msgid "URI for the folder last used in the select names dialog"
msgstr "URI për kartelën e përdorur së fundmi në dritaren e zgjedhjes së emrave"
-#: ../addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:8
+#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:8
msgid "URI for the folder last used in the select names dialog."
msgstr ""
"URI për kartelën e përdorur së fundmi në dritaren dialogut të zgjedhjes së "
"emrave."
-#: ../addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:9
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:49
+#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:9
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:49
msgid "Vertical pane position"
msgstr "Pozicioni i panelit vertikal"
-#: ../addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:10
+#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:10
msgid "Whether to show the preview pane."
msgstr "Nëse duhet shfaqur paneli i pamjes së parë."
-#: ../addressbook/gui/component/ldap-config.glade.h:1
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:1
-#: ../addressbook/gui/contact-editor/fulladdr.glade.h:1
-#: ../addressbook/gui/contact-editor/fullname.glade.h:1
-#: ../addressbook/gui/contact-editor/im.glade.h:1
-#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:3
-#: ../calendar/gui/dialogs/cal-attachment.glade.h:1
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:1
-#: ../calendar/gui/dialogs/calendar-setup.glade.h:1
-#: ../calendar/gui/dialogs/event-page.glade.h:1
-#: ../calendar/gui/dialogs/meeting-page.glade.h:1
-#: ../calendar/gui/dialogs/new-calendar.glade.h:1
-#: ../calendar/gui/dialogs/new-task-list.glade.h:1
-#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:1
-#: ../composer/e-msg-composer-attachment.glade.h:1
-#: ../mail/mail-dialogs.glade.h:6 ../mail/message-tags.glade.h:1
-#: ../plugins/shared-folder/properties.glade.h:1
-#: ../widgets/e-timezone-dialog/e-timezone-dialog.glade.h:1
+#: addressbook/gui/component/ldap-config.glade.h:1
+#: addressbook/gui/contact-editor/contact-editor.glade.h:1
+#: addressbook/gui/contact-editor/fulladdr.glade.h:1
+#: addressbook/gui/contact-editor/fullname.glade.h:1
+#: addressbook/gui/contact-editor/im.glade.h:1
+#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:3
+#: calendar/gui/dialogs/cal-attachment.glade.h:1
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:1
+#: calendar/gui/dialogs/calendar-setup.glade.h:1
+#: calendar/gui/dialogs/event-page.glade.h:1
+#: calendar/gui/dialogs/meeting-page.glade.h:1
+#: calendar/gui/dialogs/new-calendar.glade.h:1
+#: calendar/gui/dialogs/new-task-list.glade.h:1
+#: calendar/gui/dialogs/url-editor-dialog.glade.h:1
+#: composer/e-msg-composer-attachment.glade.h:1 mail/mail-dialogs.glade.h:6
+#: mail/message-tags.glade.h:1 plugins/shared-folder/properties.glade.h:1
+#: widgets/e-timezone-dialog/e-timezone-dialog.glade.h:1
msgid "*"
msgstr "*"
-#: ../addressbook/gui/component/ldap-config.glade.h:2
+#: addressbook/gui/component/ldap-config.glade.h:2
msgid "1"
msgstr "1"
-#: ../addressbook/gui/component/ldap-config.glade.h:3
+#: addressbook/gui/component/ldap-config.glade.h:3
msgid "3268"
msgstr "3268"
-#: ../addressbook/gui/component/ldap-config.glade.h:4
+#: addressbook/gui/component/ldap-config.glade.h:4
msgid "389"
msgstr "389"
-#: ../addressbook/gui/component/ldap-config.glade.h:5
+#: addressbook/gui/component/ldap-config.glade.h:5
msgid "5"
msgstr "5"
-#: ../addressbook/gui/component/ldap-config.glade.h:6
+#: addressbook/gui/component/ldap-config.glade.h:6
msgid "636"
msgstr "636"
-#: ../addressbook/gui/component/ldap-config.glade.h:7
-#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:2
+#: addressbook/gui/component/ldap-config.glade.h:7
+#: calendar/gui/dialogs/url-editor-dialog.glade.h:2
msgid "<b>Authentication</b>"
msgstr "<b>Identifikimi</b>"
-#: ../addressbook/gui/component/ldap-config.glade.h:8
+#: addressbook/gui/component/ldap-config.glade.h:8
msgid "<b>Display</b>"
msgstr "<b>Monitori</b>"
-#: ../addressbook/gui/component/ldap-config.glade.h:9
+#: addressbook/gui/component/ldap-config.glade.h:9
msgid "<b>Downloading</b>"
msgstr "<b>Duke shkarkuar</b>"
-#: ../addressbook/gui/component/ldap-config.glade.h:10
+#: addressbook/gui/component/ldap-config.glade.h:10
msgid "<b>Searching</b>"
msgstr "<b>Duke kërkuar</b>"
-#: ../addressbook/gui/component/ldap-config.glade.h:11
+#: addressbook/gui/component/ldap-config.glade.h:11
msgid "<b>Server Information</b>"
msgstr "<b>Informacione mbi server-in</b>"
-#: ../addressbook/gui/component/ldap-config.glade.h:12
+#: addressbook/gui/component/ldap-config.glade.h:12
msgid "<b>Type:</b>"
msgstr "<b>Lloji:</b>"
-#: ../addressbook/gui/component/ldap-config.glade.h:13
+#: addressbook/gui/component/ldap-config.glade.h:13
msgid "Add Address Book"
msgstr "Shto Rubrikë"
-#: ../addressbook/gui/component/ldap-config.glade.h:15
-#: ../mail/em-account-editor.c:302
+#: addressbook/gui/component/ldap-config.glade.h:15
+#: mail/em-account-editor.c:302
msgid "Always"
msgstr "Gjithmonë"
-#: ../addressbook/gui/component/ldap-config.glade.h:16
+#: addressbook/gui/component/ldap-config.glade.h:16
msgid "Anonymously"
msgstr "Anonimisht"
-#: ../addressbook/gui/component/ldap-config.glade.h:17
+#: addressbook/gui/component/ldap-config.glade.h:17
msgid "Basic"
msgstr "Bazë"
-#: ../addressbook/gui/component/ldap-config.glade.h:19
+#: addressbook/gui/component/ldap-config.glade.h:19
msgid "Distinguished name"
msgstr "Emri dallues"
-#: ../addressbook/gui/component/ldap-config.glade.h:20
+#: addressbook/gui/component/ldap-config.glade.h:20
msgid "Email address"
msgstr "Adresa Email"
-#: ../addressbook/gui/component/ldap-config.glade.h:21
+#: addressbook/gui/component/ldap-config.glade.h:21
msgid "Evolution will use this email address to authenticate you with the server."
msgstr "Evolution do të përdorë këtë adresë email për t'ju autentifikuar me serverin."
-#: ../addressbook/gui/component/ldap-config.glade.h:22
+#: addressbook/gui/component/ldap-config.glade.h:22
msgid "Find Possible Search Bases"
msgstr "Gjej baza të mundëshme kërkimi"
-#: ../addressbook/gui/component/ldap-config.glade.h:24
+#: addressbook/gui/component/ldap-config.glade.h:24
msgid "Lo_gin:"
msgstr "Fu_tu:"
-#: ../addressbook/gui/component/ldap-config.glade.h:25
-#: ../mail/em-account-editor.c:300
+#: addressbook/gui/component/ldap-config.glade.h:25
+#: mail/em-account-editor.c:300
msgid "Never"
msgstr "Asnjëherë"
-#: ../addressbook/gui/component/ldap-config.glade.h:26
+#: addressbook/gui/component/ldap-config.glade.h:26
msgid "One"
msgstr "Një"
-#: ../addressbook/gui/component/ldap-config.glade.h:27
+#: addressbook/gui/component/ldap-config.glade.h:27
msgid "Search _base:"
msgstr "Baza e _kërkimit:"
-#: ../addressbook/gui/component/ldap-config.glade.h:28
+#: addressbook/gui/component/ldap-config.glade.h:28
msgid ""
"Selecting this option means that Evolution will only connect to your LDAP "
"server if your LDAP server supports SSL or TLS."
@@ -936,7 +919,7 @@ msgstr ""
"Po të zgjidhni këtë opcion do të thotë që Evolution do të lidhet me server-"
"in tuaj LDAP vetëm nëqoftëse serveri juaj LDAP suporton SSL apo TLS."
-#: ../addressbook/gui/component/ldap-config.glade.h:29
+#: addressbook/gui/component/ldap-config.glade.h:29
msgid ""
"Selecting this option means that Evolution will only try to use SSL/TLS if "
"you are in a insecure environment. For example, if you and your LDAP server "
@@ -948,7 +931,7 @@ msgstr ""
"mbrohet nga një firewall gjatë punës, Evolution nuk ka nevojë të përdorë SSL/"
"TLS sepse lidhja juaj është e sigurtë."
-#: ../addressbook/gui/component/ldap-config.glade.h:30
+#: addressbook/gui/component/ldap-config.glade.h:30
msgid ""
"Selecting this option means that your server does not support either SSL or "
"TLS. This means that your connection will be insecure, and that you will be "
@@ -958,15 +941,15 @@ msgstr ""
"TLS. Kjo do të ketë si pasojë që lidhja juaj të jetë e pasigurtë, dhe ju do "
"të jeni i pambrojtur ndaj exploits. "
-#: ../addressbook/gui/component/ldap-config.glade.h:31
+#: addressbook/gui/component/ldap-config.glade.h:31
msgid "Sub"
msgstr "Nën"
-#: ../addressbook/gui/component/ldap-config.glade.h:32
+#: addressbook/gui/component/ldap-config.glade.h:32
msgid "Supported Search Bases"
msgstr "Bazat e suportuara të kërkimit"
-#: ../addressbook/gui/component/ldap-config.glade.h:33
+#: addressbook/gui/component/ldap-config.glade.h:33
msgid ""
"The search base is the distinguished name (DN) of the entry where your "
"searches will begin. If you leave this blank, the search will begin at the "
@@ -976,7 +959,7 @@ msgstr ""
"fillojnë. Nëse kjo fushë lihet bosh kërkimi do të fillojë nga rrënja e pemës "
"së kartelave."
-#: ../addressbook/gui/component/ldap-config.glade.h:34
+#: addressbook/gui/component/ldap-config.glade.h:34
msgid ""
"The search scope defines how deep you would like the search to extend down "
"the directory tree. A search scope of \"sub\" will include all entries below "
@@ -988,7 +971,7 @@ msgstr ""
"të gjithë zërat nën bazën e kërkimit. Një gjerësi kërkimi \"një\" do të "
"përfshijë vetëm zërat një nivel nën bazë."
-#: ../addressbook/gui/component/ldap-config.glade.h:35
+#: addressbook/gui/component/ldap-config.glade.h:35
msgid ""
"This is the full name of your ldap server. For example, \"ldap.mycompany.com"
"\"."
@@ -996,7 +979,7 @@ msgstr ""
"Ky është emri i plotë i server-it tuaj ldap. Për shembull, \"ldap."
"shoqëriaime.com\"."
-#: ../addressbook/gui/component/ldap-config.glade.h:36
+#: addressbook/gui/component/ldap-config.glade.h:36
msgid ""
"This is the maximum number of entries to download. Setting this number to be "
"too large will slow down your address book."
@@ -1004,7 +987,7 @@ msgstr ""
"Ky është numri maksimum i zërave për tu shkarkuar. Duke vendosur këtë numër "
"tepër të madh do të ngadalsoni në menyrë të ndjeshme rubrikën tuaj."
-#: ../addressbook/gui/component/ldap-config.glade.h:37
+#: addressbook/gui/component/ldap-config.glade.h:37
msgid ""
"This is the method Evolution will use to authenticate you. Note that "
"setting this to \"Email Address\" requires anonymous access to your ldap "
@@ -1014,7 +997,7 @@ msgstr ""
"parasysh që për t'a vendosur këtë si \"Adresa Email\" nevoitet hyrje anonime "
"tek serveri juaj ldap."
-#: ../addressbook/gui/component/ldap-config.glade.h:38
+#: addressbook/gui/component/ldap-config.glade.h:38
msgid ""
"This is the name for this server that will appear in your Evolution folder "
"list. It is for display purposes only. "
@@ -1022,7 +1005,7 @@ msgstr ""
"Ky është emri për këtë server që do të duket tek lista kartelave tuaja të "
"Evolution. Ka vetëm qëllim paraqitje. "
-#: ../addressbook/gui/component/ldap-config.glade.h:39
+#: addressbook/gui/component/ldap-config.glade.h:39
msgid ""
"This is the port on the LDAP server that Evolution will try to connect to. A "
"list of standard ports has been provided. Ask your system administrator what "
@@ -1032,1370 +1015,1368 @@ msgstr ""
"lidhet. Një listë me portat standart ju vihet në dispozicion. Pyetni "
"administratorin tuaj të sistemit se çfarë porte duhet të përdorni."
-#: ../addressbook/gui/component/ldap-config.glade.h:40
+#: addressbook/gui/component/ldap-config.glade.h:40
msgid "Using distinguished name (DN)"
msgstr "Duke përdorur emër të përveçëm (DN)"
-#: ../addressbook/gui/component/ldap-config.glade.h:41
+#: addressbook/gui/component/ldap-config.glade.h:41
msgid "Using email address"
msgstr "Duke përdorur adresën email"
-#: ../addressbook/gui/component/ldap-config.glade.h:42
-#: ../mail/em-account-editor.c:301
+#: addressbook/gui/component/ldap-config.glade.h:42
+#: mail/em-account-editor.c:301
msgid "Whenever Possible"
msgstr "Sa herë të jetë e mundur"
-#: ../addressbook/gui/component/ldap-config.glade.h:43
+#: addressbook/gui/component/ldap-config.glade.h:43
msgid "_Add Address Book"
msgstr "_Shto Rubrikë"
-#: ../addressbook/gui/component/ldap-config.glade.h:44
+#: addressbook/gui/component/ldap-config.glade.h:44
msgid "_Download limit:"
msgstr "Limiti i _download:"
-#: ../addressbook/gui/component/ldap-config.glade.h:45
+#: addressbook/gui/component/ldap-config.glade.h:45
msgid "_Find Possible Search Bases"
msgstr "_Gjej baza të mundëshme kërkimi"
-#: ../addressbook/gui/component/ldap-config.glade.h:46
+#: addressbook/gui/component/ldap-config.glade.h:46
msgid "_Log in method:"
msgstr "Metoda e _identifikimit:"
-#: ../addressbook/gui/component/ldap-config.glade.h:47
-#: ../calendar/gui/dialogs/calendar-setup.c:243
-#: ../calendar/gui/dialogs/calendar-setup.glade.h:8
-#: ../mail/mail-config.glade.h:160
+#: addressbook/gui/component/ldap-config.glade.h:47
+#: calendar/gui/dialogs/calendar-setup.c:243
+#: calendar/gui/dialogs/calendar-setup.glade.h:8 mail/mail-config.glade.h:160
msgid "_Name:"
msgstr "_Emri:"
-#: ../addressbook/gui/component/ldap-config.glade.h:48
+#: addressbook/gui/component/ldap-config.glade.h:48
msgid "_Port:"
msgstr "_Porta:"
-#: ../addressbook/gui/component/ldap-config.glade.h:49
+#: addressbook/gui/component/ldap-config.glade.h:49
msgid "_Search scope:"
msgstr "_Fusha e kërkimit:"
-#: ../addressbook/gui/component/ldap-config.glade.h:50
+#: addressbook/gui/component/ldap-config.glade.h:50
msgid "_Server:"
msgstr "_Serveri:"
-#: ../addressbook/gui/component/ldap-config.glade.h:51
+#: addressbook/gui/component/ldap-config.glade.h:51
msgid "_Timeout:"
msgstr "_Kohëzgjatja:"
-#: ../addressbook/gui/component/ldap-config.glade.h:52
+#: addressbook/gui/component/ldap-config.glade.h:52
msgid "_Use secure connection:"
msgstr "_Përdor lidhje të sigurt:"
-#: ../addressbook/gui/component/ldap-config.glade.h:53
+#: addressbook/gui/component/ldap-config.glade.h:53
msgid "cards"
msgstr "cards"
-#: ../addressbook/gui/component/ldap-config.glade.h:54
-#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:12
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:26
-#: ../calendar/gui/dialogs/calendar-setup.glade.h:14
-#: ../filter/filter.glade.h:16 ../mail/em-account-editor.c:1885
-#: ../plugins/calendar-http/calendar-http.c:263
-#: ../plugins/calendar-weather/calendar-weather.c:564
+#: addressbook/gui/component/ldap-config.glade.h:54
+#: calendar/gui/alarm-notify/alarm-notify.glade.h:12
+#: calendar/gui/dialogs/alarm-dialog.glade.h:26
+#: calendar/gui/dialogs/calendar-setup.glade.h:14 filter/filter.glade.h:16
+#: mail/em-account-editor.c:1885 plugins/calendar-http/calendar-http.c:263
+#: plugins/calendar-weather/calendar-weather.c:564
msgid "minutes"
msgstr "minuta"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:2
+#: addressbook/gui/contact-editor/contact-editor.glade.h:2
msgid "<b>Email</b>"
msgstr "<b>Email</b>"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:3
+#: addressbook/gui/contact-editor/contact-editor.glade.h:3
msgid "<b>Home</b>"
msgstr "<b>Shtëpi</b>"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:4
+#: addressbook/gui/contact-editor/contact-editor.glade.h:4
msgid "<b>Instant Messaging</b>"
msgstr "<b>Mesazhe të menjëhershëm</b>"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:5
+#: addressbook/gui/contact-editor/contact-editor.glade.h:5
msgid "<b>Job</b>"
msgstr "<b>Punë</b>"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:6
+#: addressbook/gui/contact-editor/contact-editor.glade.h:6
msgid "<b>Miscellaneous</b>"
msgstr "<b>Të ndryshme</b>"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:7
+#: addressbook/gui/contact-editor/contact-editor.glade.h:7
msgid "<b>Other</b>"
msgstr "<b>Tjetër</b>"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:8
+#: addressbook/gui/contact-editor/contact-editor.glade.h:8
msgid "<b>Telephone</b>"
msgstr "<b>Telefoni</b>"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:9
+#: addressbook/gui/contact-editor/contact-editor.glade.h:9
msgid "<b>Web Addresses</b>"
msgstr "<b>Adresat Web</b>"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:10
+#: addressbook/gui/contact-editor/contact-editor.glade.h:10
msgid "<b>Work</b>"
msgstr "<b>Punë</b>"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:11
-#: ../addressbook/gui/contact-editor/e-contact-editor.c:182
-#: ../addressbook/gui/widgets/eab-contact-display.c:346
+#: addressbook/gui/contact-editor/contact-editor.glade.h:11
+#: addressbook/gui/contact-editor/e-contact-editor.c:182
+#: addressbook/gui/widgets/eab-contact-display.c:346
msgid "AIM"
msgstr "AIM"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:12
-#: ../addressbook/gui/contact-editor/e-contact-editor.c:270
-#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:169
-#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.etspec.h:1
-#: ../addressbook/gui/widgets/e-minicard.c:181
+#: addressbook/gui/contact-editor/contact-editor.glade.h:12
+#: addressbook/gui/contact-editor/e-contact-editor.c:270
+#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:169
+#: addressbook/gui/contact-list-editor/e-contact-list-editor.etspec.h:1
+#: addressbook/gui/widgets/e-minicard.c:181
msgid "Contact"
msgstr "Kontakti"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:13
-#: ../addressbook/gui/contact-editor/e-contact-editor.c:531
+#: addressbook/gui/contact-editor/contact-editor.glade.h:13
+#: addressbook/gui/contact-editor/e-contact-editor.c:531
msgid "Contact Editor"
msgstr "Editori i kontakteve"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:14
+#: addressbook/gui/contact-editor/contact-editor.glade.h:14
msgid "Full _Name..."
msgstr "Emri dhe _mbiemri..."
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:15
+#: addressbook/gui/contact-editor/contact-editor.glade.h:15
msgid "Image"
msgstr "Figura"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:16
-#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:66
+#: addressbook/gui/contact-editor/contact-editor.glade.h:16
+#: addressbook/gui/contact-editor/e-contact-editor-im.c:66
msgid "MSN Messenger"
msgstr "Messenger MSN"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:17
+#: addressbook/gui/contact-editor/contact-editor.glade.h:17
msgid "Mailing Address"
msgstr "Adresa e postës"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:18
+#: addressbook/gui/contact-editor/contact-editor.glade.h:18
msgid "Ni_ckname:"
msgstr "Ni_ckname:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:19
-#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:63
+#: addressbook/gui/contact-editor/contact-editor.glade.h:19
+#: addressbook/gui/contact-editor/e-contact-editor-im.c:63
msgid "Novell Groupwise"
msgstr "Groupwise Novell"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:21
+#: addressbook/gui/contact-editor/contact-editor.glade.h:21
msgid "Personal Information"
msgstr "Informacione personale"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:22
+#: addressbook/gui/contact-editor/contact-editor.glade.h:22
msgid "Telephone"
msgstr "Telefoni"
#. red
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:23
-#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:235
-#: ../addressbook/gui/contact-editor/e-contact-editor.c:199
-#: ../filter/filter-label.c:122 ../mail/em-migrate.c:1042
-#: ../mail/mail-config.c:77 ../mail/mail-config.glade.h:148
+#: addressbook/gui/contact-editor/contact-editor.glade.h:23
+#: addressbook/gui/contact-editor/e-contact-editor-im.c:235
+#: addressbook/gui/contact-editor/e-contact-editor.c:199
+#: filter/filter-label.c:122 mail/em-migrate.c:1042 mail/mail-config.c:77
+#: mail/mail-config.glade.h:148
msgid "Work"
msgstr "Punë"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:24
-#: ../addressbook/gui/contact-editor/fulladdr.glade.h:6
+#: addressbook/gui/contact-editor/contact-editor.glade.h:24
+#: addressbook/gui/contact-editor/fulladdr.glade.h:6
msgid "_Address:"
msgstr "_Adresa:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:25
+#: addressbook/gui/contact-editor/contact-editor.glade.h:25
msgid "_Anniversary:"
msgstr "_Përvjetori:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:26
+#: addressbook/gui/contact-editor/contact-editor.glade.h:26
msgid "_Assistant:"
msgstr "_Asistenti:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:27
+#: addressbook/gui/contact-editor/contact-editor.glade.h:27
msgid "_Birthday:"
msgstr "_Ditëlindja:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:28
-#: ../plugins/itip-formatter/itip-view.c:1619
+#: addressbook/gui/contact-editor/contact-editor.glade.h:28
+#: plugins/itip-formatter/itip-view.c:1619
msgid "_Calendar:"
msgstr "_Kalendari:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:29
+#: addressbook/gui/contact-editor/contact-editor.glade.h:29
msgid "_Categories"
msgstr "_Kategoritë"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:30
+#: addressbook/gui/contact-editor/contact-editor.glade.h:30
msgid "_City:"
msgstr "_Qyteti:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:31
+#: addressbook/gui/contact-editor/contact-editor.glade.h:31
msgid "_Company:"
msgstr "_Shoqëria:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:32
+#: addressbook/gui/contact-editor/contact-editor.glade.h:32
msgid "_Country:"
msgstr "_Shteti:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:33
+#: addressbook/gui/contact-editor/contact-editor.glade.h:33
msgid "_Department:"
msgstr "_Dipartimenti:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:34
+#: addressbook/gui/contact-editor/contact-editor.glade.h:34
msgid "_File under:"
msgstr "_File nën:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:35
+#: addressbook/gui/contact-editor/contact-editor.glade.h:35
msgid "_Free/Busy:"
msgstr "_I lirë/zënë:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:36
+#: addressbook/gui/contact-editor/contact-editor.glade.h:36
msgid "_Home Page:"
msgstr "_Faqja web:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:37
+#: addressbook/gui/contact-editor/contact-editor.glade.h:37
msgid "_Manager:"
msgstr "_Trajtuesi:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:38
+#: addressbook/gui/contact-editor/contact-editor.glade.h:38
msgid "_Notes:"
msgstr "_Shënime:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:39
+#: addressbook/gui/contact-editor/contact-editor.glade.h:39
msgid "_Office:"
msgstr "_Zyrë:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:40
-#: ../addressbook/gui/contact-editor/fulladdr.glade.h:7
+#: addressbook/gui/contact-editor/contact-editor.glade.h:40
+#: addressbook/gui/contact-editor/fulladdr.glade.h:7
msgid "_PO Box:"
msgstr "_Kutia e postës:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:41
+#: addressbook/gui/contact-editor/contact-editor.glade.h:41
msgid "_Profession:"
msgstr "_Profesioni:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:42
+#: addressbook/gui/contact-editor/contact-editor.glade.h:42
msgid "_Spouse:"
msgstr "_Bashkëshortja:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:43
-#: ../addressbook/gui/contact-editor/fulladdr.glade.h:8
+#: addressbook/gui/contact-editor/contact-editor.glade.h:43
+#: addressbook/gui/contact-editor/fulladdr.glade.h:8
msgid "_State/Province:"
msgstr "_Shteti/Rrethi:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:44
-#: ../addressbook/gui/contact-editor/fullname.glade.h:18
+#: addressbook/gui/contact-editor/contact-editor.glade.h:44
+#: addressbook/gui/contact-editor/fullname.glade.h:18
msgid "_Title:"
msgstr "_Titulli:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:45
+#: addressbook/gui/contact-editor/contact-editor.glade.h:45
msgid "_Video Chat:"
msgstr "Chat _video:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:46
+#: addressbook/gui/contact-editor/contact-editor.glade.h:46
msgid "_Wants to receive HTML mail"
msgstr "_Dëshiron të marrë email në HTML"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:47
+#: addressbook/gui/contact-editor/contact-editor.glade.h:47
msgid "_Web Log:"
msgstr "_Web Log:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:48
-#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:13
+#: addressbook/gui/contact-editor/contact-editor.glade.h:48
+#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:13
msgid "_Where:"
msgstr "_Ku:"
-#: ../addressbook/gui/contact-editor/contact-editor.glade.h:49
+#: addressbook/gui/contact-editor/contact-editor.glade.h:49
msgid "_Zip/Postal Code:"
msgstr "Kodi _Zip (postal):"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:96
-#: ../addressbook/gui/widgets/eab-contact-display.c:365
-#: ../addressbook/gui/widgets/eab-contact-display.c:380
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:96
+#: addressbook/gui/widgets/eab-contact-display.c:365
+#: addressbook/gui/widgets/eab-contact-display.c:380
msgid "Address"
msgstr "Adresa"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:103
-#: ../addressbook/gui/contact-editor/e-contact-editor-fullname.c:95
-#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:141
-#: ../addressbook/gui/contact-editor/e-contact-editor.c:298
-#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:183
-#: ../addressbook/gui/widgets/e-addressbook-model.c:310
-#: ../addressbook/gui/widgets/e-addressbook-reflow-adapter.c:398
-#: ../addressbook/gui/widgets/e-minicard-label.c:164
-#: ../addressbook/gui/widgets/e-minicard-view-widget.c:119
-#: ../addressbook/gui/widgets/e-minicard-view.c:519
-#: ../addressbook/gui/widgets/e-minicard.c:174
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:103
+#: addressbook/gui/contact-editor/e-contact-editor-fullname.c:95
+#: addressbook/gui/contact-editor/e-contact-editor-im.c:141
+#: addressbook/gui/contact-editor/e-contact-editor.c:298
+#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:183
+#: addressbook/gui/widgets/e-addressbook-model.c:310
+#: addressbook/gui/widgets/e-addressbook-reflow-adapter.c:398
+#: addressbook/gui/widgets/e-minicard-label.c:164
+#: addressbook/gui/widgets/e-minicard-view-widget.c:119
+#: addressbook/gui/widgets/e-minicard-view.c:519
+#: addressbook/gui/widgets/e-minicard.c:174
msgid "Editable"
msgstr "Pjesë e ndryshueshme"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:136
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:136
msgid "United States"
msgstr "Shtetet e Bashkuara"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:137
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:137
msgid "Afghanistan"
msgstr "Afganistani"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:138
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:138
msgid "Albania"
msgstr "Shqipëria"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:139
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:139
msgid "Algeria"
msgstr "Algjeria"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:140
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:140
msgid "American Samoa"
msgstr "Samoa Amerikane"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:141
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:141
msgid "Andorra"
msgstr "Andora"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:142
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:142
msgid "Angola"
msgstr "Angola"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:143
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:143
msgid "Anguilla"
msgstr "Anguila"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:144
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:144
msgid "Antarctica"
msgstr "Antarktika"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:145
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:145
msgid "Antigua And Barbuda"
msgstr "Antigua dhe Barbuda"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:146
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:146
msgid "Argentina"
msgstr "Argjentina"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:147
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:147
msgid "Armenia"
msgstr "Armenia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:148
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:148
msgid "Aruba"
msgstr "Aruba"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:149
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:149
msgid "Australia"
msgstr "Australia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:150
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:150
msgid "Austria"
msgstr "Austria"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:151
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:151
msgid "Azerbaijan"
msgstr "Azerbaijan"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:152
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:152
msgid "Bahamas"
msgstr "Bahamas"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:153
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:153
msgid "Bahrain"
msgstr "Bahrain"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:154
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:154
msgid "Bangladesh"
msgstr "Bangladeshi"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:155
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:155
msgid "Barbados"
msgstr "Barbados"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:156
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:156
msgid "Belarus"
msgstr "Bjellorusia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:157
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:157
msgid "Belgium"
msgstr "Belgjika"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:158
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:158
msgid "Belize"
msgstr "Belize"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:159
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:159
msgid "Benin"
msgstr "Benin"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:160
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:160
msgid "Bermuda"
msgstr "Bermuda"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:161
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:161
msgid "Bhutan"
msgstr "Bhutan"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:162
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:162
msgid "Bolivia"
msgstr "Bolivia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:163
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:163
msgid "Bosnia And Herzegowina"
msgstr "Bosnja dhe Herzegovina"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:164
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:164
msgid "Botswana"
msgstr "Botswana"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:165
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:165
msgid "Bouvet Island"
msgstr "Ishulli Bouvet"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:166
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:166
msgid "Brazil"
msgstr "Brazili"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:167
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:167
msgid "British Indian Ocean Territory"
msgstr "Territoret Britanike të Oqeanit Indian"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:168
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:168
msgid "Brunei Darussalam"
msgstr "Brunei Darussalam"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:169
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:169
msgid "Bulgaria"
msgstr "Bullgaria"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:170
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:170
msgid "Burkina Faso"
msgstr "Burkina Faso"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:171
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:171
msgid "Burundi"
msgstr "Burundi"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:172
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:172
msgid "Cambodia"
msgstr "Kamboxhia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:173
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:173
msgid "Cameroon"
msgstr "Kameruni"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:174
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:174
msgid "Canada"
msgstr "Kanada"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:175
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:175
msgid "Cape Verde"
msgstr "Kepi i Gjelbërt"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:176
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:176
msgid "Cayman Islands"
msgstr "Ishujt Kajman"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:177
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:177
msgid "Central African Republic"
msgstr "Republika e Afrikës Qendrore"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:178
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:178
msgid "Chad"
msgstr "Çad"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:179
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:179
msgid "Chile"
msgstr "Kili"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:180
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:180
msgid "China"
msgstr "Kina"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:181
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:181
msgid "Christmas Island"
msgstr "Ishulli i Krishtlindjes"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:182
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:182
msgid "Cocos (Keeling) Islands"
msgstr "Ishujt Kokos (Keeling)"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:183
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:183
msgid "Colombia"
msgstr "Kolumbia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:184
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:184
msgid "Comoros"
msgstr "Komoros"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:185
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:185
msgid "Congo"
msgstr "Kongo"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:186
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:186
msgid "Congo, The Democratic Republic Of The"
msgstr "Kongo, Republika Demokratike e"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:187
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:187
msgid "Cook Islands"
msgstr "Ishujt Cook"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:188
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:188
msgid "Costa Rica"
msgstr "Kosta Rika"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:189
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:189
msgid "Cote d'Ivoire"
msgstr "Cote d'Ivoire"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:190
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:190
msgid "Croatia"
msgstr "Kroacia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:191
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:191
msgid "Cuba"
msgstr "Kuba"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:192
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:192
msgid "Cyprus"
msgstr "Qipro"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:193
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:193
msgid "Czech Republic"
msgstr "Republika Çeke"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:194
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:194
msgid "Denmark"
msgstr "Danimarka"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:195
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:195
msgid "Djibouti"
msgstr "Xhibouti"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:196
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:196
msgid "Dominica"
msgstr "Dominika"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:197
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:197
msgid "Dominican Republic"
msgstr "Republika Dominikane"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:198
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:198
msgid "Ecuador"
msgstr "Ekuadori"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:199
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:199
msgid "Egypt"
msgstr "Egjipti"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:200
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:200
msgid "El Salvador"
msgstr "El Salvador"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:201
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:201
msgid "Equatorial Guinea"
msgstr "Guinea Ekuatoriale"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:202
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:202
msgid "Eritrea"
msgstr "Eritrea"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:203
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:203
msgid "Estonia"
msgstr "Estonia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:204
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:204
msgid "Ethiopia"
msgstr "Etiopia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:205
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:205
msgid "Falkland Islands"
msgstr "Ishujt Falkland"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:206
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:206
msgid "Faroe Islands"
msgstr "Ishujt Faroe"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:207
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:207
msgid "Fiji"
msgstr "Fixhi"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:208
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:208
msgid "Finland"
msgstr "Finlanda"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:209
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:209
msgid "France"
msgstr "Franca"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:210
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:210
msgid "French Guiana"
msgstr "Guiana Franceze"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:211
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:211
msgid "French Polynesia"
msgstr "Polinezia Franceze"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:212
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:212
msgid "French Southern Territories"
msgstr "Territoret e Francës Jugore"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:213
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:213
msgid "Gabon"
msgstr "Gabon"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:214
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:214
msgid "Gambia"
msgstr "Gambia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:215
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:215
msgid "Georgia"
msgstr "Gjeorgjia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:216
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:216
msgid "Germany"
msgstr "Gjermania"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:217
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:217
msgid "Ghana"
msgstr "Ghana"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:218
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:218
msgid "Gibraltar"
msgstr "Gjibraltari"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:219
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:219
msgid "Greece"
msgstr "Greqia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:220
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:220
msgid "Greenland"
msgstr "Grenlanda"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:221
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:221
msgid "Grenada"
msgstr "Grenada"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:222
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:222
msgid "Guadeloupe"
msgstr "Guadeloupe"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:223
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:223
msgid "Guam"
msgstr "Guam"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:224
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:224
msgid "Guatemala"
msgstr "Guatemala"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:225
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:225
msgid "Guernsey"
msgstr "Guernsey"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:226
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:226
msgid "Guinea"
msgstr "Guinea"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:227
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:227
msgid "Guinea-bissau"
msgstr "Guinea-bissau"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:228
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:228
msgid "Guyana"
msgstr "Guijana"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:229
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:229
msgid "Haiti"
msgstr "Haiti"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:230
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:230
msgid "Heard And McDonald Islands"
msgstr "Heard And McDonald Islands"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:231
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:231
msgid "Holy See"
msgstr "Holy See"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:232
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:232
msgid "Honduras"
msgstr "Honduras"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:233
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:233
msgid "Hong Kong"
msgstr "Hong Kong"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:234
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:234
msgid "Hungary"
msgstr "Hungaria"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:235
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:235
msgid "Iceland"
msgstr "Islanda"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:236
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:236
msgid "India"
msgstr "India"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:237
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:237
msgid "Indonesia"
msgstr "Indonezia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:238
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:238
msgid "Iran"
msgstr "Irani"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:239
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:239
msgid "Iraq"
msgstr "Iraku"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:240
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:240
msgid "Ireland"
msgstr "Irlanda"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:241
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:241
msgid "Isle of Man"
msgstr "Ishulli i Man"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:242
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:242
msgid "Israel"
msgstr "Izraeli"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:243
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:243
msgid "Italy"
msgstr "Italia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:244
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:244
msgid "Jamaica"
msgstr "Xhamajka"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:245
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:245
msgid "Japan"
msgstr "Japonia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:246
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:246
msgid "Jersey"
msgstr "Jersey"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:247
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:247
msgid "Jordan"
msgstr "Jordania"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:248
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:248
msgid "Kazakhstan"
msgstr "Kazakistan"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:249
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:249
msgid "Kenya"
msgstr "Kenia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:250
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:250
msgid "Kiribati"
msgstr "Kiribati"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:251
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:251
msgid "Korea, Democratic People's Republic Of"
msgstr "Korea, Republika Popullore Demokratike e"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:252
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:252
msgid "Korea, Republic Of"
msgstr "Korea, Republika e"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:253
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:253
msgid "Kuwait"
msgstr "Kuvajti"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:254
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:254
msgid "Kyrgyzstan"
msgstr "Kirgistani"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:255
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:255
msgid "Laos"
msgstr "Laos"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:256
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:256
msgid "Latvia"
msgstr "Letonia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:257
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:257
msgid "Lebanon"
msgstr "Libani"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:258
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:258
msgid "Lesotho"
msgstr "Lesoto"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:259
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:259
msgid "Liberia"
msgstr "Liberia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:260
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:260
msgid "Libya"
msgstr "Libia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:261
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:261
msgid "Liechtenstein"
msgstr "Lihtenshtejni"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:262
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:262
msgid "Lithuania"
msgstr "Lituania"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:263
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:263
msgid "Luxembourg"
msgstr "Luksemburgu"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:264
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:264
msgid "Macao"
msgstr "Makao"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:265
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:265
msgid "Macedonia"
msgstr "Maqedonia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:266
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:266
msgid "Madagascar"
msgstr "Madagaskar"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:267
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:267
msgid "Malawi"
msgstr "Malawi"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:268
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:268
msgid "Malaysia"
msgstr "Malejzia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:269
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:269
msgid "Maldives"
msgstr "Maldivet"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:270
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:270
msgid "Mali"
msgstr "Mali"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:271
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:271
msgid "Malta"
msgstr "Malta"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:272
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:272
msgid "Marshall Islands"
msgstr "Ishujt Marshall"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:273
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:273
msgid "Martinique"
msgstr "Martinika"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:274
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:274
msgid "Mauritania"
msgstr "Mauritania"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:275
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:275
msgid "Mauritius"
msgstr "Mauritius"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:276
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:276
msgid "Mayotte"
msgstr "Mayotte"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:277
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:277
msgid "Mexico"
msgstr "Mexico"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:278
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:278
msgid "Micronesia"
msgstr "Mikronezia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:279
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:279
msgid "Moldova, Republic Of"
msgstr "Moldovia, Republika e"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:280
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:280
msgid "Monaco"
msgstr "Monako"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:281
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:281
msgid "Mongolia"
msgstr "Mongolia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:282
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:282
msgid "Montserrat"
msgstr "Montserrat"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:283
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:283
msgid "Morocco"
msgstr "Maroku"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:284
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:284
msgid "Mozambique"
msgstr "Mozambiku"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:285
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:285
msgid "Myanmar"
msgstr "Myanmar"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:286
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:286
msgid "Namibia"
msgstr "Namibia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:287
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:287
msgid "Nauru"
msgstr "Nauru"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:288
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:288
msgid "Nepal"
msgstr "Nepali"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:289
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:289
msgid "Netherlands"
msgstr "Hollanda"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:290
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:290
msgid "Netherlands Antilles"
msgstr "Antilet Hollandeze"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:291
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:291
msgid "New Caledonia"
msgstr "Kaledonia e Re"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:292
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:292
msgid "New Zealand"
msgstr "Zelanda e Re"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:293
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:293
msgid "Nicaragua"
msgstr "Nikaragua"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:294
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:294
msgid "Niger"
msgstr "Nigjeri"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:295
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:295
msgid "Nigeria"
msgstr "Nigjeria"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:296
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:296
msgid "Niue"
msgstr "Niue"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:297
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:297
msgid "Norfolk Island"
msgstr "Ishulli Norfolk"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:298
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:298
msgid "Northern Mariana Islands"
msgstr "Ishujt e Marianës Veriore"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:299
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:299
msgid "Norway"
msgstr "Norvegjia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:300
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:300
msgid "Oman"
msgstr "Omani"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:301
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:301
msgid "Pakistan"
msgstr "Pakistani"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:302
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:302
msgid "Palau"
msgstr "Palau"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:303
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:303
msgid "Palestinian Territory"
msgstr "Territoret Palestineze"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:304
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:304
msgid "Panama"
msgstr "Panama"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:305
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:305
msgid "Papua New Guinea"
msgstr "Guinea e Re Papua"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:306
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:306
msgid "Paraguay"
msgstr "Paraguaj"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:307
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:307
msgid "Peru"
msgstr "Peru"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:308
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:308
msgid "Philippines"
msgstr "Filipinet"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:309
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:309
msgid "Pitcairn"
msgstr "Pitcairn"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:310
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:310
msgid "Poland"
msgstr "Polonia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:311
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:311
msgid "Portugal"
msgstr "Portugalia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:312
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:312
msgid "Puerto Rico"
msgstr "Porto Rico"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:313
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:313
msgid "Qatar"
msgstr "Katari"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:314
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:314
msgid "Reunion"
msgstr "Mbledhje"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:315
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:315
msgid "Romania"
msgstr "Rumania"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:316
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:316
msgid "Russian Federation"
msgstr "Federata Ruse"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:317
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:317
msgid "Rwanda"
msgstr "Ruanda"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:318
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:318
msgid "Saint Kitts And Nevis"
msgstr "Saint Kitts And Nevis"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:319
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:319
msgid "Saint Lucia"
msgstr "Shën Lucia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:320
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:320
msgid "Saint Vincent And The Grenadines"
msgstr "Saint Vincent dhe Grenadinet"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:321
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:321
msgid "Samoa"
msgstr "Samoa"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:322
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:322
msgid "San Marino"
msgstr "San Marino"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:323
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:323
msgid "Sao Tome And Principe"
msgstr "Sao Tome And Principe"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:324
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:324
msgid "Saudi Arabia"
msgstr "Arabia Saudite"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:325
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:325
msgid "Senegal"
msgstr "Senegali"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:326
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:326
msgid "Serbia And Montenegro"
msgstr "Sërbia dhe Mali i Zi"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:327
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:327
msgid "Seychelles"
msgstr "Seychelles"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:328
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:328
msgid "Sierra Leone"
msgstr "Sierra Leone"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:329
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:329
msgid "Singapore"
msgstr "Singapori"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:330
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:330
msgid "Slovakia"
msgstr "Sllovakia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:331
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:331
msgid "Slovenia"
msgstr "Sllovenia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:332
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:332
msgid "Solomon Islands"
msgstr "Ishujt Solomon"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:333
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:333
msgid "Somalia"
msgstr "Somalia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:334
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:334
msgid "South Africa"
msgstr "Afrika e Jugut"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:335
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:335
msgid "South Georgia And The South Sandwich Islands"
msgstr "South Georgia And The South Sandwich Islands"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:336
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:336
msgid "Spain"
msgstr "Spanja"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:337
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:337
msgid "Sri Lanka"
msgstr "Sri Lanka"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:338
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:338
msgid "St. Helena"
msgstr "St. Helena"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:339
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:339
msgid "St. Pierre And Miquelon"
msgstr "St. Pierre And Miquelon"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:340
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:340
msgid "Sudan"
msgstr "Sudani"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:341
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:341
msgid "Suriname"
msgstr "Suriname"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:342
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:342
msgid "Svalbard And Jan Mayen Islands"
msgstr "Svalbard And Jan Mayen Islands"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:343
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:343
msgid "Swaziland"
msgstr "Svaziland"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:344
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:344
msgid "Sweden"
msgstr "Suedia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:345
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:345
msgid "Switzerland"
msgstr "Zvicra"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:346
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:346
msgid "Syria"
msgstr "Siria"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:347
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:347
msgid "Taiwan"
msgstr "Tajvani"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:348
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:348
msgid "Tajikistan"
msgstr "Taxhikistani"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:349
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:349
msgid "Tanzania, United Republic Of"
msgstr "Tanzania, Republika e Bashkuar e"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:350
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:350
msgid "Thailand"
msgstr "Tajlanda"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:351
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:351
msgid "Timor-Leste"
msgstr "Timor-Leste"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:352
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:352
msgid "Togo"
msgstr "Togo"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:353
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:353
msgid "Tokelau"
msgstr "Tokelau"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:354
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:354
msgid "Tonga"
msgstr "Tonga"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:355
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:355
msgid "Trinidad And Tobago"
msgstr "Trinidad And Tobago"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:356
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:356
msgid "Tunisia"
msgstr "Tunizia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:357
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:357
msgid "Turkey"
msgstr "Turqia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:358
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:358
msgid "Turkmenistan"
msgstr "Turkmenistani"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:359
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:359
msgid "Turks And Caicos Islands"
msgstr "Turks And Caicos Islands"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:360
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:360
msgid "Tuvalu"
msgstr "Tuvalu"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:361
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:361
msgid "Uganda"
msgstr "Uganda"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:362
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:362
msgid "Ukraine"
msgstr "Ukrahina"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:363
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:363
msgid "United Arab Emirates"
msgstr "Emiratet e Bashkuara Arabe"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:364
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:364
msgid "United Kingdom"
msgstr "Mbretëria e Bashkuar"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:365
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:365
msgid "United States Minor Outlying Islands"
msgstr "Shtetet e Bashkuara të Ishujve të Minor Outlying"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:366
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:366
msgid "Uruguay"
msgstr "Uruguaj"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:367
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:367
msgid "Uzbekistan"
msgstr "Uzbekistani"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:368
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:368
msgid "Vanuatu"
msgstr "Vanuatu"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:369
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:369
msgid "Venezuela"
msgstr "Venezuela"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:370
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:370
msgid "Viet Nam"
msgstr "Vjet Nam"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:371
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:371
msgid "Virgin Islands, British"
msgstr "Ishujt Virgin, Britanikë"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:372
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:372
msgid "Virgin Islands, U.S."
msgstr "Ishujt Virgin, U.S."
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:373
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:373
msgid "Wallis And Futuna Islands"
msgstr "Wallis And Futuna Islands"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:374
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:374
msgid "Western Sahara"
msgstr "Sahara Perëndimore"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:375
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:375
msgid "Yemen"
msgstr "Jemen"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:376
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:376
msgid "Zambia"
msgstr "Zambia"
-#: ../addressbook/gui/contact-editor/e-contact-editor-address.c:377
+#: addressbook/gui/contact-editor/e-contact-editor-address.c:377
msgid "Zimbabwe"
msgstr "Zimbabve"
-#: ../addressbook/gui/contact-editor/e-contact-editor-fullname.c:89
-#: ../plugins/plugin-manager/plugin-manager.c:44
-#: ../plugins/save-attachments/save-attachments.c:362
+#: addressbook/gui/contact-editor/e-contact-editor-fullname.c:89
+#: plugins/plugin-manager/plugin-manager.c:44
+#: plugins/save-attachments/save-attachments.c:362
msgid "Name"
msgstr "Emri"
-#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:62
+#: addressbook/gui/contact-editor/e-contact-editor-im.c:62
msgid "AOL Instant Messenger"
msgstr "Instant Messenger AOL"
-#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:64
-#: ../addressbook/gui/contact-editor/e-contact-editor.c:183
-#: ../addressbook/gui/widgets/eab-contact-display.c:349
+#: addressbook/gui/contact-editor/e-contact-editor-im.c:64
+#: addressbook/gui/contact-editor/e-contact-editor.c:183
+#: addressbook/gui/widgets/eab-contact-display.c:349
msgid "Jabber"
msgstr "Jabber"
-#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:65
+#: addressbook/gui/contact-editor/e-contact-editor-im.c:65
msgid "Yahoo Messenger"
msgstr "Yahoo Messenger"
-#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:67
-#: ../addressbook/gui/contact-editor/e-contact-editor.c:186
-#: ../addressbook/gui/widgets/eab-contact-display.c:348
+#: addressbook/gui/contact-editor/e-contact-editor-im.c:67
+#: addressbook/gui/contact-editor/e-contact-editor.c:186
+#: addressbook/gui/widgets/eab-contact-display.c:348
msgid "ICQ"
msgstr "ICQ"
-#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:118
+#: addressbook/gui/contact-editor/e-contact-editor-im.c:118
msgid "Service"
msgstr "Shërbimi"
-#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:127
-#: ../calendar/gui/dialogs/cal-prefs-dialog.c:587
-#: ../calendar/gui/e-cal-list-view.etspec.h:3
+#: addressbook/gui/contact-editor/e-contact-editor-im.c:127
+#: calendar/gui/dialogs/cal-prefs-dialog.c:587
+#: calendar/gui/e-cal-list-view.etspec.h:3
msgid "Location"
msgstr "Vendodhja"
-#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:134
+#: addressbook/gui/contact-editor/e-contact-editor-im.c:134
msgid "Username"
msgstr "Përdoruesi"
-#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:231
-#: ../addressbook/gui/contact-editor/e-contact-editor.c:200
+#: addressbook/gui/contact-editor/e-contact-editor-im.c:231
+#: addressbook/gui/contact-editor/e-contact-editor.c:200
msgid "Home"
msgstr "Shtëpi"
-#: ../addressbook/gui/contact-editor/e-contact-editor-im.c:239
-#: ../addressbook/gui/contact-editor/e-contact-editor.c:201
+#: addressbook/gui/contact-editor/e-contact-editor-im.c:239
+#: addressbook/gui/contact-editor/e-contact-editor.c:201
msgid "Other"
msgstr "Tjetër"
-#: ../addressbook/gui/contact-editor/e-contact-editor.c:184
-#: ../addressbook/gui/widgets/eab-contact-display.c:351
+#: addressbook/gui/contact-editor/e-contact-editor.c:184
+#: addressbook/gui/widgets/eab-contact-display.c:351
msgid "Yahoo"
msgstr "Yahoo"
-#: ../addressbook/gui/contact-editor/e-contact-editor.c:185
-#: ../addressbook/gui/widgets/eab-contact-display.c:350
+#: addressbook/gui/contact-editor/e-contact-editor.c:185
+#: addressbook/gui/widgets/eab-contact-display.c:350
msgid "MSN"
msgstr "MSN"
-#: ../addressbook/gui/contact-editor/e-contact-editor.c:187
-#: ../addressbook/gui/widgets/eab-contact-display.c:347
+#: addressbook/gui/contact-editor/e-contact-editor.c:187
+#: addressbook/gui/widgets/eab-contact-display.c:347
msgid "GroupWise"
msgstr "GroupWise"
-#: ../addressbook/gui/contact-editor/e-contact-editor.c:256
+#: addressbook/gui/contact-editor/e-contact-editor.c:256
msgid "Source Book"
msgstr "Libri burues"
-#: ../addressbook/gui/contact-editor/e-contact-editor.c:263
+#: addressbook/gui/contact-editor/e-contact-editor.c:263
msgid "Target Book"
msgstr "Libri objekt"
-#: ../addressbook/gui/contact-editor/e-contact-editor.c:277
+#: addressbook/gui/contact-editor/e-contact-editor.c:277
msgid "Is New Contact"
msgstr "Është Kontakt i Ri"
-#: ../addressbook/gui/contact-editor/e-contact-editor.c:284
+#: addressbook/gui/contact-editor/e-contact-editor.c:284
msgid "Writable Fields"
msgstr "Fusha të ndryshueshme"
-#: ../addressbook/gui/contact-editor/e-contact-editor.c:291
+#: addressbook/gui/contact-editor/e-contact-editor.c:291
msgid "Required Fields"
msgstr "Fushat e kërkuara"
-#: ../addressbook/gui/contact-editor/e-contact-editor.c:305
+#: addressbook/gui/contact-editor/e-contact-editor.c:305
msgid "Changed"
msgstr "Ndryshuar"
-#: ../addressbook/gui/contact-editor/e-contact-editor.c:2578
+#: addressbook/gui/contact-editor/e-contact-editor.c:2578
msgid "Please select an image for this contact"
msgstr "Ju lutem zgjidhni një figurë për këtë kontakt"
-#: ../addressbook/gui/contact-editor/e-contact-editor.c:2579
+#: addressbook/gui/contact-editor/e-contact-editor.c:2579
msgid "No image"
msgstr "Asnjë figurë"
-#: ../addressbook/gui/contact-editor/e-contact-editor.c:2855
+#: addressbook/gui/contact-editor/e-contact-editor.c:2855
msgid ""
"The contact data is invalid:\n"
"\n"
@@ -2403,27 +2384,27 @@ msgstr ""
"E dhëna e kontaktit është e pavlefshme:\n"
"\n"
-#: ../addressbook/gui/contact-editor/e-contact-editor.c:2907
+#: addressbook/gui/contact-editor/e-contact-editor.c:2907
msgid "Invalid contact."
msgstr "Kontakt i pavlefshëm."
-#: ../addressbook/gui/contact-editor/e-contact-quick-add.c:277
+#: addressbook/gui/contact-editor/e-contact-quick-add.c:277
msgid "Contact Quick-Add"
msgstr "Shtimi i shpejtë i një kontakti"
-#: ../addressbook/gui/contact-editor/e-contact-quick-add.c:280
+#: addressbook/gui/contact-editor/e-contact-quick-add.c:280
msgid "_Edit Full"
msgstr "Ndrysho _plotësisht"
-#: ../addressbook/gui/contact-editor/e-contact-quick-add.c:306
+#: addressbook/gui/contact-editor/e-contact-quick-add.c:306
msgid "_Full name:"
msgstr "_Emri i plotë:"
-#: ../addressbook/gui/contact-editor/e-contact-quick-add.c:316
+#: addressbook/gui/contact-editor/e-contact-quick-add.c:316
msgid "E-_mail:"
msgstr "E-_mail:"
-#: ../addressbook/gui/contact-editor/eab-editor.c:326
+#: addressbook/gui/contact-editor/eab-editor.c:326
msgid ""
"Are you sure you want\n"
"to delete these contacts?"
@@ -2431,7 +2412,7 @@ msgstr ""
"Jeni i sigurt që dëshiron\n"
"të eleminosh këto kontakte?"
-#: ../addressbook/gui/contact-editor/eab-editor.c:329
+#: addressbook/gui/contact-editor/eab-editor.c:329
msgid ""
"Are you sure you want\n"
"to delete this contact?"
@@ -2439,184 +2420,184 @@ msgstr ""
"Jeni i sigurt që dëshiron\n"
"të eleminosh këtë kontakt?"
-#: ../addressbook/gui/contact-editor/fulladdr.glade.h:2
+#: addressbook/gui/contact-editor/fulladdr.glade.h:2
msgid "Address _2:"
msgstr "Adresa _2:"
-#: ../addressbook/gui/contact-editor/fulladdr.glade.h:3
+#: addressbook/gui/contact-editor/fulladdr.glade.h:3
msgid "Ci_ty:"
msgstr "Qy_teti:"
-#: ../addressbook/gui/contact-editor/fulladdr.glade.h:4
+#: addressbook/gui/contact-editor/fulladdr.glade.h:4
msgid "Countr_y:"
msgstr "Shtet_i:"
-#: ../addressbook/gui/contact-editor/fulladdr.glade.h:5
+#: addressbook/gui/contact-editor/fulladdr.glade.h:5
msgid "Full Address"
msgstr "Adresa e plotë"
-#: ../addressbook/gui/contact-editor/fulladdr.glade.h:9
+#: addressbook/gui/contact-editor/fulladdr.glade.h:9
msgid "_ZIP Code:"
msgstr "Kodi _ZIP (postal):"
-#: ../addressbook/gui/contact-editor/fullname.glade.h:2
+#: addressbook/gui/contact-editor/fullname.glade.h:2
msgid "Dr."
msgstr "Dokt."
-#: ../addressbook/gui/contact-editor/fullname.glade.h:3
+#: addressbook/gui/contact-editor/fullname.glade.h:3
msgid "Esq."
msgstr "I nder."
-#: ../addressbook/gui/contact-editor/fullname.glade.h:4
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:15
+#: addressbook/gui/contact-editor/fullname.glade.h:4
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:15
msgid "Full Name"
msgstr "Emri dhe Mbiemri"
-#: ../addressbook/gui/contact-editor/fullname.glade.h:5
+#: addressbook/gui/contact-editor/fullname.glade.h:5
msgid "I"
msgstr "I"
-#: ../addressbook/gui/contact-editor/fullname.glade.h:6
+#: addressbook/gui/contact-editor/fullname.glade.h:6
msgid "II"
msgstr "II"
-#: ../addressbook/gui/contact-editor/fullname.glade.h:7
+#: addressbook/gui/contact-editor/fullname.glade.h:7
msgid "III"
msgstr "III"
-#: ../addressbook/gui/contact-editor/fullname.glade.h:8
+#: addressbook/gui/contact-editor/fullname.glade.h:8
msgid "Jr."
msgstr "Jr."
-#: ../addressbook/gui/contact-editor/fullname.glade.h:9
+#: addressbook/gui/contact-editor/fullname.glade.h:9
msgid "Miss"
msgstr "Znj.sha"
-#: ../addressbook/gui/contact-editor/fullname.glade.h:10
+#: addressbook/gui/contact-editor/fullname.glade.h:10
msgid "Mr."
msgstr "Zt."
-#: ../addressbook/gui/contact-editor/fullname.glade.h:11
+#: addressbook/gui/contact-editor/fullname.glade.h:11
msgid "Mrs."
msgstr "Znj."
-#: ../addressbook/gui/contact-editor/fullname.glade.h:12
+#: addressbook/gui/contact-editor/fullname.glade.h:12
msgid "Ms."
msgstr "Znj."
-#: ../addressbook/gui/contact-editor/fullname.glade.h:13
+#: addressbook/gui/contact-editor/fullname.glade.h:13
msgid "Sr."
msgstr "Zt."
-#: ../addressbook/gui/contact-editor/fullname.glade.h:14
+#: addressbook/gui/contact-editor/fullname.glade.h:14
msgid "_First:"
msgstr "_Emri:"
-#: ../addressbook/gui/contact-editor/fullname.glade.h:15
+#: addressbook/gui/contact-editor/fullname.glade.h:15
msgid "_Last:"
msgstr "_Mbiemri:"
-#: ../addressbook/gui/contact-editor/fullname.glade.h:16
+#: addressbook/gui/contact-editor/fullname.glade.h:16
msgid "_Middle:"
msgstr "Emri i _dytë:"
-#: ../addressbook/gui/contact-editor/fullname.glade.h:17
+#: addressbook/gui/contact-editor/fullname.glade.h:17
msgid "_Suffix:"
msgstr "P_arashtesa:"
-#: ../addressbook/gui/contact-editor/im.glade.h:2
+#: addressbook/gui/contact-editor/im.glade.h:2
msgid "Add IM Account"
msgstr "Shto llogari IM"
-#: ../addressbook/gui/contact-editor/im.glade.h:3
+#: addressbook/gui/contact-editor/im.glade.h:3
msgid "_Account name:"
msgstr "Emri i _llogarisë:"
-#: ../addressbook/gui/contact-editor/im.glade.h:4
+#: addressbook/gui/contact-editor/im.glade.h:4
msgid "_IM Service:"
msgstr "Shërbimi _IM:"
-#: ../addressbook/gui/contact-editor/im.glade.h:5
-#: ../plugins/calendar-weather/calendar-weather.c:410
+#: addressbook/gui/contact-editor/im.glade.h:5
+#: plugins/calendar-weather/calendar-weather.c:410
msgid "_Location:"
msgstr "_Pozicioni:"
-#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:1
+#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:1
msgid "\n"
msgstr "\n"
-#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:4
+#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:4
msgid "Add an email to the List"
msgstr "Shto një email në Listë"
-#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:5
-#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:817
+#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:5
+#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:817
msgid "Contact List Editor"
msgstr "Editori i listës së kontakteve"
-#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:6
+#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:6
msgid "Insert email adresses from Adress Book"
msgstr "Shto adresat email nga rubrika"
-#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:7
+#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:7
msgid "Members"
msgstr "Anëtarë"
-#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:8
+#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:8
msgid "Remove an email address from the List"
msgstr "Hiq një adresë email nga Lista"
-#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:9
+#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:9
msgid "_Hide addresses when sending mail to this list"
msgstr "_Mbulo adresën kur i dërgon një mail kësaj adrese"
-#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:10
+#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:10
msgid "_List name:"
msgstr "Emri i _listës:"
-#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:11
+#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:11
msgid "_Select"
msgstr "_Zgjidh"
-#: ../addressbook/gui/contact-list-editor/contact-list-editor.glade.h:12
+#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:12
msgid "_Type an email address or drag a contact into the list below:"
msgstr "_Shkruaj një adresë email ose zvarrit një kontakt nga lista e mëposhtme:"
-#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:162
-#: ../addressbook/gui/widgets/e-addressbook-model.c:296
-#: ../addressbook/gui/widgets/e-addressbook-reflow-adapter.c:384
-#: ../addressbook/gui/widgets/e-addressbook-view.c:223
-#: ../addressbook/gui/widgets/e-minicard-view-widget.c:105
-#: ../addressbook/gui/widgets/e-minicard-view.c:505
+#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:162
+#: addressbook/gui/widgets/e-addressbook-model.c:296
+#: addressbook/gui/widgets/e-addressbook-reflow-adapter.c:384
+#: addressbook/gui/widgets/e-addressbook-view.c:223
+#: addressbook/gui/widgets/e-minicard-view-widget.c:105
+#: addressbook/gui/widgets/e-minicard-view.c:505
msgid "Book"
msgstr "Libri"
-#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:176
+#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:176
msgid "Is New List"
msgstr "Është një listë e re"
-#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:707
+#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:707
msgid "_Members"
msgstr "_Anëtarë"
-#: ../addressbook/gui/contact-list-editor/e-contact-list-editor.c:710
+#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:710
msgid "Contact List Members"
msgstr "Anëtarë të listës së kontakteve"
-#: ../addressbook/gui/merging/eab-contact-commit-duplicate-detected.glade.h:1
+#: addressbook/gui/merging/eab-contact-commit-duplicate-detected.glade.h:1
msgid "Changed Contact:"
msgstr "Kontakti i ndryshuar:"
-#: ../addressbook/gui/merging/eab-contact-commit-duplicate-detected.glade.h:2
+#: addressbook/gui/merging/eab-contact-commit-duplicate-detected.glade.h:2
msgid "Conflicting Contact:"
msgstr "Kontakti në konflikt:"
-#: ../addressbook/gui/merging/eab-contact-commit-duplicate-detected.glade.h:3
-#: ../addressbook/gui/merging/eab-contact-duplicate-detected.glade.h:1
+#: addressbook/gui/merging/eab-contact-commit-duplicate-detected.glade.h:3
+#: addressbook/gui/merging/eab-contact-duplicate-detected.glade.h:1
msgid "Duplicate Contact Detected"
msgstr "U zbulua një kontakt i dyfishuar"
-#: ../addressbook/gui/merging/eab-contact-commit-duplicate-detected.glade.h:4
+#: addressbook/gui/merging/eab-contact-commit-duplicate-detected.glade.h:4
msgid ""
"The changed email or name of this contact already\n"
"exists in this folder. Would you like to add it anyway?"
@@ -2624,15 +2605,15 @@ msgstr ""
"Adresa e ndryshuar apo emri i këtij kontakti ekziston\n"
"në këtë kartelë. Dëshironi t'a shtoni sidoqoftë?"
-#: ../addressbook/gui/merging/eab-contact-duplicate-detected.glade.h:2
+#: addressbook/gui/merging/eab-contact-duplicate-detected.glade.h:2
msgid "New Contact:"
msgstr "Kontakti i ri:"
-#: ../addressbook/gui/merging/eab-contact-duplicate-detected.glade.h:3
+#: addressbook/gui/merging/eab-contact-duplicate-detected.glade.h:3
msgid "Original Contact:"
msgstr "Kontakti origjinal:"
-#: ../addressbook/gui/merging/eab-contact-duplicate-detected.glade.h:4
+#: addressbook/gui/merging/eab-contact-duplicate-detected.glade.h:4
msgid ""
"The name or email address of this contact already exists\n"
"in this folder. Would you like to add it anyway?"
@@ -2641,290 +2622,289 @@ msgstr ""
"kartelë. Dëshironi t'a shtoni sidoqoftë?"
#. FIXME: get the toplevel window...
-#: ../addressbook/gui/search/e-addressbook-search-dialog.c:160
-#: ../widgets/misc/e-filter-bar.c:156
+#: addressbook/gui/search/e-addressbook-search-dialog.c:160
+#: widgets/misc/e-filter-bar.c:156
msgid "Advanced Search"
msgstr "Kërkim i hollësishëm"
-#: ../addressbook/gui/widgets/e-addressbook-model.c:148
+#: addressbook/gui/widgets/e-addressbook-model.c:148
msgid "No contacts"
msgstr "Asnjë kontakt"
-#: ../addressbook/gui/widgets/e-addressbook-model.c:151
+#: addressbook/gui/widgets/e-addressbook-model.c:151
#, c-format
msgid "%d contact"
msgid_plural "%d contacts"
msgstr[0] "%d kontakt"
msgstr[1] "%d kontakte"
-#: ../addressbook/gui/widgets/e-addressbook-model.c:303
-#: ../addressbook/gui/widgets/e-addressbook-reflow-adapter.c:391
-#: ../addressbook/gui/widgets/e-addressbook-view.c:237
-#: ../addressbook/gui/widgets/e-minicard-view-widget.c:112
-#: ../addressbook/gui/widgets/e-minicard-view.c:512
+#: addressbook/gui/widgets/e-addressbook-model.c:303
+#: addressbook/gui/widgets/e-addressbook-reflow-adapter.c:391
+#: addressbook/gui/widgets/e-addressbook-view.c:237
+#: addressbook/gui/widgets/e-minicard-view-widget.c:112
+#: addressbook/gui/widgets/e-minicard-view.c:512
msgid "Query"
msgstr "Kërkesë"
-#: ../addressbook/gui/widgets/e-addressbook-model.c:446
+#: addressbook/gui/widgets/e-addressbook-model.c:446
msgid "Error getting book view"
msgstr "Gabim gjatë marrjes së paraqitjes si libër"
-#: ../addressbook/gui/widgets/e-addressbook-reflow-adapter.c:405
+#: addressbook/gui/widgets/e-addressbook-reflow-adapter.c:405
msgid "Model"
msgstr "Modeli"
-#: ../addressbook/gui/widgets/e-addressbook-table-adapter.c:103
+#: addressbook/gui/widgets/e-addressbook-table-adapter.c:103
msgid "Error modifying card"
msgstr "Gabim gjatë ndryshimit të card"
-#: ../addressbook/gui/widgets/e-addressbook-view.c:169
+#: addressbook/gui/widgets/e-addressbook-view.c:169
msgid "Name begins with"
msgstr "Emri fillon me"
-#: ../addressbook/gui/widgets/e-addressbook-view.c:170
+#: addressbook/gui/widgets/e-addressbook-view.c:170
msgid "Email begins with"
msgstr "Email fillon me"
-#: ../addressbook/gui/widgets/e-addressbook-view.c:171
-#: ../calendar/gui/cal-search-bar.c:53
+#: addressbook/gui/widgets/e-addressbook-view.c:171
+#: calendar/gui/cal-search-bar.c:53
msgid "Category is"
msgstr "Kategoria është"
#. We attach subitems below
-#: ../addressbook/gui/widgets/e-addressbook-view.c:172
-#: ../calendar/gui/cal-search-bar.c:48
+#: addressbook/gui/widgets/e-addressbook-view.c:172
+#: calendar/gui/cal-search-bar.c:48
msgid "Any field contains"
msgstr "Çfarëdo fushe që përmban"
-#: ../addressbook/gui/widgets/e-addressbook-view.c:173
-#: ../addressbook/gui/widgets/e-addressbook-view.c:178
+#: addressbook/gui/widgets/e-addressbook-view.c:173
+#: addressbook/gui/widgets/e-addressbook-view.c:178
msgid "Advanced..."
msgstr "Detajuar..."
-#: ../addressbook/gui/widgets/e-addressbook-view.c:230
+#: addressbook/gui/widgets/e-addressbook-view.c:230
msgid "Source"
msgstr "Burimi"
-#: ../addressbook/gui/widgets/e-addressbook-view.c:244
-#: ../calendar/gui/dialogs/meeting-page.etspec.h:11
-#: ../calendar/gui/e-calendar-table.etspec.h:13
-#: ../calendar/gui/e-meeting-list-view.c:319
-#: ../calendar/gui/e-meeting-time-sel.etspec.h:11
+#: addressbook/gui/widgets/e-addressbook-view.c:244
+#: calendar/gui/dialogs/meeting-page.etspec.h:11
+#: calendar/gui/e-calendar-table.etspec.h:13
+#: calendar/gui/e-meeting-list-view.c:319
+#: calendar/gui/e-meeting-time-sel.etspec.h:11
msgid "Type"
msgstr "Lloji"
-#: ../addressbook/gui/widgets/e-addressbook-view.c:541
+#: addressbook/gui/widgets/e-addressbook-view.c:541
msgid "Address Book"
msgstr "Rubrika"
-#: ../addressbook/gui/widgets/e-addressbook-view.c:804
-#: ../addressbook/gui/widgets/e-addressbook-view.c:922
-#: ../addressbook/gui/widgets/e-addressbook-view.c:1982
-#: ../ui/evolution-addressbook.xml.h:19
+#: addressbook/gui/widgets/e-addressbook-view.c:804
+#: addressbook/gui/widgets/e-addressbook-view.c:922
+#: addressbook/gui/widgets/e-addressbook-view.c:1982
+#: ui/evolution-addressbook.xml.h:19
msgid "Save as VCard..."
msgstr "Ruaje si VCard..."
-#: ../addressbook/gui/widgets/e-addressbook-view.c:918
+#: addressbook/gui/widgets/e-addressbook-view.c:918
msgid "New Contact..."
msgstr "Kontakt i ri..."
-#: ../addressbook/gui/widgets/e-addressbook-view.c:919
+#: addressbook/gui/widgets/e-addressbook-view.c:919
msgid "New Contact List..."
msgstr "Listë e re kontaktesh..."
-#: ../addressbook/gui/widgets/e-addressbook-view.c:923
-#: ../ui/evolution-addressbook.xml.h:10
+#: addressbook/gui/widgets/e-addressbook-view.c:923
+#: ui/evolution-addressbook.xml.h:10
msgid "Forward Contact"
msgstr "Përcill kontaktin"
-#: ../addressbook/gui/widgets/e-addressbook-view.c:924
+#: addressbook/gui/widgets/e-addressbook-view.c:924
msgid "Send Message to Contact"
msgstr "Dërgo një mesazh tek kontakti"
-#: ../addressbook/gui/widgets/e-addressbook-view.c:925
-#: ../calendar/gui/calendar-commands.c:120 ../calendar/gui/print.c:2489
-#: ../ui/evolution-addressbook.xml.h:16 ../ui/evolution-calendar.xml.h:19
-#: ../ui/evolution-mail-message.xml.h:80 ../ui/evolution-tasks.xml.h:14
+#: addressbook/gui/widgets/e-addressbook-view.c:925
+#: calendar/gui/calendar-commands.c:120 calendar/gui/print.c:2489
+#: ui/evolution-addressbook.xml.h:16 ui/evolution-calendar.xml.h:19
+#: ui/evolution-mail-message.xml.h:80 ui/evolution-tasks.xml.h:14
msgid "Print"
msgstr "Printo"
-#: ../addressbook/gui/widgets/e-addressbook-view.c:928
+#: addressbook/gui/widgets/e-addressbook-view.c:928
msgid "Copy to Address Book..."
msgstr "Kopjo në Rubrikë..."
-#: ../addressbook/gui/widgets/e-addressbook-view.c:929
+#: addressbook/gui/widgets/e-addressbook-view.c:929
msgid "Move to Address Book..."
msgstr "Lëvize në Rubrikë..."
-#: ../addressbook/gui/widgets/e-addressbook-view.c:932
-#: ../ui/evolution-addressbook.xml.h:6 ../ui/evolution-tasks.xml.h:4
+#: addressbook/gui/widgets/e-addressbook-view.c:932
+#: ui/evolution-addressbook.xml.h:6 ui/evolution-tasks.xml.h:4
msgid "Cut"
msgstr "Preje"
-#: ../addressbook/gui/widgets/e-addressbook-view.c:933
-#: ../calendar/gui/calendar-component.c:525
-#: ../calendar/gui/tasks-component.c:429 ../ui/evolution-addressbook.xml.h:2
-#: ../ui/evolution-mail-message.xml.h:9 ../ui/evolution-tasks.xml.h:2
+#: addressbook/gui/widgets/e-addressbook-view.c:933
+#: calendar/gui/calendar-component.c:525 calendar/gui/tasks-component.c:429
+#: ui/evolution-addressbook.xml.h:2 ui/evolution-mail-message.xml.h:9
+#: ui/evolution-tasks.xml.h:2
msgid "Copy"
msgstr "Kopjo"
-#: ../addressbook/gui/widgets/e-addressbook-view.c:934
-#: ../ui/evolution-addressbook.xml.h:13 ../ui/evolution-tasks.xml.h:11
+#: addressbook/gui/widgets/e-addressbook-view.c:934
+#: ui/evolution-addressbook.xml.h:13 ui/evolution-tasks.xml.h:11
msgid "Paste"
msgstr "Ngjite"
#. All, unmatched, separator
-#: ../addressbook/gui/widgets/e-addressbook-view.c:1537
-#: ../calendar/gui/cal-search-bar.c:346
+#: addressbook/gui/widgets/e-addressbook-view.c:1537
+#: calendar/gui/cal-search-bar.c:346
msgid "Any Category"
msgstr "Çdo kategori"
-#: ../addressbook/gui/widgets/e-addressbook-view.c:1750
+#: addressbook/gui/widgets/e-addressbook-view.c:1750
msgid "Print cards"
msgstr "Printo teserat"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:1
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:1
msgid "Assistant"
msgstr "Asistenti"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:2
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:2
msgid "Assistant Phone"
msgstr "Telefoni asistentit"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:3
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:3
msgid "Business Fax"
msgstr "Fax-i në zyrë"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:4
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:4
msgid "Business Phone"
msgstr "Telefoni në zyrë"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:5
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:5
msgid "Business Phone 2"
msgstr "Telefoni në zyrë 2"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:6
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:6
msgid "Callback Phone"
msgstr "Telefoni ku të rithirret"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:7
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:7
msgid "Car Phone"
msgstr "Telefoni në makinë"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:8
-#: ../calendar/gui/dialogs/task-page.glade.h:6
-#: ../calendar/gui/e-cal-list-view.etspec.h:1
-#: ../calendar/gui/e-calendar-table.etspec.h:3
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:8
+#: calendar/gui/dialogs/task-page.glade.h:6
+#: calendar/gui/e-cal-list-view.etspec.h:1
+#: calendar/gui/e-calendar-table.etspec.h:3
msgid "Categories"
msgstr "Kategoritë"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:9
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:9
msgid "Company Phone"
msgstr "Telefoni i ndërmarrjes"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:10
-#: ../addressbook/gui/widgets/eab-contact-display.c:560
-#: ../smime/lib/e-cert.c:826
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:10
+#: addressbook/gui/widgets/eab-contact-display.c:560 smime/lib/e-cert.c:826
msgid "Email"
msgstr "Email"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:11
-#: ../addressbook/gui/widgets/eab-popup-control.c:441
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:11
+#: addressbook/gui/widgets/eab-popup-control.c:441
msgid "Email 2"
msgstr "Email 2"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:12
-#: ../addressbook/gui/widgets/eab-popup-control.c:451
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:12
+#: addressbook/gui/widgets/eab-popup-control.c:451
msgid "Email 3"
msgstr "Email 3"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:13
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:13
msgid "Family Name"
msgstr "Mbiemri"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:14
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:14
msgid "File As"
msgstr "File si"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:16
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:16
msgid "Given Name"
msgstr "Emri i dhënë"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:17
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:17
msgid "Home Fax"
msgstr "Fax-i në shtëpi"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:18
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:18
msgid "Home Phone"
msgstr "Telefoni në shtëpi"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:19
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:19
msgid "Home Phone 2"
msgstr "Telefoni në shtëpi 2"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:20
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:20
msgid "ISDN Phone"
msgstr "Telefon ISDN"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:21
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:21
msgid "Journal"
msgstr "Gazeta"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:22
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:22
msgid "Manager"
msgstr "Manazhuesi"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:23
-#: ../addressbook/gui/widgets/eab-contact-display.c:379
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:23
+#: addressbook/gui/widgets/eab-contact-display.c:379
msgid "Mobile Phone"
msgstr "Celulari"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:24
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:24
msgid "Nickname"
msgstr "Pseudonimi"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:25
-#: ../addressbook/gui/widgets/eab-contact-display.c:390
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:25
+#: addressbook/gui/widgets/eab-contact-display.c:390
msgid "Note"
msgstr "Shënim"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:26
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:26
msgid "Office"
msgstr "Zyrë"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:27
-#: ../addressbook/gui/widgets/eab-contact-display.c:360
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:27
+#: addressbook/gui/widgets/eab-contact-display.c:360
msgid "Organization"
msgstr "Organizata"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:28
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:28
msgid "Other Fax"
msgstr "Fax tjetër"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:29
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:29
msgid "Other Phone"
msgstr "Telefonë të tjerë"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:30
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:30
msgid "Pager"
msgstr "Faques"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:31
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:31
msgid "Primary Phone"
msgstr "Telefoni kryesor"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:32
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:32
msgid "Radio"
msgstr "Radio"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:33
-#: ../calendar/gui/dialogs/meeting-page.etspec.h:9
-#: ../calendar/gui/e-meeting-list-view.c:326
-#: ../calendar/gui/e-meeting-time-sel.etspec.h:9
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:33
+#: calendar/gui/dialogs/meeting-page.etspec.h:9
+#: calendar/gui/e-meeting-list-view.c:326
+#: calendar/gui/e-meeting-time-sel.etspec.h:9
msgid "Role"
msgstr "Roli"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:34
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:34
msgid "Spouse"
msgstr "Bashkëshorte"
@@ -2934,62 +2914,62 @@ msgstr "Bashkëshorte"
#. Device for Deaf". However, you probably want to leave this
#. abbreviation unchanged unless you know that there is actually a
#. different and established translation for this in your language.
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:41
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:41
msgid "TTYTDD"
msgstr "TTYTDD"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:42
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:42
msgid "Telex"
msgstr "Telex"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:43
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:43
msgid "Title"
msgstr "Titulli"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:44
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:44
msgid "Unit"
msgstr "Njësia"
-#: ../addressbook/gui/widgets/e-addressbook-view.etspec.h:45
+#: addressbook/gui/widgets/e-addressbook-view.etspec.h:45
msgid "Web Site"
msgstr "Siti web"
-#: ../addressbook/gui/widgets/e-minicard-label.c:115
-#: ../addressbook/gui/widgets/e-minicard.c:137
+#: addressbook/gui/widgets/e-minicard-label.c:115
+#: addressbook/gui/widgets/e-minicard.c:137
msgid "Width"
msgstr "Gjerësia"
-#: ../addressbook/gui/widgets/e-minicard-label.c:122
-#: ../addressbook/gui/widgets/e-minicard.c:144
+#: addressbook/gui/widgets/e-minicard-label.c:122
+#: addressbook/gui/widgets/e-minicard.c:144
msgid "Height"
msgstr "Lartësia"
-#: ../addressbook/gui/widgets/e-minicard-label.c:129
-#: ../addressbook/gui/widgets/e-minicard.c:152
+#: addressbook/gui/widgets/e-minicard-label.c:129
+#: addressbook/gui/widgets/e-minicard.c:152
msgid "Has Focus"
msgstr "Ka fokusin"
-#: ../addressbook/gui/widgets/e-minicard-label.c:136
+#: addressbook/gui/widgets/e-minicard-label.c:136
msgid "Field"
msgstr "Fusha"
-#: ../addressbook/gui/widgets/e-minicard-label.c:143
+#: addressbook/gui/widgets/e-minicard-label.c:143
msgid "Field Name"
msgstr "Emri i fushës"
-#: ../addressbook/gui/widgets/e-minicard-label.c:150
+#: addressbook/gui/widgets/e-minicard-label.c:150
msgid "Text Model"
msgstr "Modeli i tekstit"
-#: ../addressbook/gui/widgets/e-minicard-label.c:157
+#: addressbook/gui/widgets/e-minicard-label.c:157
msgid "Max field name length"
msgstr "Gjatësia maksimum e emrit të fushës"
-#: ../addressbook/gui/widgets/e-minicard-view-widget.c:126
+#: addressbook/gui/widgets/e-minicard-view-widget.c:126
msgid "Column Width"
msgstr "Gjërësia e kollonës"
-#: ../addressbook/gui/widgets/e-minicard-view.c:171
+#: addressbook/gui/widgets/e-minicard-view.c:171
msgid ""
"\n"
"\n"
@@ -3003,7 +2983,7 @@ msgstr ""
"\n"
"ose dopjo-klik këtu për të krijuar një kontakt të ri."
-#: ../addressbook/gui/widgets/e-minicard-view.c:174
+#: addressbook/gui/widgets/e-minicard-view.c:174
msgid ""
"\n"
"\n"
@@ -3017,7 +2997,7 @@ msgstr ""
"\n"
"Dopjo-klik këtu për të krijuar një kontakt të ri."
-#: ../addressbook/gui/widgets/e-minicard-view.c:179
+#: addressbook/gui/widgets/e-minicard-view.c:179
msgid ""
"\n"
"\n"
@@ -3027,7 +3007,7 @@ msgstr ""
"\n"
"Kërko për kontaktin."
-#: ../addressbook/gui/widgets/e-minicard-view.c:181
+#: addressbook/gui/widgets/e-minicard-view.c:181
msgid ""
"\n"
"\n"
@@ -3037,171 +3017,170 @@ msgstr ""
"\n"
"Asnjë element për t'u shfaqur në këtë paraqitje."
-#: ../addressbook/gui/widgets/e-minicard-view.c:498
+#: addressbook/gui/widgets/e-minicard-view.c:498
msgid "Adapter"
msgstr "Adaptues"
-#: ../addressbook/gui/widgets/e-minicard.c:160
+#: addressbook/gui/widgets/e-minicard.c:160
msgid "Selected"
msgstr "I zgjedhur"
-#: ../addressbook/gui/widgets/e-minicard.c:167
+#: addressbook/gui/widgets/e-minicard.c:167
msgid "Has Cursor"
msgstr "Ka kursorin"
-#: ../addressbook/gui/widgets/eab-contact-display.c:133
-#: ../addressbook/gui/widgets/eab-contact-display.c:196
+#: addressbook/gui/widgets/eab-contact-display.c:133
+#: addressbook/gui/widgets/eab-contact-display.c:196
msgid "(map)"
msgstr "(harta)"
-#: ../addressbook/gui/widgets/eab-contact-display.c:143
-#: ../addressbook/gui/widgets/eab-contact-display.c:209
+#: addressbook/gui/widgets/eab-contact-display.c:143
+#: addressbook/gui/widgets/eab-contact-display.c:209
msgid "map"
msgstr "harta"
-#: ../addressbook/gui/widgets/eab-contact-display.c:274
-#: ../addressbook/gui/widgets/eab-contact-display.c:541
+#: addressbook/gui/widgets/eab-contact-display.c:274
+#: addressbook/gui/widgets/eab-contact-display.c:541
msgid "List Members"
msgstr "Lista Anëtarëve"
-#: ../addressbook/gui/widgets/eab-contact-display.c:337
-#: ../addressbook/gui/widgets/eab-contact-display.c:339
+#: addressbook/gui/widgets/eab-contact-display.c:337
+#: addressbook/gui/widgets/eab-contact-display.c:339
msgid "E-mail"
msgstr "E-mail"
-#: ../addressbook/gui/widgets/eab-contact-display.c:361
+#: addressbook/gui/widgets/eab-contact-display.c:361
msgid "Position"
msgstr "Pozicioni"
-#: ../addressbook/gui/widgets/eab-contact-display.c:362
+#: addressbook/gui/widgets/eab-contact-display.c:362
msgid "Video Conferencing"
msgstr "Videokonferencë"
-#: ../addressbook/gui/widgets/eab-contact-display.c:363
-#: ../addressbook/gui/widgets/eab-contact-display.c:378
+#: addressbook/gui/widgets/eab-contact-display.c:363
+#: addressbook/gui/widgets/eab-contact-display.c:378
msgid "Phone"
msgstr "Telefoni"
-#: ../addressbook/gui/widgets/eab-contact-display.c:364
+#: addressbook/gui/widgets/eab-contact-display.c:364
msgid "Fax"
msgstr "Fax"
-#: ../addressbook/gui/widgets/eab-contact-display.c:368
+#: addressbook/gui/widgets/eab-contact-display.c:368
msgid "work"
msgstr "punë"
-#: ../addressbook/gui/widgets/eab-contact-display.c:375
+#: addressbook/gui/widgets/eab-contact-display.c:375
msgid "WWW"
msgstr "WWW"
-#: ../addressbook/gui/widgets/eab-contact-display.c:376
-#: ../addressbook/gui/widgets/eab-contact-display.c:595
+#: addressbook/gui/widgets/eab-contact-display.c:376
+#: addressbook/gui/widgets/eab-contact-display.c:595
msgid "Blog"
msgstr "Ditari"
-#: ../addressbook/gui/widgets/eab-contact-display.c:383
+#: addressbook/gui/widgets/eab-contact-display.c:383
msgid "personal"
msgstr "personale"
-#: ../addressbook/gui/widgets/eab-contact-display.c:556
+#: addressbook/gui/widgets/eab-contact-display.c:556
msgid "Job Title"
msgstr "Punësimi:"
-#: ../addressbook/gui/widgets/eab-contact-display.c:587
+#: addressbook/gui/widgets/eab-contact-display.c:587
msgid "Home page"
msgstr "Faqja e nisjes"
#. E_BOOK_ERROR_OK
-#: ../addressbook/gui/widgets/eab-gui-util.c:49
+#: addressbook/gui/widgets/eab-gui-util.c:49
msgid "Success"
msgstr "Me sukses"
#. E_BOOK_ERROR_INVALID_ARG
#. E_BOOK_ERROR_BUSY
-#: ../addressbook/gui/widgets/eab-gui-util.c:51
+#: addressbook/gui/widgets/eab-gui-util.c:51
msgid "Backend busy"
msgstr "Backend i zënë"
#. E_BOOK_ERROR_REPOSITORY_OFFLINE
-#: ../addressbook/gui/widgets/eab-gui-util.c:52
+#: addressbook/gui/widgets/eab-gui-util.c:52
msgid "Repository offline"
msgstr "Depozita është jashtë linje"
#. E_BOOK_ERROR_NO_SUCH_BOOK
-#: ../addressbook/gui/widgets/eab-gui-util.c:53
+#: addressbook/gui/widgets/eab-gui-util.c:53
msgid "Address Book does not exist"
msgstr "Rubrika nuk ekziston"
#. E_BOOK_ERROR_NO_SELF_CONTACT
-#: ../addressbook/gui/widgets/eab-gui-util.c:54
+#: addressbook/gui/widgets/eab-gui-util.c:54
msgid "No Self Contact defined"
msgstr "Nuk është përcaktuar asnjë kontakt automatik"
#. E_BOOK_ERROR_URI_NOT_LOADED
#. E_BOOK_ERROR_URI_ALREADY_LOADED
#. E_BOOK_ERROR_PERMISSION_DENIED
-#: ../addressbook/gui/widgets/eab-gui-util.c:57
+#: addressbook/gui/widgets/eab-gui-util.c:57
msgid "Permission denied"
msgstr "Ndalohet hyrja"
#. E_BOOK_ERROR_CONTACT_NOT_FOUND
-#: ../addressbook/gui/widgets/eab-gui-util.c:58
+#: addressbook/gui/widgets/eab-gui-util.c:58
msgid "Contact not found"
msgstr "Kontakti nuk u gjet"
#. E_BOOK_ERROR_CONTACT_ID_ALREADY_EXISTS
-#: ../addressbook/gui/widgets/eab-gui-util.c:59
+#: addressbook/gui/widgets/eab-gui-util.c:59
msgid "Contact ID already exists"
msgstr "ID e kontaktit ekziston"
#. E_BOOK_ERROR_PROTOCOL_NOT_SUPPORTED
-#: ../addressbook/gui/widgets/eab-gui-util.c:60
+#: addressbook/gui/widgets/eab-gui-util.c:60
msgid "Protocol not supported"
msgstr "Protokoll i pasuportuar"
#. E_BOOK_ERROR_CANCELLED
-#: ../addressbook/gui/widgets/eab-gui-util.c:61
-#: ../calendar/gui/dialogs/task-details-page.glade.h:3
-#: ../calendar/gui/e-cal-component-preview.c:232
-#: ../calendar/gui/e-cal-model-tasks.c:347
-#: ../calendar/gui/e-cal-model-tasks.c:660
-#: ../calendar/gui/e-calendar-table.c:458 ../calendar/gui/print.c:2352
+#: addressbook/gui/widgets/eab-gui-util.c:61
+#: calendar/gui/dialogs/task-details-page.glade.h:3
+#: calendar/gui/e-cal-component-preview.c:232
+#: calendar/gui/e-cal-model-tasks.c:347 calendar/gui/e-cal-model-tasks.c:660
+#: calendar/gui/e-calendar-table.c:458 calendar/gui/print.c:2352
msgid "Cancelled"
msgstr "Anulluar"
#. E_BOOK_ERROR_COULD_NOT_CANCEL
-#: ../addressbook/gui/widgets/eab-gui-util.c:62
+#: addressbook/gui/widgets/eab-gui-util.c:62
msgid "Could not cancel"
msgstr "E pamundur fshirja"
#. E_BOOK_ERROR_AUTHENTICATION_FAILED
-#: ../addressbook/gui/widgets/eab-gui-util.c:63
-#: ../calendar/gui/comp-editor-factory.c:431
+#: addressbook/gui/widgets/eab-gui-util.c:63
+#: calendar/gui/comp-editor-factory.c:431
msgid "Authentication Failed"
msgstr "Identifikimi dështoi"
#. E_BOOK_ERROR_AUTHENTICATION_REQUIRED
-#: ../addressbook/gui/widgets/eab-gui-util.c:64
+#: addressbook/gui/widgets/eab-gui-util.c:64
msgid "Authentication Required"
msgstr "Është i nevojshëm identifikimi"
#. E_BOOK_ERROR_TLS_NOT_AVAILABLE
-#: ../addressbook/gui/widgets/eab-gui-util.c:65
+#: addressbook/gui/widgets/eab-gui-util.c:65
msgid "TLS not Available"
msgstr "TLS jo në dispozicion"
#. E_BOOK_ERROR_CORBA_EXCEPTION
#. E_BOOK_ERROR_NO_SUCH_SOURCE
-#: ../addressbook/gui/widgets/eab-gui-util.c:67
+#: addressbook/gui/widgets/eab-gui-util.c:67
msgid "No such source"
msgstr "Asnjë burim"
#. E_BOOK_ERROR_OTHER_ERROR
-#: ../addressbook/gui/widgets/eab-gui-util.c:68
+#: addressbook/gui/widgets/eab-gui-util.c:68
msgid "Other error"
msgstr "Gabim tjetër"
-#: ../addressbook/gui/widgets/eab-gui-util.c:90
+#: addressbook/gui/widgets/eab-gui-util.c:90
msgid ""
"We were unable to open this addressbook. This either means this book is not "
"marked for offline usage or not yet downloaded for offline usage. Please "
@@ -3211,7 +3190,7 @@ msgstr ""
"përdorim jashtë linje, ose të mos jetë shkarkuar akoma. Ngarko rubrikën "
"njëherë kur të jesh në linjë, në menyrë që të shkarkohet përmbajtja e saj"
-#: ../addressbook/gui/widgets/eab-gui-util.c:98
+#: addressbook/gui/widgets/eab-gui-util.c:98
msgid ""
"We were unable to open this addressbook. Please check that the path exists "
"and that you have permission to access it."
@@ -3219,7 +3198,7 @@ msgstr ""
"E pamundur hapja e kësaj rubrike. Kontrollo që pozicioni ekziston dhe që "
"keni të drejtën të futeni në të."
-#: ../addressbook/gui/widgets/eab-gui-util.c:105
+#: addressbook/gui/widgets/eab-gui-util.c:105
msgid ""
"We were unable to open this addressbook. This either means you have entered "
"an incorrect URI, or the LDAP server is unreachable."
@@ -3227,7 +3206,7 @@ msgstr ""
"E pamundur hapja e kësaj rubrike. Kjo do të thotë që është dhënë një URI e "
"pasaktë, ose që server-i LDAP nuk është i arritshëm."
-#: ../addressbook/gui/widgets/eab-gui-util.c:110
+#: addressbook/gui/widgets/eab-gui-util.c:110
msgid ""
"This version of Evolution does not have LDAP support compiled in to it. If "
"you want to use LDAP in Evolution, you must install an LDAP-enabled "
@@ -3237,7 +3216,7 @@ msgstr ""
"përdorni LDAP në Evolution do t'ju duhet të instaloni një pako të Evolution "
"me LDAP të aktivuar."
-#: ../addressbook/gui/widgets/eab-gui-util.c:117
+#: addressbook/gui/widgets/eab-gui-util.c:117
msgid ""
"We were unable to open this addressbook. This either means you have entered "
"an incorrect URI, or the server is unreachable."
@@ -3245,7 +3224,7 @@ msgstr ""
"E pamundur hapja e kësaj rubrike. Kjo do të thotë që është dhënë një URI e "
"pasaktë, ose që server-i nuk është i arritshëm."
-#: ../addressbook/gui/widgets/eab-gui-util.c:137
+#: addressbook/gui/widgets/eab-gui-util.c:137
msgid ""
"More cards matched this query than either the server is \n"
"configured to return or Evolution is configured to display.\n"
@@ -3258,7 +3237,7 @@ msgstr ""
"rikonfiguro limitin e rezultateve tek preferimet e server-it të directory\n"
"për këtë libër adresash."
-#: ../addressbook/gui/widgets/eab-gui-util.c:143
+#: addressbook/gui/widgets/eab-gui-util.c:143
msgid ""
"The time to execute this query exceeded the server limit or the limit\n"
"you have configured for this addressbook. Please make your search\n"
@@ -3272,47 +3251,47 @@ msgstr ""
"directory\n"
"për këtë libër adresash."
-#: ../addressbook/gui/widgets/eab-gui-util.c:149
+#: addressbook/gui/widgets/eab-gui-util.c:149
msgid "The backend for this addressbook was unable to parse this query."
msgstr ""
"Backend për këtë libër adresash nuk është në gjendje të përpunojë këtë "
"kërkesë."
-#: ../addressbook/gui/widgets/eab-gui-util.c:152
+#: addressbook/gui/widgets/eab-gui-util.c:152
msgid "The backend for this addressbook refused to perform this query."
msgstr "Backend për këtë libër adresash nuk pranoi të përpunojë këtë kërkesë."
-#: ../addressbook/gui/widgets/eab-gui-util.c:155
+#: addressbook/gui/widgets/eab-gui-util.c:155
msgid "This query did not complete successfully."
msgstr "Kjo kërkesë nuk u plotësua me sukses."
-#: ../addressbook/gui/widgets/eab-gui-util.c:177
+#: addressbook/gui/widgets/eab-gui-util.c:177
msgid "Error adding list"
msgstr "Gabim gjatë shtimit të listës"
-#: ../addressbook/gui/widgets/eab-gui-util.c:177
-#: ../addressbook/gui/widgets/eab-gui-util.c:650
+#: addressbook/gui/widgets/eab-gui-util.c:177
+#: addressbook/gui/widgets/eab-gui-util.c:650
msgid "Error adding contact"
msgstr "Gabim gjatë shtimit të kontaktit"
-#: ../addressbook/gui/widgets/eab-gui-util.c:188
+#: addressbook/gui/widgets/eab-gui-util.c:188
msgid "Error modifying list"
msgstr "Gabim gjatë ndryshimit të listës"
-#: ../addressbook/gui/widgets/eab-gui-util.c:188
+#: addressbook/gui/widgets/eab-gui-util.c:188
msgid "Error modifying contact"
msgstr "Gabim gjatë ndryshimit të kontaktit"
-#: ../addressbook/gui/widgets/eab-gui-util.c:200
+#: addressbook/gui/widgets/eab-gui-util.c:200
msgid "Error removing list"
msgstr "Gabim gjatë eleminimit të listës"
-#: ../addressbook/gui/widgets/eab-gui-util.c:200
-#: ../addressbook/gui/widgets/eab-gui-util.c:608
+#: addressbook/gui/widgets/eab-gui-util.c:200
+#: addressbook/gui/widgets/eab-gui-util.c:608
msgid "Error removing contact"
msgstr "Gabim gjatë eleminimit të kontaktit"
-#: ../addressbook/gui/widgets/eab-gui-util.c:282
+#: addressbook/gui/widgets/eab-gui-util.c:282
#, c-format
msgid ""
"Opening %d contact will open %d new window as well.\n"
@@ -3327,7 +3306,7 @@ msgstr[1] ""
"Duke hapur %d kontakte do të hapen %d dritare të reja.\n"
"Me të vërtetë shfaq të gjitha këto kontakte?"
-#: ../addressbook/gui/widgets/eab-gui-util.c:311
+#: addressbook/gui/widgets/eab-gui-util.c:311
#, c-format
msgid ""
"%s already exists\n"
@@ -3336,44 +3315,44 @@ msgstr ""
"%s ekziston\n"
"Dëshiron t'a mbishkruash?"
-#: ../addressbook/gui/widgets/eab-gui-util.c:315
+#: addressbook/gui/widgets/eab-gui-util.c:315
msgid "Overwrite"
msgstr "Mbishkruaj"
#. This is a filename. Translators take note.
-#: ../addressbook/gui/widgets/eab-gui-util.c:393
+#: addressbook/gui/widgets/eab-gui-util.c:393
msgid "card.vcf"
msgstr "card.vcf"
-#: ../addressbook/gui/widgets/eab-gui-util.c:555
+#: addressbook/gui/widgets/eab-gui-util.c:555
msgid "list"
msgstr "lista"
-#: ../addressbook/gui/widgets/eab-gui-util.c:704
+#: addressbook/gui/widgets/eab-gui-util.c:704
msgid "Move contact to"
msgstr "Lëvize kontaktin tek"
-#: ../addressbook/gui/widgets/eab-gui-util.c:706
+#: addressbook/gui/widgets/eab-gui-util.c:706
msgid "Copy contact to"
msgstr "Kopjo kontaktin tek"
-#: ../addressbook/gui/widgets/eab-gui-util.c:709
+#: addressbook/gui/widgets/eab-gui-util.c:709
msgid "Move contacts to"
msgstr "Lëviz kontaktet tek"
-#: ../addressbook/gui/widgets/eab-gui-util.c:711
+#: addressbook/gui/widgets/eab-gui-util.c:711
msgid "Copy contacts to"
msgstr "Kopjo kontaktet tek"
-#: ../addressbook/gui/widgets/eab-gui-util.c:714
+#: addressbook/gui/widgets/eab-gui-util.c:714
msgid "Select target addressbook."
msgstr "Zgjidh rubrikën objekt."
-#: ../addressbook/gui/widgets/eab-gui-util.c:937
+#: addressbook/gui/widgets/eab-gui-util.c:937
msgid "Multiple VCards"
msgstr "VCards shumëfishe"
-#: ../addressbook/gui/widgets/eab-gui-util.c:940
+#: addressbook/gui/widgets/eab-gui-util.c:940
#, c-format
msgid "VCard for %s"
msgstr "VCard për %s"
@@ -3383,377 +3362,376 @@ msgstr "VCard për %s"
#. * addresses (and *only* the e-mail addresses) associated with an existing
#. * contact.
#.
-#: ../addressbook/gui/widgets/eab-popup-control.c:198
+#: addressbook/gui/widgets/eab-popup-control.c:198
msgid "(none)"
msgstr "(asnjë)"
-#: ../addressbook/gui/widgets/eab-popup-control.c:431
+#: addressbook/gui/widgets/eab-popup-control.c:431
msgid "Primary Email"
msgstr "Email kryesor"
-#: ../addressbook/gui/widgets/eab-popup-control.c:567
+#: addressbook/gui/widgets/eab-popup-control.c:567
msgid "Select an Action"
msgstr "Zgjidh një veprim"
-#: ../addressbook/gui/widgets/eab-popup-control.c:575
+#: addressbook/gui/widgets/eab-popup-control.c:575
#, c-format
msgid "Create a new contact \"%s\""
msgstr "Krijo një kontakt të ri \"%s\""
-#: ../addressbook/gui/widgets/eab-popup-control.c:591
+#: addressbook/gui/widgets/eab-popup-control.c:591
#, c-format
msgid "Add address to existing contact \"%s\""
msgstr "Shtoja adresën një kontakti ekzistues \"%s\""
-#: ../addressbook/gui/widgets/eab-popup-control.c:869
+#: addressbook/gui/widgets/eab-popup-control.c:869
msgid "Querying Address Book..."
msgstr "Duke konsultuar Rubrikën..."
-#: ../addressbook/gui/widgets/eab-popup-control.c:970
+#: addressbook/gui/widgets/eab-popup-control.c:970
msgid "Merge E-Mail Address"
msgstr "Bashko adresën E-Mail"
-#: ../addressbook/gui/widgets/eab-vcard-control.c:139
+#: addressbook/gui/widgets/eab-vcard-control.c:139
#, c-format
msgid "There is one other contact."
msgid_plural "There are %d other contacts."
msgstr[0] "Ka një kontakt tjetër."
msgstr[1] "Ka %d kontakte të tjerë."
-#: ../addressbook/gui/widgets/eab-vcard-control.c:223
-#: ../addressbook/gui/widgets/eab-vcard-control.c:272
+#: addressbook/gui/widgets/eab-vcard-control.c:223
+#: addressbook/gui/widgets/eab-vcard-control.c:272
msgid "Show Full VCard"
msgstr "Shfaq VCard e plotë"
-#: ../addressbook/gui/widgets/eab-vcard-control.c:227
+#: addressbook/gui/widgets/eab-vcard-control.c:227
msgid "Show Compact VCard"
msgstr "Shfaq VCard kompakte"
-#: ../addressbook/gui/widgets/eab-vcard-control.c:277
+#: addressbook/gui/widgets/eab-vcard-control.c:277
msgid "Save in addressbook"
msgstr "Ruaje në rubrikë"
-#: ../addressbook/gui/widgets/gal-view-factory-minicard.c:25
+#: addressbook/gui/widgets/gal-view-factory-minicard.c:25
msgid "Card View"
msgstr "Paraqitja e card"
-#: ../addressbook/gui/widgets/gal-view-factory-treeview.c:26
+#: addressbook/gui/widgets/gal-view-factory-treeview.c:26
msgid "GTK Tree View"
msgstr "Paraqitja si pemë e GTK"
-#: ../addressbook/importers/GNOME_Evolution_Addressbook_LDIF_Importer.server.in.in.h:1
+#: addressbook/importers/GNOME_Evolution_Addressbook_LDIF_Importer.server.in.in.h:1
msgid "Evolution LDIF importer"
msgstr "Importuesi LDIF i Evolution"
-#: ../addressbook/importers/GNOME_Evolution_Addressbook_LDIF_Importer.server.in.in.h:2
+#: addressbook/importers/GNOME_Evolution_Addressbook_LDIF_Importer.server.in.in.h:2
msgid "LDAP Data Interchange Format (.ldif)"
msgstr "Format LDAP Data Interchange (.ldif)"
-#: ../addressbook/importers/GNOME_Evolution_Addressbook_VCard_Importer.server.in.in.h:1
+#: addressbook/importers/GNOME_Evolution_Addressbook_VCard_Importer.server.in.in.h:1
msgid "Evolution VCard Importer"
msgstr "Importuesi VCard i Evolution"
-#: ../addressbook/importers/GNOME_Evolution_Addressbook_VCard_Importer.server.in.in.h:2
+#: addressbook/importers/GNOME_Evolution_Addressbook_VCard_Importer.server.in.in.h:2
msgid "VCard (.vcf, .gcrd)"
msgstr "VCard (.vcf, .gcrd)"
-#: ../addressbook/printing/e-contact-print-envelope.c:213
-#: ../addressbook/printing/e-contact-print-envelope.c:234
+#: addressbook/printing/e-contact-print-envelope.c:213
+#: addressbook/printing/e-contact-print-envelope.c:234
msgid "Print envelope"
msgstr "Printo zarfin"
-#: ../addressbook/printing/e-contact-print.c:1001
+#: addressbook/printing/e-contact-print.c:1001
msgid "Print contacts"
msgstr "Printo kontaktet"
-#: ../addressbook/printing/e-contact-print.c:1066
-#: ../addressbook/printing/e-contact-print.c:1093
+#: addressbook/printing/e-contact-print.c:1066
+#: addressbook/printing/e-contact-print.c:1093
msgid "Print contact"
msgstr "Printo kontaktin"
-#: ../addressbook/printing/e-contact-print.glade.h:1
+#: addressbook/printing/e-contact-print.glade.h:1
msgid "10 pt. Tahoma"
msgstr "10 pt. Tahoma"
-#: ../addressbook/printing/e-contact-print.glade.h:2
+#: addressbook/printing/e-contact-print.glade.h:2
msgid "8 pt. Tahoma"
msgstr "8 pt. Tahoma"
-#: ../addressbook/printing/e-contact-print.glade.h:3
+#: addressbook/printing/e-contact-print.glade.h:3
msgid "Blank forms at end:"
msgstr "Modulë të bardhë në fund:"
-#: ../addressbook/printing/e-contact-print.glade.h:4
+#: addressbook/printing/e-contact-print.glade.h:4
msgid "Body"
msgstr "Trupi"
-#: ../addressbook/printing/e-contact-print.glade.h:5
+#: addressbook/printing/e-contact-print.glade.h:5
msgid "Bottom:"
msgstr "Poshtë:"
-#: ../addressbook/printing/e-contact-print.glade.h:6
+#: addressbook/printing/e-contact-print.glade.h:6
msgid "Dimensions:"
msgstr "Përmasat:"
-#: ../addressbook/printing/e-contact-print.glade.h:7
+#: addressbook/printing/e-contact-print.glade.h:7
msgid "F_ont..."
msgstr "_Gërmat..."
-#: ../addressbook/printing/e-contact-print.glade.h:8
+#: addressbook/printing/e-contact-print.glade.h:8
msgid "Fonts"
msgstr "Gërmat"
-#: ../addressbook/printing/e-contact-print.glade.h:9
+#: addressbook/printing/e-contact-print.glade.h:9
msgid "Footer:"
msgstr "Fund'faqe:"
-#: ../addressbook/printing/e-contact-print.glade.h:10
+#: addressbook/printing/e-contact-print.glade.h:10
msgid "Format"
msgstr "Formati"
-#: ../addressbook/printing/e-contact-print.glade.h:11
+#: addressbook/printing/e-contact-print.glade.h:11
msgid "Header"
msgstr "Kreu i faqes"
-#: ../addressbook/printing/e-contact-print.glade.h:12
+#: addressbook/printing/e-contact-print.glade.h:12
msgid "Header/Footer"
msgstr "Kreu/Fundi"
-#: ../addressbook/printing/e-contact-print.glade.h:13
+#: addressbook/printing/e-contact-print.glade.h:13
msgid "Headings"
msgstr "Titujt"
-#: ../addressbook/printing/e-contact-print.glade.h:14
+#: addressbook/printing/e-contact-print.glade.h:14
msgid "Headings for each letter"
msgstr "Titull për çdo letër"
-#: ../addressbook/printing/e-contact-print.glade.h:15
+#: addressbook/printing/e-contact-print.glade.h:15
msgid "Height:"
msgstr "Lartësia:"
-#: ../addressbook/printing/e-contact-print.glade.h:16
+#: addressbook/printing/e-contact-print.glade.h:16
msgid "Immediately follow each other"
msgstr "Zinxhir njëri pas tjetrit"
-#: ../addressbook/printing/e-contact-print.glade.h:17
+#: addressbook/printing/e-contact-print.glade.h:17
msgid "Include:"
msgstr "Përfshi:"
-#: ../addressbook/printing/e-contact-print.glade.h:18
+#: addressbook/printing/e-contact-print.glade.h:18
msgid "Landscape"
msgstr "Horizontale"
-#: ../addressbook/printing/e-contact-print.glade.h:19
+#: addressbook/printing/e-contact-print.glade.h:19
msgid "Left:"
msgstr "Majtas:"
-#: ../addressbook/printing/e-contact-print.glade.h:20
+#: addressbook/printing/e-contact-print.glade.h:20
msgid "Letter tabs on side"
msgstr "Skedat e letrës në anë"
-#: ../addressbook/printing/e-contact-print.glade.h:21
+#: addressbook/printing/e-contact-print.glade.h:21
msgid "Margins"
msgstr "Kufijtë"
-#: ../addressbook/printing/e-contact-print.glade.h:22
+#: addressbook/printing/e-contact-print.glade.h:22
msgid "Number of columns:"
msgstr "Numri i kollonave:"
-#: ../addressbook/printing/e-contact-print.glade.h:23
+#: addressbook/printing/e-contact-print.glade.h:23
msgid "Options"
msgstr "Mundësitë"
-#: ../addressbook/printing/e-contact-print.glade.h:24
-#: ../e-util/eggtrayicon.c:118
+#: addressbook/printing/e-contact-print.glade.h:24 e-util/eggtrayicon.c:118
msgid "Orientation"
msgstr "Orientimi"
-#: ../addressbook/printing/e-contact-print.glade.h:25
+#: addressbook/printing/e-contact-print.glade.h:25
msgid "Page"
msgstr "Faqja"
-#: ../addressbook/printing/e-contact-print.glade.h:26
+#: addressbook/printing/e-contact-print.glade.h:26
msgid "Page Setup:"
msgstr "Rregullimi i faqes:"
-#: ../addressbook/printing/e-contact-print.glade.h:27
+#: addressbook/printing/e-contact-print.glade.h:27
msgid "Paper"
msgstr "Letra"
-#: ../addressbook/printing/e-contact-print.glade.h:28
+#: addressbook/printing/e-contact-print.glade.h:28
msgid "Paper source:"
msgstr "Ngarkuesi i letrës:"
-#: ../addressbook/printing/e-contact-print.glade.h:29
+#: addressbook/printing/e-contact-print.glade.h:29
msgid "Portrait"
msgstr "Vertikale"
-#: ../addressbook/printing/e-contact-print.glade.h:30
+#: addressbook/printing/e-contact-print.glade.h:30
msgid "Preview:"
msgstr "Shikoje:"
-#: ../addressbook/printing/e-contact-print.glade.h:31
+#: addressbook/printing/e-contact-print.glade.h:31
msgid "Print using gray shading"
msgstr "Printo duke përdorur hije gri"
-#: ../addressbook/printing/e-contact-print.glade.h:32
+#: addressbook/printing/e-contact-print.glade.h:32
msgid "Reverse on even pages"
msgstr "Inverto faqet çifte"
-#: ../addressbook/printing/e-contact-print.glade.h:33
+#: addressbook/printing/e-contact-print.glade.h:33
msgid "Right:"
msgstr "Djathtas:"
-#: ../addressbook/printing/e-contact-print.glade.h:34
+#: addressbook/printing/e-contact-print.glade.h:34
msgid "Sections:"
msgstr "Seksionet:"
-#: ../addressbook/printing/e-contact-print.glade.h:35
+#: addressbook/printing/e-contact-print.glade.h:35
msgid "Shading"
msgstr "Hija"
-#: ../addressbook/printing/e-contact-print.glade.h:36
+#: addressbook/printing/e-contact-print.glade.h:36
msgid "Size:"
msgstr "Madhësia:"
-#: ../addressbook/printing/e-contact-print.glade.h:37
+#: addressbook/printing/e-contact-print.glade.h:37
msgid "Start on a new page"
msgstr "Fillo në një faqe të re"
-#: ../addressbook/printing/e-contact-print.glade.h:38
+#: addressbook/printing/e-contact-print.glade.h:38
msgid "Style name:"
msgstr "Emri i stilit:"
-#: ../addressbook/printing/e-contact-print.glade.h:39
+#: addressbook/printing/e-contact-print.glade.h:39
msgid "Top:"
msgstr "Sipër:"
-#: ../addressbook/printing/e-contact-print.glade.h:40
-#: ../calendar/gui/dialogs/calendar-setup.c:175
+#: addressbook/printing/e-contact-print.glade.h:40
+#: calendar/gui/dialogs/calendar-setup.c:175
msgid "Type:"
msgstr "Lloji:"
-#: ../addressbook/printing/e-contact-print.glade.h:41
+#: addressbook/printing/e-contact-print.glade.h:41
msgid "Width:"
msgstr "Gjerësia:"
-#: ../addressbook/printing/e-contact-print.glade.h:42
+#: addressbook/printing/e-contact-print.glade.h:42
msgid "_Font..."
msgstr "_Gërmat..."
-#: ../addressbook/printing/test-contact-print-style-editor.c:53
+#: addressbook/printing/test-contact-print-style-editor.c:53
msgid "Contact Print Style Editor Test"
msgstr "Provuesi i Editorit të stilit të printimit të kontakteve"
-#: ../addressbook/printing/test-contact-print-style-editor.c:54
-#: ../addressbook/printing/test-print.c:53
+#: addressbook/printing/test-contact-print-style-editor.c:54
+#: addressbook/printing/test-print.c:53
msgid "Copyright (C) 2000, Ximian, Inc."
msgstr "Copyright (C) 2000, Ximian, Inc."
-#: ../addressbook/printing/test-contact-print-style-editor.c:56
+#: addressbook/printing/test-contact-print-style-editor.c:56
msgid "This should test the contact print style editor widget"
msgstr ""
"Kjo duhet të kontrollojë instrumentin e edituesit të stilit të printimit të "
"kontakteve"
-#: ../addressbook/printing/test-print.c:52
+#: addressbook/printing/test-print.c:52
msgid "Contact Print Test"
msgstr "Prova e printimit të kontakteve"
-#: ../addressbook/printing/test-print.c:55
+#: addressbook/printing/test-print.c:55
msgid "This should test the contact print code"
msgstr "Kjo duhet të kontrollojë kodin e printimit të kontakteve"
-#: ../addressbook/tools/evolution-addressbook-export-list-cards.c:657
-#: ../addressbook/tools/evolution-addressbook-export-list-cards.c:693
-#: ../addressbook/tools/evolution-addressbook-export-list-folders.c:49
+#: addressbook/tools/evolution-addressbook-export-list-cards.c:657
+#: addressbook/tools/evolution-addressbook-export-list-cards.c:693
+#: addressbook/tools/evolution-addressbook-export-list-folders.c:49
msgid "Can not open file"
msgstr "E pamundur hapja e file"
-#: ../addressbook/tools/evolution-addressbook-export-list-folders.c:43
+#: addressbook/tools/evolution-addressbook-export-list-folders.c:43
msgid "Couldn't get list of addressbooks"
msgstr "E pamundur marrja e listës së rubrikave"
-#: ../addressbook/tools/evolution-addressbook-export-list-folders.c:71
+#: addressbook/tools/evolution-addressbook-export-list-folders.c:71
msgid "failed to open book"
msgstr "hapja e librit dështoi"
-#: ../addressbook/tools/evolution-addressbook-export.c:56
+#: addressbook/tools/evolution-addressbook-export.c:56
msgid "Specify the output file instead of standard output"
msgstr "Specifiko file e daljes në vend të standard output"
-#: ../addressbook/tools/evolution-addressbook-export.c:57
+#: addressbook/tools/evolution-addressbook-export.c:57
msgid "OUTPUTFILE"
msgstr "FILENËDALJE"
-#: ../addressbook/tools/evolution-addressbook-export.c:58
+#: addressbook/tools/evolution-addressbook-export.c:58
msgid "List local addressbook folders"
msgstr "Lista e kartelave të rubrikave lokale"
-#: ../addressbook/tools/evolution-addressbook-export.c:60
+#: addressbook/tools/evolution-addressbook-export.c:60
msgid "Show cards as vcard or csv file"
msgstr "Shfaq cards si vcard ose file cvs"
-#: ../addressbook/tools/evolution-addressbook-export.c:60
+#: addressbook/tools/evolution-addressbook-export.c:60
msgid "[vcard|csv]"
msgstr "[vcard|csv]"
-#: ../addressbook/tools/evolution-addressbook-export.c:61
+#: addressbook/tools/evolution-addressbook-export.c:61
msgid "Export in asynchronous mode"
msgstr "Eksporto në modalitet asinkron"
-#: ../addressbook/tools/evolution-addressbook-export.c:63
+#: addressbook/tools/evolution-addressbook-export.c:63
msgid "The number of cards in one output file in asychronous mode, default size 100."
msgstr ""
"Numri i teserave në një file daljeje në modalitet asinkron, vlera e "
"paracaktuar është 100."
-#: ../addressbook/tools/evolution-addressbook-export.c:63
+#: addressbook/tools/evolution-addressbook-export.c:63
msgid "NUMBER"
msgstr "NUMRI"
-#: ../addressbook/tools/evolution-addressbook-export.c:91
+#: addressbook/tools/evolution-addressbook-export.c:91
msgid "Command line arguments error, please use --help option to see the usage."
msgstr ""
"Gabim në argumentet e rreshtit të komandës, përdor opcionin --help për të "
"shikuar përdorimin."
-#: ../addressbook/tools/evolution-addressbook-export.c:105
+#: addressbook/tools/evolution-addressbook-export.c:105
msgid "Only support csv or vcard format."
msgstr "Suporton vetëm formatin csv ose vcard."
-#: ../addressbook/tools/evolution-addressbook-export.c:114
+#: addressbook/tools/evolution-addressbook-export.c:114
msgid "In async mode, output must be file."
msgstr "Në modalitetin asinkron në dalje duhet të jetë një file."
-#: ../addressbook/tools/evolution-addressbook-export.c:122
+#: addressbook/tools/evolution-addressbook-export.c:122
msgid "In normal mode, there is no need for the size option."
msgstr "Në modalitetin normal, nuk nevoitet opcioni i madhësisë."
-#: ../addressbook/tools/evolution-addressbook-export.c:153
+#: addressbook/tools/evolution-addressbook-export.c:153
msgid "Unhandled error"
msgstr "Gabim i pakontrollueshëm"
-#: ../addressbook/tools/evolution-addressbook-import.c:46
+#: addressbook/tools/evolution-addressbook-import.c:46
msgid "Error loading default addressbook."
msgstr "Gabim gjatë ngarkimit të rubrikës së prezgjedhur."
-#: ../addressbook/tools/evolution-addressbook-import.c:67
+#: addressbook/tools/evolution-addressbook-import.c:67
msgid "Input File"
msgstr "File burim"
-#: ../addressbook/tools/evolution-addressbook-import.c:82
+#: addressbook/tools/evolution-addressbook-import.c:82
msgid "No filename provided."
msgstr "Nuk është dhënë një emër file."
#. calendar:prompt-cancel-meeting primary
#. calendar:prompt-cancel-task primary
-#: ../calendar/calendar-errors.xml.h:2 ../calendar/calendar-errors.xml.h:12
+#: calendar/calendar-errors.xml.h:2 calendar/calendar-errors.xml.h:12
msgid "Would you like to send all the participants a cancellation notice?"
msgstr "Dëshironi t'u dërgoni të gjithë pjesmarrësve një njoftim anullimi?"
#. calendar:prompt-cancel-meeting secondary
-#: ../calendar/calendar-errors.xml.h:4
+#: calendar/calendar-errors.xml.h:4
msgid ""
"If you don't send a cancellation notice, the other participants may not know "
"the meeting is canceled."
@@ -3761,32 +3739,32 @@ msgstr ""
"Nëse nuk dërgoni një njoftim anullimi, pjesmarrësit e tjerë ndoshta nuk e "
"dinë që takimi është anulluar."
-#: ../calendar/calendar-errors.xml.h:5 ../calendar/calendar-errors.xml.h:15
-#: ../calendar/calendar-errors.xml.h:25 ../calendar/calendar-errors.xml.h:87
-#: ../calendar/calendar-errors.xml.h:93 ../calendar/calendar-errors.xml.h:99
-#: ../calendar/calendar-errors.xml.h:105
+#: calendar/calendar-errors.xml.h:5 calendar/calendar-errors.xml.h:15
+#: calendar/calendar-errors.xml.h:25 calendar/calendar-errors.xml.h:87
+#: calendar/calendar-errors.xml.h:93 calendar/calendar-errors.xml.h:99
+#: calendar/calendar-errors.xml.h:105
msgid "Don't Send"
msgstr "Mos dërgo"
-#: ../calendar/calendar-errors.xml.h:6 ../calendar/calendar-errors.xml.h:16
-#: ../calendar/calendar-errors.xml.h:26
+#: calendar/calendar-errors.xml.h:6 calendar/calendar-errors.xml.h:16
+#: calendar/calendar-errors.xml.h:26
msgid "Send Notice"
msgstr "Dërgo një njoftim"
#. calendar:prompt-delete-meeting primary
-#: ../calendar/calendar-errors.xml.h:8
+#: calendar/calendar-errors.xml.h:8
msgid "Are you sure you want to delete this meeting?"
msgstr "Jeni i sigurt që dëshironi të eleminoni këtë mbledhje?"
#. calendar:prompt-delete-meeting secondary
-#: ../calendar/calendar-errors.xml.h:10
+#: calendar/calendar-errors.xml.h:10
msgid "All information on this meeting will be deleted and can not be restored."
msgstr ""
"Të gjitha informacionet mbi këtë mbledhje do të fshihen dhe nuk do të jenë "
"më të rekuperueshme."
#. calendar:prompt-cancel-task secondary
-#: ../calendar/calendar-errors.xml.h:14
+#: calendar/calendar-errors.xml.h:14
msgid ""
"If you don't send a cancellation notice, the other participants may not know "
"the task has been deleted."
@@ -3795,29 +3773,29 @@ msgstr ""
"të marrin vesh që aktiviteti është fshirë."
#. calendar:prompt-delete-task primary
-#: ../calendar/calendar-errors.xml.h:18 ../calendar/calendar-errors.xml.h:44
+#: calendar/calendar-errors.xml.h:18 calendar/calendar-errors.xml.h:44
msgid "Are you sure you want to delete this task?"
msgstr "Jeni i sigurt që dëshironi të eleminoni këtë aktivitet?"
#. calendar:prompt-delete-task secondary
#. calendar:prompt-delete-named-task secondary
#. calendar:prompt-delete-task secondary
-#: ../calendar/calendar-errors.xml.h:20 ../calendar/calendar-errors.xml.h:42
-#: ../calendar/calendar-errors.xml.h:46
+#: calendar/calendar-errors.xml.h:20 calendar/calendar-errors.xml.h:42
+#: calendar/calendar-errors.xml.h:46
msgid "All information on this task will be deleted and can not be restored."
msgstr ""
"Të gjitha informacionet mbi këtë aktivitet do të eleminohen dhe ai nuk mund "
"të rekuperohet."
#. calendar:prompt-cancel-journal primary
-#: ../calendar/calendar-errors.xml.h:22
+#: calendar/calendar-errors.xml.h:22
msgid "Would you like to send a cancellation notice for this journal entry?"
msgstr ""
"Jeni i sigurt që dëshironi të dërgoni një njoftim fshirje mbi këtë zë të "
"ditarit?"
#. calendar:prompt-cancel-journal secondary
-#: ../calendar/calendar-errors.xml.h:24
+#: calendar/calendar-errors.xml.h:24
msgid ""
"If you don't send a cancellation notice, the other participants may not know "
"the journal has been deleted."
@@ -3826,12 +3804,12 @@ msgstr ""
"marrin vesh që ditari është fshirë."
#. calendar:prompt-delete-journal primary
-#: ../calendar/calendar-errors.xml.h:28 ../calendar/calendar-errors.xml.h:52
+#: calendar/calendar-errors.xml.h:28 calendar/calendar-errors.xml.h:52
msgid "Are you sure you want to delete this journal entry?"
msgstr "Jeni i sigurt që dëshironi të eleminoni këtë zë të ditarit?"
#. calendar:prompt-delete-journal secondary
-#: ../calendar/calendar-errors.xml.h:30
+#: calendar/calendar-errors.xml.h:30
msgid ""
"All information on this journal entry will be deleted and can not be "
"restored."
@@ -3840,48 +3818,48 @@ msgstr ""
"nuk do të jenë më të rekuperueshme."
#. calendar:prompt-delete-titled-appointment primary
-#: ../calendar/calendar-errors.xml.h:32
+#: calendar/calendar-errors.xml.h:32
msgid "Are you sure you want to delete the appointment titled '{0}'?"
msgstr "Jeni i sigurt që dëshironi të eleminoni takimin me titull '{0}'?"
#. calendar:prompt-delete-titled-appointment secondary
#. calendar:prompt-delete-appointment secondary
-#: ../calendar/calendar-errors.xml.h:34 ../calendar/calendar-errors.xml.h:38
+#: calendar/calendar-errors.xml.h:34 calendar/calendar-errors.xml.h:38
msgid "All information on this appointment will be deleted and can not be restored."
msgstr ""
"Të gjitha informacionet e përmbajtura në këtë takim do të fshihen dhe nuk do "
"të jenë më të rekuperueshme."
#. calendar:prompt-delete-appointment primary
-#: ../calendar/calendar-errors.xml.h:36
+#: calendar/calendar-errors.xml.h:36
msgid "Are you sure you want to delete this appointment?"
msgstr "Jeni i sigurt që dëshironi të eleminoni këtë takim?"
#. calendar:prompt-delete-named-task primary
-#: ../calendar/calendar-errors.xml.h:40
+#: calendar/calendar-errors.xml.h:40
msgid "Are you sure you want to delete the '{0}' task?"
msgstr "Jeni i sigurt që dëshironi të eleminoni aktivitetin '{0}'?"
#. calendar:prompt-delete-named-journal primary
-#: ../calendar/calendar-errors.xml.h:48
+#: calendar/calendar-errors.xml.h:48
msgid "Are you sure you want to delete the journal entry '{0}'?"
msgstr "Jeni i sigurt që dëshironi të eleminoni zërin e ditarit '{0}'?"
#. calendar:prompt-delete-named-journal secondary
#. calendar:prompt-delete-journal secondary
-#: ../calendar/calendar-errors.xml.h:50 ../calendar/calendar-errors.xml.h:54
+#: calendar/calendar-errors.xml.h:50 calendar/calendar-errors.xml.h:54
msgid "All information in this journal will be deleted and can not be restored."
msgstr ""
"Të gjitha informacionet e përmbajtura në këtë ditar do të fshihen dhe nuk do "
"të jenë më të rekuperueshme."
#. calendar:prompt-delete-appointments primary
-#: ../calendar/calendar-errors.xml.h:56
+#: calendar/calendar-errors.xml.h:56
msgid "Are you sure you want to delete these {0} appointments?"
msgstr "Jeni i sigurt që dëshironi të eleminoni këto {0} takime?"
#. calendar:prompt-delete-appointments secondary
-#: ../calendar/calendar-errors.xml.h:58
+#: calendar/calendar-errors.xml.h:58
msgid ""
"All information on these appointments will be deleted and can not be "
"restored."
@@ -3890,24 +3868,24 @@ msgstr ""
"do të jenë më të rekuperueshme."
#. calendar:prompt-delete-tasks primary
-#: ../calendar/calendar-errors.xml.h:60
+#: calendar/calendar-errors.xml.h:60
msgid "Are you sure you want to delete these {0} tasks?"
msgstr "Jeni i sigurt që dëshironi të eleminoni këto {0} aktivitete?"
#. calendar:prompt-delete-tasks secondary
-#: ../calendar/calendar-errors.xml.h:62
+#: calendar/calendar-errors.xml.h:62
msgid "All information on these tasks will be deleted and can not be restored."
msgstr ""
"Të gjitha informacionet e përmbajtura në këto aktivitete do të fshihen dhe "
"nuk do të jenë më të rekuperueshme."
#. calendar:prompt-delete-journals primary
-#: ../calendar/calendar-errors.xml.h:64
+#: calendar/calendar-errors.xml.h:64
msgid "Are you sure you want to delete these {0} journal entries?"
msgstr "Jeni i sigurt që dëshironi të eleminoni këto {0} zëra të ditarit?"
#. calendar:prompt-delete-journals secondary
-#: ../calendar/calendar-errors.xml.h:66
+#: calendar/calendar-errors.xml.h:66
msgid ""
"All information in these journal entries will be deleted and can not be "
"restored."
@@ -3916,68 +3894,68 @@ msgstr ""
"nuk do të jenë më të rekuperueshme."
#. calendar:prompt-save-appointment title
-#: ../calendar/calendar-errors.xml.h:68
+#: calendar/calendar-errors.xml.h:68
msgid "Save Appointment"
msgstr "Ruaj Takimin"
#. calendar:prompt-save-appointment primary
-#: ../calendar/calendar-errors.xml.h:70
+#: calendar/calendar-errors.xml.h:70
msgid "Would you like to save your changes to this appointment?"
msgstr "Dëshiron të ruash ndryshimet e kryera tek ky takim?"
#. calendar:prompt-save-appointment secondary
-#: ../calendar/calendar-errors.xml.h:72
+#: calendar/calendar-errors.xml.h:72
msgid "You have made changes to this appointment, but not yet saved them."
msgstr "Keni kryer ndryshime tek ky takim, por nuk i keni ruajtur akoma ato."
-#: ../calendar/calendar-errors.xml.h:73 ../calendar/calendar-errors.xml.h:81
+#: calendar/calendar-errors.xml.h:73 calendar/calendar-errors.xml.h:81
msgid "Discard Changes"
msgstr "Anullo ndryshimet"
-#: ../calendar/calendar-errors.xml.h:74 ../calendar/calendar-errors.xml.h:82
+#: calendar/calendar-errors.xml.h:74 calendar/calendar-errors.xml.h:82
msgid "Save Changes"
msgstr "Ruaj Ndryshimet"
#. calendar:prompt-save-task title
-#: ../calendar/calendar-errors.xml.h:76
+#: calendar/calendar-errors.xml.h:76
msgid "Save Task"
msgstr "Ruaj Aktivitetin"
#. calendar:prompt-save-task primary
-#: ../calendar/calendar-errors.xml.h:78
+#: calendar/calendar-errors.xml.h:78
msgid "Would you like to save your changes to this task?"
msgstr "Dëshiron të ruash ndryshimet e kryera tek ky aktivitet?"
#. calendar:prompt-save-task secondary
-#: ../calendar/calendar-errors.xml.h:80
+#: calendar/calendar-errors.xml.h:80
msgid "You have made changes to this task, but not yet saved them."
msgstr "Keni kryer ndryshime tek ky aktivitet, por nuk i keni ruajtur akoma ato."
#. calendar:prompt-meeting-invite primary
-#: ../calendar/calendar-errors.xml.h:84
+#: calendar/calendar-errors.xml.h:84
msgid "Would you like to send meeting invitations to participants?"
msgstr "Dëshironi t'i dërgoni një ftesë mbledhjeje pjesmarrësve?"
#. calendar:prompt-meeting-invite secondary
-#: ../calendar/calendar-errors.xml.h:86
+#: calendar/calendar-errors.xml.h:86
msgid "Email invitations will be sent to all participants and allow them to RSVP."
msgstr ""
"Mesazhi ftues do t'u dërgohet të gjithë pjesmarrësve dhe do t'i lejojë ata "
"në RSVP."
-#: ../calendar/calendar-errors.xml.h:88 ../calendar/calendar-errors.xml.h:94
-#: ../calendar/calendar-errors.xml.h:100 ../calendar/calendar-errors.xml.h:106
-#: ../ui/evolution-message-composer.xml.h:24
+#: calendar/calendar-errors.xml.h:88 calendar/calendar-errors.xml.h:94
+#: calendar/calendar-errors.xml.h:100 calendar/calendar-errors.xml.h:106
+#: ui/evolution-message-composer.xml.h:24
msgid "Send"
msgstr "Dërgo"
#. calendar:prompt-send-updated-meeting-info primary
-#: ../calendar/calendar-errors.xml.h:90
+#: calendar/calendar-errors.xml.h:90
msgid "Would you like to send updated meeting information to participants?"
msgstr "Dëshiron t'u dërgosh informacionit e rifreskuar të mbledhjes pjesmarrësve?"
#. calendar:prompt-send-updated-meeting-info secondary
-#: ../calendar/calendar-errors.xml.h:92
+#: calendar/calendar-errors.xml.h:92
msgid ""
"Sending updated information allows other participants to keep their "
"calendars up to date."
@@ -3986,12 +3964,12 @@ msgstr ""
"rifreskuar kalendarët e tyre."
#. calendar:prompt-send-task primary
-#: ../calendar/calendar-errors.xml.h:96
+#: calendar/calendar-errors.xml.h:96
msgid "Would you like to send this task to participants?"
msgstr "Dëshiron t'ua dërgosh këtë aktivitet pjesmarrësve?"
#. calendar:prompt-send-task secondary
-#: ../calendar/calendar-errors.xml.h:98
+#: calendar/calendar-errors.xml.h:98
msgid ""
"Email invitations will be sent to all participants and allow them to accept "
"this task."
@@ -4000,12 +3978,12 @@ msgstr ""
"mundësinë të pranojnë këtë aktivitet."
#. calendar:prompt-send-updated-task-info primary
-#: ../calendar/calendar-errors.xml.h:102
+#: calendar/calendar-errors.xml.h:102
msgid "Would you like to send updated task information to participants?"
msgstr "Dëshiron t'u dërgosh pjesmarrësve informacionet e rifreskuara të aktivitetit?"
#. calendar:prompt-send-updated-task-info secondary
-#: ../calendar/calendar-errors.xml.h:104
+#: calendar/calendar-errors.xml.h:104
msgid ""
"Sending updated information allows other participants to keep their task "
"lists up to date."
@@ -4014,52 +3992,52 @@ msgstr ""
"rifreskuar listën e aktiviteteve të tyre."
#. calendar:tasks-crashed primary
-#: ../calendar/calendar-errors.xml.h:108
+#: calendar/calendar-errors.xml.h:108
msgid "The Evolution tasks have quit unexpectedly."
msgstr "Aktivitetet e Evolution përfunduan në menyrë të papritur."
#. calendar:tasks-crashed secondary
-#: ../calendar/calendar-errors.xml.h:110
+#: calendar/calendar-errors.xml.h:110
msgid "Your tasks will not be available until Evolution is restarted."
msgstr "Aktivitetet tuaja do të jenë në dispozicion vetëm mbas rinisjes së Evolution."
#. calendar:calendar-crashed primary
-#: ../calendar/calendar-errors.xml.h:112
+#: calendar/calendar-errors.xml.h:112
msgid "The Evolution calendar has quit unexpectedly."
msgstr "Kalendari i Evolution përfundoi në menyrë të papritur."
#. calendar:calendar-crashed secondary
-#: ../calendar/calendar-errors.xml.h:114
+#: calendar/calendar-errors.xml.h:114
msgid "Your calendars will not be available until Evolution is restarted."
msgstr "Kalendarët tuaj do të jenë në dispozicion vetëm mbas rinisjes së Evolution."
#. calendar:prompt-delete-calendar primary
-#: ../calendar/calendar-errors.xml.h:116
+#: calendar/calendar-errors.xml.h:116
msgid "Delete calendar '{0}'?"
msgstr "Eleminon kalendarin «{0}»?"
#. calendar:prompt-delete-calendar secondary
-#: ../calendar/calendar-errors.xml.h:118
+#: calendar/calendar-errors.xml.h:118
msgid "This calendar will be removed permanently."
msgstr "Ky kalendar do të eleminohet përgjithmonë."
#. calendar:prompt-delete-task-list primary
-#: ../calendar/calendar-errors.xml.h:120
+#: calendar/calendar-errors.xml.h:120
msgid "Delete task list '{0}'?"
msgstr "Eleminon listën e detyrave «{0}»?"
#. calendar:prompt-delete-task-list secondary
-#: ../calendar/calendar-errors.xml.h:122
+#: calendar/calendar-errors.xml.h:122
msgid "This task list will be removed permanently."
msgstr "Kjo listë detyrash do të eleminohet përgjithmonë."
#. calendar:prompt-send-no-subject-calendar primary
-#: ../calendar/calendar-errors.xml.h:124
+#: calendar/calendar-errors.xml.h:124
msgid "Are you sure you want to send the appointment without a summary?"
msgstr "Jeni i sigurt që dëshironi të dërgoni takimin pa një tregues?"
#. calendar:prompt-send-no-subject-calendar secondary
-#: ../calendar/calendar-errors.xml.h:126
+#: calendar/calendar-errors.xml.h:126
msgid ""
"Adding a meaningful Summary to your appointment will give your recipients an "
"idea of what your appointment is about."
@@ -4067,19 +4045,19 @@ msgstr ""
"Duke i shtuar takimit një tregues të qartë, u jipni një ide marrësve mbi "
"temën e takimit."
-#: ../calendar/calendar-errors.xml.h:127 ../calendar/calendar-errors.xml.h:132
-#: ../mail/mail-errors.xml.h:15 ../mail/mail-errors.xml.h:20
-#: ../mail/mail-errors.xml.h:27 ../mail/mail-errors.xml.h:32
+#: calendar/calendar-errors.xml.h:127 calendar/calendar-errors.xml.h:132
+#: mail/mail-errors.xml.h:15 mail/mail-errors.xml.h:20
+#: mail/mail-errors.xml.h:27 mail/mail-errors.xml.h:32
msgid "_Send"
msgstr "_Dërgo"
#. calendar:prompt-send-no-subject-task primary
-#: ../calendar/calendar-errors.xml.h:129
+#: calendar/calendar-errors.xml.h:129
msgid "Are you sure you want to send the task without a summary?"
msgstr "Jeni i sigurt që dëshironi të dërgoni një detyrë pa një tregues?"
#. calendar:prompt-send-no-subject-task secondary
-#: ../calendar/calendar-errors.xml.h:131
+#: calendar/calendar-errors.xml.h:131
msgid ""
"Adding a meaningful Summary to your task will give your recipients an idea "
"of what your task is about."
@@ -4088,216 +4066,212 @@ msgstr ""
"lidhje me detyrën."
#. calendar:prompt-no-contents-offline-calendar primary
-#: ../calendar/calendar-errors.xml.h:134
+#: calendar/calendar-errors.xml.h:134
msgid "Error loading calendar"
msgstr "Gabim gjatë ngarkimit të kalendarit"
#. calendar:prompt-no-contents-offline-calendar secondary
-#: ../calendar/calendar-errors.xml.h:136
+#: calendar/calendar-errors.xml.h:136
msgid "The calendar is not marked for offline usage"
msgstr "Kalendari nuk është shënuar për përdorim jashtë linje"
#. calendar:prompt-no-contents-offline-tasks primary
-#: ../calendar/calendar-errors.xml.h:138
+#: calendar/calendar-errors.xml.h:138
msgid "Error loading task list"
msgstr "Gabim gjatë ngarimit të listës së detyrave"
#. calendar:prompt-no-contents-offline-tasks secondary
-#: ../calendar/calendar-errors.xml.h:140
+#: calendar/calendar-errors.xml.h:140
msgid "The task list is not marked for offline usage"
msgstr "Lista e detyrave nuk është shënuar për përdorim jashtë linje"
#. calendar:server-version secondary
-#: ../calendar/calendar-errors.xml.h:146
-msgid " Some features may not work correctly with your current server version"
+#: calendar/calendar-errors.xml.h:146
+msgid " Some features may not work correctly with your current server version "
msgstr ""
" Disa nga veçoritë nuk do të funksionojnë si duhet me versionin aktual të "
-"serverit tuaj"
+"serverit tuaj "
-#: ../calendar/common/authentication.c:49 ../calendar/gui/e-pub-utils.c:301
-#: ../smime/gui/component.c:48
+#: calendar/common/authentication.c:49 calendar/gui/e-pub-utils.c:301
+#: smime/gui/component.c:48
msgid "Enter password"
msgstr "Shkruaj fjalëkalimin"
-#: ../calendar/conduits/calendar/calendar-conduit.c:246
+#: calendar/conduits/calendar/calendar-conduit.c:246
msgid "Split Multi-Day Events:"
msgstr "Veço ngjarjet shumë-ditëshe:"
-#: ../calendar/conduits/calendar/calendar-conduit.c:1359
-#: ../calendar/conduits/calendar/calendar-conduit.c:1360
-#: ../calendar/conduits/todo/todo-conduit.c:879
-#: ../calendar/conduits/todo/todo-conduit.c:880
+#: calendar/conduits/calendar/calendar-conduit.c:1359
+#: calendar/conduits/calendar/calendar-conduit.c:1360
+#: calendar/conduits/todo/todo-conduit.c:879
+#: calendar/conduits/todo/todo-conduit.c:880
msgid "Could not start evolution-data-server"
msgstr "E pamundur nisja e evolution-data-server"
-#: ../calendar/conduits/calendar/calendar-conduit.c:1468
-#: ../calendar/conduits/calendar/calendar-conduit.c:1471
+#: calendar/conduits/calendar/calendar-conduit.c:1468
+#: calendar/conduits/calendar/calendar-conduit.c:1471
msgid "Could not read pilot's Calendar application block"
msgstr "I pamundur leximi i bllokut të aplikativit të kalendarit"
-#: ../calendar/conduits/todo/todo-conduit.c:234
+#: calendar/conduits/todo/todo-conduit.c:234
msgid "Default Priority:"
msgstr "Prioriteti i prezgjedhur:"
-#: ../calendar/conduits/todo/todo-conduit.c:959
-#: ../calendar/conduits/todo/todo-conduit.c:962
+#: calendar/conduits/todo/todo-conduit.c:959
+#: calendar/conduits/todo/todo-conduit.c:962
msgid "Could not read pilot's ToDo application block"
msgstr "I pamundur leximi i aplikativëve që duhen bërë të Pilot"
-#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:1
+#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:1
msgid "Calendar and Tasks"
msgstr "Kalendari dhe aktivitetet"
-#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:2
-#: ../calendar/gui/calendar-component.c:1290
+#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:2
+#: calendar/gui/calendar-component.c:1290
msgid "Calendars"
msgstr "Kalendarët"
-#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:3
+#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:3
msgid "Configure your timezone, Calendar and Task List here "
msgstr "Konfiguro këtu zonën tënde të orës, kalendarin dhe listën e aktiviteteve"
-#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:4
+#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:4
msgid "Evolution Calendar and Tasks"
msgstr "Kalendari dhe aktivitetet e Evolution"
-#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:5
+#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:5
msgid "Evolution Calendar configuration control"
msgstr "Kontrolli i konfigurimit të kalendarit të Evolution"
-#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:6
+#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:6
msgid "Evolution Calendar scheduling message viewer"
msgstr "Shfaqësi i mesazheve të skadimit të afateve të kalendarit të Evolution"
-#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:7
+#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:7
msgid "Evolution Calendar/Task editor"
msgstr "Editori i kalendarit/aktiviteteve të Evolution"
-#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:8
+#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:8
msgid "Evolution's Calendar component"
msgstr "Komponuesi i Kalendarit për Evolution"
-#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:9
+#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:9
msgid "Evolution's Tasks component"
msgstr "Komponuesi i aktiviteteve për Evolution"
-#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:10
-#: ../calendar/gui/e-tasks.c:1219 ../calendar/gui/print.c:1822
-#: ../calendar/gui/tasks-component.c:508 ../calendar/gui/tasks-component.c:981
-#: ../calendar/gui/tasks-control.c:408
-#: ../calendar/importers/icalendar-importer.c:83
-#: ../calendar/importers/icalendar-importer.c:701
-#: ../plugins/groupwise-account-setup/camel-gw-listener.c:383
+#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:10
+#: calendar/gui/e-tasks.c:1219 calendar/gui/print.c:1822
+#: calendar/gui/tasks-component.c:508 calendar/gui/tasks-component.c:981
+#: calendar/gui/tasks-control.c:408 calendar/importers/icalendar-importer.c:83
+#: calendar/importers/icalendar-importer.c:701
+#: plugins/groupwise-account-setup/camel-gw-listener.c:383
msgid "Tasks"
msgstr "Aktivitete"
-#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:11
+#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:11
msgid "_Calendars"
msgstr "_Kalendarët"
-#: ../calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:12
-#: ../views/tasks/galview.xml.h:3
+#: calendar/gui/GNOME_Evolution_Calendar.server.in.in.h:12
+#: views/tasks/galview.xml.h:3
msgid "_Tasks"
msgstr "_Aktivitetet"
-#: ../calendar/gui/alarm-notify/GNOME_Evolution_Calendar_AlarmNotify.server.in.in.h:1
+#: calendar/gui/alarm-notify/GNOME_Evolution_Calendar_AlarmNotify.server.in.in.h:1
msgid "Evolution Calendar alarm notification service"
msgstr "Shërbimi i njoftimit të alarmit të kalendarit të Evolution"
-#: ../calendar/gui/alarm-notify/alarm-notify-dialog.c:79
+#: calendar/gui/alarm-notify/alarm-notify-dialog.c:79
msgid "minute"
msgid_plural "minutes"
msgstr[0] "minutë"
msgstr[1] "minuta"
-#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:1
-#: ../calendar/gui/dialogs/event-editor.c:140 ../calendar/gui/print.c:2298
+#: calendar/gui/alarm-notify/alarm-notify.glade.h:1
+#: calendar/gui/dialogs/event-editor.c:140 calendar/gui/print.c:2298
msgid "Appointment"
msgstr "Takim"
-#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:2
+#: calendar/gui/alarm-notify/alarm-notify.glade.h:2
msgid "Appointment Title"
msgstr "Titulli i takimit"
#. End time
-#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:3
-#: ../plugins/itip-formatter/itip-view.c:876
+#: calendar/gui/alarm-notify/alarm-notify.glade.h:3
+#: plugins/itip-formatter/itip-view.c:876
msgid "End time:"
msgstr "Koha e përfundimit:"
#. Location
-#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:4
-#: ../calendar/gui/e-itip-control.c:1118
-#: ../plugins/itip-formatter/itip-view.c:859
+#: calendar/gui/alarm-notify/alarm-notify.glade.h:4
+#: calendar/gui/e-itip-control.c:1118 plugins/itip-formatter/itip-view.c:859
msgid "Location:"
msgstr "Vendodhja:"
-#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:5
+#: calendar/gui/alarm-notify/alarm-notify.glade.h:5
msgid "Snooze _time:"
msgstr "Ora e _ziles:"
#. Start time
-#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:6
-#: ../plugins/itip-formatter/itip-view.c:867
+#: calendar/gui/alarm-notify/alarm-notify.glade.h:6
+#: plugins/itip-formatter/itip-view.c:867
msgid "Start time:"
msgstr "Ora e fillimit:"
-#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:7
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:50
-#: ../calendar/gui/dialogs/recurrence-page.glade.h:6
-#: ../filter/filter.glade.h:11 ../mail/mail-config.glade.h:153
-#: ../ui/evolution-addressbook.xml.h:34 ../ui/evolution-calendar.xml.h:41
-#: ../ui/evolution-composer-entries.xml.h:8 ../ui/evolution-mail-list.xml.h:24
-#: ../ui/evolution-mail-messagedisplay.xml.h:6
-#: ../ui/evolution-message-composer.xml.h:43
-#: ../ui/evolution-signature-editor.xml.h:12
-#: ../ui/evolution-subscribe.xml.h:10 ../ui/evolution-tasks.xml.h:22
-#: ../ui/evolution.xml.h:38
+#: calendar/gui/alarm-notify/alarm-notify.glade.h:7
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:50
+#: calendar/gui/dialogs/recurrence-page.glade.h:6 filter/filter.glade.h:11
+#: mail/mail-config.glade.h:153 ui/evolution-addressbook.xml.h:34
+#: ui/evolution-calendar.xml.h:41 ui/evolution-composer-entries.xml.h:8
+#: ui/evolution-mail-list.xml.h:24 ui/evolution-mail-messagedisplay.xml.h:6
+#: ui/evolution-message-composer.xml.h:43
+#: ui/evolution-signature-editor.xml.h:12 ui/evolution-subscribe.xml.h:10
+#: ui/evolution-tasks.xml.h:22 ui/evolution.xml.h:38
msgid "_Edit"
msgstr "_Ndrysho"
-#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:8
+#: calendar/gui/alarm-notify/alarm-notify.glade.h:8
msgid "_Snooze"
msgstr "_Zilja"
-#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:9
+#: calendar/gui/alarm-notify/alarm-notify.glade.h:9
msgid "description of appointment"
msgstr "përshkrimi i takimit"
-#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:10
+#: calendar/gui/alarm-notify/alarm-notify.glade.h:10
msgid "end-time"
msgstr "ora-përfundimit"
-#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:11
+#: calendar/gui/alarm-notify/alarm-notify.glade.h:11
msgid "location"
msgstr "vendi"
-#: ../calendar/gui/alarm-notify/alarm-notify.glade.h:13
+#: calendar/gui/alarm-notify/alarm-notify.glade.h:13
msgid "start-time"
msgstr "ora-fillimit"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:864
+#: calendar/gui/alarm-notify/alarm-queue.c:879
msgid "Dismiss"
msgstr "Braktis"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:865
+#: calendar/gui/alarm-notify/alarm-queue.c:880
msgid "Dismiss All"
msgstr "Braktis gjithçka"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:947
+#: calendar/gui/alarm-notify/alarm-queue.c:962
msgid "No summary available."
msgstr "Asnjë tregues në dispozicion."
-#: ../calendar/gui/alarm-notify/alarm-queue.c:956
-#: ../calendar/gui/alarm-notify/alarm-queue.c:958
+#: calendar/gui/alarm-notify/alarm-queue.c:971
+#: calendar/gui/alarm-notify/alarm-queue.c:973
msgid "No description available."
msgstr "Asnjë përshkrim në dispozicion."
-#: ../calendar/gui/alarm-notify/alarm-queue.c:966
+#: calendar/gui/alarm-notify/alarm-queue.c:981
msgid "No location information available."
msgstr "Asnjë përshkrim në lidhje me vendin në dispozicion."
-#: ../calendar/gui/alarm-notify/alarm-queue.c:982
+#: calendar/gui/alarm-notify/alarm-queue.c:997
#, c-format
msgid ""
"Alarm on %s\n"
@@ -4310,12 +4284,12 @@ msgstr ""
"Fillon nga %s\n"
"Mbaron në %s"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1084
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1108
+#: calendar/gui/alarm-notify/alarm-queue.c:1099
+#: calendar/gui/alarm-notify/alarm-queue.c:1123
msgid "Warning"
msgstr "Kujdes"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1088
+#: calendar/gui/alarm-notify/alarm-queue.c:1103
msgid ""
"Evolution does not support calendar reminders with\n"
"email notifications yet, but this reminder was\n"
@@ -4327,7 +4301,7 @@ msgstr ""
"ky paralajmërim kërkon nisjen e një mesazhi email. Për këtë,\n"
"Evolution do të hapë një mesazh normal viziv (në ekran)."
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1114
+#: calendar/gui/alarm-notify/alarm-queue.c:1129
#, c-format
msgid ""
"An Evolution Calendar reminder is about to trigger. This reminder is "
@@ -4344,137 +4318,137 @@ msgstr ""
"\n"
"Dëshironi me të vërtetë që ky program të ekzekutohet?"
-#: ../calendar/gui/alarm-notify/alarm-queue.c:1128
+#: calendar/gui/alarm-notify/alarm-queue.c:1143
msgid "Do not ask me about this program again."
msgstr "Mos më pyet më për këtë program."
-#: ../calendar/gui/alarm-notify/notify-main.c:139
+#: calendar/gui/alarm-notify/notify-main.c:139
msgid "Could not initialize Bonobo"
msgstr "E pamundur nisja e Bonobo"
-#: ../calendar/gui/alarm-notify/notify-main.c:150
+#: calendar/gui/alarm-notify/notify-main.c:150
msgid "Could not create the alarm notify service factory"
msgstr ""
"I pamundur krijimi i fabrikës për shërbimin e njoftimit të paralajmërimit "
"audio"
-#: ../calendar/gui/alarm-notify/util.c:41
+#: calendar/gui/alarm-notify/util.c:41
msgid "invalid time"
msgstr "orë e pavlefshme"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:1
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:1
msgid "Alarm programs"
msgstr "Programe alarmi"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:2
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:2
msgid "Ask for confirmation when deleting items"
msgstr "Kërko konfermimin kur fshihen elementë"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:3
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:3
msgid "Background color of tasks that are due today, in \"#rrggbb\" format."
msgstr "Ngjyra e sfondit për detyrat që skadojnë sot, në formatin \"#rrggbb\"."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:4
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:4
msgid "Background color of tasks that are overdue, in \"#rrggbb\" format."
msgstr "Ngjyra e sfondit për detyrat e skaduara, në formatin \"#rrggbb\"."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:5
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:5
msgid "Calendars to run alarms for"
msgstr "Kalendarët për të cilët përdoret alarmi"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:6
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:6
msgid "Compress weekends in month view"
msgstr "Fsheh fundjavën tek paraqitja mujore"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:7
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:7
msgid "Confirm expunge"
msgstr "Konfermo pastrimin"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:8
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:8
msgid "Days on which the start and end of work hours should be indicated."
msgstr "Ditët për të cilat duhet treguar ora e fillimit dhe përfundimit të punës."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:9
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:9
msgid "Default appointment reminder"
msgstr "Përkujtesa e takimit të prezgjedhur"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:10
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:10
msgid "Default reminder units"
msgstr "Njësia e prezgjedhur e prekujtesës"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:11
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:11
msgid "Default reminder value"
msgstr "Vlera e prezgjedhur e përkujtesës"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:12
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:12
msgid "Free/busy server urls"
msgstr "Url e serverit i lirë/zënë"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:13
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:13
msgid "Free/busy template url"
msgstr "Modeli url i lirë/zënë"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:14
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:14
msgid "Hide completed tasks"
msgstr "Fshih detyrat e plotësuara"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:15
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:15
msgid "Hide task units"
msgstr "Njësitë për fshehrjen e detyrave"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:16
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:16
msgid "Hide task value"
msgstr "Vlera për fshehrjen e detyrave"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:17
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:17
msgid "Horizontal pane position"
msgstr "Pozicioni i panelit horizontal"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:18
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:18
msgid "Hour the workday ends on, in twenty four hour format, 0 to 23."
msgstr "Ora e përfundimit të ditës së punës, në formatin me 24 orë, nga 0 në 23."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:19
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:19
msgid "Hour the workday starts on, in twenty four hour format, 0 to 23."
msgstr "Ora e fillimit të ditës së punës, në formatin me 24 orë, nga 0 në 23."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:20
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:20
msgid "Last alarm time"
msgstr "Ekzekutimi i fundit i alarmit"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:21
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:21
msgid "List of server urls for free/busy publishing."
msgstr "Lista e url të serverit për publikimin e informacioneve mbi disponibilitetin."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:22
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:22
msgid "Minute the workday ends on, 0 to 59"
msgstr "Minuta e përfundimit të ditës së punës, nga 0 në 59"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:23
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:23
msgid "Minute the workday starts on, 0 to 59."
msgstr "Minuta e fillimit të ditës së punës, nga 0 në 59."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:24
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:24
msgid "Month view horizontal pane position"
msgstr "Pozicioni i panelit horizontal të paraqitjes mujore"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:25
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:25
msgid "Month view vertical pane position"
msgstr "Pozicioni i panelit vertikal të paraqitjes mujore"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:26
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:26
msgid "Number of units for determining for a default reminder."
msgstr "Numri i njësive për përcaktimin e përkujtimin e prezgjedhur."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:27
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:27
msgid "Number of units for determining when to hide tasks."
msgstr "Numri i njësive për të përcaktuar se kur duhen fshehur aktivitetet."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:28
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:28
msgid "Overdue tasks color"
msgstr "Ngjyra e detyrave të skaduara"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:29
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:29
msgid ""
"Position of the horizontal pane, between the date navigator calendar and the "
"task list when not in the month view, in pixels."
@@ -4482,7 +4456,7 @@ msgstr ""
"Pozicioni i panelit horizontal, në pixel, midis eksploruesit data e "
"kalendarit dhe lista e detyrave, kur nuk ndodhesh tek paraqitja mujore."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:30
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:30
msgid ""
"Position of the horizontal pane, between the view and the date navigator "
"calendar and task list in the month view, in pixels."
@@ -4490,7 +4464,7 @@ msgstr ""
"Pozicioni i panelit horizontal, në pixel, midis eksploruesit data e "
"kalendarit dhe lista e detyrave, kur ndodhesh tek paraqitja mujore."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:31
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:31
msgid ""
"Position of the vertical pane, between task list and the task preview pane, "
"in pixels."
@@ -4498,7 +4472,7 @@ msgstr ""
"Pozicioni i panelit vertikal, në pixel, midis listës së detyrave dhe "
"dritares së pamjes së parë të detyrës."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:32
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:32
msgid ""
"Position of the vertical pane, between the view and the date navigator "
"calendar and task list in the month view, in pixels."
@@ -4506,7 +4480,7 @@ msgstr ""
"Pozicioni i panelit vertikal, në pixel, midis eksploruesit data e kalendarit "
"dhe lista e detyrave, kur ndodhesh tek paraqitja mujore."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:33
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:33
msgid ""
"Position of the vertical pane, between the view and the date navigator "
"calendar and task list when not in the month view, in pixels."
@@ -4514,31 +4488,31 @@ msgstr ""
"Pozicioni i panelit vertikal, në pixel, midis eksploruesit data e kalendarit "
"dhe lista e detyrave, kur nuk ndodhesh tek paraqitja mujore."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:34
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:34
msgid "Programs that are allowed to be run by alarms."
msgstr "Programe që lejohen të ekzekutohen nga alarmet."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:35
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:35
msgid "Show appointment end times in week and month views"
msgstr "Shfaq kohën e përfundimit të takimeve në paraqitjet javore dhe mujore"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:36
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:36
msgid "Show display alarms in notification tray"
msgstr "Shfaq alarmet tek zona e lajmërimeve"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:37
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:37
msgid "Show week numbers in date navigator"
msgstr "Shfaq numrat e javëve tek eksploruesi i datës"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:38
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:38
msgid "Tasks due today color"
msgstr "Ngjyra e detyrave që skadojnë sot"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:39
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:39
msgid "Tasks vertical pane position"
msgstr "Pozicioni i panelit vertikal të detyrave"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:40
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:40
msgid ""
"The default timezone to use for dates and times in the calendar, as an "
"untranslated Olsen timezone database location like \"America/New York\"."
@@ -4547,7 +4521,7 @@ msgstr ""
"kalendar, shprehur si lokalitet i papërkthyer i databazës Olsen të zonave "
"orare, për shembull \"Albania/Tirane\"."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:42
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:42
#, no-c-format
msgid ""
"The url template to use as a free/busy data fallback, %u is replaced by the "
@@ -4557,57 +4531,57 @@ msgstr ""
"zëvendësohet nga pjesa relative përdoruesit e adresës email, %d zëvendësohet "
"nga domain."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:43
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:43
msgid ""
"Time divisions</short> <short>Intervals shown in Day and Work Week views, in "
"minutes."
msgstr ""
-"Ndarja e kohës</short> <short>Intervalet, në minuta, e shfaqura në paraqitjet "
-"dita dhe java e punës."
+"Ndarja e kohës</short> <short>Intervalet, në minuta, e shfaqura në "
+"paraqitjet dita dhe java e punës."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:44
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:44
msgid "Time the last alarm ran, in time_t."
msgstr "Ora e ekzekutimit të alarmit të fundit, shprehur në time_t."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:45
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:45
msgid "Timezone"
msgstr "Zona orare "
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:46
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:46
msgid "Twenty four hour time format"
msgstr "Formati orar 24 orë"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:47
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:47
msgid "Units for a default reminder, \"minutes\", \"hours\" or \"days\"."
msgstr "Njësitë për përkujtuesin e prezgjedhur, \"minutes\", \"hours\" ose \"days\"."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:48
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:48
msgid "Units for determining when to hide tasks, \"minutes\", \"hours\" or \"days\"."
msgstr ""
"Njësitë për të përcaktuar kur duhen fshehur aktivitetet, \"minutes\", \"hours"
"\" ose \"days\"."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:50
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:50
msgid "Week start"
msgstr "Fillimi i javës"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:51
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:51
msgid "Weekday the week starts on, from Sunday (0) to Saturday (6)."
msgstr "Dita e javës e fillimit të javës, nga e Djelë (0) tek e Shtunë (6)."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:52
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:52
msgid "Whether or not to use the notification tray for display alarms."
msgstr "Nëse duhet përdorur apo jo sirtari i njoftimeve për të shfaqur alarmet."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:53
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:53
msgid "Whether to ask for confirmation when deleting an appointment or task."
msgstr "Nëse duhet kërkuar konfermimi kur eleminohet një takim apo detyrë."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:54
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:54
msgid "Whether to ask for confirmation when expunging appointments and tasks."
msgstr "Nëse duhet kërkuar konfermimi kur pastrohen takimet dhe detyrat."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:55
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:55
msgid ""
"Whether to compress weekends in the month view, which puts Saturday and "
"Sunday in the space of one weekday."
@@ -4615,80 +4589,78 @@ msgstr ""
"Tregon nëse duhet ngushtuar fundi i javës tek paraqitja mujore, d.m.th. nëse "
"duhen vendosur e Shtuna dhe e Djela në hapësirën e një dite."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:56
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:56
msgid "Whether to display the end time of events in the week and month views."
msgstr ""
"Tregon nëse duhet shfaqur përfundimi i ndodhive tek paraqitjet javore dhe "
"mujore."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:57
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:57
msgid "Whether to hide completed tasks in the tasks view."
msgstr "Tregon nëse duhen fshehur aktivitetet e plotësuara tek paraqitja e detyrave."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:58
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:58
msgid "Whether to set a default reminder for appointments."
msgstr "Tregon nëse duhet vendosur një përkujtues të prezgjedhur për takimet."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:59
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:59
msgid "Whether to show times in twenty four hour format instead of using am/pm."
msgstr ""
"Tregon nëse duhet shfaqur koha në formatin orar me 24 orë apo duke përdorur "
"pd/md."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:60
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:60
msgid "Whether to show week numbers in the date navigator."
msgstr "Tregon nëse duhet shfaqur numrat e javëve tek eksploruesi i datave."
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:61
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:61
msgid "Work days"
msgstr "Ditët e punës"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:62
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:62
msgid "Workday end hour"
msgstr "Ora e përfundimit të ditës së punës"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:63
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:63
msgid "Workday end minute"
msgstr "Minuta e përfundimit të ditës së punës"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:64
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:64
msgid "Workday start hour"
msgstr "Ora e fillimit të ditës së punës"
-#: ../calendar/gui/apps_evolution_calendar.schemas.in.in.h:65
+#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:65
msgid "Workday start minute"
msgstr "Minuta e fillimit të ditës së punës"
-#: ../calendar/gui/cal-search-bar.c:49
+#: calendar/gui/cal-search-bar.c:49
msgid "Summary contains"
msgstr "Përmbledhja përmban"
-#: ../calendar/gui/cal-search-bar.c:50
+#: calendar/gui/cal-search-bar.c:50
msgid "Description contains"
msgstr "Përshkrimi përmban"
-#: ../calendar/gui/cal-search-bar.c:51
+#: calendar/gui/cal-search-bar.c:51
msgid "Comment contains"
msgstr "Komenti përmban"
-#: ../calendar/gui/cal-search-bar.c:52
+#: calendar/gui/cal-search-bar.c:52
msgid "Location contains"
msgstr "Vendodhja përmban"
-#: ../calendar/gui/cal-search-bar.c:350
+#: calendar/gui/cal-search-bar.c:350
msgid "Unmatched"
msgstr "Jo korrispondues"
-#: ../calendar/gui/calendar-commands.c:120
-#: ../calendar/gui/calendar-component.c:708
-#: ../calendar/gui/dialogs/calendar-setup.c:362
-#: ../calendar/gui/gnome-cal.c:1942
-#: ../plugins/groupwise-account-setup/camel-gw-listener.c:382
-#: ../plugins/groupwise-account-setup/camel-gw-listener.c:412
+#: calendar/gui/calendar-commands.c:120 calendar/gui/calendar-component.c:708
+#: calendar/gui/dialogs/calendar-setup.c:362 calendar/gui/gnome-cal.c:1942
+#: plugins/groupwise-account-setup/camel-gw-listener.c:382
+#: plugins/groupwise-account-setup/camel-gw-listener.c:412
msgid "Calendar"
msgstr "Kalendari"
-#: ../calendar/gui/calendar-commands.c:355
+#: calendar/gui/calendar-commands.c:355
msgid ""
"This operation will permanently erase all events older than the selected "
"amount of time. If you continue, you will not be able to recover these "
@@ -4698,1137 +4670,1126 @@ msgstr ""
"e kohës së përcaktuar. Nëse vazhdoni, nuk mund t'i rekuperoni më këto "
"ngjarje."
-#: ../calendar/gui/calendar-commands.c:361
+#: calendar/gui/calendar-commands.c:361
msgid "Purge events older than"
msgstr "Elemino ngjarjet më të vjetra se"
-#: ../calendar/gui/calendar-commands.c:366
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:20
-#: ../calendar/gui/dialogs/calendar-setup.glade.h:12
-#: ../filter/filter.glade.h:14 ../plugins/calendar-http/calendar-http.c:265
-#: ../plugins/calendar-weather/calendar-weather.c:566
-#: ../widgets/misc/e-send-options.glade.h:39
+#: calendar/gui/calendar-commands.c:366
+#: calendar/gui/dialogs/alarm-dialog.glade.h:20
+#: calendar/gui/dialogs/calendar-setup.glade.h:12 filter/filter.glade.h:14
+#: plugins/calendar-http/calendar-http.c:265
+#: plugins/calendar-weather/calendar-weather.c:566
+#: widgets/misc/e-send-options.glade.h:39
msgid "days"
msgstr "ditë"
#. Create the On the web source group
#. Create the Webcal source group
#. Create the LDAP source group
-#: ../calendar/gui/calendar-component.c:223 ../calendar/gui/migration.c:486
-#: ../calendar/gui/migration.c:579 ../calendar/gui/tasks-component.c:204
+#: calendar/gui/calendar-component.c:223 calendar/gui/migration.c:486
+#: calendar/gui/migration.c:579 calendar/gui/tasks-component.c:204
msgid "On The Web"
msgstr "Në web"
-#: ../calendar/gui/calendar-component.c:241 ../calendar/gui/migration.c:388
+#: calendar/gui/calendar-component.c:241 calendar/gui/migration.c:388
msgid "Birthdays & Anniversaries"
msgstr "Ditlindje & Përvjetorë"
#. Create the weather group
-#: ../calendar/gui/calendar-component.c:247
-#: ../plugins/calendar-weather/calendar-weather.c:100
+#: calendar/gui/calendar-component.c:247
+#: plugins/calendar-weather/calendar-weather.c:100
msgid "Weather"
msgstr "Koha"
-#: ../calendar/gui/calendar-component.c:524
-#: ../calendar/gui/dialogs/calendar-setup.c:442
+#: calendar/gui/calendar-component.c:524
+#: calendar/gui/dialogs/calendar-setup.c:442
msgid "New Calendar"
msgstr "Kalendar i Ri"
-#: ../calendar/gui/calendar-component.c:843
+#: calendar/gui/calendar-component.c:843
msgid "Failed upgrading calendars."
msgstr "Rifreskimi i kalendarëve dështoi."
-#: ../calendar/gui/calendar-component.c:1139
+#: calendar/gui/calendar-component.c:1139
#, c-format
msgid "Unable to open the calendar '%s' for creating events and meetings"
msgstr "E pamundur hapja e kalendarit '%s' për të krijuar ngjarje dhe takime"
-#: ../calendar/gui/calendar-component.c:1155
+#: calendar/gui/calendar-component.c:1155
msgid "There is no calendar available for creating events and meetings"
msgstr "Asnjë kalendar në dispozicion për të krijuar ngjarje dhe takime"
-#: ../calendar/gui/calendar-component.c:1265
+#: calendar/gui/calendar-component.c:1265
msgid "Calendar Source Selector"
msgstr "Zgjedhësi i origjinës së kalendarit"
-#: ../calendar/gui/calendar-component.c:1456
+#: calendar/gui/calendar-component.c:1456
msgid "New appointment"
msgstr "Takim i ri"
-#: ../calendar/gui/calendar-component.c:1457
+#: calendar/gui/calendar-component.c:1457
msgid "_Appointment"
msgstr "_Takim"
-#: ../calendar/gui/calendar-component.c:1458
+#: calendar/gui/calendar-component.c:1458
msgid "Create a new appointment"
msgstr "Krijo një takim të ri"
-#: ../calendar/gui/calendar-component.c:1464
+#: calendar/gui/calendar-component.c:1464
msgid "New meeting"
msgstr "Mbledhje e re"
-#: ../calendar/gui/calendar-component.c:1465
+#: calendar/gui/calendar-component.c:1465
msgid "M_eeting"
msgstr "Mbl_edhje"
-#: ../calendar/gui/calendar-component.c:1466
+#: calendar/gui/calendar-component.c:1466
msgid "Create a new meeting request"
msgstr "Krijo një kërkesë të re për mbledhje"
-#: ../calendar/gui/calendar-component.c:1472
+#: calendar/gui/calendar-component.c:1472
msgid "New all day appointment"
msgstr "Takim i ri i përditshëm"
-#: ../calendar/gui/calendar-component.c:1473
+#: calendar/gui/calendar-component.c:1473
msgid "All Day A_ppointment"
msgstr "Takim i _Përditshëm"
-#: ../calendar/gui/calendar-component.c:1474
+#: calendar/gui/calendar-component.c:1474
msgid "Create a new all-day appointment"
msgstr "Krijo një takim të ri të përditshëm"
-#: ../calendar/gui/calendar-component.c:1480
+#: calendar/gui/calendar-component.c:1480
msgid "New calendar"
msgstr "Kalendar i ri"
-#: ../calendar/gui/calendar-component.c:1481
+#: calendar/gui/calendar-component.c:1481
msgid "Cale_ndar"
msgstr "Kale_ndari"
-#: ../calendar/gui/calendar-component.c:1482
+#: calendar/gui/calendar-component.c:1482
msgid "Create a new calendar"
msgstr "Krijo një kalendar të ri"
-#: ../calendar/gui/calendar-view-factory.c:109
+#: calendar/gui/calendar-view-factory.c:109
msgid "Day View"
msgstr "Paraqitja ditore"
-#: ../calendar/gui/calendar-view-factory.c:112
+#: calendar/gui/calendar-view-factory.c:112
msgid "Work Week View"
msgstr "Paraqitja e javës së punës"
-#: ../calendar/gui/calendar-view-factory.c:115
+#: calendar/gui/calendar-view-factory.c:115
msgid "Week View"
msgstr "Paraqitja javore"
-#: ../calendar/gui/calendar-view-factory.c:118
+#: calendar/gui/calendar-view-factory.c:118
msgid "Month View"
msgstr "Paraqitja mujore"
-#: ../calendar/gui/comp-editor-factory.c:413
+#: calendar/gui/comp-editor-factory.c:413
msgid "Error while opening the calendar"
msgstr "Gabim gjatë hapjes së kalendarit"
-#: ../calendar/gui/comp-editor-factory.c:419
+#: calendar/gui/comp-editor-factory.c:419
msgid "Method not supported when opening the calendar"
msgstr "Metodë e pasuportuar gjatë hapjes së kalendarit"
-#: ../calendar/gui/comp-editor-factory.c:425
+#: calendar/gui/comp-editor-factory.c:425
msgid "Permission denied to open the calendar"
msgstr "Nuk ke të drejtë të hapësh kalendarin"
-#: ../calendar/gui/comp-editor-factory.c:437 ../shell/e-shell.c:1264
+#: calendar/gui/comp-editor-factory.c:437 shell/e-shell.c:1264
msgid "Unknown error"
msgstr "Gabim i panjohur"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:1
+#: calendar/gui/dialogs/alarm-dialog.glade.h:1
msgid "<b>Alarm</b>"
msgstr "<b>Alarm</b>"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:2
+#: calendar/gui/dialogs/alarm-dialog.glade.h:2
msgid "<b>Options</b>"
msgstr "<b>Mundësi</b>"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:3
+#: calendar/gui/dialogs/alarm-dialog.glade.h:3
msgid "<b>Repeat</b>"
msgstr "<b>Përsërite</b>"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:4
+#: calendar/gui/dialogs/alarm-dialog.glade.h:4
msgid "Add Alarm"
msgstr "Shto Alarm"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:5
+#: calendar/gui/dialogs/alarm-dialog.glade.h:5
msgid "Custom _message"
msgstr "_Mesazhi i personalizuar"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:6
+#: calendar/gui/dialogs/alarm-dialog.glade.h:6
msgid "Custom alarm sound"
msgstr "Tingulli i personalizuar i alarmit"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:7
+#: calendar/gui/dialogs/alarm-dialog.glade.h:7
msgid "Mes_sage:"
msgstr "Me_sazhi:"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:8
-#: ../calendar/gui/e-alarm-list.c:444
+#: calendar/gui/dialogs/alarm-dialog.glade.h:8 calendar/gui/e-alarm-list.c:444
msgid "Play a sound"
msgstr "Lësho një tingull"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:9
-#: ../calendar/gui/e-alarm-list.c:448
+#: calendar/gui/dialogs/alarm-dialog.glade.h:9 calendar/gui/e-alarm-list.c:448
msgid "Pop up an alert"
msgstr "Shfaq një thirrje"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:10
-#: ../calendar/gui/e-alarm-list.c:456
+#: calendar/gui/dialogs/alarm-dialog.glade.h:10
+#: calendar/gui/e-alarm-list.c:456
msgid "Run a program"
msgstr "Ekzekuto një program"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:11
+#: calendar/gui/dialogs/alarm-dialog.glade.h:11
msgid "Send To:"
msgstr "Dërgo tek:"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:12
-#: ../calendar/gui/e-alarm-list.c:452
+#: calendar/gui/dialogs/alarm-dialog.glade.h:12
+#: calendar/gui/e-alarm-list.c:452
msgid "Send an email"
msgstr "Dërgo një email"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:13
+#: calendar/gui/dialogs/alarm-dialog.glade.h:13
msgid "_Arguments:"
msgstr "_Argumente:"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:14
+#: calendar/gui/dialogs/alarm-dialog.glade.h:14
msgid "_Program:"
msgstr "_Programi:"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:15
+#: calendar/gui/dialogs/alarm-dialog.glade.h:15
msgid "_Repeat the alarm"
msgstr "_Përsërit alarmin"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:16
+#: calendar/gui/dialogs/alarm-dialog.glade.h:16
msgid "_Sound:"
msgstr "_Tingulli:"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:17
+#: calendar/gui/dialogs/alarm-dialog.glade.h:17
msgid "after"
msgstr "mbas"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:18
+#: calendar/gui/dialogs/alarm-dialog.glade.h:18
msgid "before"
msgstr "përpara"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:19
-#: ../calendar/gui/dialogs/recurrence-page.glade.h:7
+#: calendar/gui/dialogs/alarm-dialog.glade.h:19
+#: calendar/gui/dialogs/recurrence-page.glade.h:7
msgid "day(s)"
msgstr "ditë"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:21
+#: calendar/gui/dialogs/alarm-dialog.glade.h:21
msgid "end of appointment"
msgstr "fundit të takimit"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:22
+#: calendar/gui/dialogs/alarm-dialog.glade.h:22
msgid "extra times every"
msgstr "kohë më tepër çdo"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:23
+#: calendar/gui/dialogs/alarm-dialog.glade.h:23
msgid "hour(s)"
msgstr "orë"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:24
-#: ../calendar/gui/dialogs/calendar-setup.glade.h:13
-#: ../filter/filter.glade.h:15 ../plugins/calendar-http/calendar-http.c:264
-#: ../plugins/calendar-weather/calendar-weather.c:565
+#: calendar/gui/dialogs/alarm-dialog.glade.h:24
+#: calendar/gui/dialogs/calendar-setup.glade.h:13 filter/filter.glade.h:15
+#: plugins/calendar-http/calendar-http.c:264
+#: plugins/calendar-weather/calendar-weather.c:565
msgid "hours"
msgstr "orë"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:25
+#: calendar/gui/dialogs/alarm-dialog.glade.h:25
msgid "minute(s)"
msgstr "minutë(a)"
-#: ../calendar/gui/dialogs/alarm-dialog.glade.h:27
+#: calendar/gui/dialogs/alarm-dialog.glade.h:27
msgid "start of appointment"
msgstr "fillimit të takimit"
-#: ../calendar/gui/dialogs/alarm-list-dialog.c:199
+#: calendar/gui/dialogs/alarm-list-dialog.c:199
msgid "Action/Trigger"
msgstr "Veprimi"
-#: ../calendar/gui/dialogs/alarm-list-dialog.glade.h:1
+#: calendar/gui/dialogs/alarm-list-dialog.glade.h:1
msgid "A_dd"
msgstr "Sh_to"
-#: ../calendar/gui/dialogs/alarm-list-dialog.glade.h:2
+#: calendar/gui/dialogs/alarm-list-dialog.glade.h:2
msgid "Alarms"
msgstr "Alarme"
-#: ../calendar/gui/dialogs/cal-attachment-bar.c:108
-#: ../composer/e-msg-composer-attachment-bar.c:103
+#: calendar/gui/dialogs/cal-attachment-bar.c:108
+#: composer/e-msg-composer-attachment-bar.c:103
#, c-format
msgid "%.0fK"
msgstr "%.0fK"
-#: ../calendar/gui/dialogs/cal-attachment-bar.c:111
-#: ../composer/e-msg-composer-attachment-bar.c:106
+#: calendar/gui/dialogs/cal-attachment-bar.c:111
+#: composer/e-msg-composer-attachment-bar.c:106
#, c-format
msgid "%.0fM"
msgstr "%.0fM"
-#: ../calendar/gui/dialogs/cal-attachment-bar.c:114
-#: ../composer/e-msg-composer-attachment-bar.c:109
+#: calendar/gui/dialogs/cal-attachment-bar.c:114
+#: composer/e-msg-composer-attachment-bar.c:109
#, c-format
msgid "%.0fG"
msgstr "%.0fG"
-#: ../calendar/gui/dialogs/cal-attachment-bar.c:298
-#: ../calendar/gui/dialogs/cal-attachment-bar.c:922
-#: ../composer/e-msg-composer-attachment-bar.c:295 ../mail/em-utils.c:436
+#: calendar/gui/dialogs/cal-attachment-bar.c:298
+#: calendar/gui/dialogs/cal-attachment-bar.c:922
+#: composer/e-msg-composer-attachment-bar.c:295 mail/em-utils.c:436
msgid "attachment"
msgstr "bashkangjitur"
-#: ../calendar/gui/dialogs/cal-attachment-bar.c:439
-#: ../calendar/gui/dialogs/meeting-page.c:781
-#: ../composer/e-msg-composer-attachment-bar.c:437
-#: ../plugins/shared-folder/properties.glade.h:14
+#: calendar/gui/dialogs/cal-attachment-bar.c:439
+#: calendar/gui/dialogs/meeting-page.c:781
+#: composer/e-msg-composer-attachment-bar.c:437
+#: plugins/shared-folder/properties.glade.h:14
msgid "_Remove"
msgstr "_Hiq"
-#: ../calendar/gui/dialogs/cal-attachment-bar.c:440
-#: ../composer/e-msg-composer-attachment-bar.c:438
-#: ../mail/em-folder-tree.c:2818 ../ui/evolution-mail-list.xml.h:27
+#: calendar/gui/dialogs/cal-attachment-bar.c:440
+#: composer/e-msg-composer-attachment-bar.c:438 mail/em-folder-tree.c:2818
+#: ui/evolution-mail-list.xml.h:27
msgid "_Properties"
msgstr "_Pronësitë"
-#: ../calendar/gui/dialogs/cal-attachment-bar.c:442
-#: ../composer/e-msg-composer-attachment-bar.c:440
+#: calendar/gui/dialogs/cal-attachment-bar.c:442
+#: composer/e-msg-composer-attachment-bar.c:440
msgid "_Add attachment..."
msgstr "_Shto të bashkangjitur..."
-#: ../calendar/gui/dialogs/cal-attachment-bar.c:699
-#: ../composer/e-msg-composer-attachment-bar.c:703
+#: calendar/gui/dialogs/cal-attachment-bar.c:699
+#: composer/e-msg-composer-attachment-bar.c:703
msgid "Attachment Bar"
msgstr "Shtylla e bashkangjitjes"
-#: ../calendar/gui/dialogs/cal-attachment-select-file.c:96
-#: ../calendar/gui/dialogs/cal-attachment-select-file.c:115
-#: ../calendar/gui/dialogs/cal-attachment.glade.h:6
-#: ../composer/e-msg-composer-attachment.glade.h:6
-#: ../composer/e-msg-composer-select-file.c:95
-#: ../composer/e-msg-composer-select-file.c:115
+#: calendar/gui/dialogs/cal-attachment-select-file.c:96
+#: calendar/gui/dialogs/cal-attachment-select-file.c:115
+#: calendar/gui/dialogs/cal-attachment.glade.h:6
+#: composer/e-msg-composer-attachment.glade.h:6
+#: composer/e-msg-composer-select-file.c:95
+#: composer/e-msg-composer-select-file.c:115
msgid "Suggest automatic display of attachment"
msgstr "Preferohet paraqitja automatike e të bashkangjiturve"
-#: ../calendar/gui/dialogs/cal-attachment-select-file.c:190
-#: ../composer/e-msg-composer-select-file.c:231
+#: calendar/gui/dialogs/cal-attachment-select-file.c:190
+#: composer/e-msg-composer-select-file.c:231
msgid "Attach file(s)"
msgstr "Bashkangjit file(s)"
-#: ../calendar/gui/dialogs/cal-attachment.c:197
-#: ../calendar/gui/dialogs/cal-attachment.c:213
-#: ../composer/e-msg-composer-attachment.c:174
-#: ../composer/e-msg-composer-attachment.c:190
+#: calendar/gui/dialogs/cal-attachment.c:197
+#: calendar/gui/dialogs/cal-attachment.c:213
+#: composer/e-msg-composer-attachment.c:174
+#: composer/e-msg-composer-attachment.c:190
#, c-format
msgid "Cannot attach file %s: %s"
msgstr "Bashkangjitja e file %s është e pamundur: %s"
-#: ../calendar/gui/dialogs/cal-attachment.c:205
-#: ../composer/e-msg-composer-attachment.c:182
+#: calendar/gui/dialogs/cal-attachment.c:205
+#: composer/e-msg-composer-attachment.c:182
#, c-format
msgid "Cannot attach file %s: not a regular file"
msgstr "Bashkangjitja e file %s është e pamundur: nuk është një file i rregullt"
-#: ../calendar/gui/dialogs/cal-attachment.glade.h:2
-#: ../composer/e-msg-composer-attachment.glade.h:2
+#: calendar/gui/dialogs/cal-attachment.glade.h:2
+#: composer/e-msg-composer-attachment.glade.h:2
msgid "Attachment Properties"
msgstr "Pronësitë e të bashkangjiturit"
-#: ../calendar/gui/dialogs/cal-attachment.glade.h:3
-#: ../calendar/gui/e-cal-component-preview.c:267
-#: ../calendar/gui/e-itip-control.c:1164
-#: ../calendar/gui/e-itip-control.glade.h:6
-#: ../composer/e-msg-composer-attachment.glade.h:3
-#: ../mail/mail-config.glade.h:68
+#: calendar/gui/dialogs/cal-attachment.glade.h:3
+#: calendar/gui/e-cal-component-preview.c:267
+#: calendar/gui/e-itip-control.c:1164 calendar/gui/e-itip-control.glade.h:6
+#: composer/e-msg-composer-attachment.glade.h:3 mail/mail-config.glade.h:68
msgid "Description:"
msgstr "Përshkrimi:"
-#: ../calendar/gui/dialogs/cal-attachment.glade.h:4
-#: ../composer/e-msg-composer-attachment.glade.h:4
+#: calendar/gui/dialogs/cal-attachment.glade.h:4
+#: composer/e-msg-composer-attachment.glade.h:4
msgid "File name:"
msgstr "Emri i file:"
-#: ../calendar/gui/dialogs/cal-attachment.glade.h:5
-#: ../composer/e-msg-composer-attachment.glade.h:5
+#: calendar/gui/dialogs/cal-attachment.glade.h:5
+#: composer/e-msg-composer-attachment.glade.h:5
msgid "MIME type:"
msgstr "Lloji MIME:"
#. g_object_set((GObject *)renderer, "activatable", TRUE, NULL);
-#: ../calendar/gui/dialogs/cal-prefs-dialog.c:576
-#: ../mail/em-account-prefs.c:476 ../mail/em-composer-prefs.c:888
-#: ../plugins/plugin-manager/plugin-manager.c:213
+#: calendar/gui/dialogs/cal-prefs-dialog.c:576 mail/em-account-prefs.c:476
+#: mail/em-composer-prefs.c:888 plugins/plugin-manager/plugin-manager.c:213
msgid "Enabled"
msgstr "Aktiv"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.c:730
+#: calendar/gui/dialogs/cal-prefs-dialog.c:730
msgid "Are you sure you want to remove this URL?"
msgstr "Jeni i sigurt që dëshiron të eleminosh këtë URL?"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.c:733
+#: calendar/gui/dialogs/cal-prefs-dialog.c:733
msgid "Remove"
msgstr "Hiq"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.c:738
+#: calendar/gui/dialogs/cal-prefs-dialog.c:738
msgid "Don't Remove"
msgstr "Mos e hiq"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.c:787
-#: ../calendar/gui/dialogs/cal-prefs-dialog.c:820
-#: ../calendar/gui/dialogs/cal-prefs-dialog.c:853
-#: ../mail/em-account-prefs.c:323 ../mail/em-account-prefs.c:351
-#: ../mail/em-account-prefs.c:382
+#: calendar/gui/dialogs/cal-prefs-dialog.c:787
+#: calendar/gui/dialogs/cal-prefs-dialog.c:820
+#: calendar/gui/dialogs/cal-prefs-dialog.c:853 mail/em-account-prefs.c:323
+#: mail/em-account-prefs.c:351 mail/em-account-prefs.c:382
msgid "Disable"
msgstr "Ç'aktivo"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.c:787
-#: ../calendar/gui/dialogs/cal-prefs-dialog.c:820
-#: ../calendar/gui/dialogs/cal-prefs-dialog.c:855
-#: ../mail/em-account-prefs.c:323 ../mail/em-account-prefs.c:351
-#: ../mail/em-account-prefs.c:384
+#: calendar/gui/dialogs/cal-prefs-dialog.c:787
+#: calendar/gui/dialogs/cal-prefs-dialog.c:820
+#: calendar/gui/dialogs/cal-prefs-dialog.c:855 mail/em-account-prefs.c:323
+#: mail/em-account-prefs.c:351 mail/em-account-prefs.c:384
msgid "Enable"
msgstr "Aktivo"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:2
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:2
msgid "05 minutes"
msgstr "05 minuta"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:3
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:3
msgid "10 minutes"
msgstr "10 minuta"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:4
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:4
msgid "15 minutes"
msgstr "15 minuta"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:5
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:5
msgid "30 minutes"
msgstr "30 minuta"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:6
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:6
msgid "60 minutes"
msgstr "60 minuta"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:7
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:7
msgid "<b>Alerts</b>"
msgstr "<b>Alarme</b>"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:8
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:8
msgid "<b>Default Free/Busy Server</b>"
msgstr "<b>Serveri i prezgjedhur i disponibilitetit</b>"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:9
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:9
msgid "<b>General</b>"
msgstr "<b>Të përgjithshme</b>"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:10
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:10
msgid "<b>Publishing</b>"
msgstr "<b>Publikim</b>"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:11
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:11
msgid "<b>Task List</b>"
msgstr "<b>Lista e aktiviteteve</b>"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:12
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:12
msgid "<b>Time</b>"
msgstr "<b>Koha</b>"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:13
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:13
msgid "<b>Work Week</b>"
msgstr "<b>Java punuese</b>"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:15
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:15
#, no-c-format
msgid "<i>%u and %d will be replaced by user and domain from the email address.</i>"
msgstr ""
"<i>%u dhe %d do të zëvendësohen me përdoruesin dhe domain nga adresa email.</"
"i>"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:16
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:16
msgid "Calendar and Tasks Settings"
msgstr "Konfigurimi i kalendarit dhe aktiviteteve"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:17
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:17
msgid "Color for overdue tasks"
msgstr "Ngjyra për aktivitetet e skaduara"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:18
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:18
msgid "Color for tasks due today"
msgstr "Ngjyra për aktivitetet e sotme"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:19
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:19
msgid "Day _ends:"
msgstr "Funde dit_e:"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:20
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:20
msgid "Days"
msgstr "Ditë"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:21
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:21
msgid "Display"
msgstr "Shfaq"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:22
-#: ../mail/mail-config.glade.h:73
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:22
+#: mail/mail-config.glade.h:73
msgid "E_nable"
msgstr "A_ktivo"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:23
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:23
msgid "Free/Busy"
msgstr "I lirë/zënë"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:24
-#: ../calendar/gui/dialogs/recurrence-page.c:1044
-#: ../calendar/gui/e-itip-control.c:732
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:24
+#: calendar/gui/dialogs/recurrence-page.c:1044
+#: calendar/gui/e-itip-control.c:732
msgid "Friday"
msgstr "E premte"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:26
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:26
msgid "Hours"
msgstr "Orë"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:27
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:27
msgid "Minutes"
msgstr "Minuta"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:28
-#: ../calendar/gui/dialogs/recurrence-page.c:1040
-#: ../calendar/gui/e-itip-control.c:728
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:28
+#: calendar/gui/dialogs/recurrence-page.c:1040
+#: calendar/gui/e-itip-control.c:728
msgid "Monday"
msgstr "E hënë"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:29
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:29
msgid "S_un"
msgstr "D_ie"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:30
-#: ../calendar/gui/dialogs/recurrence-page.c:1045
-#: ../calendar/gui/e-itip-control.c:733
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:30
+#: calendar/gui/dialogs/recurrence-page.c:1045
+#: calendar/gui/e-itip-control.c:733
msgid "Saturday"
msgstr "E shtunë"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:31
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:31
msgid "Sh_ow a reminder"
msgstr "Sh_faq një përkujtues"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:32
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:32
msgid "Show week _numbers in date navigator"
msgstr "Shfaq _numrat e javëve"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:33
-#: ../calendar/gui/dialogs/recurrence-page.c:1046
-#: ../calendar/gui/e-itip-control.c:727
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:33
+#: calendar/gui/dialogs/recurrence-page.c:1046
+#: calendar/gui/e-itip-control.c:727
msgid "Sunday"
msgstr "E djelë"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:34
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:34
msgid "T_asks due today:"
msgstr "A_ktivitetet për ditën e sotme:"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:35
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:35
msgid "T_hu"
msgstr "E_nj"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:36
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:36
msgid "Template:"
msgstr "Modeli:"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:37
-#: ../calendar/gui/dialogs/recurrence-page.c:1043
-#: ../calendar/gui/e-itip-control.c:731
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:37
+#: calendar/gui/dialogs/recurrence-page.c:1043
+#: calendar/gui/e-itip-control.c:731
msgid "Thursday"
msgstr "E enjte"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:38
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:38
msgid "Time _zone:"
msgstr "Zona e orës:"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:39
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:39
msgid "Time format:"
msgstr "Formati i orës:"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:40
-#: ../calendar/gui/dialogs/recurrence-page.c:1041
-#: ../calendar/gui/e-itip-control.c:729
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:40
+#: calendar/gui/dialogs/recurrence-page.c:1041
+#: calendar/gui/e-itip-control.c:729
msgid "Tuesday"
msgstr "E martë"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:41
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:41
msgid "W_eek starts:"
msgstr "Fillim jav_e:"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:42
-#: ../calendar/gui/dialogs/recurrence-page.c:1042
-#: ../calendar/gui/e-itip-control.c:730
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:42
+#: calendar/gui/dialogs/recurrence-page.c:1042
+#: calendar/gui/e-itip-control.c:730
msgid "Wednesday"
msgstr "E mërkurë"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:43
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:43
msgid "Work days:"
msgstr "Ditët e punës:"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:44
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:44
msgid "_12 hour (AM/PM)"
msgstr "_12 orë (AM/PM)"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:45
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:45
msgid "_24 hour"
msgstr "_24 orë"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:46
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:46
msgid "_Add URL"
msgstr "_Shto URL"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:47
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:47
msgid "_Ask for confirmation when deleting items"
msgstr "_Kërko konfermimin para se të eleminosh elementët"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:48
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:48
msgid "_Compress weekends in month view"
msgstr "_Kompreso fundjavën tek paraqitja mujore"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:49
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:49
msgid "_Day begins:"
msgstr "Fillimi i _ditës:"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:51
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:51
msgid "_Fri"
msgstr "_Pre"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:52
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:52
msgid "_Hide completed tasks after"
msgstr "_Fshih aktivitetet e plotësuara mbas"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:53
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:53
msgid "_Mon"
msgstr "_Hën"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:54
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:54
msgid "_Overdue tasks:"
msgstr "_Aktivitete të skaduara:"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:55
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:55
msgid "_Sat"
msgstr "_Sht"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:56
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:56
msgid "_Show appointment end times in week and month views"
msgstr "_Shfaq skadimet e takimeve tek paraqitjet javore dhe mujore"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:57
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:57
msgid "_Time divisions:"
msgstr "Ndarja e _kohës:"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:58
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:58
msgid "_Tue"
msgstr "_Mar"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:59
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:59
msgid "_Wed"
msgstr "_Mër"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:60
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:60
msgid "before every appointment"
msgstr "para çdo takimi"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:61
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:61
msgid "option menu to choose reminder units"
msgstr "menu opcionesh për të zgjedhur njësitë e përkujtuesit"
-#: ../calendar/gui/dialogs/cal-prefs-dialog.glade.h:62
+#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:62
msgid "option menu to choose time units"
msgstr "menu opcionesh për të zgjedhur njësitë e kohës"
-#: ../calendar/gui/dialogs/calendar-setup.c:284
+#: calendar/gui/dialogs/calendar-setup.c:284
msgid "Copy calendar contents locally for offline operation"
msgstr "Kopjo në lokale përmbajtjen e kartelës për veprime jashtë linje"
-#: ../calendar/gui/dialogs/calendar-setup.c:336
-#: ../calendar/gui/dialogs/calendar-setup.glade.h:4
+#: calendar/gui/dialogs/calendar-setup.c:336
+#: calendar/gui/dialogs/calendar-setup.glade.h:4
msgid "C_olor:"
msgstr "Ngjyr_a:"
-#: ../calendar/gui/dialogs/calendar-setup.c:373
+#: calendar/gui/dialogs/calendar-setup.c:373
msgid "Tasks List"
msgstr "Lista e detyrave"
-#: ../calendar/gui/dialogs/calendar-setup.c:440
+#: calendar/gui/dialogs/calendar-setup.c:440
msgid "Calendar Properties"
msgstr "Pronësitë e kalendarit"
-#: ../calendar/gui/dialogs/calendar-setup.c:506
+#: calendar/gui/dialogs/calendar-setup.c:506
msgid "Task List Properties"
msgstr "Pronësitë e listës së detyrave"
-#: ../calendar/gui/dialogs/calendar-setup.glade.h:2
+#: calendar/gui/dialogs/calendar-setup.glade.h:2
msgid "Add Calendar"
msgstr "Shto një Kalendar"
-#: ../calendar/gui/dialogs/calendar-setup.glade.h:3
+#: calendar/gui/dialogs/calendar-setup.glade.h:3
msgid "Add Task List"
msgstr "Shto një Listë Aktivitetesh"
-#: ../calendar/gui/dialogs/calendar-setup.glade.h:5
-#: ../mail/mail-config.glade.h:102
+#: calendar/gui/dialogs/calendar-setup.glade.h:5 mail/mail-config.glade.h:102
msgid "Pick a color"
msgstr "Zgjidh një ngjyrë"
-#: ../calendar/gui/dialogs/calendar-setup.glade.h:6
+#: calendar/gui/dialogs/calendar-setup.glade.h:6
msgid "_Add Calendar"
msgstr "_Shto një Kalendar"
-#: ../calendar/gui/dialogs/calendar-setup.glade.h:7
+#: calendar/gui/dialogs/calendar-setup.glade.h:7
msgid "_Add Task List"
msgstr "_Shto një Listë Aktivitetesh"
-#: ../calendar/gui/dialogs/calendar-setup.glade.h:9
-#: ../plugins/calendar-http/calendar-http.c:248
-#: ../plugins/calendar-weather/calendar-weather.c:549
+#: calendar/gui/dialogs/calendar-setup.glade.h:9
+#: plugins/calendar-http/calendar-http.c:248
+#: plugins/calendar-weather/calendar-weather.c:549
msgid "_Refresh:"
msgstr "_Rifreskimi:"
-#: ../calendar/gui/dialogs/calendar-setup.glade.h:11
-#: ../plugins/calendar-http/calendar-http.c:120
+#: calendar/gui/dialogs/calendar-setup.glade.h:11
+#: plugins/calendar-http/calendar-http.c:120
msgid "_URL:"
msgstr "_URL:"
-#: ../calendar/gui/dialogs/calendar-setup.glade.h:15
-#: ../filter/filter.glade.h:21 ../plugins/calendar-http/calendar-http.c:266
-#: ../plugins/calendar-weather/calendar-weather.c:567
+#: calendar/gui/dialogs/calendar-setup.glade.h:15 filter/filter.glade.h:21
+#: plugins/calendar-http/calendar-http.c:266
+#: plugins/calendar-weather/calendar-weather.c:567
msgid "weeks"
msgstr "javë"
-#: ../calendar/gui/dialogs/changed-comp.c:60
+#: calendar/gui/dialogs/changed-comp.c:60
msgid "This event has been deleted."
msgstr "Kjo ngjarje u eleminua."
-#: ../calendar/gui/dialogs/changed-comp.c:64
+#: calendar/gui/dialogs/changed-comp.c:64
msgid "This task has been deleted."
msgstr "Ky aktivitet u eleminua."
-#: ../calendar/gui/dialogs/changed-comp.c:68
+#: calendar/gui/dialogs/changed-comp.c:68
msgid "This journal entry has been deleted."
msgstr "Ky zë u eleminua."
-#: ../calendar/gui/dialogs/changed-comp.c:77
+#: calendar/gui/dialogs/changed-comp.c:77
#, c-format
msgid "%s You have made changes. Forget those changes and close the editor?"
msgstr "%s Keni kryer ndryshime. T'i harrojmë ndryshimet dhe të mbyll editorin?"
-#: ../calendar/gui/dialogs/changed-comp.c:79
+#: calendar/gui/dialogs/changed-comp.c:79
#, c-format
msgid "%s You have made no changes, close the editor?"
msgstr "%s Nuk keni kryer ndryshime, mbyll editorin?"
-#: ../calendar/gui/dialogs/changed-comp.c:84
+#: calendar/gui/dialogs/changed-comp.c:84
msgid "This event has been changed."
msgstr "Kjo ngjarje është ndryshuar."
-#: ../calendar/gui/dialogs/changed-comp.c:88
+#: calendar/gui/dialogs/changed-comp.c:88
msgid "This task has been changed."
msgstr "Ky aktivitet është ndryshuar."
-#: ../calendar/gui/dialogs/changed-comp.c:92
+#: calendar/gui/dialogs/changed-comp.c:92
msgid "This journal entry has been changed."
msgstr "Ky zë ditari është ndryshuar."
-#: ../calendar/gui/dialogs/changed-comp.c:101
+#: calendar/gui/dialogs/changed-comp.c:101
#, c-format
msgid "%s You have made changes. Forget those changes and update the editor?"
msgstr ""
"%s Keni kryer ndryshime. T'i harrojmë ndryshimet dhe të rifreskojmë "
"editorin?"
-#: ../calendar/gui/dialogs/changed-comp.c:103
+#: calendar/gui/dialogs/changed-comp.c:103
#, c-format
msgid "%s You have made no changes, update the editor?"
msgstr "%s Nuk keni kryer ndryshime, rifreskoj editorin?"
-#: ../calendar/gui/dialogs/comp-editor-page.c:464
+#: calendar/gui/dialogs/comp-editor-page.c:464
#, c-format
msgid "Validation error: %s"
msgstr "Gabim gjatë vleftësimit: %s"
-#: ../calendar/gui/dialogs/comp-editor-util.c:187 ../calendar/gui/print.c:2261
+#: calendar/gui/dialogs/comp-editor-util.c:187 calendar/gui/print.c:2261
msgid " to "
msgstr " për "
-#: ../calendar/gui/dialogs/comp-editor-util.c:191 ../calendar/gui/print.c:2265
+#: calendar/gui/dialogs/comp-editor-util.c:191 calendar/gui/print.c:2265
msgid " (Completed "
msgstr " (U plotësua "
-#: ../calendar/gui/dialogs/comp-editor-util.c:193 ../calendar/gui/print.c:2267
+#: calendar/gui/dialogs/comp-editor-util.c:193 calendar/gui/print.c:2267
msgid "Completed "
msgstr "U plotësua"
-#: ../calendar/gui/dialogs/comp-editor-util.c:198 ../calendar/gui/print.c:2272
+#: calendar/gui/dialogs/comp-editor-util.c:198 calendar/gui/print.c:2272
msgid " (Due "
msgstr " (Skadimi "
-#: ../calendar/gui/dialogs/comp-editor-util.c:200 ../calendar/gui/print.c:2274
+#: calendar/gui/dialogs/comp-editor-util.c:200 calendar/gui/print.c:2274
msgid "Due "
msgstr "Skadimi "
-#: ../calendar/gui/dialogs/comp-editor.c:181 ../composer/e-msg-composer.c:2676
+#: calendar/gui/dialogs/comp-editor.c:181 composer/e-msg-composer.c:2676
#, c-format
msgid "Attached message - %s"
msgstr "Mesazhi i bashkangjitur - %s"
#. translators, this count will always be >1
-#: ../calendar/gui/dialogs/comp-editor.c:186
-#: ../calendar/gui/dialogs/comp-editor.c:349 ../composer/e-msg-composer.c:2681
-#: ../composer/e-msg-composer.c:2844
+#: calendar/gui/dialogs/comp-editor.c:186
+#: calendar/gui/dialogs/comp-editor.c:349 composer/e-msg-composer.c:2681
+#: composer/e-msg-composer.c:2844
#, c-format
msgid "Attached message"
msgid_plural "%d attached messages"
msgstr[0] "Mesazh i bashkangjitur"
msgstr[1] "%d mesazhe të bashkangjitur"
-#: ../calendar/gui/dialogs/comp-editor.c:412
-#: ../calendar/gui/e-calendar-table.c:1164
-#: ../calendar/gui/e-calendar-view.c:1402 ../composer/e-msg-composer.c:2906
-#: ../mail/em-folder-tree.c:1046 ../mail/em-folder-view.c:966
-#: ../mail/message-list.c:1707 ../ui/evolution-addressbook.xml.h:31
-#: ../ui/evolution-calendar.xml.h:39 ../ui/evolution-composer-entries.xml.h:7
-#: ../ui/evolution-mail-message.xml.h:105 ../ui/evolution-tasks.xml.h:20
+#: calendar/gui/dialogs/comp-editor.c:412 calendar/gui/e-calendar-table.c:1164
+#: calendar/gui/e-calendar-view.c:1402 composer/e-msg-composer.c:2906
+#: mail/em-folder-tree.c:1046 mail/em-folder-view.c:966
+#: mail/message-list.c:1707 ui/evolution-addressbook.xml.h:31
+#: ui/evolution-calendar.xml.h:39 ui/evolution-composer-entries.xml.h:7
+#: ui/evolution-mail-message.xml.h:105 ui/evolution-tasks.xml.h:20
msgid "_Copy"
msgstr "_Kopjo"
-#: ../calendar/gui/dialogs/comp-editor.c:413 ../composer/e-msg-composer.c:2907
-#: ../mail/em-folder-tree.c:1047 ../mail/em-folder-tree.c:2311
-#: ../mail/em-folder-view.c:862 ../mail/message-list.c:1708
+#: calendar/gui/dialogs/comp-editor.c:413 composer/e-msg-composer.c:2907
+#: mail/em-folder-tree.c:1047 mail/em-folder-tree.c:2311
+#: mail/em-folder-view.c:862 mail/message-list.c:1708
msgid "_Move"
msgstr "_Lëviz"
-#: ../calendar/gui/dialogs/comp-editor.c:415 ../composer/e-msg-composer.c:2909
-#: ../mail/em-folder-tree.c:1049 ../mail/message-list.c:1710
+#: calendar/gui/dialogs/comp-editor.c:415 composer/e-msg-composer.c:2909
+#: mail/em-folder-tree.c:1049 mail/message-list.c:1710
msgid "Cancel _Drag"
msgstr "Anullo _zvarritjen"
-#: ../calendar/gui/dialogs/comp-editor.c:682
+#: calendar/gui/dialogs/comp-editor.c:682
msgid "Could not update object"
msgstr "I pamundur rifreskimi i objektit"
-#: ../calendar/gui/dialogs/comp-editor.c:843 ../composer/e-msg-composer.c:2310
+#: calendar/gui/dialogs/comp-editor.c:843 composer/e-msg-composer.c:2310
#, c-format
msgid "<b>%d</b> File Attached"
msgid_plural "<b>%d</b> Files Attached"
msgstr[0] "<b>%d</b> File i Bashkangjitur"
msgstr[1] "<b>%d</b> Files të Bashkangjitur"
-#: ../calendar/gui/dialogs/comp-editor.c:900 ../composer/e-msg-composer.c:2339
+#: calendar/gui/dialogs/comp-editor.c:900 composer/e-msg-composer.c:2339
msgid "Hide _Attachment Bar (drop attachments here)"
msgstr "Fshih shtyllën e _bashkangjitjes (sill këtu të bashkangjiturit)"
-#: ../calendar/gui/dialogs/comp-editor.c:903
-#: ../calendar/gui/dialogs/comp-editor.c:955 ../composer/e-msg-composer.c:2342
-#: ../composer/e-msg-composer.c:3471
+#: calendar/gui/dialogs/comp-editor.c:903
+#: calendar/gui/dialogs/comp-editor.c:955 composer/e-msg-composer.c:2342
+#: composer/e-msg-composer.c:3471
msgid "Show _Attachment Bar (drop attachments here)"
msgstr "Shfaq shtyllën e _bashkangjitjes (sill këtu të bashkangjiturit)"
-#: ../calendar/gui/dialogs/comp-editor.c:979 ../composer/e-msg-composer.c:3493
+#: calendar/gui/dialogs/comp-editor.c:979 composer/e-msg-composer.c:3493
msgid "Attachment Button: Press space key to toggle attachment bar"
msgstr ""
"Pulsanti i bashkangjitjes: shtyp pulsantin hapësirë për të hapur dhe/ose "
"mbyllur shtyllën e bashkangjitjes"
-#: ../calendar/gui/dialogs/comp-editor.c:1526
-#: ../calendar/gui/dialogs/comp-editor.c:1569
+#: calendar/gui/dialogs/comp-editor.c:1526
+#: calendar/gui/dialogs/comp-editor.c:1569
msgid "Edit Appointment"
msgstr "Ndrysho takimin"
-#: ../calendar/gui/dialogs/comp-editor.c:1532
-#: ../calendar/gui/dialogs/comp-editor.c:1575
+#: calendar/gui/dialogs/comp-editor.c:1532
+#: calendar/gui/dialogs/comp-editor.c:1575
#, c-format
msgid "Meeting - %s"
msgstr "Takimi - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1534
-#: ../calendar/gui/dialogs/comp-editor.c:1577
+#: calendar/gui/dialogs/comp-editor.c:1534
+#: calendar/gui/dialogs/comp-editor.c:1577
#, c-format
msgid "Appointment - %s"
msgstr "Takimi - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1538
-#: ../calendar/gui/dialogs/comp-editor.c:1581
+#: calendar/gui/dialogs/comp-editor.c:1538
+#: calendar/gui/dialogs/comp-editor.c:1581
#, c-format
msgid "Assigned Task - %s"
msgstr "Aktivitet i caktuar - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1540
-#: ../calendar/gui/dialogs/comp-editor.c:1583
+#: calendar/gui/dialogs/comp-editor.c:1540
+#: calendar/gui/dialogs/comp-editor.c:1583
#, c-format
msgid "Task - %s"
msgstr "Aktiviteti - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1543
-#: ../calendar/gui/dialogs/comp-editor.c:1586
+#: calendar/gui/dialogs/comp-editor.c:1543
+#: calendar/gui/dialogs/comp-editor.c:1586
#, c-format
msgid "Journal entry - %s"
msgstr "Zë i ditarit - %s"
-#: ../calendar/gui/dialogs/comp-editor.c:1554
-#: ../calendar/gui/dialogs/comp-editor.c:1596
+#: calendar/gui/dialogs/comp-editor.c:1554
+#: calendar/gui/dialogs/comp-editor.c:1596
msgid "No summary"
msgstr "Asnjë përmbledhje"
-#: ../calendar/gui/dialogs/comp-editor.c:2030
-#: ../calendar/gui/dialogs/comp-editor.c:2063
-#: ../calendar/gui/dialogs/comp-editor.c:2087
+#: calendar/gui/dialogs/comp-editor.c:2030
+#: calendar/gui/dialogs/comp-editor.c:2063
+#: calendar/gui/dialogs/comp-editor.c:2087
msgid "Changes made to this item may be discarded if an update arrives"
msgstr ""
"Ndryshimet e kryera në këtë element mund të anullohen nëse arrin një "
"rifreskim"
-#: ../calendar/gui/dialogs/comp-editor.c:2111
+#: calendar/gui/dialogs/comp-editor.c:2111
msgid "Unable to use current version!"
msgstr "I pamundur përdorimi i versionit aktual!"
-#: ../calendar/gui/dialogs/copy-source-dialog.c:61
+#: calendar/gui/dialogs/copy-source-dialog.c:61
msgid "Could not open source"
msgstr "E pamundur hapja e burimit"
-#: ../calendar/gui/dialogs/copy-source-dialog.c:69
+#: calendar/gui/dialogs/copy-source-dialog.c:69
msgid "Could not open destination"
msgstr "E pamundur hapja e objektivit"
-#: ../calendar/gui/dialogs/copy-source-dialog.c:78
+#: calendar/gui/dialogs/copy-source-dialog.c:78
msgid "Destination is read only"
msgstr "Objektivi mund vetëm të lexohet"
-#: ../calendar/gui/dialogs/delete-error.c:54
+#: calendar/gui/dialogs/delete-error.c:54
msgid "The event could not be deleted due to a corba error"
msgstr "Ngjarja nuk mund të anullohet për shkak të një gabimi të corba"
-#: ../calendar/gui/dialogs/delete-error.c:57
+#: calendar/gui/dialogs/delete-error.c:57
msgid "The task could not be deleted due to a corba error"
msgstr "Aktiviteti nuk mund të anullohet për shkak të një gabimi të corba"
-#: ../calendar/gui/dialogs/delete-error.c:60
+#: calendar/gui/dialogs/delete-error.c:60
msgid "The journal entry could not be deleted due to a corba error"
msgstr "Zëri i ditarit nuk mund të anullohet për shkak të një gabimi të corba"
-#: ../calendar/gui/dialogs/delete-error.c:63
+#: calendar/gui/dialogs/delete-error.c:63
msgid "The item could not be deleted due to a corba error"
msgstr "Elementi nuk mund të eleminohet për shkak të një gabimi të corba"
-#: ../calendar/gui/dialogs/delete-error.c:70
+#: calendar/gui/dialogs/delete-error.c:70
msgid "The event could not be deleted because permission was denied"
msgstr "Ngjarja nuk do të fshihet pasi mungojnë të drejtat e nevojshme"
-#: ../calendar/gui/dialogs/delete-error.c:73
+#: calendar/gui/dialogs/delete-error.c:73
msgid "The task could not be deleted because permission was denied"
msgstr "Aktiviteti nuk do të fshihet pasi mungojnë të drejtat e nevojshme"
-#: ../calendar/gui/dialogs/delete-error.c:76
+#: calendar/gui/dialogs/delete-error.c:76
msgid "The journal entry could not be deleted because permission was denied"
msgstr "Zëri i ditarit nuk do të fshihet pasi mungojnë të drejtat e nevojshme"
-#: ../calendar/gui/dialogs/delete-error.c:79
+#: calendar/gui/dialogs/delete-error.c:79
msgid "The item could not be deleted because permission was denied"
msgstr "Elementi nuk do të fshihet pasi mungojnë të drejtat e nevojshme"
-#: ../calendar/gui/dialogs/delete-error.c:86
+#: calendar/gui/dialogs/delete-error.c:86
msgid "The event could not be deleted due to an error"
msgstr "Ngjarja nuk mund të anullohet për shkak të një gabimi"
-#: ../calendar/gui/dialogs/delete-error.c:89
+#: calendar/gui/dialogs/delete-error.c:89
msgid "The task could not be deleted due to an error"
msgstr "Aktiviteti nuk mund të anullohet për shkak të një gabimi"
-#: ../calendar/gui/dialogs/delete-error.c:92
+#: calendar/gui/dialogs/delete-error.c:92
msgid "The journal entry could not be deleted due to an error"
msgstr "Zëri i ditarit nuk mund të anullohet për shkak të një gabimi"
-#: ../calendar/gui/dialogs/delete-error.c:95
+#: calendar/gui/dialogs/delete-error.c:95
msgid "The item could not be deleted due to an error"
msgstr "Elementi nuk mund të eleminohet për shkak të një gabimi"
-#: ../calendar/gui/dialogs/e-delegate-dialog.glade.h:1
+#: calendar/gui/dialogs/e-delegate-dialog.glade.h:1
msgid "Contacts..."
msgstr "Kontakte..."
-#: ../calendar/gui/dialogs/e-delegate-dialog.glade.h:2
+#: calendar/gui/dialogs/e-delegate-dialog.glade.h:2
msgid "Delegate To:"
msgstr "Delegoje tek:"
-#: ../calendar/gui/dialogs/e-delegate-dialog.glade.h:3
+#: calendar/gui/dialogs/e-delegate-dialog.glade.h:3
msgid "Enter Delegate"
msgstr "Shto delegatin"
-#: ../calendar/gui/dialogs/event-editor.c:149
+#: calendar/gui/dialogs/event-editor.c:149
msgid "Recurrence"
msgstr "Përvjetor"
-#: ../calendar/gui/dialogs/event-editor.c:161
-#: ../calendar/gui/dialogs/event-editor.c:233
-#: ../calendar/gui/dialogs/event-editor.c:379
+#: calendar/gui/dialogs/event-editor.c:161
+#: calendar/gui/dialogs/event-editor.c:233
+#: calendar/gui/dialogs/event-editor.c:379
msgid "Scheduling"
msgstr "Planifikim"
-#: ../calendar/gui/dialogs/event-editor.c:168
-#: ../calendar/gui/dialogs/event-editor.c:236
-#: ../calendar/gui/dialogs/event-editor.c:382
+#: calendar/gui/dialogs/event-editor.c:168
+#: calendar/gui/dialogs/event-editor.c:236
+#: calendar/gui/dialogs/event-editor.c:382
msgid "Invitations"
msgstr "Ftesa"
-#: ../calendar/gui/dialogs/event-page.c:725
+#: calendar/gui/dialogs/event-page.c:725
msgid "Event with no start date"
msgstr "Ngjarje pa datë fillimi"
-#: ../calendar/gui/dialogs/event-page.c:728
+#: calendar/gui/dialogs/event-page.c:728
msgid "Event with no end date"
msgstr "Ngjarje pa datë përfundimi"
-#: ../calendar/gui/dialogs/event-page.c:894
-#: ../calendar/gui/dialogs/task-page.c:561
+#: calendar/gui/dialogs/event-page.c:894 calendar/gui/dialogs/task-page.c:561
msgid "Start date is wrong"
msgstr "Data e fillimit është e gabuar"
-#: ../calendar/gui/dialogs/event-page.c:904
+#: calendar/gui/dialogs/event-page.c:904
msgid "End date is wrong"
msgstr "Data e përfundimit është e gabuar"
-#: ../calendar/gui/dialogs/event-page.c:927
+#: calendar/gui/dialogs/event-page.c:927
msgid "Start time is wrong"
msgstr "Ora e fillimit është e gabuar"
-#: ../calendar/gui/dialogs/event-page.c:934
+#: calendar/gui/dialogs/event-page.c:934
msgid "End time is wrong"
msgstr "Ora e përfundimit është e gabuar"
-#: ../calendar/gui/dialogs/event-page.c:1675
+#: calendar/gui/dialogs/event-page.c:1675
#, c-format
msgid "Unable to open the calendar '%s'."
msgstr "E pamundur hapja e kalendarit '%s'."
-#: ../calendar/gui/dialogs/event-page.c:1881
+#: calendar/gui/dialogs/event-page.c:1881
#, c-format
msgid "%d day before appointment"
msgid_plural "%d days before appointment"
msgstr[0] "%d ditë para takimit"
msgstr[1] "%d ditë para takimit"
-#: ../calendar/gui/dialogs/event-page.c:1889
+#: calendar/gui/dialogs/event-page.c:1889
#, c-format
msgid "%d hour before appointment"
msgid_plural "%d hours before appointment"
msgstr[0] "%d orë para takimit"
msgstr[1] "%d orë para takimit"
-#: ../calendar/gui/dialogs/event-page.c:1897
+#: calendar/gui/dialogs/event-page.c:1897
#, c-format
msgid "%d minute before appointement"
msgid_plural "%d minutes before appointment"
msgstr[0] "%d minutë para takimit"
msgstr[1] "%d minuta para takimit"
-#: ../calendar/gui/dialogs/event-page.glade.h:2
+#: calendar/gui/dialogs/event-page.glade.h:2
msgid "1 day before appointment"
msgstr "1 ditë para takimit"
-#: ../calendar/gui/dialogs/event-page.glade.h:3
+#: calendar/gui/dialogs/event-page.glade.h:3
msgid "1 hour before appointment"
msgstr "1 orë para takimit"
-#: ../calendar/gui/dialogs/event-page.glade.h:4
+#: calendar/gui/dialogs/event-page.glade.h:4
msgid "15 minutes before appointment"
msgstr "15 minuta para takimit"
-#: ../calendar/gui/dialogs/event-page.glade.h:5
-#: ../calendar/gui/dialogs/task-page.glade.h:1
+#: calendar/gui/dialogs/event-page.glade.h:5
+#: calendar/gui/dialogs/task-page.glade.h:1
msgid "<b>Basics</b>"
msgstr "<b>Të përgjithshme</b>"
-#: ../calendar/gui/dialogs/event-page.glade.h:6
-#: ../calendar/gui/dialogs/task-page.glade.h:2
+#: calendar/gui/dialogs/event-page.glade.h:6
+#: calendar/gui/dialogs/task-page.glade.h:2
msgid "<b>Date and Time</b>"
msgstr "<b>Data dhe Ora</b>"
-#: ../calendar/gui/dialogs/event-page.glade.h:7
-#: ../calendar/gui/dialogs/task-page.glade.h:3
+#: calendar/gui/dialogs/event-page.glade.h:7
+#: calendar/gui/dialogs/task-page.glade.h:3
msgid "<b>Send Options</b>"
msgstr "<b>Opcionet e dërgimit</b>"
-#: ../calendar/gui/dialogs/event-page.glade.h:8
+#: calendar/gui/dialogs/event-page.glade.h:8
msgid "A_ll day event"
msgstr "_Ngjarje të ditës"
-#: ../calendar/gui/dialogs/event-page.glade.h:9
+#: calendar/gui/dialogs/event-page.glade.h:9
msgid "Ad_vanced send options"
msgstr "Opcionet e de_tajuara të dërgimit"
-#: ../calendar/gui/dialogs/event-page.glade.h:10
+#: calendar/gui/dialogs/event-page.glade.h:10
msgid "C_ustomize..."
msgstr "P_ersonalizo..."
-#: ../calendar/gui/dialogs/event-page.glade.h:11
-#: ../calendar/gui/dialogs/task-page.glade.h:5
+#: calendar/gui/dialogs/event-page.glade.h:11
+#: calendar/gui/dialogs/task-page.glade.h:5
msgid "Ca_tegories..."
msgstr "Ka_tegori..."
-#: ../calendar/gui/dialogs/event-page.glade.h:12
+#: calendar/gui/dialogs/event-page.glade.h:12
msgid "Cale_ndar:"
msgstr "Kale_ndari:"
-#: ../calendar/gui/dialogs/event-page.glade.h:13
-#: ../calendar/gui/dialogs/task-page.glade.h:7
+#: calendar/gui/dialogs/event-page.glade.h:13
+#: calendar/gui/dialogs/task-page.glade.h:7
msgid "Classi_fication:"
msgstr "Klasi_fikimi:"
-#: ../calendar/gui/dialogs/event-page.glade.h:14
-#: ../calendar/gui/dialogs/task-page.glade.h:8
-#: ../calendar/gui/e-cal-list-view.c:255 ../calendar/gui/e-cal-model.c:305
-#: ../calendar/gui/e-calendar-table.c:362
+#: calendar/gui/dialogs/event-page.glade.h:14
+#: calendar/gui/dialogs/task-page.glade.h:8 calendar/gui/e-cal-list-view.c:255
+#: calendar/gui/e-cal-model.c:305 calendar/gui/e-calendar-table.c:362
msgid "Confidential"
msgstr "Në konfidencë"
-#: ../calendar/gui/dialogs/event-page.glade.h:15
+#: calendar/gui/dialogs/event-page.glade.h:15
msgid "Event Description"
msgstr "Përshkrimi i ndodhisë"
-#: ../calendar/gui/dialogs/event-page.glade.h:16
+#: calendar/gui/dialogs/event-page.glade.h:16
msgid "Locat_ion:"
msgstr "_Vendodhja:"
-#: ../calendar/gui/dialogs/event-page.glade.h:17
-#: ../calendar/gui/dialogs/task-page.glade.h:10
-#: ../calendar/gui/e-cal-list-view.c:254 ../calendar/gui/e-cal-model.c:303
-#: ../calendar/gui/e-calendar-table.c:361
+#: calendar/gui/dialogs/event-page.glade.h:17
+#: calendar/gui/dialogs/task-page.glade.h:10
+#: calendar/gui/e-cal-list-view.c:254 calendar/gui/e-cal-model.c:303
+#: calendar/gui/e-calendar-table.c:361
msgid "Private"
msgstr "Privat"
-#: ../calendar/gui/dialogs/event-page.glade.h:18
-#: ../calendar/gui/dialogs/task-page.glade.h:11
-#: ../calendar/gui/e-cal-list-view.c:253 ../calendar/gui/e-cal-model.c:294
-#: ../calendar/gui/e-cal-model.c:301 ../calendar/gui/e-calendar-table.c:360
+#: calendar/gui/dialogs/event-page.glade.h:18
+#: calendar/gui/dialogs/task-page.glade.h:11
+#: calendar/gui/e-cal-list-view.c:253 calendar/gui/e-cal-model.c:294
+#: calendar/gui/e-cal-model.c:301 calendar/gui/e-calendar-table.c:360
msgid "Public"
msgstr "Publik"
-#: ../calendar/gui/dialogs/event-page.glade.h:19
+#: calendar/gui/dialogs/event-page.glade.h:19
msgid "Show time as _busy"
msgstr "Shfaq kohën si i _zënë"
-#: ../calendar/gui/dialogs/event-page.glade.h:20
-#: ../calendar/gui/dialogs/task-page.glade.h:13
+#: calendar/gui/dialogs/event-page.glade.h:20
+#: calendar/gui/dialogs/task-page.glade.h:13
msgid "Su_mmary:"
msgstr "Për_mbledhja:"
-#: ../calendar/gui/dialogs/event-page.glade.h:21
+#: calendar/gui/dialogs/event-page.glade.h:21
msgid "This appointment has customized alarms"
msgstr "Ky takim ka alarme të personalizuar"
-#: ../calendar/gui/dialogs/event-page.glade.h:22
+#: calendar/gui/dialogs/event-page.glade.h:22
msgid "_Alarm"
msgstr "_Alarmi"
-#: ../calendar/gui/dialogs/event-page.glade.h:23
+#: calendar/gui/dialogs/event-page.glade.h:23
msgid "_Description:"
msgstr "_Përshkrimi:"
-#: ../calendar/gui/dialogs/event-page.glade.h:24
-#: ../calendar/gui/e-meeting-time-sel.c:642
+#: calendar/gui/dialogs/event-page.glade.h:24
+#: calendar/gui/e-meeting-time-sel.c:642
msgid "_End time:"
msgstr "Ora _mbarimit:"
-#: ../calendar/gui/dialogs/event-page.glade.h:25
-#: ../calendar/gui/e-meeting-time-sel.c:615
+#: calendar/gui/dialogs/event-page.glade.h:25
+#: calendar/gui/e-meeting-time-sel.c:615
msgid "_Start time:"
msgstr "Ora _fillimit:"
@@ -5837,613 +5798,603 @@ msgstr "Ora _fillimit:"
#. When "None" is selected we want the field to be cleared.
#. Note that we don't show this here, since by default a 'None' date
#. is not permitted.
-#: ../calendar/gui/dialogs/meeting-page.c:296
-#: ../calendar/gui/dialogs/meeting-page.glade.h:5
-#: ../calendar/gui/e-cal-model-tasks.c:652
-#: ../calendar/gui/e-itip-control.c:1104 ../composer/e-msg-composer.c:2117
-#: ../filter/filter-rule.c:878 ../mail/em-account-editor.c:685
-#: ../mail/em-account-editor.c:1291 ../mail/em-account-prefs.c:437
-#: ../mail/em-folder-view.c:993
-#: ../plugins/calendar-weather/calendar-weather.c:371
-#: ../plugins/calendar-weather/calendar-weather.c:425
-#: ../plugins/itip-formatter/itip-formatter.c:1376
-#: ../widgets/e-timezone-dialog/e-timezone-dialog.c:190
-#: ../widgets/misc/e-cell-date-edit.c:248 ../widgets/misc/e-dateedit.c:458
-#: ../widgets/misc/e-dateedit.c:1497 ../widgets/misc/e-dateedit.c:1651
+#: calendar/gui/dialogs/meeting-page.c:296
+#: calendar/gui/dialogs/meeting-page.glade.h:5
+#: calendar/gui/e-cal-model-tasks.c:652 calendar/gui/e-itip-control.c:1104
+#: composer/e-msg-composer.c:2117 filter/filter-rule.c:878
+#: mail/em-account-editor.c:685 mail/em-account-editor.c:1291
+#: mail/em-account-prefs.c:437 mail/em-folder-view.c:993
+#: plugins/calendar-weather/calendar-weather.c:371
+#: plugins/calendar-weather/calendar-weather.c:425
+#: plugins/itip-formatter/itip-formatter.c:1376
+#: widgets/e-timezone-dialog/e-timezone-dialog.c:190
+#: widgets/misc/e-cell-date-edit.c:248 widgets/misc/e-dateedit.c:458
+#: widgets/misc/e-dateedit.c:1497 widgets/misc/e-dateedit.c:1651
msgid "None"
msgstr "Asnjë"
-#: ../calendar/gui/dialogs/meeting-page.c:432
+#: calendar/gui/dialogs/meeting-page.c:432
msgid "The organizer selected no longer has an account."
msgstr "Organizuesi i zgjedhur nuk ka më një llogari."
-#: ../calendar/gui/dialogs/meeting-page.c:438
+#: calendar/gui/dialogs/meeting-page.c:438
msgid "An organizer is required."
msgstr "Nevoitet një organizues."
-#: ../calendar/gui/dialogs/meeting-page.c:453
+#: calendar/gui/dialogs/meeting-page.c:453
msgid "At least one attendee is required."
msgstr "Nevoitet të paktën një pjesmarrës."
-#: ../calendar/gui/dialogs/meeting-page.c:778
+#: calendar/gui/dialogs/meeting-page.c:778
msgid "_Delegate To..."
msgstr "_Delegoja..."
-#: ../calendar/gui/dialogs/meeting-page.etspec.h:1
-#: ../calendar/gui/e-meeting-list-view.c:308
-#: ../calendar/gui/e-meeting-time-sel.etspec.h:1
+#: calendar/gui/dialogs/meeting-page.etspec.h:1
+#: calendar/gui/e-meeting-list-view.c:308
+#: calendar/gui/e-meeting-time-sel.etspec.h:1
msgid "Attendee"
msgstr "Pjesmarrës"
-#: ../calendar/gui/dialogs/meeting-page.etspec.h:2
-#: ../calendar/gui/e-meeting-time-sel.etspec.h:2
+#: calendar/gui/dialogs/meeting-page.etspec.h:2
+#: calendar/gui/e-meeting-time-sel.etspec.h:2
msgid "Click here to add an attendee"
msgstr "Kliko këtu për të shtuar një pjesmarrës֣"
-#: ../calendar/gui/dialogs/meeting-page.etspec.h:3
-#: ../calendar/gui/e-meeting-time-sel.etspec.h:3
+#: calendar/gui/dialogs/meeting-page.etspec.h:3
+#: calendar/gui/e-meeting-time-sel.etspec.h:3
msgid "Common Name"
msgstr "Emri i zakonshëm"
-#: ../calendar/gui/dialogs/meeting-page.etspec.h:4
-#: ../calendar/gui/e-meeting-time-sel.etspec.h:4
+#: calendar/gui/dialogs/meeting-page.etspec.h:4
+#: calendar/gui/e-meeting-time-sel.etspec.h:4
msgid "Delegated From"
msgstr "Deleguar nga"
-#: ../calendar/gui/dialogs/meeting-page.etspec.h:5
-#: ../calendar/gui/e-meeting-time-sel.etspec.h:5
+#: calendar/gui/dialogs/meeting-page.etspec.h:5
+#: calendar/gui/e-meeting-time-sel.etspec.h:5
msgid "Delegated To"
msgstr "Delegë për"
-#: ../calendar/gui/dialogs/meeting-page.etspec.h:6
-#: ../calendar/gui/e-meeting-time-sel.etspec.h:6
+#: calendar/gui/dialogs/meeting-page.etspec.h:6
+#: calendar/gui/e-meeting-time-sel.etspec.h:6
msgid "Language"
msgstr "Gjuha"
-#: ../calendar/gui/dialogs/meeting-page.etspec.h:7
-#: ../calendar/gui/e-meeting-time-sel.etspec.h:7
+#: calendar/gui/dialogs/meeting-page.etspec.h:7
+#: calendar/gui/e-meeting-time-sel.etspec.h:7
msgid "Member"
msgstr "Anëtar"
-#: ../calendar/gui/dialogs/meeting-page.etspec.h:8
-#: ../calendar/gui/e-meeting-list-view.c:333
-#: ../calendar/gui/e-meeting-time-sel.etspec.h:8
+#: calendar/gui/dialogs/meeting-page.etspec.h:8
+#: calendar/gui/e-meeting-list-view.c:333
+#: calendar/gui/e-meeting-time-sel.etspec.h:8
msgid "RSVP"
msgstr "RSVP"
-#: ../calendar/gui/dialogs/meeting-page.etspec.h:10
-#: ../calendar/gui/dialogs/task-editor.c:146
-#: ../calendar/gui/e-calendar-table.etspec.h:10
-#: ../calendar/gui/e-meeting-list-view.c:340
-#: ../calendar/gui/e-meeting-time-sel.etspec.h:10 ../mail/em-filter-i18n.h:63
-#: ../mail/message-list.etspec.h:12
+#: calendar/gui/dialogs/meeting-page.etspec.h:10
+#: calendar/gui/dialogs/task-editor.c:146
+#: calendar/gui/e-calendar-table.etspec.h:10
+#: calendar/gui/e-meeting-list-view.c:340
+#: calendar/gui/e-meeting-time-sel.etspec.h:10 mail/em-filter-i18n.h:63
+#: mail/message-list.etspec.h:12
msgid "Status"
msgstr "Gjendja"
-#: ../calendar/gui/dialogs/meeting-page.glade.h:2
+#: calendar/gui/dialogs/meeting-page.glade.h:2
msgid "<b>Att_endees</b>"
msgstr "<b>Pj_esmarrës</b>"
-#: ../calendar/gui/dialogs/meeting-page.glade.h:3
+#: calendar/gui/dialogs/meeting-page.glade.h:3
msgid "C_hange Organizer"
msgstr "Ndrys_ho Organizuesin"
-#: ../calendar/gui/dialogs/meeting-page.glade.h:4
-#: ../calendar/gui/e-meeting-time-sel.c:428
+#: calendar/gui/dialogs/meeting-page.glade.h:4
+#: calendar/gui/e-meeting-time-sel.c:428
msgid "Con_tacts..."
msgstr "Kon_takte..."
-#: ../calendar/gui/dialogs/meeting-page.glade.h:6
+#: calendar/gui/dialogs/meeting-page.glade.h:6
msgid "Or_ganizer:"
msgstr "Or_ganizuesi:"
-#: ../calendar/gui/dialogs/meeting-page.glade.h:7
+#: calendar/gui/dialogs/meeting-page.glade.h:7
msgid "Organizer"
msgstr "Organizuesi"
-#: ../calendar/gui/dialogs/meeting-page.glade.h:8
-#: ../calendar/gui/e-itip-control.glade.h:9
+#: calendar/gui/dialogs/meeting-page.glade.h:8
+#: calendar/gui/e-itip-control.glade.h:9
msgid "Organizer:"
msgstr "Organizuesi:"
-#: ../calendar/gui/dialogs/new-calendar.glade.h:2
+#: calendar/gui/dialogs/new-calendar.glade.h:2
msgid "<b>Calendar options</b>"
msgstr "<b>Opcione të Kalendarit</b>"
-#: ../calendar/gui/dialogs/new-calendar.glade.h:3
+#: calendar/gui/dialogs/new-calendar.glade.h:3
msgid "Add New Calendar"
msgstr "Shto një Kalendar të Ri"
-#: ../calendar/gui/dialogs/new-calendar.glade.h:4
+#: calendar/gui/dialogs/new-calendar.glade.h:4
msgid "Calendar Group"
msgstr "Grupi i kalendarit"
-#: ../calendar/gui/dialogs/new-calendar.glade.h:5
+#: calendar/gui/dialogs/new-calendar.glade.h:5
msgid "Calendar Location"
msgstr "Vendodhja e kalendarit"
-#: ../calendar/gui/dialogs/new-calendar.glade.h:6
+#: calendar/gui/dialogs/new-calendar.glade.h:6
msgid "Calendar Name"
msgstr "Emri i kalendarit"
-#: ../calendar/gui/dialogs/new-task-list.glade.h:2
+#: calendar/gui/dialogs/new-task-list.glade.h:2
msgid "<b>Task List Options</b>"
msgstr "<b>Opcionet e listës së aktiviteteve</b>"
-#: ../calendar/gui/dialogs/new-task-list.glade.h:3
+#: calendar/gui/dialogs/new-task-list.glade.h:3
msgid "Add New Task List"
msgstr "Shto një Listë të Re Aktivitetesh"
-#: ../calendar/gui/dialogs/new-task-list.glade.h:4
+#: calendar/gui/dialogs/new-task-list.glade.h:4
msgid "Task List Group"
msgstr "Grupi i listës së aktiviteteve"
-#: ../calendar/gui/dialogs/new-task-list.glade.h:5
+#: calendar/gui/dialogs/new-task-list.glade.h:5
msgid "Task List Name"
msgstr "Emri i listës së aktiviteteve"
-#: ../calendar/gui/dialogs/recur-comp.c:51
+#: calendar/gui/dialogs/recur-comp.c:52
msgid "You are modifying a recurring event, what would you like to modify?"
msgstr "Jeni duke ndryshuar një ngjarje përkujtimore, çfarë dëshironi të ndryshoni?"
-#: ../calendar/gui/dialogs/recur-comp.c:55
+#: calendar/gui/dialogs/recur-comp.c:56
msgid "You are modifying a recurring task, what would you like to modify?"
msgstr "Jeni duke ndryshuar një aktivitet përkujtimor, çfarë dëshironi të ndryshoni?"
-#: ../calendar/gui/dialogs/recur-comp.c:59
+#: calendar/gui/dialogs/recur-comp.c:60
msgid "You are modifying a recurring journal entry, what would you like to modify?"
msgstr "Jeni duke ndryshuar një zë ditari përkujtimor, çfarë dëshironi të ndryshoni?"
-#: ../calendar/gui/dialogs/recur-comp.c:87
+#: calendar/gui/dialogs/recur-comp.c:88
msgid "This Instance Only"
msgstr "Vetëm këtë instancë"
-#: ../calendar/gui/dialogs/recur-comp.c:91
+#: calendar/gui/dialogs/recur-comp.c:92
msgid "This and Prior Instances"
msgstr "Këtë dhe instancat paraardhëse"
-#: ../calendar/gui/dialogs/recur-comp.c:97
+#: calendar/gui/dialogs/recur-comp.c:98
msgid "This and Future Instances"
msgstr "Këtë dhe instancat e ardhëshme"
-#: ../calendar/gui/dialogs/recur-comp.c:102
+#: calendar/gui/dialogs/recur-comp.c:103
msgid "All Instances"
msgstr "Të gjitha instancat"
-#: ../calendar/gui/dialogs/recurrence-page.c:493
+#: calendar/gui/dialogs/recurrence-page.c:493
msgid "This appointment contains recurrences that Evolution cannot edit."
msgstr "Ky takim përmban ngjarje që Evolutin nuk mund të ndryshojë."
-#: ../calendar/gui/dialogs/recurrence-page.c:812
+#: calendar/gui/dialogs/recurrence-page.c:812
msgid "Recurrence date is invalid"
msgstr "Data e përkujtimores është e gabuar"
-#: ../calendar/gui/dialogs/recurrence-page.c:923
+#: calendar/gui/dialogs/recurrence-page.c:923
msgid "on"
msgstr "në"
-#: ../calendar/gui/dialogs/recurrence-page.c:984
+#: calendar/gui/dialogs/recurrence-page.c:984
msgid "first"
msgstr "i pari"
-#: ../calendar/gui/dialogs/recurrence-page.c:985
+#: calendar/gui/dialogs/recurrence-page.c:985
msgid "second"
msgstr "sekondë"
-#: ../calendar/gui/dialogs/recurrence-page.c:986
+#: calendar/gui/dialogs/recurrence-page.c:986
msgid "third"
msgstr "e treta"
-#: ../calendar/gui/dialogs/recurrence-page.c:987
+#: calendar/gui/dialogs/recurrence-page.c:987
msgid "fourth"
msgstr "e katërta"
-#: ../calendar/gui/dialogs/recurrence-page.c:988
+#: calendar/gui/dialogs/recurrence-page.c:988
msgid "last"
msgstr "e fundit"
-#: ../calendar/gui/dialogs/recurrence-page.c:1011
+#: calendar/gui/dialogs/recurrence-page.c:1011
msgid "Other Date"
msgstr "Datë tjetër"
-#: ../calendar/gui/dialogs/recurrence-page.c:1039
+#: calendar/gui/dialogs/recurrence-page.c:1039
msgid "day"
msgstr "ditë"
-#: ../calendar/gui/dialogs/recurrence-page.c:1176
+#: calendar/gui/dialogs/recurrence-page.c:1176
msgid "on the"
msgstr "tek"
-#: ../calendar/gui/dialogs/recurrence-page.c:1362
+#: calendar/gui/dialogs/recurrence-page.c:1362
msgid "occurrences"
msgstr "ngjarje"
-#: ../calendar/gui/dialogs/recurrence-page.c:2315
+#: calendar/gui/dialogs/recurrence-page.c:2315
msgid "Date/Time"
msgstr "Data/Ora"
-#: ../calendar/gui/dialogs/recurrence-page.glade.h:1
+#: calendar/gui/dialogs/recurrence-page.glade.h:1
msgid "<b>Exceptions</b>"
msgstr "<b>Përjashtime</b>"
-#: ../calendar/gui/dialogs/recurrence-page.glade.h:2
-#: ../mail/mail-config.glade.h:3
+#: calendar/gui/dialogs/recurrence-page.glade.h:2 mail/mail-config.glade.h:3
msgid "<b>Preview</b>"
msgstr "<b>Shikoje</b>"
-#: ../calendar/gui/dialogs/recurrence-page.glade.h:3
+#: calendar/gui/dialogs/recurrence-page.glade.h:3
msgid "<b>Recurrence</b>"
msgstr "<b>Përkujtimore</b>"
-#: ../calendar/gui/dialogs/recurrence-page.glade.h:4
+#: calendar/gui/dialogs/recurrence-page.glade.h:4
msgid "Every"
msgstr "Çdo"
-#: ../calendar/gui/dialogs/recurrence-page.glade.h:5
+#: calendar/gui/dialogs/recurrence-page.glade.h:5
msgid "This appointment rec_urs"
msgstr "Ky takim për_sëritet"
-#: ../calendar/gui/dialogs/recurrence-page.glade.h:8
+#: calendar/gui/dialogs/recurrence-page.glade.h:8
msgid "for"
msgstr "për"
-#: ../calendar/gui/dialogs/recurrence-page.glade.h:9
+#: calendar/gui/dialogs/recurrence-page.glade.h:9
msgid "forever"
msgstr "gjithmonë"
-#: ../calendar/gui/dialogs/recurrence-page.glade.h:10
+#: calendar/gui/dialogs/recurrence-page.glade.h:10
msgid "month(s)"
msgstr "muaj"
-#: ../calendar/gui/dialogs/recurrence-page.glade.h:11
+#: calendar/gui/dialogs/recurrence-page.glade.h:11
msgid "until"
msgstr "deri më"
-#: ../calendar/gui/dialogs/recurrence-page.glade.h:12
+#: calendar/gui/dialogs/recurrence-page.glade.h:12
msgid "week(s)"
msgstr "javë"
-#: ../calendar/gui/dialogs/recurrence-page.glade.h:13
+#: calendar/gui/dialogs/recurrence-page.glade.h:13
msgid "year(s)"
msgstr "vit(e)"
-#: ../calendar/gui/dialogs/task-details-page.c:410
-#: ../calendar/gui/dialogs/task-details-page.c:429
+#: calendar/gui/dialogs/task-details-page.c:410
+#: calendar/gui/dialogs/task-details-page.c:429
msgid "Completed date is wrong"
msgstr "Data e plotësuar është e gabuar"
-#: ../calendar/gui/dialogs/task-details-page.c:522
+#: calendar/gui/dialogs/task-details-page.c:522
msgid "Web Page"
msgstr "Faqja Web"
-#: ../calendar/gui/dialogs/task-details-page.glade.h:1
+#: calendar/gui/dialogs/task-details-page.glade.h:1
msgid "<span weight=\"bold\">Miscellaneous</span>"
msgstr "<span weight=\"bold\">Të ndryshme\t</span>"
-#: ../calendar/gui/dialogs/task-details-page.glade.h:2
+#: calendar/gui/dialogs/task-details-page.glade.h:2
msgid "<span weight=\"bold\">Status</span>"
msgstr "<span weight=\"bold\">Gjendja</span>"
#. Pass TRUE as is_utc, so it gets converted to the current
#. timezone.
-#: ../calendar/gui/dialogs/task-details-page.glade.h:4
-#: ../calendar/gui/e-cal-component-preview.c:229
-#: ../calendar/gui/e-cal-model-tasks.c:345
-#: ../calendar/gui/e-cal-model-tasks.c:658
-#: ../calendar/gui/e-calendar-table.c:457 ../calendar/gui/e-itip-control.c:896
-#: ../calendar/gui/e-meeting-store.c:196 ../calendar/gui/e-meeting-store.c:219
-#: ../calendar/gui/print.c:2349
+#: calendar/gui/dialogs/task-details-page.glade.h:4
+#: calendar/gui/e-cal-component-preview.c:229
+#: calendar/gui/e-cal-model-tasks.c:345 calendar/gui/e-cal-model-tasks.c:658
+#: calendar/gui/e-calendar-table.c:457 calendar/gui/e-itip-control.c:896
+#: calendar/gui/e-meeting-store.c:196 calendar/gui/e-meeting-store.c:219
+#: calendar/gui/print.c:2349
msgid "Completed"
msgstr "U plotësua"
-#: ../calendar/gui/dialogs/task-details-page.glade.h:5
-#: ../calendar/gui/e-cal-component-preview.c:248
-#: ../calendar/gui/e-calendar-table.c:382 ../mail/message-list.c:1006
+#: calendar/gui/dialogs/task-details-page.glade.h:5
+#: calendar/gui/e-cal-component-preview.c:248
+#: calendar/gui/e-calendar-table.c:382 mail/message-list.c:1006
msgid "High"
msgstr "E lartë"
-#: ../calendar/gui/dialogs/task-details-page.glade.h:6
-#: ../calendar/gui/e-cal-component-preview.c:226
-#: ../calendar/gui/e-cal-model-tasks.c:343
-#: ../calendar/gui/e-cal-model-tasks.c:656
-#: ../calendar/gui/e-cal-model-tasks.c:731
-#: ../calendar/gui/e-calendar-table.c:456 ../calendar/gui/print.c:2346
+#: calendar/gui/dialogs/task-details-page.glade.h:6
+#: calendar/gui/e-cal-component-preview.c:226
+#: calendar/gui/e-cal-model-tasks.c:343 calendar/gui/e-cal-model-tasks.c:656
+#: calendar/gui/e-cal-model-tasks.c:731 calendar/gui/e-calendar-table.c:456
+#: calendar/gui/print.c:2346
msgid "In Progress"
msgstr "Në zhvillim"
-#: ../calendar/gui/dialogs/task-details-page.glade.h:7
-#: ../calendar/gui/e-cal-component-preview.c:252
-#: ../calendar/gui/e-calendar-table.c:384 ../mail/message-list.c:1004
+#: calendar/gui/dialogs/task-details-page.glade.h:7
+#: calendar/gui/e-cal-component-preview.c:252
+#: calendar/gui/e-calendar-table.c:384 mail/message-list.c:1004
msgid "Low"
msgstr "E ulët"
-#: ../calendar/gui/dialogs/task-details-page.glade.h:8
-#: ../calendar/gui/e-cal-component-preview.c:250
-#: ../calendar/gui/e-cal-model.c:899 ../calendar/gui/e-calendar-table.c:383
-#: ../mail/message-list.c:1005
+#: calendar/gui/dialogs/task-details-page.glade.h:8
+#: calendar/gui/e-cal-component-preview.c:250 calendar/gui/e-cal-model.c:899
+#: calendar/gui/e-calendar-table.c:383 mail/message-list.c:1005
msgid "Normal"
msgstr "Normal"
-#: ../calendar/gui/dialogs/task-details-page.glade.h:9
-#: ../calendar/gui/e-cal-component-preview.c:236
-#: ../calendar/gui/e-cal-model-tasks.c:341
-#: ../calendar/gui/e-cal-model-tasks.c:654
-#: ../calendar/gui/e-calendar-table.c:455 ../calendar/gui/print.c:2343
+#: calendar/gui/dialogs/task-details-page.glade.h:9
+#: calendar/gui/e-cal-component-preview.c:236
+#: calendar/gui/e-cal-model-tasks.c:341 calendar/gui/e-cal-model-tasks.c:654
+#: calendar/gui/e-calendar-table.c:455 calendar/gui/print.c:2343
msgid "Not Started"
msgstr "Nuk është filluar"
-#: ../calendar/gui/dialogs/task-details-page.glade.h:10
+#: calendar/gui/dialogs/task-details-page.glade.h:10
msgid "P_ercent complete:"
msgstr "Pë_rqindja e plotësuar:"
-#: ../calendar/gui/dialogs/task-details-page.glade.h:11
-#: ../calendar/gui/e-calendar-table.c:385
+#: calendar/gui/dialogs/task-details-page.glade.h:11
+#: calendar/gui/e-calendar-table.c:385
msgid "Undefined"
msgstr "E papërcaktuar"
-#: ../calendar/gui/dialogs/task-details-page.glade.h:12
+#: calendar/gui/dialogs/task-details-page.glade.h:12
msgid "_Date completed:"
msgstr "_Data e plotësimit:"
-#: ../calendar/gui/dialogs/task-details-page.glade.h:13
-#: ../widgets/misc/e-send-options.glade.h:34
+#: calendar/gui/dialogs/task-details-page.glade.h:13
+#: widgets/misc/e-send-options.glade.h:34
msgid "_Priority:"
msgstr "_Prioriteti:"
-#: ../calendar/gui/dialogs/task-details-page.glade.h:14
+#: calendar/gui/dialogs/task-details-page.glade.h:14
msgid "_Status:"
msgstr "_Gjendja:"
-#: ../calendar/gui/dialogs/task-details-page.glade.h:15
+#: calendar/gui/dialogs/task-details-page.glade.h:15
msgid "_Web Page:"
msgstr "Faqja _Web:"
-#: ../calendar/gui/dialogs/task-editor.c:137 ../calendar/gui/print.c:2300
+#: calendar/gui/dialogs/task-editor.c:137 calendar/gui/print.c:2300
msgid "Task"
msgstr "Aktiviteti"
-#: ../calendar/gui/dialogs/task-editor.c:157
-#: ../calendar/gui/dialogs/task-editor.c:219
-#: ../calendar/gui/dialogs/task-editor.c:359
+#: calendar/gui/dialogs/task-editor.c:157
+#: calendar/gui/dialogs/task-editor.c:219
+#: calendar/gui/dialogs/task-editor.c:359
msgid "Assignment"
msgstr "Caktuar"
-#: ../calendar/gui/dialogs/task-page.c:534
+#: calendar/gui/dialogs/task-page.c:534
msgid "Due date is wrong"
msgstr "Data e duhur është e gabuar"
-#: ../calendar/gui/dialogs/task-page.c:878
+#: calendar/gui/dialogs/task-page.c:878
#, c-format
msgid "Unable to open tasks in '%s'."
msgstr "E pamundur hapja e aktiviteteve tek '%s'."
-#: ../calendar/gui/dialogs/task-page.glade.h:4
+#: calendar/gui/dialogs/task-page.glade.h:4
msgid "Ad_vanced send options"
msgstr "Opcionet e de_tajuara të dërgimit"
-#: ../calendar/gui/dialogs/task-page.glade.h:9
+#: calendar/gui/dialogs/task-page.glade.h:9
msgid "D_escription:"
msgstr "Pë_rshkrimi:"
-#: ../calendar/gui/dialogs/task-page.glade.h:12
+#: calendar/gui/dialogs/task-page.glade.h:12
msgid "Sta_rt date:"
msgstr "Data e _nisjes:"
-#: ../calendar/gui/dialogs/task-page.glade.h:14
+#: calendar/gui/dialogs/task-page.glade.h:14
msgid "Task Description"
msgstr "Përshkrimi i detyrës"
-#: ../calendar/gui/dialogs/task-page.glade.h:15
+#: calendar/gui/dialogs/task-page.glade.h:15
msgid "_Due date:"
msgstr "Ska_dimi:"
-#: ../calendar/gui/dialogs/task-page.glade.h:16
+#: calendar/gui/dialogs/task-page.glade.h:16
msgid "_Group:"
msgstr "_Grupi:"
-#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:3
+#: calendar/gui/dialogs/url-editor-dialog.glade.h:3
msgid "<b>Free/Busy C_alendars</b>"
msgstr "<b>Kalendarët e disponibilitetit</b>"
-#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:4
+#: calendar/gui/dialogs/url-editor-dialog.glade.h:4
msgid "<b>Publishing Frequency</b>"
msgstr "<b>Frekuenca e publikimit</b>"
-#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:5
+#: calendar/gui/dialogs/url-editor-dialog.glade.h:5
msgid "<b>Publishing _Location</b>"
msgstr "<b>_Vendi për publikimin</b>"
-#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:6
+#: calendar/gui/dialogs/url-editor-dialog.glade.h:6
msgid "Free/Busy Publishing Settings"
msgstr "Rregullimet e publikimit të disponibilitetit"
-#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:7
+#: calendar/gui/dialogs/url-editor-dialog.glade.h:7
msgid "_Daily"
msgstr "_Ditor"
-#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:8
+#: calendar/gui/dialogs/url-editor-dialog.glade.h:8
msgid "_Manual"
msgstr "_Manual"
-#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:9
+#: calendar/gui/dialogs/url-editor-dialog.glade.h:9
msgid "_Password:"
msgstr "_Fjalëkalimi:"
-#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:10
+#: calendar/gui/dialogs/url-editor-dialog.glade.h:10
msgid "_Remember password"
msgstr "_Kujto fjalëkalimin"
-#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:11
+#: calendar/gui/dialogs/url-editor-dialog.glade.h:11
msgid "_Username:"
msgstr "_Përdoruesi:"
-#: ../calendar/gui/dialogs/url-editor-dialog.glade.h:12
+#: calendar/gui/dialogs/url-editor-dialog.glade.h:12
msgid "_Weekly"
msgstr "_Javor"
-#: ../calendar/gui/e-alarm-list.c:395
+#: calendar/gui/e-alarm-list.c:395
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%d ditë"
msgstr[1] "%d ditë"
-#: ../calendar/gui/e-alarm-list.c:400
+#: calendar/gui/e-alarm-list.c:400
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] "%d javë"
msgstr[1] "%d javë"
-#: ../calendar/gui/e-alarm-list.c:405
+#: calendar/gui/e-alarm-list.c:405
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d orë"
msgstr[1] "%d orë"
-#: ../calendar/gui/e-alarm-list.c:410
+#: calendar/gui/e-alarm-list.c:410
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] "%d minutë"
msgstr[1] "%d minuta"
-#: ../calendar/gui/e-alarm-list.c:415
+#: calendar/gui/e-alarm-list.c:415
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "sekondë"
msgstr[1] "sekonda"
-#: ../calendar/gui/e-alarm-list.c:462
+#: calendar/gui/e-alarm-list.c:462
msgid "Unknown action to be performed"
msgstr "Veprim i panjohur"
-#: ../calendar/gui/e-alarm-list.c:474
+#: calendar/gui/e-alarm-list.c:474
#, c-format
msgid "%s %s before the start of the appointment"
msgstr "%s %s para fillimit të takimit"
-#: ../calendar/gui/e-alarm-list.c:477
+#: calendar/gui/e-alarm-list.c:477
#, c-format
msgid "%s %s after the start of the appointment"
msgstr "%s %s nbas fillimit të takimit"
-#: ../calendar/gui/e-alarm-list.c:482
+#: calendar/gui/e-alarm-list.c:482
#, c-format
msgid "%s at the start of the appointment"
msgstr "%s nga fillimi i takimit"
-#: ../calendar/gui/e-alarm-list.c:491
+#: calendar/gui/e-alarm-list.c:491
#, c-format
msgid "%s %s before the end of the appointment"
msgstr "%s %s para përfundimit të takimit"
-#: ../calendar/gui/e-alarm-list.c:494
+#: calendar/gui/e-alarm-list.c:494
#, c-format
msgid "%s %s after the end of the appointment"
msgstr "%s %s mbas përfundimit të takimit"
-#: ../calendar/gui/e-alarm-list.c:499
+#: calendar/gui/e-alarm-list.c:499
#, c-format
msgid "%s at the end of the appointment"
msgstr "%s në fund të takimit"
-#: ../calendar/gui/e-alarm-list.c:521
+#: calendar/gui/e-alarm-list.c:521
#, c-format
msgid "%s at %s"
msgstr "%s më %s"
-#: ../calendar/gui/e-alarm-list.c:527
+#: calendar/gui/e-alarm-list.c:527
#, c-format
msgid "%s for an unknown trigger type"
msgstr "%s për një aktivim të një lloji të panjohur"
-#: ../calendar/gui/e-cal-component-preview.c:70 ../mail/em-folder-view.c:2573
+#: calendar/gui/e-cal-component-preview.c:70 mail/em-folder-view.c:2573
#, c-format
msgid "Click to open %s"
msgstr "Kliko për të hapur %s"
-#: ../calendar/gui/e-cal-component-preview.c:155 ../filter/filter-rule.c:795
+#: calendar/gui/e-cal-component-preview.c:155 filter/filter-rule.c:795
msgid "Untitled"
msgstr "Pa titull"
-#: ../calendar/gui/e-cal-component-preview.c:186
-#: ../calendar/gui/e-itip-control.c:1108
-#: ../calendar/gui/e-itip-control.glade.h:11
+#: calendar/gui/e-cal-component-preview.c:186
+#: calendar/gui/e-itip-control.c:1108 calendar/gui/e-itip-control.glade.h:11
msgid "Summary:"
msgstr "Përmbledhja:"
-#: ../calendar/gui/e-cal-component-preview.c:193
-#: ../calendar/gui/e-cal-component-preview.c:204
+#: calendar/gui/e-cal-component-preview.c:193
+#: calendar/gui/e-cal-component-preview.c:204
msgid "Start Date:"
msgstr "Data e fillimit:"
-#: ../calendar/gui/e-cal-component-preview.c:215
+#: calendar/gui/e-cal-component-preview.c:215
msgid "Due Date:"
msgstr "Skadenca:"
#. write status
#. translators: exchange out of office status header
#. Status
-#: ../calendar/gui/e-cal-component-preview.c:222
-#: ../calendar/gui/e-itip-control.c:1132
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:209
-#: ../plugins/itip-formatter/itip-view.c:884
+#: calendar/gui/e-cal-component-preview.c:222
+#: calendar/gui/e-itip-control.c:1132
+#: plugins/exchange-account-setup/exchange-account-setup.c:209
+#: plugins/itip-formatter/itip-view.c:884
msgid "Status:"
msgstr "Gjëndja:"
-#: ../calendar/gui/e-cal-component-preview.c:246
+#: calendar/gui/e-cal-component-preview.c:246
msgid "Priority:"
msgstr "Prioriteti: "
-#: ../calendar/gui/e-cal-component-preview.c:299
+#: calendar/gui/e-cal-component-preview.c:299
msgid "Web Page:"
msgstr "Faqja Web:"
-#: ../calendar/gui/e-cal-list-view.etspec.h:2
+#: calendar/gui/e-cal-list-view.etspec.h:2
msgid "End Date"
msgstr "Fundi"
-#: ../calendar/gui/e-cal-list-view.etspec.h:4
+#: calendar/gui/e-cal-list-view.etspec.h:4
msgid "Start Date"
msgstr "Fillimi"
-#: ../calendar/gui/e-cal-list-view.etspec.h:5
-#: ../calendar/gui/e-calendar-table.etspec.h:11
-#: ../mail/mail-dialogs.glade.h:21
+#: calendar/gui/e-cal-list-view.etspec.h:5
+#: calendar/gui/e-calendar-table.etspec.h:11 mail/mail-dialogs.glade.h:21
msgid "Summary"
msgstr "Përmbledhja"
-#: ../calendar/gui/e-cal-model-calendar.c:179
-#: ../calendar/gui/e-calendar-table.c:434
+#: calendar/gui/e-cal-model-calendar.c:179 calendar/gui/e-calendar-table.c:434
msgid "Free"
msgstr "I lirë"
-#: ../calendar/gui/e-cal-model-calendar.c:182
-#: ../calendar/gui/e-calendar-table.c:435
-#: ../calendar/gui/e-meeting-time-sel.c:412
+#: calendar/gui/e-cal-model-calendar.c:182 calendar/gui/e-calendar-table.c:435
+#: calendar/gui/e-meeting-time-sel.c:412
msgid "Busy"
msgstr "I zënë"
-#: ../calendar/gui/e-cal-model-tasks.c:297
+#: calendar/gui/e-cal-model-tasks.c:297
msgid "N"
msgstr "N"
-#: ../calendar/gui/e-cal-model-tasks.c:297
+#: calendar/gui/e-cal-model-tasks.c:297
msgid "S"
msgstr "S"
-#: ../calendar/gui/e-cal-model-tasks.c:299 ../smime/lib/e-cert.c:681
+#: calendar/gui/e-cal-model-tasks.c:299 smime/lib/e-cert.c:681
msgid "E"
msgstr "E"
-#: ../calendar/gui/e-cal-model-tasks.c:299
+#: calendar/gui/e-cal-model-tasks.c:299
msgid "W"
msgstr "W"
-#: ../calendar/gui/e-cal-model-tasks.c:606
+#: calendar/gui/e-cal-model-tasks.c:606
msgid ""
"The geographical position must be entered in the format: \n"
"\n"
@@ -6453,268 +6404,259 @@ msgstr ""
"\n"
"45.436845,125.862501"
-#: ../calendar/gui/e-cal-model-tasks.c:1017 ../calendar/gui/e-cal-model.c:905
-#: ../calendar/gui/e-meeting-list-view.c:163
-#: ../calendar/gui/e-meeting-store.c:168 ../calendar/gui/e-meeting-store.c:178
-#: ../calendar/gui/e-meeting-store.c:808
+#: calendar/gui/e-cal-model-tasks.c:1017 calendar/gui/e-cal-model.c:905
+#: calendar/gui/e-meeting-list-view.c:163 calendar/gui/e-meeting-store.c:168
+#: calendar/gui/e-meeting-store.c:178 calendar/gui/e-meeting-store.c:808
msgid "Yes"
msgstr "Po"
-#: ../calendar/gui/e-cal-model-tasks.c:1017 ../calendar/gui/e-cal-model.c:905
-#: ../calendar/gui/e-meeting-list-view.c:164
-#: ../calendar/gui/e-meeting-store.c:180
+#: calendar/gui/e-cal-model-tasks.c:1017 calendar/gui/e-cal-model.c:905
+#: calendar/gui/e-meeting-list-view.c:164 calendar/gui/e-meeting-store.c:180
msgid "No"
msgstr "Jo"
#. This is the default filename used for temporary file creation
-#: ../calendar/gui/e-cal-model.c:307 ../calendar/gui/e-cal-model.c:310
-#: ../calendar/gui/e-itip-control.c:1149 ../calendar/gui/e-itip-control.c:1290
-#: ../calendar/gui/e-meeting-list-view.c:139
-#: ../calendar/gui/e-meeting-list-view.c:153
-#: ../calendar/gui/e-meeting-store.c:124 ../calendar/gui/e-meeting-store.c:159
-#: ../calendar/gui/e-meeting-store.c:224 ../mail/em-utils.c:1173
-#: ../plugins/itip-formatter/itip-formatter.c:251
-#: ../plugins/itip-formatter/itip-formatter.c:1398
-#: ../plugins/plugin-manager/plugin-manager.c:72
-#: ../shell/e-component-registry.c:201 ../shell/e-component-registry.c:205
-#: ../widgets/misc/e-charset-picker.c:62
+#: calendar/gui/e-cal-model.c:307 calendar/gui/e-cal-model.c:310
+#: calendar/gui/e-itip-control.c:1149 calendar/gui/e-itip-control.c:1290
+#: calendar/gui/e-meeting-list-view.c:139
+#: calendar/gui/e-meeting-list-view.c:153 calendar/gui/e-meeting-store.c:124
+#: calendar/gui/e-meeting-store.c:159 calendar/gui/e-meeting-store.c:224
+#: mail/em-utils.c:1173 plugins/itip-formatter/itip-formatter.c:251
+#: plugins/itip-formatter/itip-formatter.c:1398
+#: plugins/plugin-manager/plugin-manager.c:72 shell/e-component-registry.c:201
+#: shell/e-component-registry.c:205 widgets/misc/e-charset-picker.c:62
msgid "Unknown"
msgstr "Nuk njihet"
-#: ../calendar/gui/e-cal-model.c:901
+#: calendar/gui/e-cal-model.c:901
msgid "Recurring"
msgstr "Përsëritet"
-#: ../calendar/gui/e-cal-model.c:903
+#: calendar/gui/e-cal-model.c:903
msgid "Assigned"
msgstr "Caktuar"
-#: ../calendar/gui/e-calendar-table.c:404
+#: calendar/gui/e-calendar-table.c:404
msgid "0%"
msgstr "0%"
-#: ../calendar/gui/e-calendar-table.c:405
+#: calendar/gui/e-calendar-table.c:405
msgid "10%"
msgstr "10%"
-#: ../calendar/gui/e-calendar-table.c:406
+#: calendar/gui/e-calendar-table.c:406
msgid "20%"
msgstr "20%"
-#: ../calendar/gui/e-calendar-table.c:407
+#: calendar/gui/e-calendar-table.c:407
msgid "30%"
msgstr "30%"
-#: ../calendar/gui/e-calendar-table.c:408
+#: calendar/gui/e-calendar-table.c:408
msgid "40%"
msgstr " "
-#: ../calendar/gui/e-calendar-table.c:409
+#: calendar/gui/e-calendar-table.c:409
msgid "50%"
msgstr "50%"
-#: ../calendar/gui/e-calendar-table.c:410
+#: calendar/gui/e-calendar-table.c:410
msgid "60%"
msgstr "60%"
-#: ../calendar/gui/e-calendar-table.c:411
+#: calendar/gui/e-calendar-table.c:411
msgid "70%"
msgstr "70%"
-#: ../calendar/gui/e-calendar-table.c:412
+#: calendar/gui/e-calendar-table.c:412
msgid "80%"
msgstr "80%"
-#: ../calendar/gui/e-calendar-table.c:413
+#: calendar/gui/e-calendar-table.c:413
msgid "90%"
msgstr "90%"
-#: ../calendar/gui/e-calendar-table.c:414
+#: calendar/gui/e-calendar-table.c:414
msgid "100%"
msgstr "100%"
-#: ../calendar/gui/e-calendar-table.c:516
+#: calendar/gui/e-calendar-table.c:516
msgid "Task Table"
msgstr "Tabela e detyrave"
-#: ../calendar/gui/e-calendar-table.c:694
-#: ../calendar/gui/e-calendar-view.c:652
+#: calendar/gui/e-calendar-table.c:694 calendar/gui/e-calendar-view.c:652
msgid "Deleting selected objects"
msgstr "Duke hequr elementët e zgjedhur"
-#: ../calendar/gui/e-calendar-table.c:873
-#: ../calendar/gui/e-calendar-view.c:756
+#: calendar/gui/e-calendar-table.c:873 calendar/gui/e-calendar-view.c:756
msgid "Updating objects"
msgstr "Duke rifreskuar objektet"
-#: ../calendar/gui/e-calendar-table.c:1014
-#: ../calendar/gui/e-calendar-view.c:1064 ../composer/e-msg-composer.c:1241
+#: calendar/gui/e-calendar-table.c:1014 calendar/gui/e-calendar-view.c:1064
+#: composer/e-msg-composer.c:1241
msgid "Save as..."
msgstr "Ruaje si..."
-#: ../calendar/gui/e-calendar-table.c:1156
-#: ../calendar/gui/e-calendar-view.c:1395 ../ui/evolution-addressbook.xml.h:37
+#: calendar/gui/e-calendar-table.c:1156 calendar/gui/e-calendar-view.c:1395
+#: ui/evolution-addressbook.xml.h:37
msgid "_Open"
msgstr "_Hap"
-#: ../calendar/gui/e-calendar-table.c:1157
+#: calendar/gui/e-calendar-table.c:1157
msgid "Open _Web Page"
msgstr "Hap faqen _web"
-#: ../calendar/gui/e-calendar-table.c:1158
-#: ../calendar/gui/e-calendar-view.c:1396 ../mail/em-folder-view.c:976
-#: ../mail/em-popup.c:494 ../ui/evolution-mail-message.xml.h:124
+#: calendar/gui/e-calendar-table.c:1158 calendar/gui/e-calendar-view.c:1396
+#: mail/em-folder-view.c:976 mail/em-popup.c:494
+#: ui/evolution-mail-message.xml.h:124
msgid "_Save As..."
msgstr "_Ruaje si..."
-#: ../calendar/gui/e-calendar-table.c:1159
-#: ../calendar/gui/e-calendar-view.c:1376
-#: ../calendar/gui/e-calendar-view.c:1397 ../ui/evolution-addressbook.xml.h:40
-#: ../ui/evolution-calendar.xml.h:44 ../ui/evolution-mail-message.xml.h:121
-#: ../ui/evolution-tasks.xml.h:25
+#: calendar/gui/e-calendar-table.c:1159 calendar/gui/e-calendar-view.c:1376
+#: calendar/gui/e-calendar-view.c:1397 ui/evolution-addressbook.xml.h:40
+#: ui/evolution-calendar.xml.h:44 ui/evolution-mail-message.xml.h:121
+#: ui/evolution-tasks.xml.h:25
msgid "_Print..."
msgstr "_Printim..."
-#: ../calendar/gui/e-calendar-table.c:1163
-#: ../calendar/gui/e-calendar-view.c:1401 ../ui/evolution-addressbook.xml.h:1
-#: ../ui/evolution-calendar.xml.h:1 ../ui/evolution-tasks.xml.h:1
+#: calendar/gui/e-calendar-table.c:1163 calendar/gui/e-calendar-view.c:1401
+#: ui/evolution-addressbook.xml.h:1 ui/evolution-calendar.xml.h:1
+#: ui/evolution-tasks.xml.h:1
msgid "C_ut"
msgstr "P_reje"
-#: ../calendar/gui/e-calendar-table.c:1165
-#: ../calendar/gui/e-calendar-view.c:1379
-#: ../calendar/gui/e-calendar-view.c:1403 ../ui/evolution-addressbook.xml.h:38
-#: ../ui/evolution-calendar.xml.h:43 ../ui/evolution-composer-entries.xml.h:9
-#: ../ui/evolution-mail-message.xml.h:119 ../ui/evolution-tasks.xml.h:24
+#: calendar/gui/e-calendar-table.c:1165 calendar/gui/e-calendar-view.c:1379
+#: calendar/gui/e-calendar-view.c:1403 ui/evolution-addressbook.xml.h:38
+#: ui/evolution-calendar.xml.h:43 ui/evolution-composer-entries.xml.h:9
+#: ui/evolution-mail-message.xml.h:119 ui/evolution-tasks.xml.h:24
msgid "_Paste"
msgstr "_Ngjite"
-#: ../calendar/gui/e-calendar-table.c:1169
+#: calendar/gui/e-calendar-table.c:1169
msgid "_Assign Task"
msgstr "_Cakto aktivitet"
-#: ../calendar/gui/e-calendar-table.c:1170
+#: calendar/gui/e-calendar-table.c:1170
msgid "_Forward as iCalendar"
msgstr "_Përcille si iCalendar"
-#: ../calendar/gui/e-calendar-table.c:1171
+#: calendar/gui/e-calendar-table.c:1171
msgid "_Mark as Complete"
msgstr "_Shënoje si të plotësuar"
-#: ../calendar/gui/e-calendar-table.c:1172
+#: calendar/gui/e-calendar-table.c:1172
msgid "_Mark Selected Tasks as Complete"
msgstr "_Shëno aktivitetet e zgjedhura si të plotësuara"
#. FIXME: need to disable for undeletable folders
-#: ../calendar/gui/e-calendar-table.c:1176
-#: ../calendar/gui/e-calendar-view.c:1414 ../mail/em-folder-tree.c:2814
-#: ../mail/em-folder-view.c:980 ../ui/evolution-addressbook.xml.h:33
-#: ../ui/evolution-calendar.xml.h:40 ../ui/evolution-mail-message.xml.h:108
-#: ../ui/evolution-tasks.xml.h:21
+#: calendar/gui/e-calendar-table.c:1176 calendar/gui/e-calendar-view.c:1414
+#: mail/em-folder-tree.c:2814 mail/em-folder-view.c:980
+#: ui/evolution-addressbook.xml.h:33 ui/evolution-calendar.xml.h:40
+#: ui/evolution-mail-message.xml.h:108 ui/evolution-tasks.xml.h:21
msgid "_Delete"
msgstr "_Elemino"
-#: ../calendar/gui/e-calendar-table.c:1177
+#: calendar/gui/e-calendar-table.c:1177
msgid "_Delete Selected Tasks"
msgstr "_Elemino aktivitetet e zgjedhura"
-#: ../calendar/gui/e-calendar-table.c:1328
-#: ../calendar/gui/e-calendar-table.etspec.h:4
+#: calendar/gui/e-calendar-table.c:1328
+#: calendar/gui/e-calendar-table.etspec.h:4
msgid "Click to add a task"
msgstr "Kliko për të shtuar një aktivitet"
-#: ../calendar/gui/e-calendar-table.etspec.h:2
+#: calendar/gui/e-calendar-table.etspec.h:2
#, no-c-format
msgid "% Complete"
msgstr "% Plotësuar"
-#: ../calendar/gui/e-calendar-table.etspec.h:5 ../mail/mail-send-recv.c:617
+#: calendar/gui/e-calendar-table.etspec.h:5 mail/mail-send-recv.c:617
msgid "Complete"
msgstr "U plotësua"
-#: ../calendar/gui/e-calendar-table.etspec.h:6
+#: calendar/gui/e-calendar-table.etspec.h:6
msgid "Completion date"
msgstr "Plotësuar më"
-#: ../calendar/gui/e-calendar-table.etspec.h:7
+#: calendar/gui/e-calendar-table.etspec.h:7
msgid "Due date"
msgstr "Data skadimit"
-#: ../calendar/gui/e-calendar-table.etspec.h:8
+#: calendar/gui/e-calendar-table.etspec.h:8
msgid "Priority"
msgstr "Prioriteti"
-#: ../calendar/gui/e-calendar-table.etspec.h:9
+#: calendar/gui/e-calendar-table.etspec.h:9
msgid "Start date"
msgstr "Data e fillimit"
-#: ../calendar/gui/e-calendar-table.etspec.h:12
+#: calendar/gui/e-calendar-table.etspec.h:12
msgid "Task sort"
msgstr "Rreshto aktivitetet"
-#: ../calendar/gui/e-calendar-view.c:1185
+#: calendar/gui/e-calendar-view.c:1185
msgid "Moving items"
msgstr "Duke lëvizur elementët"
-#: ../calendar/gui/e-calendar-view.c:1187
+#: calendar/gui/e-calendar-view.c:1187
msgid "Copying items"
msgstr "Duke kopjuar elementët"
-#: ../calendar/gui/e-calendar-view.c:1370
+#: calendar/gui/e-calendar-view.c:1370
msgid "New _Appointment..."
msgstr "_Takim i Ri..."
-#: ../calendar/gui/e-calendar-view.c:1371
+#: calendar/gui/e-calendar-view.c:1371
msgid "New All Day _Event"
msgstr "_Ndodhi e Re e ditës"
-#: ../calendar/gui/e-calendar-view.c:1373
+#: calendar/gui/e-calendar-view.c:1373
msgid "New Task"
msgstr "Aktivitet i Ri"
#. FIXME: hook in this somehow
-#: ../calendar/gui/e-calendar-view.c:1383
+#: calendar/gui/e-calendar-view.c:1383
msgid "Current View"
msgstr "Paraqitja aktuale"
-#: ../calendar/gui/e-calendar-view.c:1385 ../ui/evolution-calendar.xml.h:26
+#: calendar/gui/e-calendar-view.c:1385 ui/evolution-calendar.xml.h:26
msgid "Select _Today"
msgstr "Zgjidh _Sot"
-#: ../calendar/gui/e-calendar-view.c:1386
+#: calendar/gui/e-calendar-view.c:1386
msgid "_Select Date..."
msgstr "_Zgjidh datën..."
#. TODO: Why is this in a context menu when it applies globally?
-#: ../calendar/gui/e-calendar-view.c:1391 ../ui/evolution-calendar.xml.h:45
+#: calendar/gui/e-calendar-view.c:1391 ui/evolution-calendar.xml.h:45
msgid "_Publish Free/Busy Information"
msgstr "_Publiko informacionet mbi disponibilitetin"
-#: ../calendar/gui/e-calendar-view.c:1407
+#: calendar/gui/e-calendar-view.c:1407
msgid "Cop_y to Calendar..."
msgstr "Kopjo_je në kalendar..."
-#: ../calendar/gui/e-calendar-view.c:1408
+#: calendar/gui/e-calendar-view.c:1408
msgid "Mo_ve to Calendar..."
msgstr "Lë_vize në kalendar..."
-#: ../calendar/gui/e-calendar-view.c:1409
+#: calendar/gui/e-calendar-view.c:1409
msgid "_Schedule Meeting..."
msgstr "_Planifiko Mbledhje..."
-#: ../calendar/gui/e-calendar-view.c:1410
+#: calendar/gui/e-calendar-view.c:1410
msgid "_Forward as iCalendar..."
msgstr "_Përcille si iCalendar..."
-#: ../calendar/gui/e-calendar-view.c:1415
+#: calendar/gui/e-calendar-view.c:1415
msgid "Make this Occurrence _Movable"
msgstr "Përcaktoje këtë ngjarje si të _lëvizëshme"
-#: ../calendar/gui/e-calendar-view.c:1416
+#: calendar/gui/e-calendar-view.c:1416
msgid "Delete this _Occurrence"
msgstr "Elemino këtë _përkujtimore"
-#: ../calendar/gui/e-calendar-view.c:1417
+#: calendar/gui/e-calendar-view.c:1417
msgid "Delete _All Occurrences"
msgstr "Elemino të _gjitha përkujtimoret"
@@ -6723,8 +6665,8 @@ msgstr "Elemino të _gjitha përkujtimoret"
#. in 24-hour format.
#. strftime format of a weekday, a date and a
#. time, in 24-hour format.
-#: ../calendar/gui/e-cell-date-edit-text.c:115 ../e-util/e-time-utils.c:180
-#: ../e-util/e-time-utils.c:393
+#: calendar/gui/e-cell-date-edit-text.c:115 e-util/e-time-utils.c:180
+#: e-util/e-time-utils.c:393
msgid "%a %m/%d/%Y %H:%M:%S"
msgstr "%a %m/%d/%Y %H:%M:%S"
@@ -6733,12 +6675,12 @@ msgstr "%a %m/%d/%Y %H:%M:%S"
#. in 12-hour format.
#. strftime format of a weekday, a date and a
#. time, in 12-hour format.
-#: ../calendar/gui/e-cell-date-edit-text.c:118 ../e-util/e-time-utils.c:175
-#: ../e-util/e-time-utils.c:402
+#: calendar/gui/e-cell-date-edit-text.c:118 e-util/e-time-utils.c:175
+#: e-util/e-time-utils.c:402
msgid "%a %m/%d/%Y %I:%M:%S %p"
msgstr "%a %m/%d/%Y %I:%M:%S %p"
-#: ../calendar/gui/e-cell-date-edit-text.c:123
+#: calendar/gui/e-cell-date-edit-text.c:123
#, c-format
msgid ""
"The date must be entered in the format: \n"
@@ -6749,7 +6691,7 @@ msgstr ""
"\n"
"%s"
-#: ../calendar/gui/e-day-view-time-item.c:527
+#: calendar/gui/e-day-view-time-item.c:527
#, c-format
msgid "%02i minute divisions"
msgstr "%02i ndarje për minutë"
@@ -6760,119 +6702,119 @@ msgstr "%02i ndarje për minutë"
#. month, %B = full month name. You can change the
#. order but don't change the specifiers or add
#. anything.
-#: ../calendar/gui/e-day-view-top-item.c:715 ../calendar/gui/e-day-view.c:1494
-#: ../calendar/gui/e-week-view-main-item.c:312 ../calendar/gui/print.c:1517
+#: calendar/gui/e-day-view-top-item.c:715 calendar/gui/e-day-view.c:1494
+#: calendar/gui/e-week-view-main-item.c:312 calendar/gui/print.c:1517
msgid "%A %d %B"
msgstr "%A %d %B"
#. String to use in 12-hour time format for times in the morning.
-#: ../calendar/gui/e-day-view.c:748 ../calendar/gui/e-week-view.c:512
-#: ../calendar/gui/print.c:841
+#: calendar/gui/e-day-view.c:748 calendar/gui/e-week-view.c:512
+#: calendar/gui/print.c:841
msgid "am"
msgstr "pd"
#. String to use in 12-hour time format for times in the afternoon.
-#: ../calendar/gui/e-day-view.c:751 ../calendar/gui/e-week-view.c:515
-#: ../calendar/gui/print.c:843
+#: calendar/gui/e-day-view.c:751 calendar/gui/e-week-view.c:515
+#: calendar/gui/print.c:843
msgid "pm"
msgstr "md"
-#: ../calendar/gui/e-itip-control.c:761
+#: calendar/gui/e-itip-control.c:761
msgid "Yes. (Complex Recurrence)"
msgstr "Po (Përkujtimore Komplekse)"
-#: ../calendar/gui/e-itip-control.c:772
+#: calendar/gui/e-itip-control.c:772
#, c-format
msgid "Every day"
msgid_plural "Every %d days"
msgstr[0] "Çdo ditë"
msgstr[1] "Çdo %d ditë"
-#: ../calendar/gui/e-itip-control.c:777
+#: calendar/gui/e-itip-control.c:777
#, c-format
msgid "Every week"
msgid_plural "Every %d weeks"
msgstr[0] "Çdo javë"
msgstr[1] "Çdo %d javë"
-#: ../calendar/gui/e-itip-control.c:779
+#: calendar/gui/e-itip-control.c:779
#, c-format
msgid "Every week on "
msgid_plural "Every %d weeks on "
msgstr[0] "Çdo javë të "
msgstr[1] "Çdo %d javë të "
-#: ../calendar/gui/e-itip-control.c:787
+#: calendar/gui/e-itip-control.c:787
msgid " and "
msgstr " dhe "
-#: ../calendar/gui/e-itip-control.c:794
+#: calendar/gui/e-itip-control.c:794
#, c-format
msgid "The %s day of "
msgstr "Ditën %s të "
-#: ../calendar/gui/e-itip-control.c:807
+#: calendar/gui/e-itip-control.c:807
#, c-format
msgid "The %s %s of "
msgstr "Të %s %s e "
-#: ../calendar/gui/e-itip-control.c:814
+#: calendar/gui/e-itip-control.c:814
#, c-format
msgid "every month"
msgid_plural "every %d months"
msgstr[0] "çdo muaj"
msgstr[1] "çdo %d muaj"
-#: ../calendar/gui/e-itip-control.c:818
+#: calendar/gui/e-itip-control.c:818
#, c-format
msgid "Every year"
msgid_plural "Every %d years"
msgstr[0] "Çdo vit"
msgstr[1] "Çdo %d vite"
-#: ../calendar/gui/e-itip-control.c:829
+#: calendar/gui/e-itip-control.c:829
#, c-format
msgid "a total of %d time"
msgid_plural " a total of %d times"
msgstr[0] " gjithsej %d herë"
msgstr[1] " gjithsej prej %d herësh"
-#: ../calendar/gui/e-itip-control.c:838
+#: calendar/gui/e-itip-control.c:838
msgid ", ending on "
msgstr ", që mbaron të "
-#: ../calendar/gui/e-itip-control.c:862
+#: calendar/gui/e-itip-control.c:862
msgid "Starts"
msgstr "Fillon"
-#: ../calendar/gui/e-itip-control.c:875
+#: calendar/gui/e-itip-control.c:875
msgid "Ends"
msgstr "Mbaron"
-#: ../calendar/gui/e-itip-control.c:909
+#: calendar/gui/e-itip-control.c:909
msgid "Due"
msgstr "Skadimi"
-#: ../calendar/gui/e-itip-control.c:949 ../calendar/gui/e-itip-control.c:1006
+#: calendar/gui/e-itip-control.c:949 calendar/gui/e-itip-control.c:1006
msgid "iCalendar Information"
msgstr "Informacione iCalendar"
#. Title
-#: ../calendar/gui/e-itip-control.c:966
+#: calendar/gui/e-itip-control.c:966
msgid "iCalendar Error"
msgstr "Gabim i iCalendar"
-#: ../calendar/gui/e-itip-control.c:1038 ../calendar/gui/e-itip-control.c:1054
-#: ../calendar/gui/e-itip-control.c:1065 ../calendar/gui/e-itip-control.c:1082
-#: ../plugins/itip-formatter/itip-view.c:329
-#: ../plugins/itip-formatter/itip-view.c:330
-#: ../plugins/itip-formatter/itip-view.c:397
-#: ../plugins/itip-formatter/itip-view.c:398
+#: calendar/gui/e-itip-control.c:1038 calendar/gui/e-itip-control.c:1054
+#: calendar/gui/e-itip-control.c:1065 calendar/gui/e-itip-control.c:1082
+#: plugins/itip-formatter/itip-view.c:329
+#: plugins/itip-formatter/itip-view.c:330
+#: plugins/itip-formatter/itip-view.c:397
+#: plugins/itip-formatter/itip-view.c:398
msgid "An unknown person"
msgstr "Një person i panjohur"
#. Describe what the user can do
-#: ../calendar/gui/e-itip-control.c:1089
+#: calendar/gui/e-itip-control.c:1089
msgid ""
"<br> Please review the following information, and then select an action from "
"the menu below."
@@ -6880,418 +6822,411 @@ msgstr ""
"<br>Ju lutem shikoni informacionet në vazhdim, e pastaj zgjidhni një veprim "
"nga menu e poshtme."
-#: ../calendar/gui/e-itip-control.c:1137
-#: ../calendar/gui/e-meeting-list-view.c:175
-#: ../calendar/gui/e-meeting-store.c:188 ../calendar/gui/e-meeting-store.c:211
-#: ../calendar/gui/itip-utils.c:421
-#: ../plugins/itip-formatter/itip-formatter.c:1389
+#: calendar/gui/e-itip-control.c:1137 calendar/gui/e-meeting-list-view.c:175
+#: calendar/gui/e-meeting-store.c:188 calendar/gui/e-meeting-store.c:211
+#: calendar/gui/itip-utils.c:421 plugins/itip-formatter/itip-formatter.c:1389
msgid "Accepted"
msgstr "U pranua"
-#: ../calendar/gui/e-itip-control.c:1141 ../calendar/gui/itip-utils.c:424
-#: ../plugins/itip-formatter/itip-formatter.c:1392
+#: calendar/gui/e-itip-control.c:1141 calendar/gui/itip-utils.c:424
+#: plugins/itip-formatter/itip-formatter.c:1392
msgid "Tentatively Accepted"
msgstr "U pranua me përpjekje"
-#: ../calendar/gui/e-itip-control.c:1145
-#: ../calendar/gui/e-meeting-list-view.c:176
-#: ../calendar/gui/e-meeting-store.c:190 ../calendar/gui/e-meeting-store.c:213
-#: ../calendar/gui/itip-utils.c:427 ../calendar/gui/itip-utils.c:453
-#: ../plugins/itip-formatter/itip-formatter.c:1395
+#: calendar/gui/e-itip-control.c:1145 calendar/gui/e-meeting-list-view.c:176
+#: calendar/gui/e-meeting-store.c:190 calendar/gui/e-meeting-store.c:213
+#: calendar/gui/itip-utils.c:427 calendar/gui/itip-utils.c:453
+#: plugins/itip-formatter/itip-formatter.c:1395
msgid "Declined"
msgstr "Nuk u pranua"
-#: ../calendar/gui/e-itip-control.c:1229
+#: calendar/gui/e-itip-control.c:1229
msgid ""
"The meeting has been cancelled, however it could not be found in your "
"calendars"
msgstr "Mbledhja është anulluar, sidoqoftë nuk gjendet në kalendarët tuaj"
-#: ../calendar/gui/e-itip-control.c:1231
+#: calendar/gui/e-itip-control.c:1231
msgid "The task has been cancelled, however it could not be found in your task lists"
msgstr ""
"Aktiviteti është anulluar, sidoqoftë nuk gjendet në listën tuaj të "
"aktiviteteve"
-#: ../calendar/gui/e-itip-control.c:1310
+#: calendar/gui/e-itip-control.c:1310
#, c-format
msgid "<b>%s</b> has published meeting information."
msgstr "<b>%s</b> ka publikuar informacione në lidhje me një mbledhje."
-#: ../calendar/gui/e-itip-control.c:1311
+#: calendar/gui/e-itip-control.c:1311
msgid "Meeting Information"
msgstr "Informacione mbi mbledhjen"
-#: ../calendar/gui/e-itip-control.c:1317
+#: calendar/gui/e-itip-control.c:1317
#, c-format
msgid "<b>%s</b> requests the presence of %s at a meeting."
msgstr "<b>%s</b> kërkon praninë e %s në një mbledhje."
-#: ../calendar/gui/e-itip-control.c:1319
+#: calendar/gui/e-itip-control.c:1319
#, c-format
msgid "<b>%s</b> requests your presence at a meeting."
msgstr "<b>%s</b> kërkon praninë tuaj në një mbledhje."
-#: ../calendar/gui/e-itip-control.c:1320
+#: calendar/gui/e-itip-control.c:1320
msgid "Meeting Proposal"
msgstr "Propozim mbledhjeje"
#. FIXME Whats going on here?
-#: ../calendar/gui/e-itip-control.c:1326
+#: calendar/gui/e-itip-control.c:1326
#, c-format
msgid "<b>%s</b> wishes to add to an existing meeting."
msgstr "<b>%s</b> dëshiron t'i shtohet një mbledhjeje ekzistuese."
-#: ../calendar/gui/e-itip-control.c:1327
+#: calendar/gui/e-itip-control.c:1327
msgid "Meeting Update"
msgstr "Rifreskimi i mbledhjes"
-#: ../calendar/gui/e-itip-control.c:1331
+#: calendar/gui/e-itip-control.c:1331
#, c-format
msgid "<b>%s</b> wishes to receive the latest meeting information."
msgstr "<b>%s</b> kërkon të marrë informacionet aktuale në lidhje me mbledhjen."
-#: ../calendar/gui/e-itip-control.c:1332
+#: calendar/gui/e-itip-control.c:1332
msgid "Meeting Update Request"
msgstr "Kërkesë për rifreskim mbledhjeje"
-#: ../calendar/gui/e-itip-control.c:1339
+#: calendar/gui/e-itip-control.c:1339
#, c-format
msgid "<b>%s</b> has replied to a meeting request."
msgstr "<b>%s</b> i është përgjigjur një kërkese për mbledhje."
-#: ../calendar/gui/e-itip-control.c:1340
+#: calendar/gui/e-itip-control.c:1340
msgid "Meeting Reply"
msgstr "Përgjigje mbledhjes"
-#: ../calendar/gui/e-itip-control.c:1347
+#: calendar/gui/e-itip-control.c:1347
#, c-format
msgid "<b>%s</b> has cancelled a meeting."
msgstr "<b>%s</b> ka anulluar një mbledhje."
-#: ../calendar/gui/e-itip-control.c:1348
+#: calendar/gui/e-itip-control.c:1348
msgid "Meeting Cancellation"
msgstr "Anullimi i mbledhjes"
-#: ../calendar/gui/e-itip-control.c:1358 ../calendar/gui/e-itip-control.c:1435
-#: ../calendar/gui/e-itip-control.c:1475
+#: calendar/gui/e-itip-control.c:1358 calendar/gui/e-itip-control.c:1435
+#: calendar/gui/e-itip-control.c:1475
#, c-format
msgid "<b>%s</b> has sent an unintelligible message."
msgstr "<b>%s</b> ka dërguar një mesazh të pakuptueshëm."
-#: ../calendar/gui/e-itip-control.c:1359
+#: calendar/gui/e-itip-control.c:1359
msgid "Bad Meeting Message"
msgstr "Mesazh i paqartë mbledhjeje"
-#: ../calendar/gui/e-itip-control.c:1386
+#: calendar/gui/e-itip-control.c:1386
#, c-format
msgid "<b>%s</b> has published task information."
msgstr "<b>%s</b> ka publikuar informacione në lidhje me aktivitetin."
-#: ../calendar/gui/e-itip-control.c:1387
+#: calendar/gui/e-itip-control.c:1387
msgid "Task Information"
msgstr "Informacione mbi aktivitetin"
-#: ../calendar/gui/e-itip-control.c:1394
+#: calendar/gui/e-itip-control.c:1394
#, c-format
msgid "<b>%s</b> requests %s to perform a task."
msgstr "<b>%s</b> kërkon që %s të kryejë një detyrë."
-#: ../calendar/gui/e-itip-control.c:1396
+#: calendar/gui/e-itip-control.c:1396
#, c-format
msgid "<b>%s</b> requests you perform a task."
msgstr "<b>%s</b> kërkon që ju të kryeni një detyrë."
-#: ../calendar/gui/e-itip-control.c:1397
+#: calendar/gui/e-itip-control.c:1397
msgid "Task Proposal"
msgstr "Propozim detyre"
#. FIXME Whats going on here?
-#: ../calendar/gui/e-itip-control.c:1403
+#: calendar/gui/e-itip-control.c:1403
#, c-format
msgid "<b>%s</b> wishes to add to an existing task."
msgstr "<b>%s</b> dëshiron të shtojë informacione mbi një aktivitet ekzistues."
-#: ../calendar/gui/e-itip-control.c:1404
+#: calendar/gui/e-itip-control.c:1404
msgid "Task Update"
msgstr "Rifreskimi i aktivitetit"
-#: ../calendar/gui/e-itip-control.c:1408
+#: calendar/gui/e-itip-control.c:1408
#, c-format
msgid "<b>%s</b> wishes to receive the latest task information."
msgstr "<b>%s</b> dëshiron të marrë informacionet aktualë të aktivitetit."
-#: ../calendar/gui/e-itip-control.c:1409
+#: calendar/gui/e-itip-control.c:1409
msgid "Task Update Request"
msgstr "Kërkesë për rifreskim aktiviteti"
-#: ../calendar/gui/e-itip-control.c:1416
+#: calendar/gui/e-itip-control.c:1416
#, c-format
msgid "<b>%s</b> has replied to a task assignment."
msgstr "<b>%s</b> i është përgjigjur caktimit të një detyre."
-#: ../calendar/gui/e-itip-control.c:1417
+#: calendar/gui/e-itip-control.c:1417
msgid "Task Reply"
msgstr "Përgjigje aktivitetit"
-#: ../calendar/gui/e-itip-control.c:1424
+#: calendar/gui/e-itip-control.c:1424
#, c-format
msgid "<b>%s</b> has cancelled a task."
msgstr "<b>%s</b> ka anulluar një aktivitet."
-#: ../calendar/gui/e-itip-control.c:1425
+#: calendar/gui/e-itip-control.c:1425
msgid "Task Cancellation"
msgstr "Anullimi i aktivitetit"
-#: ../calendar/gui/e-itip-control.c:1436
+#: calendar/gui/e-itip-control.c:1436
msgid "Bad Task Message"
msgstr "Mesazh i paqartë aktiviteti"
-#: ../calendar/gui/e-itip-control.c:1460
+#: calendar/gui/e-itip-control.c:1460
#, c-format
msgid "<b>%s</b> has published free/busy information."
msgstr "<b>%s</b> ka publikuar informacione mbi disponibilitetin."
-#: ../calendar/gui/e-itip-control.c:1461
+#: calendar/gui/e-itip-control.c:1461
msgid "Free/Busy Information"
msgstr "Informacione mbi gatishmërinë"
-#: ../calendar/gui/e-itip-control.c:1465
+#: calendar/gui/e-itip-control.c:1465
#, c-format
msgid "<b>%s</b> requests your free/busy information."
msgstr "<b>%s</b> kërkon informacione mbi gatishmërinë tuaj."
-#: ../calendar/gui/e-itip-control.c:1466
+#: calendar/gui/e-itip-control.c:1466
msgid "Free/Busy Request"
msgstr "Kërkesë disponibiliteti"
-#: ../calendar/gui/e-itip-control.c:1470
+#: calendar/gui/e-itip-control.c:1470
#, c-format
msgid "<b>%s</b> has replied to a free/busy request."
msgstr "<b>%s</b> i është përgjigjur një kërkese disponibiliteti."
-#: ../calendar/gui/e-itip-control.c:1471
+#: calendar/gui/e-itip-control.c:1471
msgid "Free/Busy Reply"
msgstr "Përgjigje gatishmërie"
-#: ../calendar/gui/e-itip-control.c:1476
+#: calendar/gui/e-itip-control.c:1476
msgid "Bad Free/Busy Message"
msgstr "Mesazh i paqartë gadishmërie"
-#: ../calendar/gui/e-itip-control.c:1551
+#: calendar/gui/e-itip-control.c:1551
msgid "The message does not appear to be properly formed"
msgstr "Mesazhi nuk është i formuar si duhet"
-#: ../calendar/gui/e-itip-control.c:1610
+#: calendar/gui/e-itip-control.c:1610
msgid "The message contains only unsupported requests."
msgstr "Mesazhi përmban vetëm kërkesa të pasuportuara."
-#: ../calendar/gui/e-itip-control.c:1643
+#: calendar/gui/e-itip-control.c:1643
msgid "The attachment does not contain a valid calendar message"
msgstr "I bashkangjituri nuk përmban një mesazh kalendari të vlefshëm"
-#: ../calendar/gui/e-itip-control.c:1675
+#: calendar/gui/e-itip-control.c:1675
msgid "The attachment has no viewable calendar items"
msgstr "I bashkangjituri nuk përmban elementë të shikueshëm kalendari"
-#: ../calendar/gui/e-itip-control.c:1909
+#: calendar/gui/e-itip-control.c:1909
msgid "Update complete\n"
msgstr "Rifreskimi u plotësua\n"
-#: ../calendar/gui/e-itip-control.c:1937
+#: calendar/gui/e-itip-control.c:1937
msgid "Object is invalid and cannot be updated\n"
msgstr "Objekti është i pavlefshëm dhe nuk mund të rifreskohet\n"
-#: ../calendar/gui/e-itip-control.c:1947
+#: calendar/gui/e-itip-control.c:1947
msgid "This response is not from a current attendee. Add as an attendee?"
msgstr "Kjo përgjigje nuk vjen nga një pjesmarrës aktual. T'a shtoj si pjesmarrës?"
-#: ../calendar/gui/e-itip-control.c:1959
+#: calendar/gui/e-itip-control.c:1959
msgid "Attendee status could not be updated because of an invalid status!\n"
msgstr ""
"Gjendja e pjesmarrësit nuk mund të rifreskohet për shkak të një gjendje të "
"pavlefshme!\n"
-#: ../calendar/gui/e-itip-control.c:1976
+#: calendar/gui/e-itip-control.c:1976
msgid "Attendee status updated\n"
msgstr "Gjendja e pjesmarrësit u rifreskua\n"
-#: ../calendar/gui/e-itip-control.c:1979
-#: ../plugins/itip-formatter/itip-formatter.c:852
+#: calendar/gui/e-itip-control.c:1979
+#: plugins/itip-formatter/itip-formatter.c:852
msgid "Attendee status can not be updated because the item no longer exists"
msgstr "Gjendja e pjesmarrësit nuk mund të rifreskohet pasi elementi nuk ekziston më"
-#: ../calendar/gui/e-itip-control.c:2006
+#: calendar/gui/e-itip-control.c:2006
msgid "Removal Complete"
msgstr "Heqja u plotësua"
-#: ../calendar/gui/e-itip-control.c:2029 ../calendar/gui/e-itip-control.c:2077
+#: calendar/gui/e-itip-control.c:2029 calendar/gui/e-itip-control.c:2077
msgid "Item sent!\n"
msgstr "Elementi u dërgua!\n"
-#: ../calendar/gui/e-itip-control.c:2031 ../calendar/gui/e-itip-control.c:2081
+#: calendar/gui/e-itip-control.c:2031 calendar/gui/e-itip-control.c:2081
msgid "The item could not be sent!\n"
msgstr "Elementi nuk mund të dërgohet!\n"
-#: ../calendar/gui/e-itip-control.c:2161
+#: calendar/gui/e-itip-control.c:2161
msgid "Choose an action:"
msgstr "Zgjidh një veprim:"
-#: ../calendar/gui/e-itip-control.c:2232
+#: calendar/gui/e-itip-control.c:2232
msgid "Update"
msgstr "Rifresko"
-#: ../calendar/gui/e-itip-control.c:2260
+#: calendar/gui/e-itip-control.c:2260
msgid "Accept"
msgstr "Prano"
-#: ../calendar/gui/e-itip-control.c:2261
+#: calendar/gui/e-itip-control.c:2261
msgid "Tentatively accept"
msgstr "Prano me përpjekje"
-#: ../calendar/gui/e-itip-control.c:2262
+#: calendar/gui/e-itip-control.c:2262
msgid "Decline"
msgstr "Refuzo"
-#: ../calendar/gui/e-itip-control.c:2291
+#: calendar/gui/e-itip-control.c:2291
msgid "Send Free/Busy Information"
msgstr "Dërgo Informacionin mbi disponibilitetin"
-#: ../calendar/gui/e-itip-control.c:2319
+#: calendar/gui/e-itip-control.c:2319
msgid "Update respondent status"
msgstr "Rifresko gjendjen e përgjigjes"
-#: ../calendar/gui/e-itip-control.c:2347
+#: calendar/gui/e-itip-control.c:2347
msgid "Send Latest Information"
msgstr "Dërgo informacionet aktuale"
-#: ../calendar/gui/e-itip-control.c:2375 ../calendar/gui/itip-utils.c:441
-#: ../mail/mail-send-recv.c:414 ../mail/mail-send-recv.c:466
-#: ../ui/evolution-mail-global.xml.h:1
+#: calendar/gui/e-itip-control.c:2375 calendar/gui/itip-utils.c:441
+#: mail/mail-send-recv.c:414 mail/mail-send-recv.c:466
+#: ui/evolution-mail-global.xml.h:1
msgid "Cancel"
msgstr "Anullo"
-#: ../calendar/gui/e-itip-control.glade.h:2
+#: calendar/gui/e-itip-control.glade.h:2
#, no-c-format
msgid "%P %%"
msgstr "%P %%"
-#: ../calendar/gui/e-itip-control.glade.h:3
+#: calendar/gui/e-itip-control.glade.h:3
msgid "--to--"
msgstr "--për--"
-#: ../calendar/gui/e-itip-control.glade.h:4
+#: calendar/gui/e-itip-control.glade.h:4
msgid "Calendar Message"
msgstr "Mesazh i kalendarit"
-#: ../calendar/gui/e-itip-control.glade.h:5
+#: calendar/gui/e-itip-control.glade.h:5
msgid "Date:"
msgstr "Data:"
-#: ../calendar/gui/e-itip-control.glade.h:7
+#: calendar/gui/e-itip-control.glade.h:7
msgid "Loading Calendar"
msgstr "Duke ngarkuar kalendarin"
-#: ../calendar/gui/e-itip-control.glade.h:8
+#: calendar/gui/e-itip-control.glade.h:8
msgid "Loading calendar..."
msgstr "Duke ngarkuar kalendarin..."
-#: ../calendar/gui/e-itip-control.glade.h:10
+#: calendar/gui/e-itip-control.glade.h:10
msgid "Server Message:"
msgstr "Mesazhi i serverit:"
-#: ../calendar/gui/e-itip-control.glade.h:12
+#: calendar/gui/e-itip-control.glade.h:12
msgid "date-end"
msgstr "përfundimi"
-#: ../calendar/gui/e-itip-control.glade.h:13
+#: calendar/gui/e-itip-control.glade.h:13
msgid "date-start"
msgstr "fillimi"
-#: ../calendar/gui/e-meeting-list-view.c:59
+#: calendar/gui/e-meeting-list-view.c:59
msgid "Chair Persons"
msgstr "Moderues"
-#: ../calendar/gui/e-meeting-list-view.c:60
-#: ../calendar/gui/e-meeting-list-view.c:124
+#: calendar/gui/e-meeting-list-view.c:60
+#: calendar/gui/e-meeting-list-view.c:124
msgid "Required Participants"
msgstr "Pjesëmarrës të nevojshëm"
-#: ../calendar/gui/e-meeting-list-view.c:61
+#: calendar/gui/e-meeting-list-view.c:61
msgid "Optional Participants"
msgstr "Pjesmarrës opcionalë"
-#: ../calendar/gui/e-meeting-list-view.c:62
+#: calendar/gui/e-meeting-list-view.c:62
msgid "Resources"
msgstr "Gjëndja"
-#: ../calendar/gui/e-meeting-list-view.c:135
-#: ../calendar/gui/e-meeting-store.c:99 ../calendar/gui/e-meeting-store.c:116
-#: ../calendar/gui/e-meeting-store.c:802
+#: calendar/gui/e-meeting-list-view.c:135 calendar/gui/e-meeting-store.c:99
+#: calendar/gui/e-meeting-store.c:116 calendar/gui/e-meeting-store.c:802
msgid "Individual"
msgstr "Vetjake"
-#: ../calendar/gui/e-meeting-list-view.c:136
-#: ../calendar/gui/e-meeting-store.c:101 ../calendar/gui/e-meeting-store.c:118
+#: calendar/gui/e-meeting-list-view.c:136 calendar/gui/e-meeting-store.c:101
+#: calendar/gui/e-meeting-store.c:118
msgid "Group"
msgstr "Grupi"
-#: ../calendar/gui/e-meeting-list-view.c:137
-#: ../calendar/gui/e-meeting-store.c:103 ../calendar/gui/e-meeting-store.c:120
+#: calendar/gui/e-meeting-list-view.c:137 calendar/gui/e-meeting-store.c:103
+#: calendar/gui/e-meeting-store.c:120
msgid "Resource"
msgstr "Burimi"
-#: ../calendar/gui/e-meeting-list-view.c:138
-#: ../calendar/gui/e-meeting-store.c:105 ../calendar/gui/e-meeting-store.c:122
+#: calendar/gui/e-meeting-list-view.c:138 calendar/gui/e-meeting-store.c:105
+#: calendar/gui/e-meeting-store.c:122
msgid "Room"
msgstr "Dhoma"
-#: ../calendar/gui/e-meeting-list-view.c:149
-#: ../calendar/gui/e-meeting-store.c:134 ../calendar/gui/e-meeting-store.c:151
+#: calendar/gui/e-meeting-list-view.c:149 calendar/gui/e-meeting-store.c:134
+#: calendar/gui/e-meeting-store.c:151
msgid "Chair"
msgstr "Moderues"
-#: ../calendar/gui/e-meeting-list-view.c:150
-#: ../calendar/gui/e-meeting-store.c:136 ../calendar/gui/e-meeting-store.c:153
-#: ../calendar/gui/e-meeting-store.c:805
+#: calendar/gui/e-meeting-list-view.c:150 calendar/gui/e-meeting-store.c:136
+#: calendar/gui/e-meeting-store.c:153 calendar/gui/e-meeting-store.c:805
msgid "Required Participant"
msgstr "Pjesmarrësi i kërkuar"
-#: ../calendar/gui/e-meeting-list-view.c:151
-#: ../calendar/gui/e-meeting-store.c:138 ../calendar/gui/e-meeting-store.c:155
+#: calendar/gui/e-meeting-list-view.c:151 calendar/gui/e-meeting-store.c:138
+#: calendar/gui/e-meeting-store.c:155
msgid "Optional Participant"
msgstr "Pjesmarrës shtesë"
-#: ../calendar/gui/e-meeting-list-view.c:152
-#: ../calendar/gui/e-meeting-store.c:140 ../calendar/gui/e-meeting-store.c:157
+#: calendar/gui/e-meeting-list-view.c:152 calendar/gui/e-meeting-store.c:140
+#: calendar/gui/e-meeting-store.c:157
msgid "Non-Participant"
msgstr "Jo pjesmarrës"
-#: ../calendar/gui/e-meeting-list-view.c:174
-#: ../calendar/gui/e-meeting-store.c:186 ../calendar/gui/e-meeting-store.c:209
-#: ../calendar/gui/e-meeting-store.c:815
+#: calendar/gui/e-meeting-list-view.c:174 calendar/gui/e-meeting-store.c:186
+#: calendar/gui/e-meeting-store.c:209 calendar/gui/e-meeting-store.c:815
msgid "Needs Action"
msgstr "Kërkon veprim"
-#: ../calendar/gui/e-meeting-list-view.c:177
-#: ../calendar/gui/e-meeting-store.c:192 ../calendar/gui/e-meeting-store.c:215
-#: ../calendar/gui/e-meeting-time-sel.c:411
+#: calendar/gui/e-meeting-list-view.c:177 calendar/gui/e-meeting-store.c:192
+#: calendar/gui/e-meeting-store.c:215 calendar/gui/e-meeting-time-sel.c:411
msgid "Tentative"
msgstr "Përpjekje"
-#: ../calendar/gui/e-meeting-list-view.c:178
-#: ../calendar/gui/e-meeting-store.c:194 ../calendar/gui/e-meeting-store.c:217
+#: calendar/gui/e-meeting-list-view.c:178 calendar/gui/e-meeting-store.c:194
+#: calendar/gui/e-meeting-store.c:217
msgid "Delegated"
msgstr "Deleguar"
-#: ../calendar/gui/e-meeting-store.c:198 ../calendar/gui/e-meeting-store.c:221
+#: calendar/gui/e-meeting-store.c:198 calendar/gui/e-meeting-store.c:221
msgid "In Process"
msgstr "Në proçes"
#. This is a strftime() format string %A = full weekday name,
#. %B = full month name, %d = month day, %Y = full year.
-#: ../calendar/gui/e-meeting-time-sel-item.c:444
-#: ../calendar/gui/e-meeting-time-sel.c:2104
+#: calendar/gui/e-meeting-time-sel-item.c:444
+#: calendar/gui/e-meeting-time-sel.c:2104
msgid "%A, %B %d, %Y"
msgstr "%A, %B %d, %Y"
@@ -7301,9 +7236,9 @@ msgstr "%A, %B %d, %Y"
#. %m = month number, %d = month day, %Y = full year.
#. strptime format of a weekday and a date.
#. strftime format of a weekday and a date.
-#: ../calendar/gui/e-meeting-time-sel-item.c:448
-#: ../calendar/gui/e-meeting-time-sel.c:2137 ../e-util/e-time-utils.c:203
-#: ../e-util/e-time-utils.c:296 ../e-util/e-time-utils.c:384
+#: calendar/gui/e-meeting-time-sel-item.c:448
+#: calendar/gui/e-meeting-time-sel.c:2137 e-util/e-time-utils.c:203
+#: e-util/e-time-utils.c:296 e-util/e-time-utils.c:384
msgid "%a %m/%d/%Y"
msgstr "%a %m/%d/%Y"
@@ -7313,69 +7248,69 @@ msgstr "%a %m/%d/%Y"
#. This is the preferred date format for the locale.
#. This is a strftime() format for a short date. %m = month,
#. %d = day of month, %Y = year (all digits).
-#: ../calendar/gui/e-meeting-time-sel-item.c:452 ../e-util/e-time-utils.c:238
-#: ../e-util/e-time-utils.c:299 ../widgets/misc/e-dateedit.c:1660
+#: calendar/gui/e-meeting-time-sel-item.c:452 e-util/e-time-utils.c:238
+#: e-util/e-time-utils.c:299 widgets/misc/e-dateedit.c:1660
msgid "%m/%d/%Y"
msgstr "%m/%d/%Y"
-#: ../calendar/gui/e-meeting-time-sel.c:413 ../designs/OOA/ooa.glade.h:11
+#: calendar/gui/e-meeting-time-sel.c:413 designs/OOA/ooa.glade.h:11
msgid "Out of Office"
msgstr "Jashtë Zyre"
-#: ../calendar/gui/e-meeting-time-sel.c:414
+#: calendar/gui/e-meeting-time-sel.c:414
msgid "No Information"
msgstr "Asnjë Informacion"
-#: ../calendar/gui/e-meeting-time-sel.c:445
+#: calendar/gui/e-meeting-time-sel.c:445
msgid "O_ptions"
msgstr "M_undësitë"
-#: ../calendar/gui/e-meeting-time-sel.c:462
+#: calendar/gui/e-meeting-time-sel.c:462
msgid "Show _only working hours"
msgstr "Shfaq _vetëm orët e punës"
-#: ../calendar/gui/e-meeting-time-sel.c:472
+#: calendar/gui/e-meeting-time-sel.c:472
msgid "Show _zoomed out"
msgstr "Shfaqe të _zvogëluar"
-#: ../calendar/gui/e-meeting-time-sel.c:487
+#: calendar/gui/e-meeting-time-sel.c:487
msgid "_Update free/busy"
msgstr "_Rifresko disponibilitetin"
-#: ../calendar/gui/e-meeting-time-sel.c:502
+#: calendar/gui/e-meeting-time-sel.c:502
msgid "_<<"
msgstr "_<<"
-#: ../calendar/gui/e-meeting-time-sel.c:520
+#: calendar/gui/e-meeting-time-sel.c:520
msgid "_Autopick"
msgstr "_Autopick"
-#: ../calendar/gui/e-meeting-time-sel.c:535
+#: calendar/gui/e-meeting-time-sel.c:535
msgid ">_>"
msgstr ">_>"
-#: ../calendar/gui/e-meeting-time-sel.c:552
+#: calendar/gui/e-meeting-time-sel.c:552
msgid "_All people and resources"
msgstr "Të _gjithë personat dhe gjëndjen"
-#: ../calendar/gui/e-meeting-time-sel.c:561
+#: calendar/gui/e-meeting-time-sel.c:561
msgid "All _people and one resource"
msgstr "Të gjithë _personat dhe një gjëndje"
-#: ../calendar/gui/e-meeting-time-sel.c:570
+#: calendar/gui/e-meeting-time-sel.c:570
msgid "_Required people"
msgstr "_Persona të kërkuar"
-#: ../calendar/gui/e-meeting-time-sel.c:579
+#: calendar/gui/e-meeting-time-sel.c:579
msgid "Required people and _one resource"
msgstr "Personat e duhur dhe _një gjëndje"
-#: ../calendar/gui/e-pub-utils.c:300
+#: calendar/gui/e-pub-utils.c:300
#, c-format
msgid "Enter the password for %s"
msgstr "Shkruaj fjalëkalimin për %s"
-#: ../calendar/gui/e-tasks.c:763 ../calendar/gui/gnome-cal.c:2372
+#: calendar/gui/e-tasks.c:763 calendar/gui/gnome-cal.c:2372
#, c-format
msgid ""
"Error on %s:\n"
@@ -7384,185 +7319,185 @@ msgstr ""
"Gabim në %s:\n"
" %s"
-#: ../calendar/gui/e-tasks.c:811
+#: calendar/gui/e-tasks.c:811
msgid "Loading tasks"
msgstr "Duke ngarkuar aktivitetet"
-#: ../calendar/gui/e-tasks.c:895
+#: calendar/gui/e-tasks.c:895
#, c-format
msgid "Opening tasks at %s"
msgstr "Duke lexuar aktivitetet tek %s"
-#: ../calendar/gui/e-tasks.c:1091
+#: calendar/gui/e-tasks.c:1091
msgid "Completing tasks..."
msgstr "Duke plotësuar aktivitetet..."
-#: ../calendar/gui/e-tasks.c:1114
+#: calendar/gui/e-tasks.c:1114
msgid "Deleting selected objects..."
msgstr "Duke eleminuar objektet e zgjedhur..."
-#: ../calendar/gui/e-tasks.c:1141
+#: calendar/gui/e-tasks.c:1141
msgid "Expunging"
msgstr "Duke pastruar"
-#: ../calendar/gui/e-timezone-entry.c:133
+#: calendar/gui/e-timezone-entry.c:133
msgid "Timezone Button"
msgstr "Pulsanti i zonës orare"
#. strftime format %d = day of month, %B = full
#. month name. You can change the order but don't
#. change the specifiers or add anything.
-#: ../calendar/gui/e-week-view-main-item.c:329 ../calendar/gui/print.c:1501
+#: calendar/gui/e-week-view-main-item.c:329 calendar/gui/print.c:1501
msgid "%d %B"
msgstr "%d %B"
-#: ../calendar/gui/gnome-cal.c:718
+#: calendar/gui/gnome-cal.c:718
msgid "Updating query"
msgstr "Duke rifreskuar kërkesën"
#. bonobo displays this string so it must be in locale
-#: ../calendar/gui/gnome-cal.c:2057 ../widgets/menus/gal-view-menus.c:351
+#: calendar/gui/gnome-cal.c:2057 widgets/menus/gal-view-menus.c:351
msgid "Custom View"
msgstr "Paraqitja e personalizuar"
-#: ../calendar/gui/gnome-cal.c:2058
+#: calendar/gui/gnome-cal.c:2058
msgid "Save Custom View"
msgstr "Ruaj paraqitjen e personalizuar"
-#: ../calendar/gui/gnome-cal.c:2063 ../widgets/menus/gal-view-menus.c:373
+#: calendar/gui/gnome-cal.c:2063 widgets/menus/gal-view-menus.c:373
msgid "Define Views..."
msgstr "Përcakto paraqitjet..."
-#: ../calendar/gui/gnome-cal.c:2222
+#: calendar/gui/gnome-cal.c:2222
#, c-format
msgid "Loading appointments at %s"
msgstr "Duke lexuar takimet tek %s"
-#: ../calendar/gui/gnome-cal.c:2241
+#: calendar/gui/gnome-cal.c:2241
#, c-format
msgid "Loading tasks at %s"
msgstr "Duke lexuar aktivitetet tek %s"
-#: ../calendar/gui/gnome-cal.c:2338
+#: calendar/gui/gnome-cal.c:2338
#, c-format
msgid "Opening %s"
msgstr "Duke hapur %s"
-#: ../calendar/gui/gnome-cal.c:3228
+#: calendar/gui/gnome-cal.c:3228
msgid "Purging"
msgstr "Duke pastruar"
-#: ../calendar/gui/goto-dialog.glade.h:1
+#: calendar/gui/goto-dialog.glade.h:1
msgid "April"
msgstr "Prill"
-#: ../calendar/gui/goto-dialog.glade.h:2
+#: calendar/gui/goto-dialog.glade.h:2
msgid "August"
msgstr "Gusht"
-#: ../calendar/gui/goto-dialog.glade.h:3
+#: calendar/gui/goto-dialog.glade.h:3
msgid "December"
msgstr "Dhjetor"
-#: ../calendar/gui/goto-dialog.glade.h:4
+#: calendar/gui/goto-dialog.glade.h:4
msgid "February"
msgstr "Shkurt"
-#: ../calendar/gui/goto-dialog.glade.h:5
+#: calendar/gui/goto-dialog.glade.h:5
msgid "January"
msgstr "Janar"
-#: ../calendar/gui/goto-dialog.glade.h:6
+#: calendar/gui/goto-dialog.glade.h:6
msgid "July"
msgstr "Korrik"
-#: ../calendar/gui/goto-dialog.glade.h:7
+#: calendar/gui/goto-dialog.glade.h:7
msgid "June"
msgstr "Qershor"
-#: ../calendar/gui/goto-dialog.glade.h:8
+#: calendar/gui/goto-dialog.glade.h:8
msgid "March"
msgstr "Mars"
-#: ../calendar/gui/goto-dialog.glade.h:9
+#: calendar/gui/goto-dialog.glade.h:9
msgid "May"
msgstr "Maj"
-#: ../calendar/gui/goto-dialog.glade.h:10
+#: calendar/gui/goto-dialog.glade.h:10
msgid "November"
msgstr "Nëntor"
-#: ../calendar/gui/goto-dialog.glade.h:11
+#: calendar/gui/goto-dialog.glade.h:11
msgid "October"
msgstr "Tetor"
-#: ../calendar/gui/goto-dialog.glade.h:12
+#: calendar/gui/goto-dialog.glade.h:12
msgid "Select Date"
msgstr "Zgjidh datën"
-#: ../calendar/gui/goto-dialog.glade.h:13
+#: calendar/gui/goto-dialog.glade.h:13
msgid "September"
msgstr "Shtator"
-#: ../calendar/gui/goto-dialog.glade.h:14
+#: calendar/gui/goto-dialog.glade.h:14
msgid "_Select Today"
msgstr "_Zgjidh Sot"
-#: ../calendar/gui/itip-utils.c:270 ../calendar/gui/itip-utils.c:318
-#: ../calendar/gui/itip-utils.c:350
+#: calendar/gui/itip-utils.c:270 calendar/gui/itip-utils.c:318
+#: calendar/gui/itip-utils.c:350
msgid "An organizer must be set."
msgstr "Duhet të jetë përcaktuar një organizues."
-#: ../calendar/gui/itip-utils.c:305
+#: calendar/gui/itip-utils.c:305
msgid "At least one attendee is necessary"
msgstr "Nevoitet të paktën një pjesmarrës"
-#: ../calendar/gui/itip-utils.c:393 ../calendar/gui/itip-utils.c:502
+#: calendar/gui/itip-utils.c:393 calendar/gui/itip-utils.c:502
msgid "Event information"
msgstr "Informacione mbi ngjarjen"
-#: ../calendar/gui/itip-utils.c:395 ../calendar/gui/itip-utils.c:504
+#: calendar/gui/itip-utils.c:395 calendar/gui/itip-utils.c:504
msgid "Task information"
msgstr "Informacione mbi aktivitetin"
-#: ../calendar/gui/itip-utils.c:397 ../calendar/gui/itip-utils.c:506
+#: calendar/gui/itip-utils.c:397 calendar/gui/itip-utils.c:506
msgid "Journal information"
msgstr "Informacione mbi gazetën"
-#: ../calendar/gui/itip-utils.c:399 ../calendar/gui/itip-utils.c:524
+#: calendar/gui/itip-utils.c:399 calendar/gui/itip-utils.c:524
msgid "Free/Busy information"
msgstr "Informacione mbi gatishmërinë"
-#: ../calendar/gui/itip-utils.c:401
+#: calendar/gui/itip-utils.c:401
msgid "Calendar information"
msgstr "Informacione mbi kalendarin"
-#: ../calendar/gui/itip-utils.c:437
+#: calendar/gui/itip-utils.c:437
msgid "Updated"
msgstr "U rifreskua"
-#: ../calendar/gui/itip-utils.c:445
+#: calendar/gui/itip-utils.c:445
msgid "Refresh"
msgstr "Rifresko"
-#: ../calendar/gui/itip-utils.c:449
+#: calendar/gui/itip-utils.c:449
msgid "Counter-proposal"
msgstr "Kundër propozim"
-#: ../calendar/gui/itip-utils.c:520
+#: calendar/gui/itip-utils.c:520
#, c-format
msgid "Free/Busy information (%s to %s)"
msgstr "Informacione mbi gatishmërinë (nga %s në %s)"
-#: ../calendar/gui/itip-utils.c:530
+#: calendar/gui/itip-utils.c:530
msgid "iCalendar information"
msgstr "Informacione iCalendar"
-#: ../calendar/gui/itip-utils.c:672
+#: calendar/gui/itip-utils.c:672
msgid "You must be an attendee of the event."
msgstr "Duhet të jeni pjesmarrës i ngjarjes."
-#: ../calendar/gui/migration.c:151
+#: calendar/gui/migration.c:151
msgid ""
"The location and hierarchy of the Evolution task folders has changed since "
"Evolution 1.x.\n"
@@ -7574,7 +7509,7 @@ msgstr ""
"\n"
"Durim sa Evolution të migrojë kartelat tuaja..."
-#: ../calendar/gui/migration.c:155
+#: calendar/gui/migration.c:155
msgid ""
"The location and hierarchy of the Evolution calendar folders has changed "
"since Evolution 1.x.\n"
@@ -7587,319 +7522,319 @@ msgstr ""
"Durim sa Evolution të migrojë kartelat tuaja..."
#. FIXME: set proper domain/code
-#: ../calendar/gui/migration.c:745 ../calendar/gui/migration.c:912
+#: calendar/gui/migration.c:745 calendar/gui/migration.c:912
msgid "Unable to migrate old settings from evolution/config.xmldb"
msgstr "I pamundur migrimi i rregullimeve të vjetra nga evolution/config.xmldb"
#. FIXME: domain/code
-#: ../calendar/gui/migration.c:774
+#: calendar/gui/migration.c:774
#, c-format
msgid "Unable to migrate calendar `%s'"
msgstr "I pamundur migrimi i kalendarit `%s'"
#. FIXME: domain/code
-#: ../calendar/gui/migration.c:941
+#: calendar/gui/migration.c:941
#, c-format
msgid "Unable to migrate tasks `%s'"
msgstr "I pamundur migrimi i aktiviteteve `%s'"
-#: ../calendar/gui/print.c:492
+#: calendar/gui/print.c:492
msgid "1st"
msgstr "1-ri"
-#: ../calendar/gui/print.c:492
+#: calendar/gui/print.c:492
msgid "2nd"
msgstr "2-ti"
-#: ../calendar/gui/print.c:492
+#: calendar/gui/print.c:492
msgid "3rd"
msgstr "3-ti"
-#: ../calendar/gui/print.c:492
+#: calendar/gui/print.c:492
msgid "4th"
msgstr "4-ti"
-#: ../calendar/gui/print.c:492
+#: calendar/gui/print.c:492
msgid "5th"
msgstr "5-ti"
-#: ../calendar/gui/print.c:493
+#: calendar/gui/print.c:493
msgid "6th"
msgstr "6-ti"
-#: ../calendar/gui/print.c:493
+#: calendar/gui/print.c:493
msgid "7th"
msgstr "7-ti"
-#: ../calendar/gui/print.c:493
+#: calendar/gui/print.c:493
msgid "8th"
msgstr "8-ti"
-#: ../calendar/gui/print.c:493
+#: calendar/gui/print.c:493
msgid "9th"
msgstr "9-ti"
-#: ../calendar/gui/print.c:493
+#: calendar/gui/print.c:493
msgid "10th"
msgstr "10-ti"
-#: ../calendar/gui/print.c:494
+#: calendar/gui/print.c:494
msgid "11th"
msgstr "11-ti"
-#: ../calendar/gui/print.c:494
+#: calendar/gui/print.c:494
msgid "12th"
msgstr "12-ti"
-#: ../calendar/gui/print.c:494
+#: calendar/gui/print.c:494
msgid "13th"
msgstr "13-ti"
-#: ../calendar/gui/print.c:494
+#: calendar/gui/print.c:494
msgid "14th"
msgstr "14-ti"
-#: ../calendar/gui/print.c:494
+#: calendar/gui/print.c:494
msgid "15th"
msgstr "15-ti"
-#: ../calendar/gui/print.c:495
+#: calendar/gui/print.c:495
msgid "16th"
msgstr "16-ti"
-#: ../calendar/gui/print.c:495
+#: calendar/gui/print.c:495
msgid "17th"
msgstr "17-ti"
-#: ../calendar/gui/print.c:495
+#: calendar/gui/print.c:495
msgid "18th"
msgstr "18-ti"
-#: ../calendar/gui/print.c:495
+#: calendar/gui/print.c:495
msgid "19th"
msgstr "19-ti"
-#: ../calendar/gui/print.c:495
+#: calendar/gui/print.c:495
msgid "20th"
msgstr "20-ti"
-#: ../calendar/gui/print.c:496
+#: calendar/gui/print.c:496
msgid "21st"
msgstr "21-ti"
-#: ../calendar/gui/print.c:496
+#: calendar/gui/print.c:496
msgid "22nd"
msgstr "22-ti"
-#: ../calendar/gui/print.c:496
+#: calendar/gui/print.c:496
msgid "23rd"
msgstr "23-ti"
-#: ../calendar/gui/print.c:496
+#: calendar/gui/print.c:496
msgid "24th"
msgstr "24-ti"
-#: ../calendar/gui/print.c:496
+#: calendar/gui/print.c:496
msgid "25th"
msgstr "25-ti"
-#: ../calendar/gui/print.c:497
+#: calendar/gui/print.c:497
msgid "26th"
msgstr "26-ti"
-#: ../calendar/gui/print.c:497
+#: calendar/gui/print.c:497
msgid "27th"
msgstr "27-ti"
-#: ../calendar/gui/print.c:497
+#: calendar/gui/print.c:497
msgid "28th"
msgstr "28-ti"
-#: ../calendar/gui/print.c:497
+#: calendar/gui/print.c:497
msgid "29th"
msgstr "29-ti"
-#: ../calendar/gui/print.c:497
+#: calendar/gui/print.c:497
msgid "30th"
msgstr "30-ti"
-#: ../calendar/gui/print.c:498
+#: calendar/gui/print.c:498
msgid "31st"
msgstr "31-ti"
-#: ../calendar/gui/print.c:573
+#: calendar/gui/print.c:573
msgid "Su"
msgstr "Dj"
-#: ../calendar/gui/print.c:573
+#: calendar/gui/print.c:573
msgid "Mo"
msgstr "Hë"
-#: ../calendar/gui/print.c:573
+#: calendar/gui/print.c:573
msgid "Tu"
msgstr "Ma"
-#: ../calendar/gui/print.c:573
+#: calendar/gui/print.c:573
msgid "We"
msgstr "Më"
-#: ../calendar/gui/print.c:574
+#: calendar/gui/print.c:574
msgid "Th"
msgstr "En"
-#: ../calendar/gui/print.c:574
+#: calendar/gui/print.c:574
msgid "Fr"
msgstr "Pr"
-#: ../calendar/gui/print.c:574
+#: calendar/gui/print.c:574
msgid "Sa"
msgstr "Sh"
#. Day
-#: ../calendar/gui/print.c:1917
+#: calendar/gui/print.c:1917
msgid "Selected day (%a %b %d %Y)"
msgstr "Dita e zgjedhur (%a %b %d %Y)"
-#: ../calendar/gui/print.c:1942 ../calendar/gui/print.c:1946
+#: calendar/gui/print.c:1942 calendar/gui/print.c:1946
msgid "%a %b %d"
msgstr "%a %b %d"
-#: ../calendar/gui/print.c:1943
+#: calendar/gui/print.c:1943
msgid "%a %d %Y"
msgstr "%a %d %Y"
-#: ../calendar/gui/print.c:1947 ../calendar/gui/print.c:1949
-#: ../calendar/gui/print.c:1950
+#: calendar/gui/print.c:1947 calendar/gui/print.c:1949
+#: calendar/gui/print.c:1950
msgid "%a %b %d %Y"
msgstr "%a %b %d %Y"
-#: ../calendar/gui/print.c:1954
+#: calendar/gui/print.c:1954
#, c-format
msgid "Selected week (%s - %s)"
msgstr "Java e zgjedhur (%s - %s)"
#. Month
-#: ../calendar/gui/print.c:1962
+#: calendar/gui/print.c:1962
msgid "Selected month (%b %Y)"
msgstr "Muaji i zgjedhur (%b %Y)"
#. Year
-#: ../calendar/gui/print.c:1969
+#: calendar/gui/print.c:1969
msgid "Selected year (%Y)"
msgstr "Viti i zgjedhur (%Y)"
-#: ../calendar/gui/print.c:2359
+#: calendar/gui/print.c:2359
#, c-format
msgid "Status: %s"
msgstr "Gjendja: %s"
-#: ../calendar/gui/print.c:2376
+#: calendar/gui/print.c:2376
#, c-format
msgid "Priority: %s"
msgstr "Prioriteti: %s"
-#: ../calendar/gui/print.c:2388
+#: calendar/gui/print.c:2388
#, c-format
msgid "Percent Complete: %i"
msgstr "Përqind plotësuar: %i"
-#: ../calendar/gui/print.c:2400
+#: calendar/gui/print.c:2400
#, c-format
msgid "URL: %s"
msgstr "URL: %s"
-#: ../calendar/gui/print.c:2414
+#: calendar/gui/print.c:2414
#, c-format
msgid "Categories: %s"
msgstr "Kategoritë: %s"
-#: ../calendar/gui/print.c:2425
+#: calendar/gui/print.c:2425
msgid "Contacts: "
msgstr "Kontakte: "
-#: ../calendar/gui/print.c:2565 ../calendar/gui/print.c:2653
-#: ../calendar/gui/print.c:2779 ../mail/em-format-html-print.c:178
+#: calendar/gui/print.c:2565 calendar/gui/print.c:2653
+#: calendar/gui/print.c:2779 mail/em-format-html-print.c:178
msgid "Print Preview"
msgstr "Pamja e parë e printimit"
-#: ../calendar/gui/print.c:2600
+#: calendar/gui/print.c:2600
msgid "Print Item"
msgstr "Printo elementin"
-#: ../calendar/gui/tasks-component.c:428
+#: calendar/gui/tasks-component.c:428
msgid "New Task List"
msgstr "Listë e Re Aktivitetesh"
-#: ../calendar/gui/tasks-component.c:504
+#: calendar/gui/tasks-component.c:504
#, c-format
msgid "%d task"
msgid_plural "%d tasks"
msgstr[0] "%d aktivitet"
msgstr[1] "%d aktivitete"
-#: ../calendar/gui/tasks-component.c:506 ../mail/mail-component.c:544
+#: calendar/gui/tasks-component.c:506 mail/mail-component.c:544
#, c-format
msgid ", %d selected"
msgid_plural ", %d selected"
msgstr[0] ", %d i zgjedhur"
msgstr[1] ", %d të zgjedhur"
-#: ../calendar/gui/tasks-component.c:553
+#: calendar/gui/tasks-component.c:553
msgid "Failed upgrading tasks."
msgstr "Rifreskimi i aktiviteteve dështoi."
-#: ../calendar/gui/tasks-component.c:847
+#: calendar/gui/tasks-component.c:847
#, c-format
msgid "Unable to open the task list '%s' for creating events and meetings"
msgstr ""
"E pamundur hapja e listës së aktiviteve '%s' për të krijuar ngjarje dhe "
"mbledhje"
-#: ../calendar/gui/tasks-component.c:862
+#: calendar/gui/tasks-component.c:862
msgid "There is no calendar available for creating tasks"
msgstr "Asnjë kalendar në dispozicion për të krijuar aktivitete"
-#: ../calendar/gui/tasks-component.c:956
+#: calendar/gui/tasks-component.c:956
msgid "Task Source Selector"
msgstr "Zgjedhësi i origjinës së detyrës"
-#: ../calendar/gui/tasks-component.c:1139
+#: calendar/gui/tasks-component.c:1139
msgid "New task"
msgstr "Aktivitet i ri"
-#: ../calendar/gui/tasks-component.c:1140
+#: calendar/gui/tasks-component.c:1140
msgid "_Task"
msgstr "_Aktivitet"
-#: ../calendar/gui/tasks-component.c:1141
+#: calendar/gui/tasks-component.c:1141
msgid "Create a new task"
msgstr "Krijo një aktivitet të ri"
-#: ../calendar/gui/tasks-component.c:1147
+#: calendar/gui/tasks-component.c:1147
msgid "New assigned task"
msgstr "Aktivitet i ri i caktuar"
-#: ../calendar/gui/tasks-component.c:1148
+#: calendar/gui/tasks-component.c:1148
msgid "Assigne_d Task"
msgstr "Aktivitet i caktua_r"
-#: ../calendar/gui/tasks-component.c:1149
+#: calendar/gui/tasks-component.c:1149
msgid "Create a new assigned task"
msgstr "Krijo një aktivitet të ri të caktuar"
-#: ../calendar/gui/tasks-component.c:1155
+#: calendar/gui/tasks-component.c:1155
msgid "New task list"
msgstr "Listë e re aktivitetesh"
-#: ../calendar/gui/tasks-component.c:1156
+#: calendar/gui/tasks-component.c:1156
msgid "Task l_ist"
msgstr "L_ista e aktiviteteve"
-#: ../calendar/gui/tasks-component.c:1157
+#: calendar/gui/tasks-component.c:1157
msgid "Create a new task list"
msgstr "Krijo një listë të re aktivitetesh"
-#: ../calendar/gui/tasks-control.c:370
+#: calendar/gui/tasks-control.c:370
msgid ""
"This operation will permanently erase all tasks marked as completed. If you "
"continue, you will not be able to recover these tasks.\n"
@@ -7912,52 +7847,52 @@ msgstr ""
"\n"
"Eleminoj aktivitetet?"
-#: ../calendar/gui/tasks-control.c:373
+#: calendar/gui/tasks-control.c:373
msgid "Do not ask me again."
msgstr "Mos më pyet më."
-#: ../calendar/gui/tasks-control.c:408
+#: calendar/gui/tasks-control.c:408
msgid "Print Tasks"
msgstr "Printo aktivitetet"
#. The first letter of each day of the week starting with Sunday
-#: ../calendar/gui/weekday-picker.c:319
+#: calendar/gui/weekday-picker.c:319
msgid "SMTWTFS"
msgstr "SMTWTFS"
-#: ../calendar/importers/GNOME_Evolution_Calendar_Importer.server.in.in.h:1
+#: calendar/importers/GNOME_Evolution_Calendar_Importer.server.in.in.h:1
msgid "Evolution Calendar intelligent importer"
msgstr "Importuesi inteligjent i Kalendarit të Evolution"
-#: ../calendar/importers/GNOME_Evolution_Calendar_Importer.server.in.in.h:2
+#: calendar/importers/GNOME_Evolution_Calendar_Importer.server.in.in.h:2
msgid "Evolution iCalendar importer"
msgstr "Importuesi iCalendar i Evolution"
-#: ../calendar/importers/GNOME_Evolution_Calendar_Importer.server.in.in.h:3
+#: calendar/importers/GNOME_Evolution_Calendar_Importer.server.in.in.h:3
msgid "Evolution vCalendar importer"
msgstr "Importuesi vCalendar i Evolution"
-#: ../calendar/importers/GNOME_Evolution_Calendar_Importer.server.in.in.h:4
+#: calendar/importers/GNOME_Evolution_Calendar_Importer.server.in.in.h:4
msgid "iCalendar files (.ics)"
msgstr "Files iCalendar (.ics)"
-#: ../calendar/importers/GNOME_Evolution_Calendar_Importer.server.in.in.h:5
+#: calendar/importers/GNOME_Evolution_Calendar_Importer.server.in.in.h:5
msgid "vCalendar files (.vcf)"
msgstr "Files vCalendar (.vcf)"
-#: ../calendar/importers/icalendar-importer.c:82
+#: calendar/importers/icalendar-importer.c:82
msgid "Appointments and Meetings"
msgstr "Takime dhe Mbledhje"
-#: ../calendar/importers/icalendar-importer.c:486
+#: calendar/importers/icalendar-importer.c:486
msgid "Reminder!!"
msgstr "Kujtesë!!"
-#: ../calendar/importers/icalendar-importer.c:694
+#: calendar/importers/icalendar-importer.c:694
msgid "Calendar Events"
msgstr "Ngjarje Kalendari"
-#: ../calendar/importers/icalendar-importer.c:719
+#: calendar/importers/icalendar-importer.c:719
msgid ""
"Evolution has found Gnome Calendar files.\n"
"Would you like to import them into Evolution?"
@@ -7970,1540 +7905,1539 @@ msgstr ""
#. * We only place them here so gettext picks them up for translation.
#. * Don't include in any C files.
#.
-#: ../calendar/zones.h:7
+#: calendar/zones.h:7
msgid "Africa/Abidjan"
msgstr "Afrikë/Abidjan"
-#: ../calendar/zones.h:8
+#: calendar/zones.h:8
msgid "Africa/Accra"
msgstr "Afrikë/Accra"
-#: ../calendar/zones.h:9
+#: calendar/zones.h:9
msgid "Africa/Addis_Ababa"
msgstr "Afrikë/Addis_Ababa"
-#: ../calendar/zones.h:10
+#: calendar/zones.h:10
msgid "Africa/Algiers"
msgstr "Afrikë/Algjir"
-#: ../calendar/zones.h:11
+#: calendar/zones.h:11
msgid "Africa/Asmera"
msgstr "Afrikë/Asmera"
-#: ../calendar/zones.h:12
+#: calendar/zones.h:12
msgid "Africa/Bamako"
msgstr "Afrikë/Bamako"
-#: ../calendar/zones.h:13
+#: calendar/zones.h:13
msgid "Africa/Bangui"
msgstr "Afrikë/Bangui"
-#: ../calendar/zones.h:14
+#: calendar/zones.h:14
msgid "Africa/Banjul"
msgstr "Afrikë/Banjul"
-#: ../calendar/zones.h:15
+#: calendar/zones.h:15
msgid "Africa/Bissau"
msgstr "Afrikë/Bissau"
-#: ../calendar/zones.h:16
+#: calendar/zones.h:16
msgid "Africa/Blantyre"
msgstr "Afrikë/Blantyre"
-#: ../calendar/zones.h:17
+#: calendar/zones.h:17
msgid "Africa/Brazzaville"
msgstr "Afrikë/Brazzaville"
-#: ../calendar/zones.h:18
+#: calendar/zones.h:18
msgid "Africa/Bujumbura"
msgstr "Afrikë/Bujumbura"
-#: ../calendar/zones.h:19
+#: calendar/zones.h:19
msgid "Africa/Cairo"
msgstr "Afrikë/Kairo"
-#: ../calendar/zones.h:20
+#: calendar/zones.h:20
msgid "Africa/Casablanca"
msgstr "Afrikë/Casablanca"
-#: ../calendar/zones.h:21
+#: calendar/zones.h:21
msgid "Africa/Ceuta"
msgstr "Afrikë/Ceuta"
-#: ../calendar/zones.h:22
+#: calendar/zones.h:22
msgid "Africa/Conakry"
msgstr "Afrikë/Conakry"
-#: ../calendar/zones.h:23
+#: calendar/zones.h:23
msgid "Africa/Dakar"
msgstr "Afrikë/Dakar"
-#: ../calendar/zones.h:24
+#: calendar/zones.h:24
msgid "Africa/Dar_es_Salaam"
msgstr "Afrikë/Dar_es_Salaam"
-#: ../calendar/zones.h:25
+#: calendar/zones.h:25
msgid "Africa/Djibouti"
msgstr "Afrikë/Djibouti"
-#: ../calendar/zones.h:26
+#: calendar/zones.h:26
msgid "Africa/Douala"
msgstr "Afrikë/Douala"
-#: ../calendar/zones.h:27
+#: calendar/zones.h:27
msgid "Africa/El_Aaiun"
msgstr "Afrikë/El_Aaiun"
-#: ../calendar/zones.h:28
+#: calendar/zones.h:28
msgid "Africa/Freetown"
msgstr "Afrikë/Freetown"
-#: ../calendar/zones.h:29
+#: calendar/zones.h:29
msgid "Africa/Gaborone"
msgstr "Afrikë/Gaborone"
-#: ../calendar/zones.h:30
+#: calendar/zones.h:30
msgid "Africa/Harare"
msgstr "Afrikë/Harare"
-#: ../calendar/zones.h:31
+#: calendar/zones.h:31
msgid "Africa/Johannesburg"
msgstr "Afrikë/Johannesburg"
-#: ../calendar/zones.h:32
+#: calendar/zones.h:32
msgid "Africa/Kampala"
msgstr "Afrikë/Kampala"
-#: ../calendar/zones.h:33
+#: calendar/zones.h:33
msgid "Africa/Khartoum"
msgstr "Afrikë/Khartoum"
-#: ../calendar/zones.h:34
+#: calendar/zones.h:34
msgid "Africa/Kigali"
msgstr "Afrikë/Kigali"
-#: ../calendar/zones.h:35
+#: calendar/zones.h:35
msgid "Africa/Kinshasa"
msgstr "Afrikë/Kinshasa"
-#: ../calendar/zones.h:36
+#: calendar/zones.h:36
msgid "Africa/Lagos"
msgstr "Afrikë/Lagos"
-#: ../calendar/zones.h:37
+#: calendar/zones.h:37
msgid "Africa/Libreville"
msgstr "Afrikë/Libreville"
-#: ../calendar/zones.h:38
+#: calendar/zones.h:38
msgid "Africa/Lome"
msgstr "Afrikë/Lome"
-#: ../calendar/zones.h:39
+#: calendar/zones.h:39
msgid "Africa/Luanda"
msgstr "Afrikë/Luanda"
-#: ../calendar/zones.h:40
+#: calendar/zones.h:40
msgid "Africa/Lubumbashi"
msgstr "Afrikë/Lubumbashi"
-#: ../calendar/zones.h:41
+#: calendar/zones.h:41
msgid "Africa/Lusaka"
msgstr "Afrikë/Lusaka"
-#: ../calendar/zones.h:42
+#: calendar/zones.h:42
msgid "Africa/Malabo"
msgstr "Afrikë/Malabo"
-#: ../calendar/zones.h:43
+#: calendar/zones.h:43
msgid "Africa/Maputo"
msgstr "Afrikë/Maputo"
-#: ../calendar/zones.h:44
+#: calendar/zones.h:44
msgid "Africa/Maseru"
msgstr "Afrikë/Maseru"
-#: ../calendar/zones.h:45
+#: calendar/zones.h:45
msgid "Africa/Mbabane"
msgstr "Afrikë/Mbabane"
-#: ../calendar/zones.h:46
+#: calendar/zones.h:46
msgid "Africa/Mogadishu"
msgstr "Afrikë/Mogadishu"
-#: ../calendar/zones.h:47
+#: calendar/zones.h:47
msgid "Africa/Monrovia"
msgstr "Afrikë/Monrovia"
-#: ../calendar/zones.h:48
+#: calendar/zones.h:48
msgid "Africa/Nairobi"
msgstr "Afrikë/Nairobi"
-#: ../calendar/zones.h:49
+#: calendar/zones.h:49
msgid "Africa/Ndjamena"
msgstr "Afrikë/Ndjamena"
-#: ../calendar/zones.h:50
+#: calendar/zones.h:50
msgid "Africa/Niamey"
msgstr "Afrikë/Niamey"
-#: ../calendar/zones.h:51
+#: calendar/zones.h:51
msgid "Africa/Nouakchott"
msgstr "Afrikë/Nouakchott"
-#: ../calendar/zones.h:52
+#: calendar/zones.h:52
msgid "Africa/Ouagadougou"
msgstr "Afrikë/Ouagadougou"
-#: ../calendar/zones.h:53
+#: calendar/zones.h:53
msgid "Africa/Porto-Novo"
msgstr "Afrikë/Porto-Novo"
-#: ../calendar/zones.h:54
+#: calendar/zones.h:54
msgid "Africa/Sao_Tome"
msgstr "Afrikë/Sao_Tome"
-#: ../calendar/zones.h:55
+#: calendar/zones.h:55
msgid "Africa/Timbuktu"
msgstr "Afrikë/Timbuktu"
-#: ../calendar/zones.h:56
+#: calendar/zones.h:56
msgid "Africa/Tripoli"
msgstr "Afrikë/Tripoli"
-#: ../calendar/zones.h:57
+#: calendar/zones.h:57
msgid "Africa/Tunis"
msgstr "Afrikë/Tunis"
-#: ../calendar/zones.h:58
+#: calendar/zones.h:58
msgid "Africa/Windhoek"
msgstr "Afrikë/Windhoek"
-#: ../calendar/zones.h:59
+#: calendar/zones.h:59
msgid "America/Adak"
msgstr "Amerikë/Adak"
-#: ../calendar/zones.h:60
+#: calendar/zones.h:60
msgid "America/Anchorage"
msgstr "Amerikë/Anchorage"
-#: ../calendar/zones.h:61
+#: calendar/zones.h:61
msgid "America/Anguilla"
msgstr "Amerikë/Anguilla"
-#: ../calendar/zones.h:62
+#: calendar/zones.h:62
msgid "America/Antigua"
msgstr "Amerikë/Antigua"
-#: ../calendar/zones.h:63
+#: calendar/zones.h:63
msgid "America/Araguaina"
msgstr "Amerikë/Araguaina"
-#: ../calendar/zones.h:64
+#: calendar/zones.h:64
msgid "America/Aruba"
msgstr "Amerikë/Aruba"
-#: ../calendar/zones.h:65
+#: calendar/zones.h:65
msgid "America/Asuncion"
msgstr "Amerikë/Asuncion"
-#: ../calendar/zones.h:66
+#: calendar/zones.h:66
msgid "America/Barbados"
msgstr "Amerikë/Barbados"
-#: ../calendar/zones.h:67
+#: calendar/zones.h:67
msgid "America/Belem"
msgstr "Amerikë/Belem"
-#: ../calendar/zones.h:68
+#: calendar/zones.h:68
msgid "America/Belize"
msgstr "Amerikë/Belize"
-#: ../calendar/zones.h:69
+#: calendar/zones.h:69
msgid "America/Boa_Vista"
msgstr "Amerikë/Boa_Vista"
-#: ../calendar/zones.h:70
+#: calendar/zones.h:70
msgid "America/Bogota"
msgstr "Amerikë/Bogota"
-#: ../calendar/zones.h:71
+#: calendar/zones.h:71
msgid "America/Boise"
msgstr "Amerikë/Boise"
-#: ../calendar/zones.h:72
+#: calendar/zones.h:72
msgid "America/Buenos_Aires"
msgstr "Amerikë/Buenos_Aires"
-#: ../calendar/zones.h:73
+#: calendar/zones.h:73
msgid "America/Cambridge_Bay"
msgstr "Amerikë/Cambridge_Bay"
-#: ../calendar/zones.h:74
+#: calendar/zones.h:74
msgid "America/Cancun"
msgstr "Amerikë/Cancun"
-#: ../calendar/zones.h:75
+#: calendar/zones.h:75
msgid "America/Caracas"
msgstr "Amerikë/Karakas"
-#: ../calendar/zones.h:76
+#: calendar/zones.h:76
msgid "America/Catamarca"
msgstr "Amerikë/Catamarca"
-#: ../calendar/zones.h:77
+#: calendar/zones.h:77
msgid "America/Cayenne"
msgstr "Amerikë/Cayenne"
-#: ../calendar/zones.h:78
+#: calendar/zones.h:78
msgid "America/Cayman"
msgstr "Amerikë/Cayman"
-#: ../calendar/zones.h:79
+#: calendar/zones.h:79
msgid "America/Chicago"
msgstr "Amerikë/Chicago"
-#: ../calendar/zones.h:80
+#: calendar/zones.h:80
msgid "America/Chihuahua"
msgstr "Amerikë/Chihuahua"
-#: ../calendar/zones.h:81
+#: calendar/zones.h:81
msgid "America/Cordoba"
msgstr "Amerikë/Kordoba"
-#: ../calendar/zones.h:82
+#: calendar/zones.h:82
msgid "America/Costa_Rica"
msgstr "Amerikë/Costa_Rica"
-#: ../calendar/zones.h:83
+#: calendar/zones.h:83
msgid "America/Cuiaba"
msgstr "Amerikë/Cuiaba"
-#: ../calendar/zones.h:84
+#: calendar/zones.h:84
msgid "America/Curacao"
msgstr "Amerikë/Curacao"
-#: ../calendar/zones.h:85
+#: calendar/zones.h:85
msgid "America/Danmarkshavn"
msgstr "Amerikë/Danmarkshavn"
-#: ../calendar/zones.h:86
+#: calendar/zones.h:86
msgid "America/Dawson"
msgstr "Amerikë/Dawson"
-#: ../calendar/zones.h:87
+#: calendar/zones.h:87
msgid "America/Dawson_Creek"
msgstr "Amerikë/Dawson_Creek"
-#: ../calendar/zones.h:88
+#: calendar/zones.h:88
msgid "America/Denver"
msgstr "Amerikë/Denver"
-#: ../calendar/zones.h:89
+#: calendar/zones.h:89
msgid "America/Detroit"
msgstr "Amerikë/Detroit"
-#: ../calendar/zones.h:90
+#: calendar/zones.h:90
msgid "America/Dominica"
msgstr "Amerikë/Dominica"
-#: ../calendar/zones.h:91
+#: calendar/zones.h:91
msgid "America/Edmonton"
msgstr "Amerikë/Edmonton"
-#: ../calendar/zones.h:92
+#: calendar/zones.h:92
msgid "America/Eirunepe"
msgstr "Amerikë/Eirunepe"
-#: ../calendar/zones.h:93
+#: calendar/zones.h:93
msgid "America/El_Salvador"
msgstr "Amerikë/El_Salvador"
-#: ../calendar/zones.h:94
+#: calendar/zones.h:94
msgid "America/Fortaleza"
msgstr "Amerikë/Fortaleza"
-#: ../calendar/zones.h:95
+#: calendar/zones.h:95
msgid "America/Glace_Bay"
msgstr "Amerikë/Glace_Bay"
-#: ../calendar/zones.h:96
+#: calendar/zones.h:96
msgid "America/Godthab"
msgstr "Amerikë/Godthab"
-#: ../calendar/zones.h:97
+#: calendar/zones.h:97
msgid "America/Goose_Bay"
msgstr "Amerikë/Goose_Bay"
-#: ../calendar/zones.h:98
+#: calendar/zones.h:98
msgid "America/Grand_Turk"
msgstr "Amerikë/Grand_Turk"
-#: ../calendar/zones.h:99
+#: calendar/zones.h:99
msgid "America/Grenada"
msgstr "Amerikë/Grenada"
-#: ../calendar/zones.h:100
+#: calendar/zones.h:100
msgid "America/Guadeloupe"
msgstr "Amerikë/Guadeloupe"
-#: ../calendar/zones.h:101
+#: calendar/zones.h:101
msgid "America/Guatemala"
msgstr "Amerikë/Guatemala"
-#: ../calendar/zones.h:102
+#: calendar/zones.h:102
msgid "America/Guayaquil"
msgstr "Amerikë/Guayaquil"
-#: ../calendar/zones.h:103
+#: calendar/zones.h:103
msgid "America/Guyana"
msgstr "Amerikë/Guyana"
-#: ../calendar/zones.h:104
+#: calendar/zones.h:104
msgid "America/Halifax"
msgstr "Amerikë/Halifax"
-#: ../calendar/zones.h:105
+#: calendar/zones.h:105
msgid "America/Havana"
msgstr "Amerikë/Havana"
-#: ../calendar/zones.h:106
+#: calendar/zones.h:106
msgid "America/Hermosillo"
msgstr "Amerikë/Hermosillo"
-#: ../calendar/zones.h:107
+#: calendar/zones.h:107
msgid "America/Indiana/Indianapolis"
msgstr "Amerikë/Indiana/Indianapolis"
-#: ../calendar/zones.h:108
+#: calendar/zones.h:108
msgid "America/Indiana/Knox"
msgstr "Amerikë/Indiana/Knox"
-#: ../calendar/zones.h:109
+#: calendar/zones.h:109
msgid "America/Indiana/Marengo"
msgstr "Amerikë/Indiana/Marengo"
-#: ../calendar/zones.h:110
+#: calendar/zones.h:110
msgid "America/Indiana/Vevay"
msgstr "Amerikë/Indiana/Vevay"
-#: ../calendar/zones.h:111
+#: calendar/zones.h:111
msgid "America/Indianapolis"
msgstr "Amerikë/Indianapolis"
-#: ../calendar/zones.h:112
+#: calendar/zones.h:112
msgid "America/Inuvik"
msgstr "Amerikë/Inuvik"
-#: ../calendar/zones.h:113
+#: calendar/zones.h:113
msgid "America/Iqaluit"
msgstr "Amerikë/Iqaluit"
-#: ../calendar/zones.h:114
+#: calendar/zones.h:114
msgid "America/Jamaica"
msgstr "Amerikë/Jamaica"
-#: ../calendar/zones.h:115
+#: calendar/zones.h:115
msgid "America/Jujuy"
msgstr "Amerikë/Jujuy"
-#: ../calendar/zones.h:116
+#: calendar/zones.h:116
msgid "America/Juneau"
msgstr "Amerikë/Juneau"
-#: ../calendar/zones.h:117
+#: calendar/zones.h:117
msgid "America/Kentucky/Louisville"
msgstr "Amerikë/Kentucky/Louisville"
-#: ../calendar/zones.h:118
+#: calendar/zones.h:118
msgid "America/Kentucky/Monticello"
msgstr "Amerikë/Kentucky/Monticello"
-#: ../calendar/zones.h:119
+#: calendar/zones.h:119
msgid "America/La_Paz"
msgstr "Amerikë/La_Paz"
-#: ../calendar/zones.h:120
+#: calendar/zones.h:120
msgid "America/Lima"
msgstr "Amerikë/Lima"
-#: ../calendar/zones.h:121
+#: calendar/zones.h:121
msgid "America/Los_Angeles"
msgstr "Amerikë/Los_Angeles"
-#: ../calendar/zones.h:122
+#: calendar/zones.h:122
msgid "America/Louisville"
msgstr "Amerikë/Louisville"
-#: ../calendar/zones.h:123
+#: calendar/zones.h:123
msgid "America/Maceio"
msgstr "Amerikë/Maceio"
-#: ../calendar/zones.h:124
+#: calendar/zones.h:124
msgid "America/Managua"
msgstr "Amerikë/Managua"
-#: ../calendar/zones.h:125
+#: calendar/zones.h:125
msgid "America/Manaus"
msgstr "Amerikë/Manaus"
-#: ../calendar/zones.h:126
+#: calendar/zones.h:126
msgid "America/Martinique"
msgstr "Amerikë/Martinique"
-#: ../calendar/zones.h:127
+#: calendar/zones.h:127
msgid "America/Mazatlan"
msgstr "Amerikë/Mazatlan"
-#: ../calendar/zones.h:128
+#: calendar/zones.h:128
msgid "America/Mendoza"
msgstr "Amerikë/Mendoza"
-#: ../calendar/zones.h:129
+#: calendar/zones.h:129
msgid "America/Menominee"
msgstr "Amerikë/Menominee"
-#: ../calendar/zones.h:130
+#: calendar/zones.h:130
msgid "America/Merida"
msgstr "Amerikë/Merida"
-#: ../calendar/zones.h:131
+#: calendar/zones.h:131
msgid "America/Mexico_City"
msgstr "Amerikë/Mexico_City"
-#: ../calendar/zones.h:132
+#: calendar/zones.h:132
msgid "America/Miquelon"
msgstr "Amerikë/Miquelon"
-#: ../calendar/zones.h:133
+#: calendar/zones.h:133
msgid "America/Monterrey"
msgstr "Amerikë/Monterrey"
-#: ../calendar/zones.h:134
+#: calendar/zones.h:134
msgid "America/Montevideo"
msgstr "Amerikë/Montevideo"
-#: ../calendar/zones.h:135
+#: calendar/zones.h:135
msgid "America/Montreal"
msgstr "Amerikë/Montreal"
-#: ../calendar/zones.h:136
+#: calendar/zones.h:136
msgid "America/Montserrat"
msgstr "Amerikë/Montserrat"
-#: ../calendar/zones.h:137
+#: calendar/zones.h:137
msgid "America/Nassau"
msgstr "Amerikë/Nassau"
-#: ../calendar/zones.h:138
-#: ../widgets/e-timezone-dialog/e-timezone-dialog.glade.h:4
+#: calendar/zones.h:138 widgets/e-timezone-dialog/e-timezone-dialog.glade.h:4
msgid "America/New_York"
msgstr "Amerikë/New_York"
-#: ../calendar/zones.h:139
+#: calendar/zones.h:139
msgid "America/Nipigon"
msgstr "Amerikë/Nipigon"
-#: ../calendar/zones.h:140
+#: calendar/zones.h:140
msgid "America/Nome"
msgstr "Amerikë/Nome"
-#: ../calendar/zones.h:141
+#: calendar/zones.h:141
msgid "America/Noronha"
msgstr "Amerikë/Noronha"
-#: ../calendar/zones.h:142
+#: calendar/zones.h:142
msgid "America/North_Dakota/Center"
msgstr "Amerikë/Dakota_Veriore/Qendër"
-#: ../calendar/zones.h:143
+#: calendar/zones.h:143
msgid "America/Panama"
msgstr "Amerikë/Panama"
-#: ../calendar/zones.h:144
+#: calendar/zones.h:144
msgid "America/Pangnirtung"
msgstr "Amerikë/Pangnirtung"
-#: ../calendar/zones.h:145
+#: calendar/zones.h:145
msgid "America/Paramaribo"
msgstr "Amerikë/Paramaribo"
-#: ../calendar/zones.h:146
+#: calendar/zones.h:146
msgid "America/Phoenix"
msgstr "Amerikë/Phoenix"
-#: ../calendar/zones.h:147
+#: calendar/zones.h:147
msgid "America/Port-au-Prince"
msgstr "Amerikë/Port-au-Prince"
-#: ../calendar/zones.h:148
+#: calendar/zones.h:148
msgid "America/Port_of_Spain"
msgstr "Amerikë/Port_of_Spain"
-#: ../calendar/zones.h:149
+#: calendar/zones.h:149
msgid "America/Porto_Velho"
msgstr "Amerikë/Porto_Velho"
-#: ../calendar/zones.h:150
+#: calendar/zones.h:150
msgid "America/Puerto_Rico"
msgstr "Amerikë/Puerto_Rico"
-#: ../calendar/zones.h:151
+#: calendar/zones.h:151
msgid "America/Rainy_River"
msgstr "Amerikë/Rainy_River"
-#: ../calendar/zones.h:152
+#: calendar/zones.h:152
msgid "America/Rankin_Inlet"
msgstr "Amerikë/Rankin_Inlet"
-#: ../calendar/zones.h:153
+#: calendar/zones.h:153
msgid "America/Recife"
msgstr "Amerikë/Recife"
-#: ../calendar/zones.h:154
+#: calendar/zones.h:154
msgid "America/Regina"
msgstr "Amerikë/Regina"
-#: ../calendar/zones.h:155
+#: calendar/zones.h:155
msgid "America/Rio_Branco"
msgstr "Amerikë/Rio_Branco"
-#: ../calendar/zones.h:156
+#: calendar/zones.h:156
msgid "America/Rosario"
msgstr "Amerikë/Rosario"
-#: ../calendar/zones.h:157
+#: calendar/zones.h:157
msgid "America/Santiago"
msgstr "Amerikë/Santiago"
-#: ../calendar/zones.h:158
+#: calendar/zones.h:158
msgid "America/Santo_Domingo"
msgstr "Amerikë/Santo_Domingo"
-#: ../calendar/zones.h:159
+#: calendar/zones.h:159
msgid "America/Sao_Paulo"
msgstr "Amerikë/Sao_Paulo"
-#: ../calendar/zones.h:160
+#: calendar/zones.h:160
msgid "America/Scoresbysund"
msgstr "Amerikë/Scoresbysund"
-#: ../calendar/zones.h:161
+#: calendar/zones.h:161
msgid "America/Shiprock"
msgstr "Amerikë/Shiprock"
-#: ../calendar/zones.h:162
+#: calendar/zones.h:162
msgid "America/St_Johns"
msgstr "Amerikë/St_Johns"
-#: ../calendar/zones.h:163
+#: calendar/zones.h:163
msgid "America/St_Kitts"
msgstr "Amerikë/St_Kitts"
-#: ../calendar/zones.h:164
+#: calendar/zones.h:164
msgid "America/St_Lucia"
msgstr "Amerikë/St_Lucia"
-#: ../calendar/zones.h:165
+#: calendar/zones.h:165
msgid "America/St_Thomas"
msgstr "Amerikë/St_Thomas"
-#: ../calendar/zones.h:166
+#: calendar/zones.h:166
msgid "America/St_Vincent"
msgstr "Amerikë/St_Vincent"
-#: ../calendar/zones.h:167
+#: calendar/zones.h:167
msgid "America/Swift_Current"
msgstr "Amerikë/Swift_Current"
-#: ../calendar/zones.h:168
+#: calendar/zones.h:168
msgid "America/Tegucigalpa"
msgstr "Amerikë/Tegucigalpa"
-#: ../calendar/zones.h:169
+#: calendar/zones.h:169
msgid "America/Thule"
msgstr "Amerikë/Thule"
-#: ../calendar/zones.h:170
+#: calendar/zones.h:170
msgid "America/Thunder_Bay"
msgstr "Amerikë/Thunder_Bay"
-#: ../calendar/zones.h:171
+#: calendar/zones.h:171
msgid "America/Tijuana"
msgstr "Amerikë/Tijuana"
-#: ../calendar/zones.h:172
+#: calendar/zones.h:172
msgid "America/Tortola"
msgstr "Amerikë/Tortola"
-#: ../calendar/zones.h:173
+#: calendar/zones.h:173
msgid "America/Vancouver"
msgstr "Amerikë/Vancouver"
-#: ../calendar/zones.h:174
+#: calendar/zones.h:174
msgid "America/Whitehorse"
msgstr "Amerikë/Whitehorse"
-#: ../calendar/zones.h:175
+#: calendar/zones.h:175
msgid "America/Winnipeg"
msgstr "Amerikë/Winnipeg"
-#: ../calendar/zones.h:176
+#: calendar/zones.h:176
msgid "America/Yakutat"
msgstr "Amerikë/Yakutat"
-#: ../calendar/zones.h:177
+#: calendar/zones.h:177
msgid "America/Yellowknife"
msgstr "Amerikë/Yellowknife"
-#: ../calendar/zones.h:178
+#: calendar/zones.h:178
msgid "Antarctica/Casey"
msgstr "Antarktika/Casey"
-#: ../calendar/zones.h:179
+#: calendar/zones.h:179
msgid "Antarctica/Davis"
msgstr "Antarktika/Davis"
-#: ../calendar/zones.h:180
+#: calendar/zones.h:180
msgid "Antarctica/DumontDUrville"
msgstr "Antarktika/DumontDUrville"
-#: ../calendar/zones.h:181
+#: calendar/zones.h:181
msgid "Antarctica/Mawson"
msgstr "Antarktika/Mawson"
-#: ../calendar/zones.h:182
+#: calendar/zones.h:182
msgid "Antarctica/McMurdo"
msgstr "Antarktika/McMurdo"
-#: ../calendar/zones.h:183
+#: calendar/zones.h:183
msgid "Antarctica/Palmer"
msgstr "Antarktika/Palmer"
-#: ../calendar/zones.h:184
+#: calendar/zones.h:184
msgid "Antarctica/South_Pole"
msgstr "Antarktika/Poli_Jugor"
-#: ../calendar/zones.h:185
+#: calendar/zones.h:185
msgid "Antarctica/Syowa"
msgstr "Antarktika/Syowa"
-#: ../calendar/zones.h:186
+#: calendar/zones.h:186
msgid "Antarctica/Vostok"
msgstr "Antarktika/Vostok"
-#: ../calendar/zones.h:187
+#: calendar/zones.h:187
msgid "Arctic/Longyearbyen"
msgstr "Arktika/Longyearbyen"
-#: ../calendar/zones.h:188
+#: calendar/zones.h:188
msgid "Asia/Aden"
msgstr "Azia/Aden"
-#: ../calendar/zones.h:189
+#: calendar/zones.h:189
msgid "Asia/Almaty"
msgstr "Azia/Almaty"
-#: ../calendar/zones.h:190
+#: calendar/zones.h:190
msgid "Asia/Amman"
msgstr "Azia/Aman"
-#: ../calendar/zones.h:191
+#: calendar/zones.h:191
msgid "Asia/Anadyr"
msgstr "Azia/Anadyr"
-#: ../calendar/zones.h:192
+#: calendar/zones.h:192
msgid "Asia/Aqtau"
msgstr "Azia/Aqtau"
-#: ../calendar/zones.h:193
+#: calendar/zones.h:193
msgid "Asia/Aqtobe"
msgstr "Azia/Aqtobe"
-#: ../calendar/zones.h:194
+#: calendar/zones.h:194
msgid "Asia/Ashgabat"
msgstr "Azia/Ashgabat"
-#: ../calendar/zones.h:195
+#: calendar/zones.h:195
msgid "Asia/Baghdad"
msgstr "Azia/Bagdad"
-#: ../calendar/zones.h:196
+#: calendar/zones.h:196
msgid "Asia/Bahrain"
msgstr "Azia/Bahrain"
-#: ../calendar/zones.h:197
+#: calendar/zones.h:197
msgid "Asia/Baku"
msgstr "Azia/Baku"
-#: ../calendar/zones.h:198
+#: calendar/zones.h:198
msgid "Asia/Bangkok"
msgstr "Azia/Bangkok"
-#: ../calendar/zones.h:199
+#: calendar/zones.h:199
msgid "Asia/Beirut"
msgstr "Azia/Beirut"
-#: ../calendar/zones.h:200
+#: calendar/zones.h:200
msgid "Asia/Bishkek"
msgstr "Azia/Bishkek"
-#: ../calendar/zones.h:201
+#: calendar/zones.h:201
msgid "Asia/Brunei"
msgstr "Azia/Brunei"
-#: ../calendar/zones.h:202
+#: calendar/zones.h:202
msgid "Asia/Calcutta"
msgstr "Azia/Kalkuta"
-#: ../calendar/zones.h:203
+#: calendar/zones.h:203
msgid "Asia/Choibalsan"
msgstr "Azia/Choibalsan"
-#: ../calendar/zones.h:204
+#: calendar/zones.h:204
msgid "Asia/Chongqing"
msgstr "Azia/Chongqing"
-#: ../calendar/zones.h:205
+#: calendar/zones.h:205
msgid "Asia/Colombo"
msgstr "Azia/Colombo"
-#: ../calendar/zones.h:206
+#: calendar/zones.h:206
msgid "Asia/Damascus"
msgstr "Azia/Damaskus"
-#: ../calendar/zones.h:207
+#: calendar/zones.h:207
msgid "Asia/Dhaka"
msgstr "Azia/Dhaka"
-#: ../calendar/zones.h:208
+#: calendar/zones.h:208
msgid "Asia/Dili"
msgstr "Azia/Dili"
-#: ../calendar/zones.h:209
+#: calendar/zones.h:209
msgid "Asia/Dubai"
msgstr "Azia/Dubai"
-#: ../calendar/zones.h:210
+#: calendar/zones.h:210
msgid "Asia/Dushanbe"
msgstr "Azia/Dushanbe"
-#: ../calendar/zones.h:211
+#: calendar/zones.h:211
msgid "Asia/Gaza"
msgstr "Azia/Gaza"
-#: ../calendar/zones.h:212
+#: calendar/zones.h:212
msgid "Asia/Harbin"
msgstr "Azia/Harbin"
-#: ../calendar/zones.h:213
+#: calendar/zones.h:213
msgid "Asia/Hong_Kong"
msgstr "Azia/Hong_Kong"
-#: ../calendar/zones.h:214
+#: calendar/zones.h:214
msgid "Asia/Hovd"
msgstr "Azia/Hovd"
-#: ../calendar/zones.h:215
+#: calendar/zones.h:215
msgid "Asia/Irkutsk"
msgstr "Azia/Irkutsk"
-#: ../calendar/zones.h:216
+#: calendar/zones.h:216
msgid "Asia/Istanbul"
msgstr "Azia/Istanbul"
-#: ../calendar/zones.h:217
+#: calendar/zones.h:217
msgid "Asia/Jakarta"
msgstr "Azia/Jakarta"
-#: ../calendar/zones.h:218
+#: calendar/zones.h:218
msgid "Asia/Jayapura"
msgstr "Azia/Jayapura"
-#: ../calendar/zones.h:219
+#: calendar/zones.h:219
msgid "Asia/Jerusalem"
msgstr "Azia/Jerusalem"
-#: ../calendar/zones.h:220
+#: calendar/zones.h:220
msgid "Asia/Kabul"
msgstr "Azia/Kabul"
-#: ../calendar/zones.h:221
+#: calendar/zones.h:221
msgid "Asia/Kamchatka"
msgstr "Azia/Kamchatka"
-#: ../calendar/zones.h:222
+#: calendar/zones.h:222
msgid "Asia/Karachi"
msgstr "Azia/Karachi"
-#: ../calendar/zones.h:223
+#: calendar/zones.h:223
msgid "Asia/Kashgar"
msgstr "Azia/Kashgar"
-#: ../calendar/zones.h:224
+#: calendar/zones.h:224
msgid "Asia/Katmandu"
msgstr "Azia/Katmandu"
-#: ../calendar/zones.h:225
+#: calendar/zones.h:225
msgid "Asia/Krasnoyarsk"
msgstr "Azia/Krasnoyarsk"
-#: ../calendar/zones.h:226
+#: calendar/zones.h:226
msgid "Asia/Kuala_Lumpur"
msgstr "Azia/Kuala_Lumpur"
-#: ../calendar/zones.h:227
+#: calendar/zones.h:227
msgid "Asia/Kuching"
msgstr "Azia/Kuching"
-#: ../calendar/zones.h:228
+#: calendar/zones.h:228
msgid "Asia/Kuwait"
msgstr "Azia/Kuwait"
-#: ../calendar/zones.h:229
+#: calendar/zones.h:229
msgid "Asia/Macao"
msgstr "Azia/Macao"
-#: ../calendar/zones.h:230
+#: calendar/zones.h:230
msgid "Asia/Macau"
msgstr "Azia/Macau"
-#: ../calendar/zones.h:231
+#: calendar/zones.h:231
msgid "Asia/Magadan"
msgstr "Azia/Magadan"
-#: ../calendar/zones.h:232
+#: calendar/zones.h:232
msgid "Asia/Makassar"
msgstr "Azia/Makassar"
-#: ../calendar/zones.h:233
+#: calendar/zones.h:233
msgid "Asia/Manila"
msgstr "Azia/Manila"
-#: ../calendar/zones.h:234
+#: calendar/zones.h:234
msgid "Asia/Muscat"
msgstr "Azia/Muscat"
-#: ../calendar/zones.h:235
+#: calendar/zones.h:235
msgid "Asia/Nicosia"
msgstr "Azia/Nicosia"
-#: ../calendar/zones.h:236
+#: calendar/zones.h:236
msgid "Asia/Novosibirsk"
msgstr "Azia/Novosibirsk"
-#: ../calendar/zones.h:237
+#: calendar/zones.h:237
msgid "Asia/Omsk"
msgstr "Azia/Omsk"
-#: ../calendar/zones.h:238
+#: calendar/zones.h:238
msgid "Asia/Oral"
msgstr "Azia/Oral"
-#: ../calendar/zones.h:239
+#: calendar/zones.h:239
msgid "Asia/Phnom_Penh"
msgstr "Azia/Phnom_Penh"
-#: ../calendar/zones.h:240
+#: calendar/zones.h:240
msgid "Asia/Pontianak"
msgstr "Azia/Pontianak"
-#: ../calendar/zones.h:241
+#: calendar/zones.h:241
msgid "Asia/Pyongyang"
msgstr "Azia/Pyongyang"
-#: ../calendar/zones.h:242
+#: calendar/zones.h:242
msgid "Asia/Qatar"
msgstr "Azia/Katar"
-#: ../calendar/zones.h:243
+#: calendar/zones.h:243
msgid "Asia/Qyzylorda"
msgstr "Azia/Qyzylorda"
-#: ../calendar/zones.h:244
+#: calendar/zones.h:244
msgid "Asia/Rangoon"
msgstr "Azia/Rangoon"
-#: ../calendar/zones.h:245
+#: calendar/zones.h:245
msgid "Asia/Riyadh"
msgstr "Azia/Riyad"
-#: ../calendar/zones.h:246
+#: calendar/zones.h:246
msgid "Asia/Saigon"
msgstr "Azia/Saigon"
-#: ../calendar/zones.h:247
+#: calendar/zones.h:247
msgid "Asia/Sakhalin"
msgstr "Azia/Sakhalin"
-#: ../calendar/zones.h:248
+#: calendar/zones.h:248
msgid "Asia/Samarkand"
msgstr "Azia/Samarkand"
-#: ../calendar/zones.h:249
+#: calendar/zones.h:249
msgid "Asia/Seoul"
msgstr "Azia/Seoul"
-#: ../calendar/zones.h:250
+#: calendar/zones.h:250
msgid "Asia/Shanghai"
msgstr "Azia/Shanghai"
-#: ../calendar/zones.h:251
+#: calendar/zones.h:251
msgid "Asia/Singapore"
msgstr "Azia/Singapore"
-#: ../calendar/zones.h:252
+#: calendar/zones.h:252
msgid "Asia/Taipei"
msgstr "Azia/Taipei"
-#: ../calendar/zones.h:253
+#: calendar/zones.h:253
msgid "Asia/Tashkent"
msgstr "Azia/Tashkent"
-#: ../calendar/zones.h:254
+#: calendar/zones.h:254
msgid "Asia/Tbilisi"
msgstr "Azia/Tbilisi"
-#: ../calendar/zones.h:255
+#: calendar/zones.h:255
msgid "Asia/Tehran"
msgstr "Azia/Teheran"
-#: ../calendar/zones.h:256
+#: calendar/zones.h:256
msgid "Asia/Thimphu"
msgstr "Azia/Thimphu"
-#: ../calendar/zones.h:257
+#: calendar/zones.h:257
msgid "Asia/Tokyo"
msgstr "Azia/Tokyo"
-#: ../calendar/zones.h:258
+#: calendar/zones.h:258
msgid "Asia/Ujung_Pandang"
msgstr "Azia/Ujung_Pandang"
-#: ../calendar/zones.h:259
+#: calendar/zones.h:259
msgid "Asia/Ulaanbaatar"
msgstr "Azia/Ulanbatar"
-#: ../calendar/zones.h:260
+#: calendar/zones.h:260
msgid "Asia/Urumqi"
msgstr "Azia/Urumqi"
-#: ../calendar/zones.h:261
+#: calendar/zones.h:261
msgid "Asia/Vientiane"
msgstr "Azia/Vientiane"
-#: ../calendar/zones.h:262
+#: calendar/zones.h:262
msgid "Asia/Vladivostok"
msgstr "Azia/Vladivostok"
-#: ../calendar/zones.h:263
+#: calendar/zones.h:263
msgid "Asia/Yakutsk"
msgstr "Azia/Yakutsk"
-#: ../calendar/zones.h:264
+#: calendar/zones.h:264
msgid "Asia/Yekaterinburg"
msgstr "Azia/Yekaterinburg"
-#: ../calendar/zones.h:265
+#: calendar/zones.h:265
msgid "Asia/Yerevan"
msgstr "Azia/Yerevan"
-#: ../calendar/zones.h:266
+#: calendar/zones.h:266
msgid "Atlantic/Azores"
msgstr "Atlantikë/Azores"
-#: ../calendar/zones.h:267
+#: calendar/zones.h:267
msgid "Atlantic/Bermuda"
msgstr "Antlantike/Bermuda"
-#: ../calendar/zones.h:268
+#: calendar/zones.h:268
msgid "Atlantic/Canary"
msgstr "Antlantike/Canary"
-#: ../calendar/zones.h:269
+#: calendar/zones.h:269
msgid "Atlantic/Cape_Verde"
msgstr "Antlantike/Cape_Verde"
-#: ../calendar/zones.h:270
+#: calendar/zones.h:270
msgid "Atlantic/Faeroe"
msgstr "Antlantike/Faeroe"
-#: ../calendar/zones.h:271
+#: calendar/zones.h:271
msgid "Atlantic/Jan_Mayen"
msgstr "Antlantike/Jan_Mayen"
-#: ../calendar/zones.h:272
+#: calendar/zones.h:272
msgid "Atlantic/Madeira"
msgstr "Antlantike/Madeira"
-#: ../calendar/zones.h:273
+#: calendar/zones.h:273
msgid "Atlantic/Reykjavik"
msgstr "Antlantike/Reykjavik"
-#: ../calendar/zones.h:274
+#: calendar/zones.h:274
msgid "Atlantic/South_Georgia"
msgstr "Antlantikë/Georgia_Jugore"
-#: ../calendar/zones.h:275
+#: calendar/zones.h:275
msgid "Atlantic/St_Helena"
msgstr "Antlantike/St_Helena"
-#: ../calendar/zones.h:276
+#: calendar/zones.h:276
msgid "Atlantic/Stanley"
msgstr "Antlantike/Stanley"
-#: ../calendar/zones.h:277
+#: calendar/zones.h:277
msgid "Australia/Adelaide"
msgstr "Australi/Adelaide"
-#: ../calendar/zones.h:278
+#: calendar/zones.h:278
msgid "Australia/Brisbane"
msgstr "Australi/Brisbane"
-#: ../calendar/zones.h:279
+#: calendar/zones.h:279
msgid "Australia/Broken_Hill"
msgstr "Australi/Broken_Hill"
-#: ../calendar/zones.h:280
+#: calendar/zones.h:280
msgid "Australia/Darwin"
msgstr "Australi/Darwin"
-#: ../calendar/zones.h:281
+#: calendar/zones.h:281
msgid "Australia/Hobart"
msgstr "Australi/Hobart"
-#: ../calendar/zones.h:282
+#: calendar/zones.h:282
msgid "Australia/Lindeman"
msgstr "Australi/Lindeman"
-#: ../calendar/zones.h:283
+#: calendar/zones.h:283
msgid "Australia/Lord_Howe"
msgstr "Australi/Lord_Howe"
-#: ../calendar/zones.h:284
+#: calendar/zones.h:284
msgid "Australia/Melbourne"
msgstr "Australi/Melbourne"
-#: ../calendar/zones.h:285
+#: calendar/zones.h:285
msgid "Australia/Perth"
msgstr "Australi/Perth"
-#: ../calendar/zones.h:286
+#: calendar/zones.h:286
msgid "Australia/Sydney"
msgstr "Australi/Sydney"
-#: ../calendar/zones.h:287
+#: calendar/zones.h:287
msgid "Europe/Amsterdam"
msgstr "Europë/Amsterdam"
-#: ../calendar/zones.h:288
+#: calendar/zones.h:288
msgid "Europe/Andorra"
msgstr "Europë/Andora"
-#: ../calendar/zones.h:289
+#: calendar/zones.h:289
msgid "Europe/Athens"
msgstr "Europë/Athina"
-#: ../calendar/zones.h:290
+#: calendar/zones.h:290
msgid "Europe/Belfast"
msgstr "Europë/Belfast"
-#: ../calendar/zones.h:291
+#: calendar/zones.h:291
msgid "Europe/Belgrade"
msgstr "Europë/Beograd"
-#: ../calendar/zones.h:292
+#: calendar/zones.h:292
msgid "Europe/Berlin"
msgstr "Europë/Berlin"
-#: ../calendar/zones.h:293
+#: calendar/zones.h:293
msgid "Europe/Bratislava"
msgstr "Europë/Bratisllava"
-#: ../calendar/zones.h:294
+#: calendar/zones.h:294
msgid "Europe/Brussels"
msgstr "Europë/Bruksel"
-#: ../calendar/zones.h:295
+#: calendar/zones.h:295
msgid "Europe/Bucharest"
msgstr "Europë/Bukuresht"
-#: ../calendar/zones.h:296
+#: calendar/zones.h:296
msgid "Europe/Budapest"
msgstr "Europë/Budapest"
-#: ../calendar/zones.h:297
+#: calendar/zones.h:297
msgid "Europe/Chisinau"
msgstr "Europë/Chisinau"
-#: ../calendar/zones.h:298
+#: calendar/zones.h:298
msgid "Europe/Copenhagen"
msgstr "Europë/Kopenhagen"
-#: ../calendar/zones.h:299
+#: calendar/zones.h:299
msgid "Europe/Dublin"
msgstr "Europë/Dublin"
-#: ../calendar/zones.h:300
+#: calendar/zones.h:300
msgid "Europe/Gibraltar"
msgstr "Europë/Gibraltar"
-#: ../calendar/zones.h:301
+#: calendar/zones.h:301
msgid "Europe/Helsinki"
msgstr "Europë/Helsinki"
-#: ../calendar/zones.h:302
+#: calendar/zones.h:302
msgid "Europe/Istanbul"
msgstr "Europë/Stamboll"
-#: ../calendar/zones.h:303
+#: calendar/zones.h:303
msgid "Europe/Kaliningrad"
msgstr "Europë/Kaliningrad"
-#: ../calendar/zones.h:304
+#: calendar/zones.h:304
msgid "Europe/Kiev"
msgstr "Europë/Kiev"
-#: ../calendar/zones.h:305
+#: calendar/zones.h:305
msgid "Europe/Lisbon"
msgstr "Europë/Lisbon"
-#: ../calendar/zones.h:306
+#: calendar/zones.h:306
msgid "Europe/Ljubljana"
msgstr "Europë/Ljubljana"
-#: ../calendar/zones.h:307
+#: calendar/zones.h:307
msgid "Europe/London"
msgstr "Europë/Londër"
-#: ../calendar/zones.h:308
+#: calendar/zones.h:308
msgid "Europe/Luxembourg"
msgstr "Europë/Luxembourg"
-#: ../calendar/zones.h:309
+#: calendar/zones.h:309
msgid "Europe/Madrid"
msgstr "Europë/Madrid"
-#: ../calendar/zones.h:310
+#: calendar/zones.h:310
msgid "Europe/Malta"
msgstr "Europë/Malta"
-#: ../calendar/zones.h:311
+#: calendar/zones.h:311
msgid "Europe/Minsk"
msgstr "Europë/Minsk"
-#: ../calendar/zones.h:312
+#: calendar/zones.h:312
msgid "Europe/Monaco"
msgstr "Europë/Monaco"
-#: ../calendar/zones.h:313
+#: calendar/zones.h:313
msgid "Europe/Moscow"
msgstr "Europë/Moska"
-#: ../calendar/zones.h:314
+#: calendar/zones.h:314
msgid "Europe/Nicosia"
msgstr "Europë/Nicosia"
-#: ../calendar/zones.h:315
+#: calendar/zones.h:315
msgid "Europe/Oslo"
msgstr "Europë/Oslo"
-#: ../calendar/zones.h:316
+#: calendar/zones.h:316
msgid "Europe/Paris"
msgstr "Europë/Paris"
-#: ../calendar/zones.h:317
+#: calendar/zones.h:317
msgid "Europe/Prague"
msgstr "Europë/Praga"
-#: ../calendar/zones.h:318
+#: calendar/zones.h:318
msgid "Europe/Riga"
msgstr "Europë/Riga"
-#: ../calendar/zones.h:319
+#: calendar/zones.h:319
msgid "Europe/Rome"
msgstr "Europë/Roma"
-#: ../calendar/zones.h:320
+#: calendar/zones.h:320
msgid "Europe/Samara"
msgstr "Europë/Samara"
-#: ../calendar/zones.h:321
+#: calendar/zones.h:321
msgid "Europe/San_Marino"
msgstr "Europë/San_Marino"
-#: ../calendar/zones.h:322
+#: calendar/zones.h:322
msgid "Europe/Sarajevo"
msgstr "Europë/Sarajevo"
-#: ../calendar/zones.h:323
+#: calendar/zones.h:323
msgid "Europe/Simferopol"
msgstr "Europë/Simferopol"
-#: ../calendar/zones.h:324
+#: calendar/zones.h:324
msgid "Europe/Skopje"
msgstr "Europë/Shkupi"
-#: ../calendar/zones.h:325
+#: calendar/zones.h:325
msgid "Europe/Sofia"
msgstr "Europë/Sofje"
-#: ../calendar/zones.h:326
+#: calendar/zones.h:326
msgid "Europe/Stockholm"
msgstr "Europë/Stokholm"
-#: ../calendar/zones.h:327
+#: calendar/zones.h:327
msgid "Europe/Tallinn"
msgstr "Europë/Tallinn"
-#: ../calendar/zones.h:328
+#: calendar/zones.h:328
msgid "Europe/Tirane"
msgstr "Europë/Tiranë"
-#: ../calendar/zones.h:329
+#: calendar/zones.h:329
msgid "Europe/Uzhgorod"
msgstr "Europë/Uzhgorod"
-#: ../calendar/zones.h:330
+#: calendar/zones.h:330
msgid "Europe/Vaduz"
msgstr "Europë/Vaduz"
-#: ../calendar/zones.h:331
+#: calendar/zones.h:331
msgid "Europe/Vatican"
msgstr "Europë/Vatikani"
-#: ../calendar/zones.h:332
+#: calendar/zones.h:332
msgid "Europe/Vienna"
msgstr "Europë/Vienë"
-#: ../calendar/zones.h:333
+#: calendar/zones.h:333
msgid "Europe/Vilnius"
msgstr "Europë/Vilnius"
-#: ../calendar/zones.h:334
+#: calendar/zones.h:334
msgid "Europe/Warsaw"
msgstr "Europë/Varshavë"
-#: ../calendar/zones.h:335
+#: calendar/zones.h:335
msgid "Europe/Zagreb"
msgstr "Europë/Zagreb"
-#: ../calendar/zones.h:336
+#: calendar/zones.h:336
msgid "Europe/Zaporozhye"
msgstr "Europë/Zaporozhje"
-#: ../calendar/zones.h:337
+#: calendar/zones.h:337
msgid "Europe/Zurich"
msgstr "Europë/Zurich"
-#: ../calendar/zones.h:338
+#: calendar/zones.h:338
msgid "Indian/Antananarivo"
msgstr "Indian/Antananarivo"
-#: ../calendar/zones.h:339
+#: calendar/zones.h:339
msgid "Indian/Chagos"
msgstr "Indian/Chagos"
-#: ../calendar/zones.h:340
+#: calendar/zones.h:340
msgid "Indian/Christmas"
msgstr "Indian/Christmas"
-#: ../calendar/zones.h:341
+#: calendar/zones.h:341
msgid "Indian/Cocos"
msgstr "Indian/Cocos"
-#: ../calendar/zones.h:342
+#: calendar/zones.h:342
msgid "Indian/Comoro"
msgstr "Indian/Comoro"
-#: ../calendar/zones.h:343
+#: calendar/zones.h:343
msgid "Indian/Kerguelen"
msgstr "Indian/Kerguelen"
-#: ../calendar/zones.h:344
+#: calendar/zones.h:344
msgid "Indian/Mahe"
msgstr "Indian/Mahe"
-#: ../calendar/zones.h:345
+#: calendar/zones.h:345
msgid "Indian/Maldives"
msgstr "Indian/Maldives"
-#: ../calendar/zones.h:346
+#: calendar/zones.h:346
msgid "Indian/Mauritius"
msgstr "Indian/Mauritius"
-#: ../calendar/zones.h:347
+#: calendar/zones.h:347
msgid "Indian/Mayotte"
msgstr "Indian/Mayotte"
-#: ../calendar/zones.h:348
+#: calendar/zones.h:348
msgid "Indian/Reunion"
msgstr "Indian/Reunion"
-#: ../calendar/zones.h:349
+#: calendar/zones.h:349
msgid "Pacific/Apia"
msgstr "Paqësor/Apia"
-#: ../calendar/zones.h:350
+#: calendar/zones.h:350
msgid "Pacific/Auckland"
msgstr "Paqësor/Auckland"
-#: ../calendar/zones.h:351
+#: calendar/zones.h:351
msgid "Pacific/Chatham"
msgstr "Paqësor/Chatham"
-#: ../calendar/zones.h:352
+#: calendar/zones.h:352
msgid "Pacific/Easter"
msgstr "Paqësor/Easter"
-#: ../calendar/zones.h:353
+#: calendar/zones.h:353
msgid "Pacific/Efate"
msgstr "Paqësor/Efate"
-#: ../calendar/zones.h:354
+#: calendar/zones.h:354
msgid "Pacific/Enderbury"
msgstr "Paqësor/Enderbury"
-#: ../calendar/zones.h:355
+#: calendar/zones.h:355
msgid "Pacific/Fakaofo"
msgstr "Paqësor/Fakaofo"
-#: ../calendar/zones.h:356
+#: calendar/zones.h:356
msgid "Pacific/Fiji"
msgstr "Paqësor/Fiji"
-#: ../calendar/zones.h:357
+#: calendar/zones.h:357
msgid "Pacific/Funafuti"
msgstr "Paqësor/Funafuti"
-#: ../calendar/zones.h:358
+#: calendar/zones.h:358
msgid "Pacific/Galapagos"
msgstr "Paqësor/Galapagos"
-#: ../calendar/zones.h:359
+#: calendar/zones.h:359
msgid "Pacific/Gambier"
msgstr "Paqësor/Gambier"
-#: ../calendar/zones.h:360
+#: calendar/zones.h:360
msgid "Pacific/Guadalcanal"
msgstr "Paqësor/Guadalcanal"
-#: ../calendar/zones.h:361
+#: calendar/zones.h:361
msgid "Pacific/Guam"
msgstr "Paqësor/Guam"
-#: ../calendar/zones.h:362
+#: calendar/zones.h:362
msgid "Pacific/Honolulu"
msgstr "Paqësor/Honolulu"
-#: ../calendar/zones.h:363
+#: calendar/zones.h:363
msgid "Pacific/Johnston"
msgstr "Paqësor/Johnston"
-#: ../calendar/zones.h:364
+#: calendar/zones.h:364
msgid "Pacific/Kiritimati"
msgstr "Paqësor/Kiritimati"
-#: ../calendar/zones.h:365
+#: calendar/zones.h:365
msgid "Pacific/Kosrae"
msgstr "Paqësor/Kosrae"
-#: ../calendar/zones.h:366
+#: calendar/zones.h:366
msgid "Pacific/Kwajalein"
msgstr "Paqësor/Kwajalein"
-#: ../calendar/zones.h:367
+#: calendar/zones.h:367
msgid "Pacific/Majuro"
msgstr "Paqësor/Majuro"
-#: ../calendar/zones.h:368
+#: calendar/zones.h:368
msgid "Pacific/Marquesas"
msgstr "Paqësor/Marquesas"
-#: ../calendar/zones.h:369
+#: calendar/zones.h:369
msgid "Pacific/Midway"
msgstr "Paqësor/Midway"
-#: ../calendar/zones.h:370
+#: calendar/zones.h:370
msgid "Pacific/Nauru"
msgstr "Paqësor/Nauru"
-#: ../calendar/zones.h:371
+#: calendar/zones.h:371
msgid "Pacific/Niue"
msgstr "Paqësor/Niue"
-#: ../calendar/zones.h:372
+#: calendar/zones.h:372
msgid "Pacific/Norfolk"
msgstr "Paqësor/Norfolk"
-#: ../calendar/zones.h:373
+#: calendar/zones.h:373
msgid "Pacific/Noumea"
msgstr "Paqësor/Noumea"
-#: ../calendar/zones.h:374
+#: calendar/zones.h:374
msgid "Pacific/Pago_Pago"
msgstr "Paqësor/Pago_Pago"
-#: ../calendar/zones.h:375
+#: calendar/zones.h:375
msgid "Pacific/Palau"
msgstr "Paqësor/Palau"
-#: ../calendar/zones.h:376
+#: calendar/zones.h:376
msgid "Pacific/Pitcairn"
msgstr "Paqësor/Pitcairn"
-#: ../calendar/zones.h:377
+#: calendar/zones.h:377
msgid "Pacific/Ponape"
msgstr "Paqësor/Ponape"
-#: ../calendar/zones.h:378
+#: calendar/zones.h:378
msgid "Pacific/Port_Moresby"
msgstr "Paqësor/Port_Moresby"
-#: ../calendar/zones.h:379
+#: calendar/zones.h:379
msgid "Pacific/Rarotonga"
msgstr "Paqësor/Rarotonga"
-#: ../calendar/zones.h:380
+#: calendar/zones.h:380
msgid "Pacific/Saipan"
msgstr "Paqësor/Saipan"
-#: ../calendar/zones.h:381
+#: calendar/zones.h:381
msgid "Pacific/Tahiti"
msgstr "Paqësor/Tahiti"
-#: ../calendar/zones.h:382
+#: calendar/zones.h:382
msgid "Pacific/Tarawa"
msgstr "Paqësor/Tarawa"
-#: ../calendar/zones.h:383
+#: calendar/zones.h:383
msgid "Pacific/Tongatapu"
msgstr "Paqësor/Tongatapu"
-#: ../calendar/zones.h:384
+#: calendar/zones.h:384
msgid "Pacific/Truk"
msgstr "Paqësor/Truk"
-#: ../calendar/zones.h:385
+#: calendar/zones.h:385
msgid "Pacific/Wake"
msgstr "Paqësor/Wake"
-#: ../calendar/zones.h:386
+#: calendar/zones.h:386
msgid "Pacific/Wallis"
msgstr "Paqësor/Wallis"
-#: ../calendar/zones.h:387
+#: calendar/zones.h:387
msgid "Pacific/Yap"
msgstr "Paqësor/Yap"
-#: ../composer/e-msg-composer-hdrs.c:519
+#: composer/e-msg-composer-hdrs.c:519
msgid "Posting destination"
msgstr "Marrësi"
-#: ../composer/e-msg-composer-hdrs.c:520
+#: composer/e-msg-composer-hdrs.c:520
msgid "Choose folders to post the message to."
msgstr "Zgjidh kartelat për t'u dërguar mesazhin."
-#: ../composer/e-msg-composer-hdrs.c:554
+#: composer/e-msg-composer-hdrs.c:554
msgid "Click here for the address book"
msgstr "Kliko këtu për rubrikën"
@@ -9514,45 +9448,45 @@ msgstr "Kliko këtu për rubrikën"
#. * because that causes from_changed to be called, which
#. * expects the reply_to fields to be initialized.
#.
-#: ../composer/e-msg-composer-hdrs.c:584
+#: composer/e-msg-composer-hdrs.c:584
msgid "_Reply-To:"
msgstr "_Përgjigju-Tek:"
#.
#. * From
#.
-#: ../composer/e-msg-composer-hdrs.c:591
+#: composer/e-msg-composer-hdrs.c:591
msgid "Fr_om:"
msgstr "_Nga:"
#.
#. * Subject
#.
-#: ../composer/e-msg-composer-hdrs.c:598
+#: composer/e-msg-composer-hdrs.c:598
msgid "S_ubject:"
msgstr "S_ubjekti:"
-#: ../composer/e-msg-composer-hdrs.c:608
+#: composer/e-msg-composer-hdrs.c:608
msgid "_To:"
msgstr "_Për:"
-#: ../composer/e-msg-composer-hdrs.c:609
+#: composer/e-msg-composer-hdrs.c:609
msgid "Enter the recipients of the message"
msgstr "Shkruaj marrësit e mesazhit"
-#: ../composer/e-msg-composer-hdrs.c:612
+#: composer/e-msg-composer-hdrs.c:612
msgid "_Cc:"
msgstr "_Cc:"
-#: ../composer/e-msg-composer-hdrs.c:613
+#: composer/e-msg-composer-hdrs.c:613
msgid "Enter the addresses that will receive a carbon copy of the message"
msgstr "Shkruaj adresat që kanë për të marrë një kopje konforme të mesazhit"
-#: ../composer/e-msg-composer-hdrs.c:616
+#: composer/e-msg-composer-hdrs.c:616
msgid "_Bcc:"
msgstr "_Bcc:"
-#: ../composer/e-msg-composer-hdrs.c:617
+#: composer/e-msg-composer-hdrs.c:617
msgid ""
"Enter the addresses that will receive a carbon copy of the message without "
"appearing in the recipient list of the message."
@@ -9563,25 +9497,25 @@ msgstr ""
#.
#. * Post-To
#.
-#: ../composer/e-msg-composer-hdrs.c:624
+#: composer/e-msg-composer-hdrs.c:624
msgid "_Post To:"
msgstr "_Dërgo Tek:"
-#: ../composer/e-msg-composer-hdrs.c:629
+#: composer/e-msg-composer-hdrs.c:629
msgid "Click here to select folders to post to"
msgstr "Kliko këtu për të zgjedhur kartelat ku duhet dërguar"
-#: ../composer/e-msg-composer-hdrs.c:635
+#: composer/e-msg-composer-hdrs.c:635
msgid "Post To:"
msgstr "Dërgo Tek:"
-#: ../composer/e-msg-composer.c:730
+#: composer/e-msg-composer.c:730
msgid "Cannot sign outgoing message: No signing certificate set for this account"
msgstr ""
"E pamundur firmosja e mesazhit në dalje: Nuk është përcaktuar asnjë "
"çertifikatë firme për këtë llogari"
-#: ../composer/e-msg-composer.c:737
+#: composer/e-msg-composer.c:737
msgid ""
"Cannot encrypt outgoing message: No encryption certificate set for this "
"account"
@@ -9589,42 +9523,42 @@ msgstr ""
"I pamundur kriptimi i mesazhit në dalje: Nuk është përcaktuar asnjë "
"çertifikatë kriptimi për këtë llogari"
-#: ../composer/e-msg-composer.c:1222 ../composer/e-msg-composer.c:1255
+#: composer/e-msg-composer.c:1222 composer/e-msg-composer.c:1255
msgid "Unknown reason"
msgstr "Arsye e panjohur"
-#: ../composer/e-msg-composer.c:1292
+#: composer/e-msg-composer.c:1292
msgid "Could not open file"
msgstr "E pamundur hapja e file"
-#: ../composer/e-msg-composer.c:1300
+#: composer/e-msg-composer.c:1300
msgid "Unable to retrieve message from editor"
msgstr "I pamundur shkarkimi i mesazhit nga editori"
-#: ../composer/e-msg-composer.c:1570
+#: composer/e-msg-composer.c:1570
msgid "Untitled Message"
msgstr "Mesazh pa titull"
#. NB: This function is never used anymore
-#: ../composer/e-msg-composer.c:1604
+#: composer/e-msg-composer.c:1604
msgid "Open File"
msgstr "Hap file"
-#: ../composer/e-msg-composer.c:2001 ../mail/em-account-editor.c:588
-#: ../mail/em-account-editor.c:633 ../mail/em-account-editor.c:700
+#: composer/e-msg-composer.c:2001 mail/em-account-editor.c:588
+#: mail/em-account-editor.c:633 mail/em-account-editor.c:700
msgid "Autogenerated"
msgstr "I auto krijuar"
-#: ../composer/e-msg-composer.c:2100
+#: composer/e-msg-composer.c:2100
msgid "Si_gnature:"
msgstr "Fi_rma:"
-#: ../composer/e-msg-composer.c:2359 ../composer/e-msg-composer.c:3360
-#: ../composer/e-msg-composer.c:3361
+#: composer/e-msg-composer.c:2359 composer/e-msg-composer.c:3360
+#: composer/e-msg-composer.c:3361
msgid "Compose a message"
msgstr "Kompozo një mesazh"
-#: ../composer/e-msg-composer.c:4542
+#: composer/e-msg-composer.c:4542
msgid ""
"<b>(The composer contains a non-text message body, which cannot be edited.)"
"<b>"
@@ -9633,24 +9567,24 @@ msgstr ""
"ndryshohet.)</b>"
#. mail-composer:no-attach primary
-#: ../composer/mail-composer-errors.xml.h:2
+#: composer/mail-composer-errors.xml.h:2
msgid "You cannot attach the file `{0}' to this message."
msgstr "Nuk mund t'i bashkangjitni file `{o}' këtij mesazhi."
#. mail-composer:attach-notfile primary
-#: ../composer/mail-composer-errors.xml.h:6
+#: composer/mail-composer-errors.xml.h:6
msgid "The file `{0}' is not a regular file and cannot be sent in a message."
msgstr ""
"File `{0}' nuk është një file i rregullt dhe nuk mund të dërgohet në një "
"mesazh."
#. mail-composer:attach-directory primary
-#: ../composer/mail-composer-errors.xml.h:8
+#: composer/mail-composer-errors.xml.h:8
msgid "Directories can not be attached to Messages."
msgstr "Directories nuk mund t'i bashkangjiten mesazhit."
#. mail-composer:attach-directory secondary
-#: ../composer/mail-composer-errors.xml.h:10
+#: composer/mail-composer-errors.xml.h:10
msgid ""
"To attach the contents of this directory, either attach the files in this "
"directory individually, or create an archive of the directory and attach it."
@@ -9660,7 +9594,7 @@ msgstr ""
"bashkangjite atë."
#. mail-composer:attach-nomessages primary
-#: ../composer/mail-composer-errors.xml.h:12
+#: composer/mail-composer-errors.xml.h:12
msgid "Could not retrieve messages to attach from {0}."
msgstr "E pamundur marrja e mesazheve për t'u bashkangjitur nga {0}."
@@ -9670,25 +9604,25 @@ msgstr "E pamundur marrja e mesazheve për t'u bashkangjitur nga {0}."
#. mail:no-delete-folder secondary
#. system:no-save-file secondary
#. system:no-load-file secondary
-#: ../composer/mail-composer-errors.xml.h:14
-#: ../composer/mail-composer-errors.xml.h:42 ../mail/mail-errors.xml.h:105
-#: ../mail/mail-errors.xml.h:117 ../widgets/misc/e-system-errors.xml.h:11
-#: ../widgets/misc/e-system-errors.xml.h:15
+#: composer/mail-composer-errors.xml.h:14
+#: composer/mail-composer-errors.xml.h:42 mail/mail-errors.xml.h:105
+#: mail/mail-errors.xml.h:117 widgets/misc/e-system-errors.xml.h:11
+#: widgets/misc/e-system-errors.xml.h:15
msgid "Because \"{1}\"."
msgstr "Sepse \"{1}\"."
#. mail-composer:recover-autosave title
-#: ../composer/mail-composer-errors.xml.h:16
+#: composer/mail-composer-errors.xml.h:16
msgid "Unfinished messages found"
msgstr "U gjetën mesazhe jo të plotë"
#. mail-composer:recover-autosave primary
-#: ../composer/mail-composer-errors.xml.h:18
+#: composer/mail-composer-errors.xml.h:18
msgid "Do you want to recover unfinished messages?"
msgstr "Dëshiron të rekuperosh mesazhet jo të plotë?"
#. mail-composer:recover-autosave secondary
-#: ../composer/mail-composer-errors.xml.h:20
+#: composer/mail-composer-errors.xml.h:20
msgid ""
"Evolution quit unexpectedly while you were composing a new message. "
"Recovering the message will allow you to continue where you left off."
@@ -9697,31 +9631,31 @@ msgstr ""
"Duke rikoveruar mesazhin do të keni mundësi të vazhdoni shkrimin nga pika e "
"ndërprerjes."
-#: ../composer/mail-composer-errors.xml.h:21
+#: composer/mail-composer-errors.xml.h:21
msgid "Don't Recover"
msgstr "Mos rekupero"
-#: ../composer/mail-composer-errors.xml.h:22
+#: composer/mail-composer-errors.xml.h:22
msgid "Recover"
msgstr "Rekupero"
#. mail-composer:no-autosave primary
-#: ../composer/mail-composer-errors.xml.h:24
+#: composer/mail-composer-errors.xml.h:24
msgid "Could not save to autosave file \"{0}\"."
msgstr "E pamundur ruajtja tek file i autoruajtshëm \"{0}\"."
#. mail-composer:no-autosave secondary
-#: ../composer/mail-composer-errors.xml.h:26
+#: composer/mail-composer-errors.xml.h:26
msgid "Error saving to autosave because \"{1}\"."
msgstr "Gabim gjatë ruajtjes tek file i autoruajtshëm sepse \"{1}\"."
#. mail-composer:exit-unsaved title
-#: ../composer/mail-composer-errors.xml.h:28
+#: composer/mail-composer-errors.xml.h:28
msgid "Warning: Modified Message"
msgstr "Kujdes: Mesazh i ndryshuar"
#. mail-composer:exit-unsaved primary
-#: ../composer/mail-composer-errors.xml.h:30
+#: composer/mail-composer-errors.xml.h:30
msgid ""
"Are you sure you want to discard the message, titled '{0}', you are "
"composing?"
@@ -9730,7 +9664,7 @@ msgstr ""
"hartuar?"
#. mail-composer:exit-unsaved secondary
-#: ../composer/mail-composer-errors.xml.h:32
+#: composer/mail-composer-errors.xml.h:32
msgid ""
"Closing this composer window will discard the message permanently, unless "
"you choose to save the message in your Drafts folder. This will allow you to "
@@ -9740,53 +9674,53 @@ msgstr ""
"është mirë t'a ruani mesazhin tek kartela juaj e Kopjeve. Kjo do t'ju japë "
"mundësinë t'a vazhdoni mesazhin një herë tjetër."
-#: ../composer/mail-composer-errors.xml.h:33
+#: composer/mail-composer-errors.xml.h:33
msgid "_Discard Changes"
msgstr "_Anullo ndryshimet"
-#: ../composer/mail-composer-errors.xml.h:34
+#: composer/mail-composer-errors.xml.h:34
msgid "_Save Message"
msgstr "_Ruaj mesazhin"
#. mail-composer:no-build-message primary
-#: ../composer/mail-composer-errors.xml.h:36
+#: composer/mail-composer-errors.xml.h:36
msgid "Could not create message."
msgstr "I pamundur krijimi i mesazhit."
#. mail-composer:no-build-message secondary
-#: ../composer/mail-composer-errors.xml.h:38
+#: composer/mail-composer-errors.xml.h:38
msgid "Because \"{0}\", you may need to select different mail options."
msgstr "Për arsye \"{0}\", ndoshta do t'ju duhet të zgjidhni opcione të tjera mail."
#. mail-composer:no-sig-file primary
-#: ../composer/mail-composer-errors.xml.h:40
+#: composer/mail-composer-errors.xml.h:40
msgid "Could not read signature file \"{0}\"."
msgstr "I pamundur leximi i file me firmën \"{0}\"."
#. mail-composer:all-accounts-deleted primary
-#: ../composer/mail-composer-errors.xml.h:44
+#: composer/mail-composer-errors.xml.h:44
msgid "All accounts have been removed."
msgstr "Të gjitha llogaritë u eleminuan."
#. mail-composer:all-accounts-deleted secondary
-#: ../composer/mail-composer-errors.xml.h:46
+#: composer/mail-composer-errors.xml.h:46
msgid "You need to configure an account before you can compose mail."
msgstr "Para se të mund të kompozoni një mesazh duhet të konfiguroni një llogari."
#. mail-composer:no-address-control primary
#. mail-composer:no-editor-control primary
-#: ../composer/mail-composer-errors.xml.h:48
-#: ../composer/mail-composer-errors.xml.h:52
+#: composer/mail-composer-errors.xml.h:48
+#: composer/mail-composer-errors.xml.h:52
msgid "Could not create composer window."
msgstr "I pamundur krijimi i dritares së shkrimit të mesazhit."
#. mail-composer:no-address-control secondary
-#: ../composer/mail-composer-errors.xml.h:50
+#: composer/mail-composer-errors.xml.h:50
msgid "Unable to activate the address selector control."
msgstr "I pamundur aktivimi i kontrollit të zgjedhësit së adresës."
#. mail-composer:no-editor-control secondary
-#: ../composer/mail-composer-errors.xml.h:54
+#: composer/mail-composer-errors.xml.h:54
msgid ""
"Unable to activate the HTML editor control.\n"
"\n"
@@ -9796,23 +9730,23 @@ msgstr ""
"I pamundur aktivimi i kontrollit të editorit HTML.\n"
"Sigurohu që keni instaluar versionin korrekt të gtkhtm dhe të libgtkhtm."
-#: ../data/evolution.desktop.in.in.h:1 ../shell/main.c:521
+#: data/evolution.desktop.in.in.h:1 shell/main.c:521
msgid "Evolution"
msgstr "Evolution"
-#: ../data/evolution.desktop.in.in.h:2
+#: data/evolution.desktop.in.in.h:2
msgid "The Evolution Groupware Suite"
msgstr "Suite Groupware e Evolution."
-#: ../data/evolution.keys.in.in.h:1
+#: data/evolution.keys.in.in.h:1
msgid "address card"
msgstr "skedari i adresës"
-#: ../data/evolution.keys.in.in.h:2
+#: data/evolution.keys.in.in.h:2
msgid "calendar information"
msgstr "informacionet e kalendarit"
-#: ../designs/OOA/ooa.glade.h:1
+#: designs/OOA/ooa.glade.h:1
msgid ""
"<b>Currently, your status is \"Out of the Office\". </b>\n"
"\n"
@@ -9822,15 +9756,15 @@ msgstr ""
"\n"
"Dëshironi të ndryshoni gjendjen tuaj në \"Në Zyrë\"? "
-#: ../designs/OOA/ooa.glade.h:4
+#: designs/OOA/ooa.glade.h:4
msgid "<b>Out of Office Message:</b>"
msgstr "<b>Mesazhi i Jashtë Zyre:</b>"
-#: ../designs/OOA/ooa.glade.h:5
+#: designs/OOA/ooa.glade.h:5
msgid "<b>Status:</b>"
msgstr "<b>Gjendja:</b>"
-#: ../designs/OOA/ooa.glade.h:6
+#: designs/OOA/ooa.glade.h:6
msgid ""
"<small>The message specified below will be automatically sent to each person "
"who sends\n"
@@ -9840,39 +9774,39 @@ msgstr ""
"personi që ju\n"
"dërgon mail kur ju jeni jashtë zyre.</small>"
-#: ../designs/OOA/ooa.glade.h:8
+#: designs/OOA/ooa.glade.h:8
msgid "I am currently in the office"
msgstr "Aktualisht ndodhem në zyrë"
-#: ../designs/OOA/ooa.glade.h:9
+#: designs/OOA/ooa.glade.h:9
msgid "I am currently out of the office"
msgstr "Për momentin jam jashtë zyre"
-#: ../designs/OOA/ooa.glade.h:10
+#: designs/OOA/ooa.glade.h:10
msgid "No, Don't Change Status"
msgstr "Jo, mos e ndrysho gjendjen"
-#: ../designs/OOA/ooa.glade.h:12
+#: designs/OOA/ooa.glade.h:12
msgid "Out of Office Assistant"
msgstr "Asistenti i \"Jashtë Zyre\""
-#: ../designs/OOA/ooa.glade.h:13
+#: designs/OOA/ooa.glade.h:13
msgid "Yes, Change Status"
msgstr "Po, ndryshoje gjendjen"
-#: ../designs/read_receipts/read.glade.h:1
+#: designs/read_receipts/read.glade.h:1
msgid " "
msgstr " "
-#: ../designs/read_receipts/read.glade.h:2
+#: designs/read_receipts/read.glade.h:2
msgid "<b>Receiving Email</b>"
msgstr "<b>Duke marrë Email</b>"
-#: ../designs/read_receipts/read.glade.h:3
+#: designs/read_receipts/read.glade.h:3
msgid "<b>Sending Email:</b>"
msgstr "<b>Duke dërguar Email:</b>"
-#: ../designs/read_receipts/read.glade.h:4
+#: designs/read_receipts/read.glade.h:4
msgid ""
"<small>This page allows you to choose if you want to be notified via a read "
"receipt when a message you\n"
@@ -9884,37 +9818,37 @@ msgstr ""
"mesazh që keni dërguar është lexuar, dhe të specifikoni se si duhet të "
"veprojë Evolution kur dikush kërkon ricevutë prej jush</small>"
-#: ../designs/read_receipts/read.glade.h:6
+#: designs/read_receipts/read.glade.h:6
msgid "Always send back a read reciept"
msgstr "Kthe gjithmonë një ricevutë leximi"
-#: ../designs/read_receipts/read.glade.h:7
+#: designs/read_receipts/read.glade.h:7
msgid "Ask me if I want to send back a read receipt"
msgstr "Pyet nëse unë dua të dërgoj një ricevutë leximi"
-#: ../designs/read_receipts/read.glade.h:8
+#: designs/read_receipts/read.glade.h:8
msgid "Never send back a read receipt"
msgstr "Mos dërgo asnjëherë ricevutë leximi"
-#: ../designs/read_receipts/read.glade.h:9
+#: designs/read_receipts/read.glade.h:9
msgid "Read Receipts"
msgstr "Lexo ricevutat"
-#: ../designs/read_receipts/read.glade.h:10
+#: designs/read_receipts/read.glade.h:10
msgid "Request a read receipt for all messages I send"
msgstr "Kërko një ricevutë leximi për të gjithë mesazhet që dërgoj"
-#: ../designs/read_receipts/read.glade.h:11
+#: designs/read_receipts/read.glade.h:11
msgid "Unless the message is sent to a mailing list, and not to me personally"
msgstr "Përveç kur mesazhi i është dërguar një mailing list, dhe jo mua personalisht"
-#: ../designs/read_receipts/read.glade.h:12
+#: designs/read_receipts/read.glade.h:12
msgid ""
"When you receive an email with a read receipt request, what should Evolution "
"do?"
msgstr "Kur ju arrin një mesazh me kërkesë ricevute, si duhet të veprojë Evolution?"
-#: ../e-util/e-dialog-utils.c:267
+#: e-util/e-dialog-utils.c:267
msgid ""
"A file by that name already exists.\n"
"Overwrite it?"
@@ -9923,7 +9857,7 @@ msgstr ""
"Mbishkruan?"
#. system:ask-save-file-exists-overwrite title
-#: ../e-util/e-dialog-utils.c:269 ../widgets/misc/e-system-errors.xml.h:2
+#: e-util/e-dialog-utils.c:269 widgets/misc/e-system-errors.xml.h:2
msgid "Overwrite file?"
msgstr "Mbishkruaj file?"
@@ -9931,7 +9865,7 @@ msgstr "Mbishkruaj file?"
#. in 12-hour format, without seconds.
#. strftime format of a weekday, a date and a
#. time, in 12-hour format, without seconds.
-#: ../e-util/e-time-utils.c:185 ../e-util/e-time-utils.c:398
+#: e-util/e-time-utils.c:185 e-util/e-time-utils.c:398
msgid "%a %m/%d/%Y %I:%M %p"
msgstr "%a %m/%d/%Y %I:%M %p"
@@ -9939,65 +9873,65 @@ msgstr "%a %m/%d/%Y %I:%M %p"
#. in 24-hour format, without seconds.
#. strftime format of a weekday, a date and a
#. time, in 24-hour format, without seconds.
-#: ../e-util/e-time-utils.c:190 ../e-util/e-time-utils.c:389
+#: e-util/e-time-utils.c:190 e-util/e-time-utils.c:389
msgid "%a %m/%d/%Y %H:%M"
msgstr "%a %m/%d/%Y %H:%M"
#. strptime format of a weekday, a date and a time,
#. in 12-hour format, without minutes or seconds.
-#: ../e-util/e-time-utils.c:195
+#: e-util/e-time-utils.c:195
msgid "%a %m/%d/%Y %I %p"
msgstr "%a %m/%d/%Y %I %p"
#. strptime format of a weekday, a date and a time,
#. in 24-hour format, without minutes or seconds.
-#: ../e-util/e-time-utils.c:200
+#: e-util/e-time-utils.c:200
msgid "%a %m/%d/%Y %H"
msgstr "%a %m/%d/%Y %H"
#. strptime format of a date and a time, in 12-hour format.
-#: ../e-util/e-time-utils.c:211
+#: e-util/e-time-utils.c:211
msgid "%m/%d/%Y %I:%M:%S %p"
msgstr "%m/%d/%Y %I:%M:%S %p"
#. strptime format of a date and a time, in 24-hour format.
-#: ../e-util/e-time-utils.c:215
+#: e-util/e-time-utils.c:215
msgid "%m/%d/%Y %H:%M:%S"
msgstr "%m/%d/%Y %H:%M:%S"
#. strptime format of a date and a time, in 12-hour format,
#. without seconds.
-#: ../e-util/e-time-utils.c:220
+#: e-util/e-time-utils.c:220
msgid "%m/%d/%Y %I:%M %p"
msgstr "%m/%d/%Y %I:%M %p"
#. strptime format of a date and a time, in 24-hour format,
#. without seconds.
-#: ../e-util/e-time-utils.c:225
+#: e-util/e-time-utils.c:225
msgid "%m/%d/%Y %H:%M"
msgstr "%m/%d/%Y %H:%M"
#. strptime format of a date and a time, in 12-hour format,
#. without minutes or seconds.
-#: ../e-util/e-time-utils.c:230
+#: e-util/e-time-utils.c:230
msgid "%m/%d/%Y %I %p"
msgstr "%m/%d/%Y %I %p"
#. strptime format of a date and a time, in 24-hour format,
#. without minutes or seconds.
-#: ../e-util/e-time-utils.c:235
+#: e-util/e-time-utils.c:235
msgid "%m/%d/%Y %H"
msgstr "%m/%d/%Y %H"
#. strptime format for a time of day, in 12-hour format.
#. strftime format of a time in 12-hour format.
-#: ../e-util/e-time-utils.c:339 ../e-util/e-time-utils.c:438
+#: e-util/e-time-utils.c:339 e-util/e-time-utils.c:438
msgid "%I:%M:%S %p"
msgstr "%I:%M:%S %p"
#. strptime format for a time of day, in 24-hour format.
#. strftime format of a time in 24-hour format.
-#: ../e-util/e-time-utils.c:343 ../e-util/e-time-utils.c:430
+#: e-util/e-time-utils.c:343 e-util/e-time-utils.c:430
msgid "%H:%M:%S"
msgstr "%H:%M:%S"
@@ -10006,8 +9940,8 @@ msgstr "%H:%M:%S"
#. strftime format of a time in 12-hour format,
#. without seconds.
#. This is a strftime() format. %I = hour (1-12), %M = minute, %p = am/pm string.
-#: ../e-util/e-time-utils.c:348 ../e-util/e-time-utils.c:435
-#: ../widgets/misc/e-dateedit.c:1431 ../widgets/misc/e-dateedit.c:1697
+#: e-util/e-time-utils.c:348 e-util/e-time-utils.c:435
+#: widgets/misc/e-dateedit.c:1431 widgets/misc/e-dateedit.c:1697
msgid "%I:%M %p"
msgstr "%I:%M %p"
@@ -10015,226 +9949,225 @@ msgstr "%I:%M %p"
#. strftime format of a time in 24-hour format,
#. without seconds.
#. This is a strftime() format. %H = hour (0-23), %M = minute.
-#: ../e-util/e-time-utils.c:352 ../e-util/e-time-utils.c:427
-#: ../widgets/misc/e-dateedit.c:1428 ../widgets/misc/e-dateedit.c:1694
+#: e-util/e-time-utils.c:352 e-util/e-time-utils.c:427
+#: widgets/misc/e-dateedit.c:1428 widgets/misc/e-dateedit.c:1694
msgid "%H:%M"
msgstr "%H:%M"
#. strptime format for hour and AM/PM, 12-hour format.
-#: ../e-util/e-time-utils.c:356
+#: e-util/e-time-utils.c:356
msgid "%I %p"
msgstr "%I %p"
-#: ../e-util/eggtrayicon.c:119
+#: e-util/eggtrayicon.c:119
msgid "The orientation of the tray."
msgstr "Orientimi i sirtarit."
-#: ../filter/filter-datespec.c:73
+#: filter/filter-datespec.c:73
#, c-format
msgid "1 second ago"
msgid_plural "%d seconds ago"
msgstr[0] "1 sekondë më parë"
msgstr[1] "%d sekonda më parë"
-#: ../filter/filter-datespec.c:74
+#: filter/filter-datespec.c:74
#, c-format
msgid "1 minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "1 minutë më parë"
msgstr[1] "%d minutë më parë"
-#: ../filter/filter-datespec.c:75
+#: filter/filter-datespec.c:75
#, c-format
msgid "1 hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d orë më parë"
msgstr[1] "1 orë më parë"
-#: ../filter/filter-datespec.c:76
+#: filter/filter-datespec.c:76
#, c-format
msgid "1 day ago"
msgid_plural "%d days ago"
msgstr[0] "%d ditë më parë"
msgstr[1] "1 ditë më parë"
-#: ../filter/filter-datespec.c:77
+#: filter/filter-datespec.c:77
#, c-format
msgid "1 week ago"
msgid_plural "%d weeks ago"
msgstr[0] "%d javë më parë"
msgstr[1] "1 javë më parë"
-#: ../filter/filter-datespec.c:78
+#: filter/filter-datespec.c:78
#, c-format
msgid "1 month ago"
msgid_plural "%d months ago"
msgstr[0] "%d muaj më parë"
msgstr[1] "1 muaj më parë"
-#: ../filter/filter-datespec.c:79
+#: filter/filter-datespec.c:79
#, c-format
msgid "1 year ago"
msgid_plural "%d years ago"
msgstr[0] "%d vite më parë"
msgstr[1] "1 vit më parë"
-#: ../filter/filter-datespec.c:280
+#: filter/filter-datespec.c:280
msgid "<click here to select a date>"
msgstr "<kliko këtu për të zgjedhur një datë>"
-#: ../filter/filter-datespec.c:283 ../filter/filter-datespec.c:294
+#: filter/filter-datespec.c:283 filter/filter-datespec.c:294
msgid "now"
msgstr "tani"
#. strftime for date filter display, only needs to show a day date (i.e. no time)
-#: ../filter/filter-datespec.c:290
+#: filter/filter-datespec.c:290
msgid "%d-%b-%Y"
msgstr "%d-%b-%Y"
-#: ../filter/filter-datespec.c:406
+#: filter/filter-datespec.c:406
msgid "Select a time to compare against"
msgstr "Zgjidh një orë për konfrontim"
#. filter:no-date primary
-#: ../filter/filter-errors.xml.h:2
+#: filter/filter-errors.xml.h:2
msgid "Missing date."
msgstr "Mungon data."
#. filter:no-date secondary
-#: ../filter/filter-errors.xml.h:4
+#: filter/filter-errors.xml.h:4
msgid "You must choose a date."
msgstr "Duhet të zgjedhësh një datë."
#. filter:no-file primary
-#: ../filter/filter-errors.xml.h:6
+#: filter/filter-errors.xml.h:6
msgid "Missing file name."
msgstr "Mungon emri i file."
#. filter:no-file secondary
#. filter:bad-file secondary
-#: ../filter/filter-errors.xml.h:8 ../filter/filter-errors.xml.h:12
+#: filter/filter-errors.xml.h:8 filter/filter-errors.xml.h:12
msgid "You must specify a file name."
msgstr "Duhet të specifikoni emrin e file."
#. filter:bad-file primary
-#: ../filter/filter-errors.xml.h:10
+#: filter/filter-errors.xml.h:10
msgid "File \"{0}\" does not exist or is not a regular file."
msgstr "File \"{0}\" nuk ekziston ose nuk është i rregullt."
#. filter:bad-regexp primary
-#: ../filter/filter-errors.xml.h:14
+#: filter/filter-errors.xml.h:14
msgid "Bad regular expression \"{0}\"."
msgstr "Shprehje e rregullt e pavlefshme \"{0}\"."
#. filter:bad-regexp secondary
-#: ../filter/filter-errors.xml.h:16
+#: filter/filter-errors.xml.h:16
msgid "Could not compile regular expression \"{1}\"."
msgstr "I pamundur kompilimi i shprehjes së rregullt \"{1}\"."
#. filter:no-name primary
#. mail:no-name-vfolder primary
-#: ../filter/filter-errors.xml.h:18 ../mail/mail-errors.xml.h:219
+#: filter/filter-errors.xml.h:18 mail/mail-errors.xml.h:219
msgid "Missing name."
msgstr "Mungon emri."
#. filter:no-name secondary
-#: ../filter/filter-errors.xml.h:20
+#: filter/filter-errors.xml.h:20
msgid "You must name this filter."
msgstr "Duhet t'i caktoni një emër këtij filtri."
#. filter:bad-name-notunique primary
-#: ../filter/filter-errors.xml.h:22
+#: filter/filter-errors.xml.h:22
msgid "Name \"{0}\" already used."
msgstr "Emri \"{0}\" është në përdorim."
#. filter:bad-name-notunique secondary
-#: ../filter/filter-errors.xml.h:24
+#: filter/filter-errors.xml.h:24
msgid "Please choose another name."
msgstr "Zgjidh një emër tjetër."
-#: ../filter/filter-file.c:288
+#: filter/filter-file.c:288
msgid "Choose a file"
msgstr "Zgjidh një file"
-#: ../filter/filter-label.c:121 ../mail/em-filter-i18n.h:26
-#: ../mail/em-migrate.c:1041 ../mail/mail-config.c:76
-#: ../mail/mail-config.glade.h:90
+#: filter/filter-label.c:121 mail/em-filter-i18n.h:26 mail/em-migrate.c:1041
+#: mail/mail-config.c:76 mail/mail-config.glade.h:90
msgid "Important"
msgstr "I rëndësishëm"
#. forest green
-#: ../filter/filter-label.c:124 ../mail/em-migrate.c:1044
-#: ../mail/mail-config.c:79 ../mail/mail-config.glade.h:140
+#: filter/filter-label.c:124 mail/em-migrate.c:1044 mail/mail-config.c:79
+#: mail/mail-config.glade.h:140
msgid "To Do"
msgstr "Për të bërë"
#. blue
-#: ../filter/filter-label.c:125 ../mail/em-migrate.c:1045
-#: ../mail/mail-config.c:80 ../mail/mail-config.glade.h:93
+#: filter/filter-label.c:125 mail/em-migrate.c:1045 mail/mail-config.c:80
+#: mail/mail-config.glade.h:93
msgid "Later"
msgstr "Më vonë"
-#: ../filter/filter-part.c:532 ../shell/GNOME_Evolution_Test.server.in.in.h:3
+#: filter/filter-part.c:532 shell/GNOME_Evolution_Test.server.in.in.h:3
msgid "Test"
msgstr "Prova"
-#: ../filter/filter-rule.c:790
+#: filter/filter-rule.c:790
msgid "_Rule name:"
msgstr "Emri i _rregullës:"
-#: ../filter/filter-rule.c:818
+#: filter/filter-rule.c:818
msgid "<b>If</b>"
msgstr "<b>Nëse</b>"
-#: ../filter/filter-rule.c:855
+#: filter/filter-rule.c:855
msgid "if all criteria are met"
msgstr "nëse të gjithë kushtet plotësohen"
-#: ../filter/filter-rule.c:855
+#: filter/filter-rule.c:855
msgid "if any criteria are met"
msgstr "nëse çdo kusht plotësohet"
-#: ../filter/filter-rule.c:857
+#: filter/filter-rule.c:857
msgid "Execute actions"
msgstr "Ekzekuto veprimet"
-#: ../filter/filter-rule.c:878
+#: filter/filter-rule.c:878
msgid "All related"
msgstr "Gjithçka që ka të bëjë"
-#: ../filter/filter-rule.c:878
+#: filter/filter-rule.c:878
msgid "Replies"
msgstr "Përgjigjet"
-#: ../filter/filter-rule.c:878
+#: filter/filter-rule.c:878
msgid "Replies and parents"
msgstr "Përgjigjet dhe prindërit"
-#: ../filter/filter-rule.c:880
+#: filter/filter-rule.c:880
msgid "Include threads"
msgstr "Përfshi diskutimet"
-#: ../filter/filter-rule.c:975 ../filter/filter.glade.h:3
+#: filter/filter-rule.c:975 filter/filter.glade.h:3
msgid "Incoming"
msgstr "Në ardhje"
-#: ../filter/filter-rule.c:975
+#: filter/filter-rule.c:975
msgid "Outgoing"
msgstr "Në dalje"
-#: ../filter/filter.glade.h:1
+#: filter/filter.glade.h:1
msgid "<b>_Filter Rules</b>"
msgstr "<b>Rregullat e _Filtrit</b>"
-#: ../filter/filter.glade.h:2
+#: filter/filter.glade.h:2
msgid "Compare against"
msgstr "Krahaso me njëri tjetrin"
-#: ../filter/filter.glade.h:4
+#: filter/filter.glade.h:4
msgid "Show filters for mail:"
msgstr "Shfaq filtrat për mesazhet:"
-#: ../filter/filter.glade.h:5
+#: filter/filter.glade.h:5
msgid ""
"The message's date will be compared against\n"
"12:00am of the date specified."
@@ -10242,7 +10175,7 @@ msgstr ""
"Data e mesazhit do të krahasohet me\n"
"12:00pd të datës së specifikuar."
-#: ../filter/filter.glade.h:7
+#: filter/filter.glade.h:7
msgid ""
"The message's date will be compared against\n"
"a time relative to when filtering occurs."
@@ -10250,7 +10183,7 @@ msgstr ""
"Data e mesazhit do të krahasohet me\n"
"orën relative kur përdoret filtri."
-#: ../filter/filter.glade.h:9
+#: filter/filter.glade.h:9
msgid ""
"The message's date will be compared against\n"
"the current time when filtering occurs."
@@ -10258,115 +10191,113 @@ msgstr ""
"Data e mesazhit do të krahasohet me\n"
"orën aktuale kur përdoret filtri."
-#: ../filter/filter.glade.h:12
+#: filter/filter.glade.h:12
msgid "a time relative to the current time"
msgstr "një datë relative me aktualen"
-#: ../filter/filter.glade.h:13
+#: filter/filter.glade.h:13
msgid "ago"
msgstr "më parë"
-#: ../filter/filter.glade.h:17
+#: filter/filter.glade.h:17
msgid "months"
msgstr "muaj"
-#: ../filter/filter.glade.h:18 ../mail/mail-config.glade.h:172
+#: filter/filter.glade.h:18 mail/mail-config.glade.h:172
msgid "seconds"
msgstr "sekonda"
-#: ../filter/filter.glade.h:19
+#: filter/filter.glade.h:19
msgid "the current time"
msgstr "ora aktuale"
-#: ../filter/filter.glade.h:20
+#: filter/filter.glade.h:20
msgid "the time you specify"
msgstr "data e dhënë"
-#: ../filter/filter.glade.h:22
+#: filter/filter.glade.h:22
msgid "years"
msgstr "vite"
-#: ../filter/rule-editor.c:285
+#: filter/rule-editor.c:285
msgid "Add Rule"
msgstr "Shto rregull"
-#: ../filter/rule-editor.c:361
+#: filter/rule-editor.c:361
msgid "Edit Rule"
msgstr "Ndrysho rregullin"
-#: ../filter/rule-editor.c:693
+#: filter/rule-editor.c:693
msgid "Rule name"
msgstr "Emri i rregullit"
-#: ../mail/GNOME_Evolution_Mail.server.in.in.h:1
+#: mail/GNOME_Evolution_Mail.server.in.in.h:1
msgid "Composer Preferences"
msgstr "Preferimet e hartuesit"
-#: ../mail/GNOME_Evolution_Mail.server.in.in.h:2
+#: mail/GNOME_Evolution_Mail.server.in.in.h:2
msgid "Configure mail preferences, including security and message display, here"
msgstr ""
"Konfiguro preferimet e postës, përfshirë sigurinë dhe shfaqjen e mesazheve, "
"këtu"
-#: ../mail/GNOME_Evolution_Mail.server.in.in.h:3
+#: mail/GNOME_Evolution_Mail.server.in.in.h:3
msgid "Configure spell-checking, signatures, and the message composer here"
msgstr "Konfiguro këtu kontrollin e drejtshkrimit, firmat dhe hartuesin e mesazheve"
-#: ../mail/GNOME_Evolution_Mail.server.in.in.h:4
+#: mail/GNOME_Evolution_Mail.server.in.in.h:4
msgid "Configure your email accounts here"
msgstr "Konfiguro këtu llogaritë e postës elektronike"
-#: ../mail/GNOME_Evolution_Mail.server.in.in.h:5
+#: mail/GNOME_Evolution_Mail.server.in.in.h:5
msgid "Evolution Mail"
msgstr "Posta e Evolution"
-#: ../mail/GNOME_Evolution_Mail.server.in.in.h:6
+#: mail/GNOME_Evolution_Mail.server.in.in.h:6
msgid "Evolution Mail accounts configuration control"
msgstr "Kontrolli i konfigurimit të llogarive së postës Evolution"
-#: ../mail/GNOME_Evolution_Mail.server.in.in.h:7
+#: mail/GNOME_Evolution_Mail.server.in.in.h:7
msgid "Evolution Mail component"
msgstr "Përbërës i postës së Evolution"
-#: ../mail/GNOME_Evolution_Mail.server.in.in.h:8
+#: mail/GNOME_Evolution_Mail.server.in.in.h:8
msgid "Evolution Mail composer"
msgstr "Hartuesi i postës së Evolution"
-#: ../mail/GNOME_Evolution_Mail.server.in.in.h:9
+#: mail/GNOME_Evolution_Mail.server.in.in.h:9
msgid "Evolution Mail composer configuration control"
msgstr "Kontrolli i konfigurimit të hartuesit të postës së Evolution"
-#: ../mail/GNOME_Evolution_Mail.server.in.in.h:10
+#: mail/GNOME_Evolution_Mail.server.in.in.h:10
msgid "Evolution Mail preferences control"
msgstr "Kontrolli i preferimeve të postës së Evolution"
-#: ../mail/GNOME_Evolution_Mail.server.in.in.h:11 ../mail/em-folder-view.c:469
-#: ../mail/importers/elm-importer.c:418
-#: ../mail/importers/netscape-importer.c:1902
-#: ../mail/importers/pine-importer.c:474 ../mail/mail-component.c:557
-#: ../mail/mail-component.c:608
+#: mail/GNOME_Evolution_Mail.server.in.in.h:11 mail/em-folder-view.c:469
+#: mail/importers/elm-importer.c:418 mail/importers/netscape-importer.c:1902
+#: mail/importers/pine-importer.c:474 mail/mail-component.c:557
+#: mail/mail-component.c:608
msgid "Mail"
msgstr "Posta"
-#: ../mail/GNOME_Evolution_Mail.server.in.in.h:12
+#: mail/GNOME_Evolution_Mail.server.in.in.h:12
msgid "Mail Accounts"
msgstr "Llogaritë e postës"
-#: ../mail/GNOME_Evolution_Mail.server.in.in.h:13
-#: ../mail/mail-config.glade.h:95
+#: mail/GNOME_Evolution_Mail.server.in.in.h:13 mail/mail-config.glade.h:95
msgid "Mail Preferences"
msgstr "Preferimet e postës"
-#: ../mail/GNOME_Evolution_Mail.server.in.in.h:14
+#: mail/GNOME_Evolution_Mail.server.in.in.h:14
msgid "_Mail"
msgstr "_Mail"
-#: ../mail/em-account-editor.c:387
+#: mail/em-account-editor.c:387
#, c-format
msgid "%s License Agreement"
msgstr "Marrëveshje autorizimi për %s"
-#: ../mail/em-account-editor.c:394
+#: mail/em-account-editor.c:394
#, c-format
msgid ""
"\n"
@@ -10379,94 +10310,94 @@ msgstr ""
"për %s shfaqur më poshtë\n"
"dhe shëno kutinë zgjedhëse për t'a pranuar atë\n"
-#: ../mail/em-account-editor.c:464 ../mail/em-filter-folder-element.c:237
-#: ../mail/em-vfolder-rule.c:494
+#: mail/em-account-editor.c:464 mail/em-filter-folder-element.c:237
+#: mail/em-vfolder-rule.c:494
msgid "Select Folder"
msgstr "Zgjidh Kartelë"
-#: ../mail/em-account-editor.c:1664 ../mail/mail-config.glade.h:89
+#: mail/em-account-editor.c:1664 mail/mail-config.glade.h:89
msgid "Identity"
msgstr "Identiteti"
-#: ../mail/em-account-editor.c:1700 ../mail/mail-config.glade.h:114
+#: mail/em-account-editor.c:1700 mail/mail-config.glade.h:114
msgid "Receiving Email"
msgstr "Marrja e email"
-#: ../mail/em-account-editor.c:1877
+#: mail/em-account-editor.c:1877
msgid "Automatically check for _new mail every"
msgstr "Kontrollo automatikisht për mesazhe të _rinj çdo"
-#: ../mail/em-account-editor.c:2045 ../mail/mail-config.glade.h:124
+#: mail/em-account-editor.c:2045 mail/mail-config.glade.h:124
msgid "Sending Email"
msgstr "Dërgimi i postës"
-#: ../mail/em-account-editor.c:2089 ../mail/mail-config.glade.h:67
+#: mail/em-account-editor.c:2089 mail/mail-config.glade.h:67
msgid "Defaults"
msgstr "Vlerat e prezgjedhura"
-#: ../mail/em-account-editor.c:2148 ../mail/mail-config.glade.h:119
+#: mail/em-account-editor.c:2148 mail/mail-config.glade.h:119
msgid "Security"
msgstr "Siguria"
#. Most sections for this is auto-generated fromt the camel config
-#: ../mail/em-account-editor.c:2185 ../mail/em-account-editor.c:2260
+#: mail/em-account-editor.c:2185 mail/em-account-editor.c:2260
msgid "Receiving Options"
msgstr "Opcionet e marrjes"
-#: ../mail/em-account-editor.c:2186 ../mail/em-account-editor.c:2261
+#: mail/em-account-editor.c:2186 mail/em-account-editor.c:2261
msgid "Checking for New Mail"
msgstr "Kontroll për mesazhe të rinj"
-#: ../mail/em-account-editor.c:2585 ../mail/mail-config.glade.h:33
+#: mail/em-account-editor.c:2585 mail/mail-config.glade.h:33
msgid "Account Editor"
msgstr "Editori i llogarive"
-#: ../mail/em-account-editor.c:2585 ../mail/mail-config.glade.h:79
+#: mail/em-account-editor.c:2585 mail/mail-config.glade.h:79
msgid "Evolution Account Assistant"
msgstr "Asistenti i llogarive Evolution"
#. translators: default account indicator
-#: ../mail/em-account-prefs.c:428
+#: mail/em-account-prefs.c:428
msgid "[Default]"
msgstr "[Prezgjedhur]"
-#: ../mail/em-account-prefs.c:482
+#: mail/em-account-prefs.c:482
msgid "Account name"
msgstr "Emri i llogarisë"
-#: ../mail/em-account-prefs.c:484
+#: mail/em-account-prefs.c:484
msgid "Protocol"
msgstr "Protokolli"
-#: ../mail/em-composer-prefs.c:306 ../mail/em-composer-prefs.c:429
-#: ../mail/mail-config.c:935
+#: mail/em-composer-prefs.c:306 mail/em-composer-prefs.c:429
+#: mail/mail-config.c:935
msgid "Unnamed"
msgstr "Pa emër"
-#: ../mail/em-composer-prefs.c:894
+#: mail/em-composer-prefs.c:894
msgid "Language(s)"
msgstr "Gjuha(ët)"
-#: ../mail/em-composer-prefs.c:937
+#: mail/em-composer-prefs.c:937
msgid "Add signature script"
msgstr "Shto firmën"
-#: ../mail/em-composer-prefs.c:957
+#: mail/em-composer-prefs.c:957
msgid "Signature(s)"
msgstr "Firma(t)"
-#: ../mail/em-composer-utils.c:911
+#: mail/em-composer-utils.c:911
msgid "-------- Forwarded Message --------"
msgstr "-------- Mesazhi i Përcjellë --------"
-#: ../mail/em-composer-utils.c:1521
+#: mail/em-composer-utils.c:1521
msgid "an unknown sender"
msgstr "një dërgues i panjohur"
#. Note to translators: this is the attribution string used when quoting messages.
#. * each ${Variable} gets replaced with a value. To see a full list of available
#. * variables, see em-composer-utils.c:1514
-#: ../mail/em-composer-utils.c:1568
+#: mail/em-composer-utils.c:1568
msgid ""
"On ${AbbrevWeekdayName}, ${Year}-${Month}-${Day} at ${24Hour}:${Minute} "
"${TimeZone}, ${Sender} wrote:"
@@ -10474,604 +10405,600 @@ msgstr ""
"Më ${AbbrevWeekdayName}, ${Year}-${Month}-${Day} at ${24Hour}:${Minute} "
"${TimeZone}, ${Sender} ka shkruar:"
-#: ../mail/em-filter-editor.c:147
+#: mail/em-filter-editor.c:147
msgid "_Filter Rules"
msgstr "Rregullat e _Filtrave"
#. Automatically generated. Do not edit.
-#: ../mail/em-filter-i18n.h:2
+#: mail/em-filter-i18n.h:2
msgid "Adjust Score"
msgstr "Përshtat Pikët"
-#: ../mail/em-filter-i18n.h:3
+#: mail/em-filter-i18n.h:3
msgid "Assign Color"
msgstr "Cakto ngjyrën"
-#: ../mail/em-filter-i18n.h:4
+#: mail/em-filter-i18n.h:4
msgid "Assign Score"
msgstr "Cakto pikët"
-#: ../mail/em-filter-i18n.h:5
+#: mail/em-filter-i18n.h:5
msgid "Attachments"
msgstr "Të bashkangjitur"
-#: ../mail/em-filter-i18n.h:6
+#: mail/em-filter-i18n.h:6
msgid "Beep"
msgstr "Beep"
-#: ../mail/em-filter-i18n.h:7
+#: mail/em-filter-i18n.h:7
msgid "contains"
msgstr "përmban"
-#: ../mail/em-filter-i18n.h:8
+#: mail/em-filter-i18n.h:8
msgid "Copy to Folder"
msgstr "Kopjoje tek kartela"
-#: ../mail/em-filter-i18n.h:9
+#: mail/em-filter-i18n.h:9
msgid "Date received"
msgstr "Data e marrjes"
-#: ../mail/em-filter-i18n.h:10
+#: mail/em-filter-i18n.h:10
msgid "Date sent"
msgstr "Data e dërgimit"
-#: ../mail/em-filter-i18n.h:12
+#: mail/em-filter-i18n.h:12
msgid "Deleted"
msgstr "Eleminuar"
-#: ../mail/em-filter-i18n.h:13
+#: mail/em-filter-i18n.h:13
msgid "does not contain"
msgstr "nuk përmban"
-#: ../mail/em-filter-i18n.h:14
+#: mail/em-filter-i18n.h:14
msgid "does not end with"
msgstr "nuk përfundon me"
-#: ../mail/em-filter-i18n.h:15
+#: mail/em-filter-i18n.h:15
msgid "does not exist"
msgstr "nuk ekziston"
-#: ../mail/em-filter-i18n.h:16
+#: mail/em-filter-i18n.h:16
msgid "does not return"
msgstr "nuk kthehet"
-#: ../mail/em-filter-i18n.h:17
+#: mail/em-filter-i18n.h:17
msgid "does not sound like"
msgstr "nuk duket si"
-#: ../mail/em-filter-i18n.h:18
+#: mail/em-filter-i18n.h:18
msgid "does not start with"
msgstr "nuk fillon me"
-#: ../mail/em-filter-i18n.h:19
+#: mail/em-filter-i18n.h:19
msgid "Do Not Exist"
msgstr "Not Ekziston"
-#: ../mail/em-filter-i18n.h:20
+#: mail/em-filter-i18n.h:20
msgid "Draft"
msgstr "Kopje e keqe"
-#: ../mail/em-filter-i18n.h:21
+#: mail/em-filter-i18n.h:21
msgid "ends with"
msgstr "mbaron me"
-#: ../mail/em-filter-i18n.h:22
+#: mail/em-filter-i18n.h:22
msgid "Exist"
msgstr "Ekziston"
-#: ../mail/em-filter-i18n.h:23
+#: mail/em-filter-i18n.h:23
msgid "exists"
msgstr "ekziston"
-#: ../mail/em-filter-i18n.h:24
+#: mail/em-filter-i18n.h:24
msgid "Expression"
msgstr "Shprehje"
-#: ../mail/em-filter-i18n.h:25
+#: mail/em-filter-i18n.h:25
msgid "Follow Up"
msgstr "Vazhdimi"
-#: ../mail/em-filter-i18n.h:27
+#: mail/em-filter-i18n.h:27
msgid "is"
msgstr "është"
-#: ../mail/em-filter-i18n.h:28
+#: mail/em-filter-i18n.h:28
msgid "is after"
msgstr "është mbas"
-#: ../mail/em-filter-i18n.h:29
+#: mail/em-filter-i18n.h:29
msgid "is before"
msgstr "është përpara"
-#: ../mail/em-filter-i18n.h:30
+#: mail/em-filter-i18n.h:30
msgid "is Flagged"
msgstr "është shënuar me flamurë"
-#: ../mail/em-filter-i18n.h:31
+#: mail/em-filter-i18n.h:31
msgid "is greater than"
msgstr "është më i madh se"
-#: ../mail/em-filter-i18n.h:32
+#: mail/em-filter-i18n.h:32
msgid "is less than"
msgstr "është më pak se"
-#: ../mail/em-filter-i18n.h:33
+#: mail/em-filter-i18n.h:33
msgid "is not"
msgstr "nuk është"
-#: ../mail/em-filter-i18n.h:34
+#: mail/em-filter-i18n.h:34
msgid "is not Flagged"
msgstr "nuk është shënuar me flamurë"
-#: ../mail/em-filter-i18n.h:35 ../mail/mail-config.glade.h:92
-#: ../ui/evolution-mail-message.xml.h:48
+#: mail/em-filter-i18n.h:35 mail/mail-config.glade.h:92
+#: ui/evolution-mail-message.xml.h:48
msgid "Junk"
msgstr "Për në plehra"
-#: ../mail/em-filter-i18n.h:36
+#: mail/em-filter-i18n.h:36
msgid "Junk Test"
msgstr "Teksti për t'u refuzuar"
-#: ../mail/em-filter-i18n.h:37 ../mail/em-folder-view.c:992
-#: ../widgets/misc/e-expander.c:189
+#: mail/em-filter-i18n.h:37 mail/em-folder-view.c:992
+#: widgets/misc/e-expander.c:189
msgid "Label"
msgstr "Etiketa"
-#: ../mail/em-filter-i18n.h:38
+#: mail/em-filter-i18n.h:38
msgid "Mailing list"
msgstr "Mailing list"
-#: ../mail/em-filter-i18n.h:39
+#: mail/em-filter-i18n.h:39
msgid "Match All"
msgstr "Korrispondencë e plotë"
-#: ../mail/em-filter-i18n.h:40
+#: mail/em-filter-i18n.h:40
msgid "Message Body"
msgstr "Trupi i mesazhit"
-#: ../mail/em-filter-i18n.h:41
+#: mail/em-filter-i18n.h:41
msgid "Message Header"
msgstr "Kreu i mesazhit"
-#: ../mail/em-filter-i18n.h:42
+#: mail/em-filter-i18n.h:42
msgid "Message is Junk"
msgstr "Mesazhi është për tu flakur"
-#: ../mail/em-filter-i18n.h:43
+#: mail/em-filter-i18n.h:43
msgid "Message is not Junk"
msgstr "Mesazhi nuk është për tu flakur"
-#: ../mail/em-filter-i18n.h:44
+#: mail/em-filter-i18n.h:44
msgid "Move to Folder"
msgstr "Lëvize tek kartela"
-#: ../mail/em-filter-i18n.h:45
+#: mail/em-filter-i18n.h:45
msgid "Pipe to Program"
msgstr "Ridrejtoje tek programi"
-#: ../mail/em-filter-i18n.h:46
+#: mail/em-filter-i18n.h:46
msgid "Play Sound"
msgstr "Lësho tingullin"
-#: ../mail/em-filter-i18n.h:47 ../mail/message-tag-followup.c:80
+#: mail/em-filter-i18n.h:47 mail/message-tag-followup.c:80
msgid "Read"
msgstr "Lexo"
-#: ../mail/em-filter-i18n.h:48
+#: mail/em-filter-i18n.h:48
msgid "Recipients"
msgstr "Marrës"
-#: ../mail/em-filter-i18n.h:49
+#: mail/em-filter-i18n.h:49
msgid "Regex Match"
msgstr "Regex Match"
-#: ../mail/em-filter-i18n.h:50
+#: mail/em-filter-i18n.h:50
msgid "Replied to"
msgstr "Në përgjigje të"
-#: ../mail/em-filter-i18n.h:51
+#: mail/em-filter-i18n.h:51
msgid "returns"
msgstr "të kthyer"
-#: ../mail/em-filter-i18n.h:52
+#: mail/em-filter-i18n.h:52
msgid "returns greater than"
msgstr "të kthyer më të mëdhenj se"
-#: ../mail/em-filter-i18n.h:53
+#: mail/em-filter-i18n.h:53
msgid "returns less than"
msgstr "të kthyer më të vegjël se"
-#: ../mail/em-filter-i18n.h:54
+#: mail/em-filter-i18n.h:54
msgid "Run Program"
msgstr "Zbato programin"
-#: ../mail/em-filter-i18n.h:55 ../mail/message-list.etspec.h:10
+#: mail/em-filter-i18n.h:55 mail/message-list.etspec.h:10
msgid "Score"
msgstr "Pikë"
-#: ../mail/em-filter-i18n.h:56
+#: mail/em-filter-i18n.h:56
msgid "Sender"
msgstr "Dërguesi"
-#: ../mail/em-filter-i18n.h:57
+#: mail/em-filter-i18n.h:57
msgid "Set Status"
msgstr "Vendos gjendjen"
-#: ../mail/em-filter-i18n.h:58
+#: mail/em-filter-i18n.h:58
msgid "Size (kB)"
msgstr "Madhësia (kB)"
-#: ../mail/em-filter-i18n.h:59
+#: mail/em-filter-i18n.h:59
msgid "sounds like"
msgstr "ngjan si"
-#: ../mail/em-filter-i18n.h:60
+#: mail/em-filter-i18n.h:60
msgid "Source Account"
msgstr "Buruesi i llogarisë"
-#: ../mail/em-filter-i18n.h:61
+#: mail/em-filter-i18n.h:61
msgid "Specific header"
msgstr "Titull specifik"
-#: ../mail/em-filter-i18n.h:62
+#: mail/em-filter-i18n.h:62
msgid "starts with"
msgstr "fillon me"
-#: ../mail/em-filter-i18n.h:64
+#: mail/em-filter-i18n.h:64
msgid "Stop Processing"
msgstr "Ndalo proçesimin"
-#: ../mail/em-filter-i18n.h:65 ../mail/em-format-html.c:1533
-#: ../mail/em-format-quote.c:306 ../mail/em-format.c:853
-#: ../mail/em-mailer-prefs.c:88 ../mail/message-list.etspec.h:13
-#: ../mail/message-tag-followup.c:330
-#: ../plugins/shared-folder/properties.glade.h:7 ../smime/lib/e-cert.c:1131
+#: mail/em-filter-i18n.h:65 mail/em-format-html.c:1533
+#: mail/em-format-quote.c:306 mail/em-format.c:853 mail/em-mailer-prefs.c:88
+#: mail/message-list.etspec.h:13 mail/message-tag-followup.c:330
+#: plugins/shared-folder/properties.glade.h:7 smime/lib/e-cert.c:1131
msgid "Subject"
msgstr "Subjekti"
-#: ../mail/em-filter-i18n.h:66
+#: mail/em-filter-i18n.h:66
msgid "Unset Status"
msgstr "Gjëndje e pacaktuar"
#. and now for the action area
-#: ../mail/em-filter-rule.c:488
+#: mail/em-filter-rule.c:488
msgid "<b>Then</b>"
msgstr "<b>Atëhere</b>"
-#: ../mail/em-folder-browser.c:133
+#: mail/em-folder-browser.c:133
msgid "Create _vFolder From Search..."
msgstr "Krijon kartelë _vFolder nga kërkimi..."
#. TODO: can this be done in a loop?
-#: ../mail/em-folder-properties.c:144
+#: mail/em-folder-properties.c:144
msgid "Total message:"
msgid_plural "Total messages:"
msgstr[0] "Gjithsej mesazh:"
msgstr[1] "Gjithsej mesazhe:"
-#: ../mail/em-folder-properties.c:156
+#: mail/em-folder-properties.c:156
msgid "Unread message:"
msgid_plural "Unread messages:"
msgstr[0] "Mesazh i palexuar:"
msgstr[1] "Mesazhe të palexuar:"
-#: ../mail/em-folder-properties.c:278
-#: ../plugins/shared-folder/properties.glade.h:3
+#: mail/em-folder-properties.c:278 plugins/shared-folder/properties.glade.h:3
msgid "Folder Properties"
msgstr "Pronësitë e kartelës"
-#: ../mail/em-folder-selection-button.c:123
+#: mail/em-folder-selection-button.c:123
msgid "<click here to select a folder>"
msgstr "<kliko këtu për të zgjedhur një kartelë>"
-#: ../mail/em-folder-selector.c:166
+#: mail/em-folder-selector.c:166
msgid "Create New Folder"
msgstr "Krijo një Kartelë të Re"
-#: ../mail/em-folder-selector.c:166 ../mail/em-folder-tree.c:2527
-#: ../mail/mail-component.c:770 ../plugins/shared-folder/install-shared.c:144
-#: ../plugins/shared-folder/share-folder-common.c:345
+#: mail/em-folder-selector.c:166 mail/em-folder-tree.c:2527
+#: mail/mail-component.c:770 plugins/shared-folder/install-shared.c:144
+#: plugins/shared-folder/share-folder-common.c:345
msgid "Specify where to create the folder:"
msgstr "Përcakto ku duhet krijuar kartela:"
-#: ../mail/em-folder-selector.c:304
+#: mail/em-folder-selector.c:304
msgid "Create"
msgstr "Krijo"
-#: ../mail/em-folder-selector.c:308
+#: mail/em-folder-selector.c:308
msgid "Folder _name:"
msgstr "_Emri i kartelës:"
-#: ../mail/em-folder-tree-model.c:201 ../mail/em-folder-tree-model.c:203
-#: ../mail/mail-vfolder.c:899 ../mail/mail-vfolder.c:969
+#: mail/em-folder-tree-model.c:201 mail/em-folder-tree-model.c:203
+#: mail/mail-vfolder.c:899 mail/mail-vfolder.c:969
msgid "vFolders"
msgstr "vKartelat"
#. UNMATCHED is always last
-#: ../mail/em-folder-tree-model.c:207 ../mail/em-folder-tree-model.c:209
+#: mail/em-folder-tree-model.c:207 mail/em-folder-tree-model.c:209
msgid "UNMATCHED"
msgstr "PAPËRPUTHJE"
-#: ../mail/em-folder-tree-model.c:468 ../mail/mail-component.c:142
+#: mail/em-folder-tree-model.c:468 mail/mail-component.c:142
msgid "Drafts"
msgstr "Kopje e keqe"
#. translators: standard local mailbox names
-#: ../mail/em-folder-tree-model.c:471 ../mail/mail-component.c:141
+#: mail/em-folder-tree-model.c:471 mail/mail-component.c:141
msgid "Inbox"
msgstr "Në ardhje"
-#: ../mail/em-folder-tree-model.c:474 ../mail/mail-component.c:143
+#: mail/em-folder-tree-model.c:474 mail/mail-component.c:143
msgid "Outbox"
msgstr "Në dalje"
-#: ../mail/em-folder-tree-model.c:476 ../mail/mail-component.c:144
+#: mail/em-folder-tree-model.c:476 mail/mail-component.c:144
msgid "Sent"
msgstr "Dërguar"
-#: ../mail/em-folder-tree-model.c:495 ../mail/em-folder-tree-model.c:799
+#: mail/em-folder-tree-model.c:495 mail/em-folder-tree-model.c:799
msgid "Loading..."
msgstr "Duke ngarkuar..."
-#: ../mail/em-folder-tree.c:688
+#: mail/em-folder-tree.c:688
msgid "Mail Folder Tree"
msgstr "Pema e kartelave të postës"
-#: ../mail/em-folder-tree.c:921
+#: mail/em-folder-tree.c:921
#, c-format
msgid "Moving folder %s"
msgstr "Duke lëvizur kartelën %s"
-#: ../mail/em-folder-tree.c:923
+#: mail/em-folder-tree.c:923
#, c-format
msgid "Copying folder %s"
msgstr "Duke kopjuar kartelën %s"
-#: ../mail/em-folder-tree.c:930 ../mail/message-list.c:1612
+#: mail/em-folder-tree.c:930 mail/message-list.c:1612
#, c-format
msgid "Moving messages into folder %s"
msgstr "Duke lëvizur mesazhet në kartelën %s"
-#: ../mail/em-folder-tree.c:932 ../mail/message-list.c:1614
+#: mail/em-folder-tree.c:932 mail/message-list.c:1614
#, c-format
msgid "Copying messages into folder %s"
msgstr "Duke kopjuar mesazhet në kartelën %s"
-#: ../mail/em-folder-tree.c:948
+#: mail/em-folder-tree.c:948
msgid "Cannot drop message(s) into toplevel store"
msgstr "E pamundur hedhja e mesazhit(eve) nën magazinën qendrore"
-#: ../mail/em-folder-tree.c:1044 ../ui/evolution-mail-message.xml.h:106
+#: mail/em-folder-tree.c:1044 ui/evolution-mail-message.xml.h:106
msgid "_Copy to Folder"
msgstr "_Kopjo tek Kartela"
-#: ../mail/em-folder-tree.c:1045 ../ui/evolution-mail-message.xml.h:115
+#: mail/em-folder-tree.c:1045 ui/evolution-mail-message.xml.h:115
msgid "_Move to Folder"
msgstr "_Lëviz tek Kartela"
-#: ../mail/em-folder-tree.c:1750 ../mail/mail-ops.c:1026
+#: mail/em-folder-tree.c:1750 mail/mail-ops.c:1026
#, c-format
msgid "Scanning folders in \"%s\""
msgstr "Duke kontrolluar kartelat në \"%s\""
-#: ../mail/em-folder-tree.c:2023
+#: mail/em-folder-tree.c:2023
#, c-format
msgid "Copying `%s' to `%s'"
msgstr "Duke kopjuar `%s' në `%s'"
-#: ../mail/em-folder-tree.c:2297 ../mail/em-folder-tree.c:2311
-#: ../mail/em-folder-view.c:862 ../mail/em-folder-view.c:877
-#: ../mail/importers/evolution-mbox-importer.c:120
-#: ../mail/importers/evolution-outlook-importer.c:134
+#: mail/em-folder-tree.c:2297 mail/em-folder-tree.c:2311
+#: mail/em-folder-view.c:862 mail/em-folder-view.c:877
+#: mail/importers/evolution-mbox-importer.c:120
+#: mail/importers/evolution-outlook-importer.c:134
msgid "Select folder"
msgstr "Zgjidh kartelën"
-#: ../mail/em-folder-tree.c:2297 ../mail/em-folder-view.c:877
+#: mail/em-folder-tree.c:2297 mail/em-folder-view.c:877
msgid "C_opy"
msgstr "K_opjo"
-#: ../mail/em-folder-tree.c:2338
-#: ../plugins/shared-folder/share-folder-common.c:138
+#: mail/em-folder-tree.c:2338 plugins/shared-folder/share-folder-common.c:138
#, c-format
msgid "Creating folder `%s'"
msgstr "Duke krijuar kartelën `%s'"
-#: ../mail/em-folder-tree.c:2527 ../mail/mail-component.c:770
-#: ../plugins/shared-folder/install-shared.c:144
-#: ../plugins/shared-folder/share-folder-common.c:345
+#: mail/em-folder-tree.c:2527 mail/mail-component.c:770
+#: plugins/shared-folder/install-shared.c:144
+#: plugins/shared-folder/share-folder-common.c:345
msgid "Create folder"
msgstr "Krijo kartelë"
-#: ../mail/em-folder-tree.c:2720
+#: mail/em-folder-tree.c:2720
#, c-format
msgid "Rename the \"%s\" folder to:"
msgstr "Riemërto kartelën \"%s\" në:"
-#: ../mail/em-folder-tree.c:2722
+#: mail/em-folder-tree.c:2722
msgid "Rename Folder"
msgstr "Riemërto kartelën"
-#: ../mail/em-folder-tree.c:2728
+#: mail/em-folder-tree.c:2728
msgid "Folder names cannot contain '/'"
msgstr "Emrat e kartelës nuk mund të përmbajnë simbolin \"/\"."
-#: ../mail/em-folder-tree.c:2802 ../ui/evolution-addressbook.xml.h:44
-#: ../ui/evolution-mail-global.xml.h:17
-#: ../ui/evolution-mail-messagedisplay.xml.h:8
-#: ../ui/evolution-message-composer.xml.h:53 ../ui/evolution.xml.h:49
+#: mail/em-folder-tree.c:2802 ui/evolution-addressbook.xml.h:44
+#: ui/evolution-mail-global.xml.h:17 ui/evolution-mail-messagedisplay.xml.h:8
+#: ui/evolution-message-composer.xml.h:53 ui/evolution.xml.h:49
msgid "_View"
msgstr "_Shfaq"
-#: ../mail/em-folder-tree.c:2803
+#: mail/em-folder-tree.c:2803
msgid "Open in _New Window"
msgstr "Hape në një dritare të _re"
-#: ../mail/em-folder-tree.c:2807
+#: mail/em-folder-tree.c:2807
msgid "_Copy..."
msgstr "_Kopjo..."
-#: ../mail/em-folder-tree.c:2808
+#: mail/em-folder-tree.c:2808
msgid "_Move..."
msgstr "_Lëvize..."
#. FIXME: need to disable for nochildren folders
-#: ../mail/em-folder-tree.c:2812
+#: mail/em-folder-tree.c:2812
msgid "_New Folder..."
msgstr "Kartelë e _Re..."
-#: ../mail/em-folder-tree.c:2815
+#: mail/em-folder-tree.c:2815
msgid "_Rename..."
msgstr "_Riemërto..."
-#: ../mail/em-folder-view.c:970 ../mail/em-popup.c:499
-#: ../ui/evolution-mail-message.xml.h:87
+#: mail/em-folder-view.c:970 mail/em-popup.c:499
+#: ui/evolution-mail-message.xml.h:87
msgid "Reply to _All"
msgstr "Përgjigju të _Gjithëve"
-#: ../mail/em-folder-view.c:971 ../ui/evolution-mail-message.xml.h:123
+#: mail/em-folder-view.c:971 ui/evolution-mail-message.xml.h:123
msgid "_Reply to Sender"
msgstr "_Përgjigju Dërguesit"
-#: ../mail/em-folder-view.c:972 ../mail/em-popup.c:501
-#: ../ui/evolution-mail-message.xml.h:110
+#: mail/em-folder-view.c:972 mail/em-popup.c:501
+#: ui/evolution-mail-message.xml.h:110
msgid "_Forward"
msgstr "_Vazhdo"
-#: ../mail/em-folder-view.c:975 ../ui/evolution-mail-message.xml.h:109
+#: mail/em-folder-view.c:975 ui/evolution-mail-message.xml.h:109
msgid "_Edit as New Message..."
msgstr "_Ndrysho si Mesazh i Ri..."
-#: ../mail/em-folder-view.c:977
+#: mail/em-folder-view.c:977
msgid "_Print"
msgstr "_Printo"
-#: ../mail/em-folder-view.c:981
+#: mail/em-folder-view.c:981
msgid "U_ndelete"
msgstr "A_nullo fshirjen"
-#: ../mail/em-folder-view.c:982
+#: mail/em-folder-view.c:982
msgid "Mo_ve to Folder..."
msgstr "Lë_viz tek Kartela..."
-#: ../mail/em-folder-view.c:983 ../ui/evolution-addressbook.xml.h:32
+#: mail/em-folder-view.c:983 ui/evolution-addressbook.xml.h:32
msgid "_Copy to Folder..."
msgstr "_Kopjo tek Kartela..."
-#: ../mail/em-folder-view.c:986
+#: mail/em-folder-view.c:986
msgid "Mark as _Important"
msgstr "Shëno si me _Rëndësi"
-#: ../mail/em-folder-view.c:987
+#: mail/em-folder-view.c:987
msgid "_Mark as Unimportant"
msgstr "_Shëno si Parëndësi"
-#: ../mail/em-folder-view.c:988 ../ui/evolution-mail-message.xml.h:54
+#: mail/em-folder-view.c:988 ui/evolution-mail-message.xml.h:54
msgid "Mark as _Junk"
msgstr "Shëno si _Plehrë"
-#: ../mail/em-folder-view.c:989 ../ui/evolution-mail-message.xml.h:55
+#: mail/em-folder-view.c:989 ui/evolution-mail-message.xml.h:55
msgid "Mark as _Not Junk"
msgstr "Shëno si _Jo për në plehra"
-#: ../mail/em-folder-view.c:990
+#: mail/em-folder-view.c:990
msgid "Mark for Follo_w Up..."
msgstr "Shëno për Nd_iqe..."
-#: ../mail/em-folder-view.c:998
+#: mail/em-folder-view.c:998
msgid "Fla_g Completed"
msgstr "Shën_o si plotësuar"
-#: ../mail/em-folder-view.c:999
+#: mail/em-folder-view.c:999
msgid "Cl_ear Flag"
msgstr "H_iq flamurin"
-#: ../mail/em-folder-view.c:1002
+#: mail/em-folder-view.c:1002
msgid "Crea_te Rule From Message"
msgstr "Kr_ijo Rregull Nga Mesazhi"
-#: ../mail/em-folder-view.c:1003
+#: mail/em-folder-view.c:1003
msgid "vFolder on _Subject"
msgstr "Kartela vFolder tek _Subjekti"
-#: ../mail/em-folder-view.c:1004
+#: mail/em-folder-view.c:1004
msgid "vFolder on Se_nder"
msgstr "Kartela vFolder tek Dër_guesi"
-#: ../mail/em-folder-view.c:1005
+#: mail/em-folder-view.c:1005
msgid "vFolder on _Recipients"
msgstr "Kartela vFolder tek _marrësit"
-#: ../mail/em-folder-view.c:1006
+#: mail/em-folder-view.c:1006
msgid "vFolder on Mailing _List"
msgstr "Kartela vFolder tek Mailing _List"
-#: ../mail/em-folder-view.c:1010
+#: mail/em-folder-view.c:1010
msgid "Filter on Sub_ject"
msgstr "Filtro Sub_jektin"
-#: ../mail/em-folder-view.c:1011
+#: mail/em-folder-view.c:1011
msgid "Filter on Sen_der"
msgstr "Filtro Dër_guesin"
-#: ../mail/em-folder-view.c:1012
+#: mail/em-folder-view.c:1012
msgid "Filter on Re_cipients"
msgstr "Filtro Marrë_sit"
-#: ../mail/em-folder-view.c:1013
+#: mail/em-folder-view.c:1013
msgid "Filter on _Mailing List"
msgstr "Filtro _Mailing List"
#. default charset used in mail view
-#: ../mail/em-folder-view.c:1844 ../mail/em-folder-view.c:1888
+#: mail/em-folder-view.c:1844 mail/em-folder-view.c:1888
msgid "Default"
msgstr "E prezgjedhur"
-#: ../mail/em-folder-view.c:1987
+#: mail/em-folder-view.c:1987
msgid "Print Message"
msgstr "Printo Mesazhin"
-#: ../mail/em-folder-view.c:2295
+#: mail/em-folder-view.c:2295
msgid "_Copy Link Location"
msgstr "_Kopjo Vendodhjen e Lidhjes"
-#: ../mail/em-folder-view.c:2297
+#: mail/em-folder-view.c:2297
msgid "Create _vFolder"
msgstr "Krijo kartelë _vFolder"
-#: ../mail/em-folder-view.c:2298
+#: mail/em-folder-view.c:2298
msgid "_From this Address"
msgstr "_Nga kjo adresë"
-#: ../mail/em-folder-view.c:2299
+#: mail/em-folder-view.c:2299
msgid "_To this Address"
msgstr "_Tek kjo adresë"
-#: ../mail/em-folder-view.c:2568
+#: mail/em-folder-view.c:2568
#, c-format
msgid "Click to mail %s"
msgstr "Kliko tek mesazhi %s"
#. message-search popup match count string
-#: ../mail/em-format-html-display.c:412
+#: mail/em-format-html-display.c:412
#, c-format
msgid "Matches: %d"
msgstr "Korrispondues: %d"
-#: ../mail/em-format-html-display.c:680 ../mail/em-format-html.c:579
+#: mail/em-format-html-display.c:680 mail/em-format-html.c:579
msgid "Unsigned"
msgstr "Pa firmë"
-#: ../mail/em-format-html-display.c:680
+#: mail/em-format-html-display.c:680
msgid ""
"This message is not signed. There is no guarantee that this message is "
"authentic."
msgstr "Ky mesazh nuk është i firmosur. Nuk ka garanci që mesazhi të jetë autentik."
-#: ../mail/em-format-html-display.c:681 ../mail/em-format-html.c:580
+#: mail/em-format-html-display.c:681 mail/em-format-html.c:580
msgid "Valid signature"
msgstr "Firmë e vlefshme"
-#: ../mail/em-format-html-display.c:681
+#: mail/em-format-html-display.c:681
msgid ""
"This message is signed and is valid meaning that it is very likely that this "
"message is authentic."
@@ -11079,11 +11006,11 @@ msgstr ""
"Ky mesazh është i firmosur dhe është i vlefshëm, do të thotë që ky mesazh "
"mund të konsiderohet si autentik."
-#: ../mail/em-format-html-display.c:682 ../mail/em-format-html.c:581
+#: mail/em-format-html-display.c:682 mail/em-format-html.c:581
msgid "Invalid signature"
msgstr "Firmë e pavlefshme"
-#: ../mail/em-format-html-display.c:682
+#: mail/em-format-html-display.c:682
msgid ""
"The signature of this message cannot be verified, it may have been altered "
"in transit."
@@ -11091,11 +11018,11 @@ msgstr ""
"Firma e mesazhit nuk mund të verifikohet, ka mundësi të jetë ndryshuar gjatë "
"përcjelljes."
-#: ../mail/em-format-html-display.c:683
+#: mail/em-format-html-display.c:683
msgid "Valid signature, cannot verify sender"
msgstr "Firmë e vlefshme, nuk mund të verifikoj dërguesin"
-#: ../mail/em-format-html-display.c:683
+#: mail/em-format-html-display.c:683
msgid ""
"This message is signed with a valid signature, but the sender of the message "
"cannot be verified."
@@ -11103,11 +11030,11 @@ msgstr ""
"Ky mesazh është firmosur me një firmë të vlefshme, por dërguesi i mesazhit "
"nuk mund të verifikohet."
-#: ../mail/em-format-html-display.c:689 ../mail/em-format-html.c:588
+#: mail/em-format-html-display.c:689 mail/em-format-html.c:588
msgid "Unencrypted"
msgstr "Jo i dekriptuar"
-#: ../mail/em-format-html-display.c:689
+#: mail/em-format-html-display.c:689
msgid ""
"This message is not encrypted. Its content may be viewed in transit across "
"the Internet."
@@ -11115,11 +11042,11 @@ msgstr ""
"Ky mesazh nuk është i kriptuar. Përmbajtja e tij mund të shikohet gjatë "
"kalimit në Internet."
-#: ../mail/em-format-html-display.c:690 ../mail/em-format-html.c:589
+#: mail/em-format-html-display.c:690 mail/em-format-html.c:589
msgid "Encrypted, weak"
msgstr "I shifruar, i dobët"
-#: ../mail/em-format-html-display.c:690
+#: mail/em-format-html-display.c:690
msgid ""
"This message is encrypted, but with a weak encryption algorithm. It would "
"be difficult, but not impossible for an outsider to view the content of this "
@@ -11129,11 +11056,11 @@ msgstr ""
"vështirë, por jo e pamundur që një i jashtëm të shikojë përmbajtjen e këtij "
"mesazhi brenda pak kohe."
-#: ../mail/em-format-html-display.c:691 ../mail/em-format-html.c:590
+#: mail/em-format-html-display.c:691 mail/em-format-html.c:590
msgid "Encrypted"
msgstr "Shifruar"
-#: ../mail/em-format-html-display.c:691
+#: mail/em-format-html-display.c:691
msgid ""
"This message is encrypted. It would be difficult for an outsider to view "
"the content of this message."
@@ -11141,11 +11068,11 @@ msgstr ""
"Ky mesazh është i kriptuar. Një i jashtëm do të ketë vështirësi të shikojë "
"përmbajtjen e këtij mesazhi."
-#: ../mail/em-format-html-display.c:692 ../mail/em-format-html.c:591
+#: mail/em-format-html-display.c:692 mail/em-format-html.c:591
msgid "Encrypted, strong"
msgstr "I shifruar, fort"
-#: ../mail/em-format-html-display.c:692
+#: mail/em-format-html-display.c:692
msgid ""
"This message is encrypted, with a strong encryption algorithm. It would be "
"very difficult for an outsider to view the content of this message in a "
@@ -11155,189 +11082,186 @@ msgstr ""
"jetë tepër e vështirë për një të jashtëm të shikojë përmbajtjen e këtij "
"mesazhi brenda pak kohe."
-#: ../mail/em-format-html-display.c:793 ../smime/gui/smime-ui.glade.h:47
+#: mail/em-format-html-display.c:793 smime/gui/smime-ui.glade.h:47
msgid "_View Certificate"
msgstr "_Shiko çertifikatën"
-#: ../mail/em-format-html-display.c:808
+#: mail/em-format-html-display.c:808
msgid "This certificate is not viewable"
msgstr "Kjo çertifikatë nuk është e shikueshme"
-#: ../mail/em-format-html-display.c:1037
+#: mail/em-format-html-display.c:1037
msgid "Completed on %B %d, %Y, %l:%M %p"
msgstr "U plotësua në %B %d, %Y, %l:%M %p"
-#: ../mail/em-format-html-display.c:1045
+#: mail/em-format-html-display.c:1045
msgid "Overdue:"
msgstr "Të skaduara:"
-#: ../mail/em-format-html-display.c:1048
+#: mail/em-format-html-display.c:1048
msgid "by %B %d, %Y, %l:%M %p"
msgstr "nga %B %d, %Y, %l:%M %p"
-#: ../mail/em-format-html-display.c:1095
+#: mail/em-format-html-display.c:1095
msgid "_View Inline"
msgstr "_Shfaq Inline"
-#: ../mail/em-format-html-display.c:1096
+#: mail/em-format-html-display.c:1096
msgid "_Hide"
msgstr "_Fshih"
-#: ../mail/em-format-html-display.c:1340
+#: mail/em-format-html-display.c:1340
msgid "Attachment Button"
msgstr "Pulsanti i bashkangjitjes"
-#: ../mail/em-format-html-print.c:130
+#: mail/em-format-html-print.c:130
#, c-format
msgid "Page %d of %d"
msgstr "Faqja %d në %d"
-#: ../mail/em-format-html.c:472 ../mail/em-format-html.c:474
+#: mail/em-format-html.c:472 mail/em-format-html.c:474
#, c-format
msgid "Retrieving `%s'"
msgstr "Duke tërhequr `%s'"
-#: ../mail/em-format-html.c:582
+#: mail/em-format-html.c:582
msgid "Valid signature but cannot verify sender"
msgstr "Firmë e vlefshme por dërguesi nuk mund të verifikohet"
-#: ../mail/em-format-html.c:840
+#: mail/em-format-html.c:840
msgid "Malformed external-body part."
msgstr "Pjesë e keqformuar jashtë-trupi."
-#: ../mail/em-format-html.c:870
+#: mail/em-format-html.c:870
#, c-format
msgid "Pointer to FTP site (%s)"
msgstr "Tregues tek siti FTP (%s)"
-#: ../mail/em-format-html.c:881
+#: mail/em-format-html.c:881
#, c-format
msgid "Pointer to local file (%s) valid at site \"%s\""
msgstr "Treguesi tek file lokal (%s) i vlefshëm tek siti \"%s\""
-#: ../mail/em-format-html.c:883
+#: mail/em-format-html.c:883
#, c-format
msgid "Pointer to local file (%s)"
msgstr "Treguesi tek file lokal (%s)"
-#: ../mail/em-format-html.c:904
+#: mail/em-format-html.c:904
#, c-format
msgid "Pointer to remote data (%s)"
msgstr "Treguesi tek e dhëna remote (%s)"
-#: ../mail/em-format-html.c:915
+#: mail/em-format-html.c:915
#, c-format
msgid "Pointer to unknown external data (\"%s\" type)"
msgstr "Treguesi tek një e dhënë e panjohur e jashtme (e llojit \"%s\")"
-#: ../mail/em-format-html.c:1137
+#: mail/em-format-html.c:1137
msgid "Formatting message"
msgstr "Duke formatuar mesazhin"
-#: ../mail/em-format-html.c:1424 ../mail/em-format-quote.c:193
-#: ../mail/em-format.c:848 ../mail/em-mailer-prefs.c:83
-#: ../mail/message-list.etspec.h:7 ../mail/message-tag-followup.c:326
+#: mail/em-format-html.c:1424 mail/em-format-quote.c:193 mail/em-format.c:848
+#: mail/em-mailer-prefs.c:83 mail/message-list.etspec.h:7
+#: mail/message-tag-followup.c:326
msgid "From"
msgstr "Nga"
-#: ../mail/em-format-html.c:1424 ../mail/em-format-quote.c:193
-#: ../mail/em-format.c:849 ../mail/em-mailer-prefs.c:84
+#: mail/em-format-html.c:1424 mail/em-format-quote.c:193 mail/em-format.c:849
+#: mail/em-mailer-prefs.c:84
msgid "Reply-To"
msgstr "Përgjigju-Tek"
-#: ../mail/em-format-html.c:1424 ../mail/em-format-quote.c:193
-#: ../mail/em-format.c:850 ../mail/em-mailer-prefs.c:85
-#: ../mail/message-list.etspec.h:14
+#: mail/em-format-html.c:1424 mail/em-format-quote.c:193 mail/em-format.c:850
+#: mail/em-mailer-prefs.c:85 mail/message-list.etspec.h:14
msgid "To"
msgstr "Për"
-#: ../mail/em-format-html.c:1424 ../mail/em-format-quote.c:193
-#: ../mail/em-format.c:851 ../mail/em-mailer-prefs.c:86
+#: mail/em-format-html.c:1424 mail/em-format-quote.c:193 mail/em-format.c:851
+#: mail/em-mailer-prefs.c:86
msgid "Cc"
msgstr "Cc"
-#: ../mail/em-format-html.c:1424 ../mail/em-format-quote.c:193
-#: ../mail/em-format.c:852 ../mail/em-mailer-prefs.c:87
+#: mail/em-format-html.c:1424 mail/em-format-quote.c:193 mail/em-format.c:852
+#: mail/em-mailer-prefs.c:87
msgid "Bcc"
msgstr "Bcc"
#. pseudo-header
-#: ../mail/em-format-html.c:1537 ../mail/em-format-quote.c:315
-#: ../mail/em-mailer-prefs.c:986
+#: mail/em-format-html.c:1537 mail/em-format-quote.c:315
+#: mail/em-mailer-prefs.c:986
msgid "Mailer"
msgstr "Trajtuesi i postës"
#. translators: strftime format for local time equivalent in Date header display, with day
-#: ../mail/em-format-html.c:1564
+#: mail/em-format-html.c:1564
msgid "<I> (%a, %R %Z)</I>"
msgstr "<I> (%a, %R %Z)</I>"
#. translators: strftime format for local time equivalent in Date header display, without day
-#: ../mail/em-format-html.c:1567
+#: mail/em-format-html.c:1567
msgid "<I> (%R %Z)</I>"
msgstr "<I> (%R %Z)</I>"
-#: ../mail/em-format-html.c:1577 ../mail/em-format-quote.c:322
-#: ../mail/em-format.c:854 ../mail/em-mailer-prefs.c:89
-#: ../mail/message-list.etspec.h:2
+#: mail/em-format-html.c:1577 mail/em-format-quote.c:322 mail/em-format.c:854
+#: mail/em-mailer-prefs.c:89 mail/message-list.etspec.h:2
msgid "Date"
msgstr "Data"
-#: ../mail/em-format-html.c:1600 ../mail/em-format.c:855
-#: ../mail/em-mailer-prefs.c:90
+#: mail/em-format-html.c:1600 mail/em-format.c:855 mail/em-mailer-prefs.c:90
msgid "Newsgroups"
msgstr "GrupeLajmesh"
-#: ../mail/em-format.c:1104
+#: mail/em-format.c:1104
#, c-format
msgid "%s attachment"
msgstr "%s bashkangjitur"
-#: ../mail/em-format.c:1143 ../mail/em-format.c:1276
+#: mail/em-format.c:1143 mail/em-format.c:1276
msgid "Could not parse S/MIME message: Unknown error"
msgstr "I pamundur analizimi i mesazhit S/MIME: Gabim i panjohur"
-#: ../mail/em-format.c:1266
+#: mail/em-format.c:1266
msgid "Unsupported encryption type for multipart/encrypted"
msgstr "Lloj i pasuportuar kriptimi për multipart/encrypted"
-#: ../mail/em-format.c:1414
+#: mail/em-format.c:1414
msgid "Could not parse MIME message. Displaying as source."
msgstr "I apmundur analizimi i mesazhit MIME. Po shfaqet si burim."
-#: ../mail/em-format.c:1433
+#: mail/em-format.c:1433
msgid "Unsupported signature format"
msgstr "Format firme i pasuportuar"
-#: ../mail/em-format.c:1441
+#: mail/em-format.c:1441
msgid "Error verifying signature"
msgstr "Gabim gjatë kontrollit të firmës"
-#: ../mail/em-format.c:1441
+#: mail/em-format.c:1441
msgid "Unknown error verifying signature"
msgstr "Gabim i panjohur gjatë verifikimit të firmës"
-#: ../mail/em-junk-filter.c:111
+#: mail/em-junk-filter.c:111
msgid "Spamassassin (built-in)"
msgstr "Spamassassin (built-in)"
-#: ../mail/em-mailer-prefs.c:101
+#: mail/em-mailer-prefs.c:101
msgid "Every time"
msgstr "Në çdo kohë"
-#: ../mail/em-mailer-prefs.c:102
+#: mail/em-mailer-prefs.c:102
msgid "Once per day"
msgstr "Një herë në ditë"
-#: ../mail/em-mailer-prefs.c:103
+#: mail/em-mailer-prefs.c:103
msgid "Once per week"
msgstr "Një herë në javë"
-#: ../mail/em-mailer-prefs.c:104
+#: mail/em-mailer-prefs.c:104
msgid "Once per month"
msgstr "Një herë në muaj"
-#: ../mail/em-migrate.c:1198
+#: mail/em-migrate.c:1198
msgid ""
"The location and hierarchy of the Evolution mailbox folders has changed "
"since Evolution 1.x.\n"
@@ -11349,49 +11273,49 @@ msgstr ""
"\n"
"Durim derisa Evolution të migrojë kartelat tuaja..."
-#: ../mail/em-migrate.c:1632
+#: mail/em-migrate.c:1632
#, c-format
msgid "Unable to create new folder `%s': %s"
msgstr "I pamundur krijimi i kartelës së re `%s': %s"
-#: ../mail/em-migrate.c:1658
+#: mail/em-migrate.c:1658
#, c-format
msgid "Unable to copy folder `%s' to `%s': %s"
msgstr "I pamundur kopjimi i kartelës `%s' tek `%s': %s"
-#: ../mail/em-migrate.c:1843
+#: mail/em-migrate.c:1843
#, c-format
msgid "Unable to scan for existing mailboxes at `%s': %s"
msgstr "I pamundur kërkimi për mailboxe ekzistuese tek `%s': %s"
-#: ../mail/em-migrate.c:2047
+#: mail/em-migrate.c:2047
#, c-format
msgid "Unable to open old POP keep-on-server data `%s': %s"
msgstr "E pamundur hapja e të dhënava të vjetra POP \"lër-në-server\" `%s': %s"
-#: ../mail/em-migrate.c:2061
+#: mail/em-migrate.c:2061
#, c-format
msgid "Unable to create POP3 keep-on-server data directory `%s': %s"
msgstr ""
"I pamundur krijimi i kartelës `%s' me të dhëna POP3 për t'u mbajtur në "
"server: %s"
-#: ../mail/em-migrate.c:2090
+#: mail/em-migrate.c:2090
#, c-format
msgid "Unable to copy POP3 keep-on-server data `%s': %s"
msgstr "I pamundur kopjimi e të dhënave POP3 \"lër-në-server\" `%s': %s"
-#: ../mail/em-migrate.c:2561 ../mail/em-migrate.c:2573
+#: mail/em-migrate.c:2561 mail/em-migrate.c:2573
#, c-format
msgid "Failed to create local mail storage `%s': %s"
msgstr "Krijimi i arkivit lokal të postës `%s' dështoi: %s"
-#: ../mail/em-migrate.c:2693
+#: mail/em-migrate.c:2693
#, c-format
msgid "Unable to create local mail folders at `%s': %s"
msgstr "I pamundur krijimi i kartelave lokale të postës `%s': %s"
-#: ../mail/em-migrate.c:2711
+#: mail/em-migrate.c:2711
msgid ""
"Unable to read settings from previous Evolution install, `evolution/config."
"xmldb' does not exist or is corrupt."
@@ -11399,206 +11323,206 @@ msgstr ""
"I pamundur leximi i rregullimeve nga instalimi i vjetër i Evolution, "
"`evolution/config.xmldb' nuk ekziston ose është i dëmtuar."
-#: ../mail/em-popup.c:382
+#: mail/em-popup.c:382
msgid "Save As..."
msgstr "Ruaj Si..."
-#: ../mail/em-popup.c:401
+#: mail/em-popup.c:401
#, c-format
msgid "untitled_image.%s"
msgstr "figurë_paemër.%s"
-#: ../mail/em-popup.c:495
+#: mail/em-popup.c:495
msgid "Set as _Background"
msgstr "Vendose si _sfond"
-#: ../mail/em-popup.c:497
+#: mail/em-popup.c:497
msgid "_Reply to sender"
msgstr "_Përgjigju dërguesit"
-#: ../mail/em-popup.c:498 ../ui/evolution-mail-message.xml.h:88
+#: mail/em-popup.c:498 ui/evolution-mail-message.xml.h:88
msgid "Reply to _List"
msgstr "Përgjigju _Listës"
-#: ../mail/em-popup.c:549
+#: mail/em-popup.c:549
msgid "_Open Link in Browser"
msgstr "_Hape lidhjen në Shfletues"
-#: ../mail/em-popup.c:550
+#: mail/em-popup.c:550
msgid "_Send New Message To..."
msgstr "Dër_go një mesazh të ri tek..."
-#: ../mail/em-popup.c:551
+#: mail/em-popup.c:551
msgid "_Add to Addressbook"
msgstr "_Shtoje në rubrikë"
-#: ../mail/em-popup.c:666
+#: mail/em-popup.c:666
#, c-format
msgid "Open in %s..."
msgstr "Hap në %s..."
-#: ../mail/em-subscribe-editor.c:611
+#: mail/em-subscribe-editor.c:611
msgid "This store does not support subscriptions, or they are not enabled."
msgstr "Ky arkiv nuk suporton regjistrimet, ose ato nuk janë aktive."
-#: ../mail/em-subscribe-editor.c:640
+#: mail/em-subscribe-editor.c:640
msgid "Subscribed"
msgstr "I regjistruar"
-#: ../mail/em-subscribe-editor.c:644
+#: mail/em-subscribe-editor.c:644
msgid "Folder"
msgstr "Kartelë"
#. FIXME: This is just to get the shadow, is there a better way?
-#: ../mail/em-subscribe-editor.c:859
+#: mail/em-subscribe-editor.c:859
msgid "Please select a server."
msgstr "Ju lutem zgjidhni një server."
-#: ../mail/em-subscribe-editor.c:880
+#: mail/em-subscribe-editor.c:880
msgid "No server has been selected"
msgstr "Nuk është zgjedhur asnjë server"
-#: ../mail/em-utils.c:105
+#: mail/em-utils.c:105
msgid "Don't show this message again."
msgstr "Mos e shfaq më këtë mesazh."
-#: ../mail/em-utils.c:294
+#: mail/em-utils.c:294
msgid "Filters"
msgstr "Filtrat"
-#: ../mail/em-utils.c:434
+#: mail/em-utils.c:434
msgid "message"
msgstr "mesazh"
-#: ../mail/em-utils.c:543
+#: mail/em-utils.c:543
msgid "Save Message..."
msgstr "Ruaj mesazhin..."
-#: ../mail/em-utils.c:592
+#: mail/em-utils.c:592
msgid "Add address"
msgstr "Shto adresën"
#. Drop filename for messages from a mailbox
-#: ../mail/em-utils.c:1071
+#: mail/em-utils.c:1071
#, c-format
msgid "Messages from %s"
msgstr "Mesazhet nga %s"
-#: ../mail/em-vfolder-editor.c:104
+#: mail/em-vfolder-editor.c:104
msgid "v_Folders"
msgstr "Kartela v_Folder"
-#: ../mail/em-vfolder-rule.c:574
+#: mail/em-vfolder-rule.c:574
msgid "vFolder source"
msgstr "Origjina e kartelës vFolder"
-#: ../mail/evolution-mail.schemas.in.in.h:1
+#: mail/evolution-mail.schemas.in.in.h:1
msgid "Automatic link recognition"
msgstr "Kontrolli automatik i lidhjeve"
-#: ../mail/evolution-mail.schemas.in.in.h:2
+#: mail/evolution-mail.schemas.in.in.h:2
msgid "Automatic smiley recognition"
msgstr "Kontrolli automatik i smiley"
-#: ../mail/evolution-mail.schemas.in.in.h:3
+#: mail/evolution-mail.schemas.in.in.h:3
msgid "Check incoming mail being junk"
msgstr "Kontrollo që posta në ardhje të mos përmbajë material për t'u refuzuar"
-#: ../mail/evolution-mail.schemas.in.in.h:4
+#: mail/evolution-mail.schemas.in.in.h:4
msgid "Citation highlight color"
msgstr "Ngjyra e vënies në dukje të citimeve"
-#: ../mail/evolution-mail.schemas.in.in.h:5
+#: mail/evolution-mail.schemas.in.in.h:5
msgid "Citation highlight color."
msgstr "Ngjyra e vënies në dukje të citimeve."
-#: ../mail/evolution-mail.schemas.in.in.h:6
+#: mail/evolution-mail.schemas.in.in.h:6
msgid "Composer Window default height"
msgstr "Lartësia e dritares së prezgjedhur të kompozuesit"
-#: ../mail/evolution-mail.schemas.in.in.h:7
+#: mail/evolution-mail.schemas.in.in.h:7
msgid "Composer Window default width"
msgstr "Gjerësia e dritares së prezgjedhur të kompozuesit"
-#: ../mail/evolution-mail.schemas.in.in.h:8
+#: mail/evolution-mail.schemas.in.in.h:8
msgid "Default charset in which to compose messages"
msgstr "Kodifikimi i prezgjedhur për hartimin e mesazheve"
-#: ../mail/evolution-mail.schemas.in.in.h:9
+#: mail/evolution-mail.schemas.in.in.h:9
msgid "Default charset in which to compose messages."
msgstr "Kodifikimi i prezgjedhur për hartimin e mesazheve."
-#: ../mail/evolution-mail.schemas.in.in.h:10
+#: mail/evolution-mail.schemas.in.in.h:10
msgid "Default charset in which to display messages"
msgstr "Kodifikimi i prezgjedhur për shfaqjen e mesazheve"
-#: ../mail/evolution-mail.schemas.in.in.h:11
+#: mail/evolution-mail.schemas.in.in.h:11
msgid "Default charset in which to display messages."
msgstr "Kodifikimi i prezgjedhur për shfaqjen e mesazheve."
-#: ../mail/evolution-mail.schemas.in.in.h:12
+#: mail/evolution-mail.schemas.in.in.h:12
msgid "Default forward style"
msgstr "Stili i prezgjedhur i përcjelljes"
-#: ../mail/evolution-mail.schemas.in.in.h:13
+#: mail/evolution-mail.schemas.in.in.h:13
msgid "Default height of the Composer Window"
msgstr "Lartësia e prezgjedhur e dritares së hartuesit"
-#: ../mail/evolution-mail.schemas.in.in.h:14
+#: mail/evolution-mail.schemas.in.in.h:14
msgid "Default height of the Message Window"
msgstr "Lartësia e prezgjedhur e dritares së mesazhit"
-#: ../mail/evolution-mail.schemas.in.in.h:15
+#: mail/evolution-mail.schemas.in.in.h:15
msgid "Default height of the Subscribe dialog"
msgstr "Lartësia e prezgjedhur e dritares së dialogut të regjistrimit"
-#: ../mail/evolution-mail.schemas.in.in.h:16
+#: mail/evolution-mail.schemas.in.in.h:16
msgid "Default reply style"
msgstr "Stili i prezgjedhur i përgjigjes"
-#: ../mail/evolution-mail.schemas.in.in.h:17
+#: mail/evolution-mail.schemas.in.in.h:17
msgid "Default width of the Composer Window"
msgstr "Gjerësia e prezgjedhur e dritares së hartuesit"
-#: ../mail/evolution-mail.schemas.in.in.h:18
+#: mail/evolution-mail.schemas.in.in.h:18
msgid "Default width of the Message Window"
msgstr "Gjerësia e prezgjedhur e dritares së mesazhit"
-#: ../mail/evolution-mail.schemas.in.in.h:19
+#: mail/evolution-mail.schemas.in.in.h:19
msgid "Default width of the Subscribe dialog"
msgstr "Gjerësia e prezgjedhur e dritares së dialogut të regjistrimit"
-#: ../mail/evolution-mail.schemas.in.in.h:20
+#: mail/evolution-mail.schemas.in.in.h:20
msgid "Draw spelling error indicators on words as you type."
msgstr "Vizato treguesit e gabimeve drejtshkrimore tek fjalët që shkruani."
-#: ../mail/evolution-mail.schemas.in.in.h:21
+#: mail/evolution-mail.schemas.in.in.h:21
msgid "Empty Trash folders on exit"
msgstr "Zbraz kartelat e koshit kur mbyllet programi"
-#: ../mail/evolution-mail.schemas.in.in.h:22
+#: mail/evolution-mail.schemas.in.in.h:22
msgid "Empty all Trash folders when exiting Evolution."
msgstr "Zraz të kartelat e koshit kur del nga Evolution."
-#: ../mail/evolution-mail.schemas.in.in.h:23
+#: mail/evolution-mail.schemas.in.in.h:23
msgid "Enable caret mode, so that you can see a cursor when reading mail."
msgstr ""
"Aktivo modalitetin \"vizore\", në këtë menyrë do të shihni një kursor gjatë "
"leximit të një mesazhi."
-#: ../mail/evolution-mail.schemas.in.in.h:24
+#: mail/evolution-mail.schemas.in.in.h:24
msgid "Enable/disable caret mode"
msgstr "Aktivo/ç'aktivo modalitetin vizore"
-#: ../mail/evolution-mail.schemas.in.in.h:25
+#: mail/evolution-mail.schemas.in.in.h:25
msgid "Height of the message-list pane"
msgstr "Lartësia e panelit me listën e mesazheve"
-#: ../mail/evolution-mail.schemas.in.in.h:26
+#: mail/evolution-mail.schemas.in.in.h:26
msgid "Height of the message-list pane."
msgstr "Lartësia e panelit me listën e mesazheve."
-#: ../mail/evolution-mail.schemas.in.in.h:27
+#: mail/evolution-mail.schemas.in.in.h:27
msgid ""
"If a user tries to open 10 or more messages at one time, ask the user if "
"they really want to do it."
@@ -11606,7 +11530,7 @@ msgstr ""
"Nëse një përdorues përpiqet të hapë 10 apo më shumë mesazhe njëkohësisht, "
"pyet përdoruesin nëse me të vërtetë dëshiron një gjë të tillë."
-#: ../mail/evolution-mail.schemas.in.in.h:28
+#: mail/evolution-mail.schemas.in.in.h:28
msgid ""
"If there isn't a builtin viewer for a particular mime-type inside Evolution, "
"any mime-types appearing in this list which map to a bonobo-component viewer "
@@ -11617,23 +11541,23 @@ msgstr ""
"bonobo-component nga databaza e llojeve të mime të GNOME mund të përdoret "
"për të shfaqur përmbajtjen."
-#: ../mail/evolution-mail.schemas.in.in.h:29
+#: mail/evolution-mail.schemas.in.in.h:29
msgid "Last time empty trash was run"
msgstr "Hera e fundit kur është zbrazur koshi"
-#: ../mail/evolution-mail.schemas.in.in.h:30
+#: mail/evolution-mail.schemas.in.in.h:30
msgid "List of Labels and their associated colors"
msgstr "Lista e etiketave dhe ngjyrat relative"
-#: ../mail/evolution-mail.schemas.in.in.h:31
+#: mail/evolution-mail.schemas.in.in.h:31
msgid "List of accepted licenses"
msgstr "Lista e liçencave të pranuara"
-#: ../mail/evolution-mail.schemas.in.in.h:32
+#: mail/evolution-mail.schemas.in.in.h:32
msgid "List of accounts"
msgstr "Lista e llogarive"
-#: ../mail/evolution-mail.schemas.in.in.h:33
+#: mail/evolution-mail.schemas.in.in.h:33
msgid ""
"List of accounts known to the mail component of Evolution. The list contains "
"strings naming subdirectories relative to /apps/evolution/mail/accounts."
@@ -11641,11 +11565,11 @@ msgstr ""
"Lista e llogarive të njohura nga komponenti mail i Evolution. Lista përmban "
"vlerat me emrat e nëndirektorive relative me /apps/evolution/mail/accounts."
-#: ../mail/evolution-mail.schemas.in.in.h:34
+#: mail/evolution-mail.schemas.in.in.h:34
msgid "List of custom headers and whether they are enabled."
msgstr "Lista me headers e personalizuar dhe nëse ato janë aktivë."
-#: ../mail/evolution-mail.schemas.in.in.h:35
+#: mail/evolution-mail.schemas.in.in.h:35
msgid ""
"List of labels known to the mail component of Evolution. The list contains "
"strings containing name:color where color uses the HTML hex encoding."
@@ -11653,21 +11577,21 @@ msgstr ""
"Lista e etiketave të njohura nga komponenti mail i Evolution. Lista përmban "
"vlerat me emri:ngjyra ku ngjyra përdor kodifikimin hex të HTML"
-#: ../mail/evolution-mail.schemas.in.in.h:36
+#: mail/evolution-mail.schemas.in.in.h:36
msgid "List of mime types to check for bonobo component viewers"
msgstr ""
"Lista e llojeve mime për të cilët duhet kontrolluar për shikuesit e "
"komponentëve bonobo"
-#: ../mail/evolution-mail.schemas.in.in.h:37
+#: mail/evolution-mail.schemas.in.in.h:37
msgid "List of protocol names whose license has been accepted."
msgstr "Lista me emrat e protokollëve për të cilët është pranuar liçenca."
-#: ../mail/evolution-mail.schemas.in.in.h:38
+#: mail/evolution-mail.schemas.in.in.h:38
msgid "Load images for HTML messages over http"
msgstr "Ngarko figurat për mesazhet HTML over http"
-#: ../mail/evolution-mail.schemas.in.in.h:39
+#: mail/evolution-mail.schemas.in.in.h:39
msgid ""
"Load images for HTML messages over http(s). Possible values are: 0 - Never "
"load images off the net 1 - Load images if sender is in the addressbook 2 - "
@@ -11677,95 +11601,95 @@ msgstr ""
"Asnjëherë mos ngarko figurat e internet 1 - Ngarko figurat nëse dërguesi "
"rezulton në rubrikë 2 - Ngarko gjithmonë figurat nga internet"
-#: ../mail/evolution-mail.schemas.in.in.h:40
+#: mail/evolution-mail.schemas.in.in.h:40
msgid "Log filter actions"
msgstr "Veprimet e filtrimit të log"
-#: ../mail/evolution-mail.schemas.in.in.h:41
+#: mail/evolution-mail.schemas.in.in.h:41
msgid "Log filter actions to the specified log file."
msgstr "Regjistron veprimet e filtrit tek file i specifikuar log."
-#: ../mail/evolution-mail.schemas.in.in.h:42
+#: mail/evolution-mail.schemas.in.in.h:42
msgid "Logfile to log filter actions"
msgstr "File log për regjistrimin e veprimeve të filtrit"
-#: ../mail/evolution-mail.schemas.in.in.h:43
+#: mail/evolution-mail.schemas.in.in.h:43
msgid "Logfile to log filter actions."
msgstr "File log për regjistrimin e veprimeve të filtrit."
-#: ../mail/evolution-mail.schemas.in.in.h:44
+#: mail/evolution-mail.schemas.in.in.h:44
msgid "Mark as Seen after specified timeout"
msgstr "Shëno si të \"Shikuar\" mbas një kohe të caktuar"
-#: ../mail/evolution-mail.schemas.in.in.h:45
+#: mail/evolution-mail.schemas.in.in.h:45
msgid "Mark as Seen after specified timeout."
msgstr "Shëno si të \"Shikuar\" mbas një kohe të caktuar."
-#: ../mail/evolution-mail.schemas.in.in.h:46
+#: mail/evolution-mail.schemas.in.in.h:46
msgid "Mark citations in the message \"Preview\""
msgstr "Shëno citimet tek \"Pamja e Parë\" e mesazhit"
-#: ../mail/evolution-mail.schemas.in.in.h:47
+#: mail/evolution-mail.schemas.in.in.h:47
msgid "Mark citations in the message \"Preview\"."
msgstr "Shëno citimet tek \"Pamja e Parë\" e mesazhit."
-#: ../mail/evolution-mail.schemas.in.in.h:48
+#: mail/evolution-mail.schemas.in.in.h:48
msgid "Message Window default height"
msgstr "Lartësia e prezgjedhur e dritares së mesazhit"
-#: ../mail/evolution-mail.schemas.in.in.h:49
+#: mail/evolution-mail.schemas.in.in.h:49
msgid "Message Window default width"
msgstr "Gjerësia e prezgjedhur e dritares së mesazhit"
-#: ../mail/evolution-mail.schemas.in.in.h:50
+#: mail/evolution-mail.schemas.in.in.h:50
msgid "Message-display style (normal, full headers, source)"
msgstr "Stili i shfaqjes së mesazhit (normal, me gjithë tituj, burimi)"
-#: ../mail/evolution-mail.schemas.in.in.h:51
+#: mail/evolution-mail.schemas.in.in.h:51
msgid "Minimum days between emptying the trash on exit"
msgstr "Numri minimum i ditëve para se të zbrazet koshi kur mbyllet programi"
-#: ../mail/evolution-mail.schemas.in.in.h:52
+#: mail/evolution-mail.schemas.in.in.h:52
msgid "Minimum time between emptying the trash on exit, in days."
msgstr "Koha minimum para zbrazjes së koshit në dalje, në ditë."
-#: ../mail/evolution-mail.schemas.in.in.h:53
+#: mail/evolution-mail.schemas.in.in.h:53
msgid "New Mail Notify sound file"
msgstr "File me tingullin për njoftimin e mesazheve të rinj"
-#: ../mail/evolution-mail.schemas.in.in.h:54
+#: mail/evolution-mail.schemas.in.in.h:54
msgid "New Mail Notify type"
msgstr "Lloji i njoftimit të mesazheve të rinj"
-#: ../mail/evolution-mail.schemas.in.in.h:55
+#: mail/evolution-mail.schemas.in.in.h:55
msgid "Prompt on empty subject"
msgstr "Tërhiq vëmendjen kur subjekti është bosh"
-#: ../mail/evolution-mail.schemas.in.in.h:56
+#: mail/evolution-mail.schemas.in.in.h:56
msgid "Prompt the user when he or she tries to expunge a folder."
msgstr "Paralajmëro përdoruesin nëse ai apo ajo përpiqen të fshijnë një kartelë."
-#: ../mail/evolution-mail.schemas.in.in.h:57
+#: mail/evolution-mail.schemas.in.in.h:57
msgid "Prompt the user when he or she tries to send a message without a Subject."
msgstr ""
"Paralajmëro përdoruesin nëse ai apo ajo përpiqen të dërgojnë një mesazh pa "
"subjekt."
-#: ../mail/evolution-mail.schemas.in.in.h:58
+#: mail/evolution-mail.schemas.in.in.h:58
msgid "Prompt when user expunges"
msgstr "Paralajmërim kur përdoruesi fshin"
-#: ../mail/evolution-mail.schemas.in.in.h:59
+#: mail/evolution-mail.schemas.in.in.h:59
msgid "Prompt when user only fills Bcc"
msgstr "Paralajmërim nëse përdoruesi plotëson vetëm Bcc"
-#: ../mail/evolution-mail.schemas.in.in.h:60
+#: mail/evolution-mail.schemas.in.in.h:60
msgid "Prompt when user tries to open 10 or more messages at once"
msgstr ""
"Paralajmëro kur përdoruesi kërkon të hapë 10 apo më shumë mesazhe "
"njëkohësisht"
-#: ../mail/evolution-mail.schemas.in.in.h:61
+#: mail/evolution-mail.schemas.in.in.h:61
msgid ""
"Prompt when user tries to send HTML mail to recipients that may not want to "
"receive HTML mail."
@@ -11773,99 +11697,99 @@ msgstr ""
"Paralajmëro kur përdoruesi kërkon t'u dërgojë mesazhe HTML marrësve që nuk "
"dëshirojnë të marrin mesazhe në HTML."
-#: ../mail/evolution-mail.schemas.in.in.h:62
+#: mail/evolution-mail.schemas.in.in.h:62
msgid "Prompt when user tries to send a message with no To or Cc recipients."
msgstr ""
"Paralajmëro kur përdoruesi kërkon të dërgojë një mesazh pa përmbajtje tek "
"\"Për\" apo \"Cc\"."
-#: ../mail/evolution-mail.schemas.in.in.h:63
+#: mail/evolution-mail.schemas.in.in.h:63
msgid "Prompt when user tries to send unwanted HTML"
msgstr "Paralajmërim kur përdoruesi kërkon të dërgojë HTML të padëshiruar"
-#: ../mail/evolution-mail.schemas.in.in.h:64
+#: mail/evolution-mail.schemas.in.in.h:64
msgid "Recognize links in text and replace them."
msgstr "Kontrollo lidhjet në tekst dhe zëvendësoi."
-#: ../mail/evolution-mail.schemas.in.in.h:65
+#: mail/evolution-mail.schemas.in.in.h:65
msgid "Recognize smileys in text and replace them with images."
msgstr "Kontrollo smiles në tekst dhe zëvendësoi me figurat."
-#: ../mail/evolution-mail.schemas.in.in.h:66
+#: mail/evolution-mail.schemas.in.in.h:66
msgid "Run junk test on incoming mail"
msgstr "Vër në funksion provën për material për t'u refuzuar tek mesazhet në ardhje"
-#: ../mail/evolution-mail.schemas.in.in.h:67
+#: mail/evolution-mail.schemas.in.in.h:67
msgid "Send HTML mail by default"
msgstr "Dërgo postën gjithmonë në HTML"
-#: ../mail/evolution-mail.schemas.in.in.h:68
+#: mail/evolution-mail.schemas.in.in.h:68
msgid "Send HTML mail by default."
msgstr "Dërgo postën në HTML si menyrë e prezgjedhur."
-#: ../mail/evolution-mail.schemas.in.in.h:69
+#: mail/evolution-mail.schemas.in.in.h:69
msgid "Show Animations"
msgstr "Shfaq kontaktet"
-#: ../mail/evolution-mail.schemas.in.in.h:70
+#: mail/evolution-mail.schemas.in.in.h:70
msgid "Show animated images as animations."
msgstr "Shfaq imazhet e animuar si animime."
-#: ../mail/evolution-mail.schemas.in.in.h:71
+#: mail/evolution-mail.schemas.in.in.h:71
msgid "Show deleted messages (with a strike-through) in the message-list."
msgstr "Shfaq mesazhet e fshira (me përvizim) tek lista e mesazheve."
-#: ../mail/evolution-mail.schemas.in.in.h:72
+#: mail/evolution-mail.schemas.in.in.h:72
msgid "Show deleted messages in the message-list"
msgstr "Shfaq mesazhet e fshira tek lista e mesazheve"
-#: ../mail/evolution-mail.schemas.in.in.h:73
+#: mail/evolution-mail.schemas.in.in.h:73
msgid "Show the \"Preview\" pane"
msgstr "Shfaq panelin \"Pamja e Parë\""
-#: ../mail/evolution-mail.schemas.in.in.h:74
+#: mail/evolution-mail.schemas.in.in.h:74
msgid "Show the \"Preview\" pane."
msgstr "Shfaq panelin \"Pamja e Parë\"."
-#: ../mail/evolution-mail.schemas.in.in.h:75
+#: mail/evolution-mail.schemas.in.in.h:75
msgid "Sound file to play when new mail arrives."
msgstr "File audio që duhet ekzekutuar kur arrijnë mesazhe të rinj."
-#: ../mail/evolution-mail.schemas.in.in.h:76
+#: mail/evolution-mail.schemas.in.in.h:76
msgid "Specifies the type of New Mail Notification the user wishes to use."
msgstr ""
"Specifikon llojin e njoftimit të mesazheve të rinj që përdoruesi dëshiron të "
"përdorë."
-#: ../mail/evolution-mail.schemas.in.in.h:77
+#: mail/evolution-mail.schemas.in.in.h:77
msgid "Spell check inline"
msgstr "Kontroll direkt drejtshkrimi"
-#: ../mail/evolution-mail.schemas.in.in.h:78
+#: mail/evolution-mail.schemas.in.in.h:78
msgid "Subscribe dialog default height"
msgstr "Lartësia e prezgjedhur e dritares së dialogut të regjistrimit"
-#: ../mail/evolution-mail.schemas.in.in.h:79
+#: mail/evolution-mail.schemas.in.in.h:79
msgid "Subscribe dialog default width"
msgstr "Gjerësia e prezgjedhur e dritares së dialogut të regjistrimit"
-#: ../mail/evolution-mail.schemas.in.in.h:80
+#: mail/evolution-mail.schemas.in.in.h:80
msgid "Terminal font"
msgstr "Gërmat e terminalit"
-#: ../mail/evolution-mail.schemas.in.in.h:81
+#: mail/evolution-mail.schemas.in.in.h:81
msgid "The last time empty trash was run, in days since the epoch."
msgstr "Hera e fundit që është zbrazur koshi, shprehur në ditë."
-#: ../mail/evolution-mail.schemas.in.in.h:82
+#: mail/evolution-mail.schemas.in.in.h:82
msgid "The terminal font for mail display"
msgstr "Gërmat e terminalit për shfaqjen e mesazhit"
-#: ../mail/evolution-mail.schemas.in.in.h:83
+#: mail/evolution-mail.schemas.in.in.h:83
msgid "The variable width font for mail display"
msgstr "Gjerësia e ndryshueshme e gërmave për shfaqjen e mesazheve"
-#: ../mail/evolution-mail.schemas.in.in.h:84
+#: mail/evolution-mail.schemas.in.in.h:84
msgid ""
"This key should contain a list of XML structures specifying custom headers, "
"and whether they are to be displayed. The format of the XML structure is &lt;"
@@ -11877,99 +11801,99 @@ msgstr ""
"header enabled&gt; - cakto aktiv nëse header duhet shfaqur gjatë shikimit të "
"mesazhit."
-#: ../mail/evolution-mail.schemas.in.in.h:85
+#: mail/evolution-mail.schemas.in.in.h:85
msgid "Thread the message list."
msgstr "Rregullo sipas temave listën e mesazheve."
-#: ../mail/evolution-mail.schemas.in.in.h:86
+#: mail/evolution-mail.schemas.in.in.h:86
msgid "Thread the message-list"
msgstr "Rregullo sipas temave listën e mesazheve"
-#: ../mail/evolution-mail.schemas.in.in.h:87
+#: mail/evolution-mail.schemas.in.in.h:87
msgid "Thread the message-list based on Subject"
msgstr "Rregullo sipas temave, bazuar në subjekt, listën e mesazheve"
-#: ../mail/evolution-mail.schemas.in.in.h:88
+#: mail/evolution-mail.schemas.in.in.h:88
msgid "Timeout for marking message as Seen"
msgstr "Periudha e kohës për të shënuar mesazhin si të \"Shikuar\""
-#: ../mail/evolution-mail.schemas.in.in.h:89
+#: mail/evolution-mail.schemas.in.in.h:89
msgid "Timeout for marking message as Seen."
msgstr "Periudha e kohës për të shënuar mesazhin si të \"Shikuar\"."
-#: ../mail/evolution-mail.schemas.in.in.h:90
+#: mail/evolution-mail.schemas.in.in.h:90
msgid "UID string of the default account."
msgstr "Vlera UID për llogarinë e prezgjedhur."
-#: ../mail/evolution-mail.schemas.in.in.h:91
+#: mail/evolution-mail.schemas.in.in.h:91
msgid "Use Spamassassin daemon and client"
msgstr "Përdor shërbimin dhe klientin Spamassassin"
-#: ../mail/evolution-mail.schemas.in.in.h:92
+#: mail/evolution-mail.schemas.in.in.h:92
msgid "Use Spamassassin daemon and client (spamc/spamd)"
msgstr "Përdor shërbimin dhe klientin Spamassassin (spamc/spamd)"
-#: ../mail/evolution-mail.schemas.in.in.h:93
+#: mail/evolution-mail.schemas.in.in.h:93
msgid "Use custom fonts"
msgstr "Përdor gërma të personalizuara"
-#: ../mail/evolution-mail.schemas.in.in.h:94
+#: mail/evolution-mail.schemas.in.in.h:94
msgid "Use custom fonts for displaying mail"
msgstr "Përdor gërma të personalizuara për të shfaqur mesazhet"
-#: ../mail/evolution-mail.schemas.in.in.h:95
+#: mail/evolution-mail.schemas.in.in.h:95
msgid "Use only local spam tests."
msgstr "Përdor vetëm testet spam lokalë."
-#: ../mail/evolution-mail.schemas.in.in.h:96
+#: mail/evolution-mail.schemas.in.in.h:96
msgid "Use only the local spam tests (no DNS)."
msgstr "Përdor vetëm testet spam lokalë (jo DNS)."
-#: ../mail/evolution-mail.schemas.in.in.h:97
+#: mail/evolution-mail.schemas.in.in.h:97
msgid "Variable width font"
msgstr "Gjerësia e ndryshueshme e gërmave"
-#: ../mail/evolution-mail.schemas.in.in.h:98
+#: mail/evolution-mail.schemas.in.in.h:98
msgid "View/Bcc menu item is checked"
msgstr "Është zgjedhur elementi i menusë Shfaq/Bcc"
-#: ../mail/evolution-mail.schemas.in.in.h:99
+#: mail/evolution-mail.schemas.in.in.h:99
msgid "View/Bcc menu item is checked."
msgstr "Është zgjedhur elementi i menusë Shfaq/Bcc."
-#: ../mail/evolution-mail.schemas.in.in.h:100
+#: mail/evolution-mail.schemas.in.in.h:100
msgid "View/Cc menu item is checked"
msgstr "Është zgjedhur elementi i menusë Shfaq/Cc"
-#: ../mail/evolution-mail.schemas.in.in.h:101
+#: mail/evolution-mail.schemas.in.in.h:101
msgid "View/Cc menu item is checked."
msgstr "Është zgjedhur elementi i menusë Shfaq/Cc."
-#: ../mail/evolution-mail.schemas.in.in.h:102
+#: mail/evolution-mail.schemas.in.in.h:102
msgid "View/From menu item is checked"
msgstr "Është zgjedhur elementi i menusë Shfaq/Nga"
-#: ../mail/evolution-mail.schemas.in.in.h:103
+#: mail/evolution-mail.schemas.in.in.h:103
msgid "View/From menu item is checked."
msgstr "Është zgjedhur elementi i menusë Shfaq/Nga."
-#: ../mail/evolution-mail.schemas.in.in.h:104
+#: mail/evolution-mail.schemas.in.in.h:104
msgid "View/PostTo menu item is checked"
msgstr "Është zgjedhur elementi i menusë Shfaq/Dërgo tek"
-#: ../mail/evolution-mail.schemas.in.in.h:105
+#: mail/evolution-mail.schemas.in.in.h:105
msgid "View/PostTo menu item is checked."
msgstr "Është zgjedhur elementi i menusë Shfaq/Dërgo tek."
-#: ../mail/evolution-mail.schemas.in.in.h:106
+#: mail/evolution-mail.schemas.in.in.h:106
msgid "View/ReplyTo menu item is checked"
msgstr "Është zgjedhur elementi i menusë Shfaq/Përgjigju tek"
-#: ../mail/evolution-mail.schemas.in.in.h:107
+#: mail/evolution-mail.schemas.in.in.h:107
msgid "View/ReplyTo menu item is checked."
msgstr "Është zgjedhur elementi i menusë Shfaq/Përgjigju tek."
-#: ../mail/evolution-mail.schemas.in.in.h:108
+#: mail/evolution-mail.schemas.in.in.h:108
msgid ""
"Whether or not to fall back on threading by subjects when the messages do "
"not contain In-Reply-To or References headers."
@@ -11977,67 +11901,65 @@ msgstr ""
"Rivendos listën për tema në bazë të subjektit nëse mesazhet nuk përmbajnë "
"headers Në-Përgjigje-Të apo Riferimentet."
-#: ../mail/evolution-mail.schemas.in.in.h:109
+#: mail/evolution-mail.schemas.in.in.h:109
msgid "port for starting user runned spamd"
msgstr "porta për të nisur spamd e filluar nga përdoruesi"
-#: ../mail/evolution-mail.schemas.in.in.h:110
+#: mail/evolution-mail.schemas.in.in.h:110
msgid "spamd port"
msgstr "porta e spamd"
-#: ../mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:1
+#: mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:1
msgid "Evolution Elm importer"
msgstr "Importuesi nga Elm i Evolution"
-#: ../mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:2
+#: mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:2
msgid "Evolution Netscape Mail importer"
msgstr "Importuesi i mesazheve të Netscape i Evolution"
-#: ../mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:3
+#: mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:3
msgid "Evolution Outlook Express 4 importer"
msgstr "Importuesi nga Outlook Express 4 i Evolution"
-#: ../mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:4
+#: mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:4
msgid "Evolution Pine importer"
msgstr "Importuesi nga Pine i Evolution"
-#: ../mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:5
+#: mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:5
msgid "Evolution mbox importer"
msgstr "Importuesi nga mbox i Evolution"
-#: ../mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:6
+#: mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:6
msgid "MBox (mbox)"
msgstr "MBox (mbox)"
-#: ../mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:7
+#: mail/importers/GNOME_Evolution_Mail_Importers.server.in.in.h:7
msgid "Outlook Express 4 (.mbx)"
msgstr "Outlook Express 4 (.mbx)"
-#: ../mail/importers/elm-importer.c:88
+#: mail/importers/elm-importer.c:88
msgid "Evolution is importing your old Elm mail"
msgstr "Evolution është duke importuar mesazhet tuaj të vjetër Elm"
-#: ../mail/importers/elm-importer.c:89
-#: ../mail/importers/evolution-mbox-importer.c:225
-#: ../mail/importers/evolution-outlook-importer.c:259
-#: ../mail/importers/netscape-importer.c:1251
-#: ../mail/importers/pine-importer.c:117
+#: mail/importers/elm-importer.c:89
+#: mail/importers/evolution-mbox-importer.c:225
+#: mail/importers/evolution-outlook-importer.c:259
+#: mail/importers/netscape-importer.c:1251 mail/importers/pine-importer.c:117
msgid "Importing..."
msgstr "Duke importuar..."
-#: ../mail/importers/elm-importer.c:91
-#: ../mail/importers/evolution-mbox-importer.c:227
-#: ../mail/importers/evolution-outlook-importer.c:261
-#: ../mail/importers/netscape-importer.c:1253
-#: ../mail/importers/pine-importer.c:119
+#: mail/importers/elm-importer.c:91
+#: mail/importers/evolution-mbox-importer.c:227
+#: mail/importers/evolution-outlook-importer.c:261
+#: mail/importers/netscape-importer.c:1253 mail/importers/pine-importer.c:119
msgid "Please wait"
msgstr "Ju lutem prisni"
-#: ../mail/importers/elm-importer.c:244
+#: mail/importers/elm-importer.c:244
msgid "Importing Elm data"
msgstr "Duke importuar të dhënat Elm"
-#: ../mail/importers/elm-importer.c:436
+#: mail/importers/elm-importer.c:436
msgid ""
"Evolution has found Elm mail files\n"
"Would you like to import them into Evolution?"
@@ -12045,43 +11967,43 @@ msgstr ""
"Evolution ka gjetur files mail Elm\n"
"Dëshironi t'i importoni nën Evolution?"
-#: ../mail/importers/elm-importer.c:444
+#: mail/importers/elm-importer.c:444
msgid "Elm"
msgstr "Elm"
-#: ../mail/importers/evolution-mbox-importer.c:117
-#: ../mail/importers/evolution-outlook-importer.c:131
+#: mail/importers/evolution-mbox-importer.c:117
+#: mail/importers/evolution-outlook-importer.c:131
msgid "Destination folder:"
msgstr "Kartela e destinuar:"
-#: ../mail/importers/evolution-mbox-importer.c:120
-#: ../mail/importers/evolution-outlook-importer.c:134
+#: mail/importers/evolution-mbox-importer.c:120
+#: mail/importers/evolution-outlook-importer.c:134
msgid "Select folder to import into"
msgstr "Zgjidh kartelën ku do të importohen"
-#: ../mail/importers/evolution-mbox-importer.c:223
-#: ../mail/importers/evolution-outlook-importer.c:257
-#: ../mail/importers/mail-importer.c:226
+#: mail/importers/evolution-mbox-importer.c:223
+#: mail/importers/evolution-outlook-importer.c:257
+#: mail/importers/mail-importer.c:226
#, c-format
msgid "Importing `%s'"
msgstr "Duke importuar `%s'"
-#: ../mail/importers/evolution-outlook-importer.c:305
-#: ../mail/importers/mail-importer.c:140
+#: mail/importers/evolution-outlook-importer.c:305
+#: mail/importers/mail-importer.c:140
msgid "Importing mailbox"
msgstr "Duke importuar mailbox"
-#: ../mail/importers/mail-importer.c:363
+#: mail/importers/mail-importer.c:363
#, c-format
msgid "Scanning %s"
msgstr "Duke kontrolluar %s"
-#: ../mail/importers/netscape-importer.c:73
+#: mail/importers/netscape-importer.c:73
#, c-format
msgid "Priority Filter \"%s\""
msgstr "Filtri prioritetit \"%s\""
-#: ../mail/importers/netscape-importer.c:662
+#: mail/importers/netscape-importer.c:662
msgid ""
"Some of your Netscape email filters are based on\n"
"email priorities, which are not used in Evolution.\n"
@@ -12107,7 +12029,7 @@ msgstr ""
"përdorin pikët në vend të prioritetit. Kontrollo filtrat e\n"
"importuar për t'u siguruar që gjithçka punon sikurse pritet."
-#: ../mail/importers/netscape-importer.c:686
+#: mail/importers/netscape-importer.c:686
msgid ""
"Some of your Netscape email filters use\n"
"the \"Ignore Thread\" or \"Watch Thread\"\n"
@@ -12119,7 +12041,7 @@ msgstr ""
"që nuk suportohet në Evolution. Këto filtra do të\n"
"eleminohen."
-#: ../mail/importers/netscape-importer.c:703
+#: mail/importers/netscape-importer.c:703
msgid ""
"Some of your Netscape email filters test the\n"
"body of emails for (in)equality to a given string,\n"
@@ -12133,23 +12055,23 @@ msgstr ""
"ndryshuar për të testuar nëse ajo vlerë është prezente\n"
"apo jo në tekstin e mesazhit."
-#: ../mail/importers/netscape-importer.c:1250
+#: mail/importers/netscape-importer.c:1250
msgid "Evolution is importing your old Netscape data"
msgstr "Evolution është duke importuar të dhënat tuaj të vjetra nga Netscape"
-#: ../mail/importers/netscape-importer.c:1707
+#: mail/importers/netscape-importer.c:1707
msgid "Importing Netscape data"
msgstr "Duke importuar të dhënat nga Netscape"
-#: ../mail/importers/netscape-importer.c:1907
+#: mail/importers/netscape-importer.c:1907
msgid "Settings"
msgstr "Rregullimet"
-#: ../mail/importers/netscape-importer.c:1912
+#: mail/importers/netscape-importer.c:1912
msgid "Mail Filters"
msgstr "Filtrat e mesazheve"
-#: ../mail/importers/netscape-importer.c:1933
+#: mail/importers/netscape-importer.c:1933
msgid ""
"Evolution has found Netscape mail files.\n"
"Would you like them to be imported into Evolution?"
@@ -12157,15 +12079,15 @@ msgstr ""
"Evolution ka gjetur files mail të Netscape.\n"
"Dëshironi t'i importoni nën Evolution?"
-#: ../mail/importers/pine-importer.c:116
+#: mail/importers/pine-importer.c:116
msgid "Evolution is importing your old Pine data"
msgstr "Evolution është duke importuar të dhënat tuaja të vjetra të Pine"
-#: ../mail/importers/pine-importer.c:314
+#: mail/importers/pine-importer.c:314
msgid "Importing Pine data"
msgstr "Duke importuar të dhënat e Pine"
-#: ../mail/importers/pine-importer.c:498
+#: mail/importers/pine-importer.c:498
msgid ""
"Evolution has found Pine mail files.\n"
"Would you like to import them into Evolution?"
@@ -12173,337 +12095,336 @@ msgstr ""
"Evolution ka gjetur files mail të Pine.\n"
"Dëshironi t'i importoni nën Evolution?"
-#: ../mail/importers/pine-importer.c:506
+#: mail/importers/pine-importer.c:506
msgid "Pine"
msgstr "Pine"
-#: ../mail/mail-autofilter.c:74
+#: mail/mail-autofilter.c:74
#, c-format
msgid "Mail to %s"
msgstr "Mesazh për %s"
-#: ../mail/mail-autofilter.c:238 ../mail/mail-autofilter.c:277
+#: mail/mail-autofilter.c:238 mail/mail-autofilter.c:277
#, c-format
msgid "Mail from %s"
msgstr "Mesazh nga %s"
-#: ../mail/mail-autofilter.c:261
+#: mail/mail-autofilter.c:261
#, c-format
msgid "Subject is %s"
msgstr "Subjekti është %s"
-#: ../mail/mail-autofilter.c:296
+#: mail/mail-autofilter.c:296
#, c-format
msgid "%s mailing list"
msgstr "Lista mail %s"
-#: ../mail/mail-autofilter.c:365
+#: mail/mail-autofilter.c:365
msgid "Add Filter Rule"
msgstr "Shto rregull filtrimi"
-#: ../mail/mail-component.c:505
+#: mail/mail-component.c:505
#, c-format
msgid "%d deleted"
msgid_plural "%d deleted"
msgstr[0] "%d fshirë"
msgstr[1] "%d fshirë"
-#: ../mail/mail-component.c:507
+#: mail/mail-component.c:507
#, c-format
msgid "%d junk"
msgid_plural "%d junk"
msgstr[0] "%d refuzim"
msgstr[1] "%d refuzime"
-#: ../mail/mail-component.c:530
+#: mail/mail-component.c:530
#, c-format
msgid "%d draft"
msgid_plural "%d drafts"
msgstr[0] "%d kopje"
msgstr[1] "%d kopje"
-#: ../mail/mail-component.c:532
+#: mail/mail-component.c:532
#, c-format
msgid "%d sent"
msgid_plural "%d sent"
msgstr[0] "%d dërguar"
msgstr[1] "%d dërguar"
-#: ../mail/mail-component.c:534
+#: mail/mail-component.c:534
#, c-format
msgid "%d unsent"
msgid_plural "%d unsent"
msgstr[0] "%d pa dërguar"
msgstr[1] "%d pa dërguar"
-#: ../mail/mail-component.c:538
+#: mail/mail-component.c:538
#, c-format
msgid "%d total"
msgid_plural "%d total"
msgstr[0] "%d gjithsej"
msgstr[1] "%d gjithsej"
-#: ../mail/mail-component.c:540
+#: mail/mail-component.c:540
#, c-format
msgid ", %d unread"
msgid_plural ", %d unread"
msgstr[0] ", %d palexuar"
msgstr[1] ", %d palexuar"
-#: ../mail/mail-component.c:722
+#: mail/mail-component.c:722
msgid "New Mail Message"
msgstr "Mesazh i ri poste"
-#: ../mail/mail-component.c:723
+#: mail/mail-component.c:723
msgid "_Mail Message"
msgstr "_Mesazh poste"
-#: ../mail/mail-component.c:724
+#: mail/mail-component.c:724
msgid "Compose a new mail message"
msgstr "Kompozo një mesazh të ri poste"
-#: ../mail/mail-component.c:730
+#: mail/mail-component.c:730
msgid "New Mail Folder"
msgstr "Kartelë e re poste"
-#: ../mail/mail-component.c:731
+#: mail/mail-component.c:731
msgid "Mail _Folder"
msgstr "_Kartela Postës"
-#: ../mail/mail-component.c:732
+#: mail/mail-component.c:732
msgid "Create a new mail folder"
msgstr "Krijo një kartelë të re poste"
-#: ../mail/mail-component.c:879
+#: mail/mail-component.c:879
msgid "Failed upgrading Mail settings or folders."
msgstr "Përditësimi i rregullimeve të postës apo kartelave dështoi."
-#: ../mail/mail-config.glade.h:1 ../mail/mail-dialogs.glade.h:5
+#: mail/mail-config.glade.h:1 mail/mail-dialogs.glade.h:5
msgid " "
msgstr " "
-#: ../mail/mail-config.glade.h:2
+#: mail/mail-config.glade.h:2
msgid " Ch_eck for Supported Types "
msgstr " K_ontrollo për llojet e suportuar "
-#: ../mail/mail-config.glade.h:4
+#: mail/mail-config.glade.h:4
msgid "<b>SSL is not supported in this build of Evolution</b>"
msgstr "<b>SSL nuk suportohet në këtë konfigurim të Evolution</b>"
-#: ../mail/mail-config.glade.h:5
+#: mail/mail-config.glade.h:5
msgid "<b>S_ignatures</b>"
msgstr "<b>F_irmat</b>"
-#: ../mail/mail-config.glade.h:6
+#: mail/mail-config.glade.h:6
msgid "<b>_Languages</b>"
msgstr "<b>_Gjuhët</b>"
-#: ../mail/mail-config.glade.h:7
+#: mail/mail-config.glade.h:7
msgid "<small>This will make the the filter more reliable, but slower</small>"
msgstr "<small>Kjo do t'a bëjë filtrin më të sigurt, por më të ngadaltë</small>"
-#: ../mail/mail-config.glade.h:8
+#: mail/mail-config.glade.h:8
msgid "<span weight=\"bold\">Account Information</span>"
msgstr "<span weight=\"bold\">Informacione në lidhje me llogarinë</span>"
-#: ../mail/mail-config.glade.h:9
+#: mail/mail-config.glade.h:9
msgid "<span weight=\"bold\">Alerts</span>"
msgstr "<span weight=\"bold\">Paralajmërime</span>"
-#: ../mail/mail-config.glade.h:10
+#: mail/mail-config.glade.h:10
msgid "<span weight=\"bold\">Authentication Type</span>"
msgstr "<span weight=\"bold\">Lloji i autentifikimit</span>"
-#: ../mail/mail-config.glade.h:11
+#: mail/mail-config.glade.h:11
msgid "<span weight=\"bold\">Authentication</span>"
msgstr "<span weight=\"bold\">Autentifikimi</span>"
-#: ../mail/mail-config.glade.h:12
+#: mail/mail-config.glade.h:12
msgid "<span weight=\"bold\">Composing Messages</span>"
msgstr "<span weight=\"bold\">Kompozimi i mesazheve</span>"
-#: ../mail/mail-config.glade.h:13
+#: mail/mail-config.glade.h:13
msgid "<span weight=\"bold\">Configuration</span>"
msgstr "<span weight=\"bold\">Konfigurimi</span>"
-#: ../mail/mail-config.glade.h:14
+#: mail/mail-config.glade.h:14
msgid "<span weight=\"bold\">Default Behavior</span>"
msgstr "<span weight=\"bold\">Sjellja e prezgjedhur</span>"
-#: ../mail/mail-config.glade.h:15
+#: mail/mail-config.glade.h:15
msgid "<span weight=\"bold\">Delete Mail</span>"
msgstr "<span weight=\"bold\">Elemino mesazhin</span>"
-#: ../mail/mail-config.glade.h:16
+#: mail/mail-config.glade.h:16
msgid "<span weight=\"bold\">Displayed Mail _Headers</span>"
msgstr "<span weight=\"bold\">_Headers e shfaqur mail</span>"
-#: ../mail/mail-config.glade.h:17
+#: mail/mail-config.glade.h:17
msgid "<span weight=\"bold\">Filter Options</span>"
msgstr "<span weight=\"bold\">Opcionet e filtrimit</span>"
-#: ../mail/mail-config.glade.h:18
-#: ../plugins/itip-formatter/itip-formatter.c:1667
+#: mail/mail-config.glade.h:18 plugins/itip-formatter/itip-formatter.c:1667
msgid "<span weight=\"bold\">General</span>"
msgstr "<span weight=\"bold\">E përgjithshme</span>"
-#: ../mail/mail-config.glade.h:19
+#: mail/mail-config.glade.h:19
msgid "<span weight=\"bold\">Labels and Colors</span>"
msgstr "<span weight=\"bold\">Etiketat dhe ngjyrat</span>"
-#: ../mail/mail-config.glade.h:20
+#: mail/mail-config.glade.h:20
msgid "<span weight=\"bold\">Loading Images</span>"
msgstr "<span weight=\"bold\">Ngarkimi i figurave</span>"
-#: ../mail/mail-config.glade.h:21
+#: mail/mail-config.glade.h:21
msgid "<span weight=\"bold\">Message Display</span>"
msgstr "<span weight=\"bold\">Shfaqja e mesazhit</span>"
-#: ../mail/mail-config.glade.h:22
+#: mail/mail-config.glade.h:22
msgid "<span weight=\"bold\">Message Fonts</span>"
msgstr "<span weight=\"bold\">Gërmat e mesazhit</span>"
-#: ../mail/mail-config.glade.h:23
+#: mail/mail-config.glade.h:23
msgid "<span weight=\"bold\">New Mail Notification</span>"
msgstr "<span weight=\"bold\">Njoftimi i mesazheve të rinj</span>"
-#: ../mail/mail-config.glade.h:24
+#: mail/mail-config.glade.h:24
msgid "<span weight=\"bold\">Optional Information</span>"
msgstr "<span weight=\"bold\">Informacione shtesë</span>"
-#: ../mail/mail-config.glade.h:25
+#: mail/mail-config.glade.h:25
msgid "<span weight=\"bold\">Options</span>"
msgstr "<span weight=\"bold\">Opcione</span>"
-#: ../mail/mail-config.glade.h:26
+#: mail/mail-config.glade.h:26
msgid "<span weight=\"bold\">Pretty Good Privacy (PGP/GPG)</span>"
msgstr "<span weight=\"bold\">Pretty Good Privacy (PGP/GPG)</span>"
-#: ../mail/mail-config.glade.h:27
+#: mail/mail-config.glade.h:27
msgid "<span weight=\"bold\">Printed Fonts</span>"
msgstr "<span weight=\"bold\">Gërmat për printim</span>"
-#: ../mail/mail-config.glade.h:28
+#: mail/mail-config.glade.h:28
msgid "<span weight=\"bold\">Required Information</span>"
msgstr "<span weight=\"bold\">Informacionet e kërkuara</span>"
-#: ../mail/mail-config.glade.h:29
+#: mail/mail-config.glade.h:29
msgid "<span weight=\"bold\">Secure MIME (S/MIME)</span>"
msgstr "<span weight=\"bold\">Secure MIME (S/MIME)</span>"
-#: ../mail/mail-config.glade.h:30
+#: mail/mail-config.glade.h:30
msgid "<span weight=\"bold\">Security</span>"
msgstr "<span weight=\"bold\">Siguria</span>"
-#: ../mail/mail-config.glade.h:31
+#: mail/mail-config.glade.h:31
msgid "<span weight=\"bold\">Sent and Draft Messages</span>"
msgstr "<span weight=\"bold\">Mesazhet e dërguar dhe kopjet</span>"
-#: ../mail/mail-config.glade.h:32
+#: mail/mail-config.glade.h:32
msgid "<span weight=\"bold\">Server Configuration</span>"
msgstr "<span weight=\"bold\">Konfigurimi i serverit</span>"
-#: ../mail/mail-config.glade.h:34
+#: mail/mail-config.glade.h:34
msgid "Account Management"
msgstr "Mirëmbajtja e llogarive"
-#: ../mail/mail-config.glade.h:35
+#: mail/mail-config.glade.h:35
msgid "Add Ne_w Signature..."
msgstr "Shto firmë të _re..."
-#: ../mail/mail-config.glade.h:36
+#: mail/mail-config.glade.h:36
msgid "Add _Script"
msgstr "Shto _Script"
-#: ../mail/mail-config.glade.h:37
+#: mail/mail-config.glade.h:37
msgid "Al_ways sign outgoing messages when using this account"
msgstr "Firmos gjit_hmonë mesazhet në dalje kur përdor këtë llogari"
-#: ../mail/mail-config.glade.h:38
+#: mail/mail-config.glade.h:38
msgid "Also encrypt to sel_f when sending encrypted mail"
msgstr "Shifro gji_thashtu edhe për vetveten kur dërgohen mesazhe të kriptuar"
-#: ../mail/mail-config.glade.h:39
+#: mail/mail-config.glade.h:39
msgid "Alway_s carbon-copy (cc) to:"
msgstr "Gjithmo_në dërgo kopje (cc) tek:"
-#: ../mail/mail-config.glade.h:40
+#: mail/mail-config.glade.h:40
msgid "Always _blind carbon-copy (bcc) to:"
msgstr "Gjithmonë _kopje karboni të verbër (bcc) tek:"
-#: ../mail/mail-config.glade.h:41
+#: mail/mail-config.glade.h:41
msgid "Always _trust keys in my keyring when encrypting"
msgstr "_Beso gjithmonë kyçet e mi kur kripton"
-#: ../mail/mail-config.glade.h:42
+#: mail/mail-config.glade.h:42
msgid "Always encrypt to _myself when sending encrypted mail"
msgstr "Gjithmonë shifro edhe për _vetveten kur dërgohen mesazhe të kriptuar"
-#: ../mail/mail-config.glade.h:43
+#: mail/mail-config.glade.h:43
msgid "Attach original message"
msgstr "Bashkangjit mesazhin orgjinal"
-#: ../mail/mail-config.glade.h:44 ../mail/message-list.etspec.h:1
+#: mail/mail-config.glade.h:44 mail/message-list.etspec.h:1
msgid "Attachment"
msgstr "Bashkangjitur"
-#: ../mail/mail-config.glade.h:45
+#: mail/mail-config.glade.h:45
msgid "Automatically _insert smiley images"
msgstr "_Fut automatikisht figurat smiley"
-#: ../mail/mail-config.glade.h:46
+#: mail/mail-config.glade.h:46
msgid "Baltic (ISO-8859-13)"
msgstr "Balltike (ISO-8859-13)"
-#: ../mail/mail-config.glade.h:47
+#: mail/mail-config.glade.h:47
msgid "Baltic (ISO-8859-4)"
msgstr "Balltike (ISO-8859-4)"
-#: ../mail/mail-config.glade.h:48
+#: mail/mail-config.glade.h:48
msgid "Beep w_hen new mail arrives"
msgstr "Lësho tingull kur arrin _postë e re"
-#: ../mail/mail-config.glade.h:49
+#: mail/mail-config.glade.h:49
msgid "C_haracter set:"
msgstr "Rregullimi i gë_rmave:"
-#: ../mail/mail-config.glade.h:50
+#: mail/mail-config.glade.h:50
msgid "Ch_eck for Supported Types "
msgstr "K_ontrollo për llojet suportuar "
-#: ../mail/mail-config.glade.h:51
+#: mail/mail-config.glade.h:51
msgid "Check _incoming mail for junk"
msgstr "Kontrollo postën në _hyrje për material për t'u refuzuar"
-#: ../mail/mail-config.glade.h:52
+#: mail/mail-config.glade.h:52
msgid "Check spelling while I _type"
msgstr "Kontrollo drejtshkrimin kur _shkruan"
-#: ../mail/mail-config.glade.h:53
+#: mail/mail-config.glade.h:53
msgid "Checks incoming mail messages to be Junk"
msgstr "Kontrolli i mesazheve në hyrje të postës për në plehra"
-#: ../mail/mail-config.glade.h:54
+#: mail/mail-config.glade.h:54
msgid "Cle_ar"
msgstr "P_astro"
-#: ../mail/mail-config.glade.h:55
+#: mail/mail-config.glade.h:55
msgid "Clea_r"
msgstr "Past_ro"
-#: ../mail/mail-config.glade.h:56
+#: mail/mail-config.glade.h:56
msgid "Color for _misspelled words:"
msgstr "Ngjyra për fjalët me _gabime:"
-#: ../mail/mail-config.glade.h:57
+#: mail/mail-config.glade.h:57
msgid "Colors"
msgstr "Ngjyrat"
-#: ../mail/mail-config.glade.h:58
+#: mail/mail-config.glade.h:58
msgid "Confirm _when expunging a folder"
msgstr "Konfermo _kur eleminohet një kartelë"
-#: ../mail/mail-config.glade.h:59
+#: mail/mail-config.glade.h:59
msgid ""
"Congratulations, your mail configuration is complete.\n"
"\n"
@@ -12519,117 +12440,117 @@ msgstr ""
"\n"
"Kliko \"Apliko\" për të ruajtur rregullimet."
-#: ../mail/mail-config.glade.h:65
+#: mail/mail-config.glade.h:65
msgid "De_fault"
msgstr "Pr_ezgjedhur"
-#: ../mail/mail-config.glade.h:66
+#: mail/mail-config.glade.h:66
msgid "Default character e_ncoding:"
msgstr "Ko_difikimi i prezgjedhur i gërmave:"
-#: ../mail/mail-config.glade.h:69
+#: mail/mail-config.glade.h:69
msgid "Digitally _sign outgoing messages (by default)"
msgstr "Firmë _dixhitale për mesazhet në dalje (e prezgjedhur)"
-#: ../mail/mail-config.glade.h:70
+#: mail/mail-config.glade.h:70
msgid "Do not quote original message"
msgstr "Mos kuoto mesazhin orgjinal"
-#: ../mail/mail-config.glade.h:71 ../shell/evolution-startup-wizard.glade.h:1
+#: mail/mail-config.glade.h:71 shell/evolution-startup-wizard.glade.h:1
msgid "Done"
msgstr "U plotësua"
-#: ../mail/mail-config.glade.h:72
+#: mail/mail-config.glade.h:72
msgid "Drafts _Folder:"
msgstr "_Kartela e kopjeve:"
-#: ../mail/mail-config.glade.h:74
+#: mail/mail-config.glade.h:74
msgid "Email Accounts"
msgstr "Llogaritë email"
-#: ../mail/mail-config.glade.h:75
+#: mail/mail-config.glade.h:75
msgid "Email _Address:"
msgstr "_Adresa Email:"
-#: ../mail/mail-config.glade.h:76
+#: mail/mail-config.glade.h:76
msgid "Empty trash folders on e_xit"
msgstr "Zbraz kartelat e koshit kur de_l"
-#: ../mail/mail-config.glade.h:77
+#: mail/mail-config.glade.h:77
msgid "Encry_ption certificate:"
msgstr "Çertifikata e kri_ptimit:"
-#: ../mail/mail-config.glade.h:78
+#: mail/mail-config.glade.h:78
msgid "Encrypt out_going messages (by default)"
msgstr "Kriptim për mesazhet në da_lje (e prezgjedhur)"
-#: ../mail/mail-config.glade.h:80
+#: mail/mail-config.glade.h:80
msgid "Execute Command..."
msgstr "Ekzekuto komandën..."
-#: ../mail/mail-config.glade.h:81
+#: mail/mail-config.glade.h:81
msgid "Fi_xed-width:"
msgstr "Gjerësia-fi_ksuar:"
-#: ../mail/mail-config.glade.h:82
+#: mail/mail-config.glade.h:82
msgid "Font Properties"
msgstr "Pronësitë e shkronjave"
-#: ../mail/mail-config.glade.h:83
+#: mail/mail-config.glade.h:83
msgid "Format messages in _HTML"
msgstr "Formato mesazhet në _HTML"
-#: ../mail/mail-config.glade.h:85
+#: mail/mail-config.glade.h:85
msgid "HTML Mail"
msgstr "Mesazh HTML"
-#: ../mail/mail-config.glade.h:86
+#: mail/mail-config.glade.h:86
msgid "Headers"
msgstr "Headers"
-#: ../mail/mail-config.glade.h:87
+#: mail/mail-config.glade.h:87
msgid "Highlight _quotations with"
msgstr "Vër në dukje _kuotimet me"
-#: ../mail/mail-config.glade.h:88
+#: mail/mail-config.glade.h:88
msgid "I_nclude remote tests"
msgstr "Pë_rfshi provat remote"
-#: ../mail/mail-config.glade.h:91
+#: mail/mail-config.glade.h:91
msgid "Inline"
msgstr "Direkt"
-#: ../mail/mail-config.glade.h:94
+#: mail/mail-config.glade.h:94
msgid "Mail Configuration"
msgstr "Konfigurimi i Mail"
-#: ../mail/mail-config.glade.h:96
+#: mail/mail-config.glade.h:96
msgid "Mailbox location"
msgstr "Vendodhja e mailbox"
-#: ../mail/mail-config.glade.h:97
+#: mail/mail-config.glade.h:97
msgid "Message Composer"
msgstr "Kompozuesi i mesazheve"
-#: ../mail/mail-config.glade.h:98
+#: mail/mail-config.glade.h:98
msgid ""
"Note: you will not be prompted for a password until you connect for the "
"first time"
msgstr "Shënim: nuk do t'ju kërkohet fjalëkalimi derisa të kryeni lidhjen e parë"
-#: ../mail/mail-config.glade.h:99
+#: mail/mail-config.glade.h:99
msgid "Or_ganization:"
msgstr "Or_ganizata:"
-#: ../mail/mail-config.glade.h:100
+#: mail/mail-config.glade.h:100
msgid "PGP/GPG _Key ID:"
msgstr "ID e _Kyçit PGP/GPG:"
-#: ../mail/mail-config.glade.h:103
+#: mail/mail-config.glade.h:103
msgid "Play sound file when new mail arri_ves"
msgstr "Lësho tingull kur _arrijnë mesazhe të rinj"
-#: ../mail/mail-config.glade.h:104
+#: mail/mail-config.glade.h:104
msgid ""
"Please enter a descriptive name for this account in the space below.\n"
"This name will be used for display purposes only."
@@ -12637,7 +12558,7 @@ msgstr ""
"Shkruaj një përshkrim për këtë llogari në hapësirën e mëposhtme.\n"
"Ky emër do të përdoret vetëm për paraqitjen."
-#: ../mail/mail-config.glade.h:106
+#: mail/mail-config.glade.h:106
msgid ""
"Please enter information about the way you will send mail. If you are not "
"sure, ask your system administrator or Internet Service Provider."
@@ -12645,7 +12566,7 @@ msgstr ""
"Ju lutem plotësoni informacionet në lidhje me menyrën e dërgimit të postës. "
"Nëse nuk jeni i sigurt, pyetni administratorin e sistemit tuaj ose ISP."
-#: ../mail/mail-config.glade.h:107
+#: mail/mail-config.glade.h:107
msgid ""
"Please enter your name and email address below. The \"optional\" fields "
"below do not need to be filled in, unless you wish to include this "
@@ -12655,107 +12576,107 @@ msgstr ""
"nuk ka nevojë të plotësohen, po të mos dëshironi të përfshini ato "
"informacione tek mesazhet e postës që dërgoni."
-#: ../mail/mail-config.glade.h:108
+#: mail/mail-config.glade.h:108
msgid "Please select among the following options"
msgstr "Ju lutem zgjidhni nga opcionet në vazhdim"
-#: ../mail/mail-config.glade.h:109
+#: mail/mail-config.glade.h:109
msgid "Pr_ompt when sending messages with only Bcc recipients defined"
msgstr "Pa_ralajmëro kur dërgohen mesazhe me vetëm marrësit Bcc të përcaktuar"
-#: ../mail/mail-config.glade.h:110
+#: mail/mail-config.glade.h:110
msgid "Quote original message"
msgstr "Kuoto mesazhin orgjinal"
-#: ../mail/mail-config.glade.h:111
+#: mail/mail-config.glade.h:111
msgid "Quoted"
msgstr "I kuotuar"
-#: ../mail/mail-config.glade.h:112
+#: mail/mail-config.glade.h:112
msgid "Re_member password"
msgstr "Ku_jto fjalëkalimin"
-#: ../mail/mail-config.glade.h:113
+#: mail/mail-config.glade.h:113
msgid "Re_ply-To:"
msgstr "Për_gjigju-Tek:"
-#: ../mail/mail-config.glade.h:115
+#: mail/mail-config.glade.h:115
msgid "Remember _password"
msgstr "Kujto _fjalëkalimin"
-#: ../mail/mail-config.glade.h:116
+#: mail/mail-config.glade.h:116
msgid "S_elect..."
msgstr "Z_gjidh..."
-#: ../mail/mail-config.glade.h:117
+#: mail/mail-config.glade.h:117
msgid "S_tandard Font:"
msgstr "Gërmat s_tandart:"
-#: ../mail/mail-config.glade.h:118
+#: mail/mail-config.glade.h:118
msgid "Se_lect..."
msgstr "Zg_jidh..."
-#: ../mail/mail-config.glade.h:120
+#: mail/mail-config.glade.h:120
msgid "Select HTML fixed width font"
msgstr "Zgjidh gërmat me gjerësi fikse të HTML"
-#: ../mail/mail-config.glade.h:121
+#: mail/mail-config.glade.h:121
msgid "Select HTML fixed width font for printing"
msgstr "Zgjidh gërmat me gjerësi fikse të HTML për printim"
-#: ../mail/mail-config.glade.h:122
+#: mail/mail-config.glade.h:122
msgid "Select HTML variable width font"
msgstr "Zgjidh gërmat me gjerësi të ndryshueshme të HTML"
-#: ../mail/mail-config.glade.h:123
+#: mail/mail-config.glade.h:123
msgid "Select HTML variable width font for printing"
msgstr "Zgjidh gërmat me gjerësi të ndryshueshme të HTML për printim"
-#: ../mail/mail-config.glade.h:125
+#: mail/mail-config.glade.h:125
msgid "Sending Mail"
msgstr "Dërgimi i Postës"
-#: ../mail/mail-config.glade.h:126
+#: mail/mail-config.glade.h:126
msgid "Sent _Messages Folder:"
msgstr "Kartela e _mesazheve të dërguar:"
-#: ../mail/mail-config.glade.h:127
+#: mail/mail-config.glade.h:127
msgid "Ser_ver requires authentication"
msgstr "Ser_veri kërkon autentifikimin"
-#: ../mail/mail-config.glade.h:128
+#: mail/mail-config.glade.h:128
msgid "Server _Type: "
msgstr "_Lloji i serverit: "
-#: ../mail/mail-config.glade.h:129
+#: mail/mail-config.glade.h:129
msgid "Sig_ning certificate:"
msgstr "Çertifikata e fir_mës:"
-#: ../mail/mail-config.glade.h:130
+#: mail/mail-config.glade.h:130
msgid "Signat_ure:"
msgstr "Fir_ma:"
-#: ../mail/mail-config.glade.h:131
+#: mail/mail-config.glade.h:131
msgid "Signatures"
msgstr "Firmat"
-#: ../mail/mail-config.glade.h:132
+#: mail/mail-config.glade.h:132
msgid "Specify _filename:"
msgstr "Specifiko emrin e _file:"
-#: ../mail/mail-config.glade.h:133
+#: mail/mail-config.glade.h:133
msgid "Spell Checking"
msgstr "Kontrolli i drejtshkrimit"
-#: ../mail/mail-config.glade.h:134
+#: mail/mail-config.glade.h:134
msgid "T_erminal Font:"
msgstr "Gërmat e terminalit:"
-#: ../mail/mail-config.glade.h:135
+#: mail/mail-config.glade.h:135
msgid "T_ype: "
msgstr "Ll_oji: "
-#: ../mail/mail-config.glade.h:136
+#: mail/mail-config.glade.h:136
msgid ""
"The list of languages here reflects only the languages for which you have a "
"dictionary installed."
@@ -12763,7 +12684,7 @@ msgstr ""
"Lista e gjuhëve reflekton vetëm gjuhët për të cilat keni instaluar një "
"fjalor."
-#: ../mail/mail-config.glade.h:137
+#: mail/mail-config.glade.h:137
msgid ""
"The output of this script will be used as your\n"
"signature. The name you specify will be used\n"
@@ -12773,7 +12694,7 @@ msgstr ""
"Emri i specifikuar nga ju do të përdoret vetëm për\n"
"t'u shfaqur. "
-#: ../mail/mail-config.glade.h:141
+#: mail/mail-config.glade.h:141
msgid ""
"Type the name by which you would like to refer to this account.\n"
"For example: \"Work\" or \"Personal\""
@@ -12781,15 +12702,15 @@ msgstr ""
"Shkruani emrin sipas të cilit dëshironi t'i referoheni kësaj llogarie.\n"
"Për shembull: \"Punë\" ose \"Personale\""
-#: ../mail/mail-config.glade.h:143
+#: mail/mail-config.glade.h:143
msgid "User_name:"
msgstr "_Përdoruesi:"
-#: ../mail/mail-config.glade.h:144
+#: mail/mail-config.glade.h:144
msgid "V_ariable-width:"
msgstr "Gjerësia e nd_ryshueshme:"
-#: ../mail/mail-config.glade.h:145
+#: mail/mail-config.glade.h:145
msgid ""
"Welcome to the Evolution Mail Configuration Assistant.\n"
"\n"
@@ -12799,91 +12720,91 @@ msgstr ""
"\n"
"Kliko \"Vazhdo\" për të filluar. "
-#: ../mail/mail-config.glade.h:149
+#: mail/mail-config.glade.h:149
msgid "_Add Signature"
msgstr "_Shto firmë"
-#: ../mail/mail-config.glade.h:150
+#: mail/mail-config.glade.h:150
msgid "_Always load images from the Internet"
msgstr "_Gjithmonë ngarko figurat nga Internet"
-#: ../mail/mail-config.glade.h:151
+#: mail/mail-config.glade.h:151
msgid "_Do not notify me when new mail arrives"
msgstr "_Mos më njofto kur arrijnë mesazhe të rinj"
-#: ../mail/mail-config.glade.h:152
+#: mail/mail-config.glade.h:152
msgid "_Don't sign meeting requests (for Outlook compatibility)"
msgstr "_Mos shëno kërkesat për mbledhje (për pajtueshmëri me Outlook)"
-#: ../mail/mail-config.glade.h:154
+#: mail/mail-config.glade.h:154
msgid "_Forward style:"
msgstr "Stili i _përcjelljes:"
-#: ../mail/mail-config.glade.h:155
+#: mail/mail-config.glade.h:155
msgid "_Full Name:"
msgstr "Emri dhe _mbiemri:"
-#: ../mail/mail-config.glade.h:156
+#: mail/mail-config.glade.h:156
msgid "_Host:"
msgstr "_Host:"
-#: ../mail/mail-config.glade.h:157
+#: mail/mail-config.glade.h:157
msgid "_Load images if sender is in address book"
msgstr "_Ngarko figurat nëse dërguesi rezulton në rubrikë"
-#: ../mail/mail-config.glade.h:158
+#: mail/mail-config.glade.h:158
msgid "_Make this my default account"
msgstr "_Ktheje në llogarinë time të prezgjedhur"
-#: ../mail/mail-config.glade.h:159
+#: mail/mail-config.glade.h:159
msgid "_Mark messages as read after"
msgstr "_Shëno si të lexuar mesazhet mbas"
-#: ../mail/mail-config.glade.h:161
+#: mail/mail-config.glade.h:161
msgid "_Never load images from the Internet"
msgstr "_Asnjëherë mos ngarko figura nga Internet"
-#: ../mail/mail-config.glade.h:162
+#: mail/mail-config.glade.h:162
msgid "_Path:"
msgstr "_Vendodhja:"
-#: ../mail/mail-config.glade.h:163
+#: mail/mail-config.glade.h:163
msgid "_Prompt when sending HTML messages to contacts that don't want them"
msgstr "_Paralajmërim kur u dërgohen mesazhe HTML marrësve që nuk i dëshirojnë ato"
-#: ../mail/mail-config.glade.h:164
+#: mail/mail-config.glade.h:164
msgid "_Prompt when sending messages with an empty subject line"
msgstr "_Paralajmërim kur dërgohen mesazhe me rreshtin e subjektit bosh"
-#: ../mail/mail-config.glade.h:165
+#: mail/mail-config.glade.h:165
msgid "_Reply style:"
msgstr "Stili i _përgjigjes:"
-#: ../mail/mail-config.glade.h:166
+#: mail/mail-config.glade.h:166
msgid "_Script:"
msgstr "_Script:"
-#: ../mail/mail-config.glade.h:167
+#: mail/mail-config.glade.h:167
msgid "_Show animated images"
msgstr "_Shfaq imazhet e animuara"
-#: ../mail/mail-config.glade.h:168
+#: mail/mail-config.glade.h:168
msgid "_Use Secure Connection:"
msgstr "_Përdor lidhje të sigurt:"
-#: ../mail/mail-config.glade.h:169
+#: mail/mail-config.glade.h:169
msgid "_Use the same fonts as other applications"
msgstr "_Përdor të njëjtat gërma si programet e tjerë"
-#: ../mail/mail-config.glade.h:170
+#: mail/mail-config.glade.h:170
msgid "color"
msgstr "ngjyra"
-#: ../mail/mail-config.glade.h:171
+#: mail/mail-config.glade.h:171
msgid "description"
msgstr "përshkrimi"
-#: ../mail/mail-dialogs.glade.h:1
+#: mail/mail-dialogs.glade.h:1
msgid ""
"\n"
" Please read carefully the license agreement displayed\n"
@@ -12893,60 +12814,60 @@ msgstr ""
"Lu lutem lexoni me kujdes kushtet e autorizimit të shfaqur\n"
"më poshtë dhe shëno kutinë zgjedhëse për t'a pranuar\n"
-#: ../mail/mail-dialogs.glade.h:7
+#: mail/mail-dialogs.glade.h:7
msgid "<b>vFolder Sources</b>"
msgstr "<b>Burimet e kartelave virtuale</b>"
-#: ../mail/mail-dialogs.glade.h:8
+#: mail/mail-dialogs.glade.h:8
msgid "<span weight=\"bold\">Digital Signature</span>"
msgstr "<span weight=\"bold\">Firma dixhitale</span>"
-#: ../mail/mail-dialogs.glade.h:9
+#: mail/mail-dialogs.glade.h:9
msgid "<span weight=\"bold\">Encryption</span>"
msgstr "<span weight=\"bold\">Kriptimi</span>"
-#: ../mail/mail-dialogs.glade.h:10
+#: mail/mail-dialogs.glade.h:10
msgid "Case _Sensitive"
msgstr "_Gërma të mëdha/të vogla"
-#: ../mail/mail-dialogs.glade.h:11 ../mail/message-tags.glade.h:2
+#: mail/mail-dialogs.glade.h:11 mail/message-tags.glade.h:2
msgid "Co_mpleted"
msgstr "U _plotësua"
-#: ../mail/mail-dialogs.glade.h:13
+#: mail/mail-dialogs.glade.h:13
msgid "F_ind:"
msgstr "G_jej:"
-#: ../mail/mail-dialogs.glade.h:14
+#: mail/mail-dialogs.glade.h:14
msgid "Find in Message"
msgstr "Gjej në mesazh"
-#: ../mail/mail-dialogs.glade.h:15 ../mail/message-tag-followup.c:295
-#: ../mail/message-tags.glade.h:3
+#: mail/mail-dialogs.glade.h:15 mail/message-tag-followup.c:295
+#: mail/message-tags.glade.h:3
msgid "Flag to Follow Up"
msgstr "Flamuri për ndjekjen e rrjedhës"
-#: ../mail/mail-dialogs.glade.h:16
+#: mail/mail-dialogs.glade.h:16
msgid "Folder Subscriptions"
msgstr "Regjistrimet në kartelë"
-#: ../mail/mail-dialogs.glade.h:17
+#: mail/mail-dialogs.glade.h:17
msgid "License Agreement"
msgstr "Marrëveshje autorizimi"
-#: ../mail/mail-dialogs.glade.h:18
+#: mail/mail-dialogs.glade.h:18
msgid "None Selected"
msgstr "Asnjë zgjedhje"
-#: ../mail/mail-dialogs.glade.h:19
+#: mail/mail-dialogs.glade.h:19
msgid "S_erver:"
msgstr "S_erveri:"
-#: ../mail/mail-dialogs.glade.h:20
+#: mail/mail-dialogs.glade.h:20
msgid "Security Information"
msgstr "Informacione sigurie"
-#: ../mail/mail-dialogs.glade.h:22 ../mail/message-tags.glade.h:4
+#: mail/mail-dialogs.glade.h:22 mail/message-tags.glade.h:4
msgid ""
"The messages you have selected for follow up are listed below.\n"
"Please select a follow up action from the \"Flag\" menu."
@@ -12954,53 +12875,53 @@ msgstr ""
"Mesazhet që keni shënuar për ndjekje janë rreshtuar në vazhdim.\n"
"Ju lutem zgjidh veprimin e ndjekjes nga menuja \"Flamurë\"."
-#: ../mail/mail-dialogs.glade.h:24
+#: mail/mail-dialogs.glade.h:24
msgid "_Accept License"
msgstr "_Prano liçencën"
-#: ../mail/mail-dialogs.glade.h:25 ../mail/message-tags.glade.h:6
+#: mail/mail-dialogs.glade.h:25 mail/message-tags.glade.h:6
msgid "_Due By:"
msgstr "_Skadimi më:"
-#: ../mail/mail-dialogs.glade.h:26 ../mail/message-tags.glade.h:7
+#: mail/mail-dialogs.glade.h:26 mail/message-tags.glade.h:7
msgid "_Flag:"
msgstr "_Flamuri:"
-#: ../mail/mail-dialogs.glade.h:27
+#: mail/mail-dialogs.glade.h:27
msgid "_Subscribe"
msgstr "_Abonohu"
-#: ../mail/mail-dialogs.glade.h:28
+#: mail/mail-dialogs.glade.h:28
msgid "_Tick this to accept the license agreement"
msgstr "_Zgjidh këtë për të pranuar marrëveshjen e autorizimit"
-#: ../mail/mail-dialogs.glade.h:29
+#: mail/mail-dialogs.glade.h:29
msgid "_Unsubscribe"
msgstr "_Ç'regjistrohu"
-#: ../mail/mail-dialogs.glade.h:30
+#: mail/mail-dialogs.glade.h:30
msgid "specific folders only"
msgstr "vetëm kartelat e caktuara"
-#: ../mail/mail-dialogs.glade.h:31
+#: mail/mail-dialogs.glade.h:31
msgid "with all active remote folders"
msgstr "me të gjitha kartelat aktive remote"
-#: ../mail/mail-dialogs.glade.h:32
+#: mail/mail-dialogs.glade.h:32
msgid "with all local and active remote folders"
msgstr "me të gjitha kartelat lokale dhe kartelat aktive remote"
-#: ../mail/mail-dialogs.glade.h:33
+#: mail/mail-dialogs.glade.h:33
msgid "with all local folders"
msgstr "me të gjitha kartelat lokale"
#. mail:camel-service-auth-invalid primary
-#: ../mail/mail-errors.xml.h:2
+#: mail/mail-errors.xml.h:2
msgid "Invalid authentication"
msgstr "Autentifikim i pavlefshëm"
#. mail:camel-service-auth-invalid secondary
-#: ../mail/mail-errors.xml.h:4
+#: mail/mail-errors.xml.h:4
msgid ""
"This server does not support this type of authentication and may not support "
"authentication at all."
@@ -13009,12 +12930,12 @@ msgstr ""
"suportojë fare autentifikimet."
#. mail:camel-service-auth-failed primary
-#: ../mail/mail-errors.xml.h:6
+#: mail/mail-errors.xml.h:6
msgid "Your login to your server \"{0}\" as \"{0}\" failed."
msgstr "Futja në serverin tuaj \"{0}\" si \"{0}\" dështoi."
#. mail:camel-service-auth-failed secondary
-#: ../mail/mail-errors.xml.h:8
+#: mail/mail-errors.xml.h:8
msgid ""
"Check to make sure your password is spelled correctly. Remember that many "
"passwords are case sensitive; your caps lock might be on."
@@ -13024,12 +12945,12 @@ msgstr ""
"shkrimit me gërma të mëdha."
#. mail:ask-send-html primary
-#: ../mail/mail-errors.xml.h:10
+#: mail/mail-errors.xml.h:10
msgid "Are you sure you want to send a message in HTML format?"
msgstr "Jeni i sigurt që dëshironi të dërgoni një mesazh në formatin HTML?"
#. mail:ask-send-html secondary
-#: ../mail/mail-errors.xml.h:12
+#: mail/mail-errors.xml.h:12
msgid ""
"Please make sure the following recipients are willing and able to receive "
"HTML email:\n"
@@ -13042,12 +12963,12 @@ msgstr ""
"Dërgoj sidoqoftë?"
#. mail:ask-send-no-subject primary
-#: ../mail/mail-errors.xml.h:17
+#: mail/mail-errors.xml.h:17
msgid "Are you sure you want to send a message without a subject?"
msgstr "Jeni i sigurt që dëshironi të dërgoni një mesazh pa subjekt?"
#. mail:ask-send-no-subject secondary
-#: ../mail/mail-errors.xml.h:19
+#: mail/mail-errors.xml.h:19
msgid ""
"Adding a meaningful Subject line to your messages will give your recipients "
"an idea of what your mail is about."
@@ -13057,12 +12978,12 @@ msgstr ""
#. mail:ask-send-only-bcc-contact primary
#. mail:ask-send-only-bcc primary
-#: ../mail/mail-errors.xml.h:22 ../mail/mail-errors.xml.h:29
+#: mail/mail-errors.xml.h:22 mail/mail-errors.xml.h:29
msgid "Are you sure you want to send a message with only BCC recipients?"
msgstr "Jeni i sigurt që dëshironi të dërgoni një mesazh vetëm me marrësit BCC?"
#. mail:ask-send-only-bcc-contact secondary
-#: ../mail/mail-errors.xml.h:24
+#: mail/mail-errors.xml.h:24
msgid ""
"The contact list you are sending to is configured to hide list recipients.\n"
"\n"
@@ -13080,7 +13001,7 @@ msgstr ""
"Për: ose CC. "
#. mail:ask-send-only-bcc secondary
-#: ../mail/mail-errors.xml.h:31
+#: mail/mail-errors.xml.h:31
msgid ""
"Many email systems add an Apparently-To header to messages that only have "
"BCC recipients. This header, if added, will list all of your recipients to "
@@ -13093,12 +13014,12 @@ msgstr ""
"Për: ose CC."
#. mail:send-no-recipients primary
-#: ../mail/mail-errors.xml.h:34
+#: mail/mail-errors.xml.h:34
msgid "This message cannot be sent because you have not specified any Recipients"
msgstr "Ky mesazh nuk mund të dërgohet pasi nuk keni specifikuar asnjë marrës"
#. mail:send-no-recipients secondary
-#: ../mail/mail-errors.xml.h:36
+#: mail/mail-errors.xml.h:36
msgid ""
"Please enter a valid email address in the To: field. You can search for "
"email addresses by clicking on the To: button next to the entry box."
@@ -13108,12 +13029,12 @@ msgstr ""
"e zërave."
#. mail:ask-default-drafts primary
-#: ../mail/mail-errors.xml.h:38
+#: mail/mail-errors.xml.h:38
msgid "Use default drafts folder?"
msgstr "Përdor kartelën e prezgjedhur të kopjeve?"
#. mail:ask-default-drafts secondary
-#: ../mail/mail-errors.xml.h:40
+#: mail/mail-errors.xml.h:40
msgid ""
"Unable to open the drafts folder for this account. Use the system drafts "
"folder instead?"
@@ -13121,12 +13042,12 @@ msgstr ""
"E pamundur hapja e kartelës së kopjeve për kë llogari. Dëshironi të "
"përdorni kartelën e kopjeve të sistemit?"
-#: ../mail/mail-errors.xml.h:41
+#: mail/mail-errors.xml.h:41
msgid "Use _Default"
msgstr "Përdor të _Prezgjedhurin"
#. mail:ask-expunge primary
-#: ../mail/mail-errors.xml.h:43
+#: mail/mail-errors.xml.h:43
msgid ""
"Are you sure you want to permanently remove all the deleted message in "
"folder \"{0}\"?"
@@ -13136,16 +13057,16 @@ msgstr ""
#. mail:ask-expunge secondary
#. mail:ask-empty-trash secondary
-#: ../mail/mail-errors.xml.h:45 ../mail/mail-errors.xml.h:50
+#: mail/mail-errors.xml.h:45 mail/mail-errors.xml.h:50
msgid "If you continue, you will not be able to recover these messages."
msgstr "Nëse vazhdoni, nuk do të jeni në gjendje të rekuperoni këto mesazhe."
-#: ../mail/mail-errors.xml.h:46
+#: mail/mail-errors.xml.h:46
msgid "_Expunge"
msgstr "_Pastro"
#. mail:ask-empty-trash primary
-#: ../mail/mail-errors.xml.h:48
+#: mail/mail-errors.xml.h:48
msgid ""
"Are you sure you want to permanently remove all the deleted messages in all "
"folders?"
@@ -13153,31 +13074,31 @@ msgstr ""
"Jeni i sigurt që dëshironi të eleminoni përgjithmonë të gjithë mesazhet e "
"fshirë në të gjitha kartelat?"
-#: ../mail/mail-errors.xml.h:51
+#: mail/mail-errors.xml.h:51
msgid "_Empty Trash"
msgstr "_Zbraz Koshin"
#. mail:ask-open-many primary
-#: ../mail/mail-errors.xml.h:53
+#: mail/mail-errors.xml.h:53
msgid "Are you sure you want to open {0} messages at once?"
msgstr "Jeni i sigurt që dëshironi të hapni {0} mesazhe njëkohësisht?"
#. mail:ask-open-many secondary
-#: ../mail/mail-errors.xml.h:55
+#: mail/mail-errors.xml.h:55
msgid "Opening too many messages at once may take a long time."
msgstr "Hapja e shumë mesazheve njëkohësisht mund të marrë një kohë tepër të gjatë."
-#: ../mail/mail-errors.xml.h:56
+#: mail/mail-errors.xml.h:56
msgid "_Open Messages"
msgstr "_Hap mesazhet"
#. mail:exit-unsaved primary
-#: ../mail/mail-errors.xml.h:58
+#: mail/mail-errors.xml.h:58
msgid "You have unsent messages, do you wish to quit anyway?"
msgstr "Keni akoma mesazhe të padërguar, dëshironi të dilni sidoqoftë?"
#. mail:exit-unsaved secondary
-#: ../mail/mail-errors.xml.h:60
+#: mail/mail-errors.xml.h:60
msgid ""
"If you quit, these messages will not be sent until Evolution is started "
"again."
@@ -13186,12 +13107,12 @@ msgstr ""
"përsëri."
#. mail:camel-exception primary
-#: ../mail/mail-errors.xml.h:62
+#: mail/mail-errors.xml.h:62
msgid "Your message with the subject \"{0}\" was not delivered."
msgstr "Mesazhi juaj me subjekt \"{0}\" nuk u dërgua."
#. mail:camel-exception secondary
-#: ../mail/mail-errors.xml.h:64
+#: mail/mail-errors.xml.h:64
msgid ""
"The message was sent via the \"sendmail\" external application. Sendmail "
"reports the following error: status 67: mail not sent.\n"
@@ -13204,81 +13125,81 @@ msgstr ""
"gabime dhe rinise."
#. mail:async-error primary
-#: ../mail/mail-errors.xml.h:67
+#: mail/mail-errors.xml.h:67
msgid "Error while {0}."
msgstr "Gabim kur {0}."
#. mail:async-error secondary
-#: ../mail/mail-errors.xml.h:69
+#: mail/mail-errors.xml.h:69
msgid "{1}."
msgstr "{1}."
#. mail:async-error-nodescribe primary
-#: ../mail/mail-errors.xml.h:71
+#: mail/mail-errors.xml.h:71
msgid "Error while performing operation."
msgstr "Gabim gjatë kryerjes së operacionit."
#. mail:async-error-nodescribe secondary
-#: ../mail/mail-errors.xml.h:73
+#: mail/mail-errors.xml.h:73
msgid "{0}."
msgstr "{0}."
#. mail:ask-session-password primary
-#: ../mail/mail-errors.xml.h:87
+#: mail/mail-errors.xml.h:87
msgid "Enter password."
msgstr "Shkruaj fjalëkalimin."
#. mail:filter-load-error primary
-#: ../mail/mail-errors.xml.h:91
+#: mail/mail-errors.xml.h:91
msgid "Error loading filter definitions."
msgstr "Gabim gjatë ngarkimit përcaktimeve të filtrit."
#. mail:no-save-path primary
-#: ../mail/mail-errors.xml.h:95
+#: mail/mail-errors.xml.h:95
msgid "Cannot save to directory \"{0}\"."
msgstr "E pamundur ruajtja tek directory \"{0}\"."
#. mail:no-create-path primary
#. mail:no-write-path-exists primary
#. mail:no-write-path-notfile primary
-#: ../mail/mail-errors.xml.h:99 ../mail/mail-errors.xml.h:107
-#: ../mail/mail-errors.xml.h:111
+#: mail/mail-errors.xml.h:99 mail/mail-errors.xml.h:107
+#: mail/mail-errors.xml.h:111
msgid "Cannot save to file \"{0}\"."
msgstr "E pamundur ruajtja tek file \"{0}\"."
#. mail:no-create-path secondary
-#: ../mail/mail-errors.xml.h:101
+#: mail/mail-errors.xml.h:101
msgid "Cannot create the save directory, because \"{1}\""
msgstr "I pamundur krijimi i directory për ruajtje, sepse \"{1}\""
#. mail:no-create-tmp-path primary
-#: ../mail/mail-errors.xml.h:103
+#: mail/mail-errors.xml.h:103
msgid "Cannot create temporary save directory."
msgstr "I pamundur krijimi i directory për ruajtjen e përkohshme."
#. mail:no-write-path-exists secondary
-#: ../mail/mail-errors.xml.h:109
+#: mail/mail-errors.xml.h:109
msgid "File exists but cannot overwrite it."
msgstr "File ekziston por nuk mund të mbishkruhet."
#. mail:no-write-path-notfile secondary
-#: ../mail/mail-errors.xml.h:113
+#: mail/mail-errors.xml.h:113
msgid "File exists but is not a regular file."
msgstr "File ekziston por nuk është një file i rregullt."
#. mail:no-delete-folder primary
-#: ../mail/mail-errors.xml.h:115
+#: mail/mail-errors.xml.h:115
msgid "Cannot delete folder \"{0}\"."
msgstr "I pamundur eleminimi i kartelës \"{0}\"."
#. mail:no-delete-special-folder primary
-#: ../mail/mail-errors.xml.h:119
+#: mail/mail-errors.xml.h:119
msgid "Cannot delete system folder \"{0}\"."
msgstr "E pamundur fshirja e kartelës së sistemit \"{0}\"."
#. mail:no-delete-special-folder secondary
#. mail:no-rename-special-folder secondary
-#: ../mail/mail-errors.xml.h:121 ../mail/mail-errors.xml.h:125
+#: mail/mail-errors.xml.h:121 mail/mail-errors.xml.h:125
msgid ""
"System folders are required for Ximian Evolution to function correctly and "
"cannot be renamed, moved, or deleted."
@@ -13287,22 +13208,22 @@ msgstr ""
"ato nuk mund të riemërtohen, lëvizen, apo eleminohen."
#. mail:no-rename-special-folder primary
-#: ../mail/mail-errors.xml.h:123
+#: mail/mail-errors.xml.h:123
msgid "Cannot rename or move system folder \"{0}\"."
msgstr "I pamundur riemërtimi apo lëvizja e kartelës së sistemit \"{0}\"."
#. mail:ask-delete-folder title
-#: ../mail/mail-errors.xml.h:127
+#: mail/mail-errors.xml.h:127
msgid "Delete \"{0}\"?"
msgstr "Eleminoj \"{0}\"?"
#. mail:ask-delete-folder primary
-#: ../mail/mail-errors.xml.h:129
+#: mail/mail-errors.xml.h:129
msgid "Really delete folder \"{0}\" and all of its subfolders?"
msgstr "Me të vërtetë eleminon kartelën \"{0}\" me të gjitha nënkartelat e saj?"
#. mail:ask-delete-folder secondary
-#: ../mail/mail-errors.xml.h:131
+#: mail/mail-errors.xml.h:131
msgid ""
"If you delete the folder, all of its contents and its subfolders contents "
"will be deleted permanently."
@@ -13312,136 +13233,136 @@ msgstr ""
#. mail:no-rename-folder-exists primary
#. mail:no-rename-folder primary
-#: ../mail/mail-errors.xml.h:133 ../mail/mail-errors.xml.h:137
+#: mail/mail-errors.xml.h:133 mail/mail-errors.xml.h:137
msgid "Cannot rename \"{0}\" to \"{1}\"."
msgstr "I pamundur riemërtimi i \"{0}\" në \"{1}\"."
#. mail:no-rename-folder-exists secondary
#. mail:vfolder-notunique secondary
-#: ../mail/mail-errors.xml.h:135 ../mail/mail-errors.xml.h:197
+#: mail/mail-errors.xml.h:135 mail/mail-errors.xml.h:197
msgid "A folder named \"{1}\" already exists. Please use a different name."
msgstr "Një kartelë me emër \"{0}\" ekziston. Ju lutem zgjidhni një emër tjetër."
#. mail:no-rename-folder secondary
-#: ../mail/mail-errors.xml.h:139
+#: mail/mail-errors.xml.h:139
msgid "Because \"{2}\"."
msgstr "Sepse \"{2}\"."
#. mail:no-move-folder-nostore primary
#. mail:no-move-folder-to-nostore primary
-#: ../mail/mail-errors.xml.h:141 ../mail/mail-errors.xml.h:145
+#: mail/mail-errors.xml.h:141 mail/mail-errors.xml.h:145
msgid "Cannot move folder \"{0}\" to \"{1}\"."
msgstr "E pamundur lëvizja e kartelës \"{0}\" në \"{1}\"."
#. mail:no-move-folder-nostore secondary
#. mail:no-copy-folder-nostore secondary
-#: ../mail/mail-errors.xml.h:143 ../mail/mail-errors.xml.h:151
+#: mail/mail-errors.xml.h:143 mail/mail-errors.xml.h:151
msgid "Cannot open source \"{2}\"."
msgstr "E pamundur hapja e burimit \"{2}\"."
#. mail:no-move-folder-to-nostore secondary
#. mail:no-copy-folder-to-nostore secondary
-#: ../mail/mail-errors.xml.h:147 ../mail/mail-errors.xml.h:155
+#: mail/mail-errors.xml.h:147 mail/mail-errors.xml.h:155
msgid "Cannot open target \"{2}\"."
msgstr "E pamundur hapja e objektivit \"{2}\"."
#. mail:no-copy-folder-nostore primary
#. mail:no-copy-folder-to-nostore primary
-#: ../mail/mail-errors.xml.h:149 ../mail/mail-errors.xml.h:153
+#: mail/mail-errors.xml.h:149 mail/mail-errors.xml.h:153
msgid "Cannot copy folder \"{0}\" to \"{1}\"."
msgstr "I pamundur kopjimi i kartelës \"{0}\" tek \"{1}\"."
#. mail:no-create-folder-nostore primary
-#: ../mail/mail-errors.xml.h:157
+#: mail/mail-errors.xml.h:157
msgid "Cannot create folder \"{0}\"."
msgstr "I pamundur krijimi i kartelës \"{0}\"."
#. mail:no-create-folder-nostore secondary
-#: ../mail/mail-errors.xml.h:159
+#: mail/mail-errors.xml.h:159
msgid "Cannot open source \"{1}\""
msgstr "E pamundur hapja e burimit \"{1}\""
#. mail:account-incomplete primary
#. mail:account-notunique primary
-#: ../mail/mail-errors.xml.h:161 ../mail/mail-errors.xml.h:165
+#: mail/mail-errors.xml.h:161 mail/mail-errors.xml.h:165
msgid "Cannot save changes to account."
msgstr "E pamundur ruajtja e ndryshimeve në llogari."
#. mail:account-incomplete secondary
-#: ../mail/mail-errors.xml.h:163
+#: mail/mail-errors.xml.h:163
msgid "You have not filled in all of the required information."
msgstr "Nuk keni plotësuar të gjitha informacionet e kërkuara."
#. mail:account-notunique secondary
-#: ../mail/mail-errors.xml.h:167
+#: mail/mail-errors.xml.h:167
msgid "You may not create two accounts with the same name."
msgstr "Nuk mund të krijohen dy llogari me të njëjtin emër."
#. mail:ask-delete-account title
-#: ../mail/mail-errors.xml.h:169
+#: mail/mail-errors.xml.h:169
msgid "Delete account?"
msgstr "Eleminon llogarinë?"
#. mail:ask-delete-account primary
-#: ../mail/mail-errors.xml.h:171
+#: mail/mail-errors.xml.h:171
msgid "Are you sure you want to delete this account?"
msgstr "Jeni i sigurt që dëshironi të eleminoni këtë llogari?"
#. mail:ask-delete-account secondary
-#: ../mail/mail-errors.xml.h:173
+#: mail/mail-errors.xml.h:173
msgid "If you proceed, the account information will be deleted permanently."
msgstr "Nëse vazhdoni, informacionet e llogarisë do të fshihen përgjithmonë."
-#: ../mail/mail-errors.xml.h:174
+#: mail/mail-errors.xml.h:174
msgid "Don't delete"
msgstr "Mos elemino"
#. mail:no-save-signature primary
-#: ../mail/mail-errors.xml.h:176
+#: mail/mail-errors.xml.h:176
msgid "Could not save signature file."
msgstr "E pamundur ruajtja e file të firmës."
#. mail:no-save-signature secondary
-#: ../mail/mail-errors.xml.h:178
+#: mail/mail-errors.xml.h:178
msgid "Because \"{0}\"."
msgstr "Sepse \"{0}\"."
#. mail:signature-notscript primary
-#: ../mail/mail-errors.xml.h:180
+#: mail/mail-errors.xml.h:180
msgid "Cannot set signature script \"{0}\"."
msgstr "I pamundur caktimi i skriptit të firmës \"{0}\"."
#. mail:signature-notscript secondary
-#: ../mail/mail-errors.xml.h:182
+#: mail/mail-errors.xml.h:182
msgid "The script file must exist and be executable."
msgstr "File me script duhet të ekzistojë dhe duhet të jetë i ekzekutueshëm."
#. mail:ask-signature-changed title
-#: ../mail/mail-errors.xml.h:184
+#: mail/mail-errors.xml.h:184
msgid "Discard changed?"
msgstr "Anullon ndryshimet?"
#. mail:ask-signature-changed primary
-#: ../mail/mail-errors.xml.h:186
+#: mail/mail-errors.xml.h:186
msgid "Do you wish to save your changes?"
msgstr "Dëshiron të ruash ndryshimet e kryera?"
#. mail:ask-signature-changed secondary
-#: ../mail/mail-errors.xml.h:188
+#: mail/mail-errors.xml.h:188
msgid "This signature has been changed, but has not been saved."
msgstr "Firma është ndryshuar, por nuk është ruajtur."
-#: ../mail/mail-errors.xml.h:189
+#: mail/mail-errors.xml.h:189
msgid "_Discard changes"
msgstr "_Anullo ndryshimet"
#. mail:vfolder-notexist primary
-#: ../mail/mail-errors.xml.h:191
+#: mail/mail-errors.xml.h:191
msgid "Cannot edit vFolder \"{0}\" as it does not exist."
msgstr "I pamundur ndryshimi i kartelës virtuale \"{0}\" m.q.s. nuk ekziston."
#. mail:vfolder-notexist secondary
-#: ../mail/mail-errors.xml.h:193
+#: mail/mail-errors.xml.h:193
msgid ""
"This folder may have been added implicitly, go to the vFolder editor to add "
"it explicitly, if required."
@@ -13450,17 +13371,17 @@ msgstr ""
"virtuale për t'a shtuar si duhet, nëse ka nevojë."
#. mail:vfolder-notunique primary
-#: ../mail/mail-errors.xml.h:195
+#: mail/mail-errors.xml.h:195
msgid "Cannot add vFolder \"{0}\"."
msgstr "I pamundur shtimi i kartelës virtuale \"{0}\"."
#. mail:vfolder-updated primary
-#: ../mail/mail-errors.xml.h:199
+#: mail/mail-errors.xml.h:199
msgid "vFolders automatically updated."
msgstr "vKartelat u përditësua automatikisht."
#. mail:vfolder-updated secondary
-#: ../mail/mail-errors.xml.h:201
+#: mail/mail-errors.xml.h:201
msgid ""
"The following vFolder(s):\n"
"{0}\n"
@@ -13475,12 +13396,12 @@ msgstr ""
"Dhe u përditësua."
#. mail:filter-updated primary
-#: ../mail/mail-errors.xml.h:207
+#: mail/mail-errors.xml.h:207
msgid "Mail filters automatically updated."
msgstr "Filtrat e mesazheve u rifreskuan automatikisht."
#. mail:filter-updated secondary
-#: ../mail/mail-errors.xml.h:209
+#: mail/mail-errors.xml.h:209
msgid ""
"The following filter rule(s):\n"
"{0}\n"
@@ -13495,27 +13416,27 @@ msgstr ""
"Dhe u përditësuan."
#. mail:no-folder primary
-#: ../mail/mail-errors.xml.h:215
+#: mail/mail-errors.xml.h:215
msgid "Missing folder."
msgstr "Kartela mungon."
#. mail:no-folder secondary
-#: ../mail/mail-errors.xml.h:217
+#: mail/mail-errors.xml.h:217
msgid "You must specify a folder."
msgstr "Ju duhet të përcaktoni një kartelë."
#. mail:no-name-vfolder secondary
-#: ../mail/mail-errors.xml.h:221
+#: mail/mail-errors.xml.h:221
msgid "You must name this vFolder."
msgstr "Duhet t'i jepni një emër kësaj vKartele."
#. mail:vfolder-no-source primary
-#: ../mail/mail-errors.xml.h:223
+#: mail/mail-errors.xml.h:223
msgid "No sources selected."
msgstr "Nuk është zgjedhur burimi."
#. mail:vfolder-no-source secondary
-#: ../mail/mail-errors.xml.h:225
+#: mail/mail-errors.xml.h:225
msgid ""
"You must specify at least one folder as a source.\n"
"Either by selecting the folders individually, and/or by selecting\n"
@@ -13526,12 +13447,12 @@ msgstr ""
"të gjitha kartelat lokale, të gjitha kartelat remote, ose së bashku."
#. mail:ask-migrate-existing primary
-#: ../mail/mail-errors.xml.h:229
+#: mail/mail-errors.xml.h:229
msgid "Problem migrating old mail folder \"{0}\"."
msgstr "Problem gjatë migrimit të kartelës së vjetër së postës \"{0}\"."
#. mail:ask-migrate-existing secondary
-#: ../mail/mail-errors.xml.h:231
+#: mail/mail-errors.xml.h:231
msgid ""
"A non-empty folder at \"{1}\" already exists.\n"
"\n"
@@ -13543,25 +13464,25 @@ msgstr ""
"Mund të vendosni t'a shpërfillni këtë kartelë, mbishkruani apo shtoni "
"përmbajtjen e saj, ose të dilni.\n"
-#: ../mail/mail-errors.xml.h:235
+#: mail/mail-errors.xml.h:235
msgid "Ignore"
msgstr "Shpërfill"
-#: ../mail/mail-errors.xml.h:236 ../widgets/misc/e-system-errors.xml.h:7
+#: mail/mail-errors.xml.h:236 widgets/misc/e-system-errors.xml.h:7
msgid "_Overwrite"
msgstr "_Mbishkruaj"
-#: ../mail/mail-errors.xml.h:237
+#: mail/mail-errors.xml.h:237
msgid "_Append"
msgstr "_Shto (në fund)"
#. mail:no-load-license primary
-#: ../mail/mail-errors.xml.h:239
+#: mail/mail-errors.xml.h:239
msgid "Unable to read license file."
msgstr "I pamundur leximi i file të liçencës."
#. mail:no-load-license secondary
-#: ../mail/mail-errors.xml.h:241
+#: mail/mail-errors.xml.h:241
msgid ""
"Cannot read the license file \"{0}\", due to an\n"
" installation problem. You will not be able to use this provider "
@@ -13574,22 +13495,22 @@ msgstr ""
" të pranoni liçencën e tij."
#. mail:checking-service title
-#: ../mail/mail-errors.xml.h:245
+#: mail/mail-errors.xml.h:245
msgid "Querying server"
msgstr "Duke pyetur serverin"
#. mail:checking-service primary
-#: ../mail/mail-errors.xml.h:247
+#: mail/mail-errors.xml.h:247
msgid "Please wait."
msgstr "Ju lutem prisni."
#. mail:checking-service secondary
-#: ../mail/mail-errors.xml.h:249
+#: mail/mail-errors.xml.h:249
msgid "Querying server for a list of supported authentication mechanisms."
msgstr "Duke pyetur serverin për listën me mekanizmat e suportuar të autentifikimit."
#. mail:gw-accountsetup-error primary
-#: ../mail/mail-errors.xml.h:251
+#: mail/mail-errors.xml.h:251
msgid ""
"Unable to connect to the GroupWise\n"
"server."
@@ -13598,7 +13519,7 @@ msgstr ""
"GroupWise."
#. mail:gw-accountsetup-error secondary
-#: ../mail/mail-errors.xml.h:254
+#: mail/mail-errors.xml.h:254
msgid ""
"\n"
"Please check your account settings and try again.\n"
@@ -13606,20 +13527,20 @@ msgstr ""
"\n"
"Kontrollo rregullimet e llogarisë suaj dhe riprovo.\n"
-#: ../mail/mail-folder-cache.c:813
+#: mail/mail-folder-cache.c:813
#, c-format
msgid "Pinging %s"
msgstr "Duke ping-uar %s"
-#: ../mail/mail-ops.c:101
+#: mail/mail-ops.c:101
msgid "Filtering Folder"
msgstr "Duke filtruar kartelën"
-#: ../mail/mail-ops.c:262
+#: mail/mail-ops.c:262
msgid "Fetching Mail"
msgstr "Duke marrë postën"
-#: ../mail/mail-ops.c:542 ../mail/mail-ops.c:585
+#: mail/mail-ops.c:542 mail/mail-ops.c:585
#, c-format
msgid ""
"Failed to append to %s: %s\n"
@@ -13629,119 +13550,119 @@ msgstr ""
"Po shtoj tek kartela lokale `Dërguar`."
#. sending mail, filtering failed
-#: ../mail/mail-ops.c:564
+#: mail/mail-ops.c:564
#, c-format
msgid "Failed to apply outgoing filters: %s"
msgstr "I pamundur aplikimi i filtrimit në dalje: %s"
-#: ../mail/mail-ops.c:602
+#: mail/mail-ops.c:602
#, c-format
msgid "Failed to append to local `Sent' folder: %s"
msgstr "I pamundur shtimi tek kartela lokale `Dërguar': %s"
-#: ../mail/mail-ops.c:702
+#: mail/mail-ops.c:702
#, c-format
msgid "Sending message %d of %d"
msgstr "Duke dërguar mesazhin %d në %d"
-#: ../mail/mail-ops.c:727
+#: mail/mail-ops.c:727
#, c-format
msgid "Failed to send %d of %d messages"
msgstr "Dërgimi i %d nga %d mesazhe dështoi"
-#: ../mail/mail-ops.c:729 ../mail/mail-send-recv.c:613
+#: mail/mail-ops.c:729 mail/mail-send-recv.c:613
msgid "Cancelled."
msgstr "U anullua."
-#: ../mail/mail-ops.c:731
+#: mail/mail-ops.c:731
msgid "Complete."
msgstr "U plotësua."
-#: ../mail/mail-ops.c:828
+#: mail/mail-ops.c:828
msgid "Saving message to folder"
msgstr "Duke ruajtur mesazhin tek kartela"
-#: ../mail/mail-ops.c:913
+#: mail/mail-ops.c:913
#, c-format
msgid "Moving messages to %s"
msgstr "Duke lëvizur mesazhet tek %s"
-#: ../mail/mail-ops.c:913
+#: mail/mail-ops.c:913
#, c-format
msgid "Copying messages to %s"
msgstr "Duke kopjuar mesazhet tek %s"
-#: ../mail/mail-ops.c:1139
+#: mail/mail-ops.c:1139
msgid "Forwarded messages"
msgstr "Mesazhet e përcjellë"
-#: ../mail/mail-ops.c:1182
+#: mail/mail-ops.c:1182
#, c-format
msgid "Opening folder %s"
msgstr "Duke hapur kartelën %s"
-#: ../mail/mail-ops.c:1254
+#: mail/mail-ops.c:1254
#, c-format
msgid "Opening store %s"
msgstr "Duke hapur arkivin %s"
-#: ../mail/mail-ops.c:1332
+#: mail/mail-ops.c:1332
#, c-format
msgid "Removing folder %s"
msgstr "Duke hequr kartelën %s"
-#: ../mail/mail-ops.c:1426
+#: mail/mail-ops.c:1426
#, c-format
msgid "Storing folder '%s'"
msgstr "Duke arkivuar kartelën '%s'"
-#: ../mail/mail-ops.c:1491
+#: mail/mail-ops.c:1491
#, c-format
msgid "Expunging and storing account '%s'"
msgstr "Duke pastruar dhe magazinuar llogarinë '%s'"
-#: ../mail/mail-ops.c:1492
+#: mail/mail-ops.c:1492
#, c-format
msgid "Storing account '%s'"
msgstr "Duke magazinuar llogarinë '%s'"
-#: ../mail/mail-ops.c:1547
+#: mail/mail-ops.c:1547
msgid "Refreshing folder"
msgstr "Duke rifreskuar kartelën"
-#: ../mail/mail-ops.c:1583 ../mail/mail-ops.c:1634
+#: mail/mail-ops.c:1583 mail/mail-ops.c:1634
msgid "Expunging folder"
msgstr "Duke pastruar kartelën"
-#: ../mail/mail-ops.c:1631
+#: mail/mail-ops.c:1631
#, c-format
msgid "Emptying trash in '%s'"
msgstr "Duke zbrazur koshin në '%s'"
-#: ../mail/mail-ops.c:1632
+#: mail/mail-ops.c:1632
msgid "Local Folders"
msgstr "Kartelat lokale"
-#: ../mail/mail-ops.c:1715
+#: mail/mail-ops.c:1715
#, c-format
msgid "Retrieving message %s"
msgstr "Duke tërhequr mesazhin %s"
-#: ../mail/mail-ops.c:1787
+#: mail/mail-ops.c:1787
#, c-format
msgid "Retrieving %d message"
msgid_plural "Retrieving %d messages"
msgstr[0] "Duke tërhequr %d mesazh"
msgstr[1] "Duke tërhequr %d mesazhe"
-#: ../mail/mail-ops.c:1873
+#: mail/mail-ops.c:1873
#, c-format
msgid "Saving %d message"
msgid_plural "Saving %d messsages"
msgstr[0] "Duke ruajtur %d mesazh"
msgstr[1] "Duke ruajtur %d mesazhe"
-#: ../mail/mail-ops.c:1923
+#: mail/mail-ops.c:1923
#, c-format
msgid ""
"Unable to create output file: %s\n"
@@ -13750,7 +13671,7 @@ msgstr ""
"I pamundur krijimi i file në dalje: %s\n"
" %s"
-#: ../mail/mail-ops.c:1951
+#: mail/mail-ops.c:1951
#, c-format
msgid ""
"Error saving messages to: %s:\n"
@@ -13759,11 +13680,11 @@ msgstr ""
"Gabim gjatë ruajtjes së mesazheve në: %s\n"
" %s"
-#: ../mail/mail-ops.c:2022
+#: mail/mail-ops.c:2022
msgid "Saving attachment"
msgstr "Duke ruajtur të bashkangjiturin"
-#: ../mail/mail-ops.c:2034
+#: mail/mail-ops.c:2034
#, c-format
msgid ""
"Cannot create output file: %s:\n"
@@ -13772,426 +13693,425 @@ msgstr ""
"I pamundur krijimi i file në dalje: %s:\n"
" %s"
-#: ../mail/mail-ops.c:2044
+#: mail/mail-ops.c:2044
#, c-format
msgid "Could not write data: %s"
msgstr "I pamundur shkrimi i të dhënave: %s"
-#: ../mail/mail-ops.c:2194
+#: mail/mail-ops.c:2194
#, c-format
msgid "Disconnecting from %s"
msgstr "Duke u shkëputur nga %s"
-#: ../mail/mail-ops.c:2194
+#: mail/mail-ops.c:2194
#, c-format
msgid "Reconnecting to %s"
msgstr "Duke u rilidhur me %s"
-#: ../mail/mail-ops.c:2310
+#: mail/mail-ops.c:2310
msgid "Checking Service"
msgstr "Kontrolli i shërbimit"
-#: ../mail/mail-send-recv.c:158
+#: mail/mail-send-recv.c:158
msgid "Cancelling..."
msgstr "Duke fshirë..."
-#: ../mail/mail-send-recv.c:265
+#: mail/mail-send-recv.c:265
#, c-format
msgid "Server: %s, Type: %s"
msgstr "Serveri: %s, Lloji: %s"
-#: ../mail/mail-send-recv.c:267
+#: mail/mail-send-recv.c:267
#, c-format
msgid "Path: %s, Type: %s"
msgstr "Pozicioni: %s, Lloji: %s"
-#: ../mail/mail-send-recv.c:269
+#: mail/mail-send-recv.c:269
#, c-format
msgid "Type: %s"
msgstr "Lloji: %s"
-#: ../mail/mail-send-recv.c:320
+#: mail/mail-send-recv.c:320
msgid "Send & Receive Mail"
msgstr "Dërgo & Merr Postën"
-#: ../mail/mail-send-recv.c:327
+#: mail/mail-send-recv.c:327
msgid "Cancel _All"
msgstr "Anullo _gjithçka"
-#: ../mail/mail-send-recv.c:416
+#: mail/mail-send-recv.c:416
msgid "Updating..."
msgstr "Duke rifreskuar të dhënat..."
-#: ../mail/mail-send-recv.c:416 ../mail/mail-send-recv.c:468
+#: mail/mail-send-recv.c:416 mail/mail-send-recv.c:468
msgid "Waiting..."
msgstr "Në pritje..."
-#: ../mail/mail-session.c:208
+#: mail/mail-session.c:208
#, c-format
msgid "Enter Password for %s"
msgstr "Shkruaj fjalëkalimin për %s"
-#: ../mail/mail-session.c:210
+#: mail/mail-session.c:210
msgid "Enter Password"
msgstr "Shkruaj fjalëkalimin"
-#: ../mail/mail-session.c:239
+#: mail/mail-session.c:239
msgid "User canceled operation."
msgstr "Veprim i anulluar nga përdoruesi."
-#: ../mail/mail-signature-editor.c:372
+#: mail/mail-signature-editor.c:372
msgid "Edit signature"
msgstr "Ndrysho firmën"
-#: ../mail/mail-signature-editor.c:412
+#: mail/mail-signature-editor.c:412
msgid "Enter a name for this signature."
msgstr "Shkruaj një emër për këtë firmë."
-#: ../mail/mail-signature-editor.c:415
-#: ../plugins/shared-folder/properties.glade.h:5
+#: mail/mail-signature-editor.c:415 plugins/shared-folder/properties.glade.h:5
msgid "Name:"
msgstr "Emri:"
-#: ../mail/mail-tools.c:115
+#: mail/mail-tools.c:115
#, c-format
msgid "Could not create spool directory `%s': %s"
msgstr "I pamundur krijimi i directory spool `%s': %s"
-#: ../mail/mail-tools.c:142
+#: mail/mail-tools.c:142
#, c-format
msgid "Trying to movemail a non-mbox source `%s'"
msgstr "Përpjekje për të lëvizur postën e një burimi jo-mbox `%s'"
-#: ../mail/mail-tools.c:277
+#: mail/mail-tools.c:277
#, c-format
msgid "Forwarded message - %s"
msgstr "Mesazhi i përcjellë - %s"
-#: ../mail/mail-tools.c:279
+#: mail/mail-tools.c:279
msgid "Forwarded message"
msgstr "Mesazhi i përcjellë"
-#: ../mail/mail-tools.c:320
+#: mail/mail-tools.c:320
#, c-format
msgid "Invalid folder: `%s'"
msgstr "Kartelë e pavlefshme: `%s'"
-#: ../mail/mail-vfolder.c:90
+#: mail/mail-vfolder.c:90
#, c-format
msgid "Setting up vFolder: %s"
msgstr "Rregullimi i kartelës vFolder: %s"
-#: ../mail/mail-vfolder.c:239
+#: mail/mail-vfolder.c:239
#, c-format
msgid "Updating vFolders for '%s:%s'"
msgstr "Duke rifreskuar kartelat virtuale për '%s:%s'"
-#: ../mail/mail-vfolder.c:246
+#: mail/mail-vfolder.c:246
#, c-format
msgid "Updating vFolders for '%s'"
msgstr "Duke rifreskuar kartelat virtuale për '%s'"
-#: ../mail/mail-vfolder.c:1008
+#: mail/mail-vfolder.c:1008
msgid "Edit vFolder"
msgstr "Ndrysho kartelën vFolder"
-#: ../mail/mail-vfolder.c:1092
+#: mail/mail-vfolder.c:1092
msgid "New vFolder"
msgstr "Kartelë e re vFolder"
-#: ../mail/message-list.c:994
+#: mail/message-list.c:994
msgid "Unseen"
msgstr "Paparë"
-#: ../mail/message-list.c:995
+#: mail/message-list.c:995
msgid "Seen"
msgstr "Shikuar"
-#: ../mail/message-list.c:996
+#: mail/message-list.c:996
msgid "Answered"
msgstr "Përgjigjur"
-#: ../mail/message-list.c:997
+#: mail/message-list.c:997
msgid "Multiple Unseen Messages"
msgstr "Mesazhe shumëfishë të palexuar"
-#: ../mail/message-list.c:998
+#: mail/message-list.c:998
msgid "Multiple Messages"
msgstr "Mesazhe shumëfishë"
-#: ../mail/message-list.c:1002
+#: mail/message-list.c:1002
msgid "Lowest"
msgstr "Më i ulti"
-#: ../mail/message-list.c:1003
+#: mail/message-list.c:1003
msgid "Lower"
msgstr "Inferior"
-#: ../mail/message-list.c:1007
+#: mail/message-list.c:1007
msgid "Higher"
msgstr "Më i lartë"
-#: ../mail/message-list.c:1008
+#: mail/message-list.c:1008
msgid "Highest"
msgstr "Më i larti"
-#: ../mail/message-list.c:1336
+#: mail/message-list.c:1336
msgid "?"
msgstr "?"
#. strftime format of a time,
#. in 12-hour format, without seconds.
-#: ../mail/message-list.c:1343 ../plugins/itip-formatter/itip-view.c:189
+#: mail/message-list.c:1343 plugins/itip-formatter/itip-view.c:189
msgid "Today %l:%M %p"
msgstr "Sot %l:%M %p"
-#: ../mail/message-list.c:1352
+#: mail/message-list.c:1352
msgid "Yesterday %l:%M %p"
msgstr "Dje %l:%M %p"
-#: ../mail/message-list.c:1364
+#: mail/message-list.c:1364
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
-#: ../mail/message-list.c:1372
+#: mail/message-list.c:1372
msgid "%b %d %l:%M %p"
msgstr "%b %d %l:%M %p"
-#: ../mail/message-list.c:1374
+#: mail/message-list.c:1374
msgid "%b %d %Y"
msgstr "%b %d %Y"
-#: ../mail/message-list.c:2041
+#: mail/message-list.c:2041
msgid "Message List"
msgstr "Lista e mesazheve"
-#: ../mail/message-list.c:3384
+#: mail/message-list.c:3384
msgid "Generating message list"
msgstr "Duke krijuar listën e mesazheve"
-#: ../mail/message-list.etspec.h:3
+#: mail/message-list.etspec.h:3
msgid "Due By"
msgstr "Për shkak të"
-#: ../mail/message-list.etspec.h:4
+#: mail/message-list.etspec.h:4
msgid "Flag Status"
msgstr "Gjendja e flamurëve"
-#: ../mail/message-list.etspec.h:5
+#: mail/message-list.etspec.h:5
msgid "Flagged"
msgstr "Me flamurë"
-#: ../mail/message-list.etspec.h:6
+#: mail/message-list.etspec.h:6
msgid "Follow Up Flag"
msgstr "Flamuri \"ndiq rrjedhën\""
-#: ../mail/message-list.etspec.h:8
+#: mail/message-list.etspec.h:8
msgid "Original Location"
msgstr "Vendodhja orgjinale"
-#: ../mail/message-list.etspec.h:9
+#: mail/message-list.etspec.h:9
msgid "Received"
msgstr "Marrë"
-#: ../mail/message-list.etspec.h:11
+#: mail/message-list.etspec.h:11
msgid "Size"
msgstr "Madhësia"
-#: ../mail/message-tag-followup.c:74
+#: mail/message-tag-followup.c:74
msgid "Call"
msgstr "Thirrje"
-#: ../mail/message-tag-followup.c:75
+#: mail/message-tag-followup.c:75
msgid "Do Not Forward"
msgstr "Mos përcill"
-#: ../mail/message-tag-followup.c:76
+#: mail/message-tag-followup.c:76
msgid "Follow-Up"
msgstr "Vazhdon"
-#: ../mail/message-tag-followup.c:77
+#: mail/message-tag-followup.c:77
msgid "For Your Information"
msgstr "Për informacion"
-#: ../mail/message-tag-followup.c:78 ../ui/evolution-mail-message.xml.h:42
+#: mail/message-tag-followup.c:78 ui/evolution-mail-message.xml.h:42
msgid "Forward"
msgstr "Vazhdo"
-#: ../mail/message-tag-followup.c:79
+#: mail/message-tag-followup.c:79
msgid "No Response Necessary"
msgstr "Nuk ka nevojë të përgjigjesh"
-#: ../mail/message-tag-followup.c:81 ../ui/evolution-mail-message.xml.h:85
+#: mail/message-tag-followup.c:81 ui/evolution-mail-message.xml.h:85
msgid "Reply"
msgstr "Përgjigju"
-#: ../mail/message-tag-followup.c:82 ../ui/evolution-mail-message.xml.h:86
+#: mail/message-tag-followup.c:82 ui/evolution-mail-message.xml.h:86
msgid "Reply to All"
msgstr "Përgjigju të gjithëve"
-#: ../mail/message-tag-followup.c:83
+#: mail/message-tag-followup.c:83
msgid "Review"
msgstr "Pamja e parë"
-#: ../mail/searchtypes.xml.h:1
+#: mail/searchtypes.xml.h:1
msgid "Body contains"
msgstr "Trupi përmban"
-#: ../mail/searchtypes.xml.h:2
+#: mail/searchtypes.xml.h:2
msgid "Message contains"
msgstr "Mesazhi përmban"
-#: ../mail/searchtypes.xml.h:3
+#: mail/searchtypes.xml.h:3
msgid "Recipients contain"
msgstr "Marrësit përmban"
-#: ../mail/searchtypes.xml.h:4
+#: mail/searchtypes.xml.h:4
msgid "Sender contains"
msgstr "Dërguesi përmban"
-#: ../mail/searchtypes.xml.h:5
+#: mail/searchtypes.xml.h:5
msgid "Subject contains"
msgstr "Subjekti përmban"
-#: ../mail/searchtypes.xml.h:6
+#: mail/searchtypes.xml.h:6
msgid "Subject or Sender contains"
msgstr "Subjekti apo Dërguesi përmban"
-#: ../plugins/backup-restore/backup-restore.c:51
+#: plugins/backup-restore/backup-restore.c:51
msgid "Select name of Evolution archive"
msgstr "Zgjidh emrin e arkivit të Evolution"
-#: ../plugins/backup-restore/backup-restore.c:61
+#: plugins/backup-restore/backup-restore.c:61
msgid "_Restart Evolution after backup"
msgstr "_Rinis Evolution mbas ruajtjes së kopjes së sigurisë"
-#: ../plugins/backup-restore/backup-restore.c:89
+#: plugins/backup-restore/backup-restore.c:89
msgid "Select Evolution archive to restore"
msgstr "Zgjidh arkivin e Evolution që duhet rikthyer"
-#: ../plugins/backup-restore/backup-restore.c:97
+#: plugins/backup-restore/backup-restore.c:97
msgid "_Restart Evolution after restore"
msgstr "_Rinis Evolution mbas rikthimit"
-#: ../plugins/backup-restore/backup.c:109
+#: plugins/backup-restore/backup.c:109
msgid "Backup Evolution directory"
msgstr "Backup kartela e Evolution"
-#: ../plugins/backup-restore/backup.c:111
+#: plugins/backup-restore/backup.c:111
msgid "Restore Evolution directory"
msgstr "Rikthe kartelën e Evolution"
-#: ../plugins/backup-restore/backup.c:113
+#: plugins/backup-restore/backup.c:113
msgid "Check Evolution archive"
msgstr "Kontrollo arkivin e Evolution"
-#: ../plugins/backup-restore/backup.c:115
+#: plugins/backup-restore/backup.c:115
msgid "Restart Evolution"
msgstr "Rinis Evolution"
-#: ../plugins/backup-restore/org-gnome-backup-restore.xml.h:1
+#: plugins/backup-restore/org-gnome-backup-restore.xml.h:1
msgid "Backup Settings..."
msgstr "Rregullimet e backup..."
-#: ../plugins/backup-restore/org-gnome-backup-restore.xml.h:2
+#: plugins/backup-restore/org-gnome-backup-restore.xml.h:2
msgid "Backup and restore Evolution data and settings"
msgstr "Bën backup dhe rikthen të dhënat dhe rregullimet e Evolution"
-#: ../plugins/backup-restore/org-gnome-backup-restore.xml.h:3
+#: plugins/backup-restore/org-gnome-backup-restore.xml.h:3
msgid "Restore Settings..."
msgstr "Rikthe rregullimet..."
-#: ../plugins/bbdb/bbdb.c:388
+#: plugins/bbdb/bbdb.c:388
msgid "Automatic Contacts"
msgstr "Kontakte automatike"
-#: ../plugins/bbdb/bbdb.c:397
+#: plugins/bbdb/bbdb.c:397
msgid "<span weight=\"bold\">Automatic Contacts</span>"
msgstr "<span weight=\"bold\">Kontakte automatike</span>"
#. Enable BBDB checkbox
-#: ../plugins/bbdb/bbdb.c:410
+#: plugins/bbdb/bbdb.c:410
msgid "_Automatically create entries in the addressbook when responding to mail"
msgstr "_Automatikisht të krijohen zërat në rubrikë kur i jipet përgjigje një email-i"
-#: ../plugins/bbdb/bbdb.c:428
+#: plugins/bbdb/bbdb.c:428
msgid "<span weight=\"bold\">Instant Messaging Contacts</span>"
msgstr "<span weight=\"bold\">Kontaktet e mesazheve të menjëhershëm</span>"
#. Enable Gaim Checkbox
-#: ../plugins/bbdb/bbdb.c:441
+#: plugins/bbdb/bbdb.c:441
msgid ""
"Periodically synchronize contact information and images from my _instant "
"messenger"
msgstr ""
-"Sinkronizim periodik i informacioneve dhe figurave të kontakteve nga mesazhet "
-"e _menjëhershëm"
+"Sinkronizim periodik i informacioneve dhe figurave të kontakteve nga "
+"mesazhet e _menjëhershëm"
#. Synchronize now button.
-#: ../plugins/bbdb/bbdb.c:448
+#: plugins/bbdb/bbdb.c:448
msgid "Synchronize with _buddy list now"
msgstr "Sinkronizo tani listën _buddy"
-#: ../plugins/calendar-weather/calendar-weather.c:54
-#: ../plugins/calendar-weather/calendar-weather.c:60
+#: plugins/calendar-weather/calendar-weather.c:54
+#: plugins/calendar-weather/calendar-weather.c:60
msgid "Weather: Cloudy"
msgstr "Moti: Me re"
-#: ../plugins/calendar-weather/calendar-weather.c:61
+#: plugins/calendar-weather/calendar-weather.c:61
msgid "Weather: Fog"
msgstr "Moti: Mjegull"
-#: ../plugins/calendar-weather/calendar-weather.c:62
+#: plugins/calendar-weather/calendar-weather.c:62
msgid "Weather: Partly Cloudy"
msgstr "Moti: Pjesërisht me re"
-#: ../plugins/calendar-weather/calendar-weather.c:63
+#: plugins/calendar-weather/calendar-weather.c:63
msgid "Weather: Rain"
msgstr "Moti: Shi"
-#: ../plugins/calendar-weather/calendar-weather.c:64
+#: plugins/calendar-weather/calendar-weather.c:64
msgid "Weather: Snow"
msgstr "Moti: Borë"
-#: ../plugins/calendar-weather/calendar-weather.c:65
+#: plugins/calendar-weather/calendar-weather.c:65
msgid "Weather: Sunny"
msgstr "Moti: Me diell"
-#: ../plugins/calendar-weather/calendar-weather.c:66
+#: plugins/calendar-weather/calendar-weather.c:66
msgid "Weather: Thunderstorms"
msgstr "Moti: Stuhi me vetëtima"
-#: ../plugins/calendar-weather/calendar-weather.c:268
+#: plugins/calendar-weather/calendar-weather.c:268
msgid "Select a location"
msgstr "Zgjidh një zonë"
-#: ../plugins/calendar-weather/calendar-weather.c:655
+#: plugins/calendar-weather/calendar-weather.c:655
msgid "_Units:"
msgstr "_Njësitë:"
-#: ../plugins/calendar-weather/calendar-weather.c:662
+#: plugins/calendar-weather/calendar-weather.c:662
msgid "Metric (Celsius, cm, etc)"
msgstr "Metrike (Celsius, cm, etj.)"
-#: ../plugins/calendar-weather/calendar-weather.c:663
+#: plugins/calendar-weather/calendar-weather.c:663
msgid "Imperial (Fahrenheit, inches, etc)"
msgstr "Anglosaksone (Fahrenheit, inches, etj.)"
-#: ../plugins/default-source/default-source.c:82
+#: plugins/default-source/default-source.c:82
msgid "Mark as default folder"
msgstr "Shëno si kartela e prezgjedhur"
-#: ../plugins/default-source/default-source.c:108
+#: plugins/default-source/default-source.c:108
msgid "Mark as default folder"
msgstr "Shëno si kartela e prezgjedhur"
#. i18n: "Secure Password Authentication" is an Outlookism
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:59
+#: plugins/exchange-account-setup/exchange-account-setup.c:59
msgid "Secure Password"
msgstr "Fjalëkalim i sigurt"
#. i18n: "NTLM" probably doesn't translate
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:62
+#: plugins/exchange-account-setup/exchange-account-setup.c:62
msgid ""
"This option will connect to the Exchange server using secure password (NTLM) "
"authentication."
@@ -14199,20 +14119,20 @@ msgstr ""
"Me këtë opcion lidheni me serverin Exchange duke përdorur autentifikim me "
"fjalëkalim të sigurt (NTLM)."
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:70
+#: plugins/exchange-account-setup/exchange-account-setup.c:70
msgid "Plaintext Password"
msgstr "Fjalëkalim në tekst të thjeshtë"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:72
+#: plugins/exchange-account-setup/exchange-account-setup.c:72
msgid ""
"This option will connect to the Exchange server using standard plaintext "
"password authentication."
msgstr ""
-"Me këtë opcion do të lidheni me serverin Exchange duke përdorur autentifikimin "
-"me një fjalëkalim standart në tekst të thjeshtë."
+"Me këtë opcion do të lidheni me serverin Exchange duke përdorur "
+"autentifikimin me një fjalëkalim standart në tekst të thjeshtë."
#. Description section
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:193
+#: plugins/exchange-account-setup/exchange-account-setup.c:193
msgid ""
"The message specified below will be automatically sent to \n"
"each person who sends mail to you while you are out of the office."
@@ -14220,121 +14140,123 @@ msgstr ""
"Mesazhi i specifikuar në vazhdim do t'i dërgohet automatikisht \n"
"çdo personi që ju dërgon mail kur ju jeni jashtë zyre."
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:221
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:231
+#: plugins/exchange-account-setup/exchange-account-setup.c:221
+#: plugins/exchange-account-setup/exchange-account-setup.c:231
msgid "I am out of the office"
msgstr "Nuk jam në zyrë"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:224
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:228
+#: plugins/exchange-account-setup/exchange-account-setup.c:224
+#: plugins/exchange-account-setup/exchange-account-setup.c:228
msgid "I am in the office"
msgstr "Tani jam në zyrë"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:257
+#: plugins/exchange-account-setup/exchange-account-setup.c:257
msgid "Out of office Message:"
msgstr "Mesazhi jashtë zyre:"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:302
+#: plugins/exchange-account-setup/exchange-account-setup.c:302
msgid "Exchange Settings"
msgstr "Rregullimet e Exchange"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:448
-#: ../plugins/exchange-account-setup/exchange-ask-password.c:200
+#: plugins/exchange-account-setup/exchange-account-setup.c:448
+#: plugins/exchange-account-setup/exchange-ask-password.c:200
msgid "_OWA Url:"
msgstr "Url _OWA:"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:456
-#: ../plugins/exchange-account-setup/exchange-ask-password.c:193
+#: plugins/exchange-account-setup/exchange-account-setup.c:456
+#: plugins/exchange-account-setup/exchange-ask-password.c:193
msgid "A_uthenticate"
msgstr "A_utentikimi"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:664
+#: plugins/exchange-account-setup/exchange-account-setup.c:664
msgid "Authentication Type"
msgstr "Lloji i autentikimit"
-#: ../plugins/exchange-account-setup/exchange-account-setup.c:678
+#: plugins/exchange-account-setup/exchange-account-setup.c:678
msgid "Ch_eck for Supported Types"
msgstr "Kontrollo për lloj_et suportuar"
-#: ../plugins/folder-unsubscribe/folder-unsubscribe.c:57
+#: plugins/folder-unsubscribe/folder-unsubscribe.c:57
#, c-format
msgid "Unsubscribing from folder \"%s\""
msgstr "Duke u ç'regjistruar nga kartela \"%s\""
-#: ../plugins/groupwise-account-setup/camel-gw-listener.c:413
+#: plugins/groupwise-account-setup/camel-gw-listener.c:413
msgid "Checklist"
msgstr "Lista zgjedhjes"
-#: ../plugins/groupwise-send-options/org-gnome-compose-send-options.xml.h:1
+#: plugins/groupwise-send-options/org-gnome-compose-send-options.xml.h:1
msgid "Add Send Options to groupwise messages"
msgstr "Shtoi \"Opcione dërgimi\" mesazheve groupwise"
-#: ../plugins/groupwise-send-options/org-gnome-compose-send-options.xml.h:2
-#: ../widgets/misc/e-send-options.glade.h:20
+#: plugins/groupwise-send-options/org-gnome-compose-send-options.xml.h:2
+#: widgets/misc/e-send-options.glade.h:20
msgid "Send Options"
msgstr "Opcione dërgimi"
-#: ../plugins/itip-formatter/itip-formatter.c:704
+#: plugins/itip-formatter/itip-formatter.c:704
msgid "Unable to parse item"
msgstr "I pamundur analizimi i elementit"
-#: ../plugins/itip-formatter/itip-formatter.c:757
+#: plugins/itip-formatter/itip-formatter.c:757
#, c-format
msgid "Unable to send item to calendar '%s'. %s"
msgstr "I pamundur dërgimi i elementit kalendarit '%s'. %s"
-#: ../plugins/itip-formatter/itip-formatter.c:768
+#: plugins/itip-formatter/itip-formatter.c:768
#, c-format
msgid "Sent to calendar '%s' as accepted"
msgstr "Dërguar kalendarit «%s» si e pranuar"
-#: ../plugins/itip-formatter/itip-formatter.c:772
+#: plugins/itip-formatter/itip-formatter.c:772
#, c-format
msgid "Sent to calendar '%s' as tentative"
msgstr "Dërguar kalendarit «%s» si përpjekje"
-#: ../plugins/itip-formatter/itip-formatter.c:777
+#: plugins/itip-formatter/itip-formatter.c:777
#, c-format
msgid "Sent to calendar '%s' as declined"
msgstr "Dërguar kalendarit «%s» si e papranuar"
-#: ../plugins/itip-formatter/itip-formatter.c:782
+#: plugins/itip-formatter/itip-formatter.c:782
#, c-format
msgid "Sent to calendar '%s' as cancelled"
msgstr "Dërguar kalendarit «%s» si e anulluar"
-#: ../plugins/itip-formatter/itip-formatter.c:833
+#: plugins/itip-formatter/itip-formatter.c:833
msgid "Attendee status could not be updated because the status is invalid"
msgstr ""
"Gjendja e pjesmarrësit nuk mund të rifreskohet për shkak të një gjendje të "
"pavlefshme"
-#: ../plugins/itip-formatter/itip-formatter.c:844
+#: plugins/itip-formatter/itip-formatter.c:844
#, c-format
msgid "Unable to update attendee. %s"
msgstr "I pamundur rifreskimi i pjesmarrësit. %s"
-#: ../plugins/itip-formatter/itip-formatter.c:848
+#: plugins/itip-formatter/itip-formatter.c:848
msgid "Attendee status updated"
msgstr "Gjendja e pjesmarrësit u rifreskua"
-#: ../plugins/itip-formatter/itip-formatter.c:973
+#: plugins/itip-formatter/itip-formatter.c:973
msgid "The calendar attached is not valid"
msgstr "Kalendari i bashkangjitur nuk është i vlefshëm"
-#: ../plugins/itip-formatter/itip-formatter.c:974
+#: plugins/itip-formatter/itip-formatter.c:974
msgid ""
"The message claims to contain a calendar, but the calendar is not valid "
"iCalendar."
-msgstr "Mesazhi përmban një kalendar, por kalendari nuk është një iCalendar i vlefshëm."
+msgstr ""
+"Mesazhi përmban një kalendar, por kalendari nuk është një iCalendar i "
+"vlefshëm."
-#: ../plugins/itip-formatter/itip-formatter.c:1008
-#: ../plugins/itip-formatter/itip-formatter.c:1064
+#: plugins/itip-formatter/itip-formatter.c:1008
+#: plugins/itip-formatter/itip-formatter.c:1064
msgid "The item in the calendar is not valid"
msgstr "Elementi në kalendar nuk është i vlefshëm"
-#: ../plugins/itip-formatter/itip-formatter.c:1009
-#: ../plugins/itip-formatter/itip-formatter.c:1065
+#: plugins/itip-formatter/itip-formatter.c:1009
+#: plugins/itip-formatter/itip-formatter.c:1065
msgid ""
"The message does contain a calendar, but the calendar contains no events, "
"tasks or free/busy information"
@@ -14342,11 +14264,11 @@ msgstr ""
"Mesazhi përmban një kalendar, por kalendari nuk përmban ndodhi, aktivitete "
"apo informacione disponibiliteti"
-#: ../plugins/itip-formatter/itip-formatter.c:1020
+#: plugins/itip-formatter/itip-formatter.c:1020
msgid "The calendar attached contains multiple items"
msgstr "Kalendari i bashkangjitur përmban elementë shumëfishë"
-#: ../plugins/itip-formatter/itip-formatter.c:1021
+#: plugins/itip-formatter/itip-formatter.c:1021
msgid ""
"To process all of these items, the file should be saved and the calendar "
"imported"
@@ -14354,274 +14276,278 @@ msgstr ""
"Për të proçesuar të gjithë elementët, file duhet ruajtur dhe kalendari duhet "
"importuar"
-#: ../plugins/itip-formatter/itip-formatter.c:1658
+#: plugins/itip-formatter/itip-formatter.c:1658
msgid "Meetings and Tasks"
msgstr "Takime dhe punë"
#. Delete message after acting
#. FIXME Need a schema for this
-#: ../plugins/itip-formatter/itip-formatter.c:1681
+#: plugins/itip-formatter/itip-formatter.c:1681
msgid "_Delete message after acting"
msgstr "_Elemino mesazhin mbas aksionit"
-#: ../plugins/itip-formatter/itip-formatter.c:1691
+#: plugins/itip-formatter/itip-formatter.c:1691
msgid "<span weight=\"bold\">Conflict Search</span>"
msgstr "<span weight=\"bold\">Kërkimi konflikteve</span>"
#. Source selector
-#: ../plugins/itip-formatter/itip-formatter.c:1704
+#: plugins/itip-formatter/itip-formatter.c:1704
msgid "Select the calendars to search for meeting conflicts"
msgstr "Zgjidh kalendarët ku duhet kërkuar për takime në konflikt"
#. strftime format of a weekday and a date.
-#: ../plugins/itip-formatter/itip-view.c:175 ../ui/evolution-calendar.xml.h:34
-#: ../widgets/misc/e-cell-date-edit.c:240 ../widgets/misc/e-dateedit.c:450
+#: plugins/itip-formatter/itip-view.c:175 ui/evolution-calendar.xml.h:34
+#: widgets/misc/e-cell-date-edit.c:240 widgets/misc/e-dateedit.c:450
msgid "Today"
msgstr "Sot"
#. strftime format of a time,
#. in 24-hour format, without seconds.
-#: ../plugins/itip-formatter/itip-view.c:180
+#: plugins/itip-formatter/itip-view.c:180
msgid "Today %H:%M"
msgstr "Sot në %H:%M"
#. strftime format of a time,
#. in 24-hour format.
-#: ../plugins/itip-formatter/itip-view.c:184
+#: plugins/itip-formatter/itip-view.c:184
msgid "Today %H:%M:%S"
msgstr "Sot në %H:%M:%S"
#. strftime format of a time,
#. in 12-hour format.
-#: ../plugins/itip-formatter/itip-view.c:193
+#: plugins/itip-formatter/itip-view.c:193
msgid "Today %l:%M:%S %p"
msgstr "Sot në %l:%M:%S %p"
#. strftime format of a weekday and a date.
-#: ../plugins/itip-formatter/itip-view.c:203
+#: plugins/itip-formatter/itip-view.c:203
msgid "Tomorrow"
msgstr "Nesër"
#. strftime format of a time,
#. in 24-hour format, without seconds.
-#: ../plugins/itip-formatter/itip-view.c:208
+#: plugins/itip-formatter/itip-view.c:208
msgid "Tomorrow %H:%M"
msgstr "Nesër në %H:%M"
#. strftime format of a time,
#. in 24-hour format.
-#: ../plugins/itip-formatter/itip-view.c:212
+#: plugins/itip-formatter/itip-view.c:212
msgid "Tomorrow %H:%M:%S"
msgstr "Nesër në %H:%M:%S"
#. strftime format of a time,
#. in 12-hour format, without seconds.
-#: ../plugins/itip-formatter/itip-view.c:217
+#: plugins/itip-formatter/itip-view.c:217
msgid "Tomorrow %l:%M %p"
msgstr "Nesër në %l:%M %p"
#. strftime format of a time,
#. in 12-hour format.
-#: ../plugins/itip-formatter/itip-view.c:221
+#: plugins/itip-formatter/itip-view.c:221
msgid "Tomorrow %l:%M:%S %p"
msgstr "Nesër në %l:%M:%S %p"
#. strftime format of a weekday.
-#: ../plugins/itip-formatter/itip-view.c:240
+#: plugins/itip-formatter/itip-view.c:240
#, c-format
msgid "%A"
msgstr "%A"
#. strftime format of a weekday and a
#. time, in 24-hour format, without seconds.
-#: ../plugins/itip-formatter/itip-view.c:245
+#: plugins/itip-formatter/itip-view.c:245
msgid "%A %H:%M"
msgstr "%A në orën %H:%M"
#. strftime format of a weekday and a
#. time, in 24-hour format.
-#: ../plugins/itip-formatter/itip-view.c:249
+#: plugins/itip-formatter/itip-view.c:249
msgid "%A %H:%M:%S"
msgstr "%A në orën %H:%M:%S"
#. strftime format of a weekday and a
#. time, in 12-hour format, without seconds.
-#: ../plugins/itip-formatter/itip-view.c:254
+#: plugins/itip-formatter/itip-view.c:254
msgid "%A %l:%M %p"
msgstr "%A në orën %l:%M %p"
#. strftime format of a weekday and a
#. time, in 12-hour format.
-#: ../plugins/itip-formatter/itip-view.c:258
+#: plugins/itip-formatter/itip-view.c:258
msgid "%A %l:%M:%S %p"
msgstr "%A në orën %l:%M:%S %p"
#. strftime format of a weekday and a date
#. without a year.
-#: ../plugins/itip-formatter/itip-view.c:267
+#: plugins/itip-formatter/itip-view.c:267
msgid "%A, %B %e"
msgstr "%A, %e %B"
#. strftime format of a weekday, a date
#. without a year and a time,
#. in 24-hour format, without seconds.
-#: ../plugins/itip-formatter/itip-view.c:273
+#: plugins/itip-formatter/itip-view.c:273
msgid "%A, %B %e %H:%M"
msgstr "%A, %e %B në orën %H:%M"
#. strftime format of a weekday, a date without a year
#. and a time, in 24-hour format.
-#: ../plugins/itip-formatter/itip-view.c:277
+#: plugins/itip-formatter/itip-view.c:277
msgid "%A, %B %e %H:%M:%S"
msgstr "%A, %e %B në orën %H:%M:%S"
#. strftime format of a weekday, a date without a year
#. and a time, in 12-hour format, without seconds.
-#: ../plugins/itip-formatter/itip-view.c:282
+#: plugins/itip-formatter/itip-view.c:282
msgid "%A, %B %e %l:%M %p"
msgstr "%A, %e %B në orën %l:%M %p"
#. strftime format of a weekday, a date without a year
#. and a time, in 12-hour format.
-#: ../plugins/itip-formatter/itip-view.c:286
+#: plugins/itip-formatter/itip-view.c:286
msgid "%A, %B %e %l:%M:%S %p"
msgstr "%A, %e %B në orën %l:%M:%S %p"
#. strftime format of a weekday and a date.
-#: ../plugins/itip-formatter/itip-view.c:292
+#: plugins/itip-formatter/itip-view.c:292
msgid "%A, %B %e, %Y"
msgstr "%A, %e %B, %Y"
#. strftime format of a weekday, a date and a
#. time, in 24-hour format, without seconds.
-#: ../plugins/itip-formatter/itip-view.c:297
+#: plugins/itip-formatter/itip-view.c:297
msgid "%A, %B %e, %Y %H:%M"
msgstr "%A, %e %B %Y në orën %H:%M"
#. strftime format of a weekday, a date and a
#. time, in 24-hour format.
-#: ../plugins/itip-formatter/itip-view.c:301
+#: plugins/itip-formatter/itip-view.c:301
msgid "%A, %B %e, %Y %H:%M:%S"
msgstr "%A, %e %B %Y në orën %H:%M:%S"
#. strftime format of a weekday, a date and a
#. time, in 12-hour format, without seconds.
-#: ../plugins/itip-formatter/itip-view.c:306
+#: plugins/itip-formatter/itip-view.c:306
msgid "%A, %B %e, %Y %l:%M %p"
msgstr "%A, %e %B %Y në orën %l:%M %p"
#. strftime format of a weekday, a date and a
#. time, in 12-hour format.
-#: ../plugins/itip-formatter/itip-view.c:310
+#: plugins/itip-formatter/itip-view.c:310
msgid "%A, %B %e, %Y %l:%M:%S %p"
msgstr "%A, %e %B %Y në orën %l:%M:%S %p"
-#: ../plugins/itip-formatter/itip-view.c:335
+#: plugins/itip-formatter/itip-view.c:335
#, c-format
msgid "<b>%s</b> through %s has published the following meeting information:"
-msgstr "<b>%s</b> me anë të %s ka publikuar informacionet në vazhdim në lidhje me mbledhjen:"
+msgstr ""
+"<b>%s</b> me anë të %s ka publikuar informacionet në vazhdim në lidhje me "
+"mbledhjen:"
-#: ../plugins/itip-formatter/itip-view.c:337
+#: plugins/itip-formatter/itip-view.c:337
#, c-format
msgid "<b>%s</b> has published the following meeting information:"
msgstr "<b>%s</b> ka publikuar informacionet në vazhdim në lidhje me mbledhjen:"
-#: ../plugins/itip-formatter/itip-view.c:342
+#: plugins/itip-formatter/itip-view.c:342
#, c-format
msgid "<b>%s</b> requests the presence of %s at the following meeting:"
msgstr "<b>%s</b> kërkon praninë e %s tek mbledhja në vazhdim:"
-#: ../plugins/itip-formatter/itip-view.c:345
+#: plugins/itip-formatter/itip-view.c:345
#, c-format
msgid "<b>%s</b> through %s requests your presence at the following meeting:"
msgstr "<b>%s</b> nëpërmjet %s kërkon praninë tuaj tek mbledhja në vazhdim:"
-#: ../plugins/itip-formatter/itip-view.c:347
+#: plugins/itip-formatter/itip-view.c:347
#, c-format
msgid "<b>%s</b> requests your presence at the following meeting:"
msgstr "<b>%s</b> kërkon praninë tuaj tek mbledhja në vazhdim:"
-#: ../plugins/itip-formatter/itip-view.c:353
+#: plugins/itip-formatter/itip-view.c:353
#, c-format
msgid "<b>%s</b> through %s wishes to add to an existing meeting:"
msgstr "<b>%s</b> nëpërmjet %s dëshiron t'i shtohet një mbledhjeje ekzistuese:"
-#: ../plugins/itip-formatter/itip-view.c:355
+#: plugins/itip-formatter/itip-view.c:355
#, c-format
msgid "<b>%s</b> wishes to add to an existing meeting:"
msgstr "<b>%s</b> dëshiron t'i shtohet një mbledhjeje ekzistuese:"
-#: ../plugins/itip-formatter/itip-view.c:358
+#: plugins/itip-formatter/itip-view.c:358
#, c-format
msgid "<b>%s</b> wishes to receive the latest information for the following meeting:"
-msgstr "<b>%s</b> dëshiron të marrë informacionet e fundit në lidhje me mbledhjen në vazhdim:"
+msgstr ""
+"<b>%s</b> dëshiron të marrë informacionet e fundit në lidhje me mbledhjen në "
+"vazhdim:"
-#: ../plugins/itip-formatter/itip-view.c:361
+#: plugins/itip-formatter/itip-view.c:361
#, c-format
msgid "<b>%s</b> has sent back the following meeting response:"
msgstr "<b>%s</b> ka dërguar mbrapsht përgjigjen në vazhdim:"
-#: ../plugins/itip-formatter/itip-view.c:365
+#: plugins/itip-formatter/itip-view.c:365
#, c-format
msgid "<b>%s</b> through %s has cancelled the following meeting:"
msgstr "<b>%s</b> nëpërmjet %s ka anulluar mbledhjen në vazhdim:"
-#: ../plugins/itip-formatter/itip-view.c:367
+#: plugins/itip-formatter/itip-view.c:367
#, c-format
msgid "<b>%s</b> has cancelled the following meeting."
msgstr "<b>%s</b> ka anulluar mbledhjen në vazhdim."
-#: ../plugins/itip-formatter/itip-view.c:370
+#: plugins/itip-formatter/itip-view.c:370
#, c-format
msgid "<b>%s</b> has proposed the following meeting changes."
msgstr "<b>%s</b> ka propozuar ndryshimet në vazhdim për mbledhjen."
-#: ../plugins/itip-formatter/itip-view.c:374
+#: plugins/itip-formatter/itip-view.c:374
#, c-format
msgid "<b>%s</b> through %s has declined the following meeting changes:"
msgstr "<b>%s</b> nëpërmjet %s ka shmangur ndryshimet në vazhdim për mbledhjen:"
-#: ../plugins/itip-formatter/itip-view.c:376
+#: plugins/itip-formatter/itip-view.c:376
#, c-format
msgid "<b>%s</b> has declined the following meeting changes."
msgstr "<b>%s</b> ka shmangur ndryshimet në vazhdim për mbledhjen."
-#: ../plugins/itip-formatter/itip-view.c:403
+#: plugins/itip-formatter/itip-view.c:403
#, c-format
msgid "<b>%s</b> through %s has published the following task:"
msgstr "<b>%s</b> nëpërmjet %s ka publikuar punën në vazhdim:"
-#: ../plugins/itip-formatter/itip-view.c:405
+#: plugins/itip-formatter/itip-view.c:405
#, c-format
msgid "<b>%s</b> has published the following task:"
msgstr "<b>%s</b> ka publikuar punën në vazhdim:"
-#: ../plugins/itip-formatter/itip-view.c:410
+#: plugins/itip-formatter/itip-view.c:410
#, c-format
msgid "<b>%s</b> requests the assignment of %s to the following task:"
msgstr "<b>%s</b> kërkon caktimin e %s për detyrën në vazhdim:"
-#: ../plugins/itip-formatter/itip-view.c:413
+#: plugins/itip-formatter/itip-view.c:413
#, c-format
msgid "<b>%s</b> through %s has assigned you a task:"
msgstr "<b>%s</b> me anë të %s ju ka caktuar një detyrë:"
-#: ../plugins/itip-formatter/itip-view.c:415
+#: plugins/itip-formatter/itip-view.c:415
#, c-format
msgid "<b>%s</b> has assigned you a task:"
msgstr "<b>%s</b> ju ka caktuar një detyrë:"
-#: ../plugins/itip-formatter/itip-view.c:421
+#: plugins/itip-formatter/itip-view.c:421
#, c-format
msgid "<b>%s</b> through %s wishes to add to an existing task:"
msgstr "<b>%s</b> me anë të %s dëshiron të shtohet tek një detyrë ekzistuese:"
-#: ../plugins/itip-formatter/itip-view.c:423
+#: plugins/itip-formatter/itip-view.c:423
#, c-format
msgid "<b>%s</b> wishes to add to an existing task:"
msgstr "<b>%s</b> dëshiron të shtohet tek një detyrë ekzistuese:"
-#: ../plugins/itip-formatter/itip-view.c:426
+#: plugins/itip-formatter/itip-view.c:426
#, c-format
msgid ""
"<b>%s</b> wishes to receive the latest information for the following "
@@ -14630,77 +14556,75 @@ msgstr ""
"<b>%s</b> dëshiron të marrë informacionet e fundit në lidhje me detyrën e "
"shënuar në vazhdim:"
-#: ../plugins/itip-formatter/itip-view.c:429
+#: plugins/itip-formatter/itip-view.c:429
#, c-format
msgid "<b>%s</b> has sent back the following assigned task response:"
msgstr "<b>%s</b> ka dërguar përgjigjen në vazhdim mbi detyrën e shënuar:"
-#: ../plugins/itip-formatter/itip-view.c:433
+#: plugins/itip-formatter/itip-view.c:433
#, c-format
msgid "<b>%s</b> through %s has cancelled the following assigned task:"
msgstr "<b>%s</b> me anë të %s ka anulluar detyrën e shënuar në vazhdim:"
-#: ../plugins/itip-formatter/itip-view.c:435
+#: plugins/itip-formatter/itip-view.c:435
#, c-format
msgid "<b>%s</b> has cancelled the following assigned task:"
msgstr "<b>%s</b> ka anulluar detyrën e shënuar në vazhdim:"
-#: ../plugins/itip-formatter/itip-view.c:438
+#: plugins/itip-formatter/itip-view.c:438
#, c-format
msgid "<b>%s</b> has proposed the following task assignment changes:"
-msgstr ""
-"<b>%s</b> ka propozuar ndryshimet në vazhdim në lidhje me shënimin "
-"e detyrës:"
+msgstr "<b>%s</b> ka propozuar ndryshimet në vazhdim në lidhje me shënimin e detyrës:"
-#: ../plugins/itip-formatter/itip-view.c:442
+#: plugins/itip-formatter/itip-view.c:442
#, c-format
msgid "<b>%s</b> through %s has declined the following assigned task:"
msgstr "<b>%s</b> me anë të %s nuk ka pranuar detyrën e shënuar në vazhdim:"
-#: ../plugins/itip-formatter/itip-view.c:444
+#: plugins/itip-formatter/itip-view.c:444
#, c-format
msgid "<b>%s</b> has declined the following assigned task:"
msgstr "<b>%s</b> nuk ka pranuar detyrën e shënuar në vazhdim:"
#. Comment
-#: ../plugins/itip-formatter/itip-view.c:892
-#: ../plugins/itip-formatter/itip-view.c:942
+#: plugins/itip-formatter/itip-view.c:892
+#: plugins/itip-formatter/itip-view.c:942
msgid "Comment:"
msgstr "Komente:"
#. org.gnome.mailing-list-actions:no-header primary
-#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:2
+#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:2
msgid "Action not available"
msgstr "Veprim jo në dispozicion"
#. org.gnome.mailing-list-actions:no-header secondary
-#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:4
+#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:4
msgid ""
"This message does not contain the header information required for this "
"action."
msgstr "Ky mesazh nuk përmban informacione e titullit të nevojshëm për këtë veprim."
#. org.gnome.mailing-list-actions:posting-not-allowed primary
-#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:6
+#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:6
msgid "Posting not allowed"
msgstr "Postimi nuk lejohet"
#. org.gnome.mailing-list-actions:posting-not-allowed secondary
-#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:8
+#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:8
msgid ""
"Posting to this mailing list is not allowed. Possibly, this is a read-only "
"mailing list. Contact the list owner for details."
msgstr ""
-"Postimi tek kjo mailing list nuk lejohet. Ndoshta është një listë në vetëm-lexim. "
-"Kontakto administratorin e listës për hollësi."
+"Postimi tek kjo mailing list nuk lejohet. Ndoshta është një listë në vetëm-"
+"lexim. Kontakto administratorin e listës për hollësi."
#. org.gnome.mailing-list-actions:ask-send-message primary
-#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:10
+#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:10
msgid "Send e-mail message to mailing list?"
msgstr "Dërgon mesazh e-mail listës?"
#. org.gnome.mailing-list-actions:ask-send-message secondary
-#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:12
+#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:12
msgid ""
"An e-mail message will be sent to the URL \"{0}\". You can either send the "
"message automatically, or see and change it first.\n"
@@ -14711,23 +14635,24 @@ msgstr ""
"Një mesazh e-mail do të dërgohet tek URL \"{0}\". Mund t'a dërgoni mesazhin "
"automatikisht, ose paraprakisht t'a shihni dhe t'a ndryshoni.\n"
"\n"
-"Pak mbas dërgimit të mesazhit duhet t'ju arrijë një përgjigje nga mailing list."
+"Pak mbas dërgimit të mesazhit duhet t'ju arrijë një përgjigje nga mailing "
+"list."
-#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:15
+#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:15
msgid "_Send message"
msgstr "_Dërgo mesazhin"
-#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:16
+#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:16
msgid "_Edit message"
msgstr "_Ndrysho mesazhin"
#. org.gnome.mailing-list-actions:malformed-header primary
-#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:18
+#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:18
msgid "Malformed header"
msgstr "Titull i keqformuar"
#. org.gnome.mailing-list-actions:malformed-header secondary
-#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:20
+#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:20
msgid ""
"The {0} header of this message is malformed and could not be processed.\n"
"\n"
@@ -14738,177 +14663,177 @@ msgstr ""
"Header: {1}"
#. org.gnome.mailing-list-actions:no-action primary
-#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:24
+#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:24
msgid "No e-mail action"
msgstr "Asnjë veprim e-mail"
#. org.gnome.mailing-list-actions:no-action secondary
-#: ../plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:26
+#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:26
msgid ""
"The action could not be performed. This means the header for this action did "
"not contain any action we could handle.\n"
"\n"
"Header: {0}"
msgstr ""
-"Veprimi nuk mund të kryhet. Kjo do të thotë që header për këtë veprim nuk përmban "
-"asnjë veprim të trajtueshëm nga ne.\n"
+"Veprimi nuk mund të kryhet. Kjo do të thotë që header për këtë veprim nuk "
+"përmban asnjë veprim të trajtueshëm nga ne.\n"
"\n"
"Header: {0}"
#. Create the checkbox we will display, complete with mnemonic that is unique in the dialog
-#: ../plugins/new-mail-notify/new-mail-notify.c:66
+#: plugins/new-mail-notify/new-mail-notify.c:66
msgid "_Generates a D-BUS message when new mail arrives"
msgstr "_Gjenero një mesazh D-BUS kur arrin postë e re"
-#: ../plugins/plugin-manager/org-gnome-plugin-manager.xml.h:1
+#: plugins/plugin-manager/org-gnome-plugin-manager.xml.h:1
msgid "Enable and disable plugins"
msgstr "Aktivo dhe ç'aktivo plugins"
-#: ../plugins/plugin-manager/org-gnome-plugin-manager.xml.h:2
+#: plugins/plugin-manager/org-gnome-plugin-manager.xml.h:2
msgid "Manage Plugins..."
msgstr "Kontrolli plugins..."
-#: ../plugins/plugin-manager/plugin-manager.c:45
+#: plugins/plugin-manager/plugin-manager.c:45
msgid "Author(s)"
msgstr "Autori(ët)"
-#: ../plugins/plugin-manager/plugin-manager.c:46
+#: plugins/plugin-manager/plugin-manager.c:46
msgid "Id"
msgstr "Id"
-#: ../plugins/plugin-manager/plugin-manager.c:47
+#: plugins/plugin-manager/plugin-manager.c:47
msgid "Path"
msgstr "Pozicioni"
-#: ../plugins/plugin-manager/plugin-manager.c:48
+#: plugins/plugin-manager/plugin-manager.c:48
msgid "Description"
msgstr "Përshkrimi"
#. Setup the ui
-#: ../plugins/plugin-manager/plugin-manager.c:188
+#: plugins/plugin-manager/plugin-manager.c:188
msgid "Plugin Manager"
msgstr "Manazhuesi i plugin"
-#: ../plugins/plugin-manager/plugin-manager.c:201
+#: plugins/plugin-manager/plugin-manager.c:201
msgid "Note: Some changes will not take effect until restart"
msgstr "Shënim: disa nga ndryshimet do të kenë efekt mbas rinisjes së programit"
-#: ../plugins/plugin-manager/plugin-manager.c:210
+#: plugins/plugin-manager/plugin-manager.c:210
msgid "Plugin"
msgstr "Plugin"
-#: ../plugins/prefer-plain/prefer-plain.c:105
+#: plugins/prefer-plain/prefer-plain.c:105
msgid "Show HTML if present"
msgstr "Shfaq HTML nëse ka"
-#: ../plugins/prefer-plain/prefer-plain.c:106
+#: plugins/prefer-plain/prefer-plain.c:106
msgid "Prefer PLAIN"
msgstr "Preferon tekst të thjeshtë"
-#: ../plugins/prefer-plain/prefer-plain.c:107
+#: plugins/prefer-plain/prefer-plain.c:107
msgid "Only ever show PLAIN"
msgstr "Shfaq vetëm dhe gjithmonë tekst të thjeshtë"
-#: ../plugins/prefer-plain/prefer-plain.c:150
+#: plugins/prefer-plain/prefer-plain.c:150
msgid "HTML Mode"
msgstr "Modalitet HTML"
-#: ../plugins/save-attachments/org-gnome-save-attachments.xml.h:1
+#: plugins/save-attachments/org-gnome-save-attachments.xml.h:1
msgid "Save Attachments ..."
msgstr "Ruaj të bashkangjiturit ..."
-#: ../plugins/save-attachments/org-gnome-save-attachments.xml.h:2
+#: plugins/save-attachments/org-gnome-save-attachments.xml.h:2
msgid "Save all attachments"
msgstr "Ruaj të gjithë të bashkangjiturit"
-#: ../plugins/save-attachments/save-attachments.c:331
+#: plugins/save-attachments/save-attachments.c:331
msgid "Select save base name"
msgstr "Zgjidh emrin bazë të ruajtjes"
-#: ../plugins/save-attachments/save-attachments.c:351
+#: plugins/save-attachments/save-attachments.c:351
msgid "MIME Type"
msgstr "Lloji MIME"
-#: ../plugins/save-attachments/save-attachments.c:359
-#: ../ui/evolution-message-composer.xml.h:16
-#: ../ui/evolution-signature-editor.xml.h:6
+#: plugins/save-attachments/save-attachments.c:359
+#: ui/evolution-message-composer.xml.h:16
+#: ui/evolution-signature-editor.xml.h:6
msgid "Save"
msgstr "Ruaj"
-#: ../plugins/save-calendar/csv-format.c:167
+#: plugins/save-calendar/csv-format.c:167
#, c-format
msgid "%s%d/%s%d/%s%d %s%d:%s%d:%s%d"
msgstr "%s%d/%s%d/%s%d %s%d:%s%d:%s%d"
-#: ../plugins/save-calendar/csv-format.c:370
+#: plugins/save-calendar/csv-format.c:370
#, c-format
msgid ""
"Uid%sSummary%sDescription List%sCategories List%sComment List%sCompleted%"
"sCreated%sContact List%sStart%sEnd%sDue%sPercent Done%sPriority%sUrl%"
"sAttendees List%sLocation%sModified%s"
msgstr ""
-"Uid%sTreguesi%sLista përshkrimeve%sLista kategorive%sLista komentevet%sPlotësuar%"
-"sKrijuar%sLista kontakteve%sFillimi%sPërfundimi%sSkadimi%spërqindje "
-"e kryer%sPrioriteti%sUrl%sLista pjesmarrësve%sVendi%sNdryshuar%s"
+"Uid%sTreguesi%sLista përshkrimeve%sLista kategorive%sLista komentevet%"
+"sPlotësuar%sKrijuar%sLista kontakteve%sFillimi%sPërfundimi%sSkadimi%"
+"spërqindje e kryer%sPrioriteti%sUrl%sLista pjesmarrësve%sVendi%sNdryshuar%s"
-#: ../plugins/save-calendar/csv-format.c:519
+#: plugins/save-calendar/csv-format.c:519
msgid "Advanced options for the CSV format"
msgstr "Opcionet e detajuara për formatin CSV"
-#: ../plugins/save-calendar/csv-format.c:526
+#: plugins/save-calendar/csv-format.c:526
msgid "Prepend a header"
msgstr "Propozoi një titull"
-#: ../plugins/save-calendar/csv-format.c:535
+#: plugins/save-calendar/csv-format.c:535
msgid "Value delimiter:"
msgstr "Kufizuesi i vlerave:"
-#: ../plugins/save-calendar/csv-format.c:541
+#: plugins/save-calendar/csv-format.c:541
msgid "Record delimiter:"
msgstr "Kufizuesi i regjistrimeve:"
-#: ../plugins/save-calendar/csv-format.c:547
+#: plugins/save-calendar/csv-format.c:547
msgid "Encapsulate values with:"
msgstr "Kufizo vlerat me:"
-#: ../plugins/save-calendar/csv-format.c:569
+#: plugins/save-calendar/csv-format.c:569
msgid "Comma separated value format (.csv)"
msgstr "Format vlerash të ndara me presje (.csv)"
-#: ../plugins/save-calendar/ical-format.c:136
+#: plugins/save-calendar/ical-format.c:136
msgid "iCalendar format (.ics)"
msgstr "Format iCalendar (.ics)"
-#: ../plugins/save-calendar/rdf-format.c:390
+#: plugins/save-calendar/rdf-format.c:390
msgid "RDF format (.rdf)"
msgstr "Format RDF (.rdf)"
-#: ../plugins/save-calendar/save-calendar.c:171
-#: ../plugins/save-calendar/save-calendar.c:181
+#: plugins/save-calendar/save-calendar.c:171
+#: plugins/save-calendar/save-calendar.c:181
msgid "Select destination file"
msgstr "Zgjidh file e destinuar"
-#: ../plugins/save-calendar/save-calendar.c:216
+#: plugins/save-calendar/save-calendar.c:216
#, c-format
msgid ""
"The suggested filename extension of this filetype (%s) is unused in the "
"chosen filename. Do you want to continue?"
msgstr ""
-"Prapashtesa e emrit të file për këtë lloj file (%s) nuk përdoret për file e zgjedhur. "
-"Dëshiron të vazhdosh?"
+"Prapashtesa e emrit të file për këtë lloj file (%s) nuk përdoret për file e "
+"zgjedhur. Dëshiron të vazhdosh?"
-#: ../plugins/send-options/send-options.c:82
+#: plugins/send-options/send-options.c:82
#, c-format
msgid "%sEnter password for %s (user %s)"
msgstr "%sShkruaj fjalëkalimin për %s (përdoruesi %s)"
#. org.gnome.evolution.mail_shared_folder:invalid-user primary
-#: ../plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:2
+#: plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:2
msgid "Invalid user"
msgstr "Përdorues i pavlefshëm"
#. org.gnome.evolution.mail_shared_folder:invalid-user secondary
-#: ../plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:4
+#: plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:4
msgid ""
"\n"
"You cannot share folder with specified user \"{0}\" \n"
@@ -14917,12 +14842,12 @@ msgstr ""
"E pamundur ndarja e kartelës me përdoruesin e specifikuar \"{0}\" \n"
#. org.gnome.evolution.mail_shared_folder:no-user primary
-#: ../plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:8
+#: plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:8
msgid "Specify User"
msgstr "Specifiko përdoruesin"
#. org.gnome.evolution.mail_shared_folder:no-user secondary
-#: ../plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:10
+#: plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:10
msgid ""
"\n"
"\tYou have to specify a user name whom you want to add to the list \n"
@@ -14930,204 +14855,204 @@ msgstr ""
"\n"
"\tDuhet specifikuar emri i përdoruesit për t'ja shtuar listës \n"
-#: ../plugins/shared-folder/properties.glade.h:2
+#: plugins/shared-folder/properties.glade.h:2
msgid "<b>Users :</b>"
msgstr "<b>Përdoruesit :</b>"
-#: ../plugins/shared-folder/properties.glade.h:4
+#: plugins/shared-folder/properties.glade.h:4
msgid "Message"
msgstr "Mesazhi"
-#: ../plugins/shared-folder/properties.glade.h:6
+#: plugins/shared-folder/properties.glade.h:6
msgid "Shared Folder Notification"
msgstr "Njofto bashkandarjen e kartelës"
-#: ../plugins/shared-folder/properties.glade.h:8
+#: plugins/shared-folder/properties.glade.h:8
msgid "The participants will receive the following notification.\n"
msgstr "Pjesmarrësit do të marrin njoftimin në vazhdim.\n"
-#: ../plugins/shared-folder/properties.glade.h:11
+#: plugins/shared-folder/properties.glade.h:11
msgid "_Contacts..."
msgstr "_Kontakte..."
-#: ../plugins/shared-folder/properties.glade.h:12
+#: plugins/shared-folder/properties.glade.h:12
msgid "_Cutomize notification message"
msgstr "_Personalizo mesazhin e njoftimit"
-#: ../plugins/shared-folder/properties.glade.h:13
+#: plugins/shared-folder/properties.glade.h:13
msgid "_Not Shared"
msgstr "_Jo e përbashkët"
-#: ../plugins/shared-folder/properties.glade.h:15
+#: plugins/shared-folder/properties.glade.h:15
msgid "_Shared With ..."
msgstr "_E përbashkët me ..."
-#: ../plugins/shared-folder/properties.glade.h:16
+#: plugins/shared-folder/properties.glade.h:16
msgid "_Sharing"
msgstr "_Bashkandarje"
-#: ../plugins/shared-folder/share-folder-common.c:315
+#: plugins/shared-folder/share-folder-common.c:315
msgid "Users"
msgstr "Përdorues"
-#: ../plugins/shared-folder/share-folder-common.c:316
+#: plugins/shared-folder/share-folder-common.c:316
msgid "Enter the users and set permissions"
msgstr "Shto përdoruesit dhe cakto të drejtat"
-#: ../plugins/shared-folder/share-folder-common.c:401
+#: plugins/shared-folder/share-folder-common.c:401
msgid "Sharing"
msgstr "Bashkandarje"
#. Create the checkbox we will display, complete with mnemonic that is unique in the dialog
-#: ../plugins/subject-thread/subject-thread.c:54
-#, fuzzy
+#: plugins/subject-thread/subject-thread.c:54
msgid "Fall back to threading messages by sub_ject"
-msgstr "mbrapa tek sipas"
+msgstr "Kthehu tek sistemimi i mesazheve sipas sub_jektit"
-#: ../shell/GNOME_Evolution_Shell.server.in.in.h:1
+#: shell/GNOME_Evolution_Shell.server.in.in.h:1
msgid "Evolution Shell"
msgstr "Shell i Evolution"
-#: ../shell/GNOME_Evolution_Test.server.in.in.h:1
+#: shell/GNOME_Evolution_Test.server.in.in.h:1
msgid "Evolution Test"
msgstr "Provë e Evolution"
-#: ../shell/GNOME_Evolution_Test.server.in.in.h:2
+#: shell/GNOME_Evolution_Test.server.in.in.h:2
msgid "Evolution Test component"
msgstr "Komponues i provave të Evolution"
-#: ../shell/apps_evolution_shell.schemas.in.in.h:1
+#: shell/apps_evolution_shell.schemas.in.in.h:1
msgid "A GNOME Print description of the current printer settings"
msgstr "Një përshkrim i llojit «GNOME Print» i rregullimeve aktuale të printerit"
-#: ../shell/apps_evolution_shell.schemas.in.in.h:2
+#: shell/apps_evolution_shell.schemas.in.in.h:2
msgid "Configuration version"
msgstr "Versioni i konfigurimit"
-#: ../shell/apps_evolution_shell.schemas.in.in.h:3
+#: shell/apps_evolution_shell.schemas.in.in.h:3
msgid "Default sidebar width"
msgstr "Gjerësia e prezgjedhur e kuadratit anësor"
-#: ../shell/apps_evolution_shell.schemas.in.in.h:4
+#: shell/apps_evolution_shell.schemas.in.in.h:4
msgid "Default window height"
msgstr "Lartësia e prezgjedhur e dritares"
-#: ../shell/apps_evolution_shell.schemas.in.in.h:5
+#: shell/apps_evolution_shell.schemas.in.in.h:5
msgid "Default window width"
msgstr "Gjerësia e prezgjedhur e dritares"
-#: ../shell/apps_evolution_shell.schemas.in.in.h:6
+#: shell/apps_evolution_shell.schemas.in.in.h:6
msgid "ID or alias of the component to be shown by default at start-up."
msgstr "ID apo alias i komponentit që duhet shfaqur si i prezgjedhur në nisje."
-#: ../shell/apps_evolution_shell.schemas.in.in.h:7
+#: shell/apps_evolution_shell.schemas.in.in.h:7
msgid "Last upgraded configuration version"
msgstr "Versioni i fundit i përditsuar i konfigurimit"
-#: ../shell/apps_evolution_shell.schemas.in.in.h:8
+#: shell/apps_evolution_shell.schemas.in.in.h:8
msgid "List of paths for the folders to be synchronized to disk for offline usage"
msgstr ""
"Lista e pozicioneve të kartelave për t'u sinkronizuar në disk për përdorim "
"jashtë linje"
-#: ../shell/apps_evolution_shell.schemas.in.in.h:9
+#: shell/apps_evolution_shell.schemas.in.in.h:9
msgid "Printer settings"
msgstr "Rregullimet e printerit"
-#: ../shell/apps_evolution_shell.schemas.in.in.h:10
+#: shell/apps_evolution_shell.schemas.in.in.h:10
msgid "Skip development warning dialog"
msgstr "Kapërce dialogun e paralajmërimit të versionit në zhvillim"
-#: ../shell/apps_evolution_shell.schemas.in.in.h:11 ../shell/main.c:476
+#: shell/apps_evolution_shell.schemas.in.in.h:11 shell/main.c:476
msgid "Start in offline mode"
msgstr "Fillo në modalitetin jashtë linje"
-#: ../shell/apps_evolution_shell.schemas.in.in.h:12
+#: shell/apps_evolution_shell.schemas.in.in.h:12
msgid "The configuration version of Evolution, with major/minor/configuration level"
msgstr "Versioni i konfigurimit të Evolution, me nivelet major/minor/konfigurim"
-#: ../shell/apps_evolution_shell.schemas.in.in.h:13
+#: shell/apps_evolution_shell.schemas.in.in.h:13
msgid "The default height for the main window, in pixels."
msgstr "Lartësia e prezgjedhur e dritares qendrore, në pixel."
-#: ../shell/apps_evolution_shell.schemas.in.in.h:14
+#: shell/apps_evolution_shell.schemas.in.in.h:14
msgid "The default width for the main window, in pixels."
msgstr "Gjerësia e prezgjedhur e dritares qendrore, në pixel."
-#: ../shell/apps_evolution_shell.schemas.in.in.h:15
+#: shell/apps_evolution_shell.schemas.in.in.h:15
msgid "The default width for the sidebar, in pixels."
msgstr "Gjerësia e prezgjedhur e kuadratit anësor, në pixel."
-#: ../shell/apps_evolution_shell.schemas.in.in.h:16
+#: shell/apps_evolution_shell.schemas.in.in.h:16
msgid ""
"The last upgraded configuration version of Evolution, with major/minor/"
"configuration level"
-msgstr "Versioni i fundit i përditsuar i konfigurimit të Evolution, me nivelet major/minor/konfigurim"
+msgstr ""
+"Versioni i fundit i përditsuar i konfigurimit të Evolution, me nivelet major/"
+"minor/konfigurim"
-#: ../shell/apps_evolution_shell.schemas.in.in.h:17
+#: shell/apps_evolution_shell.schemas.in.in.h:17
msgid ""
"The style of the window buttons. Can be \"text\", \"icons\", \"both\", "
"\"toolbar\". If \"toolbar\" is set, the style of the buutons is determined "
"by the GNOME toolbar setting."
msgstr ""
"Stili i pulsantëve të dritares. Vlerat e lejuara janë \"text\", \"icons\", "
-"\"both\", \"toolbar\". Nëse caktohet \"toolbar\", stili i shtyllës së instrumentëve "
-"përcaktohet nga rregullimet e GNOME."
+"\"both\", \"toolbar\". Nëse caktohet \"toolbar\", stili i shtyllës së "
+"instrumentëve përcaktohet nga rregullimet e GNOME."
-#: ../shell/apps_evolution_shell.schemas.in.in.h:18
+#: shell/apps_evolution_shell.schemas.in.in.h:18
msgid "Toolbar is visible"
msgstr "Paneli i instrumentëve është i dukshëm"
-#: ../shell/apps_evolution_shell.schemas.in.in.h:19
+#: shell/apps_evolution_shell.schemas.in.in.h:19
msgid "Whether Evolution will start up in offline mode instead of online mode."
msgstr ""
"Nëse Evolution duhet të niset në modalitetin jashtë linje në vend të "
"modalitetit në linjë."
-#: ../shell/apps_evolution_shell.schemas.in.in.h:20
+#: shell/apps_evolution_shell.schemas.in.in.h:20
msgid "Whether the toolbar should be visible."
msgstr "Nëse paneli i instrumentëve duhet të jetë i dukshëm."
-#: ../shell/apps_evolution_shell.schemas.in.in.h:21
+#: shell/apps_evolution_shell.schemas.in.in.h:21
msgid "Whether the warning dialog in development versions of Evolution is skipped."
msgstr ""
-"Nëse dritarja e dialogut të paralajmërimit tek versioni në zhvillim i Evolution "
-"duhet kapërcyer."
+"Nëse dritarja e dialogut të paralajmërimit tek versioni në zhvillim i "
+"Evolution duhet kapërcyer."
-#: ../shell/apps_evolution_shell.schemas.in.in.h:22
+#: shell/apps_evolution_shell.schemas.in.in.h:22
msgid "Whether the window buttons should be visible."
msgstr "Nëse pulsantët e dritares duhet të jenë të dukshëm."
-#: ../shell/apps_evolution_shell.schemas.in.in.h:23
+#: shell/apps_evolution_shell.schemas.in.in.h:23
msgid "Window button style"
msgstr "Stili i pulsantëve të dritares"
-#: ../shell/apps_evolution_shell.schemas.in.in.h:24
+#: shell/apps_evolution_shell.schemas.in.in.h:24
msgid "Window buttons are visible"
msgstr "Pulsantët e dritares janë të dukshëm"
-#: ../shell/e-active-connection-dialog.glade.h:1
+#: shell/e-active-connection-dialog.glade.h:1
msgid "<b>Active Connections</b>"
msgstr "<b>Lidhjet aktive</b>"
-#: ../shell/e-active-connection-dialog.glade.h:2
+#: shell/e-active-connection-dialog.glade.h:2
msgid "Active Connections"
msgstr "Lidhjet aktive"
-#: ../shell/e-active-connection-dialog.glade.h:3
+#: shell/e-active-connection-dialog.glade.h:3
msgid "Click OK to close these connections and go offline"
msgstr "Kliko OK për të mbyllur këto lidhje dhe për të shkuar jashtë linje"
-#: ../shell/e-shell-folder-title-bar.c:586
-#: ../shell/e-shell-folder-title-bar.c:587
+#: shell/e-shell-folder-title-bar.c:586 shell/e-shell-folder-title-bar.c:587
msgid "(Untitled)"
msgstr "(Pa titull)"
-#: ../shell/e-shell-importer.c:147
+#: shell/e-shell-importer.c:147
msgid "Choose the type of importer to run:"
msgstr "Zgjidh llojin e importuesit për t'u përdorur:"
-#: ../shell/e-shell-importer.c:150
+#: shell/e-shell-importer.c:150
msgid ""
"Choose the file that you want to import into Evolution, and select what type "
"of file it is from the list.\n"
@@ -15141,15 +15066,15 @@ msgstr ""
"Mund të zgjidhni \"Automatike\" nëse nuk e njihni, dhe Evolution do të "
"mundohet t'a përpunojë."
-#: ../shell/e-shell-importer.c:156
+#: shell/e-shell-importer.c:156
msgid "Choose the destination for this import"
msgstr "Zgjidh destinimin për këtë importim"
-#: ../shell/e-shell-importer.c:159 ../shell/e-shell-startup-wizard.c:750
+#: shell/e-shell-importer.c:159 shell/e-shell-startup-wizard.c:750
msgid "Please select the information that you would like to import:"
msgstr "Zgjidhni informacionet që dëshironi të importoni:"
-#: ../shell/e-shell-importer.c:162
+#: shell/e-shell-importer.c:162
msgid ""
"Evolution checked for settings to import from the following\n"
"applications: Pine, Netscape, Elm, iCalendar. No settings\n"
@@ -15161,7 +15086,7 @@ msgstr ""
"Nuk u gjet asnjë rregullim i importueshëm. Nëse dëshironi të\n"
"riprovoni, kliko tek butoni \"Mbrapa\".\n"
-#: ../shell/e-shell-importer.c:233 ../shell/e-shell-importer.c:267
+#: shell/e-shell-importer.c:233 shell/e-shell-importer.c:267
#, c-format
msgid ""
"Importing %s\n"
@@ -15170,30 +15095,30 @@ msgstr ""
"Duke importuar %s\n"
"Duke importuar elementin %d."
-#: ../shell/e-shell-importer.c:341
+#: shell/e-shell-importer.c:341
msgid "Select importer"
msgstr "Zgjidh importuesin"
-#: ../shell/e-shell-importer.c:462 ../shell/e-shell-importer.c:1086
+#: shell/e-shell-importer.c:462 shell/e-shell-importer.c:1086
#, c-format
msgid "File %s does not exist"
msgstr "File %s nuk ekziston"
-#: ../shell/e-shell-importer.c:470
+#: shell/e-shell-importer.c:470
msgid "Importing"
msgstr "Duke importuar"
-#: ../shell/e-shell-importer.c:478
+#: shell/e-shell-importer.c:478
#, c-format
msgid "Importing %s.\n"
msgstr "Duke importuar %s.\n"
-#: ../shell/e-shell-importer.c:488 ../shell/e-shell-importer.c:489
+#: shell/e-shell-importer.c:488 shell/e-shell-importer.c:489
#, c-format
msgid "Error loading %s"
msgstr "Gabim gjatë ngarkimit të %s"
-#: ../shell/e-shell-importer.c:507
+#: shell/e-shell-importer.c:507
#, c-format
msgid ""
"Importing %s\n"
@@ -15202,31 +15127,31 @@ msgstr ""
"Duke importuar %s\n"
"Duke importuar elementin 1."
-#: ../shell/e-shell-importer.c:583
+#: shell/e-shell-importer.c:583
msgid "Automatic"
msgstr "Në menyrë automatike"
-#: ../shell/e-shell-importer.c:639
+#: shell/e-shell-importer.c:639
msgid "F_ilename:"
msgstr "Emri i f_ile:"
-#: ../shell/e-shell-importer.c:644
+#: shell/e-shell-importer.c:644
msgid "Select a file"
msgstr "Zgjidh një file"
-#: ../shell/e-shell-importer.c:656
+#: shell/e-shell-importer.c:656
msgid "File _type:"
msgstr "_Lloji i file:"
-#: ../shell/e-shell-importer.c:695
+#: shell/e-shell-importer.c:695
msgid "Import data and settings from _older programs"
msgstr "Importo të dhënat dhe rregullimet nga programe të _vjetër"
-#: ../shell/e-shell-importer.c:698
+#: shell/e-shell-importer.c:698
msgid "Import a _single file"
msgstr "Importo një file të _vetëm"
-#: ../shell/e-shell-importer.c:766 ../shell/e-shell-startup-wizard.c:571
+#: shell/e-shell-importer.c:766 shell/e-shell-startup-wizard.c:571
msgid ""
"Please wait...\n"
"Scanning for existing setups"
@@ -15234,41 +15159,41 @@ msgstr ""
"Durim...\n"
"Duke kontrolluar për rregullime ekzistuese"
-#: ../shell/e-shell-importer.c:773
+#: shell/e-shell-importer.c:773
msgid "Starting Intelligent Importers"
msgstr "Duke filluar importuesit inteligjentë"
-#: ../shell/e-shell-importer.c:899 ../shell/e-shell-startup-wizard.c:700
+#: shell/e-shell-importer.c:899 shell/e-shell-startup-wizard.c:700
#, c-format
msgid "From %s:"
msgstr "Nga %s:"
-#: ../shell/e-shell-importer.c:1105
+#: shell/e-shell-importer.c:1105
#, c-format
msgid "No importer available for file %s"
msgstr "Asnjë importues për file %s"
-#: ../shell/e-shell-importer.c:1119
+#: shell/e-shell-importer.c:1119
msgid "Unable to execute importer"
msgstr "I pamundur ekzekutimi i importuesit"
-#: ../shell/e-shell-importer.c:1235
+#: shell/e-shell-importer.c:1235
msgid "_Import"
msgstr "_Importo"
-#: ../shell/e-shell-offline-handler.c:589
+#: shell/e-shell-offline-handler.c:589
msgid "Closing connections..."
msgstr "Duke mbyllur lidhjet..."
-#: ../shell/e-shell-settings-dialog.c:318
+#: shell/e-shell-settings-dialog.c:318
msgid "Evolution Settings"
msgstr "Rregullimet e Evolution"
-#: ../shell/e-shell-startup-wizard.c:577
+#: shell/e-shell-startup-wizard.c:577
msgid "Starting import"
msgstr "Duke filluar importimin"
-#: ../shell/e-shell-startup-wizard.c:797
+#: shell/e-shell-startup-wizard.c:797
msgid ""
"If you quit the Evolution Setup Assistant now, all of the information that "
"you have entered will be forgotten. You will need to run this assistant "
@@ -15282,145 +15207,146 @@ msgstr ""
"\n"
"Dëshironi të përfundoni tani përdorimin e Asistentit?"
-#: ../shell/e-shell-utils.c:116
+#: shell/e-shell-utils.c:116
msgid "No folder name specified."
msgstr "Nuk është specifikuar emri i kartelës."
-#: ../shell/e-shell-utils.c:123
+#: shell/e-shell-utils.c:123
msgid "Folder name cannot contain the Return character."
msgstr "Emri i kartelës nuk mund të përmbajë simbolin \"Return\"."
-#: ../shell/e-shell-utils.c:129
+#: shell/e-shell-utils.c:129
msgid "Folder name cannot contain the character \"/\"."
msgstr "Emri i kartelës nuk mund të përmbajë shenjën \"/\"."
-#: ../shell/e-shell-utils.c:135
+#: shell/e-shell-utils.c:135
msgid "Folder name cannot contain the character \"#\"."
msgstr "Emri i kartelës nuk mund të përmbajë shenjën \"#\"."
-#: ../shell/e-shell-utils.c:141
+#: shell/e-shell-utils.c:141
msgid "'.' and '..' are reserved folder names."
msgstr "'.' and '..' janë emra kartelash të rezervuar."
-#: ../shell/e-shell-window-commands.c:69
+#: shell/e-shell-window-commands.c:69
msgid "The GNOME Pilot tools do not appear to be installed on this system."
msgstr "Veglat GNOME Pilot nuk duken të jenë të instaluara në këtë sistem."
-#: ../shell/e-shell-window-commands.c:77
+#: shell/e-shell-window-commands.c:77
#, c-format
msgid "Error executing %s."
msgstr "Gabim gjatë ekzekutimit të %s."
-#: ../shell/e-shell-window-commands.c:126
+#: shell/e-shell-window-commands.c:126
msgid "Bug buddy is not installed."
msgstr "Bug buddy nuk është i instaluar."
-#: ../shell/e-shell-window-commands.c:134
+#: shell/e-shell-window-commands.c:134
msgid "Bug buddy could not be run."
msgstr "Bug buddy nuk mund të vihet në funksionim."
#. The translator-credits string is for translators to list
#. * per language credits for translation, displayed in the
#. * about box
-#: ../shell/e-shell-window-commands.c:501
+#: shell/e-shell-window-commands.c:501
msgid "translator-credits"
msgstr "Laurent Dhima <laurenti@alblinux.net>"
-#: ../shell/e-shell-window-commands.c:515
+#: shell/e-shell-window-commands.c:515
msgid "Groupware Suite"
msgstr "Suite Groupware"
-#: ../shell/e-shell-window-commands.c:742
+#: shell/e-shell-window-commands.c:742
msgid "_Work Online"
msgstr "_Puno online"
-#: ../shell/e-shell-window-commands.c:755 ../ui/evolution.xml.h:51
+#: shell/e-shell-window-commands.c:755 ui/evolution.xml.h:51
msgid "_Work Offline"
msgstr "_Puno Jashtë Linje"
-#: ../shell/e-shell-window-commands.c:768 ../ui/evolution.xml.h:34
+#: shell/e-shell-window-commands.c:768 ui/evolution.xml.h:34
msgid "Work Offline"
msgstr "Puno online"
-#: ../shell/e-shell-window.c:341
+#: shell/e-shell-window.c:341
msgid "Evolution is currently online. Click on this button to work offline."
msgstr "Evolution aktualisht është online. Kliko tek ky buton për të punuar offline."
-#: ../shell/e-shell-window.c:349
+#: shell/e-shell-window.c:349
msgid "Evolution is in the process of going offline."
msgstr "Evolution është në procesin e daljes offline."
-#: ../shell/e-shell-window.c:356
+#: shell/e-shell-window.c:356
msgid "Evolution is currently offline. Click on this button to work online."
msgstr "Evolution aktualisht është offline. Kliko tek ky buton për të punuar online."
-#: ../shell/e-shell-window.c:713
+#: shell/e-shell-window.c:713
#, c-format
msgid "Switch to %s"
msgstr "Kalo tek %s"
-#: ../shell/e-shell.c:598
+#: shell/e-shell.c:598
msgid "Uknown system error."
msgstr "Gabim i panjohur sistemi."
-#: ../shell/e-shell.c:800 ../shell/e-shell.c:801
+#: shell/e-shell.c:800 shell/e-shell.c:801
#, c-format
msgid "%ld KB"
msgstr "%ld KB"
-#: ../shell/e-shell.c:1254 ../widgets/misc/e-cell-date-edit.c:256
+#: shell/e-shell.c:1254 widgets/misc/e-cell-date-edit.c:256
msgid "OK"
msgstr "OK"
-#: ../shell/e-shell.c:1256
+#: shell/e-shell.c:1256
msgid "Invalid arguments"
msgstr "Argumente të pavlefshme"
-#: ../shell/e-shell.c:1258
+#: shell/e-shell.c:1258
msgid "Cannot register on OAF"
msgstr "I pamundur regjistrimi në OAF"
-#: ../shell/e-shell.c:1260
+#: shell/e-shell.c:1260
msgid "Configuration Database not found"
msgstr "Nuk u gjet databaza e konfigurimit "
-#: ../shell/e-shell.c:1262
+#: shell/e-shell.c:1262
msgid "Generic error"
msgstr "Gabim i përgjithshëm"
-#: ../shell/e-user-creatable-items-handler.c:685
+#: shell/e-user-creatable-items-handler.c:685
msgid "New"
msgstr "E re"
-#: ../shell/evolution-startup-wizard.glade.h:2
+#: shell/evolution-startup-wizard.glade.h:2
msgid "Evolution Setup Assistant"
msgstr "Asistenti i rregullimit të Evolution"
-#: ../shell/evolution-startup-wizard.glade.h:3
+#: shell/evolution-startup-wizard.glade.h:3
msgid "Importing Files"
msgstr "Duke importuar files"
-#: ../shell/evolution-startup-wizard.glade.h:4
+#: shell/evolution-startup-wizard.glade.h:4
msgid "Timezone "
msgstr "Zona orare "
-#: ../shell/evolution-startup-wizard.glade.h:5
+#: shell/evolution-startup-wizard.glade.h:5
msgid "Welcome"
msgstr "Mirësevini"
-#: ../shell/evolution-startup-wizard.glade.h:6
+#: shell/evolution-startup-wizard.glade.h:6
msgid ""
"Welcome to Evolution. The next few screens will allow Evolution to connect "
"to your email accounts, and to import files from other applications. \n"
"\n"
"Please click the \"Forward\" button to continue. "
msgstr ""
-"Mirësevini tek Evolution. Hapat në vazhdim do të mundësojnë Evolution të lidhet "
-"me llogaritë e tua email, dhe të imortojë filesnga programet e tjerë. \n"
+"Mirësevini tek Evolution. Hapat në vazhdim do të mundësojnë Evolution të "
+"lidhet me llogaritë e tua email, dhe të imortojë filesnga programet e "
+"tjerë. \n"
"\n"
"Ju lutem kliko butonin \"Vazhdo\" për të vazhduar. "
-#: ../shell/evolution-startup-wizard.glade.h:9
+#: shell/evolution-startup-wizard.glade.h:9
msgid ""
"You have successfully entered all of the information needed to set up "
"Evolution. \n"
@@ -15432,47 +15358,47 @@ msgstr ""
"\n"
"Kliko butonin \"Apliko\" për të ruajtur rregullimet. "
-#: ../shell/evolution-test-component.c:140
+#: shell/evolution-test-component.c:140
msgid "New Test"
msgstr "Provë e re"
-#: ../shell/evolution-test-component.c:141
+#: shell/evolution-test-component.c:141
msgid "_Test"
msgstr "_Kontrolloje"
-#: ../shell/evolution-test-component.c:142
+#: shell/evolution-test-component.c:142
msgid "Create a new test item"
msgstr "Krijo një element të ri prove"
-#: ../shell/importer/import.glade.h:1
+#: shell/importer/import.glade.h:1
msgid "Click \"Import\" to begin importing the file into Evolution. "
msgstr "Kliko \"Importo\" për të filluar importimin e file nën Evolution. "
-#: ../shell/importer/import.glade.h:2
+#: shell/importer/import.glade.h:2
msgid "Evolution Import Assistant"
msgstr "Asistenti i importimeve në Evolution"
-#: ../shell/importer/import.glade.h:3
+#: shell/importer/import.glade.h:3
msgid "Import File"
msgstr "Importimi i file"
-#: ../shell/importer/import.glade.h:4
+#: shell/importer/import.glade.h:4
msgid "Import Location"
msgstr "Pozicioni i importimit"
-#: ../shell/importer/import.glade.h:5
+#: shell/importer/import.glade.h:5
msgid "Importer Type"
msgstr "Lloji i importuesit"
-#: ../shell/importer/import.glade.h:6
+#: shell/importer/import.glade.h:6
msgid "Select Importers"
msgstr "Zgjidh importuesit"
-#: ../shell/importer/import.glade.h:7
+#: shell/importer/import.glade.h:7
msgid "Select a File"
msgstr "Zgjidh një file"
-#: ../shell/importer/import.glade.h:8
+#: shell/importer/import.glade.h:8
msgid ""
"Welcome to the Evolution Import Assistant.\n"
"With this assistant you will be guided through the process of\n"
@@ -15482,28 +15408,28 @@ msgstr ""
"Me këtë asistent ju do të udhëhiqeni gjatë proçesit të importimit\n"
"të files së jashtëm nën Evolution."
-#: ../shell/importer/intelligent.c:193
+#: shell/importer/intelligent.c:193
msgid "Importers"
msgstr "Importues"
-#: ../shell/importer/intelligent.c:195 ../smime/gui/smime-ui.glade.h:28
+#: shell/importer/intelligent.c:195 smime/gui/smime-ui.glade.h:28
msgid "Import"
msgstr "Importo"
-#: ../shell/importer/intelligent.c:199
+#: shell/importer/intelligent.c:199
msgid "Don't import"
msgstr "Mos importo"
-#: ../shell/importer/intelligent.c:203
+#: shell/importer/intelligent.c:203
msgid "Don't ask me again"
msgstr "Mos më pyet më"
-#: ../shell/importer/intelligent.c:211
+#: shell/importer/intelligent.c:211
msgid "Evolution can import data from the following files:"
msgstr "Evolution mund të importojë të dhënat nga files në vazhdim:"
#. Preview/Alpha/Beta version warning message
-#: ../shell/main.c:238
+#: shell/main.c:238
#, no-c-format
msgid ""
"Hi. Thanks for taking the time to download this preview release\n"
@@ -15541,7 +15467,7 @@ msgstr ""
"Shpresojmë t'ju pëlqejë rezultati i punës sonë të vështirë, dhe\n"
"ne presim me dëshirë kontributin tuaj!\n"
-#: ../shell/main.c:262
+#: shell/main.c:262
msgid ""
"Thanks\n"
"The Evolution Team\n"
@@ -15549,39 +15475,39 @@ msgstr ""
"Ju faleminderit\n"
"The Evolution Team\n"
-#: ../shell/main.c:269
+#: shell/main.c:269
msgid "Don't tell me again"
msgstr "Mos e shfaq më"
-#: ../shell/main.c:474
+#: shell/main.c:474
msgid "Start Evolution activating the specified component"
msgstr "Fillo Evolution duke aktivuar komponentin e specifikuar"
-#: ../shell/main.c:478
+#: shell/main.c:478
msgid "Start in online mode"
msgstr "Fillo në modalitetin në linjë"
-#: ../shell/main.c:481
+#: shell/main.c:481
msgid "Forcibly shut down all Evolution components"
msgstr "Detyro përfundimin e të gjithë komponentëve të Evolution"
-#: ../shell/main.c:485
+#: shell/main.c:485
msgid "Forcibly re-migrate from Evolution 1.4"
msgstr "Detyro ri-emigrimin nga Evolution 1.4"
-#: ../shell/main.c:488
+#: shell/main.c:488
msgid "Send the debugging output of all components to a file."
msgstr "Dërgo rezultatin e debug të të gjithë komponuesve në një file."
-#: ../shell/main.c:491
+#: shell/main.c:491
msgid "Disable the mono plugin environment."
msgstr "Ç'aktivo ambientin mono plugin."
-#: ../shell/main.c:494
+#: shell/main.c:494
msgid "Disable loading of any plugins."
msgstr "Ç'aktivo ngarkimin e çfarëdo plugin."
-#: ../shell/main.c:525
+#: shell/main.c:525
#, c-format
msgid ""
"%s: --online and --offline cannot be used together.\n"
@@ -15591,12 +15517,12 @@ msgstr ""
" Përdor %s --help për informacione të detajuara.\n"
#. shell:upgrade-nospace primary
-#: ../shell/shell-errors.xml.h:2
+#: shell/shell-errors.xml.h:2
msgid "Insufficient disk space for upgrade."
msgstr "Hapësirë e pamjaftueshme për upgrade."
#. shell:upgrade-nospace secondary
-#: ../shell/shell-errors.xml.h:4
+#: shell/shell-errors.xml.h:4
msgid ""
"Upgrading your data and settings will require upto {0} of disk space, but "
"you only have {1} available.\n"
@@ -15611,7 +15537,7 @@ msgstr ""
"vazhdoni."
#. shell:upgrade-failed primary
-#: ../shell/shell-errors.xml.h:8
+#: shell/shell-errors.xml.h:8
msgid ""
"Upgrade from previous version failed:\n"
"{0}"
@@ -15620,7 +15546,7 @@ msgstr ""
"{0}"
#. shell:upgrade-failed secondary
-#: ../shell/shell-errors.xml.h:11
+#: shell/shell-errors.xml.h:11
msgid ""
"{1}\n"
"\n"
@@ -15632,18 +15558,18 @@ msgstr ""
"Nëse vendosni të vazhdoni, ndoshta nuk do të keni më hyrje në disa nga të "
"dhënat e vjetra.\n"
-#: ../shell/shell-errors.xml.h:15
+#: shell/shell-errors.xml.h:15
msgid "Continue"
msgstr "Vazhdo"
#. shell:upgrade-remove-1-4 title
#. shell:upgrade-remove-1-4 primary
-#: ../shell/shell-errors.xml.h:17 ../shell/shell-errors.xml.h:19
+#: shell/shell-errors.xml.h:17 shell/shell-errors.xml.h:19
msgid "Delete old data from version {0}?"
msgstr "Eleminon të dhënat e vjetra nga versioni {0}?"
#. shell:upgrade-remove-1-4 secondary
-#: ../shell/shell-errors.xml.h:21
+#: shell/shell-errors.xml.h:21
msgid ""
"The previous version of evolution stored its data in a different location.\n"
"\n"
@@ -15660,22 +15586,22 @@ msgstr ""
"dhënat, atëhere do të mund të eleminoni manualisht përmbajtjen e \"evolution"
"\" sipas dëshirës.\n"
-#: ../shell/shell-errors.xml.h:25
+#: shell/shell-errors.xml.h:25
msgid "_Remind Me Later"
msgstr "_Kujtomë më vonë"
-#: ../shell/shell-errors.xml.h:26
+#: shell/shell-errors.xml.h:26
msgid "_Keep Data"
msgstr "_Mbaj të dhënat"
#. shell:upgrade-remove-1-4-confirm title
#. shell:upgrade-remove-1-4-confirm primary
-#: ../shell/shell-errors.xml.h:28 ../shell/shell-errors.xml.h:30
+#: shell/shell-errors.xml.h:28 shell/shell-errors.xml.h:30
msgid "Really delete old data?"
msgstr "Me të vërtetë eleminon të dhënat e vjetra?"
#. shell:upgrade-remove-1-4-confirm secondary
-#: ../shell/shell-errors.xml.h:32
+#: shell/shell-errors.xml.h:32
msgid ""
"The entire contents of the \"evolution\" directory is about to be be "
"permanently removed.\n"
@@ -15698,18 +15624,18 @@ msgstr ""
#. shell:noshell title
#. shell:noshell-reason title
-#: ../shell/shell-errors.xml.h:39 ../shell/shell-errors.xml.h:47
+#: shell/shell-errors.xml.h:39 shell/shell-errors.xml.h:47
msgid "Cannot start Evolution"
msgstr "E pamundur nisja e Evolution"
#. shell:noshell primary
#. shell:noshell-reason primary
-#: ../shell/shell-errors.xml.h:41 ../shell/shell-errors.xml.h:49
+#: shell/shell-errors.xml.h:41 shell/shell-errors.xml.h:49
msgid "Evolution can not start."
msgstr "E pamundur nisja e Evolution."
#. shell:noshell secondary
-#: ../shell/shell-errors.xml.h:43
+#: shell/shell-errors.xml.h:43
msgid ""
"Your system configuration does not match your Evolution configuration.\n"
"\n"
@@ -15720,7 +15646,7 @@ msgstr ""
"Kliko \"ndihmë\" për detajet"
#. shell:noshell-reason secondary
-#: ../shell/shell-errors.xml.h:51
+#: shell/shell-errors.xml.h:51
msgid ""
"Your system configuration does not match your Evolution configuration:\n"
"\n"
@@ -15734,7 +15660,7 @@ msgstr ""
"\n"
"Kliko \"ndihmë\" për detajet."
-#: ../smime/gui/ca-trust-dialog.c:96
+#: smime/gui/ca-trust-dialog.c:96
#, c-format
msgid ""
"Certificate '%s' is a CA certificate.\n"
@@ -15745,7 +15671,7 @@ msgstr ""
"\n"
"Ndrysho rregullimet e besueshmërisë:"
-#: ../smime/gui/cert-trust-dialog.c:145
+#: smime/gui/cert-trust-dialog.c:145
msgid ""
"Because you trust the certificate authority that issued this certificate, "
"then you trust the authenticity of this certificate unless otherwise "
@@ -15755,7 +15681,7 @@ msgstr ""
"atëhere ju i besoni vërtetësisë së kësaj çertifikate, me përjashtim të "
"specifikimit të kundërt këtu"
-#: ../smime/gui/cert-trust-dialog.c:149
+#: smime/gui/cert-trust-dialog.c:149
msgid ""
"Because you do not trust the certificate authority that issued this "
"certificate, then you do not trust the authenticity of this certificate "
@@ -15765,60 +15691,55 @@ msgstr ""
"çertifikatë, atëhere ju nuk i besoni vërtetësisë së kësaj çertifikate, me "
"përjashtim të specifikimit të kundërt këtu"
-#: ../smime/gui/certificate-manager.c:134
-#: ../smime/gui/certificate-manager.c:142
-#: ../smime/gui/certificate-manager.c:377
-#: ../smime/gui/certificate-manager.c:385
-#: ../smime/gui/certificate-manager.c:597
-#: ../smime/gui/certificate-manager.c:605
+#: smime/gui/certificate-manager.c:134 smime/gui/certificate-manager.c:142
+#: smime/gui/certificate-manager.c:377 smime/gui/certificate-manager.c:385
+#: smime/gui/certificate-manager.c:597 smime/gui/certificate-manager.c:605
msgid "Select a cert to import..."
msgstr "Zgjidh një çertifikatë për t'a importuar..."
-#: ../smime/gui/certificate-manager.c:265
-#: ../smime/gui/certificate-manager.c:474
-#: ../smime/gui/certificate-manager.c:692
+#: smime/gui/certificate-manager.c:265 smime/gui/certificate-manager.c:474
+#: smime/gui/certificate-manager.c:692
msgid "Certificate Name"
msgstr "Emri i çertifikatës"
-#: ../smime/gui/certificate-manager.c:274
-#: ../smime/gui/certificate-manager.c:492
+#: smime/gui/certificate-manager.c:274 smime/gui/certificate-manager.c:492
msgid "Purposes"
msgstr "Qëllime"
-#: ../smime/gui/certificate-manager.c:283 ../smime/gui/smime-ui.glade.h:36
-#: ../smime/lib/e-cert.c:569
+#: smime/gui/certificate-manager.c:283 smime/gui/smime-ui.glade.h:36
+#: smime/lib/e-cert.c:569
msgid "Serial Number"
msgstr "Numri i serisë"
-#: ../smime/gui/certificate-manager.c:291
+#: smime/gui/certificate-manager.c:291
msgid "Expires"
msgstr "Skadimi"
-#: ../smime/gui/certificate-manager.c:483
+#: smime/gui/certificate-manager.c:483
msgid "E-Mail Address"
msgstr "Adresa E-Mail"
-#: ../smime/gui/certificate-viewer.c:334
+#: smime/gui/certificate-viewer.c:334
#, c-format
msgid "Certificate Viewer: %s"
msgstr "Shikuesi i çertifikatave: %s"
-#: ../smime/gui/component.c:45
+#: smime/gui/component.c:45
#, c-format
msgid "Enter the password for `%s'"
msgstr "Shkruaj fjalëkalimin për `%s'"
#. we're setting the password initially
-#: ../smime/gui/component.c:68
+#: smime/gui/component.c:68
msgid "Enter new password for certificate database"
msgstr "Shkruaj fjalëkalimin e ri për databazën e çertifikatave"
-#: ../smime/gui/component.c:70
+#: smime/gui/component.c:70
msgid "Enter new password"
msgstr "Shkruaj fjalëkalimin e ri"
#. FIXME: add serial no, validity date, uses
-#: ../smime/gui/e-cert-selector.c:119
+#: smime/gui/e-cert-selector.c:119
#, c-format
msgid ""
"Issued to:\n"
@@ -15827,7 +15748,7 @@ msgstr ""
"Dërguar për:\n"
" Subjekti: %s\n"
-#: ../smime/gui/e-cert-selector.c:120
+#: smime/gui/e-cert-selector.c:120
#, c-format
msgid ""
"Issued by:\n"
@@ -15836,59 +15757,59 @@ msgstr ""
"Dërguar nga:\n"
" Subjekti: %s\n"
-#: ../smime/gui/e-cert-selector.c:167
+#: smime/gui/e-cert-selector.c:167
msgid "Select certificate"
msgstr "Zgjidh një çertifikatë"
-#: ../smime/gui/smime-ui.glade.h:1
+#: smime/gui/smime-ui.glade.h:1
msgid "<Not Part of Certificate>"
msgstr "<Nuk është pjesë e një çertifikate>"
-#: ../smime/gui/smime-ui.glade.h:2
+#: smime/gui/smime-ui.glade.h:2
msgid "<b>Certificate Fields</b>"
msgstr "<b>Fushat e çertifikatës</b>"
-#: ../smime/gui/smime-ui.glade.h:3
+#: smime/gui/smime-ui.glade.h:3
msgid "<b>Certificate Hierarchy</b>"
msgstr "<b>Gjerarkia e çertifikatës</b>"
-#: ../smime/gui/smime-ui.glade.h:4
+#: smime/gui/smime-ui.glade.h:4
msgid "<b>Field Value</b>"
msgstr "<b>Vlera e fushës</b>"
-#: ../smime/gui/smime-ui.glade.h:5
+#: smime/gui/smime-ui.glade.h:5
msgid "<b>Fingerprints</b>"
msgstr "<b>Shenjat dalluese</b>"
-#: ../smime/gui/smime-ui.glade.h:6
+#: smime/gui/smime-ui.glade.h:6
msgid "<b>Issued By</b>"
msgstr "<b>Lëshuar nga</b>"
-#: ../smime/gui/smime-ui.glade.h:7
+#: smime/gui/smime-ui.glade.h:7
msgid "<b>Issued To</b>"
msgstr "<b>Lëshuar për</b>"
-#: ../smime/gui/smime-ui.glade.h:8
+#: smime/gui/smime-ui.glade.h:8
msgid "<b>This certificate has been verified for the following uses:</b>"
msgstr "<b>Kjo çertifikatë është verifikuar për përdorimet në vazhdim:</b>"
-#: ../smime/gui/smime-ui.glade.h:9
+#: smime/gui/smime-ui.glade.h:9
msgid "<b>Validity</b>"
msgstr "<b>Vlefshmëria</b>"
-#: ../smime/gui/smime-ui.glade.h:10
+#: smime/gui/smime-ui.glade.h:10
msgid "Authorities"
msgstr "Autoritetet"
-#: ../smime/gui/smime-ui.glade.h:11
+#: smime/gui/smime-ui.glade.h:11
msgid "Backup"
msgstr "Backup (kopje)"
-#: ../smime/gui/smime-ui.glade.h:12
+#: smime/gui/smime-ui.glade.h:12
msgid "Backup All"
msgstr "Backup Gjithçka"
-#: ../smime/gui/smime-ui.glade.h:13
+#: smime/gui/smime-ui.glade.h:13
msgid ""
"Before trusting this CA for any purpose, you should examine its certificate "
"and its policy and procedures (if available)."
@@ -15896,1751 +15817,1750 @@ msgstr ""
"Para se t'i besoni CA për çdo përdorim, duhet të kontrolloni çertifikatën e "
"tij dhe politikën e proçedurat (nëse jepen)."
-#: ../smime/gui/smime-ui.glade.h:14 ../smime/lib/e-cert.c:1076
+#: smime/gui/smime-ui.glade.h:14 smime/lib/e-cert.c:1076
msgid "Certificate"
msgstr "Çertifikatë"
-#: ../smime/gui/smime-ui.glade.h:15
+#: smime/gui/smime-ui.glade.h:15
msgid "Certificate Authority Trust"
msgstr "Vërtetsia e autoritetit çertifikues"
-#: ../smime/gui/smime-ui.glade.h:16
+#: smime/gui/smime-ui.glade.h:16
msgid "Certificate details"
msgstr "Hollësitë e çertifikatës"
-#: ../smime/gui/smime-ui.glade.h:17
+#: smime/gui/smime-ui.glade.h:17
msgid "Common Name (CN)"
msgstr "Emri i përbashkët (CN)"
-#: ../smime/gui/smime-ui.glade.h:18
+#: smime/gui/smime-ui.glade.h:18
msgid "Contact Certificates"
msgstr "Çertifikatat e kontakteve"
-#: ../smime/gui/smime-ui.glade.h:20
+#: smime/gui/smime-ui.glade.h:20
msgid "Do not trust the authenticity of this certificate"
msgstr "Mos beso vërtetsinë e kësaj çertifikate"
-#: ../smime/gui/smime-ui.glade.h:21
+#: smime/gui/smime-ui.glade.h:21
msgid "Dummy window only"
msgstr "Vetëm dritare bosh"
-#: ../smime/gui/smime-ui.glade.h:22
+#: smime/gui/smime-ui.glade.h:22
msgid "Edit"
msgstr "Ndrysho"
-#: ../smime/gui/smime-ui.glade.h:23
+#: smime/gui/smime-ui.glade.h:23
msgid "Email Certificate Trust Settings"
msgstr "Rregullimet e besimit tek çertifikimi email"
-#: ../smime/gui/smime-ui.glade.h:24
+#: smime/gui/smime-ui.glade.h:24
msgid "Email Recipient Certificate"
msgstr "Çertifikata e përmbajtjes së email"
-#: ../smime/gui/smime-ui.glade.h:25
+#: smime/gui/smime-ui.glade.h:25
msgid "Email Signer Certificate"
msgstr "Çertifikata e firmuesit të email"
-#: ../smime/gui/smime-ui.glade.h:26
+#: smime/gui/smime-ui.glade.h:26
msgid "Expires On"
msgstr "Skadon në datën"
-#: ../smime/gui/smime-ui.glade.h:29
+#: smime/gui/smime-ui.glade.h:29
msgid "Issued On"
msgstr "Lëshuar në datën"
-#: ../smime/gui/smime-ui.glade.h:30
+#: smime/gui/smime-ui.glade.h:30
msgid "MD5 Fingerprint"
msgstr "Shenjë dallimi dixhital MD5"
-#: ../smime/gui/smime-ui.glade.h:31
+#: smime/gui/smime-ui.glade.h:31
msgid "Organization (O)"
msgstr "Organizata (O)"
-#: ../smime/gui/smime-ui.glade.h:32
+#: smime/gui/smime-ui.glade.h:32
msgid "Organizational Unit (OU)"
msgstr "Njësia organizative (OU)"
-#: ../smime/gui/smime-ui.glade.h:33
+#: smime/gui/smime-ui.glade.h:33
msgid "SHA1 Fingerprint"
msgstr "Shenjë dallimi dixhital SHA1"
-#: ../smime/gui/smime-ui.glade.h:34 ../smime/lib/e-cert.c:818
+#: smime/gui/smime-ui.glade.h:34 smime/lib/e-cert.c:818
msgid "SSL Client Certificate"
msgstr "Çertifikata e klientit SSL"
-#: ../smime/gui/smime-ui.glade.h:35 ../smime/lib/e-cert.c:822
+#: smime/gui/smime-ui.glade.h:35 smime/lib/e-cert.c:822
msgid "SSL Server Certificate"
msgstr "Çertifikata e serverit SSL"
-#: ../smime/gui/smime-ui.glade.h:37
+#: smime/gui/smime-ui.glade.h:37
msgid "Trust the authenticity of this certificate"
msgstr "Beso vërtetsinë e kësaj çertifikate"
-#: ../smime/gui/smime-ui.glade.h:38
+#: smime/gui/smime-ui.glade.h:38
msgid "Trust this CA to identify email users."
msgstr "Besoi këtij CA për të identifikuar përdoruesit e postës."
-#: ../smime/gui/smime-ui.glade.h:39
+#: smime/gui/smime-ui.glade.h:39
msgid "Trust this CA to identify software developers."
msgstr "Besoi këtij CA për të identifikuar zhvilluesit e programeve."
-#: ../smime/gui/smime-ui.glade.h:40
+#: smime/gui/smime-ui.glade.h:40
msgid "Trust this CA to identify web sites."
msgstr "Besoi këtij CA për të identifikuar sitet web."
-#: ../smime/gui/smime-ui.glade.h:41
+#: smime/gui/smime-ui.glade.h:41
msgid "View"
msgstr "Shfaq"
-#: ../smime/gui/smime-ui.glade.h:42
+#: smime/gui/smime-ui.glade.h:42
msgid "You have certificates from these organizations that identify you:"
msgstr "Keni çertifikata nga këto organizata që ju identifikojnë:"
-#: ../smime/gui/smime-ui.glade.h:43
+#: smime/gui/smime-ui.glade.h:43
msgid "You have certificates on file that identify these certificate authorities:"
msgstr "Keni çertifikata në file që identifikojnë këto autoritete:"
-#: ../smime/gui/smime-ui.glade.h:44
+#: smime/gui/smime-ui.glade.h:44
msgid "You have certificates on file that identify these people:"
msgstr "Keni çertifikata në file që identifikojnë këta persona:"
-#: ../smime/gui/smime-ui.glade.h:45
+#: smime/gui/smime-ui.glade.h:45
msgid "Your Certificates"
msgstr "Çertifikatat tuaja"
-#: ../smime/gui/smime-ui.glade.h:46
+#: smime/gui/smime-ui.glade.h:46
msgid "_Edit CA Trust"
msgstr "_Ndrysho besimin tek CA"
-#: ../smime/gui/smime-ui.glade.h:48
+#: smime/gui/smime-ui.glade.h:48
msgid "dialog1"
msgstr "dialogu1"
#. XXX we shouldn't be popping up dialogs in this code.
-#: ../smime/lib/e-cert-db.c:612
+#: smime/lib/e-cert-db.c:612
msgid "Certificate already exists"
msgstr "Çertifikata ekziston"
-#: ../smime/lib/e-cert.c:238 ../smime/lib/e-cert.c:248
+#: smime/lib/e-cert.c:238 smime/lib/e-cert.c:248
msgid "%d/%m/%Y"
msgstr "%d/%m/%Y"
#. x509 certificate usage types
-#: ../smime/lib/e-cert.c:424
+#: smime/lib/e-cert.c:424
msgid "Sign"
msgstr "Sinj"
-#: ../smime/lib/e-cert.c:425
+#: smime/lib/e-cert.c:425
msgid "Encrypt"
msgstr "Kriptimi"
-#: ../smime/lib/e-cert.c:530
+#: smime/lib/e-cert.c:530
msgid "Version"
msgstr "Versioni"
-#: ../smime/lib/e-cert.c:545
+#: smime/lib/e-cert.c:545
msgid "Version 1"
msgstr "Versioni 1"
-#: ../smime/lib/e-cert.c:548
+#: smime/lib/e-cert.c:548
msgid "Version 2"
msgstr "Versioni 2"
-#: ../smime/lib/e-cert.c:551
+#: smime/lib/e-cert.c:551
msgid "Version 3"
msgstr "Versioni 3"
-#: ../smime/lib/e-cert.c:633
+#: smime/lib/e-cert.c:633
msgid "PKCS #1 MD2 With RSA Encryption"
msgstr "PKCS #1 MD2 me kriptim RSA"
-#: ../smime/lib/e-cert.c:636
+#: smime/lib/e-cert.c:636
msgid "PKCS #1 MD5 With RSA Encryption"
msgstr "PKCS #1 MD5 me kriptim RSA"
-#: ../smime/lib/e-cert.c:639
+#: smime/lib/e-cert.c:639
msgid "PKCS #1 SHA-1 With RSA Encryption"
msgstr "PKCS #1 SHA-1 me kriptim RSA"
-#: ../smime/lib/e-cert.c:642
+#: smime/lib/e-cert.c:642
msgid "C"
msgstr "C"
-#: ../smime/lib/e-cert.c:645
+#: smime/lib/e-cert.c:645
msgid "CN"
msgstr "CN"
-#: ../smime/lib/e-cert.c:648
+#: smime/lib/e-cert.c:648
msgid "OU"
msgstr "OU"
-#: ../smime/lib/e-cert.c:651
+#: smime/lib/e-cert.c:651
msgid "O"
msgstr "O"
-#: ../smime/lib/e-cert.c:654
+#: smime/lib/e-cert.c:654
msgid "L"
msgstr "L"
-#: ../smime/lib/e-cert.c:657
+#: smime/lib/e-cert.c:657
msgid "DN"
msgstr "DN"
-#: ../smime/lib/e-cert.c:660
+#: smime/lib/e-cert.c:660
msgid "DC"
msgstr "DC"
-#: ../smime/lib/e-cert.c:663
+#: smime/lib/e-cert.c:663
msgid "ST"
msgstr "ST"
-#: ../smime/lib/e-cert.c:666
+#: smime/lib/e-cert.c:666
msgid "PKCS #1 RSA Encryption"
msgstr "PKCS #1 Kriptim RSA"
-#: ../smime/lib/e-cert.c:669
+#: smime/lib/e-cert.c:669
msgid "Certificate Key Usage"
msgstr "Përdorimi i kyçeve të çertifikatës"
-#: ../smime/lib/e-cert.c:672
+#: smime/lib/e-cert.c:672
msgid "Netscape Certificate Type"
msgstr "Lloj çertifikate Netscape"
-#: ../smime/lib/e-cert.c:675
+#: smime/lib/e-cert.c:675
msgid "Certificate Authority Key Identifier"
msgstr "Identifikuesi i autoritetit të çertifikimit të kyçit"
-#: ../smime/lib/e-cert.c:678
+#: smime/lib/e-cert.c:678
msgid "UID"
msgstr "UID"
-#: ../smime/lib/e-cert.c:687
+#: smime/lib/e-cert.c:687
#, c-format
msgid "Object Identifier (%s)"
msgstr "Identifikuesi i objektit (%s)"
-#: ../smime/lib/e-cert.c:738
+#: smime/lib/e-cert.c:738
msgid "Algorithm Identifier"
msgstr "Identifikuesi i algoritmit"
-#: ../smime/lib/e-cert.c:746
+#: smime/lib/e-cert.c:746
msgid "Algorithm Parameters"
msgstr "Parametrat e algoritmit"
-#: ../smime/lib/e-cert.c:768
+#: smime/lib/e-cert.c:768
msgid "Subject Public Key Info"
msgstr "Informacionet e kyçit publik të subjektit"
-#: ../smime/lib/e-cert.c:773
+#: smime/lib/e-cert.c:773
msgid "Subject Public Key Algorithm"
msgstr "Algoritmi i kyçit publik të subjektit"
-#: ../smime/lib/e-cert.c:788
+#: smime/lib/e-cert.c:788
msgid "Subject's Public Key"
msgstr "Kyçi publik i subjektit"
-#: ../smime/lib/e-cert.c:809 ../smime/lib/e-cert.c:858
+#: smime/lib/e-cert.c:809 smime/lib/e-cert.c:858
msgid "Error: Unable to process extension"
msgstr "Gabim: I pamundur analizimi i shtesës"
-#: ../smime/lib/e-cert.c:830 ../smime/lib/e-cert.c:842
+#: smime/lib/e-cert.c:830 smime/lib/e-cert.c:842
msgid "Object Signer"
msgstr "Firmuesi i objektit"
-#: ../smime/lib/e-cert.c:834
+#: smime/lib/e-cert.c:834
msgid "SSL Certificate Authority"
msgstr "Autoriteti i çertifikimit SSL"
-#: ../smime/lib/e-cert.c:838
+#: smime/lib/e-cert.c:838
msgid "Email Certificate Authority"
msgstr "Autoriteti i çertifikimit të email"
-#: ../smime/lib/e-cert.c:866
+#: smime/lib/e-cert.c:866
msgid "Signing"
msgstr "Duke firmosur"
-#: ../smime/lib/e-cert.c:870
+#: smime/lib/e-cert.c:870
msgid "Non-repudiation"
msgstr "Jo-ripudio"
-#: ../smime/lib/e-cert.c:874
+#: smime/lib/e-cert.c:874
msgid "Key Encipherment"
msgstr "Shifrimi i kyçit"
-#: ../smime/lib/e-cert.c:878
+#: smime/lib/e-cert.c:878
msgid "Data Encipherment"
msgstr "Shifrimi i të dhënave"
-#: ../smime/lib/e-cert.c:882
+#: smime/lib/e-cert.c:882
msgid "Key Agreement"
msgstr "Njohja e kyçit"
-#: ../smime/lib/e-cert.c:886
+#: smime/lib/e-cert.c:886
msgid "Certificate Signer"
msgstr "Firmuesi i çertifikatës"
-#: ../smime/lib/e-cert.c:890
+#: smime/lib/e-cert.c:890
msgid "CRL Signer"
msgstr "Firmuesi CRL"
-#: ../smime/lib/e-cert.c:938
+#: smime/lib/e-cert.c:938
msgid "Critical"
msgstr "Kritik"
-#: ../smime/lib/e-cert.c:940 ../smime/lib/e-cert.c:943
+#: smime/lib/e-cert.c:940 smime/lib/e-cert.c:943
msgid "Not Critical"
msgstr "Jo kritik"
-#: ../smime/lib/e-cert.c:964
+#: smime/lib/e-cert.c:964
msgid "Extensions"
msgstr "Shtesat"
-#: ../smime/lib/e-cert.c:1035
+#: smime/lib/e-cert.c:1035
#, c-format
msgid "%s = %s"
msgstr "%s = %s"
-#: ../smime/lib/e-cert.c:1091 ../smime/lib/e-cert.c:1211
+#: smime/lib/e-cert.c:1091 smime/lib/e-cert.c:1211
msgid "Certificate Signature Algorithm"
msgstr "Algoritmi i firmës së çertifikatës"
-#: ../smime/lib/e-cert.c:1100
+#: smime/lib/e-cert.c:1100
msgid "Issuer"
msgstr "Dërgues"
-#: ../smime/lib/e-cert.c:1154
+#: smime/lib/e-cert.c:1154
msgid "Issuer Unique ID"
msgstr "ID e vetme e dërguesit"
-#: ../smime/lib/e-cert.c:1173
+#: smime/lib/e-cert.c:1173
msgid "Subject Unique ID"
msgstr "ID e vetme e subjektit"
-#: ../smime/lib/e-cert.c:1216
+#: smime/lib/e-cert.c:1216
msgid "Certificate Signature Value"
msgstr "Vlera firmës së çertifikuar"
-#: ../smime/lib/e-pkcs12.c:264
+#: smime/lib/e-pkcs12.c:264
msgid "PKCS12 File Password"
msgstr "File i fjalëkalimeve PKCS12"
-#: ../smime/lib/e-pkcs12.c:264
+#: smime/lib/e-pkcs12.c:264
msgid "Enter password for PKCS12 file:"
msgstr "Shkruaj fjalëkalimin për file PKCS12:"
-#: ../smime/lib/e-pkcs12.c:363
+#: smime/lib/e-pkcs12.c:363
msgid "Imported Certificate"
msgstr "Çertifikata e importuar"
-#: ../tools/evolution-launch-composer.c:324
+#: tools/evolution-launch-composer.c:324
msgid "An attachment to add."
msgstr "Një i bashkangjitur për t'u shtuar."
-#: ../tools/evolution-launch-composer.c:325
+#: tools/evolution-launch-composer.c:325
msgid "Content type of the attachment."
msgstr "Lloji i përmbajtjes së bashkangjiturit."
-#: ../tools/evolution-launch-composer.c:326
+#: tools/evolution-launch-composer.c:326
msgid "The filename to display in the mail."
msgstr "Emri i file që duhet shfaqur në mail."
-#: ../tools/evolution-launch-composer.c:327
+#: tools/evolution-launch-composer.c:327
msgid "Description of the attachment."
msgstr "Përshkrimi i të bashkangjiturit."
-#: ../tools/evolution-launch-composer.c:328
+#: tools/evolution-launch-composer.c:328
msgid "Mark attachment to be shown inline by default."
msgstr "Shëno si rregullim të prezgjedhur shfaqjen në linjë të të bashkangjiturit."
-#: ../tools/evolution-launch-composer.c:329
+#: tools/evolution-launch-composer.c:329
msgid "Default subject for the message."
msgstr "Subjekti i prezgjedhur për mesazhin."
#. This most likely means that KILL_PROCESS_CMD wasn't
#. * found, so just bail completely.
#.
-#: ../tools/killev.c:61
+#: tools/killev.c:61
#, c-format
msgid "Could not execute '%s': %s\n"
msgstr "I pamundur ekzekutimi i '%s': %s\n"
-#: ../tools/killev.c:76
+#: tools/killev.c:76
#, c-format
msgid "Shutting down %s (%s)\n"
msgstr "Duke mbyllur %s (%s)\n"
-#: ../ui/evolution-addressbook.xml.h:3
+#: ui/evolution-addressbook.xml.h:3
msgid "Copy Contact(s) to Another Folder..."
msgstr "Kopjo kontaktin(et) tek një kartelë tjetër..."
-#: ../ui/evolution-addressbook.xml.h:4 ../ui/evolution-calendar.xml.h:2
+#: ui/evolution-addressbook.xml.h:4 ui/evolution-calendar.xml.h:2
msgid "Copy the selection"
msgstr "Kopjo pjesën e zgjedhur"
-#: ../ui/evolution-addressbook.xml.h:5
+#: ui/evolution-addressbook.xml.h:5
msgid "Copy to Folder..."
msgstr "Kopjo tek kartela..."
-#: ../ui/evolution-addressbook.xml.h:7 ../ui/evolution-calendar.xml.h:3
+#: ui/evolution-addressbook.xml.h:7 ui/evolution-calendar.xml.h:3
msgid "Cut the selection"
msgstr "Preje pjesën e zgjedhur"
-#: ../ui/evolution-addressbook.xml.h:9
+#: ui/evolution-addressbook.xml.h:9
msgid "Delete selected contacts"
msgstr "Fshi kontaktet e zgjedhur"
-#: ../ui/evolution-addressbook.xml.h:11
+#: ui/evolution-addressbook.xml.h:11
msgid "Move Contact(s) to Another Folder..."
msgstr "Lëviz kontaktin(et) tek një kartelë tjetër..."
-#: ../ui/evolution-addressbook.xml.h:12
+#: ui/evolution-addressbook.xml.h:12
msgid "Move to Folder..."
msgstr "Lëvize tek kartela..."
-#: ../ui/evolution-addressbook.xml.h:14 ../ui/evolution-calendar.xml.h:16
+#: ui/evolution-addressbook.xml.h:14 ui/evolution-calendar.xml.h:16
msgid "Paste the clipboard"
msgstr "Ngjit nga shënimet"
-#: ../ui/evolution-addressbook.xml.h:15
+#: ui/evolution-addressbook.xml.h:15
msgid "Previews the contacts to be printed"
msgstr "Shiko kontaktet që do të printohen"
-#: ../ui/evolution-addressbook.xml.h:17 ../ui/evolution-calendar.xml.h:20
-#: ../ui/evolution-mail-message.xml.h:81 ../ui/evolution-tasks.xml.h:15
+#: ui/evolution-addressbook.xml.h:17 ui/evolution-calendar.xml.h:20
+#: ui/evolution-mail-message.xml.h:81 ui/evolution-tasks.xml.h:15
msgid "Print Pre_view"
msgstr "Pamja e _parë e printimit"
-#: ../ui/evolution-addressbook.xml.h:18
+#: ui/evolution-addressbook.xml.h:18
msgid "Print selected contacts"
msgstr "Printo kontaktet e zgjedhur"
-#: ../ui/evolution-addressbook.xml.h:20
+#: ui/evolution-addressbook.xml.h:20
msgid "Save selected contacts as a VCard."
msgstr "Ruaj kontaktet e zgjedhur si një VCard."
-#: ../ui/evolution-addressbook.xml.h:21
+#: ui/evolution-addressbook.xml.h:21
msgid "Select All"
msgstr "Zgjidh gjithçka"
-#: ../ui/evolution-addressbook.xml.h:22
+#: ui/evolution-addressbook.xml.h:22
msgid "Select all contacts"
msgstr "Zgjidh të gjithë kontaktet"
-#: ../ui/evolution-addressbook.xml.h:23
+#: ui/evolution-addressbook.xml.h:23
msgid "Send a message to the selected contacts."
msgstr "Dërgo një mesazh tek kontaktet e zgjedhur."
-#: ../ui/evolution-addressbook.xml.h:24
+#: ui/evolution-addressbook.xml.h:24
msgid "Send message to contact"
msgstr "Dërgoi një mesazh kontaktit"
-#: ../ui/evolution-addressbook.xml.h:25
+#: ui/evolution-addressbook.xml.h:25
msgid "Send selected contacts to another person."
msgstr "Dërgoja një personi tjetër kontaktet e zgjedhur."
-#: ../ui/evolution-addressbook.xml.h:26
+#: ui/evolution-addressbook.xml.h:26
msgid "Show contact preview window"
msgstr "Shfaq dritaren e pamjes së parë të kontaktit"
-#: ../ui/evolution-addressbook.xml.h:27
+#: ui/evolution-addressbook.xml.h:27
msgid "Stop"
msgstr "Ndal"
-#: ../ui/evolution-addressbook.xml.h:28
+#: ui/evolution-addressbook.xml.h:28
msgid "Stop Loading"
msgstr "Ndalo ngarkimin"
-#: ../ui/evolution-addressbook.xml.h:29
+#: ui/evolution-addressbook.xml.h:29
msgid "View the current contact"
msgstr "Shiko kontaktin aktual"
-#: ../ui/evolution-addressbook.xml.h:30 ../ui/evolution-calendar.xml.h:38
-#: ../ui/evolution-mail-global.xml.h:14 ../ui/evolution-mail-list.xml.h:23
-#: ../ui/evolution-mail-message.xml.h:103
-#: ../ui/evolution-mail-messagedisplay.xml.h:4 ../ui/evolution-tasks.xml.h:19
-#: ../ui/evolution.xml.h:36
+#: ui/evolution-addressbook.xml.h:30 ui/evolution-calendar.xml.h:38
+#: ui/evolution-mail-global.xml.h:14 ui/evolution-mail-list.xml.h:23
+#: ui/evolution-mail-message.xml.h:103
+#: ui/evolution-mail-messagedisplay.xml.h:4 ui/evolution-tasks.xml.h:19
+#: ui/evolution.xml.h:36
msgid "_Actions"
msgstr "_Veprimet"
-#: ../ui/evolution-addressbook.xml.h:35
+#: ui/evolution-addressbook.xml.h:35
msgid "_Forward Contact..."
msgstr "_Përcill kontaktin..."
-#: ../ui/evolution-addressbook.xml.h:36
+#: ui/evolution-addressbook.xml.h:36
msgid "_Move to Folder..."
msgstr "_Lëvize tek kartela..."
-#: ../ui/evolution-addressbook.xml.h:39 ../ui/evolution-mail-global.xml.h:16
+#: ui/evolution-addressbook.xml.h:39 ui/evolution-mail-global.xml.h:16
msgid "_Preview Pane"
msgstr "_Pamja e parë"
-#: ../ui/evolution-addressbook.xml.h:41
+#: ui/evolution-addressbook.xml.h:41
msgid "_Save as VCard..."
msgstr "_Ruaje si VCard..."
-#: ../ui/evolution-addressbook.xml.h:42
+#: ui/evolution-addressbook.xml.h:42
msgid "_Select All"
msgstr "_Zgjidh gjithçka"
-#: ../ui/evolution-addressbook.xml.h:43
+#: ui/evolution-addressbook.xml.h:43
msgid "_Send Message to Contact..."
msgstr "_Dërgo mesazh kontaktit..."
-#: ../ui/evolution-calendar.xml.h:4
+#: ui/evolution-calendar.xml.h:4
msgid "Day"
msgstr "Dita"
-#: ../ui/evolution-calendar.xml.h:6
+#: ui/evolution-calendar.xml.h:6
msgid "Delete All Occurrences"
msgstr "Elemino të gjithë përvjetorët"
-#: ../ui/evolution-calendar.xml.h:7
+#: ui/evolution-calendar.xml.h:7
msgid "Delete the appointment"
msgstr "Elemino takimin"
-#: ../ui/evolution-calendar.xml.h:8
+#: ui/evolution-calendar.xml.h:8
msgid "Delete this Occurrence"
msgstr "Elemino këtë përvjetor"
-#: ../ui/evolution-calendar.xml.h:9
+#: ui/evolution-calendar.xml.h:9
msgid "Delete this occurrence"
msgstr "Elemino këtë ngjarje"
-#: ../ui/evolution-calendar.xml.h:10
+#: ui/evolution-calendar.xml.h:10
msgid "Go To"
msgstr "Shko tek"
-#: ../ui/evolution-calendar.xml.h:11
+#: ui/evolution-calendar.xml.h:11
msgid "Go back"
msgstr "Kthehu mbrapa"
-#: ../ui/evolution-calendar.xml.h:12
+#: ui/evolution-calendar.xml.h:12
msgid "Go forward"
msgstr "Shko përpara"
-#: ../ui/evolution-calendar.xml.h:13
+#: ui/evolution-calendar.xml.h:13
msgid "List"
msgstr "Lista"
-#: ../ui/evolution-calendar.xml.h:14
+#: ui/evolution-calendar.xml.h:14
msgid "Month"
msgstr "Muaji"
-#: ../ui/evolution-calendar.xml.h:15 ../ui/evolution-mail-message.xml.h:65
+#: ui/evolution-calendar.xml.h:15 ui/evolution-mail-message.xml.h:65
msgid "Next"
msgstr "Vazhdo"
-#: ../ui/evolution-calendar.xml.h:17
+#: ui/evolution-calendar.xml.h:17
msgid "Previews the calendar to be printed"
msgstr "Pamja e parë e kalendarit që do të printohet"
-#: ../ui/evolution-calendar.xml.h:18 ../ui/evolution-mail-message.xml.h:79
+#: ui/evolution-calendar.xml.h:18 ui/evolution-mail-message.xml.h:79
msgid "Previous"
msgstr "Paraardhëse"
-#: ../ui/evolution-calendar.xml.h:21
+#: ui/evolution-calendar.xml.h:21
msgid "Print this calendar"
msgstr "Printo këtë kalendar"
-#: ../ui/evolution-calendar.xml.h:22
+#: ui/evolution-calendar.xml.h:22
msgid "Publish Free/Busy information for this calendar"
msgstr "Publiko informacionet e disponibilitetit për këtë kalendar"
-#: ../ui/evolution-calendar.xml.h:23 ../ui/evolution-tasks.xml.h:17
+#: ui/evolution-calendar.xml.h:23 ui/evolution-tasks.xml.h:17
msgid "Purg_e"
msgstr "Pastr_o"
-#: ../ui/evolution-calendar.xml.h:24
+#: ui/evolution-calendar.xml.h:24
msgid "Purge old appointments and meetings"
msgstr "Fshi takimet dhe mbledhjet e vjetra"
-#: ../ui/evolution-calendar.xml.h:25
+#: ui/evolution-calendar.xml.h:25
msgid "Select _Date"
msgstr "Zgjidh _Datën"
-#: ../ui/evolution-calendar.xml.h:27
+#: ui/evolution-calendar.xml.h:27
msgid "Select a specific date"
msgstr "Zgjidh një datë të caktuar"
-#: ../ui/evolution-calendar.xml.h:28
+#: ui/evolution-calendar.xml.h:28
msgid "Select today"
msgstr "Zgjidh ditën e sotme"
-#: ../ui/evolution-calendar.xml.h:29
+#: ui/evolution-calendar.xml.h:29
msgid "Show as list"
msgstr "Paraqite si listë"
-#: ../ui/evolution-calendar.xml.h:30
+#: ui/evolution-calendar.xml.h:30
msgid "Show one day"
msgstr "Shfaq një ditë"
-#: ../ui/evolution-calendar.xml.h:31
+#: ui/evolution-calendar.xml.h:31
msgid "Show one month"
msgstr "Shfaq një muaj"
-#: ../ui/evolution-calendar.xml.h:32
+#: ui/evolution-calendar.xml.h:32
msgid "Show one week"
msgstr "Shfaq një javë"
-#: ../ui/evolution-calendar.xml.h:33
+#: ui/evolution-calendar.xml.h:33
msgid "Show the working week"
msgstr "Shfaq javën punuese"
-#: ../ui/evolution-calendar.xml.h:35
+#: ui/evolution-calendar.xml.h:35
msgid "View the current appointment"
msgstr "Shiko takimin aktual"
-#: ../ui/evolution-calendar.xml.h:36
+#: ui/evolution-calendar.xml.h:36
msgid "Week"
msgstr "Java"
-#: ../ui/evolution-calendar.xml.h:37
+#: ui/evolution-calendar.xml.h:37
msgid "Work Week"
msgstr "Java punuese"
-#: ../ui/evolution-calendar.xml.h:42
+#: ui/evolution-calendar.xml.h:42
msgid "_Open Appointment"
msgstr "_Hap një Takim"
-#: ../ui/evolution-composer-entries.xml.h:1
+#: ui/evolution-composer-entries.xml.h:1
msgid "Copy selected text to the clipboard"
msgstr "Kopjo tekstin e zgjedhur tek Shënimet"
-#: ../ui/evolution-composer-entries.xml.h:2
-#: ../ui/evolution-mail-message.xml.h:21
+#: ui/evolution-composer-entries.xml.h:2 ui/evolution-mail-message.xml.h:21
msgid "Cu_t"
msgstr "Pre_je"
-#: ../ui/evolution-composer-entries.xml.h:3
+#: ui/evolution-composer-entries.xml.h:3
msgid "Cut selected text to the clipboard"
msgstr "Preje tekstin e zgjedhur tek Shënimet"
-#: ../ui/evolution-composer-entries.xml.h:4
+#: ui/evolution-composer-entries.xml.h:4
msgid "Paste text from the clipboard"
msgstr "Ngjite tekstin nga Shënimet"
-#: ../ui/evolution-composer-entries.xml.h:5 ../ui/evolution-mail-list.xml.h:13
-#: ../ui/evolution-subscribe.xml.h:6
+#: ui/evolution-composer-entries.xml.h:5 ui/evolution-mail-list.xml.h:13
+#: ui/evolution-subscribe.xml.h:6
msgid "Select _All"
msgstr "Zgjidh _gjithçka"
-#: ../ui/evolution-composer-entries.xml.h:6
+#: ui/evolution-composer-entries.xml.h:6
msgid "Select all text"
msgstr "Zgjith të gjithë tekstin"
-#: ../ui/evolution-executive-summary.xml.h:1
+#: ui/evolution-executive-summary.xml.h:1
msgid "Customize My Evolution"
msgstr "Personalizo Evolution"
-#: ../ui/evolution-mail-global.xml.h:2
+#: ui/evolution-mail-global.xml.h:2
msgid "Cancel the current mail operation"
msgstr "Anullo operacionin aktual të postës"
-#: ../ui/evolution-mail-global.xml.h:3
+#: ui/evolution-mail-global.xml.h:3
msgid "Compose _New Message"
msgstr "Harto një mesazh të _ri"
-#: ../ui/evolution-mail-global.xml.h:4
+#: ui/evolution-mail-global.xml.h:4
msgid "Create or edit rules for filtering new mail"
msgstr "Krijo apo ndrysho rregullat për filtrimin e mesazheve të rinj"
-#: ../ui/evolution-mail-global.xml.h:5
+#: ui/evolution-mail-global.xml.h:5
msgid "Create or edit vFolder definitions"
msgstr "Krijo apo ndrysho përcaktimet e kartelës vFolder"
-#: ../ui/evolution-mail-global.xml.h:6
+#: ui/evolution-mail-global.xml.h:6
msgid "Empty _Trash"
msgstr "Zbraz _Koshin"
-#: ../ui/evolution-mail-global.xml.h:7
+#: ui/evolution-mail-global.xml.h:7
msgid "Open a window for composing a mail message"
msgstr "Hap një dritare për të hartuar një mesazh"
-#: ../ui/evolution-mail-global.xml.h:8
+#: ui/evolution-mail-global.xml.h:8
msgid "Permanently remove all deleted messages from all folders"
msgstr "Elemino përgjithmonë të gjithë mesazhet e fshirë nga të gjitha kartelat"
-#: ../ui/evolution-mail-global.xml.h:9
+#: ui/evolution-mail-global.xml.h:9
msgid "Post Ne_w Message"
msgstr "Posto një mesazh të _ri"
-#: ../ui/evolution-mail-global.xml.h:10
+#: ui/evolution-mail-global.xml.h:10
msgid "Post a message to a Public folder"
msgstr "Posto një mesazh tek një kartelë publike"
-#: ../ui/evolution-mail-global.xml.h:11
+#: ui/evolution-mail-global.xml.h:11
msgid "S_ubscribe to Folders..."
msgstr "Regjistroh_u tek kartelat..."
-#: ../ui/evolution-mail-global.xml.h:12
+#: ui/evolution-mail-global.xml.h:12
msgid "Show message preview window"
msgstr "Shfaqe mesazhin në dritaren e pamjes së parë"
-#: ../ui/evolution-mail-global.xml.h:13
+#: ui/evolution-mail-global.xml.h:13
msgid "Subscribe or unsubscribe to folders on remote servers"
msgstr "Regjistrohu apo ç'regjistrohu tek kartelat në server-ët remote"
-#: ../ui/evolution-mail-global.xml.h:15
+#: ui/evolution-mail-global.xml.h:15
msgid "_Filters..."
msgstr "_Filtrat..."
-#: ../ui/evolution-mail-global.xml.h:18
+#: ui/evolution-mail-global.xml.h:18
msgid "vFolder _Editor..."
msgstr "_Editori i kartelave vFolder..."
-#: ../ui/evolution-mail-list.xml.h:1
+#: ui/evolution-mail-list.xml.h:1
msgid "Change the properties of this folder"
msgstr "Ndrysho pronësitë e kësaj kartele"
-#: ../ui/evolution-mail-list.xml.h:2 ../ui/evolution-mail-message.xml.h:10
+#: ui/evolution-mail-list.xml.h:2 ui/evolution-mail-message.xml.h:10
msgid "Copy selected message(s) to the clipboard"
msgstr "Kopjo mesazhin(et) e zgjedhur tek Shënimet"
-#: ../ui/evolution-mail-list.xml.h:3 ../ui/evolution-mail-message.xml.h:22
+#: ui/evolution-mail-list.xml.h:3 ui/evolution-mail-message.xml.h:22
msgid "Cut selected message(s) to the clipboard"
msgstr "Preje mesazhin(et) e zgjedhur tek Shënimet"
-#: ../ui/evolution-mail-list.xml.h:4
+#: ui/evolution-mail-list.xml.h:4
msgid "E_xpunge"
msgstr "_Elemino përgjithmonë"
-#: ../ui/evolution-mail-list.xml.h:5
+#: ui/evolution-mail-list.xml.h:5
msgid "Hide S_elected Messages"
msgstr "Fshih mesazhet e zgj_edhur"
-#: ../ui/evolution-mail-list.xml.h:6
+#: ui/evolution-mail-list.xml.h:6
msgid "Hide _Deleted Messages"
msgstr "Fshih mesazhet e _fshirë"
-#: ../ui/evolution-mail-list.xml.h:7
+#: ui/evolution-mail-list.xml.h:7
msgid "Hide _Read Messages"
msgstr "Fshih mesazhet e _lexuar"
-#: ../ui/evolution-mail-list.xml.h:8
+#: ui/evolution-mail-list.xml.h:8
msgid "Hide deleted messages rather than displaying them with a line through them"
msgstr "Fshih mesazhet e fshirë në vend që t'i shfaqësh të vizuar"
-#: ../ui/evolution-mail-list.xml.h:9
+#: ui/evolution-mail-list.xml.h:9
msgid "Mark All as _Read"
msgstr "Shënoi të gjithë si të _lexuar"
-#: ../ui/evolution-mail-list.xml.h:10
+#: ui/evolution-mail-list.xml.h:10
msgid "Mark all visible messages as read"
msgstr "Shëno si të lexuar të gjithë mesazhet e dukshëm"
-#: ../ui/evolution-mail-list.xml.h:11 ../ui/evolution-mail-message.xml.h:74
+#: ui/evolution-mail-list.xml.h:11 ui/evolution-mail-message.xml.h:74
msgid "Paste message(s) from the clipboard"
msgstr "Ngjit mesazhin(et) nga shënimet"
-#: ../ui/evolution-mail-list.xml.h:12
+#: ui/evolution-mail-list.xml.h:12
msgid "Permanently remove all deleted messages from this folder"
msgstr "Elemino përgjithmonë të gjithë mesazhet e fshirë nga kjo kartelë"
-#: ../ui/evolution-mail-list.xml.h:14
+#: ui/evolution-mail-list.xml.h:14
msgid "Select _Thread"
msgstr "Zgjidh _diskutimin"
-#: ../ui/evolution-mail-list.xml.h:15
+#: ui/evolution-mail-list.xml.h:15
msgid "Select all and only the messages that are not currently selected"
msgstr "Zgjidh gjithçka dhe vetëm mesazhet që nuk janë aktualisht të zgjedhur"
-#: ../ui/evolution-mail-list.xml.h:16
+#: ui/evolution-mail-list.xml.h:16
msgid "Select all messages in the same thread as the selected message"
msgstr ""
"Zgjidh të gjithë mesazhet që bëjnë pjesë në të njëjtin diskutim me mesazhin "
"e zgjedhur"
-#: ../ui/evolution-mail-list.xml.h:17
+#: ui/evolution-mail-list.xml.h:17
msgid "Select all visible messages"
msgstr "Zgjidh të gjithë mesazhet e dukshëm"
-#: ../ui/evolution-mail-list.xml.h:18
+#: ui/evolution-mail-list.xml.h:18
msgid "Sh_ow Hidden Messages"
msgstr "Sh_faq mesazhet e fshehur"
-#: ../ui/evolution-mail-list.xml.h:19
+#: ui/evolution-mail-list.xml.h:19
msgid "Show messages that have been temporarily hidden"
msgstr "Shfaq mesazhet që ishin fshehur përkohësisht"
-#: ../ui/evolution-mail-list.xml.h:20
+#: ui/evolution-mail-list.xml.h:20
msgid "Temporarily hide all messages that have already been read"
msgstr "Fshih të gjithë mesazhet e lexuar përkohësisht"
-#: ../ui/evolution-mail-list.xml.h:21
+#: ui/evolution-mail-list.xml.h:21
msgid "Temporarily hide the selected messages"
msgstr "Fshih mesazhet e zgjedhur përkohësisht"
-#: ../ui/evolution-mail-list.xml.h:22
+#: ui/evolution-mail-list.xml.h:22
msgid "Threaded Message list"
msgstr "Rreshtim sipas diskutimeve"
-#: ../ui/evolution-mail-list.xml.h:25
+#: ui/evolution-mail-list.xml.h:25
msgid "_Folder"
msgstr "_Kartela"
-#: ../ui/evolution-mail-list.xml.h:26 ../ui/evolution-subscribe.xml.h:12
+#: ui/evolution-mail-list.xml.h:26 ui/evolution-subscribe.xml.h:12
msgid "_Invert Selection"
msgstr "_Inverto zgjedhjen"
-#: ../ui/evolution-mail-list.xml.h:28
+#: ui/evolution-mail-list.xml.h:28
msgid "_Threaded Message List"
msgstr "Rreshtoi sipas _Diskutimeve"
-#: ../ui/evolution-mail-message.xml.h:1
+#: ui/evolution-mail-message.xml.h:1
msgid "A_dd Sender to Address Book"
msgstr "Sh_to dërguesin në rubrikë"
-#: ../ui/evolution-mail-message.xml.h:2
+#: ui/evolution-mail-message.xml.h:2
msgid "A_pply Filters"
msgstr "A_pliko filtrat"
-#: ../ui/evolution-mail-message.xml.h:3
+#: ui/evolution-mail-message.xml.h:3
msgid "Add Sender to Address Book"
msgstr "Shtoje dërguesin në rubrikë"
-#: ../ui/evolution-mail-message.xml.h:4
+#: ui/evolution-mail-message.xml.h:4
msgid "Apply filter rules to the selected messages"
msgstr "Aplikoi rregullat e filtrit mesazheve të zgjedhur"
-#: ../ui/evolution-mail-message.xml.h:5
+#: ui/evolution-mail-message.xml.h:5
msgid "Caret _Mode"
msgstr "_Modalitet paraqitje kursori"
-#: ../ui/evolution-mail-message.xml.h:6
+#: ui/evolution-mail-message.xml.h:6
msgid "Compose a reply to all of the recipients of the selected message"
msgstr "Shkruaj një përgjigje për të gjithë marrësit e mesazhit të zgjedhur"
-#: ../ui/evolution-mail-message.xml.h:7
+#: ui/evolution-mail-message.xml.h:7
msgid "Compose a reply to the mailing list of the selected message"
msgstr "Shkruaj një përgjigje për tek mailing list e mesazhit të zgjedhur"
-#: ../ui/evolution-mail-message.xml.h:8
+#: ui/evolution-mail-message.xml.h:8
msgid "Compose a reply to the sender of the selected message"
msgstr "Shkruaj një përgjigje dërguesit të mesazhit të zgjedhur"
-#: ../ui/evolution-mail-message.xml.h:11
+#: ui/evolution-mail-message.xml.h:11
msgid "Copy selected messages to another folder"
msgstr "Kopjo mesazhet e zgjedhur në një kartelë tjetër"
-#: ../ui/evolution-mail-message.xml.h:12
+#: ui/evolution-mail-message.xml.h:12
msgid "Create _vFolder From Message"
msgstr "Krijo kartelë _vFolder nga mesazhi"
-#: ../ui/evolution-mail-message.xml.h:13
+#: ui/evolution-mail-message.xml.h:13
msgid "Create a rule to filter messages from this sender"
msgstr "Krijo një rregull për të filtruar mesazhet nga ky dërgues"
-#: ../ui/evolution-mail-message.xml.h:14
+#: ui/evolution-mail-message.xml.h:14
msgid "Create a rule to filter messages to these recipients"
msgstr "Krijo një rregull për të filtruar mesazhet për tek këta marrës"
-#: ../ui/evolution-mail-message.xml.h:15
+#: ui/evolution-mail-message.xml.h:15
msgid "Create a rule to filter messages to this mailing list"
msgstr "Krijo një rregull për të filtruar mesazhet për tek kjo mailing list"
-#: ../ui/evolution-mail-message.xml.h:16
+#: ui/evolution-mail-message.xml.h:16
msgid "Create a rule to filter messages with this subject"
msgstr "Krijo një rregull për të filtruar mesazhet me këtë subjekt"
-#: ../ui/evolution-mail-message.xml.h:17
+#: ui/evolution-mail-message.xml.h:17
msgid "Create a vFolder for these recipients"
msgstr "Krijo një kartelë vFolder për këta marrës"
-#: ../ui/evolution-mail-message.xml.h:18
+#: ui/evolution-mail-message.xml.h:18
msgid "Create a vFolder for this mailing list"
msgstr "Krijo një kartelë vFolder për këtë mailing list"
-#: ../ui/evolution-mail-message.xml.h:19
+#: ui/evolution-mail-message.xml.h:19
msgid "Create a vFolder for this sender"
msgstr "Krijo një kartelë vFolder për këtë dërgues"
-#: ../ui/evolution-mail-message.xml.h:20
+#: ui/evolution-mail-message.xml.h:20
msgid "Create a vFolder for this subject"
msgstr "Krijo një kartelë vFolder për këtë subjekt"
-#: ../ui/evolution-mail-message.xml.h:23
+#: ui/evolution-mail-message.xml.h:23
msgid "Decrease the text size"
msgstr "Zvogëlo madhësinë e tekstit"
-#: ../ui/evolution-mail-message.xml.h:25
+#: ui/evolution-mail-message.xml.h:25
msgid "Display the next important message"
msgstr "Shfaq mesazhin e rendësishëm në vazhdim"
-#: ../ui/evolution-mail-message.xml.h:26
+#: ui/evolution-mail-message.xml.h:26
msgid "Display the next message"
msgstr "Shfaq mesazhin në vazhdim"
-#: ../ui/evolution-mail-message.xml.h:27
+#: ui/evolution-mail-message.xml.h:27
msgid "Display the next unread message"
msgstr "Shfaq mesazhin e palexuar në vazhdim"
-#: ../ui/evolution-mail-message.xml.h:28
+#: ui/evolution-mail-message.xml.h:28
msgid "Display the next unread thread"
msgstr "Shfaq diskutimin e palexuar në vazhdim"
-#: ../ui/evolution-mail-message.xml.h:29
+#: ui/evolution-mail-message.xml.h:29
msgid "Display the previous important message"
msgstr "Shfaq mesazhin paraardhës të rendësishëm"
-#: ../ui/evolution-mail-message.xml.h:30
+#: ui/evolution-mail-message.xml.h:30
msgid "Display the previous message"
msgstr "Shfaq mesazhin paraardhës"
-#: ../ui/evolution-mail-message.xml.h:31
+#: ui/evolution-mail-message.xml.h:31
msgid "Display the previous unread message"
msgstr "Shfaq mesazhin paraardhës të palexuar"
-#: ../ui/evolution-mail-message.xml.h:32
+#: ui/evolution-mail-message.xml.h:32
msgid "F_orward As..."
msgstr "Përci_lle Si..."
-#: ../ui/evolution-mail-message.xml.h:33
+#: ui/evolution-mail-message.xml.h:33
msgid "Filter _Junk"
msgstr "Filtro postën për të _Flakur"
-#: ../ui/evolution-mail-message.xml.h:34
+#: ui/evolution-mail-message.xml.h:34
msgid "Filter on Mailing _List..."
msgstr "Filtro në Mailing _List..."
-#: ../ui/evolution-mail-message.xml.h:35
+#: ui/evolution-mail-message.xml.h:35
msgid "Filter on Se_nder..."
msgstr "Filtro në Dë_rguesi..."
-#: ../ui/evolution-mail-message.xml.h:36
+#: ui/evolution-mail-message.xml.h:36
msgid "Filter on _Recipients..."
msgstr "Filtro në _Marrësit..."
-#: ../ui/evolution-mail-message.xml.h:37
+#: ui/evolution-mail-message.xml.h:37
msgid "Filter on _Subject..."
msgstr "Filtro në _Subjekt..."
-#: ../ui/evolution-mail-message.xml.h:38
+#: ui/evolution-mail-message.xml.h:38
msgid "Filter the selected messages for junk status"
msgstr "Kontrollo nëse duhen flakur mesazhet e zgjedhur"
-#: ../ui/evolution-mail-message.xml.h:39
+#: ui/evolution-mail-message.xml.h:39
msgid "Flag selected message(s) for follow-up"
msgstr "Shëno mesazhin(et) e zgjedhur si vazhdim"
-#: ../ui/evolution-mail-message.xml.h:40
+#: ui/evolution-mail-message.xml.h:40
msgid "Follow _Up..."
msgstr "_Vazhdon..."
-#: ../ui/evolution-mail-message.xml.h:41
+#: ui/evolution-mail-message.xml.h:41
msgid "Force images in HTML mail to be loaded"
msgstr "Detyro ngarkimin e figurave në mesazhet HTML"
-#: ../ui/evolution-mail-message.xml.h:43
+#: ui/evolution-mail-message.xml.h:43
msgid "Forward the selected message in the body of a new message"
msgstr "Përcille mesazhin e zgjedhur si trup i një mesazhi të ri"
-#: ../ui/evolution-mail-message.xml.h:44
+#: ui/evolution-mail-message.xml.h:44
msgid "Forward the selected message quoted like a reply"
msgstr "Përcille mesazhin e zgjedhur duke e cituar si përgjigje"
-#: ../ui/evolution-mail-message.xml.h:45
+#: ui/evolution-mail-message.xml.h:45
msgid "Forward the selected message to someone"
msgstr "Përcillja dikujt mesazhin e zgjedhur"
-#: ../ui/evolution-mail-message.xml.h:46
+#: ui/evolution-mail-message.xml.h:46
msgid "Forward the selected message to someone as an attachment"
msgstr "Përcillja dikujt mesazhin e zgjedhur si i bashkangjitur"
-#: ../ui/evolution-mail-message.xml.h:47
+#: ui/evolution-mail-message.xml.h:47
msgid "Increase the text size"
msgstr "Rrit madhësinë e tekstit"
-#: ../ui/evolution-mail-message.xml.h:49
+#: ui/evolution-mail-message.xml.h:49
msgid "Load _Images"
msgstr "Ngarko _Figurat"
-#: ../ui/evolution-mail-message.xml.h:50
+#: ui/evolution-mail-message.xml.h:50
msgid "Mar_k as Read"
msgstr "Shë_no si të Lexuar"
-#: ../ui/evolution-mail-message.xml.h:51
+#: ui/evolution-mail-message.xml.h:51
msgid "Mark as I_mportant"
msgstr "Shëno si i re_ndësishëm"
-#: ../ui/evolution-mail-message.xml.h:52
+#: ui/evolution-mail-message.xml.h:52
msgid "Mark as U_nread"
msgstr "Shëno si të Pa_lexuar"
-#: ../ui/evolution-mail-message.xml.h:53
+#: ui/evolution-mail-message.xml.h:53
msgid "Mark as Unimp_ortant"
msgstr "Shëno si të p_arendësishëm"
-#: ../ui/evolution-mail-message.xml.h:56
+#: ui/evolution-mail-message.xml.h:56
msgid "Mark the selected message(s) as having been read"
msgstr "Shëno mesazhin(et) e zgjedhur si të lexuar"
-#: ../ui/evolution-mail-message.xml.h:57
+#: ui/evolution-mail-message.xml.h:57
msgid "Mark the selected message(s) as important"
msgstr "Shëno mesazhin(et) e zgjedhur si të rendësishëm"
-#: ../ui/evolution-mail-message.xml.h:58
+#: ui/evolution-mail-message.xml.h:58
msgid "Mark the selected message(s) as junk"
msgstr "Shëno mesazhin(et) e zgjedhur si për tu hedhur në kosh"
-#: ../ui/evolution-mail-message.xml.h:59
+#: ui/evolution-mail-message.xml.h:59
msgid "Mark the selected message(s) as not being junk"
msgstr "Shëno mesazhin(et) e zgjedhur si jo për tu hedhur në kosh"
-#: ../ui/evolution-mail-message.xml.h:60
+#: ui/evolution-mail-message.xml.h:60
msgid "Mark the selected message(s) as not having been read"
msgstr "Shëno mesazhin(et) e zgjedhur si të palexuar"
-#: ../ui/evolution-mail-message.xml.h:61
+#: ui/evolution-mail-message.xml.h:61
msgid "Mark the selected message(s) as unimportant"
msgstr "Shëno mesazhin(et) e zgjedhur si të parendësishëm"
-#: ../ui/evolution-mail-message.xml.h:62
+#: ui/evolution-mail-message.xml.h:62
msgid "Mark the selected messages for deletion"
msgstr "Shëno mesazhet e zgjedhur për t'i eleminuar"
-#: ../ui/evolution-mail-message.xml.h:63
+#: ui/evolution-mail-message.xml.h:63
msgid "Move"
msgstr "Lëvize"
-#: ../ui/evolution-mail-message.xml.h:64
+#: ui/evolution-mail-message.xml.h:64
msgid "Move selected message(s) to another folder"
msgstr "Lëviz mesazhin(et) e zgjedhur në një kartelë tjetër"
-#: ../ui/evolution-mail-message.xml.h:66
+#: ui/evolution-mail-message.xml.h:66
msgid "Next _Important Message"
msgstr "Mesazhi i _rendësishëm në vazhdim"
-#: ../ui/evolution-mail-message.xml.h:67
+#: ui/evolution-mail-message.xml.h:67
msgid "Next _Thread"
msgstr "_Diskutimi në vazhdim"
-#: ../ui/evolution-mail-message.xml.h:68
+#: ui/evolution-mail-message.xml.h:68
msgid "Next _Unread Message"
msgstr "Mesazhi në vazhdim i _Palexuar"
-#: ../ui/evolution-mail-message.xml.h:69
+#: ui/evolution-mail-message.xml.h:69
msgid "Not Junk"
msgstr "Jo për t'u flakur"
-#: ../ui/evolution-mail-message.xml.h:70
+#: ui/evolution-mail-message.xml.h:70
msgid "Open the selected message in a new window"
msgstr "Hape mesazhin e zgjedhur në një dritare të re"
-#: ../ui/evolution-mail-message.xml.h:71
+#: ui/evolution-mail-message.xml.h:71
msgid "Open the selected message in the composer for editing"
msgstr "Hape mesazhin e zgjedhur në një dritare për t'a ndryshuar"
-#: ../ui/evolution-mail-message.xml.h:72
+#: ui/evolution-mail-message.xml.h:72
msgid "Original Si_ze"
msgstr "Madhë_sia Orgjinale"
-#: ../ui/evolution-mail-message.xml.h:73
+#: ui/evolution-mail-message.xml.h:73
msgid "P_revious Unread Message"
msgstr "Mesazhi pa_raardhës i palexuar"
-#: ../ui/evolution-mail-message.xml.h:75
+#: ui/evolution-mail-message.xml.h:75
msgid "Post a Repl_y"
msgstr "Dërgo një Përgji_gje"
-#: ../ui/evolution-mail-message.xml.h:76
+#: ui/evolution-mail-message.xml.h:76
msgid "Post a reply to a message in a Public folder"
msgstr "Përgjigju mesazhit në një kartelë publike"
-#: ../ui/evolution-mail-message.xml.h:77
+#: ui/evolution-mail-message.xml.h:77
msgid "Pr_evious Important Message"
msgstr "Mesazhi par_aardhës i rendësishëm"
-#: ../ui/evolution-mail-message.xml.h:78
+#: ui/evolution-mail-message.xml.h:78
msgid "Preview the message to be printed"
msgstr "Shiko se si do të printohet mesazhi"
-#: ../ui/evolution-mail-message.xml.h:82
+#: ui/evolution-mail-message.xml.h:82
msgid "Print this message"
msgstr "Printo këtë mesazh"
-#: ../ui/evolution-mail-message.xml.h:83
+#: ui/evolution-mail-message.xml.h:83
msgid "Re_direct"
msgstr "Ri_drejto"
-#: ../ui/evolution-mail-message.xml.h:84
+#: ui/evolution-mail-message.xml.h:84
msgid "Redirect (bounce) the selected message to someone"
msgstr "Ridrejtoja (bounce) mesazhin e zgjedhur dikujt"
-#: ../ui/evolution-mail-message.xml.h:89
+#: ui/evolution-mail-message.xml.h:89
msgid "Reset the text to its original size"
msgstr "Rikthe tekstin në madhësine e tij orgjinale"
-#: ../ui/evolution-mail-message.xml.h:90
+#: ui/evolution-mail-message.xml.h:90
msgid "S_earch in Message..."
msgstr "_Kërko në mesazh..."
-#: ../ui/evolution-mail-message.xml.h:91
+#: ui/evolution-mail-message.xml.h:91
msgid "S_maller"
msgstr "Më i _vogël"
-#: ../ui/evolution-mail-message.xml.h:92
+#: ui/evolution-mail-message.xml.h:92
msgid "Save the message as a text file"
msgstr "Ruaj mesazhin si file teksti"
-#: ../ui/evolution-mail-message.xml.h:93
+#: ui/evolution-mail-message.xml.h:93
msgid "Search for text in the body of the displayed message"
msgstr "Kryej një kërkim në trupin e mesazhit të shfaqur"
-#: ../ui/evolution-mail-message.xml.h:94
+#: ui/evolution-mail-message.xml.h:94
msgid "Set up the page settings for your current printer"
msgstr "Përcakto rregullimet e faqes për printerin tuaj aktual"
-#: ../ui/evolution-mail-message.xml.h:95
+#: ui/evolution-mail-message.xml.h:95
msgid "Show Email _Source"
msgstr "Shfaq _buruesin e email"
-#: ../ui/evolution-mail-message.xml.h:96
+#: ui/evolution-mail-message.xml.h:96
msgid "Show Full _Headers"
msgstr "Shfaq _Titujt e plotë"
-#: ../ui/evolution-mail-message.xml.h:97
+#: ui/evolution-mail-message.xml.h:97
msgid "Show a blinking cursor in the body of displayed messages"
msgstr "Shfaq një kursor pulsues në trupin e mesazheve"
-#: ../ui/evolution-mail-message.xml.h:98
+#: ui/evolution-mail-message.xml.h:98
msgid "Show message in the normal style"
msgstr "Paraqit mesazhin në stil normal"
-#: ../ui/evolution-mail-message.xml.h:99
+#: ui/evolution-mail-message.xml.h:99
msgid "Show message with all email headers"
msgstr "Shfaq mesazhin me të gjithë emrat e email-it"
-#: ../ui/evolution-mail-message.xml.h:100
+#: ui/evolution-mail-message.xml.h:100
msgid "Show the raw email source of the message"
msgstr "Shfaq buruesin e papërpunuar të mesazhit"
-#: ../ui/evolution-mail-message.xml.h:101
+#: ui/evolution-mail-message.xml.h:101
msgid "Text Si_ze"
msgstr "Madhë_sia e tekstit"
-#: ../ui/evolution-mail-message.xml.h:102
+#: ui/evolution-mail-message.xml.h:102
msgid "Un-delete the selected messages"
msgstr "Anullo fshirjen e mesazheve të zgjedhur"
-#: ../ui/evolution-mail-message.xml.h:104
+#: ui/evolution-mail-message.xml.h:104
msgid "_Attached"
msgstr "_Bashkangjitur"
-#: ../ui/evolution-mail-message.xml.h:107
+#: ui/evolution-mail-message.xml.h:107
msgid "_Create Filter From Message"
msgstr "_Krijo filtër nga mesazhi"
-#: ../ui/evolution-mail-message.xml.h:111
+#: ui/evolution-mail-message.xml.h:111
msgid "_Go To"
msgstr "_Shko Tek"
-#: ../ui/evolution-mail-message.xml.h:112
+#: ui/evolution-mail-message.xml.h:112
msgid "_Inline"
msgstr "_Inline"
-#: ../ui/evolution-mail-message.xml.h:113
+#: ui/evolution-mail-message.xml.h:113
msgid "_Larger"
msgstr "Më i _madh"
-#: ../ui/evolution-mail-message.xml.h:114
+#: ui/evolution-mail-message.xml.h:114
msgid "_Message Display"
msgstr "Paraqitja e _Mesazhit"
-#: ../ui/evolution-mail-message.xml.h:116
+#: ui/evolution-mail-message.xml.h:116
msgid "_Next Message"
msgstr "Mesazhi në _Vazhdim"
-#: ../ui/evolution-mail-message.xml.h:117
+#: ui/evolution-mail-message.xml.h:117
msgid "_Normal Display"
msgstr "Paraqitje _Normale"
-#: ../ui/evolution-mail-message.xml.h:118
+#: ui/evolution-mail-message.xml.h:118
msgid "_Open Message"
msgstr "_Hape mesazhin"
-#: ../ui/evolution-mail-message.xml.h:120
+#: ui/evolution-mail-message.xml.h:120
msgid "_Previous Message"
msgstr "Mesazhi _Paraardhës"
-#: ../ui/evolution-mail-message.xml.h:122
+#: ui/evolution-mail-message.xml.h:122
msgid "_Quoted"
msgstr "_Cituar"
-#: ../ui/evolution-mail-message.xml.h:125 ../ui/evolution.xml.h:48
+#: ui/evolution-mail-message.xml.h:125 ui/evolution.xml.h:48
msgid "_Tools"
msgstr "_Instrumentë"
-#: ../ui/evolution-mail-message.xml.h:126
+#: ui/evolution-mail-message.xml.h:126
msgid "_Undelete"
msgstr "_Risill"
-#: ../ui/evolution-mail-message.xml.h:127
+#: ui/evolution-mail-message.xml.h:127
msgid "vFolder on Mailing _List..."
msgstr "Kartelë vFolder tek Mailing _List..."
-#: ../ui/evolution-mail-message.xml.h:128
+#: ui/evolution-mail-message.xml.h:128
msgid "vFolder on Se_nder..."
msgstr "Kartelë vFolder tek _Dërguesi..."
-#: ../ui/evolution-mail-message.xml.h:129
+#: ui/evolution-mail-message.xml.h:129
msgid "vFolder on _Recipients..."
msgstr "Kartelë vFolder tek _Marrësit..."
-#: ../ui/evolution-mail-message.xml.h:130
+#: ui/evolution-mail-message.xml.h:130
msgid "vFolder on _Subject..."
msgstr "Kartelë vFolder tek _Subjekti..."
-#: ../ui/evolution-mail-messagedisplay.xml.h:1
-#: ../ui/evolution-message-composer.xml.h:3
-#: ../ui/evolution-signature-editor.xml.h:2 ../ui/evolution.xml.h:4
+#: ui/evolution-mail-messagedisplay.xml.h:1
+#: ui/evolution-message-composer.xml.h:3 ui/evolution-signature-editor.xml.h:2
+#: ui/evolution.xml.h:4
msgid "Close"
msgstr "Mbyll"
-#: ../ui/evolution-mail-messagedisplay.xml.h:2 ../ui/evolution.xml.h:5
+#: ui/evolution-mail-messagedisplay.xml.h:2 ui/evolution.xml.h:5
msgid "Close this window"
msgstr "Mbyll këtë dritare"
-#: ../ui/evolution-mail-messagedisplay.xml.h:3 ../ui/evolution.xml.h:19
+#: ui/evolution-mail-messagedisplay.xml.h:3 ui/evolution.xml.h:19
msgid "Main toolbar"
msgstr "Paneli qendror i instrumentëve"
-#: ../ui/evolution-mail-messagedisplay.xml.h:5
-#: ../ui/evolution-message-composer.xml.h:41 ../ui/evolution-subscribe.xml.h:9
-#: ../ui/evolution.xml.h:37
+#: ui/evolution-mail-messagedisplay.xml.h:5
+#: ui/evolution-message-composer.xml.h:41 ui/evolution-subscribe.xml.h:9
+#: ui/evolution.xml.h:37
msgid "_Close"
msgstr "_Mbyll"
-#: ../ui/evolution-mail-messagedisplay.xml.h:7
-#: ../ui/evolution-message-composer.xml.h:44
-#: ../ui/evolution-signature-editor.xml.h:13
-#: ../ui/evolution-subscribe.xml.h:11 ../ui/evolution.xml.h:39
+#: ui/evolution-mail-messagedisplay.xml.h:7
+#: ui/evolution-message-composer.xml.h:44
+#: ui/evolution-signature-editor.xml.h:13 ui/evolution-subscribe.xml.h:11
+#: ui/evolution.xml.h:39
msgid "_File"
msgstr "_File"
-#: ../ui/evolution-message-composer.xml.h:1
+#: ui/evolution-message-composer.xml.h:1
msgid "Attach"
msgstr "Bashkangjit"
-#: ../ui/evolution-message-composer.xml.h:2
+#: ui/evolution-message-composer.xml.h:2
msgid "Attach a file"
msgstr "Bashkangjit një file"
-#: ../ui/evolution-message-composer.xml.h:4
-#: ../ui/evolution-signature-editor.xml.h:3
+#: ui/evolution-message-composer.xml.h:4 ui/evolution-signature-editor.xml.h:3
msgid "Close the current file"
msgstr "Mbylle file aktual"
-#: ../ui/evolution-message-composer.xml.h:5
+#: ui/evolution-message-composer.xml.h:5
msgid "Delete all but signature"
msgstr "Fshi gjithçka me përjashtim të firmës"
-#: ../ui/evolution-message-composer.xml.h:6
+#: ui/evolution-message-composer.xml.h:6
msgid "Encrypt this message with PGP"
msgstr "Kripto këtë mesazh me PGP"
-#: ../ui/evolution-message-composer.xml.h:7
+#: ui/evolution-message-composer.xml.h:7
msgid "Encrypt this message with your S/MIME Encryption Cetificate"
msgstr "Kripto këtë mesazh me çertifikatën e kriptimit tuaj S/MIME"
-#: ../ui/evolution-message-composer.xml.h:8
-#: ../ui/evolution-signature-editor.xml.h:4
+#: ui/evolution-message-composer.xml.h:8 ui/evolution-signature-editor.xml.h:4
msgid "For_mat"
msgstr "For_mati"
-#: ../ui/evolution-message-composer.xml.h:9
+#: ui/evolution-message-composer.xml.h:9
msgid "HT_ML"
msgstr "HT_ML"
-#: ../ui/evolution-message-composer.xml.h:11
+#: ui/evolution-message-composer.xml.h:11
msgid "Open a file"
msgstr "Hap një file"
-#: ../ui/evolution-message-composer.xml.h:12
+#: ui/evolution-message-composer.xml.h:12
msgid "PGP Encrypt"
msgstr "Kripto me PGP"
-#: ../ui/evolution-message-composer.xml.h:13
+#: ui/evolution-message-composer.xml.h:13
msgid "PGP Sign"
msgstr "Firmos me PGP"
-#: ../ui/evolution-message-composer.xml.h:14
+#: ui/evolution-message-composer.xml.h:14
msgid "S/MIME Encrypt"
msgstr "Kripto me S/MIME"
-#: ../ui/evolution-message-composer.xml.h:15
+#: ui/evolution-message-composer.xml.h:15
msgid "S/MIME Sign"
msgstr "Firmos me S/MIME"
-#: ../ui/evolution-message-composer.xml.h:17
+#: ui/evolution-message-composer.xml.h:17
msgid "Save As"
msgstr "Ruaj si"
-#: ../ui/evolution-message-composer.xml.h:18
+#: ui/evolution-message-composer.xml.h:18
msgid "Save _As..."
msgstr "Ruaje _Si..."
-#: ../ui/evolution-message-composer.xml.h:19
+#: ui/evolution-message-composer.xml.h:19
msgid "Save _Draft"
msgstr "Ruaj _Kopjen"
-#: ../ui/evolution-message-composer.xml.h:20
+#: ui/evolution-message-composer.xml.h:20
msgid "Save in folder..."
msgstr "Ruaje tek kartela..."
-#: ../ui/evolution-message-composer.xml.h:21
-#: ../ui/evolution-signature-editor.xml.h:9
+#: ui/evolution-message-composer.xml.h:21
+#: ui/evolution-signature-editor.xml.h:9
msgid "Save the current file"
msgstr "Ruaj file aktual"
-#: ../ui/evolution-message-composer.xml.h:22
+#: ui/evolution-message-composer.xml.h:22
msgid "Save the current file with a different name"
msgstr "Ruaj file aktual me një emër tjetër"
-#: ../ui/evolution-message-composer.xml.h:23
+#: ui/evolution-message-composer.xml.h:23
msgid "Save the message in a specified folder"
msgstr "Ruaje mesazhin në një kartelë të caktuar"
-#: ../ui/evolution-message-composer.xml.h:25
-#: ../ui/evolution-signature-editor.xml.h:11
+#: ui/evolution-message-composer.xml.h:25
+#: ui/evolution-signature-editor.xml.h:11
msgid "Send the mail in HTML format"
msgstr "Dërgoje postën në formatin HTML"
-#: ../ui/evolution-message-composer.xml.h:26
+#: ui/evolution-message-composer.xml.h:26
msgid "Send this message"
msgstr "Nise këtë mesazh"
-#: ../ui/evolution-message-composer.xml.h:27
+#: ui/evolution-message-composer.xml.h:27
msgid "Show / hide attachments"
msgstr "Shfaq / fshih të bashkangjiturit"
-#: ../ui/evolution-message-composer.xml.h:28
+#: ui/evolution-message-composer.xml.h:28
msgid "Show _attachments"
msgstr "Shfaq të _bashkangjiturit"
-#: ../ui/evolution-message-composer.xml.h:29
+#: ui/evolution-message-composer.xml.h:29
msgid "Show attachments"
msgstr "Shfaq të bashkangjiturit"
-#: ../ui/evolution-message-composer.xml.h:30
+#: ui/evolution-message-composer.xml.h:30
msgid "Sign this message with your PGP key"
msgstr "Firmos këtë mesazh me kyçin tuaj PGP"
-#: ../ui/evolution-message-composer.xml.h:31
+#: ui/evolution-message-composer.xml.h:31
msgid "Sign this message with your S/MIME Signature Certificate"
msgstr "Firmos këtë mesazh me çertifikatën e firmës suaj S/MIME"
-#: ../ui/evolution-message-composer.xml.h:32
+#: ui/evolution-message-composer.xml.h:32
msgid "Toggles whether the BCC field is displayed"
msgstr "Shkëmbe shfaqjen e fushës BCC"
-#: ../ui/evolution-message-composer.xml.h:33
+#: ui/evolution-message-composer.xml.h:33
msgid "Toggles whether the CC field is displayed"
msgstr "Shkëmbe shfaqjen e fushës CC"
-#: ../ui/evolution-message-composer.xml.h:34
+#: ui/evolution-message-composer.xml.h:34
msgid "Toggles whether the From chooser is displayed"
msgstr "Shkëmbe shfaqjen e fushës Nga"
-#: ../ui/evolution-message-composer.xml.h:35
+#: ui/evolution-message-composer.xml.h:35
msgid "Toggles whether the Post-To field is displayed"
msgstr "Shkëmbe shfaqjen e fushës Posto-Tek"
-#: ../ui/evolution-message-composer.xml.h:36
+#: ui/evolution-message-composer.xml.h:36
msgid "Toggles whether the Reply-To field is displayed"
msgstr "Shkëmbe shfaqjen e fushës Përgjigju-Tek"
-#: ../ui/evolution-message-composer.xml.h:37
+#: ui/evolution-message-composer.xml.h:37
msgid "Toggles whether the To field is displayed"
msgstr "Shkëmbe shfaqjen e fushës Për"
-#: ../ui/evolution-message-composer.xml.h:38
+#: ui/evolution-message-composer.xml.h:38
msgid "_Attachment..."
msgstr "_Të bashkangjitur..."
-#: ../ui/evolution-message-composer.xml.h:39
+#: ui/evolution-message-composer.xml.h:39
msgid "_Bcc Field"
msgstr "Fusha _Bcc"
-#: ../ui/evolution-message-composer.xml.h:40
+#: ui/evolution-message-composer.xml.h:40
msgid "_Cc Field"
msgstr "Fusha _Cc"
-#: ../ui/evolution-message-composer.xml.h:42
+#: ui/evolution-message-composer.xml.h:42
msgid "_Delete all"
msgstr "_Elemino gjithçka"
-#: ../ui/evolution-message-composer.xml.h:45
+#: ui/evolution-message-composer.xml.h:45
msgid "_From Field"
msgstr "Fusha _Nga"
-#: ../ui/evolution-message-composer.xml.h:46
-#: ../ui/evolution-signature-editor.xml.h:14
+#: ui/evolution-message-composer.xml.h:46
+#: ui/evolution-signature-editor.xml.h:14
msgid "_Insert"
msgstr "_Ndërfut"
-#: ../ui/evolution-message-composer.xml.h:47
+#: ui/evolution-message-composer.xml.h:47
msgid "_Open..."
msgstr "_Hap..."
-#: ../ui/evolution-message-composer.xml.h:48
+#: ui/evolution-message-composer.xml.h:48
msgid "_Post-To Field"
msgstr "Fusha _Posto-Tek"
-#: ../ui/evolution-message-composer.xml.h:49
+#: ui/evolution-message-composer.xml.h:49
msgid "_Reply-To Field"
msgstr "Fusha _Përgjigju-Tek"
-#: ../ui/evolution-message-composer.xml.h:50
-#: ../ui/evolution-signature-editor.xml.h:15
+#: ui/evolution-message-composer.xml.h:50
+#: ui/evolution-signature-editor.xml.h:15
msgid "_Save"
msgstr "_Ruaj"
-#: ../ui/evolution-message-composer.xml.h:51
+#: ui/evolution-message-composer.xml.h:51
msgid "_Security"
msgstr "_Siguria"
-#: ../ui/evolution-message-composer.xml.h:52
+#: ui/evolution-message-composer.xml.h:52
msgid "_To Field"
msgstr "Fusha _Për"
-#: ../ui/evolution-signature-editor.xml.h:1
+#: ui/evolution-signature-editor.xml.h:1
msgid "C_lose"
msgstr "M_byll"
-#: ../ui/evolution-signature-editor.xml.h:5
+#: ui/evolution-signature-editor.xml.h:5
msgid "H_TML"
msgstr "H_TML"
-#: ../ui/evolution-signature-editor.xml.h:7
+#: ui/evolution-signature-editor.xml.h:7
msgid "Save and Close"
msgstr "Ruaje dhe Mbylle"
-#: ../ui/evolution-signature-editor.xml.h:8
+#: ui/evolution-signature-editor.xml.h:8
msgid "Save and _Close"
msgstr "Ruaje dhe _Mbylle"
-#: ../ui/evolution-signature-editor.xml.h:10
+#: ui/evolution-signature-editor.xml.h:10
msgid "Save the current file and close the window"
msgstr "Ruaj file aktual dhe mbyll dritaren"
-#: ../ui/evolution-subscribe.xml.h:1
+#: ui/evolution-subscribe.xml.h:1
msgid "Add folder to your list of subscribed folders"
msgstr "Shtoje kartelën tek lista juaj e kartelave të regjistruara"
-#: ../ui/evolution-subscribe.xml.h:2
+#: ui/evolution-subscribe.xml.h:2
msgid "F_older"
msgstr "K_artela"
-#: ../ui/evolution-subscribe.xml.h:3
+#: ui/evolution-subscribe.xml.h:3
msgid "Refresh List"
msgstr "Rifresko Listën"
-#: ../ui/evolution-subscribe.xml.h:4
+#: ui/evolution-subscribe.xml.h:4
msgid "Refresh List of Folders"
msgstr "Rifresko Listën e Kartelave"
-#: ../ui/evolution-subscribe.xml.h:5
+#: ui/evolution-subscribe.xml.h:5
msgid "Remove folder from your list of subscribed folders"
msgstr "Hiqe kartelën nga lista juaj e kartelave të regjistruara"
-#: ../ui/evolution-subscribe.xml.h:7
+#: ui/evolution-subscribe.xml.h:7
msgid "Subscribe"
msgstr "Regjistrimi"
-#: ../ui/evolution-subscribe.xml.h:8
+#: ui/evolution-subscribe.xml.h:8
msgid "Unsubscribe"
msgstr "Ç'regjistrohu"
-#: ../ui/evolution-tasks.xml.h:3
+#: ui/evolution-tasks.xml.h:3
msgid "Copy selected task"
msgstr "Kopjo aktivitetin e zgjedhur"
-#: ../ui/evolution-tasks.xml.h:5
+#: ui/evolution-tasks.xml.h:5
msgid "Cut selected task"
msgstr "Preje aktivitetin e zgjedhur"
-#: ../ui/evolution-tasks.xml.h:7
+#: ui/evolution-tasks.xml.h:7
msgid "Delete completed tasks"
msgstr "Elemino aktivitetet e plotësuar"
-#: ../ui/evolution-tasks.xml.h:8
+#: ui/evolution-tasks.xml.h:8
msgid "Delete selected tasks"
msgstr "Elemino aktivitetet e zgjedhur"
-#: ../ui/evolution-tasks.xml.h:9
+#: ui/evolution-tasks.xml.h:9
msgid "Mar_k as Complete"
msgstr "Shë_no si të Plotësuar"
-#: ../ui/evolution-tasks.xml.h:10
+#: ui/evolution-tasks.xml.h:10
msgid "Mark selected tasks as complete"
msgstr "Shëno aktivitetet e zgjedhura si të plotësuara"
-#: ../ui/evolution-tasks.xml.h:12
+#: ui/evolution-tasks.xml.h:12
msgid "Paste task from the clipboard"
msgstr "Ngjit aktivitete nga shënimet"
-#: ../ui/evolution-tasks.xml.h:13
+#: ui/evolution-tasks.xml.h:13
msgid "Previews the list of tasks to be printed"
msgstr "Pamja e parë e listës së aktiviteteve që duhet printuar"
-#: ../ui/evolution-tasks.xml.h:16
+#: ui/evolution-tasks.xml.h:16
msgid "Print the list of tasks"
msgstr "Printo listën e aktiviteteve"
-#: ../ui/evolution-tasks.xml.h:18
+#: ui/evolution-tasks.xml.h:18
msgid "View the selected task"
msgstr "Shiko aktivitetin e zgjedhur"
-#: ../ui/evolution-tasks.xml.h:23
+#: ui/evolution-tasks.xml.h:23
msgid "_Open Task"
msgstr "_Hap Aktivitetin"
-#: ../ui/evolution.xml.h:1
+#: ui/evolution.xml.h:1
msgid "About Evolution..."
msgstr "Informacione mbi Evolution..."
-#: ../ui/evolution.xml.h:2
+#: ui/evolution.xml.h:2
msgid "Change Evolution's settings"
msgstr "Ndrysho rregullimet e Evolution"
-#: ../ui/evolution.xml.h:3
+#: ui/evolution.xml.h:3
msgid "Change the visibility of the toolbar"
msgstr "Ndrysho dukshmërinë e panelit të instrumentëve"
-#: ../ui/evolution.xml.h:6
+#: ui/evolution.xml.h:6
msgid "Create a new window displaying this folder"
msgstr "Krijo një dritare të re për të shfaqur këtë kartelë"
-#: ../ui/evolution.xml.h:7
+#: ui/evolution.xml.h:7
msgid "Display window buttons using the desktop toolbar setting"
-msgstr "Vizato pulsantët e dritares duke përdorur rregullimet e desktop për panelin e instrumentëve"
+msgstr ""
+"Vizato pulsantët e dritares duke përdorur rregullimet e desktop për panelin "
+"e instrumentëve"
-#: ../ui/evolution.xml.h:8
+#: ui/evolution.xml.h:8
msgid "Display window buttons with icons and text"
msgstr "Shfaq pulsantët e dritares me ikona dhe tekst"
-#: ../ui/evolution.xml.h:9
+#: ui/evolution.xml.h:9
msgid "Display window buttons with icons only"
msgstr "Shfaq pulsantët e dritares vetëm me ikona"
-#: ../ui/evolution.xml.h:10
+#: ui/evolution.xml.h:10
msgid "Display window buttons with text only"
msgstr "Shfaq pulsantët e dritares vetëm me tekst"
-#: ../ui/evolution.xml.h:11
+#: ui/evolution.xml.h:11
msgid "E_xit"
msgstr "D_alja"
-#: ../ui/evolution.xml.h:12
+#: ui/evolution.xml.h:12
msgid "Evolution _FAQ"
msgstr "_FAQ të Evolution"
-#: ../ui/evolution.xml.h:13
+#: ui/evolution.xml.h:13
msgid "Exit the program"
msgstr "Mbyll programin"
-#: ../ui/evolution.xml.h:14
+#: ui/evolution.xml.h:14
msgid "Forget _Passwords"
msgstr "Harro _Fjalëkalimet"
-#: ../ui/evolution.xml.h:15
+#: ui/evolution.xml.h:15
msgid "Forget remembered passwords so you will be prompted for them again"
msgstr "Harro fjalëkalimet në kujtesë në menyrë që t'ju kërkohen përsëri të rejat"
-#: ../ui/evolution.xml.h:16
+#: ui/evolution.xml.h:16
msgid "Hide window buttons"
msgstr "Fshih pulsantët e dritares"
-#: ../ui/evolution.xml.h:17
+#: ui/evolution.xml.h:17
msgid "Icons _and text"
msgstr "Ikona _dhe tekst"
-#: ../ui/evolution.xml.h:18
+#: ui/evolution.xml.h:18
msgid "Import data from other programs"
msgstr "Importo të dhëna nga programe të tjerë"
-#: ../ui/evolution.xml.h:20
+#: ui/evolution.xml.h:20
msgid "New _Window"
msgstr "_Dritare e Re"
-#: ../ui/evolution.xml.h:21
+#: ui/evolution.xml.h:21
msgid "Pi_lot Settings..."
msgstr "Rregullimet e Pi_lot-it..."
-#: ../ui/evolution.xml.h:22
+#: ui/evolution.xml.h:22
msgid "Prefere_nces"
msgstr "Preferi_met"
-#: ../ui/evolution.xml.h:23
+#: ui/evolution.xml.h:23
msgid "Send / Receive"
msgstr "Dërgo / Merr"
-#: ../ui/evolution.xml.h:24
+#: ui/evolution.xml.h:24
msgid "Send queued items and retrieve new items"
msgstr "Dërgo elementët në pritje dhe tërhiq elementët e rinj"
-#: ../ui/evolution.xml.h:25
+#: ui/evolution.xml.h:25
msgid "Set up Pilot configuration"
msgstr "Vendos konfigurimin e Pilot-it"
-#: ../ui/evolution.xml.h:26
+#: ui/evolution.xml.h:26
msgid "Show information about Evolution"
msgstr "Shfaq informacionet në lidhje me Evolution"
-#: ../ui/evolution.xml.h:27
+#: ui/evolution.xml.h:27
msgid "Submit Bug Report"
msgstr "Dërgo një Raport Difekti"
-#: ../ui/evolution.xml.h:28
+#: ui/evolution.xml.h:28
msgid "Submit _Bug Report"
msgstr "Dërgo një Raport _Difekti"
-#: ../ui/evolution.xml.h:29
+#: ui/evolution.xml.h:29
msgid "Submit a bug report using Bug Buddy"
msgstr "Njofto një mosfunksionim duke përdorur Bug Buddy"
-#: ../ui/evolution.xml.h:30
+#: ui/evolution.xml.h:30
msgid "Toggle whether we are working offline."
msgstr "Ndrysho menyrën e funksionimit (lidhur apo shkëputur)."
-#: ../ui/evolution.xml.h:31
+#: ui/evolution.xml.h:31
msgid "Tool_bar"
msgstr "Paneli i _instrumentëve"
-#: ../ui/evolution.xml.h:32
+#: ui/evolution.xml.h:32
msgid "Tool_bar style"
msgstr "Stili i panelit të _instrumentëve"
-#: ../ui/evolution.xml.h:33
+#: ui/evolution.xml.h:33
msgid "Window B_uttons"
msgstr "B_utonat e dritares"
-#: ../ui/evolution.xml.h:35
+#: ui/evolution.xml.h:35
msgid "_About Evolution..."
msgstr "_Informacione mbi Evolution..."
-#: ../ui/evolution.xml.h:40
+#: ui/evolution.xml.h:40
msgid "_Help"
msgstr "_Ndihmë"
-#: ../ui/evolution.xml.h:41
+#: ui/evolution.xml.h:41
msgid "_Hide buttons"
msgstr "_Fshih pulsantët"
-#: ../ui/evolution.xml.h:42
+#: ui/evolution.xml.h:42
msgid "_Icons only"
msgstr "Vetëm _Ikona"
-#: ../ui/evolution.xml.h:43
+#: ui/evolution.xml.h:43
msgid "_Import..."
msgstr "_Importim..."
-#: ../ui/evolution.xml.h:44
+#: ui/evolution.xml.h:44
msgid "_New"
msgstr "_E re"
-#: ../ui/evolution.xml.h:45
+#: ui/evolution.xml.h:45
msgid "_Quick Reference"
msgstr "Preferimet e _shpejta"
-#: ../ui/evolution.xml.h:46
+#: ui/evolution.xml.h:46
msgid "_Send / Receive"
msgstr "_Dërgo / Merr"
-#: ../ui/evolution.xml.h:47
+#: ui/evolution.xml.h:47
msgid "_Text only"
msgstr "Vetëm _Tekst"
-#: ../ui/evolution.xml.h:50
+#: ui/evolution.xml.h:50
msgid "_Window"
msgstr "_Dritare"
-#: ../views/addressbook/galview.xml.h:1
+#: views/addressbook/galview.xml.h:1
msgid "By _Company"
msgstr "Sipas _Shoqërisë"
-#: ../views/addressbook/galview.xml.h:2
+#: views/addressbook/galview.xml.h:2
msgid "_Address Cards"
msgstr "Card-at e _Adresave"
-#: ../views/addressbook/galview.xml.h:3
+#: views/addressbook/galview.xml.h:3
msgid "_Phone List"
msgstr "_Rubrika telefonike"
-#: ../views/calendar/galview.xml.h:1
+#: views/calendar/galview.xml.h:1
msgid "W_eek View"
msgstr "Paraqitja Javor_e"
-#: ../views/calendar/galview.xml.h:2
+#: views/calendar/galview.xml.h:2
msgid "_Day View"
msgstr "Paraqitja _Ditore"
-#: ../views/calendar/galview.xml.h:3
+#: views/calendar/galview.xml.h:3
msgid "_List View"
msgstr "Paraqitja si _Listë"
-#: ../views/calendar/galview.xml.h:4
+#: views/calendar/galview.xml.h:4
msgid "_Month View"
msgstr "Paraqitja _Mujore"
-#: ../views/calendar/galview.xml.h:5
+#: views/calendar/galview.xml.h:5
msgid "_Work Week View"
msgstr "Paraqitja Java _Punuese"
-#: ../views/mail/galview.xml.h:1
+#: views/mail/galview.xml.h:1
msgid "As _Sent Folder"
msgstr "Si Kartela _të dërguar"
-#: ../views/mail/galview.xml.h:2
+#: views/mail/galview.xml.h:2
msgid "By S_tatus"
msgstr "Sipas Gj_endjes"
-#: ../views/mail/galview.xml.h:3
+#: views/mail/galview.xml.h:3
msgid "By Se_nder"
msgstr "Sipas Dër_guesit"
-#: ../views/mail/galview.xml.h:4
+#: views/mail/galview.xml.h:4
msgid "By Su_bject"
msgstr "Sipas Su_bjektit"
-#: ../views/mail/galview.xml.h:5
+#: views/mail/galview.xml.h:5
msgid "By _Follow Up Flag"
msgstr "Sipas shënimit si në _vazhdim"
-#: ../views/mail/galview.xml.h:6
+#: views/mail/galview.xml.h:6
msgid "_Messages"
msgstr "_Mesazhet"
-#: ../views/tasks/galview.xml.h:1
+#: views/tasks/galview.xml.h:1
msgid "With _Due Date"
msgstr "Me _Skadim"
-#: ../views/tasks/galview.xml.h:2
+#: views/tasks/galview.xml.h:2
msgid "With _Status"
msgstr "Me _Gjendje"
-#: ../widgets/e-timezone-dialog/e-timezone-dialog.c:195
-#: ../widgets/e-timezone-dialog/e-timezone-dialog.c:637
+#: widgets/e-timezone-dialog/e-timezone-dialog.c:195
+#: widgets/e-timezone-dialog/e-timezone-dialog.c:637
msgid "UTC"
msgstr "UTC"
-#: ../widgets/e-timezone-dialog/e-timezone-dialog.glade.h:2
+#: widgets/e-timezone-dialog/e-timezone-dialog.glade.h:2
msgid "<b>Time Zones</b>"
msgstr "<b>Zona e orarit</b>"
-#: ../widgets/e-timezone-dialog/e-timezone-dialog.glade.h:3
+#: widgets/e-timezone-dialog/e-timezone-dialog.glade.h:3
msgid "<b>_Selection</b>"
msgstr "<b>_Zgjedhja</b>"
-#: ../widgets/e-timezone-dialog/e-timezone-dialog.glade.h:5
+#: widgets/e-timezone-dialog/e-timezone-dialog.glade.h:5
msgid "Select a Time Zone"
msgstr "Zgjidh zonën e orarit"
-#: ../widgets/e-timezone-dialog/e-timezone-dialog.glade.h:6
+#: widgets/e-timezone-dialog/e-timezone-dialog.glade.h:6
msgid "TimeZone Combobox"
msgstr "Kutia e kombinuar e zonës orare"
-#: ../widgets/e-timezone-dialog/e-timezone-dialog.glade.h:7
+#: widgets/e-timezone-dialog/e-timezone-dialog.glade.h:7
msgid ""
"Use the left mouse button to zoom in on an area of the map and select a time "
"zone.\n"
@@ -17650,203 +17570,202 @@ msgstr ""
"zgjidh zonën e orarit.\n"
"Përdor butonin e djathtë për të zvogëluar zonën e hartës."
-#: ../widgets/menus/gal-view-menus.c:292
+#: widgets/menus/gal-view-menus.c:292
msgid "_Current View"
msgstr "_Paraqitja aktuale"
-#: ../widgets/menus/gal-view-menus.c:360
+#: widgets/menus/gal-view-menus.c:360
msgid "Save Custom View..."
msgstr "Ruaj paraqitjes e personalizuar..."
#. Translators: These are the first characters of each day of the
#. week, 'M' for 'Monday', 'T' for Tuesday etc.
-#: ../widgets/misc/e-calendar-item.c:415
+#: widgets/misc/e-calendar-item.c:415
msgid "MTWTFSS"
msgstr "HMMEPSD"
#. This is a strftime() format. %B = Month name, %Y = Year.
-#: ../widgets/misc/e-calendar-item.c:1123
+#: widgets/misc/e-calendar-item.c:1123
msgid "%B %Y"
msgstr "%B %Y"
-#: ../widgets/misc/e-calendar.c:177 ../widgets/misc/e-calendar.c:201
+#: widgets/misc/e-calendar.c:177 widgets/misc/e-calendar.c:201
msgid "Previous Button"
msgstr "Pulsanti paraardhës"
-#: ../widgets/misc/e-calendar.c:226
+#: widgets/misc/e-calendar.c:226
msgid "Month Calendar"
msgstr "Kalendari mujor"
-#: ../widgets/misc/e-cell-date-edit.c:232 ../widgets/misc/e-dateedit.c:444
+#: widgets/misc/e-cell-date-edit.c:232 widgets/misc/e-dateedit.c:444
msgid "Now"
msgstr "Tani"
-#: ../widgets/misc/e-cell-date-edit.c:801
+#: widgets/misc/e-cell-date-edit.c:801
#, c-format
msgid "The time must be in the format: %s"
msgstr "Data duhet të jetë e formës: %s"
-#: ../widgets/misc/e-cell-percent.c:76
+#: widgets/misc/e-cell-percent.c:76
msgid "The percent value must be between 0 and 100, inclusive"
msgstr "Vlera në përqindje duhet të jetë midis 0 dhe 100, të përfshirë"
-#: ../widgets/misc/e-charset-picker.c:63
+#: widgets/misc/e-charset-picker.c:63
msgid "Baltic"
msgstr "Balltike"
-#: ../widgets/misc/e-charset-picker.c:64
+#: widgets/misc/e-charset-picker.c:64
msgid "Central European"
msgstr "Europa Qendrore"
-#: ../widgets/misc/e-charset-picker.c:65
+#: widgets/misc/e-charset-picker.c:65
msgid "Chinese"
msgstr "Kineze"
-#: ../widgets/misc/e-charset-picker.c:66
+#: widgets/misc/e-charset-picker.c:66
msgid "Cyrillic"
msgstr "Cyrillic"
-#: ../widgets/misc/e-charset-picker.c:67
+#: widgets/misc/e-charset-picker.c:67
msgid "Greek"
msgstr "Greqisht"
-#: ../widgets/misc/e-charset-picker.c:68
+#: widgets/misc/e-charset-picker.c:68
msgid "Hebrew"
msgstr "Hebraike"
-#: ../widgets/misc/e-charset-picker.c:69
+#: widgets/misc/e-charset-picker.c:69
msgid "Japanese"
msgstr "Japonisht"
-#: ../widgets/misc/e-charset-picker.c:70
+#: widgets/misc/e-charset-picker.c:70
msgid "Korean"
msgstr "Koreane"
-#: ../widgets/misc/e-charset-picker.c:71
+#: widgets/misc/e-charset-picker.c:71
msgid "Turkish"
msgstr "Turqisht"
-#: ../widgets/misc/e-charset-picker.c:72
+#: widgets/misc/e-charset-picker.c:72
msgid "Unicode"
msgstr "Unicode"
-#: ../widgets/misc/e-charset-picker.c:73
+#: widgets/misc/e-charset-picker.c:73
msgid "Western European"
msgstr "Europa perëndimore"
-#: ../widgets/misc/e-charset-picker.c:74
+#: widgets/misc/e-charset-picker.c:74
msgid "Western European, New"
msgstr "Europa Perëndimore, e re"
-#: ../widgets/misc/e-charset-picker.c:91 ../widgets/misc/e-charset-picker.c:92
-#: ../widgets/misc/e-charset-picker.c:93
+#: widgets/misc/e-charset-picker.c:91 widgets/misc/e-charset-picker.c:92
+#: widgets/misc/e-charset-picker.c:93
msgid "Traditional"
msgstr "Tradicionale"
-#: ../widgets/misc/e-charset-picker.c:94 ../widgets/misc/e-charset-picker.c:95
-#: ../widgets/misc/e-charset-picker.c:96 ../widgets/misc/e-charset-picker.c:97
+#: widgets/misc/e-charset-picker.c:94 widgets/misc/e-charset-picker.c:95
+#: widgets/misc/e-charset-picker.c:96 widgets/misc/e-charset-picker.c:97
msgid "Simplified"
msgstr "I thjeshtuar"
-#: ../widgets/misc/e-charset-picker.c:100
+#: widgets/misc/e-charset-picker.c:100
msgid "Ukrainian"
msgstr "Ukrahinase"
-#: ../widgets/misc/e-charset-picker.c:103
+#: widgets/misc/e-charset-picker.c:103
msgid "Visual"
msgstr "Viazual"
-#: ../widgets/misc/e-charset-picker.c:171
+#: widgets/misc/e-charset-picker.c:171
#, c-format
msgid "Unknown character set: %s"
msgstr "Grup i panjohur gërmash: %s"
-#: ../widgets/misc/e-charset-picker.c:216
-#: ../widgets/misc/e-charset-picker.c:479
+#: widgets/misc/e-charset-picker.c:216 widgets/misc/e-charset-picker.c:479
msgid "Character Encoding"
msgstr "Kodifikimi i gërmave"
-#: ../widgets/misc/e-charset-picker.c:231
+#: widgets/misc/e-charset-picker.c:231
msgid "Enter the character set to use"
msgstr "Shkruaj grupin e gërmave që duhen përdorur"
-#: ../widgets/misc/e-charset-picker.c:338
+#: widgets/misc/e-charset-picker.c:338
msgid "Other..."
msgstr "Tjetër..."
-#: ../widgets/misc/e-clipped-label.c:111
+#: widgets/misc/e-clipped-label.c:111
msgid "..."
msgstr "..."
-#: ../widgets/misc/e-dateedit.c:313
+#: widgets/misc/e-dateedit.c:313
msgid "Date and Time Entry"
msgstr "Shtimi i datës dhe orës"
-#: ../widgets/misc/e-dateedit.c:332
+#: widgets/misc/e-dateedit.c:332
msgid "Text entry to input date"
msgstr "Shtimi i tekstit për dhënien e një date"
-#: ../widgets/misc/e-dateedit.c:333
+#: widgets/misc/e-dateedit.c:333
msgid "Text Date Entry"
msgstr "Shkrimi i tekstit të datës"
-#: ../widgets/misc/e-dateedit.c:350
+#: widgets/misc/e-dateedit.c:350
msgid "Click this button to show a calendar"
msgstr "Kliko këtë pulsant për të shfaqur një kalendar"
-#: ../widgets/misc/e-dateedit.c:351
+#: widgets/misc/e-dateedit.c:351
msgid "Date Button"
msgstr "Pulsanti i datës"
-#: ../widgets/misc/e-dateedit.c:371
+#: widgets/misc/e-dateedit.c:371
msgid "Combo box to select time"
msgstr "Kuti e kombinuar për zgjedhjen e orarit"
-#: ../widgets/misc/e-dateedit.c:372
+#: widgets/misc/e-dateedit.c:372
msgid "Time Combo Box"
msgstr "Kutia e kombinuar e orës"
-#: ../widgets/misc/e-error.c:84 ../widgets/misc/e-error.c:85
-#: ../widgets/misc/e-error.c:127
+#: widgets/misc/e-error.c:84 widgets/misc/e-error.c:85
+#: widgets/misc/e-error.c:127
msgid "Evolution Error"
msgstr "Gabim i Evolution"
-#: ../widgets/misc/e-error.c:86 ../widgets/misc/e-error.c:87
-#: ../widgets/misc/e-error.c:125
+#: widgets/misc/e-error.c:86 widgets/misc/e-error.c:87
+#: widgets/misc/e-error.c:125
msgid "Evolution Warning"
msgstr "Paralajmërime të Evolution"
-#: ../widgets/misc/e-error.c:124
+#: widgets/misc/e-error.c:124
msgid "Evolution Information"
msgstr "Informacion i Evolution"
-#: ../widgets/misc/e-error.c:126
+#: widgets/misc/e-error.c:126
msgid "Evolution Query"
msgstr "Kërkimi në Evolution"
#. setup a dummy error
-#: ../widgets/misc/e-error.c:438
+#: widgets/misc/e-error.c:438
#, c-format
msgid "<span weight=\"bold\">Internal error, unknown error '%s' requested</span>"
msgstr "<span weight=\"bold\">Gabim i brendshëm, gabim i panjohur '%s'</span>"
-#: ../widgets/misc/e-expander.c:181
+#: widgets/misc/e-expander.c:181
msgid "Expanded"
msgstr "Shpalosur"
-#: ../widgets/misc/e-expander.c:182
+#: widgets/misc/e-expander.c:182
msgid "Whether or not the expander is expanded"
msgstr "Nëse zgjeruesi duhet të jetë i shpalosur"
-#: ../widgets/misc/e-expander.c:190
+#: widgets/misc/e-expander.c:190
msgid "Text of the expander's label"
msgstr "Teksti i etiketës së shpalosësit"
-#: ../widgets/misc/e-expander.c:197
+#: widgets/misc/e-expander.c:197
msgid "Use underline"
msgstr "Përdor nënvijë"
-#: ../widgets/misc/e-expander.c:198
+#: widgets/misc/e-expander.c:198
msgid ""
"If set, an underline in the text indicates the next character should be used "
"for the mnemonic accelerator key"
@@ -17854,173 +17773,173 @@ msgstr ""
"Nëse vihet, një nënvijë në tekst tregon që gërma pasuese duhet përdorur si "
"kyç për përshpejtues \"mnemonic\""
-#: ../widgets/misc/e-expander.c:205
+#: widgets/misc/e-expander.c:205
msgid "Spacing"
msgstr "Hapësira e ndërmjetme"
-#: ../widgets/misc/e-expander.c:206
+#: widgets/misc/e-expander.c:206
msgid "Space to put between the label and the child"
msgstr "Hapësira që duhet lënë midis etiketës dhe birit"
-#: ../widgets/misc/e-expander.c:215
+#: widgets/misc/e-expander.c:215
msgid "Label widget"
msgstr "Instrumenti etiketë"
-#: ../widgets/misc/e-expander.c:216
+#: widgets/misc/e-expander.c:216
msgid "A widget to display in place of the usual expander label"
msgstr ""
"Një instrument që do të shfaqet në vend të etiketës së zakonshme të "
"shpalosësit"
-#: ../widgets/misc/e-expander.c:222
+#: widgets/misc/e-expander.c:222
msgid "Expander Size"
msgstr "Madhësia e shpalosësit"
-#: ../widgets/misc/e-expander.c:223
+#: widgets/misc/e-expander.c:223
msgid "Size of the expander arrow"
msgstr "Madhësia e shigjetës së shpalosësit"
-#: ../widgets/misc/e-expander.c:231
+#: widgets/misc/e-expander.c:231
msgid "Indicator Spacing"
msgstr "Hapësira e treguesit"
-#: ../widgets/misc/e-expander.c:232
+#: widgets/misc/e-expander.c:232
msgid "Spacing around expander arrow"
msgstr "Hapësira rreth kutisë së shpalosësit"
-#: ../widgets/misc/e-filter-bar.c:195
+#: widgets/misc/e-filter-bar.c:195
msgid "_Searches"
msgstr "_Kërkimet"
-#: ../widgets/misc/e-filter-bar.c:197
+#: widgets/misc/e-filter-bar.c:197
msgid "Search Editor"
msgstr "Editori i kërkimeve"
#. FIXME: get the toplevel window...
-#: ../widgets/misc/e-filter-bar.c:220
+#: widgets/misc/e-filter-bar.c:220
msgid "Save Search"
msgstr "Ruaj Kërkimin"
-#: ../widgets/misc/e-filter-bar.h:92 ../widgets/misc/e-filter-bar.h:99
+#: widgets/misc/e-filter-bar.h:92 widgets/misc/e-filter-bar.h:99
msgid "_Save Search..."
msgstr "_Ruaj kërkimin..."
-#: ../widgets/misc/e-filter-bar.h:93 ../widgets/misc/e-filter-bar.h:100
+#: widgets/misc/e-filter-bar.h:93 widgets/misc/e-filter-bar.h:100
msgid "_Edit Saved Searches..."
msgstr "_Ndrysho kërkimet e ruajtura..."
-#: ../widgets/misc/e-filter-bar.h:94 ../widgets/misc/e-filter-bar.h:101
+#: widgets/misc/e-filter-bar.h:94 widgets/misc/e-filter-bar.h:101
msgid "_Advanced..."
msgstr "_Të hollësishme..."
-#: ../widgets/misc/e-image-chooser.c:172
+#: widgets/misc/e-image-chooser.c:172
msgid "Choose Image"
msgstr "Zgjidh figurën"
-#: ../widgets/misc/e-map.c:647
+#: widgets/misc/e-map.c:647
msgid "World Map"
msgstr "Harta e botës"
-#: ../widgets/misc/e-map.c:649
+#: widgets/misc/e-map.c:649
msgid ""
"Mouse-based interactive map widget for selecting timezone. Keyboard users "
"should select the timezone from the below combo box instead."
msgstr ""
-"Hartë interaktive bazuar në mouse për zgjedhjen e zonës orare. Përdoruesit që "
-"dëshirojnë të përdorin tastierën për të zgjedhur zonën orare duhet të veprojnë "
-"me anë të quadratit të mëposhtëm."
+"Hartë interaktive bazuar në mouse për zgjedhjen e zonës orare. Përdoruesit "
+"që dëshirojnë të përdorin tastierën për të zgjedhur zonën orare duhet të "
+"veprojnë me anë të quadratit të mëposhtëm."
-#: ../widgets/misc/e-pilot-settings.c:103
+#: widgets/misc/e-pilot-settings.c:103
msgid "Sync with:"
msgstr "Sink me:"
-#: ../widgets/misc/e-pilot-settings.c:111
+#: widgets/misc/e-pilot-settings.c:111
msgid "Sync Private Records:"
msgstr "Sinkronizimi i regjistrimeve private:"
-#: ../widgets/misc/e-pilot-settings.c:120
+#: widgets/misc/e-pilot-settings.c:120
msgid "Sync Categories:"
msgstr "Sinkronizimi i kategorive:"
#. To translators: This is the accessibility name of
#. the search bar's text entry widget
-#: ../widgets/misc/e-search-bar.c:343
+#: widgets/misc/e-search-bar.c:343
msgid "Search Text Entry"
msgstr "Shkrimi i tekstit që duhet kërkuar"
-#: ../widgets/misc/e-search-bar.c:547
+#: widgets/misc/e-search-bar.c:547
msgid "_Search"
msgstr "_Kërko"
-#: ../widgets/misc/e-search-bar.c:553
+#: widgets/misc/e-search-bar.c:553
msgid "_Find Now"
msgstr "_Gjej tani"
-#: ../widgets/misc/e-search-bar.c:554 ../widgets/misc/e-search-bar.c:941
+#: widgets/misc/e-search-bar.c:554 widgets/misc/e-search-bar.c:941
msgid "_Clear"
msgstr "_Pastro"
-#: ../widgets/misc/e-search-bar.c:645
+#: widgets/misc/e-search-bar.c:645
msgid "Search Type"
msgstr "Lloji i kërkimit"
-#: ../widgets/misc/e-search-bar.c:849
+#: widgets/misc/e-search-bar.c:849
msgid "Item ID"
msgstr "ID e elementit"
-#: ../widgets/misc/e-search-bar.c:856
+#: widgets/misc/e-search-bar.c:856
msgid "Subitem ID"
msgstr "ID e nënelementit"
-#: ../widgets/misc/e-search-bar.c:863
+#: widgets/misc/e-search-bar.c:863
msgid "Text"
msgstr "Teksti"
-#: ../widgets/misc/e-search-bar.c:943
+#: widgets/misc/e-search-bar.c:943
msgid "Find _Now"
msgstr "Gjej _Tani"
-#: ../widgets/misc/e-send-options.c:505
+#: widgets/misc/e-send-options.c:505
msgid "When de_leted:"
msgstr "Kur është e_leminuar:"
-#: ../widgets/misc/e-send-options.glade.h:1
+#: widgets/misc/e-send-options.glade.h:1
msgid "<b>Delivery Options</b>"
msgstr "<b>Dërgo opcionet</b>"
-#: ../widgets/misc/e-send-options.glade.h:2
+#: widgets/misc/e-send-options.glade.h:2
msgid "<b>Replies</b>"
msgstr "<b>Përgjigju</b>"
-#: ../widgets/misc/e-send-options.glade.h:3
+#: widgets/misc/e-send-options.glade.h:3
msgid "<b>Return Notification</b>"
msgstr "<b>Rikthe njoftimin</b>"
-#: ../widgets/misc/e-send-options.glade.h:4
+#: widgets/misc/e-send-options.glade.h:4
msgid "<b>Status Tracking</b>"
msgstr "<b>Kontrolli i gjendjes</b>"
-#: ../widgets/misc/e-send-options.glade.h:5
+#: widgets/misc/e-send-options.glade.h:5
msgid "A_uto-delete sent item"
msgstr "A_uto elemino elementët e dërguar"
-#: ../widgets/misc/e-send-options.glade.h:6
+#: widgets/misc/e-send-options.glade.h:6
msgid "C_lassification"
msgstr "K_lasifikimi"
-#: ../widgets/misc/e-send-options.glade.h:7
+#: widgets/misc/e-send-options.glade.h:7
msgid "Creat_e a sent item to track information"
msgstr "Krijo një _element dërgimi për të gjurmuar informacionet"
-#: ../widgets/misc/e-send-options.glade.h:8
+#: widgets/misc/e-send-options.glade.h:8
msgid "Deli_vered and opened"
msgstr "Dër_guar dhe hapur"
-#: ../widgets/misc/e-send-options.glade.h:9
+#: widgets/misc/e-send-options.glade.h:9
msgid "Gene_ral Options"
msgstr "Opcionet e pë_rgjithshme"
-#: ../widgets/misc/e-send-options.glade.h:10
+#: widgets/misc/e-send-options.glade.h:10
msgid ""
"None\n"
"Mail Receipt"
@@ -18028,7 +17947,7 @@ msgstr ""
"Asnjë\n"
"Ricevutë leximi"
-#: ../widgets/misc/e-send-options.glade.h:12
+#: widgets/misc/e-send-options.glade.h:12
msgid ""
"None\n"
"Mail Receipt\n"
@@ -18036,7 +17955,7 @@ msgstr ""
"Asnjë\n"
"Ricevutë leximi\n"
-#: ../widgets/misc/e-send-options.glade.h:15
+#: widgets/misc/e-send-options.glade.h:15
msgid ""
"Public\n"
"Private\n"
@@ -18046,15 +17965,15 @@ msgstr ""
"Private\n"
"Në konfidencë\n"
-#: ../widgets/misc/e-send-options.glade.h:19
+#: widgets/misc/e-send-options.glade.h:19
msgid "R_eply requested"
msgstr "Kërk_esë përgjigje"
-#: ../widgets/misc/e-send-options.glade.h:21
+#: widgets/misc/e-send-options.glade.h:21
msgid "Sta_tus Tracking"
msgstr "Gjurm_imi i gjendjes"
-#: ../widgets/misc/e-send-options.glade.h:22
+#: widgets/misc/e-send-options.glade.h:22
msgid ""
"Undefined\n"
"High\n"
@@ -18066,85 +17985,85 @@ msgstr ""
"Standart\n"
"I ulët"
-#: ../widgets/misc/e-send-options.glade.h:26
+#: widgets/misc/e-send-options.glade.h:26
msgid "W_ithin"
msgstr "B_renda"
-#: ../widgets/misc/e-send-options.glade.h:27
+#: widgets/misc/e-send-options.glade.h:27
msgid "When acce_pted: "
msgstr "Kur _pranohet: "
-#: ../widgets/misc/e-send-options.glade.h:28
+#: widgets/misc/e-send-options.glade.h:28
msgid "When co_mpleted:"
msgstr "Kur plotës_ohet:"
-#: ../widgets/misc/e-send-options.glade.h:29
+#: widgets/misc/e-send-options.glade.h:29
msgid "When decli_ned: "
msgstr "Kur refu_zohet: "
-#: ../widgets/misc/e-send-options.glade.h:30
+#: widgets/misc/e-send-options.glade.h:30
msgid "_After:"
msgstr "_Mbas:"
-#: ../widgets/misc/e-send-options.glade.h:31
+#: widgets/misc/e-send-options.glade.h:31
msgid "_All information"
msgstr "_Të gjitha informacionet"
-#: ../widgets/misc/e-send-options.glade.h:32
+#: widgets/misc/e-send-options.glade.h:32
msgid "_Delay message delivery"
msgstr "_Vono dorëzimin e mesazhit"
-#: ../widgets/misc/e-send-options.glade.h:33
+#: widgets/misc/e-send-options.glade.h:33
msgid "_Delivered"
msgstr "_Dërguar"
-#: ../widgets/misc/e-send-options.glade.h:35
+#: widgets/misc/e-send-options.glade.h:35
msgid "_Set expiration date"
msgstr "_Cakto datën e skadimit"
-#: ../widgets/misc/e-send-options.glade.h:36
+#: widgets/misc/e-send-options.glade.h:36
msgid "_Until:"
msgstr "_Deri më:"
-#: ../widgets/misc/e-send-options.glade.h:37
+#: widgets/misc/e-send-options.glade.h:37
msgid "_When convenient"
msgstr "_Kur ja vlen"
-#: ../widgets/misc/e-send-options.glade.h:38
+#: widgets/misc/e-send-options.glade.h:38
msgid "_When opened: "
msgstr "_Kur hapet: "
#. system:ask-save-file-exists-overwrite primary
-#: ../widgets/misc/e-system-errors.xml.h:4
+#: widgets/misc/e-system-errors.xml.h:4
msgid "File exists \"{0}\"."
msgstr "File ekziston \"{0}\"."
#. system:ask-save-file-exists-overwrite secondary
-#: ../widgets/misc/e-system-errors.xml.h:6
+#: widgets/misc/e-system-errors.xml.h:6
msgid "Do you wish to overwrite it?"
msgstr "Dëshiron t'a mbishkruash?"
#. system:no-save-file primary
-#: ../widgets/misc/e-system-errors.xml.h:9
+#: widgets/misc/e-system-errors.xml.h:9
msgid "Cannot save file \"{0}\"."
msgstr "E pamundur ruajtja e file \"{0}\"."
#. system:no-load-file primary
-#: ../widgets/misc/e-system-errors.xml.h:13
+#: widgets/misc/e-system-errors.xml.h:13
msgid "Cannot open file \"{0}\"."
msgstr "E pamundur hapja e file \"{0}\"."
-#: ../widgets/misc/e-task-widget.c:208
+#: widgets/misc/e-task-widget.c:208
#, c-format
msgid "%s (...)"
msgstr "%s (...)"
-#: ../widgets/misc/e-task-widget.c:213
+#: widgets/misc/e-task-widget.c:213
#, c-format
msgid "%s (%d%% complete)"
msgstr "%s (%d%% plotësuar)"
-#: ../widgets/misc/e-url-entry.c:107
+#: widgets/misc/e-url-entry.c:107
msgid "click here to go to url"
msgstr "kliko këtu për të shkuar tek url"
diff --git a/po/sr.po b/po/sr.po
index fbbcdcf1af..56f7c6dfc8 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -5,17 +5,16 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: evolution 2.0\n"
+"Project-Id-Version: evolution\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-03-05 08:58+0100\n"
-"PO-Revision-Date: 2005-03-05 08:53+0100\n"
+"POT-Creation-Date: 2005-03-10 01:57+0100\n"
+"PO-Revision-Date: 2005-03-10 02:00+0100\n"
"Last-Translator: Игор ÐеÑторовић <jung@one.ekof.bg.ac.yu>\n"
"Language-Team: Serbian (sr) <gnom@prevod.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
-"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
#: a11y/addressbook/ea-addressbook-view.c:94
#: a11y/addressbook/ea-addressbook-view.c:103
@@ -34,12 +33,12 @@ msgid "New Contact List"
msgstr "Ðова контакт лиÑта"
#: a11y/addressbook/ea-minicard-view.c:149
-#, fuzzy, c-format
+#, c-format
msgid "current addressbook folder has %d card"
msgid_plural "current addressbook folder has %d cards"
-msgstr[0] "текући директоријум адреÑара"
-msgstr[1] "текући директоријум адреÑара"
-msgstr[2] "текући директоријум адреÑара"
+msgstr[0] "текући директоријум адреÑара има %d карту"
+msgstr[1] "текући директоријум адреÑара има %d карте"
+msgstr[2] "текући директоријум адреÑара има %d карти"
#: a11y/addressbook/ea-minicard.c:31
#: calendar/gui/alarm-notify/alarm-queue.c:876
@@ -48,14 +47,12 @@ msgid "Open"
msgstr "Отвори"
#: a11y/addressbook/ea-minicard.c:138
-#, fuzzy
msgid "Contact List: "
-msgstr "Контакт ли_Ñта"
+msgstr "Контакт ли_Ñта: "
#: a11y/addressbook/ea-minicard.c:139
-#, fuzzy
msgid "Contact: "
-msgstr "Контакти: "
+msgstr "Контакт: "
#: a11y/addressbook/ea-minicard.c:165
msgid "evolution minicard"
@@ -63,96 +60,87 @@ msgstr "миникарта еволуције"
#: a11y/calendar/ea-cal-view-event.c:235
msgid "It has alarms."
-msgstr ""
+msgstr "Има аларме."
#: a11y/calendar/ea-cal-view-event.c:238
-#, fuzzy
msgid "It has recurrences."
-msgstr "_Без понављања"
+msgstr "Има понављања."
#: a11y/calendar/ea-cal-view-event.c:241
msgid "It is a meeting."
-msgstr ""
+msgstr "То је ÑаÑтанак."
#: a11y/calendar/ea-cal-view-event.c:247
-#, fuzzy, c-format
+#, c-format
msgid "Calendar Event: Summary is %s."
-msgstr "КалендарÑки догађаји"
+msgstr "КалендарÑки догађај: преглед је %s."
#: a11y/calendar/ea-cal-view-event.c:249
-#, fuzzy
msgid "Calendar Event: It has no summary."
-msgstr "КалендарÑки догађаји"
+msgstr "КалендарÑки догађај: нема преглед."
#: a11y/calendar/ea-cal-view-event.c:268
-#, fuzzy
msgid "calendar view event"
-msgstr "КалендарÑки догађаји"
+msgstr "догађај прегледа календара"
#: a11y/calendar/ea-cal-view-event.c:485
-#, fuzzy
msgid "Grab Focus"
-msgstr "Има фокуÑ"
+msgstr "Ухвати фокуÑ"
#: a11y/calendar/ea-cal-view.c:306
-#, fuzzy
msgid "New Appointment"
-msgstr "Ðов _заказани ÑаÑтанак"
+msgstr "Ðов ÑаÑтанак"
#: a11y/calendar/ea-cal-view.c:307
-#, fuzzy
msgid "New All Day Event"
-msgstr "Ðов целодневни _догађај"
+msgstr "Ðов целодневни догађај"
#: a11y/calendar/ea-cal-view.c:308 calendar/gui/e-calendar-view.c:1372
msgid "New Meeting"
msgstr "Ðов ÑаÑтанак"
#: a11y/calendar/ea-cal-view.c:309
-#, fuzzy
msgid "Go to Today"
-msgstr "Иди на _данашњи дан"
+msgstr "Иди на данашњи дан"
#: a11y/calendar/ea-cal-view.c:310
-#, fuzzy
msgid "Go to Date"
-msgstr "Иди на _датум"
+msgstr "Иди на датум"
#: a11y/calendar/ea-day-view-main-item.c:299
#: a11y/calendar/ea-week-view-main-item.c:301
-#, fuzzy
msgid "a table to view and select the current time range"
-msgstr "време у одноÑу на тренутно време"
+msgstr "табела за приказ и избор текућег временÑког раÑпона"
#: a11y/calendar/ea-day-view.c:146 a11y/calendar/ea-week-view.c:148
#, c-format
msgid "It has %d event."
msgid_plural "It has %d events."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Има %d догађај."
+msgstr[1] "Има %d догађаја."
+msgstr[2] "Има %d догађаја."
#: a11y/calendar/ea-day-view.c:148 a11y/calendar/ea-week-view.c:150
msgid "It has no events."
-msgstr ""
+msgstr "Ðема догађаја."
#: a11y/calendar/ea-day-view.c:152
-#, fuzzy, c-format
+#, c-format
msgid "Work Week View: %s. %s"
-msgstr "Преглед радне недеље"
+msgstr "Преглед радне недеље: %s. %s"
#: a11y/calendar/ea-day-view.c:155
-#, fuzzy, c-format
+#, c-format
msgid "Day View: %s. %s"
-msgstr "Дневни преглед"
+msgstr "Дневни преглед: %s. %s"
#: a11y/calendar/ea-day-view.c:186
-#, fuzzy
msgid "calendar view for a work week"
-msgstr "подаци о календару"
+msgstr "преглед календара за радну недељу"
#: a11y/calendar/ea-day-view.c:188
msgid "calendar view for one or more days"
-msgstr ""
+msgstr "приказ календара за једна или више дана"
#: a11y/calendar/ea-gnome-calendar.c:187 calendar/gui/calendar-component.c:660
msgid "%A %d %b %Y"
@@ -209,69 +197,63 @@ msgid "Gnome Calendar"
msgstr "Гном календар"
#: a11y/calendar/ea-gnome-calendar.c:290
-#, fuzzy
msgid "search bar"
-msgstr "ОÑнова за _претрагу:"
+msgstr "трака претраге"
#: a11y/calendar/ea-gnome-calendar.c:291
-#, fuzzy
msgid "evolution calendar search bar"
-msgstr "Прегледник Еволуција календара"
+msgstr "трака претраге еволуција календара"
#: a11y/calendar/ea-jump-button.c:149
msgid "Jump button"
-msgstr ""
+msgstr "Дугме за преÑкакање"
#: a11y/calendar/ea-jump-button.c:158
-#, fuzzy
msgid "Click here, you can find more events."
-msgstr "ПритиÑните овде да додате учеÑника"
+msgstr "Кликните овде, можете наћи још догађаја."
#: a11y/calendar/ea-week-view.c:155
-#, fuzzy, c-format
+#, c-format
msgid "Month View: %s. %s"
-msgstr "МеÑечни преглед"
+msgstr "МеÑечни преглед: %s. %s"
#: a11y/calendar/ea-week-view.c:159
-#, fuzzy, c-format
+#, c-format
msgid "Week View: %s. %s"
-msgstr "Ðедељни преглед"
+msgstr "Ðедељни преглед: %s. %s"
#: a11y/calendar/ea-week-view.c:190
-#, fuzzy
msgid "calendar view for a month"
-msgstr "подаци о календару"
+msgstr "преглед календара за меÑец"
#: a11y/calendar/ea-week-view.c:192
msgid "calendar view for one or more weeks"
-msgstr ""
+msgstr "приказ календара за један или више недеља"
#: a11y/widgets/ea-calendar-item.c:296 a11y/widgets/ea-calendar-item.c:302
msgid "%d %B %Y"
msgstr "%d %B %Y"
#: a11y/widgets/ea-calendar-item.c:304
-#, fuzzy, c-format
+#, c-format
msgid "Calendar: from %s to %s"
-msgstr "Информација о календару"
+msgstr "Календар: од %s до %s"
#: a11y/widgets/ea-calendar-item.c:339
-#, fuzzy
msgid "evolution calendar item"
-msgstr "Прегледник Еволуција календара"
+msgstr "Предмет еволуција календара"
#: a11y/widgets/ea-combo-button.c:40
msgid "Combo Button"
-msgstr ""
+msgstr "Дугме за комбиновање"
#: a11y/widgets/ea-combo-button.c:50
-#, fuzzy
msgid "Activate Default"
-msgstr "КориÑти _подразумевано"
+msgstr "Ðктивирај подразумевано"
#: a11y/widgets/ea-combo-button.c:52
msgid "Popup Menu"
-msgstr ""
+msgstr "ИÑкачући мени"
# мало аориÑта ;-)
#. addressbook:ldap-init primary
@@ -281,12 +263,11 @@ msgstr "Овај адреÑар није могуће отворити."
#. addressbook:ldap-init secondary
#: addressbook/addressbook-errors.xml.h:4
-#, fuzzy
msgid ""
"This addressbook server might be unreachable or the server name may be "
"misspelled or your network connection could be down."
msgstr ""
-"Овај Ñервер адреÑара је или недоÑтупан или је његово име погрешно унето или "
+"Сервер овог адреÑара је или недоÑтупан или је његово име погрешно унето или "
"је мрежа недоÑтупна."
#. addressbook:ldap-auth primary
@@ -343,16 +324,14 @@ msgstr "ÐеуÑпешно уклањање адреÑара."
#. addressbook:ask-delete-addressbook primary
#: addressbook/addressbook-errors.xml.h:22
-#, fuzzy
msgid "Delete address book '{0}'?"
-msgstr "Изаберите одредишни адреÑар."
+msgstr "ОбриÑати адреÑар '{0}'?"
# мало аориÑта ;-)
#. addressbook:ask-delete-addressbook secondary
#: addressbook/addressbook-errors.xml.h:24
-#, fuzzy
msgid "This address book will be removed permanently."
-msgstr "Овај адреÑар није могуће отворити."
+msgstr "Овај адреÑар биће трајно уклоњен."
#. addressbook:edit-categories primary
#: addressbook/addressbook-errors.xml.h:26
@@ -470,19 +449,17 @@ msgstr ""
#. addressbook:ask-list-add-exists primary
#: addressbook/addressbook-errors.xml.h:59
-#, fuzzy
msgid "Address '{0}' already exists."
-msgstr "Директоријум већ поÑтоји"
+msgstr "ÐдреÑа '{0}' већ поÑтоји"
#. addressbook:ask-list-add-exists secondary
#: addressbook/addressbook-errors.xml.h:61
-#, fuzzy
msgid ""
"A contact already exists with this address. Would you like to add a new "
"card with the same address anyway?"
msgstr ""
-"Промењена електронÑка адреÑа или име овог контакта\n"
-"већ поÑтоји у овом директоријуму. Желите ли Ñвеједно да додате?"
+"Контакт Ñа овом адреÑом већ поÑтоји. Желите ли ипак да додате нову карту Ñа "
+"иÑтом адреÑом?"
#: addressbook/addressbook-errors.xml.h:62 mail/em-vfolder-rule.c:494
#: plugins/shared-folder/properties.glade.h:10
@@ -492,20 +469,19 @@ msgstr "_Додај"
#. addressbook:server-version title
#. calendar:server-version title
#: addressbook/addressbook-errors.xml.h:64 calendar/calendar-errors.xml.h:142
-#, fuzzy
msgid "Server Version"
-msgstr "Верзија"
+msgstr "Верзија Ñервера"
#. addressbook:server-version primary
#. calendar:server-version primary
#: addressbook/addressbook-errors.xml.h:66 calendar/calendar-errors.xml.h:144
msgid "Your server needs to be updated"
-msgstr ""
+msgstr "Серверу је потребно оÑвежавање"
#. addressbook:server-version secondary
#: addressbook/addressbook-errors.xml.h:68
msgid "Some features may not work correctly with your current server version"
-msgstr ""
+msgstr "Ðа текућој верзији Ñервера неке опције неће иÑправно радити"
#: addressbook/conduit/address-conduit.c:298
msgid "Default Sync Address:"
@@ -647,9 +623,8 @@ msgid "Failed upgrading Addressbook settings or folders."
msgstr "ÐеуÑпешно дограђивање подешавања или директоријума адреÑара."
#: addressbook/gui/component/addressbook-config.c:315
-#, fuzzy
msgid "Base"
-msgstr "Ðалепи"
+msgstr "База"
#: addressbook/gui/component/addressbook-config.c:510
#: calendar/gui/dialogs/calendar-setup.c:191
@@ -658,9 +633,8 @@ msgid "_Type:"
msgstr "_Тип:"
#: addressbook/gui/component/addressbook-config.c:609
-#, fuzzy
msgid "Copy book content locally for offline operation"
-msgstr "Копирај Ñадржај директоријума локално за рад ван мреже"
+msgstr "Копирај Ñадржај књиге локално за рад ван мреже"
#: addressbook/gui/component/addressbook-config.c:904
#: addressbook/gui/component/ldap-config.glade.h:23
@@ -677,14 +651,12 @@ msgid "Addressbook"
msgstr "ÐдреÑар"
#: addressbook/gui/component/addressbook-config.c:909
-#, fuzzy
msgid "Server Information"
-msgstr "<b>Подаци Ñервера</b>"
+msgstr "Подаци Ñервера"
#: addressbook/gui/component/addressbook-config.c:911
-#, fuzzy
msgid "Authentication"
-msgstr "SMTP пријава"
+msgstr "Пријава"
#: addressbook/gui/component/addressbook-config.c:914
#: addressbook/gui/component/ldap-config.glade.h:18
@@ -693,14 +665,12 @@ msgid "Details"
msgstr "Детаљи"
#: addressbook/gui/component/addressbook-config.c:915
-#, fuzzy
msgid "Searching"
-msgstr "Тражим..."
+msgstr "Претрага"
#: addressbook/gui/component/addressbook-config.c:917
-#, fuzzy
msgid "Downloading"
-msgstr "<b>Преузимање</b>"
+msgstr "Преузимање"
#: addressbook/gui/component/addressbook-config.c:1118
#: addressbook/gui/component/ldap-config.glade.h:14
@@ -783,9 +753,8 @@ msgid "Properties..."
msgstr "Подешавања..."
#: addressbook/gui/component/addressbook-view.c:1130
-#, fuzzy
msgid "Contact Source Selector"
-msgstr "Извори ниÑу изабрани."
+msgstr "Бирач извора контакта"
#: addressbook/gui/component/addressbook.c:98
msgid "Accessing LDAP Server anonymously"
@@ -798,44 +767,40 @@ msgstr "ÐеуÑпела пријава.\n"
#: addressbook/gui/component/addressbook.c:200
#: plugins/groupwise-account-setup/camel-gw-listener.c:461
-#, fuzzy, c-format
+#, c-format
msgid "Enter password for %s (user %s)"
-msgstr "%sУнеÑите лозинку за %s (кориÑник %s)"
+msgstr "УнеÑите лозинку за %s (кориÑник %s)"
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:1
-#, fuzzy
msgid "Autocomplete length"
-msgstr "Самодопуњавање"
+msgstr "Дужина Ñамодопуњавања"
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:2
-#, fuzzy
msgid "EFolderList XML for the list of completion URIs"
-msgstr "EFolderList XML за ÑпиÑак адреÑа (url) за допуњавање"
+msgstr "EFolderList XML за ÑпиÑак адреÑа (URI) за допуњавање"
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:3
-#, fuzzy
msgid "EFolderList XML for the list of completion URIs."
-msgstr "EFolderList XML за ÑпиÑак адреÑа (url) за допуњавање"
+msgstr "EFolderList XML за ÑпиÑак адреÑа (URI) за допуњавање."
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:4
-#, fuzzy
msgid ""
"Position of the vertical pane, between the card and list views and the "
"preview pane, in pixels."
-msgstr "Положај уÑправног панела у меÑечном прегледу"
+msgstr ""
+"Положај вертикалног панела, између карте и ÑпиÑка прегледа и панела за "
+"преглед, у пикÑелима."
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:5
-#, fuzzy
msgid "Show preview pane"
-msgstr "Прикажи панел \"Преглед\""
+msgstr "Прикажи панел прегледа"
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:6
-#, fuzzy
msgid ""
"The number of characters that must be typed before Evolution will attempt to "
"autocomplete."
msgstr ""
-"Број знакова који Ñе морају укуцати пре него еволуција покуша да Ñамодопуни"
+"Број знакова који Ñе морају укуцати пре него Еволуција покуша да Ñамодопуни."
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:7
msgid "URI for the folder last used in the select names dialog"
@@ -843,21 +808,18 @@ msgstr ""
"ÐдреÑа (URL) за поÑледњи кориштен директоријум у прозорчету за избор имена"
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:8
-#, fuzzy
msgid "URI for the folder last used in the select names dialog."
msgstr ""
-"ÐдреÑа (URL) за поÑледњи кориштен директоријум у прозорчету за избор имена"
+"ÐдреÑа (URI) за поÑледњи кориштен директоријум у прозорчету за избор имена."
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:9
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:49
-#, fuzzy
msgid "Vertical pane position"
-msgstr "ГеографÑки положај"
+msgstr "Положај вертикалног панела"
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:10
-#, fuzzy
msgid "Whether to show the preview pane."
-msgstr "Да ли Ñе приказује површ Ñа директоријумима"
+msgstr "Да ли Ñе приказује панел прегледа."
#: addressbook/gui/component/ldap-config.glade.h:1
#: addressbook/gui/contact-editor/contact-editor.glade.h:1
@@ -1048,14 +1010,13 @@ msgstr ""
"уÑпорићете ваш адреÑар."
#: addressbook/gui/component/ldap-config.glade.h:37
-#, fuzzy
msgid ""
"This is the method Evolution will use to authenticate you. Note that "
"setting this to \"Email Address\" requires anonymous access to your ldap "
"server."
msgstr ""
-"Ово је метод који ће еволуција кориÑтити да Ð²Ð°Ñ Ð¿Ñ€Ð¸Ñ˜Ð°Ð²Ð¸. Запазите да "
-"укључивање овога на \"Email Address\" захтева анонимни приÑтуп на ldap "
+"Ово је метод који ће Еволуција кориÑтити да Ð²Ð°Ñ Ð¿Ñ€Ð¸Ñ˜Ð°Ð²Ð¸. Запазите да "
+"укључивање овога на \"ЕлектронÑка адреÑа\" захтева анонимни приÑтуп на ldap "
"Ñервер."
#: addressbook/gui/component/ldap-config.glade.h:38
@@ -1205,9 +1166,8 @@ msgid "Full _Name..."
msgstr "Пуно _име..."
#: addressbook/gui/contact-editor/contact-editor.glade.h:15
-#, fuzzy
msgid "Image"
-msgstr "Страна"
+msgstr "Слика"
#: addressbook/gui/contact-editor/contact-editor.glade.h:16
#: addressbook/gui/contact-editor/e-contact-editor-im.c:66
@@ -1232,9 +1192,8 @@ msgid "Personal Information"
msgstr "Лични подаци"
#: addressbook/gui/contact-editor/contact-editor.glade.h:22
-#, fuzzy
msgid "Telephone"
-msgstr "<b>Телефон</b>"
+msgstr "Телефон"
#. red
#: addressbook/gui/contact-editor/contact-editor.glade.h:23
@@ -1251,78 +1210,65 @@ msgid "_Address:"
msgstr "_ÐдреÑа:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:25
-#, fuzzy
msgid "_Anniversary:"
-msgstr "Годишњица:"
+msgstr "_Годишњица:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:26
-#, fuzzy
msgid "_Assistant:"
-msgstr "Помоћник:"
+msgstr "_Помоћник:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:27
-#, fuzzy
msgid "_Birthday:"
-msgstr "Рођендан:"
+msgstr "_Рођендан:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:28
#: plugins/itip-formatter/itip-view.c:1619
-#, fuzzy
msgid "_Calendar:"
-msgstr "Календар:"
+msgstr "_Календар:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:29
msgid "_Categories"
msgstr "_Категорије"
#: addressbook/gui/contact-editor/contact-editor.glade.h:30
-#, fuzzy
msgid "_City:"
-msgstr "МеÑто:"
+msgstr "_МеÑто:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:31
-#, fuzzy
msgid "_Company:"
-msgstr "Предузеће:"
+msgstr "Пр_едузеће:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:32
-#, fuzzy
msgid "_Country:"
-msgstr "Држава:"
+msgstr "_Држава:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:33
-#, fuzzy
msgid "_Department:"
-msgstr "Одељење:"
+msgstr "_Одељење:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:34
msgid "_File under:"
msgstr "СмеÑти _под:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:35
-#, fuzzy
msgid "_Free/Busy:"
-msgstr "С_лободан/заузет:"
+msgstr "С_лободно/заузето:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:36
-#, fuzzy
msgid "_Home Page:"
-msgstr "Лична Ñтраница:"
+msgstr "_Лична Ñтрана:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:37
-#, fuzzy
msgid "_Manager:"
-msgstr "Управник:"
+msgstr "_Управник:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:38
-#, fuzzy
msgid "_Notes:"
-msgstr "Белешке:"
+msgstr "_Белешке:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:39
-#, fuzzy
msgid "_Office:"
-msgstr "Канцеларија:"
+msgstr "_Канцеларија:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:40
#: addressbook/gui/contact-editor/fulladdr.glade.h:7
@@ -1330,14 +1276,12 @@ msgid "_PO Box:"
msgstr "_ПоштанÑки број:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:41
-#, fuzzy
msgid "_Profession:"
-msgstr "Занимање:"
+msgstr "_Занимање:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:42
-#, fuzzy
msgid "_Spouse:"
-msgstr "Супружник:"
+msgstr "С_упружник:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:43
#: addressbook/gui/contact-editor/fulladdr.glade.h:8
@@ -1350,19 +1294,16 @@ msgid "_Title:"
msgstr "_Титула:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:45
-#, fuzzy
msgid "_Video Chat:"
-msgstr "Видео разговор:"
+msgstr "_Видео разговор:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:46
-#, fuzzy
msgid "_Wants to receive HTML mail"
-msgstr "Жели да прима HTML пошту"
+msgstr "_Жели да прима HTML пошту"
#: addressbook/gui/contact-editor/contact-editor.glade.h:47
-#, fuzzy
msgid "_Web Log:"
-msgstr "Блог:"
+msgstr "Б_лог:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:48
#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:13
@@ -1370,9 +1311,8 @@ msgid "_Where:"
msgstr "_Где:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:49
-#, fuzzy
msgid "_Zip/Postal Code:"
-msgstr "Zip/ПоштанÑки број:"
+msgstr "Zip/Пош_танÑки број:"
#: addressbook/gui/contact-editor/e-contact-editor-address.c:96
#: addressbook/gui/widgets/eab-contact-display.c:365
@@ -2132,7 +2072,6 @@ msgid "Saint Lucia"
msgstr "Света Луција"
#: addressbook/gui/contact-editor/e-contact-editor-address.c:320
-#, fuzzy
msgid "Saint Vincent And The Grenadines"
msgstr "Свети ВинÑент и Гренадини"
@@ -2446,9 +2385,8 @@ msgid "Writable Fields"
msgstr "Поља за упиÑ"
#: addressbook/gui/contact-editor/e-contact-editor.c:291
-#, fuzzy
msgid "Required Fields"
-msgstr "_Обавезне људе"
+msgstr "_Обавезна поља"
#: addressbook/gui/contact-editor/e-contact-editor.c:305
msgid "Changed"
@@ -2642,9 +2580,8 @@ msgid "_List name:"
msgstr "Име _лиÑте:"
#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:11
-#, fuzzy
msgid "_Select"
-msgstr "Одабери"
+msgstr "_Изабери"
#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:12
msgid "_Type an email address or drag a contact into the list below:"
@@ -2664,14 +2601,12 @@ msgid "Is New List"
msgstr "Је нова лиÑта"
#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:707
-#, fuzzy
msgid "_Members"
-msgstr "Чланови"
+msgstr "_Чланови"
#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:710
-#, fuzzy
msgid "Contact List Members"
-msgstr "ИÑпиши чланове"
+msgstr "Чланови конкакт лиÑте"
#: addressbook/gui/merging/eab-contact-commit-duplicate-detected.glade.h:1
msgid "Changed Contact:"
@@ -3060,7 +2995,6 @@ msgid "Column Width"
msgstr "Ширина колоне"
#: addressbook/gui/widgets/e-minicard-view.c:171
-#, fuzzy
msgid ""
"\n"
"\n"
@@ -3070,9 +3004,9 @@ msgid ""
msgstr ""
"\n"
"\n"
-"Ðема Ñтавки за приказивање.\n"
+"Потражите контакт\n"
"\n"
-"Кликните двапут да направите нов контакт."
+"или кликните двапут овде за прављење новог контакта."
#: addressbook/gui/widgets/e-minicard-view.c:174
msgid ""
@@ -3089,12 +3023,14 @@ msgstr ""
"Кликните двапут да направите нов контакт."
#: addressbook/gui/widgets/e-minicard-view.c:179
-#, fuzzy
msgid ""
"\n"
"\n"
"Search for the Contact."
-msgstr "Претрага за контактима..."
+msgstr ""
+"\n"
+"\n"
+"Претрага за контактима."
#: addressbook/gui/widgets/e-minicard-view.c:181
msgid ""
@@ -3279,6 +3215,9 @@ msgid ""
"marked for offline usage or not yet downloaded for offline usage. Please "
"load the addressbook once in online mode to download its contents"
msgstr ""
+"ÐиÑмо у могућноÑти да отворимо овај адреÑар. То или значи да он није означен "
+"за коришћење ван мреже или да још није преузет за рад ван мреже. Учитајте "
+"овај адреÑар када Ñе повежете ради преутимања Ñадржаја"
#: addressbook/gui/widgets/eab-gui-util.c:98
msgid ""
@@ -3377,7 +3316,7 @@ msgid "Error removing contact"
msgstr "Грешка код уклањања контакта"
#: addressbook/gui/widgets/eab-gui-util.c:282
-#, fuzzy, c-format
+#, c-format
msgid ""
"Opening %d contact will open %d new window as well.\n"
"Do you really want to display this contact?"
@@ -3385,20 +3324,14 @@ msgid_plural ""
"Opening %d contacts will open %d new windows as well.\n"
"Do you really want to display all of these contacts?"
msgstr[0] ""
-"Отварање %d контакта ће отворити и %d нових прозора.\n"
-"Да ли Ñтварно желите да погледате овај контакт?Отварање %d контаката ће "
-"отворити и %d нових прозора.\n"
-"Да ли Ñтварно желите да погледате Ñве ове контакте?"
+"Отварање %d контакта ће отворити и %d нов прозор.\n"
+"Да ли Ñтварно желите да погледате ове контакте?"
msgstr[1] ""
-"Отварање %d контакта ће отворити и %d нових прозора.\n"
-"Да ли Ñтварно желите да погледате овај контакт?Отварање %d контаката ће "
-"отворити и %d нових прозора.\n"
-"Да ли Ñтварно желите да погледате Ñве ове контакте?"
+"Отварање %d контакта ће отворити и %d нова прозора.\n"
+"Да ли Ñтварно желите да погледате ове контакте?"
msgstr[2] ""
"Отварање %d контакта ће отворити и %d нових прозора.\n"
-"Да ли Ñтварно желите да погледате овај контакт?Отварање %d контаката ће "
-"отворити и %d нових прозора.\n"
-"Да ли Ñтварно желите да погледате Ñве ове контакте?"
+"Да ли Ñтварно желите да погледате ове контакте?"
#: addressbook/gui/widgets/eab-gui-util.c:311
#, c-format
@@ -3489,12 +3422,12 @@ msgid "Merge E-Mail Address"
msgstr "Споји електронÑке адреÑе"
#: addressbook/gui/widgets/eab-vcard-control.c:139
-#, fuzzy, c-format
+#, c-format
msgid "There is one other contact."
msgid_plural "There are %d other contacts."
-msgstr[0] "и још један контакт."
-msgstr[1] "и још %d контакта."
-msgstr[2] "и још %d контаката."
+msgstr[0] "ПоÑтоји још %d контакт."
+msgstr[1] "ПоÑтоји још %d контакта."
+msgstr[2] "ПоÑтоји још %d контаката."
#: addressbook/gui/widgets/eab-vcard-control.c:223
#: addressbook/gui/widgets/eab-vcard-control.c:272
@@ -3772,17 +3705,14 @@ msgid "[vcard|csv]"
msgstr "[vcard|csv]"
#: addressbook/tools/evolution-addressbook-export.c:61
-#, fuzzy
msgid "Export in asynchronous mode"
msgstr "Извези у аÑинхроном режиму"
#: addressbook/tools/evolution-addressbook-export.c:63
-#, fuzzy
msgid ""
"The number of cards in one output file in asychronous mode, default size 100."
msgstr ""
-"Број карти у једној излазној датотеци у аÑинхроном режиму, подразумевано је "
-"100."
+"Број карти у једној излазној датотеци у аÑинхроном режиму, подразумевано 100."
#: addressbook/tools/evolution-addressbook-export.c:63
msgid "NUMBER"
@@ -3804,12 +3734,10 @@ msgid "In async mode, output must be file."
msgstr "У аÑинхроном режиму, излаз мора бити датотека."
#: addressbook/tools/evolution-addressbook-export.c:122
-#, fuzzy
msgid "In normal mode, there is no need for the size option."
msgstr "У нормалном режиму, нема потребе за подешавањем величине."
#: addressbook/tools/evolution-addressbook-export.c:153
-#, fuzzy
msgid "Unhandled error"
msgstr "Ðепозната грешка"
@@ -4111,41 +4039,37 @@ msgstr "Ваши календари неће бити доÑтупни док Ñ
#. calendar:prompt-delete-calendar primary
#: calendar/calendar-errors.xml.h:116
-#, fuzzy
msgid "Delete calendar '{0}'?"
-msgstr "ОбриÑати \"{0}\"?"
+msgstr "ОбриÑати календар \"{0}\"?"
#. calendar:prompt-delete-calendar secondary
#: calendar/calendar-errors.xml.h:118
msgid "This calendar will be removed permanently."
-msgstr ""
+msgstr "Овај календар ће бити трајно уклоњен."
#. calendar:prompt-delete-task-list primary
#: calendar/calendar-errors.xml.h:120
-#, fuzzy
msgid "Delete task list '{0}'?"
-msgstr "Обриши ову лиÑту"
+msgstr "ОбриÑати ÑпиÑак задужења '{0}'?"
#. calendar:prompt-delete-task-list secondary
#: calendar/calendar-errors.xml.h:122
msgid "This task list will be removed permanently."
-msgstr ""
+msgstr "Овај ÑпиÑак задужења ће бити трајно уклоњен."
#. calendar:prompt-send-no-subject-calendar primary
#: calendar/calendar-errors.xml.h:124
-#, fuzzy
msgid "Are you sure you want to send the appointment without a summary?"
-msgstr "Сигурно желите да пошаљете поруку без наÑлова?"
+msgstr "Сигурно желите да пошаљете ÑаÑтанак без прегледа?"
#. calendar:prompt-send-no-subject-calendar secondary
#: calendar/calendar-errors.xml.h:126
-#, fuzzy
msgid ""
"Adding a meaningful Summary to your appointment will give your recipients an "
"idea of what your appointment is about."
msgstr ""
-"Убацивањем ÑмиÑленог наÑлова у ваше поруке даћете примаоцима до знања о чему "
-"је реч у њој."
+"Убацивањем ÑмиÑленог прегледа у ваш ÑаÑтанак даћете примаоцима до знања у "
+"вези чега је ÑаÑтанак."
#: calendar/calendar-errors.xml.h:127 calendar/calendar-errors.xml.h:132
#: mail/mail-errors.xml.h:15 mail/mail-errors.xml.h:20
@@ -4155,46 +4079,42 @@ msgstr "_Пошаљи"
#. calendar:prompt-send-no-subject-task primary
#: calendar/calendar-errors.xml.h:129
-#, fuzzy
msgid "Are you sure you want to send the task without a summary?"
-msgstr "Сигурно желите да пошаљете поруку без наÑлова?"
+msgstr "Сигурно желите да пошаљете задужење без прегледа?"
#. calendar:prompt-send-no-subject-task secondary
#: calendar/calendar-errors.xml.h:131
-#, fuzzy
msgid ""
"Adding a meaningful Summary to your task will give your recipients an idea "
"of what your task is about."
msgstr ""
-"Убацивањем ÑмиÑленог наÑлова у ваше поруке даћете примаоцима до знања о чему "
-"је реч у њој."
+"Убацивањем ÑмиÑленог прегледа у ваше задужење даћете примаоцима до знања шта "
+"је задужење."
#. calendar:prompt-no-contents-offline-calendar primary
#: calendar/calendar-errors.xml.h:134
-#, fuzzy
msgid "Error loading calendar"
-msgstr "Грешка код отварања календара"
+msgstr "Грешка у учитавању календара"
#. calendar:prompt-no-contents-offline-calendar secondary
#: calendar/calendar-errors.xml.h:136
msgid "The calendar is not marked for offline usage"
-msgstr ""
+msgstr "Овај календар није означен за коришћење ван мреже"
#. calendar:prompt-no-contents-offline-tasks primary
#: calendar/calendar-errors.xml.h:138
-#, fuzzy
msgid "Error loading task list"
-msgstr "Грешка код додавања лиÑте"
+msgstr "Грешка у учитавању ÑпиÑка задужења"
#. calendar:prompt-no-contents-offline-tasks secondary
#: calendar/calendar-errors.xml.h:140
msgid "The task list is not marked for offline usage"
-msgstr ""
+msgstr "Овај ÑпиÑак заду-ења није означен за коришћење ван мреже"
#. calendar:server-version secondary
#: calendar/calendar-errors.xml.h:146
msgid " Some features may not work correctly with your current server version"
-msgstr ""
+msgstr " Ðа текућој верзији Ñервера неке опције можда неће иÑправно радити"
#: calendar/common/authentication.c:49 calendar/gui/e-pub-utils.c:301
#: smime/gui/component.c:48
@@ -4287,10 +4207,9 @@ msgstr "Ð¡ÐµÑ€Ð²Ð¸Ñ Ð·Ð° аларм обавештења Еволуција кÐ
# bug: plural-forms
#: calendar/gui/alarm-notify/alarm-notify-dialog.c:79
-#, fuzzy
msgid "minute"
msgid_plural "minutes"
-msgstr[0] "минута"
+msgstr[0] "минут"
msgstr[1] "минута"
msgstr[2] "минута"
@@ -4300,16 +4219,14 @@ msgid "Appointment"
msgstr "СаÑтанак"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:2
-#, fuzzy
msgid "Appointment Title"
-msgstr "СаÑтанак"
+msgstr "ÐаÑлов ÑаÑтанка"
#. End time
#: calendar/gui/alarm-notify/alarm-notify.glade.h:3
#: plugins/itip-formatter/itip-view.c:876
-#, fuzzy
msgid "End time:"
-msgstr "Време _завршетка:"
+msgstr "Време завршетка:"
#. Location
#: calendar/gui/alarm-notify/alarm-notify.glade.h:4
@@ -4318,16 +4235,14 @@ msgid "Location:"
msgstr "МеÑто:"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:5
-#, fuzzy
msgid "Snooze _time:"
-msgstr "Време _дремања (минути):"
+msgstr "Време _дремања:"
#. Start time
#: calendar/gui/alarm-notify/alarm-notify.glade.h:6
#: plugins/itip-formatter/itip-view.c:867
-#, fuzzy
msgid "Start time:"
-msgstr "_Време почетка:"
+msgstr "Време почетка:"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:7
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:50
@@ -4346,24 +4261,20 @@ msgid "_Snooze"
msgstr "Дре_мај"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:9
-#, fuzzy
msgid "description of appointment"
-msgstr "почетак ÑаÑтанка"
+msgstr "Ð¾Ð¿Ð¸Ñ ÑаÑтанка"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:10
-#, fuzzy
msgid "end-time"
-msgstr "Време _завршетка:"
+msgstr "време-завршетка"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:11
-#, fuzzy
msgid "location"
-msgstr "МеÑто"
+msgstr "меÑто"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:13
-#, fuzzy
msgid "start-time"
-msgstr "_Време почетка:"
+msgstr "време-почетка"
#: calendar/gui/alarm-notify/alarm-queue.c:877
msgid "Dismiss"
@@ -4374,9 +4285,8 @@ msgid "Dismiss All"
msgstr "Одбаци Ñве"
#: calendar/gui/alarm-notify/alarm-queue.c:960
-#, fuzzy
msgid "No summary available."
-msgstr "Ðема опиÑа."
+msgstr "Ðема доÑтупног опиÑа."
#: calendar/gui/alarm-notify/alarm-queue.c:969
#: calendar/gui/alarm-notify/alarm-queue.c:971
@@ -4384,9 +4294,8 @@ msgid "No description available."
msgstr "Ðема опиÑа."
#: calendar/gui/alarm-notify/alarm-queue.c:979
-#, fuzzy
msgid "No location information available."
-msgstr "Ðема опиÑа."
+msgstr "Ðема доÑтупног податка о локацији."
#: calendar/gui/alarm-notify/alarm-queue.c:995
#, c-format
@@ -4452,204 +4361,191 @@ msgid "invalid time"
msgstr "погрешно време"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:1
-#, fuzzy
msgid "Alarm programs"
-msgstr "Покрени програм"
+msgstr "Програми за аларм"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:2
-#, fuzzy
msgid "Ask for confirmation when deleting items"
-msgstr "_Тражи потврду за бриÑање података"
+msgstr "Тражи потврду за бриÑање предмета"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:3
-#, fuzzy
msgid "Background color of tasks that are due today, in \"#rrggbb\" format."
-msgstr "Боја задужења за данаÑ"
+msgstr "Боја позадине задужења за данаÑ, у формату \"#rrggbb\"."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:4
-#, fuzzy
msgid "Background color of tasks that are overdue, in \"#rrggbb\" format."
-msgstr "Боја закаÑнелих задужења"
+msgstr "Боја позадине закаÑнелих задужења, у формату \"#rrggbb\"."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:5
msgid "Calendars to run alarms for"
msgstr "Календари за које Ñе покреће аларм"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:6
-#, fuzzy
msgid "Compress weekends in month view"
-msgstr "_Скупи недеље у меÑечни приказ"
+msgstr "Скупи недеље у меÑечни приказ"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:7
-#, fuzzy
msgid "Confirm expunge"
-msgstr "_Потврди када празниш директоријум"
+msgstr "Потврди пражњење"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:8
msgid "Days on which the start and end of work hours should be indicated."
-msgstr ""
+msgstr "Потребно је означити дане којима почињу и завршавају Ñе радни Ñати."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:9
-#, fuzzy
msgid "Default appointment reminder"
-msgstr "Обриши ÑаÑтанак"
+msgstr "Подразумевани подÑетник за ÑаÑтанак"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:10
-#, fuzzy
msgid "Default reminder units"
-msgstr "Подразумевана ширина прозора"
+msgstr "Подразумеване јединице подÑетника"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:11
-#, fuzzy
msgid "Default reminder value"
-msgstr "Подразумевани календар за Ñервер"
+msgstr "Подразумевана вредноÑÑ‚ подÑетника"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:12
-#, fuzzy
msgid "Free/busy server urls"
-msgstr "Слободно/заузето захтев"
+msgstr "ÐдреÑе (url) Ñервера Ñлободно/заузето"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:13
-#, fuzzy
msgid "Free/busy template url"
-msgstr "Слободно/заузето одговор"
+msgstr "Модел адреÑа Ñлободно/заузето"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:14
-#, fuzzy
msgid "Hide completed tasks"
-msgstr "_Сакриј иÑпуњена задужења поÑле"
+msgstr "Сакриј иÑпуњена задужења"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:15
-#, fuzzy
msgid "Hide task units"
-msgstr "Ðови ÑпиÑак задужења"
+msgstr "Сакриј јединице задужења"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:16
msgid "Hide task value"
-msgstr ""
+msgstr "Сакриј вредноÑÑ‚ задужења"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:17
-#, fuzzy
msgid "Horizontal pane position"
-msgstr "ГеографÑки положај"
+msgstr "Хоризонтални положај панела"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:18
msgid "Hour the workday ends on, in twenty four hour format, 0 to 23."
msgstr ""
+"Сат којим Ñе завршава радна недеља, у двадеÑетчетворочаÑовном формату, од 0 "
+"до 23."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:19
msgid "Hour the workday starts on, in twenty four hour format, 0 to 23."
msgstr ""
+"Сат којим почиње радна недеља, у двадеÑетчетворочаÑовном формату, од 0 до 23."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:20
msgid "Last alarm time"
-msgstr ""
+msgstr "ПоÑледње време за аларм"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:21
-#, fuzzy
msgid "List of server urls for free/busy publishing."
-msgstr "СпиÑак адреÑа (url) за објављивање Ñлободан/заузет"
+msgstr "СпиÑак адреÑа (url) Ñервера за објављивање Ñлободно/заузето."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:22
-#, fuzzy
msgid "Minute the workday ends on, 0 to 59"
-msgstr "Минут којим Ñе завршава радни дан"
+msgstr "Минут којим Ñе завршава радни дан, од 0 до 59"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:23
-#, fuzzy
msgid "Minute the workday starts on, 0 to 59."
-msgstr "Минут којим почиње радни дан"
+msgstr "Минут којим почиње радни дан, од 0 до 59."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:24
-#, fuzzy
msgid "Month view horizontal pane position"
-msgstr "Положај водоравног панела"
+msgstr "Положај водоравног панела меÑечног приказа"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:25
-#, fuzzy
msgid "Month view vertical pane position"
-msgstr "Положај уÑправног панела у главном прегледу"
+msgstr "Положај вертикалног панела меÑечног приказа"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:26
-#, fuzzy
msgid "Number of units for determining for a default reminder."
-msgstr "Број јединица за предефиниÑани подÑетник"
+msgstr "Број јединица за подразумевани подÑетник."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:27
-#, fuzzy
msgid "Number of units for determining when to hide tasks."
-msgstr "Број јединица за одређивање када Ñакрити задужења"
+msgstr "Број јединица за одређивање када Ñакрити задужења."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:28
-#, fuzzy
msgid "Overdue tasks color"
-msgstr "_ÐеиÑпуњена задужења:"
+msgstr "Боја неиÑпуњених задужења"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:29
msgid ""
"Position of the horizontal pane, between the date navigator calendar and the "
"task list when not in the month view, in pixels."
msgstr ""
+"Позиција хоризонталног панела, између календаровог навигатора за датум и "
+"ÑпиÑка задужења када није поÑтављен меÑечни приказ, у пикÑелима."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:30
msgid ""
"Position of the horizontal pane, between the view and the date navigator "
"calendar and task list in the month view, in pixels."
msgstr ""
+"Позиција хоризонталног панела, између приказа и календаровог навигатора "
+"датума и ÑпиÑка задужења у меÑечном приказу, у пикÑелима."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:31
-#, fuzzy
msgid ""
"Position of the vertical pane, between task list and the task preview pane, "
"in pixels."
-msgstr "Положај уÑправног панела у прегледу задужења"
+msgstr ""
+"Положај вертикалног панела, између ÑпиÑка задужења и панела за преглед "
+"задужења, у пикÑелима."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:32
msgid ""
"Position of the vertical pane, between the view and the date navigator "
"calendar and task list in the month view, in pixels."
msgstr ""
+"Позиција вертикалног панела, између приказа и календаровог навигаторадатума "
+"и ÑпиÑка задужења у меÑечном приказу, у пикÑелима."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:33
msgid ""
"Position of the vertical pane, between the view and the date navigator "
"calendar and task list when not in the month view, in pixels."
msgstr ""
+"Позиција вертикалног панела, између приказа и календаровог навигатора "
+"календара и ÑпиÑка задужења када није поÑтављен меÑечни приказ, у пикÑелима."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:34
-#, fuzzy
msgid "Programs that are allowed to be run by alarms."
-msgstr "Програми који могу да Ñе покрену као део аларма"
+msgstr "Програми који могу бити покренути алармима."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:35
-#, fuzzy
msgid "Show appointment end times in week and month views"
-msgstr "_Покажи времена завршетка ÑаÑтанака у недељним и меÑечним приказима"
+msgstr "Приказује времена завршетка ÑаÑтанака у недељним и меÑечним приказима"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:36
msgid "Show display alarms in notification tray"
-msgstr ""
+msgstr "Приказује аларме у обавештајној зони"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:37
-#, fuzzy
msgid "Show week numbers in date navigator"
-msgstr "Покажи _бројеве недеља у навигатору за датуме"
+msgstr "Приказује бројеве недеља у навигатору за датуме"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:38
-#, fuzzy
msgid "Tasks due today color"
-msgstr "З_адужења за данаÑ:"
+msgstr "Боја задужења за данаÑ"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:39
-#, fuzzy
msgid "Tasks vertical pane position"
-msgstr "ГеографÑки положај"
+msgstr "Положај вертикалног панела задужења"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:40
msgid ""
"The default timezone to use for dates and times in the calendar, as an "
"untranslated Olsen timezone database location like \"America/New York\"."
msgstr ""
+"Подразумевана временÑка зона коју календар кориÑти за датуме и времена, "
+"каонепреведено меÑто базе временÑке зоне Olsen као \"Ðмерика/Њујорк\"."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:42
#, no-c-format
@@ -4657,119 +4553,111 @@ msgid ""
"The url template to use as a free/busy data fallback, %u is replaced by the "
"user part of the mail address and %d is replaced by the domain."
msgstr ""
+"Модел адреÑе (url) за коришћење у повраћају података Ñлободно/заузето, %u Ñе "
+"замењује кориÑничким делом електронÑке адреÑе а %d доменом."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:43
-#, fuzzy
msgid ""
"Time divisions</short> <short>Intervals shown in Day and Work Week views, in "
"minutes."
-msgstr "Интервали приказани у прегледима дана и радне недеље"
+msgstr ""
+"Поделе времена</short> <short>Интервали приказани у дневним и недељним "
+"прегледима, у минутима."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:44
-#, fuzzy
msgid "Time the last alarm ran, in time_t."
-msgstr "Време поÑледњег покретања аларма"
+msgstr "Време поÑледњег покретања аларма, у времену_t."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:45
-#, fuzzy
msgid "Timezone"
msgstr "ВременÑка зона"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:46
msgid "Twenty four hour time format"
-msgstr ""
+msgstr "ДавадеÑетчетворочаÑовни формат времена"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:47
msgid "Units for a default reminder, \"minutes\", \"hours\" or \"days\"."
msgstr ""
+"Јединице за подразумевани подÑетник, \"минути\", \"Ñати\" или \"дани\"."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:48
-#, fuzzy
msgid ""
"Units for determining when to hide tasks, \"minutes\", \"hours\" or \"days\"."
-msgstr "Јединице за одређивање када Ñакрити задужења"
+msgstr ""
+"Јединице за одређивање када Ñакрити задужења, \"минути\", \"Ñати\", или "
+"\"дани\"."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:50
-#, fuzzy
msgid "Week start"
-msgstr "Почетак н_едеље:"
+msgstr "Почетак недеље"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:51
-#, fuzzy
msgid "Weekday the week starts on, from Sunday (0) to Saturday (6)."
-msgstr "Дан којим почиње недеља"
+msgstr "Дан којим почиње недеља, од недеље (0) до Ñуботе (6)."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:52
-#, fuzzy
msgid "Whether or not to use the notification tray for display alarms."
-msgstr "Да ли да кориÑти обавештајну зону за приказивање аларма"
+msgstr "Да ли да кориÑти обавештајну зону за приказивање аларма."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:53
-#, fuzzy
msgid "Whether to ask for confirmation when deleting an appointment or task."
-msgstr "Да ли да тражи потврду бриÑања ÑаÑтанака"
+msgstr "Да ли да тражи потврду бриÑања ÑаÑтанака или задужења."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:54
-#, fuzzy
msgid "Whether to ask for confirmation when expunging appointments and tasks."
-msgstr "Да ли да тражи потврду бриÑања ÑаÑтанака"
+msgstr "Да ли да тражи потврду бриÑања ÑаÑтанака и задужења."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:55
msgid ""
"Whether to compress weekends in the month view, which puts Saturday and "
"Sunday in the space of one weekday."
msgstr ""
+"Да ли да Ñабије викенде у меÑечном приказу, који Ñуботу и недељу Ñтавља у "
+"проÑтор радног дана."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:56
-#, fuzzy
msgid "Whether to display the end time of events in the week and month views."
-msgstr "_Покажи времена завршетка ÑаÑтанака у недељним и меÑечним приказима"
+msgstr ""
+"Да ли да прикаже времена завршетка ÑаÑтанака у недељним и меÑечним приказима."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:57
-#, fuzzy
msgid "Whether to hide completed tasks in the tasks view."
-msgstr "Да ли да Ñакрије урађена задужења"
+msgstr "Да ли да Ñакрије обављена задужења у прегледу задужења."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:58
-#, fuzzy
msgid "Whether to set a default reminder for appointments."
-msgstr "Да ли да поÑтави предефиниÑани подÑетник за догађаје"
+msgstr "Да ли да поÑтави подразумевани подÑетник за ÑаÑтанке."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:59
-#, fuzzy
msgid ""
"Whether to show times in twenty four hour format instead of using am/pm."
-msgstr "Да ли да прикаже време у 24ч облику умеÑто am/pm"
+msgstr ""
+"Да ли да прикаже време у двадеÑеточаÑовном облику умеÑто коришћења am/pm."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:60
-#, fuzzy
msgid "Whether to show week numbers in the date navigator."
-msgstr "Да ли да прикаже бројеве недеља у избирачу датума"
+msgstr "Да ли да прикаже бројеве недеља у навигатору датума."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:61
-#, fuzzy
msgid "Work days"
-msgstr "Радни дани:"
+msgstr "Радни дани"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:62
-#, fuzzy
msgid "Workday end hour"
-msgstr "Ð§Ð°Ñ ÐºÐ¾Ñ˜Ð¸Ð¼ Ñе завршава радни дан"
+msgstr "Сат којим Ñе завршава радни дан"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:63
-#, fuzzy
msgid "Workday end minute"
-msgstr "_Рад на мрежи"
+msgstr "Минут којим Ñе завршава радни дан"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:64
-#, fuzzy
msgid "Workday start hour"
-msgstr "Ð§Ð°Ñ ÐºÐ¾Ñ˜Ð¸Ð¼ почиње радни дан"
+msgstr "Сат којим почиње радни дан"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:65
-#, fuzzy
msgid "Workday start minute"
-msgstr "Ð§Ð°Ñ ÐºÐ¾Ñ˜Ð¸Ð¼ почиње радни дан"
+msgstr "Минут којим почиње радни дан"
#: calendar/gui/cal-search-bar.c:49
msgid "Summary contains"
@@ -4857,9 +4745,8 @@ msgid "There is no calendar available for creating events and meetings"
msgstr "Ðема доÑтупног календара за прављење догађаја и ÑаÑтанака"
#: calendar/gui/calendar-component.c:1265
-#, fuzzy
msgid "Calendar Source Selector"
-msgstr "Путања календара"
+msgstr "Бирач извора календара"
#: calendar/gui/calendar-component.c:1456
msgid "New appointment"
@@ -4942,9 +4829,8 @@ msgid "Unknown error"
msgstr "Ðепозната грешка"
#: calendar/gui/dialogs/alarm-dialog.glade.h:1
-#, fuzzy
msgid "<b>Alarm</b>"
-msgstr "<b>Ðларм</b>\t"
+msgstr "<b>Ðларм</b>"
#: calendar/gui/dialogs/alarm-dialog.glade.h:2
msgid "<b>Options</b>"
@@ -5101,15 +4987,13 @@ msgstr "По_Ñтавке"
#: calendar/gui/dialogs/cal-attachment-bar.c:442
#: composer/e-msg-composer-attachment-bar.c:440
-#, fuzzy
msgid "_Add attachment..."
-msgstr "Додај прилог..."
+msgstr "_Додај прилог..."
#: calendar/gui/dialogs/cal-attachment-bar.c:699
#: composer/e-msg-composer-attachment-bar.c:703
-#, fuzzy
msgid "Attachment Bar"
-msgstr "Прилог"
+msgstr "Трака прилога"
#: calendar/gui/dialogs/cal-attachment-select-file.c:96
#: calendar/gui/dialogs/cal-attachment-select-file.c:115
@@ -5220,18 +5104,16 @@ msgid "<b>Alerts</b>"
msgstr "<b>Узбуне</b>"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:8
-#, fuzzy
msgid "<b>Default Free/Busy Server</b>"
-msgstr "<b>К_алендари за Ñлободно/заузето</b>"
+msgstr "<b>Подразумевани Ñервер за Ñлободно/заузето</b>"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:9
msgid "<b>General</b>"
msgstr "<b>Опште</b>"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:10
-#, fuzzy
msgid "<b>Publishing</b>"
-msgstr "<b>УчеÑталоÑÑ‚ објављивања</b>"
+msgstr "<b>Објављивање</b>"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:11
msgid "<b>Task List</b>"
@@ -5250,6 +5132,7 @@ msgstr "<b>Радна недеља</b>"
msgid ""
"<i>%u and %d will be replaced by user and domain from the email address.</i>"
msgstr ""
+"<i>%u и %d биће замењени кориÑником и доменом из електронÑке адреÑе.</i>"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:16
msgid "Calendar and Tasks Settings"
@@ -5281,9 +5164,8 @@ msgid "E_nable"
msgstr "О_могући"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:23
-#, fuzzy
msgid "Free/Busy"
-msgstr "С_лободан/заузет:"
+msgstr "С_лободно/заузето"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:24
#: calendar/gui/dialogs/recurrence-page.c:1044
@@ -5338,9 +5220,8 @@ msgid "T_hu"
msgstr "У_то"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:36
-#, fuzzy
msgid "Template:"
-msgstr "Одељење:"
+msgstr "Модел:"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:37
#: calendar/gui/dialogs/recurrence-page.c:1043
@@ -5442,16 +5323,15 @@ msgstr "пре Ñваког ÑаÑтанка"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:61
msgid "option menu to choose reminder units"
-msgstr ""
+msgstr "мени Ñа опцијама за бирање јединица подÑетника"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:62
msgid "option menu to choose time units"
-msgstr ""
+msgstr "мени Ñа опцијама за бирање јединица времена"
#: calendar/gui/dialogs/calendar-setup.c:284
-#, fuzzy
msgid "Copy calendar contents locally for offline operation"
-msgstr "Копирај Ñадржај директоријума локално за рад ван мреже"
+msgstr "Копира Ñадржај календара локално за рад ван мреже"
#: calendar/gui/dialogs/calendar-setup.c:336
#: calendar/gui/dialogs/calendar-setup.glade.h:4
@@ -5459,7 +5339,6 @@ msgid "C_olor:"
msgstr "_Боја:"
#: calendar/gui/dialogs/calendar-setup.c:373
-#, fuzzy
msgid "Tasks List"
msgstr "СпиÑак задужења"
@@ -5589,7 +5468,7 @@ msgstr "Приложена порука - %s"
#, c-format
msgid "Attached message"
msgid_plural "%d attached messages"
-msgstr[0] "Приложена порука"
+msgstr[0] "%d прикачена порука"
msgstr[1] "%d прикачене поруке"
msgstr[2] "%d прикачених порука"
@@ -5637,7 +5516,7 @@ msgstr "Прикажи _траку прилога (овде превуците Ð
#: calendar/gui/dialogs/comp-editor.c:979 composer/e-msg-composer.c:3493
msgid "Attachment Button: Press space key to toggle attachment bar"
-msgstr ""
+msgstr "Дугме за прилоге: притиÑни размакницу за приказ траке за прилоге"
#: calendar/gui/dialogs/comp-editor.c:1526
#: calendar/gui/dialogs/comp-editor.c:1569
@@ -5646,9 +5525,9 @@ msgstr "Уреди ÑаÑтанак"
#: calendar/gui/dialogs/comp-editor.c:1532
#: calendar/gui/dialogs/comp-editor.c:1575
-#, fuzzy, c-format
+#, c-format
msgid "Meeting - %s"
-msgstr "СаÑтанак"
+msgstr "СаÑтанак - %s"
#: calendar/gui/dialogs/comp-editor.c:1534
#: calendar/gui/dialogs/comp-editor.c:1577
@@ -5658,9 +5537,9 @@ msgstr "СаÑтанак - %s"
#: calendar/gui/dialogs/comp-editor.c:1538
#: calendar/gui/dialogs/comp-editor.c:1581
-#, fuzzy, c-format
+#, c-format
msgid "Assigned Task - %s"
-msgstr "_Добијено задужење"
+msgstr "Добијено задужење - %s"
#: calendar/gui/dialogs/comp-editor.c:1540
#: calendar/gui/dialogs/comp-editor.c:1583
@@ -5811,7 +5690,7 @@ msgstr "Ðије могуће отварање календара '%s'."
#, c-format
msgid "%d day before appointment"
msgid_plural "%d days before appointment"
-msgstr[0] "%d дан пре ÑаÑтанка"
+msgstr[0] "%d дан пре заказаног ÑаÑтанка"
msgstr[1] "%d дана пре заказаног ÑаÑтанка"
msgstr[2] "%d дана пре заказаног ÑаÑтанка"
@@ -5819,7 +5698,7 @@ msgstr[2] "%d дана пре заказаног ÑаÑтанка"
#, c-format
msgid "%d hour before appointment"
msgid_plural "%d hours before appointment"
-msgstr[0] "%d Ñ‡Ð°Ñ Ð¿Ñ€Ðµ ÑаÑтанка"
+msgstr[0] "%d Ñ‡Ð°Ñ Ð¿Ñ€Ðµ заказаног ÑаÑтанка"
msgstr[1] "%d чаÑа пре заказаног ÑаÑтанка"
msgstr[2] "%d чаÑова пре заказаног ÑаÑтанка"
@@ -5827,7 +5706,7 @@ msgstr[2] "%d чаÑова пре заказаног ÑаÑтанка"
#, c-format
msgid "%d minute before appointement"
msgid_plural "%d minutes before appointment"
-msgstr[0] "%d минут пре ÑаÑтанка"
+msgstr[0] "%d минут пре заказаног ÑаÑтанка"
msgstr[1] "%d минута пре заказаног ÑаÑтанка"
msgstr[2] "%d минута пре заказаног ÑаÑтанка"
@@ -5855,9 +5734,8 @@ msgstr "<b>Датум и време</b>"
#: calendar/gui/dialogs/event-page.glade.h:7
#: calendar/gui/dialogs/task-page.glade.h:3
-#, fuzzy
msgid "<b>Send Options</b>"
-msgstr "<b>Подешавања</b>"
+msgstr "<b>Подешавања Ñлања</b>"
#: calendar/gui/dialogs/event-page.glade.h:8
msgid "A_ll day event"
@@ -5865,7 +5743,7 @@ msgstr "Ц_елодневни догађај"
#: calendar/gui/dialogs/event-page.glade.h:9
msgid "Ad_vanced send options"
-msgstr ""
+msgstr "Ðа_предне опције Ñлања"
#: calendar/gui/dialogs/event-page.glade.h:10
msgid "C_ustomize..."
@@ -5892,9 +5770,8 @@ msgid "Confidential"
msgstr "Поверљиво"
#: calendar/gui/dialogs/event-page.glade.h:15
-#, fuzzy
msgid "Event Description"
-msgstr "аžаПаИбÂ"
+msgstr "ÐžÐ¿Ð¸Ñ Ð´Ð¾Ð³Ð°Ñ’Ð°Ñ˜Ð°"
#: calendar/gui/dialogs/event-page.glade.h:16
msgid "Locat_ion:"
@@ -6055,9 +5932,8 @@ msgid "Or_ganizer:"
msgstr "Ор_ганизатор:"
#: calendar/gui/dialogs/meeting-page.glade.h:7
-#, fuzzy
msgid "Organizer"
-msgstr "Организатор:"
+msgstr "Организатор"
#: calendar/gui/dialogs/meeting-page.glade.h:8
#: calendar/gui/e-itip-control.glade.h:9
@@ -6232,14 +6108,12 @@ msgid "Completed date is wrong"
msgstr "Датум завршетка је погрешан"
#: calendar/gui/dialogs/task-details-page.c:522
-#, fuzzy
msgid "Web Page"
-msgstr "Web Ñтраница:"
+msgstr "Web Ñтрана"
#: calendar/gui/dialogs/task-details-page.glade.h:1
-#, fuzzy
msgid "<span weight=\"bold\">Miscellaneous</span>"
-msgstr "<span weight=\"bold\">Разно\t</span>"
+msgstr "<span weight=\"bold\">Разно</span>"
#: calendar/gui/dialogs/task-details-page.glade.h:2
msgid "<span weight=\"bold\">Status</span>"
@@ -6337,7 +6211,7 @@ msgstr "Ðије могуће отварање задужења у '%s'."
#: calendar/gui/dialogs/task-page.glade.h:4
msgid "Ad_vanced send options"
-msgstr ""
+msgstr "Ðа_предне опције Ñлања"
#: calendar/gui/dialogs/task-page.glade.h:9
msgid "D_escription:"
@@ -6348,9 +6222,8 @@ msgid "Sta_rt date:"
msgstr "Датум п_очетка:"
#: calendar/gui/dialogs/task-page.glade.h:14
-#, fuzzy
msgid "Task Description"
-msgstr "аžаПаИбÂ"
+msgstr "ÐžÐ¿Ð¸Ñ Ð·Ð°Ð´ÑƒÐ¶ÐµÑšÐ°"
#: calendar/gui/dialogs/task-page.glade.h:15
msgid "_Due date:"
@@ -6373,9 +6246,8 @@ msgid "<b>Publishing _Location</b>"
msgstr "<b>_МеÑто објављивања</b>"
#: calendar/gui/dialogs/url-editor-dialog.glade.h:6
-#, fuzzy
msgid "Free/Busy Publishing Settings"
-msgstr "Путања објављивања Ñтања Ñлободан/заузет"
+msgstr "Подешавања објављивања Ñлободно/заузето"
#: calendar/gui/dialogs/url-editor-dialog.glade.h:7
msgid "_Daily"
@@ -6651,9 +6523,8 @@ msgid "100%"
msgstr "100%"
#: calendar/gui/e-calendar-table.c:516
-#, fuzzy
msgid "Task Table"
-msgstr "ОÑвежавање задужења"
+msgstr "Табела задужења"
#: calendar/gui/e-calendar-table.c:694 calendar/gui/e-calendar-view.c:652
msgid "Deleting selected objects"
@@ -7543,9 +7414,8 @@ msgid "Expunging"
msgstr "Избацивање"
#: calendar/gui/e-timezone-entry.c:133
-#, fuzzy
msgid "Timezone Button"
-msgstr "ВременÑка зона"
+msgstr "Дугме за временÑку зону"
# month name. You can change the order but don't
# change the specifiers or add anything.
@@ -7566,9 +7436,8 @@ msgid "Custom View"
msgstr "Прилагођен преглед"
#: calendar/gui/gnome-cal.c:2058
-#, fuzzy
msgid "Save Custom View"
-msgstr "Сачувај прилагођен преглед..."
+msgstr "Чува прилагођен приказ"
#: calendar/gui/gnome-cal.c:2063 widgets/menus/gal-view-menus.c:373
msgid "Define Views..."
@@ -8002,9 +7871,8 @@ msgid "There is no calendar available for creating tasks"
msgstr "Ðиједан календар није доÑтупан за прављење задужења"
#: calendar/gui/tasks-component.c:956
-#, fuzzy
msgid "Task Source Selector"
-msgstr "Извори ниÑу изабрани."
+msgstr "Бирач извора задужења"
#: calendar/gui/tasks-component.c:1139
msgid "New task"
@@ -9662,48 +9530,42 @@ msgstr "ПритиÑните овде за адреÑар."
#. * expects the reply_to fields to be initialized.
#.
#: composer/e-msg-composer-hdrs.c:584
-#, fuzzy
msgid "_Reply-To:"
-msgstr "Одговор-за:"
+msgstr "_Одговор:"
#.
#. * From
#.
#: composer/e-msg-composer-hdrs.c:591
-#, fuzzy
msgid "Fr_om:"
-msgstr "Од:"
+msgstr "Ш_аље:"
#.
#. * Subject
#.
#: composer/e-msg-composer-hdrs.c:598
-#, fuzzy
msgid "S_ubject:"
-msgstr "ÐаÑлов:"
+msgstr "Ðа_Ñлов:"
#: composer/e-msg-composer-hdrs.c:608
-#, fuzzy
msgid "_To:"
-msgstr "За:"
+msgstr "_Прима:"
#: composer/e-msg-composer-hdrs.c:609
msgid "Enter the recipients of the message"
msgstr "УнеÑите примаоце поруке"
#: composer/e-msg-composer-hdrs.c:612
-#, fuzzy
msgid "_Cc:"
-msgstr "Копија:"
+msgstr "_Копија (Cc):"
#: composer/e-msg-composer-hdrs.c:613
msgid "Enter the addresses that will receive a carbon copy of the message"
msgstr "УнеÑите адреÑе које ће примити копију (cc) поруке"
#: composer/e-msg-composer-hdrs.c:616
-#, fuzzy
msgid "_Bcc:"
-msgstr "Ðевидљива копија:"
+msgstr "_Ðевидљива копија (Bcc):"
#: composer/e-msg-composer-hdrs.c:617
msgid ""
@@ -9717,9 +9579,8 @@ msgstr ""
#. * Post-To
#.
#: composer/e-msg-composer-hdrs.c:624
-#, fuzzy
msgid "_Post To:"
-msgstr "Пошаљи:"
+msgstr "С_лање на:"
#: composer/e-msg-composer-hdrs.c:629
msgid "Click here to select folders to post to"
@@ -9762,9 +9623,8 @@ msgstr "Ðеименована порука"
#. NB: This function is never used anymore
#: composer/e-msg-composer.c:1604
-#, fuzzy
msgid "Open File"
-msgstr "Отвори датотеку"
+msgstr "Отвара датотеку"
#: composer/e-msg-composer.c:2001 mail/em-account-editor.c:588
#: mail/em-account-editor.c:633 mail/em-account-editor.c:700
@@ -9772,9 +9632,8 @@ msgid "Autogenerated"
msgstr "ÐутогенериÑан"
#: composer/e-msg-composer.c:2100
-#, fuzzy
msgid "Si_gnature:"
-msgstr "ПотпиÑ:"
+msgstr "Потп_иÑ:"
#: composer/e-msg-composer.c:2359 composer/e-msg-composer.c:3360
#: composer/e-msg-composer.c:3361
@@ -9896,14 +9755,12 @@ msgstr ""
"да наÑтавите поруку каÑније."
#: composer/mail-composer-errors.xml.h:33
-#, fuzzy
msgid "_Discard Changes"
-msgstr "Занемари промене"
+msgstr "_Занемари промене"
#: composer/mail-composer-errors.xml.h:34
-#, fuzzy
msgid "_Save Message"
-msgstr "Сачувај поруку"
+msgstr "Сач_увај поруку"
#. mail-composer:no-build-message primary
#: composer/mail-composer-errors.xml.h:36
@@ -10206,9 +10063,8 @@ msgid "%I %p"
msgstr "%I %p"
#: e-util/eggtrayicon.c:119
-#, fuzzy
msgid "The orientation of the tray."
-msgstr "ÐžÐ¿Ð¸Ñ Ð¿Ñ€Ð¸Ð»Ð¾Ð³Ð°."
+msgstr "Оријентација зоне."
#: filter/filter-datespec.c:73
#, c-format
@@ -10368,9 +10224,8 @@ msgid "Test"
msgstr "Проба"
#: filter/filter-rule.c:790
-#, fuzzy
msgid "_Rule name:"
-msgstr "Име правила:"
+msgstr "_Име правила:"
#: filter/filter-rule.c:818
msgid "<b>If</b>"
@@ -10422,7 +10277,7 @@ msgstr "Упореди Ñа"
#: filter/filter.glade.h:4
msgid "Show filters for mail:"
-msgstr ""
+msgstr "Прикажи филтере за пошту:"
#: filter/filter.glade.h:5
msgid ""
@@ -10813,9 +10668,8 @@ msgid "Mailing list"
msgstr "ДопиÑно друштво"
#: mail/em-filter-i18n.h:39
-#, fuzzy
msgid "Match All"
-msgstr "Резервиши Ñве"
+msgstr "Упореди Ñве"
#: mail/em-filter-i18n.h:40
msgid "Message Body"
@@ -10930,9 +10784,8 @@ msgid "<b>Then</b>"
msgstr "<b>Онда</b>"
#: mail/em-folder-browser.c:133
-#, fuzzy
msgid "Create _vFolder From Search..."
-msgstr "Ðаправи _Виртуелни директоријум из претраге..."
+msgstr "Ðаправи _вДиректоријум из претраге..."
# bug: no need for plural-forms here, since text is in front of number
#. TODO: can this be done in a loop?
@@ -11009,9 +10862,8 @@ msgid "Loading..."
msgstr "Учитавање..."
#: mail/em-folder-tree.c:688
-#, fuzzy
msgid "Mail Folder Tree"
-msgstr "_Директоријум за пошту"
+msgstr "Стабло директоријума за пошту"
#: mail/em-folder-tree.c:921
#, c-format
@@ -11051,9 +10903,9 @@ msgid "Scanning folders in \"%s\""
msgstr "Претрага директоријума у \"%s\""
#: mail/em-folder-tree.c:2023
-#, fuzzy, c-format
+#, c-format
msgid "Copying `%s' to `%s'"
-msgstr "Копирање порука у %s"
+msgstr "Копирање `%s' у `%s'"
#: mail/em-folder-tree.c:2297 mail/em-folder-tree.c:2311
#: mail/em-folder-view.c:862 mail/em-folder-view.c:877
@@ -11087,9 +10939,8 @@ msgid "Rename Folder"
msgstr "Преименуј директоријум"
#: mail/em-folder-tree.c:2728
-#, fuzzy
msgid "Folder names cannot contain '/'"
-msgstr "Име директоријума не може да Ñадржи знак \"/\"."
+msgstr "Имена директоријума не могу да Ñадрже '/'"
#: mail/em-folder-tree.c:2802 ui/evolution-addressbook.xml.h:44
#: ui/evolution-mail-global.xml.h:17 ui/evolution-mail-messagedisplay.xml.h:8
@@ -11169,9 +11020,8 @@ msgid "Mark as _Not Junk"
msgstr "Означи да _није ђубре"
#: mail/em-folder-view.c:990
-#, fuzzy
msgid "Mark for Follo_w Up..."
-msgstr "Пр_ати..."
+msgstr "Обележи за _праћење..."
#: mail/em-folder-view.c:998
msgid "Fla_g Completed"
@@ -11186,24 +11036,20 @@ msgid "Crea_te Rule From Message"
msgstr "Ðа_прави правило од поруке"
#: mail/em-folder-view.c:1003
-#, fuzzy
msgid "vFolder on _Subject"
-msgstr "VДиректоријум на _ÐаÑлов"
+msgstr "вДиректоријум на _наÑлов"
#: mail/em-folder-view.c:1004
-#, fuzzy
msgid "vFolder on Se_nder"
-msgstr "VДиректоријум на П_ошиљаоца"
+msgstr "вДиректоријум на п_ошиљаоца"
#: mail/em-folder-view.c:1005
-#, fuzzy
msgid "vFolder on _Recipients"
-msgstr "VДиректоријум на _Примаоце"
+msgstr "вДиректоријум на _примаоце"
#: mail/em-folder-view.c:1006
-#, fuzzy
msgid "vFolder on Mailing _List"
-msgstr "VДиректоријум на допиÑну _лиÑту"
+msgstr "вДиректоријум на допиÑну _лиÑту"
#: mail/em-folder-view.c:1010
msgid "Filter on Sub_ject"
@@ -11235,19 +11081,16 @@ msgid "_Copy Link Location"
msgstr "_Копирај путању везе"
#: mail/em-folder-view.c:2297
-#, fuzzy
msgid "Create _vFolder"
-msgstr "Ðаправи директоријум"
+msgstr "Ðаправи _вДиректоријум"
#: mail/em-folder-view.c:2298
-#, fuzzy
msgid "_From this Address"
-msgstr "Кућна адреÑа"
+msgstr "_Са ове адреÑе"
#: mail/em-folder-view.c:2299
-#, fuzzy
msgid "_To this Address"
-msgstr "Друга адреÑа"
+msgstr "_на ову адреÑу"
#: mail/em-folder-view.c:2568
#, c-format
@@ -11385,9 +11228,8 @@ msgid "_Hide"
msgstr "_Сакриј"
#: mail/em-format-html-display.c:1340
-#, fuzzy
msgid "Attachment Button"
-msgstr "Прилог"
+msgstr "Дугме за прилог"
#: mail/em-format-html-print.c:130
#, c-format
@@ -11624,9 +11466,8 @@ msgid "_Open Link in Browser"
msgstr "_Отвори везу у читачу"
#: mail/em-popup.c:550
-#, fuzzy
msgid "_Send New Message To..."
-msgstr "Пошаљи _поруку..."
+msgstr "_Пошаљи поруку за..."
#: mail/em-popup.c:551
msgid "_Add to Addressbook"
@@ -11685,14 +11526,12 @@ msgid "Messages from %s"
msgstr "Поруке од %s"
#: mail/em-vfolder-editor.c:104
-#, fuzzy
msgid "v_Folders"
-msgstr "vДиректоријуми"
+msgstr "v_Директоријуми"
#: mail/em-vfolder-rule.c:574
-#, fuzzy
msgid "vFolder source"
-msgstr "VДиректоријум извор"
+msgstr "вДиректоријум извор"
#: mail/evolution-mail.schemas.in.in.h:1
msgid "Automatic link recognition"
@@ -11803,6 +11642,8 @@ msgid ""
"If a user tries to open 10 or more messages at one time, ask the user if "
"they really want to do it."
msgstr ""
+"Уколико кориÑник покуша да отвори 10 или више порука одједном, пита га да ли "
+"заиÑта жели то да уради."
#: mail/evolution-mail.schemas.in.in.h:28
msgid ""
@@ -11954,9 +11795,8 @@ msgid "Prompt when user only fills Bcc"
msgstr "Пита када кориÑник унеÑе Ñамо невидљиву копију (Bcc)"
#: mail/evolution-mail.schemas.in.in.h:60
-#, fuzzy
msgid "Prompt when user tries to open 10 or more messages at once"
-msgstr "Пита кориÑника када покуша да пошаље поруку без прималаца."
+msgstr "Пита кориÑника када покуша да отвори 10 или више порука одједном"
#: mail/evolution-mail.schemas.in.in.h:61
msgid ""
@@ -12090,12 +11930,10 @@ msgid "UID string of the default account."
msgstr "ЈИБ низ главног налога."
#: mail/evolution-mail.schemas.in.in.h:91
-#, fuzzy
msgid "Use Spamassassin daemon and client"
msgstr "КориÑти ÑÐµÑ€Ð²Ð¸Ñ Ð¸ клијента Убице Ñпама"
#: mail/evolution-mail.schemas.in.in.h:92
-#, fuzzy
msgid "Use Spamassassin daemon and client (spamc/spamd)"
msgstr "КориÑти ÑÐµÑ€Ð²Ð¸Ñ Ð¸ клијента Убице Ñпама (spamc/spamd)"
@@ -12483,9 +12321,8 @@ msgid " Ch_eck for Supported Types "
msgstr "_Провери подржане типове "
#: mail/mail-config.glade.h:4
-#, fuzzy
msgid "<b>SSL is not supported in this build of Evolution</b>"
-msgstr "<b>SSL није подржан у овој верзији еволуције</b>"
+msgstr "<b>SSL није подржан у овој верзији Еволуције</b>"
#: mail/mail-config.glade.h:5
msgid "<b>S_ignatures</b>"
@@ -12612,12 +12449,10 @@ msgid "Add _Script"
msgstr "Додај Ñк_рипту"
#: mail/mail-config.glade.h:37
-#, fuzzy
msgid "Al_ways sign outgoing messages when using this account"
msgstr "_Увек потпиши одлазеће поруке Ñа овог налога"
#: mail/mail-config.glade.h:38
-#, fuzzy
msgid "Also encrypt to sel_f when sending encrypted mail"
msgstr "_Такође шифруј на мене при Ñлању шифроване поште"
@@ -12634,7 +12469,6 @@ msgid "Always _trust keys in my keyring when encrypting"
msgstr "Увек _веруј кључевима мог ланца при шифровању"
#: mail/mail-config.glade.h:42
-#, fuzzy
msgid "Always encrypt to _myself when sending encrypted mail"
msgstr "Ув_ек шифруј на мене при Ñлању шифроване поште"
@@ -12683,14 +12517,12 @@ msgid "Checks incoming mail messages to be Junk"
msgstr "Провери да приÑтигле поруке ниÑу ђубре"
#: mail/mail-config.glade.h:54
-#, fuzzy
msgid "Cle_ar"
-msgstr "аžб‡аИбÂб‚аИ"
+msgstr "Очи_Ñти"
#: mail/mail-config.glade.h:55
-#, fuzzy
msgid "Clea_r"
-msgstr "аžб‡аИбÂб‚аИ"
+msgstr "ОчиÑ_ти"
#: mail/mail-config.glade.h:56
msgid "Color for _misspelled words:"
@@ -12729,7 +12561,6 @@ msgid "Default character e_ncoding:"
msgstr "Подразумевано _кодирање знакова:"
#: mail/mail-config.glade.h:69
-#, fuzzy
msgid "Digitally _sign outgoing messages (by default)"
msgstr "_Дигитално потпиши одлазеће поруке (подразумевано)"
@@ -12762,7 +12593,6 @@ msgid "Encry_ption certificate:"
msgstr "Сертификат за ши_фровање:"
#: mail/mail-config.glade.h:78
-#, fuzzy
msgid "Encrypt out_going messages (by default)"
msgstr "_Шифруј одлазеће поруке (подразумевано)"
@@ -12837,6 +12667,8 @@ msgid ""
"Please enter a descriptive name for this account in the space below.\n"
"This name will be used for display purposes only."
msgstr ""
+"УнеÑите доле опиÑно име за овај налог.\n"
+"Ово име ће бити коришћено Ñамо за потребе приказа."
#: mail/mail-config.glade.h:106
msgid ""
@@ -12884,7 +12716,6 @@ msgid "Remember _password"
msgstr "Запа_мти лозинку"
#: mail/mail-config.glade.h:116
-#, fuzzy
msgid "S_elect..."
msgstr "Изабери..."
@@ -12893,9 +12724,8 @@ msgid "S_tandard Font:"
msgstr "_Стандардни фонт:"
#: mail/mail-config.glade.h:118
-#, fuzzy
msgid "Se_lect..."
-msgstr "Изабери..."
+msgstr "Иза_бери..."
#: mail/mail-config.glade.h:120
msgid "Select HTML fixed width font"
@@ -12930,7 +12760,6 @@ msgid "Server _Type: "
msgstr "_Тип Ñервера:"
#: mail/mail-config.glade.h:129
-#, fuzzy
msgid "Sig_ning certificate:"
msgstr "Сертификат за _потпиÑивање:"
@@ -12959,13 +12788,11 @@ msgid "T_ype: "
msgstr "_Тип:"
#: mail/mail-config.glade.h:136
-#, fuzzy
msgid ""
"The list of languages here reflects only the languages for which you have a "
"dictionary installed."
msgstr ""
-"Ова Ñтрана вам омогућава да подеÑите проверу правопиÑа и језик. ЛиÑта језика "
-"овде оÑликава Ñамо оне језике за које имате инÑталиран речник."
+"ЛиÑта језика овде оÑликава Ñамо оне језике за које имате инÑталиран речник."
#: mail/mail-config.glade.h:137
msgid ""
@@ -13016,7 +12843,6 @@ msgid "_Do not notify me when new mail arrives"
msgstr "_Ðемој да ме обавештаваш када Ñтигне нова пошта"
#: mail/mail-config.glade.h:152
-#, fuzzy
msgid "_Don't sign meeting requests (for Outlook compatibility)"
msgstr "Ðе потпиÑуј захтеве за Ñ_аÑтанцима (Outlook компатибилноÑÑ‚)"
@@ -13073,7 +12899,6 @@ msgid "_Show animated images"
msgstr "_Покажи анимиране Ñлике"
#: mail/mail-config.glade.h:168
-#, fuzzy
msgid "_Use Secure Connection:"
msgstr "_КориÑти безбедну везу:"
@@ -13112,20 +12937,17 @@ msgid "<span weight=\"bold\">Encryption</span>"
msgstr "<span weight=\"bold\">Шифровање</span>"
#: mail/mail-dialogs.glade.h:10
-#, fuzzy
msgid "Case _Sensitive"
-msgstr "ОÑетљиво на величину Ñлова"
+msgstr "_ОÑетљиво на величину Ñлова"
# timezone.
#: mail/mail-dialogs.glade.h:11 mail/message-tags.glade.h:2
-#, fuzzy
msgid "Co_mpleted"
-msgstr "Готово"
+msgstr "Го_тово"
#: mail/mail-dialogs.glade.h:13
-#, fuzzy
msgid "F_ind:"
-msgstr "Ðађи:"
+msgstr "Ð_ађи:"
#: mail/mail-dialogs.glade.h:14
msgid "Find in Message"
@@ -13165,9 +12987,8 @@ msgstr ""
"Одаберите акцију за праћење из менија \"Ознака\"."
#: mail/mail-dialogs.glade.h:24
-#, fuzzy
msgid "_Accept License"
-msgstr "Прихватам уговор"
+msgstr "_Прихватам лиценцу"
#: mail/mail-dialogs.glade.h:25 mail/message-tags.glade.h:6
msgid "_Due By:"
@@ -13182,9 +13003,8 @@ msgid "_Subscribe"
msgstr "При_јави Ñе"
#: mail/mail-dialogs.glade.h:28
-#, fuzzy
msgid "_Tick this to accept the license agreement"
-msgstr "Означите ово да прихватите уговор о лиценци"
+msgstr "Оз_начите ово да прихватите уговор о лиценци"
#: mail/mail-dialogs.glade.h:29
msgid "_Unsubscribe"
@@ -13368,19 +13188,17 @@ msgstr "Избаци _Ñмеће"
#. mail:ask-open-many primary
#: mail/mail-errors.xml.h:53
-#, fuzzy
msgid "Are you sure you want to open {0} messages at once?"
-msgstr "Сигурно желите да измените Ñвих %d порука?"
+msgstr "Сигурно желите да отворите {0} порука одједном?"
#. mail:ask-open-many secondary
#: mail/mail-errors.xml.h:55
msgid "Opening too many messages at once may take a long time."
-msgstr ""
+msgstr "Отварање превише порука одједном може Ñувише да потраје."
#: mail/mail-errors.xml.h:56
-#, fuzzy
msgid "_Open Messages"
-msgstr "_Отвори поруку"
+msgstr "_Отвори поруке"
#. mail:exit-unsaved primary
#: mail/mail-errors.xml.h:58
@@ -13666,13 +13484,12 @@ msgstr "Ðије могуће изменити vДиректоријум \"{0}\"
#. mail:vfolder-notexist secondary
#: mail/mail-errors.xml.h:193
-#, fuzzy
msgid ""
"This folder may have been added implicitly, go to the vFolder editor to add "
"it explicitly, if required."
msgstr ""
-"Овај директоријум је можда поÑредно додат, идите у уређивач виртуелних "
-"директоријума и додајте га изричито, ако желите."
+"Овај директоријум је можда поÑредно додат, идите у уређивач вДиректоријума и "
+"додајте га изричито, ако желите."
#. mail:vfolder-notunique primary
#: mail/mail-errors.xml.h:195
@@ -13783,11 +13600,8 @@ msgstr "_Допуни"
#. mail:no-load-license primary
#: mail/mail-errors.xml.h:239
-#, fuzzy
msgid "Unable to read license file."
-msgstr ""
-"Ðе могу да тражим датотеку: %s\n"
-"%s"
+msgstr "Ðије могуће читање датотеке лиценце."
#. mail:no-load-license secondary
#: mail/mail-errors.xml.h:241
@@ -13797,31 +13611,33 @@ msgid ""
"until\n"
" you can accept its license."
msgstr ""
+"Ðије могуће читање датотеке лиценце \"{0}\", због\n"
+" проблема Ñа инÑталацијом. Ðећете моћи да кориÑтите овог пружаоца док\n"
+" не прихватите лиценцу."
#. mail:checking-service title
#: mail/mail-errors.xml.h:245
msgid "Querying server"
-msgstr ""
+msgstr "Слање упита Ñерверу"
#. mail:checking-service primary
#: mail/mail-errors.xml.h:247
-#, fuzzy
msgid "Please wait."
-msgstr "Сачекајте"
+msgstr "Сачекајте."
#. mail:checking-service secondary
#: mail/mail-errors.xml.h:249
-#, fuzzy
msgid "Querying server for a list of supported authentication mechanisms."
-msgstr "Ðеопходно шифровање за тражени механизам пријаве"
+msgstr "Слање упита Ñерверу за ÑпиÑак подржаних механизама пријаве."
#. mail:gw-accountsetup-error primary
#: mail/mail-errors.xml.h:251
-#, fuzzy
msgid ""
"Unable to connect to the GroupWise\n"
"server."
-msgstr "ÐеуÑпешно повезивање Ñа LDAP Ñервером"
+msgstr ""
+"ÐеуÑпешно повезивање на GroupWise\n"
+"Ñервер."
#. mail:gw-accountsetup-error secondary
#: mail/mail-errors.xml.h:254
@@ -13829,6 +13645,8 @@ msgid ""
"\n"
"Please check your account settings and try again.\n"
msgstr ""
+"\n"
+"Проверите подешавања налога и покушајте поново.\n"
#: mail/mail-folder-cache.c:813
#, c-format
@@ -14103,9 +13921,9 @@ msgid "Invalid folder: `%s'"
msgstr "ÐеиÑправан директоријум %s"
#: mail/mail-vfolder.c:90
-#, fuzzy, c-format
+#, c-format
msgid "Setting up vFolder: %s"
-msgstr "Подешавање vдиректоријума: %s"
+msgstr "Подешавање вДиректоријума: %s"
#: mail/mail-vfolder.c:239
#, c-format
@@ -14118,14 +13936,12 @@ msgid "Updating vFolders for '%s'"
msgstr "ОÑвежавање vДиректоријума за '%s'"
#: mail/mail-vfolder.c:1008
-#, fuzzy
msgid "Edit vFolder"
-msgstr "Уреди VДиректоријум"
+msgstr "Уређује вДиректоријум"
#: mail/mail-vfolder.c:1092
-#, fuzzy
msgid "New vFolder"
-msgstr "_Ðови директоријум"
+msgstr "Ðови вДиректоријум"
#: mail/message-list.c:994
msgid "Unseen"
@@ -14190,9 +14006,8 @@ msgid "%b %d %Y"
msgstr "%d. %b %Y"
#: mail/message-list.c:2041
-#, fuzzy
msgid "Message List"
-msgstr "По_руке"
+msgstr "СпиÑак порука"
#: mail/message-list.c:3384
msgid "Generating message list"
@@ -14283,242 +14098,212 @@ msgid "Subject contains"
msgstr "ÐаÑлов Ñадржи"
#: mail/searchtypes.xml.h:6
-#, fuzzy
msgid "Subject or Sender contains"
-msgstr "ÐаÑлов Ñадржи"
+msgstr "ÐаÑлов или пошиљалац Ñадрже"
#: plugins/backup-restore/backup-restore.c:51
msgid "Select name of Evolution archive"
-msgstr ""
+msgstr "Изаберите име архиве Еволуције"
#: plugins/backup-restore/backup-restore.c:61
msgid "_Restart Evolution after backup"
-msgstr ""
+msgstr "_Поново покрени Еволуцију након прављења резерве"
#: plugins/backup-restore/backup-restore.c:89
msgid "Select Evolution archive to restore"
-msgstr ""
+msgstr "Одаберите архиву Еволуције за повраћај"
#: plugins/backup-restore/backup-restore.c:97
msgid "_Restart Evolution after restore"
-msgstr ""
+msgstr "_Поново покрени Еволуцију након повраћаја"
#: plugins/backup-restore/backup.c:109
-#, fuzzy
msgid "Backup Evolution directory"
-msgstr "Упит Еволуције"
+msgstr "Директоријум за резерву Еволуције"
#: plugins/backup-restore/backup.c:111
-#, fuzzy
msgid "Restore Evolution directory"
-msgstr "Еволуција LDIF увозник"
+msgstr "Директоријум за повраћај Еволуције"
#: plugins/backup-restore/backup.c:113
-#, fuzzy
msgid "Check Evolution archive"
-msgstr "Пакет програма Еволуција"
+msgstr "Проверава архиву Еволуције"
# shell:noshell-reason title
#: plugins/backup-restore/backup.c:115
-#, fuzzy
msgid "Restart Evolution"
-msgstr "Ðије могуће покретање Еволуције"
+msgstr "Поново покреће Еволуцију"
#: plugins/backup-restore/org-gnome-backup-restore.xml.h:1
-#, fuzzy
msgid "Backup Settings..."
-msgstr "_Подешавања..."
+msgstr "Подешавања за резерву..."
#: plugins/backup-restore/org-gnome-backup-restore.xml.h:2
-#, fuzzy
msgid "Backup and restore Evolution data and settings"
-msgstr "Измени подешавања Еволуције"
+msgstr "Прави резерву и опоравља податке и подешавања Еволуције"
#: plugins/backup-restore/org-gnome-backup-restore.xml.h:3
-#, fuzzy
msgid "Restore Settings..."
-msgstr "Подешавања пилота..."
+msgstr "Опоравља подешавања..."
#: plugins/bbdb/bbdb.c:388
-#, fuzzy
msgid "Automatic Contacts"
-msgstr "Јавни контакти"
+msgstr "ÐутоматÑки контакти"
#: plugins/bbdb/bbdb.c:397
-#, fuzzy
msgid "<span weight=\"bold\">Automatic Contacts</span>"
-msgstr "<span weight=\"bold\">Идентификација</span>"
+msgstr "<span weight=\"bold\">ÐутоматÑки контакти</span>"
#. Enable BBDB checkbox
#: plugins/bbdb/bbdb.c:410
msgid ""
"_Automatically create entries in the addressbook when responding to mail"
-msgstr ""
+msgstr "_ÐутоматÑки направи уноÑе у адреÑар при одговарању на пошту"
#: plugins/bbdb/bbdb.c:428
-#, fuzzy
msgid "<span weight=\"bold\">Instant Messaging Contacts</span>"
-msgstr "<span weight=\"bold\">Фонтови поруке</span>"
+msgstr "<span weight=\"bold\">Контакти брзих глаÑника</span>"
#. Enable Gaim Checkbox
#: plugins/bbdb/bbdb.c:441
msgid ""
"Periodically synchronize contact information and images from my _instant "
"messenger"
-msgstr ""
+msgstr "Повремено уÑклади податке о контактима и Ñлике Ñа мог_брзог глаÑника"
#. Synchronize now button.
#: plugins/bbdb/bbdb.c:448
msgid "Synchronize with _buddy list now"
-msgstr ""
+msgstr "УÑклади Ñа _ÑпиÑком другара Ñада"
#: plugins/calendar-weather/calendar-weather.c:54
#: plugins/calendar-weather/calendar-weather.c:60
-#, fuzzy
msgid "Weather: Cloudy"
-msgstr "а’б€аЕаМаЕ"
+msgstr "Време: облачно"
#: plugins/calendar-weather/calendar-weather.c:61
-#, fuzzy
msgid "Weather: Fog"
-msgstr "а’б€аЕаМаЕ"
+msgstr "Време: магла"
#: plugins/calendar-weather/calendar-weather.c:62
msgid "Weather: Partly Cloudy"
-msgstr ""
+msgstr "Време: меÑтимично облачно"
#: plugins/calendar-weather/calendar-weather.c:63
-#, fuzzy
msgid "Weather: Rain"
-msgstr "а’б€аЕаМаЕ"
+msgstr "Време: киша"
#: plugins/calendar-weather/calendar-weather.c:64
-#, fuzzy
msgid "Weather: Snow"
-msgstr "а’б€аЕаМаЕ"
+msgstr "Време: Ñнег"
#: plugins/calendar-weather/calendar-weather.c:65
-#, fuzzy
msgid "Weather: Sunny"
-msgstr "а’б€аЕаМаЕ"
+msgstr "Време: Ñунчано"
#: plugins/calendar-weather/calendar-weather.c:66
msgid "Weather: Thunderstorms"
-msgstr ""
+msgstr "Време: Грмљавине"
#: plugins/calendar-weather/calendar-weather.c:268
-#, fuzzy
msgid "Select a location"
-msgstr "Одаберите акцију"
+msgstr "Бирање локације"
#: plugins/calendar-weather/calendar-weather.c:655
-#, fuzzy
msgid "_Units:"
-msgstr "Јединица"
+msgstr "_Јединице:"
#: plugins/calendar-weather/calendar-weather.c:662
msgid "Metric (Celsius, cm, etc)"
-msgstr ""
+msgstr "Метрично (ЦелзијуÑ, cm, итд.)"
#: plugins/calendar-weather/calendar-weather.c:663
msgid "Imperial (Fahrenheit, inches, etc)"
-msgstr ""
+msgstr "Империјално (Фаренхајт, инчи, итд.)"
#: plugins/default-source/default-source.c:82
-#, fuzzy
msgid "Mark as default folder"
-msgstr "Путања до подразумеваног директоријума поште"
+msgstr "Означава као подразумевани директоријум"
#: plugins/default-source/default-source.c:108
-#, fuzzy
msgid "Mark as default folder"
-msgstr "КориÑтити подразумевани директоријум за припрему?"
+msgstr "Означава као подразумевани директоријум"
#. i18n: "Secure Password Authentication" is an Outlookism
#: plugins/exchange-account-setup/exchange-account-setup.c:59
-#, fuzzy
msgid "Secure Password"
-msgstr "УнеÑите лозинку"
+msgstr "Безбедна лозинка"
#. i18n: "NTLM" probably doesn't translate
#: plugins/exchange-account-setup/exchange-account-setup.c:62
-#, fuzzy
msgid ""
"This option will connect to the Exchange server using secure password (NTLM) "
"authentication."
-msgstr "Ова опција ће повезати на Ñервер коришћењем Kerberos 5 пријаве."
+msgstr ""
+"Ова опција ће повезати на Exchange Ñервер коришћењем пријаве безбедном "
+"лозинком (NTLM)."
#: plugins/exchange-account-setup/exchange-account-setup.c:70
-#, fuzzy
msgid "Plaintext Password"
-msgstr "УнеÑите лозинку"
+msgstr "ТекÑтуална лозинка"
#: plugins/exchange-account-setup/exchange-account-setup.c:72
-#, fuzzy
msgid ""
"This option will connect to the Exchange server using standard plaintext "
"password authentication."
msgstr ""
-"Ова опција ће повезати на IMAP Ñервер коришћењем лозинке у обичном текÑту."
+"Ова опција ће повезати на Exchange Ñервер коришћењем пријаве текÑтуалне "
+"лозинке."
#. Description section
#: plugins/exchange-account-setup/exchange-account-setup.c:193
-#, fuzzy
msgid ""
"The message specified below will be automatically sent to \n"
"each person who sends mail to you while you are out of the office."
msgstr ""
-"<small>Доле одабрана порука биће аутоматÑки поÑлата Ñвакој оÑоби која вам "
-"пошаље\n"
-"пошту док Ñте ван канцеларије.</small>"
+"Доле изабрана порука биће аутоматÑки поÑлата Ñвакој оÑоби \n"
+"која вам пошаље пошту док Ñте ван канцеларије.</small>"
#: plugins/exchange-account-setup/exchange-account-setup.c:221
#: plugins/exchange-account-setup/exchange-account-setup.c:231
-#, fuzzy
msgid "I am out of the office"
-msgstr "Тренутно Ñам ван канцеларије"
+msgstr "Ван канцеларије Ñам"
#: plugins/exchange-account-setup/exchange-account-setup.c:224
#: plugins/exchange-account-setup/exchange-account-setup.c:228
-#, fuzzy
msgid "I am in the office"
-msgstr "Тренутно Ñам у канцеларији"
+msgstr "У канцеларији Ñам"
#: plugins/exchange-account-setup/exchange-account-setup.c:257
-#, fuzzy
msgid "Out of office Message:"
-msgstr "<b>Порука за ван канцеларије:</b>"
+msgstr "Порука за ван канцеларије:"
#: plugins/exchange-account-setup/exchange-account-setup.c:302
-#, fuzzy
msgid "Exchange Settings"
-msgstr "Подешавања времена"
+msgstr "Exchange подешавања"
#: plugins/exchange-account-setup/exchange-account-setup.c:448
#: plugins/exchange-account-setup/exchange-ask-password.c:200
msgid "_OWA Url:"
-msgstr ""
+msgstr "_OWA адреÑа (Url):"
#: plugins/exchange-account-setup/exchange-account-setup.c:456
#: plugins/exchange-account-setup/exchange-ask-password.c:193
-#, fuzzy
msgid "A_uthenticate"
-msgstr "ÐеуÑпела пријава"
+msgstr "_Пријава"
#: plugins/exchange-account-setup/exchange-account-setup.c:664
-#, fuzzy
msgid "Authentication Type"
-msgstr "_Тип идентификације: "
+msgstr "Тип пријаве"
#: plugins/exchange-account-setup/exchange-account-setup.c:678
-#, fuzzy
msgid "Ch_eck for Supported Types"
-msgstr "_Провери подржане типове "
+msgstr "_Провери подржане типове"
#: plugins/folder-unsubscribe/folder-unsubscribe.c:57
-#, fuzzy, c-format
+#, c-format
msgid "Unsubscribing from folder \"%s\""
-msgstr "Одјављујем претплату Ñа директоријума \"%s\""
+msgstr "Одјава Ñа директоријума \"%s\""
#: plugins/groupwise-account-setup/camel-gw-listener.c:413
msgid "Checklist"
@@ -14526,75 +14311,69 @@ msgstr "ПопиÑ"
#: plugins/groupwise-send-options/org-gnome-compose-send-options.xml.h:1
msgid "Add Send Options to groupwise messages"
-msgstr ""
+msgstr "Додај опције Ñлања groupwise порукама"
#: plugins/groupwise-send-options/org-gnome-compose-send-options.xml.h:2
#: widgets/misc/e-send-options.glade.h:20
-#, fuzzy
msgid "Send Options"
-msgstr "Опције"
+msgstr "Опције Ñлања"
#: plugins/itip-formatter/itip-formatter.c:704
-#, fuzzy
msgid "Unable to parse item"
-msgstr "Ðије могуће читање Ñадржаја поруке"
+msgstr "Ðије могућа обрада предмета"
#: plugins/itip-formatter/itip-formatter.c:757
-#, fuzzy, c-format
+#, c-format
msgid "Unable to send item to calendar '%s'. %s"
-msgstr "Ðије могуће отварање календара '%s'."
+msgstr "Ðије могуће Ñлање предмета календару '%s'. %s"
#: plugins/itip-formatter/itip-formatter.c:768
#, c-format
msgid "Sent to calendar '%s' as accepted"
-msgstr ""
+msgstr "ПоÑлато календару '%s' као прихваћено·"
#: plugins/itip-formatter/itip-formatter.c:772
#, c-format
msgid "Sent to calendar '%s' as tentative"
-msgstr ""
+msgstr "ПоÑлато календару '%s' као резервиÑано"
#: plugins/itip-formatter/itip-formatter.c:777
#, c-format
msgid "Sent to calendar '%s' as declined"
-msgstr ""
+msgstr "ПоÑлато календару '%s' као одбијено"
#: plugins/itip-formatter/itip-formatter.c:782
#, c-format
msgid "Sent to calendar '%s' as cancelled"
-msgstr ""
+msgstr "ПоÑлато календару '%s' као поништено"
#: plugins/itip-formatter/itip-formatter.c:833
-#, fuzzy
msgid "Attendee status could not be updated because the status is invalid"
-msgstr "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ ÑƒÑ‡ÐµÑника није оÑвежен због неиÑправног ÑтатуÑа!\n"
+msgstr "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ ÑƒÑ‡ÐµÑника није оÑвежен због неиÑправног ÑтатуÑа"
#: plugins/itip-formatter/itip-formatter.c:844
-#, fuzzy, c-format
+#, c-format
msgid "Unable to update attendee. %s"
-msgstr "Ðије могућ Ð¿Ñ€ÐµÐ½Ð¾Ñ ÐºÐ°Ð»ÐµÐ½Ð´Ð°Ñ€Ð° `%s'"
+msgstr "Ðије могуће оÑвежавање за учеÑника %s"
#: plugins/itip-formatter/itip-formatter.c:848
-#, fuzzy
msgid "Attendee status updated"
-msgstr "ОÑвежен ÑÑ‚Ð°Ñ‚ÑƒÑ ÑƒÑ‡ÐµÑника\n"
+msgstr "ОÑвежен ÑÑ‚Ð°Ñ‚ÑƒÑ ÑƒÑ‡ÐµÑника"
#: plugins/itip-formatter/itip-formatter.c:973
-#, fuzzy
msgid "The calendar attached is not valid"
-msgstr "Ðаведена врÑта директоријума није иÑправна"
+msgstr "Приложен календар није иÑправан"
#: plugins/itip-formatter/itip-formatter.c:974
msgid ""
"The message claims to contain a calendar, but the calendar is not valid "
"iCalendar."
-msgstr ""
+msgstr "Порука пријављује календар, али календар није иÑправан иКалендар."
#: plugins/itip-formatter/itip-formatter.c:1008
#: plugins/itip-formatter/itip-formatter.c:1064
-#, fuzzy
msgid "The item in the calendar is not valid"
-msgstr "Преглед који приказује када почиње календар"
+msgstr "Предмет у календару није иÑправан"
#: plugins/itip-formatter/itip-formatter.c:1009
#: plugins/itip-formatter/itip-formatter.c:1065
@@ -14602,37 +14381,39 @@ msgid ""
"The message does contain a calendar, but the calendar contains no events, "
"tasks or free/busy information"
msgstr ""
+"Порука Ñадржи календар, али он не Ñадржи догађаје, задужења или Ñлободно/"
+"заузето податке."
#: plugins/itip-formatter/itip-formatter.c:1020
msgid "The calendar attached contains multiple items"
-msgstr ""
+msgstr "Календар у прилогу Ñадржи више предмета"
#: plugins/itip-formatter/itip-formatter.c:1021
msgid ""
"To process all of these items, the file should be saved and the calendar "
"imported"
msgstr ""
+"Ради обраде Ñвих ових предмета, потребно је датотеку Ñачувати а календар "
+"увеÑти"
#: plugins/itip-formatter/itip-formatter.c:1658
-#, fuzzy
msgid "Meetings and Tasks"
-msgstr "Календар и задужења"
+msgstr "СаÑтанци и задужења"
#. Delete message after acting
#. FIXME Need a schema for this
#: plugins/itip-formatter/itip-formatter.c:1681
msgid "_Delete message after acting"
-msgstr ""
+msgstr "_Обриши поруку након акције"
#: plugins/itip-formatter/itip-formatter.c:1691
-#, fuzzy
msgid "<span weight=\"bold\">Conflict Search</span>"
-msgstr "<span weight=\"bold\">Подешавања</span>"
+msgstr "<span weight=\"bold\">Претрага за преклапањем</span>"
#. Source selector
#: plugins/itip-formatter/itip-formatter.c:1704
msgid "Select the calendars to search for meeting conflicts"
-msgstr ""
+msgstr "Бира календаре за претрагу преклапања у ÑаÑтанцима"
#. strftime format of a weekday and a date.
#: plugins/itip-formatter/itip-view.c:175 ui/evolution-calendar.xml.h:34
@@ -14643,63 +14424,56 @@ msgstr "ДанаÑ"
#. strftime format of a time,
#. in 24-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:180
-#, fuzzy
msgid "Today %H:%M"
-msgstr "Ð”Ð°Ð½Ð°Ñ %l:%M %p"
+msgstr "Ð”Ð°Ð½Ð°Ñ %H:%M"
#. strftime format of a time,
#. in 24-hour format.
#: plugins/itip-formatter/itip-view.c:184
-#, fuzzy
msgid "Today %H:%M:%S"
-msgstr "Ð”Ð°Ð½Ð°Ñ %l:%M %p"
+msgstr "Ð”Ð°Ð½Ð°Ñ %H:%M:%S"
#. strftime format of a time,
#. in 12-hour format.
#: plugins/itip-formatter/itip-view.c:193
-#, fuzzy
msgid "Today %l:%M:%S %p"
-msgstr "Ð”Ð°Ð½Ð°Ñ %l:%M %p"
+msgstr "Ð”Ð°Ð½Ð°Ñ %l:%M:%S %p"
#. strftime format of a weekday and a date.
#: plugins/itip-formatter/itip-view.c:203
-#, fuzzy
msgid "Tomorrow"
-msgstr "Комори"
+msgstr "Сутра"
#. strftime format of a time,
#. in 24-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:208
msgid "Tomorrow %H:%M"
-msgstr ""
+msgstr "Сутра %H:%M"
# strftime format of a time in 24-hour format.
#. strftime format of a time,
#. in 24-hour format.
#: plugins/itip-formatter/itip-view.c:212
-#, fuzzy
msgid "Tomorrow %H:%M:%S"
-msgstr "%H:%M:%S"
+msgstr "Сутра %H:%M:%S"
#. strftime format of a time,
#. in 12-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:217
-#, fuzzy
msgid "Tomorrow %l:%M %p"
-msgstr "Ð”Ð°Ð½Ð°Ñ %l:%M %p"
+msgstr "Сутра %l:%M %p"
#. strftime format of a time,
#. in 12-hour format.
#: plugins/itip-formatter/itip-view.c:221
-#, fuzzy
msgid "Tomorrow %l:%M:%S %p"
-msgstr "Ð”Ð°Ð½Ð°Ñ %l:%M %p"
+msgstr "Сутра %l:%M %S %p"
#. strftime format of a weekday.
#: plugins/itip-formatter/itip-view.c:240
#, c-format
msgid "%A"
-msgstr ""
+msgstr "%A"
# strftime format of a time in 24-hour format,
# without seconds.
@@ -14707,81 +14481,70 @@ msgstr ""
#. strftime format of a weekday and a
#. time, in 24-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:245
-#, fuzzy
msgid "%A %H:%M"
-msgstr "%H:%M"
+msgstr "%A·%H:%M"
# strftime format of a time in 24-hour format.
#. strftime format of a weekday and a
#. time, in 24-hour format.
#: plugins/itip-formatter/itip-view.c:249
-#, fuzzy
msgid "%A %H:%M:%S"
-msgstr "%H:%M:%S"
+msgstr "%A·%H:%M:%S"
#. strftime format of a weekday and a
#. time, in 12-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:254
-#, fuzzy
msgid "%A %l:%M %p"
-msgstr "%a %l:%M %p"
+msgstr "%A·%l:%M·%p"
# strftime format of a time in 12-hour format.
#. strftime format of a weekday and a
#. time, in 12-hour format.
#: plugins/itip-formatter/itip-view.c:258
-#, fuzzy
msgid "%A %l:%M:%S %p"
-msgstr "%I:%M:%S %p"
+msgstr "%A·%l:%M:%S·%p"
#. strftime format of a weekday and a date
#. without a year.
#: plugins/itip-formatter/itip-view.c:267
-#, fuzzy
msgid "%A, %B %e"
-msgstr "%A, %e. %B %Y."
+msgstr "%A,·%B·%e"
#. strftime format of a weekday, a date
#. without a year and a time,
#. in 24-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:273
-#, fuzzy
msgid "%A, %B %e %H:%M"
-msgstr "%A, %e. %B %Y."
+msgstr "%A,·%B·%e·%H:%M"
#. strftime format of a weekday, a date without a year
#. and a time, in 24-hour format.
#: plugins/itip-formatter/itip-view.c:277
-#, fuzzy
msgid "%A, %B %e %H:%M:%S"
-msgstr "%A, %e. %B %Y."
+msgstr "%A,·%B·%e·%H:%M:%S"
#. strftime format of a weekday, a date without a year
#. and a time, in 12-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:282
-#, fuzzy
msgid "%A, %B %e %l:%M %p"
-msgstr "%b %d %l:%M %p"
+msgstr "%A,·%B·%e·%l:%M·%p"
#. strftime format of a weekday, a date without a year
#. and a time, in 12-hour format.
#: plugins/itip-formatter/itip-view.c:286
-#, fuzzy
msgid "%A, %B %e %l:%M:%S %p"
-msgstr "%b %d %l:%M %p"
+msgstr "%A,·%B·%e·%l:%M:%S·%p"
#. strftime format of a weekday and a date.
#: plugins/itip-formatter/itip-view.c:292
-#, fuzzy
msgid "%A, %B %e, %Y"
-msgstr "%A, %e. %B %Y."
+msgstr "%A,·%B·%e,·%Y"
#. strftime format of a weekday, a date and a
#. time, in 24-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:297
-#, fuzzy
msgid "%A, %B %e, %Y %H:%M"
-msgstr "%A, %e. %B %Y."
+msgstr "%A,·%B·%e,·%Y·%H:%M"
# strptime format of a weekday, a date and a time,
# in 24-hour format.
@@ -14790,192 +14553,186 @@ msgstr "%A, %e. %B %Y."
#. strftime format of a weekday, a date and a
#. time, in 24-hour format.
#: plugins/itip-formatter/itip-view.c:301
-#, fuzzy
msgid "%A, %B %e, %Y %H:%M:%S"
-msgstr "%a %m/%d/%Y %H:%M:%S"
+msgstr "%A,·%B·%e,·%Y·%H:%M:%S"
#. strftime format of a weekday, a date and a
#. time, in 12-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:306
-#, fuzzy
msgid "%A, %B %e, %Y %l:%M %p"
-msgstr "до %B·%d,·%Y,·%l:%M·%p"
+msgstr "%A,·%B·%e,·%Y·%l:%M·%p"
#. strftime format of a weekday, a date and a
#. time, in 12-hour format.
#: plugins/itip-formatter/itip-view.c:310
-#, fuzzy
msgid "%A, %B %e, %Y %l:%M:%S %p"
-msgstr "до %B·%d,·%Y,·%l:%M·%p"
+msgstr "%A,·%B·%e,·%Y·%l:%M:%S·%p"
#: plugins/itip-formatter/itip-view.c:335
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s has published the following meeting information:"
-msgstr "<b>%s</b> је објавио(ла) информацију о ÑаÑтанку."
+msgstr "<b>%s</b> преко %s је објавио(ла) Ñледећу информацију о ÑаÑтанку:"
#: plugins/itip-formatter/itip-view.c:337
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has published the following meeting information:"
-msgstr "<b>%s</b> је објавио(ла) информацију о ÑаÑтанку."
+msgstr "<b>%s</b> је објавио(ла) Ñледећу информацију о ÑаÑтанку:"
#: plugins/itip-formatter/itip-view.c:342
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> requests the presence of %s at the following meeting:"
-msgstr "<b>%s</b> захтева приÑуÑтво %s на ÑаÑтанку."
+msgstr "<b>%s</b> захтева приÑуÑтво %s наÑледећем ÑаÑтанку:"
#: plugins/itip-formatter/itip-view.c:345
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s requests your presence at the following meeting:"
-msgstr "<b>%s</b> захтева Ваше приÑуÑтво на ÑаÑтанку."
+msgstr "<b>%s</b> преко %s захтева Ваше приÑуÑтво на Ñледећем ÑаÑтанку:"
#: plugins/itip-formatter/itip-view.c:347
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> requests your presence at the following meeting:"
-msgstr "<b>%s</b> захтева Ваше приÑуÑтво на ÑаÑтанку."
+msgstr "<b>%s</b> захтева Ваше приÑуÑтво на Ñледећем ÑаÑтанку:"
#: plugins/itip-formatter/itip-view.c:353
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s wishes to add to an existing meeting:"
-msgstr "<b>%s</b> жели да дода поÑтојећем ÑаÑтанку"
+msgstr "<b>%s</b> преко %s жели да дода поÑтојећем ÑаÑтанку:"
#: plugins/itip-formatter/itip-view.c:355
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> wishes to add to an existing meeting:"
-msgstr "<b>%s</b> жели да дода поÑтојећем ÑаÑтанку"
+msgstr "<b>%s</b> жели да дода поÑтојећем ÑаÑтанку:"
#: plugins/itip-formatter/itip-view.c:358
-#, fuzzy, c-format
+#, c-format
msgid ""
"<b>%s</b> wishes to receive the latest information for the following meeting:"
-msgstr "<b>%s</b> жели да прими најновију информацију о задужењу."
+msgstr "<b>%s</b> жели да прими најновију информацију о Ñледећем задужењу:"
#: plugins/itip-formatter/itip-view.c:361
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has sent back the following meeting response:"
-msgstr "<b>%s</b> је поÑлао(ла) неразумљиву поруку."
+msgstr "<b>%s</b> је поÑлао(ла) Ñледећи одговор за ÑаÑтанак:"
#: plugins/itip-formatter/itip-view.c:365
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s has cancelled the following meeting:"
-msgstr "<b>%s</b> је отказо(ла) ÑаÑтанак."
+msgstr "<b>%s</b> преко %s је отказо(ла) Ñледећи ÑаÑтанак:"
#: plugins/itip-formatter/itip-view.c:367
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has cancelled the following meeting."
-msgstr "<b>%s</b> је отказо(ла) ÑаÑтанак."
+msgstr "<b>%s</b> је отказо(ла) Ñледећи ÑаÑтанак."
#: plugins/itip-formatter/itip-view.c:370
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has proposed the following meeting changes."
-msgstr "<b>%s</b> је одговорио(ла) на захтев за ÑаÑтанак."
+msgstr "<b>%s</b> је предложио(ла) Ñледеће промене ÑаÑтанка."
#: plugins/itip-formatter/itip-view.c:374
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s has declined the following meeting changes:"
-msgstr "<b>%s</b> је одговорио(ла) на захтев за ÑаÑтанак."
+msgstr "<b>%s</b> преко %s је одбио(ла) Ñледеће промене ÑаÑтанка:"
#: plugins/itip-formatter/itip-view.c:376
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has declined the following meeting changes."
-msgstr "<b>%s</b> је одговорио(ла) на захтев за ÑаÑтанак."
+msgstr "<b>%s</b> је одбио(ла) Ñледеће промене ÑаÑтанка."
#: plugins/itip-formatter/itip-view.c:403
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s has published the following task:"
-msgstr "<b>%s</b> је објавио(ла) информацију о задужењу."
+msgstr "<b>%s</b> преко %s је објавио(ла) информацију о Ñледећем задужењу:"
#: plugins/itip-formatter/itip-view.c:405
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has published the following task:"
-msgstr "<b>%s</b> је објавио(ла) информацију о задужењу."
+msgstr "<b>%s</b> је објавио(ла) информацију о Ñледећем задужењу:"
#: plugins/itip-formatter/itip-view.c:410
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> requests the assignment of %s to the following task:"
-msgstr "<b>%s</b> захтева приÑуÑтво %s на ÑаÑтанку."
+msgstr "<b>%s</b> захтева да %s преузме Ñледеће задужење:"
#: plugins/itip-formatter/itip-view.c:413
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s has assigned you a task:"
-msgstr "<b>%s</b> је отказао(ла) задужење."
+msgstr "<b>%s</b> преко %s Вам је доделио(ла) задужење:"
#: plugins/itip-formatter/itip-view.c:415
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has assigned you a task:"
-msgstr "<b>%s</b> је отказао(ла) задужење."
+msgstr "<b>%s</b> Вам је доделио(ла) задужење:"
#: plugins/itip-formatter/itip-view.c:421
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s wishes to add to an existing task:"
-msgstr "<b>%s</b жели да дода поÑтојећем задужењу."
+msgstr "<b>%s</b преко %s жели да дода поÑтојећем задужењу:"
#: plugins/itip-formatter/itip-view.c:423
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> wishes to add to an existing task:"
-msgstr "<b>%s</b жели да дода поÑтојећем задужењу."
+msgstr "<b>%s</b жели да дода поÑтојећем задужењу:"
#: plugins/itip-formatter/itip-view.c:426
-#, fuzzy, c-format
+#, c-format
msgid ""
"<b>%s</b> wishes to receive the latest information for the following "
"assigned task:"
-msgstr "<b>%s</b> жели да прими најновију информацију о задужењу."
+msgstr "<b>%s</b> жели да прими најновију информацију о Ñледећем задужењу:"
#: plugins/itip-formatter/itip-view.c:429
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has sent back the following assigned task response:"
-msgstr "<b>%s</b> је поÑлао(ла) неразумљиву поруку."
+msgstr "<b>%s</b> је поÑлао(ла) Ñледећи одговор на додељено задужење:"
#: plugins/itip-formatter/itip-view.c:433
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s has cancelled the following assigned task:"
-msgstr "<b>%s</b> је отказао(ла) задужење."
+msgstr "<b>%s</b> преко %s је отказао(ла) Ñледееће задужење:"
#: plugins/itip-formatter/itip-view.c:435
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has cancelled the following assigned task:"
-msgstr "<b>%s</b> је отказао(ла) задужење."
+msgstr "<b>%s</b> је отказао(ла) Ñледеће задужење:"
#: plugins/itip-formatter/itip-view.c:438
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has proposed the following task assignment changes:"
-msgstr "<b>%s</b> је одговорио(ла) на додељено задужење."
+msgstr "<b>%s</b> је предложио(ла) Ñледеће промене задужења:"
#: plugins/itip-formatter/itip-view.c:442
#, c-format
msgid "<b>%s</b> through %s has declined the following assigned task:"
-msgstr ""
+msgstr "<b>%s</b> преко %s је одбио Ñледеће задужење:"
#: plugins/itip-formatter/itip-view.c:444
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has declined the following assigned task:"
-msgstr "<b>%s</b> је одговорио(ла) на додељено задужење."
+msgstr "<b>%s</b> је одбио(ла) Ñледеће додељено задужење:"
#. Comment
#: plugins/itip-formatter/itip-view.c:892
#: plugins/itip-formatter/itip-view.c:942
-#, fuzzy
msgid "Comment:"
-msgstr "Ðаредба:"
+msgstr "Коментар:"
#. org.gnome.mailing-list-actions:no-header primary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:2
-#, fuzzy
msgid "Action not available"
-msgstr "TLS није доÑтупан"
+msgstr "Ðкција није доÑтупна"
#. org.gnome.mailing-list-actions:no-header secondary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:4
msgid ""
"This message does not contain the header information required for this "
"action."
-msgstr ""
+msgstr "Ова порука не Ñадржи потребне податке у заглављу за ову акцију."
#. org.gnome.mailing-list-actions:posting-not-allowed primary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:6
-#, fuzzy
msgid "Posting not allowed"
-msgstr "Сервер не дозвољава Ñлање чланака"
+msgstr "Слање није дозвољено"
#. org.gnome.mailing-list-actions:posting-not-allowed secondary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:8
@@ -14983,12 +14740,13 @@ msgid ""
"Posting to this mailing list is not allowed. Possibly, this is a read-only "
"mailing list. Contact the list owner for details."
msgstr ""
+"Слање на ову допиÑну лиÑту није дозвољено. Можда је ова лиÑта Ñамо за "
+"читање. Обратите Ñе влаÑнику лиÑте за детаље."
#. org.gnome.mailing-list-actions:ask-send-message primary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:10
-#, fuzzy
msgid "Send e-mail message to mailing list?"
-msgstr "Пошаљи _поруку на лиÑту"
+msgstr "ПоÑлати електронÑку_поруку на допиÑну лиÑту?"
#. org.gnome.mailing-list-actions:ask-send-message secondary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:12
@@ -14999,22 +14757,23 @@ msgid ""
"You should receive an answer from the mailing list shortly after the message "
"has been sent."
msgstr ""
+"ЕлектронÑка порука ће бити поÑлата на адреÑу (URL) \"{0}\". Можете поруку да "
+"пошаљете аутоматÑки, или је прво погледати и изменити.\n"
+"\n"
+"Требало би да добијете одговор Ñа допиÑне лиÑте убрзо након Ñлања поруке."
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:15
-#, fuzzy
msgid "_Send message"
-msgstr "Слање поруке"
+msgstr "_Пошаљи поруку"
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:16
-#, fuzzy
msgid "_Edit message"
-msgstr "Слање поруке"
+msgstr "_Уреди поруку"
#. org.gnome.mailing-list-actions:malformed-header primary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:18
-#, fuzzy
msgid "Malformed header"
-msgstr "ÐеиÑправан потпиÑ"
+msgstr "ÐеиÑправно заглавље"
#. org.gnome.mailing-list-actions:malformed-header secondary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:20
@@ -15023,12 +14782,14 @@ msgid ""
"\n"
"Header: {1}"
msgstr ""
+"Заглавље {0} ове поруке није иÑправно ÑаÑтављено и не може бити обрађено.\n"
+"\n"
+"Заглавље: {1}"
#. org.gnome.mailing-list-actions:no-action primary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:24
-#, fuzzy
msgid "No e-mail action"
-msgstr "Бележи акције филтера"
+msgstr "Ðема акције за е-пошту"
#. org.gnome.mailing-list-actions:no-action secondary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:26
@@ -15038,36 +14799,35 @@ msgid ""
"\n"
"Header: {0}"
msgstr ""
+"Ðкцију није могуће извеÑти. То значи да заглавље за ову акцију није Ñадржало "
+"обрадиву акцију.\n"
+"\n"
+"Заглавље: {0}"
#. Create the checkbox we will display, complete with mnemonic that is unique in the dialog
#: plugins/new-mail-notify/new-mail-notify.c:66
-#, fuzzy
msgid "_Generates a D-BUS message when new mail arrives"
-msgstr "С_вирни када Ñтигне нова пошта"
+msgstr "·ОбавеÑти D-BUS поруком када Ñтигне нова пошта"
#: plugins/plugin-manager/org-gnome-plugin-manager.xml.h:1
msgid "Enable and disable plugins"
-msgstr ""
+msgstr "Укључује и иÑкључује додатке"
#: plugins/plugin-manager/org-gnome-plugin-manager.xml.h:2
-#, fuzzy
msgid "Manage Plugins..."
-msgstr "Поништавање..."
+msgstr "Управљање додацима..."
#: plugins/plugin-manager/plugin-manager.c:45
-#, fuzzy
msgid "Author(s)"
-msgstr "Ñат(а)"
+msgstr "Ðутор(и)"
#: plugins/plugin-manager/plugin-manager.c:46
-#, fuzzy
msgid "Id"
-msgstr "I"
+msgstr "Иб"
#: plugins/plugin-manager/plugin-manager.c:47
-#, fuzzy
msgid "Path"
-msgstr "_Путања:"
+msgstr "Путања"
#: plugins/plugin-manager/plugin-manager.c:48
msgid "Description"
@@ -15075,55 +14835,48 @@ msgstr "аžаПаИбÂ"
#. Setup the ui
#: plugins/plugin-manager/plugin-manager.c:188
-#, fuzzy
msgid "Plugin Manager"
-msgstr "Управник"
+msgstr "Управљач додацима"
#: plugins/plugin-manager/plugin-manager.c:201
msgid "Note: Some changes will not take effect until restart"
-msgstr ""
+msgstr "Ðапомена: неке измене неће бити укључене пре поновног покретања"
#: plugins/plugin-manager/plugin-manager.c:210
-#, fuzzy
msgid "Plugin"
-msgstr "БриÑање"
+msgstr "Додатак"
#: plugins/prefer-plain/prefer-plain.c:105
msgid "Show HTML if present"
-msgstr ""
+msgstr "Прикажи HTML ако поÑтоји"
#: plugins/prefer-plain/prefer-plain.c:106
msgid "Prefer PLAIN"
-msgstr ""
+msgstr "По могућÑтву PLAIN"
#: plugins/prefer-plain/prefer-plain.c:107
msgid "Only ever show PLAIN"
-msgstr ""
+msgstr "ИÑкључиво приказуј PLAIN"
#: plugins/prefer-plain/prefer-plain.c:150
-#, fuzzy
msgid "HTML Mode"
-msgstr "HTML пошта"
+msgstr "HTML мод"
#: plugins/save-attachments/org-gnome-save-attachments.xml.h:1
-#, fuzzy
msgid "Save Attachments ..."
-msgstr "Сачувај прилог..."
+msgstr "Чува прилоге ..."
#: plugins/save-attachments/org-gnome-save-attachments.xml.h:2
-#, fuzzy
msgid "Save all attachments"
-msgstr "Сачувај прилог"
+msgstr "Чува Ñве прилоге"
#: plugins/save-attachments/save-attachments.c:331
-#, fuzzy
msgid "Select save base name"
-msgstr "Изаберите временÑку зону"
+msgstr "Бира име за Ñнимање базе"
#: plugins/save-attachments/save-attachments.c:351
-#, fuzzy
msgid "MIME Type"
-msgstr "МИМЕ тип:"
+msgstr "MIME тип"
#: plugins/save-attachments/save-attachments.c:359
#: ui/evolution-message-composer.xml.h:16
@@ -15134,7 +14887,7 @@ msgstr "Сачувај"
#: plugins/save-calendar/csv-format.c:167
#, c-format
msgid "%s%d/%s%d/%s%d %s%d:%s%d:%s%d"
-msgstr ""
+msgstr "%s%d/%s%d/%s%d·%s%d:%s%d:%s%d"
#: plugins/save-calendar/csv-format.c:370
#, c-format
@@ -15143,46 +14896,46 @@ msgid ""
"sCreated%sContact List%sStart%sEnd%sDue%sPercent Done%sPriority%sUrl%"
"sAttendees List%sLocation%sModified%s"
msgstr ""
+"Јиб%sПреглед%sСпиÑак опиÑа%sСпиÑак категорија%sСпиÑак коментара%sЗавршено%"
+"sÐаправљено%sКонтакт лиÑта%sПочетак%sЗавршетак%sДо%sПроценат завршеног%"
+"sВажноÑÑ‚%sÐреÑа (Url)%sСпиÑак приÑутних%sЛокација%sИзмењено%s"
#: plugins/save-calendar/csv-format.c:519
msgid "Advanced options for the CSV format"
-msgstr ""
+msgstr "Ðапредне опције за CSV формат"
#: plugins/save-calendar/csv-format.c:526
msgid "Prepend a header"
-msgstr ""
+msgstr "Прво укључи заглавље"
#: plugins/save-calendar/csv-format.c:535
-#, fuzzy
msgid "Value delimiter:"
-msgstr "Локална доÑтава"
+msgstr "Разграничник вредноÑти:"
#: plugins/save-calendar/csv-format.c:541
msgid "Record delimiter:"
-msgstr ""
+msgstr "Разграничник запиÑа:"
#: plugins/save-calendar/csv-format.c:547
msgid "Encapsulate values with:"
-msgstr ""
+msgstr "Споји вредноÑти Ñа:"
#: plugins/save-calendar/csv-format.c:569
msgid "Comma separated value format (.csv)"
-msgstr ""
+msgstr "Зарезом одвојен формат вредноÑти (.csv)"
#: plugins/save-calendar/ical-format.c:136
-#, fuzzy
msgid "iCalendar format (.ics)"
-msgstr "iCalendar датотеке (.ics)"
+msgstr "иКалендар формат (.ics)"
#: plugins/save-calendar/rdf-format.c:390
msgid "RDF format (.rdf)"
-msgstr ""
+msgstr "RDF формат (.rdf)"
#: plugins/save-calendar/save-calendar.c:171
#: plugins/save-calendar/save-calendar.c:181
-#, fuzzy
msgid "Select destination file"
-msgstr "Изаберите одредиште"
+msgstr "Изаберите одредишну датотеку"
#: plugins/save-calendar/save-calendar.c:216
#, c-format
@@ -15190,6 +14943,8 @@ msgid ""
"The suggested filename extension of this filetype (%s) is unused in the "
"chosen filename. Do you want to continue?"
msgstr ""
+"Ðаведена екÑтензија за овај тип датотеке (%s) изабрано име датотеке не "
+"кориÑти. Желите ли да наÑтавите?"
#: plugins/send-options/send-options.c:82
#, c-format
@@ -15198,9 +14953,8 @@ msgstr "%sУнеÑите лозинку за %s (кориÑник %s)"
#. org.gnome.evolution.mail_shared_folder:invalid-user primary
#: plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:2
-#, fuzzy
msgid "Invalid user"
-msgstr "ÐеиÑправна Ñврха"
+msgstr "ÐеиÑправан кориÑник"
#. org.gnome.evolution.mail_shared_folder:invalid-user secondary
#: plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:4
@@ -15208,12 +14962,13 @@ msgid ""
"\n"
"You cannot share folder with specified user \"{0}\" \n"
msgstr ""
+"\n"
+"жне можете да делите директоријум Ñа наведеним кориÑником \"{0}\" \n"
#. org.gnome.evolution.mail_shared_folder:no-user primary
#: plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:8
-#, fuzzy
msgid "Specify User"
-msgstr "Одређено заглавље"
+msgstr "Одредите кориÑника"
#. org.gnome.evolution.mail_shared_folder:no-user secondary
#: plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:10
@@ -15221,67 +14976,61 @@ msgid ""
"\n"
"\tYou have to specify a user name whom you want to add to the list \n"
msgstr ""
+"\n"
+"\tМорате да наведете кориÑничко име које желите да додате на ÑпиÑак \n"
#: plugins/shared-folder/properties.glade.h:2
-#, fuzzy
msgid "<b>Users :</b>"
-msgstr "<b>Узбуне</b>"
+msgstr "<b>КориÑници:</b>"
#: plugins/shared-folder/properties.glade.h:4
-#, fuzzy
msgid "Message"
-msgstr "По_руке"
+msgstr "Порука"
#: plugins/shared-folder/properties.glade.h:6
msgid "Shared Folder Notification"
-msgstr ""
+msgstr "Обавештавање о дељеном директоријуму"
#: plugins/shared-folder/properties.glade.h:8
msgid "The participants will receive the following notification.\n"
-msgstr ""
+msgstr "УчеÑници ће примити Ñледеће обавештење.\n"
#: plugins/shared-folder/properties.glade.h:11
-#, fuzzy
msgid "_Contacts..."
msgstr "_Контакти..."
#: plugins/shared-folder/properties.glade.h:12
-#, fuzzy
msgid "_Cutomize notification message"
-msgstr "Ðије могуће прављење поруке."
+msgstr "_Прилагоди поруку за обавештавање"
#: plugins/shared-folder/properties.glade.h:13
-#, fuzzy
msgid "_Not Shared"
-msgstr "Ðије покренуто"
+msgstr "_Ðије дељено"
#: plugins/shared-folder/properties.glade.h:15
msgid "_Shared With ..."
-msgstr ""
+msgstr "_Дељено Ñа ..."
#: plugins/shared-folder/properties.glade.h:16
-#, fuzzy
msgid "_Sharing"
-msgstr "Сенчење"
+msgstr "_Дељење"
#: plugins/shared-folder/share-folder-common.c:315
-#, fuzzy
msgid "Users"
-msgstr "_КориÑник:"
+msgstr "КориÑници"
#: plugins/shared-folder/share-folder-common.c:316
msgid "Enter the users and set permissions"
-msgstr ""
+msgstr "УнеÑите кориÑнике и поÑтавите овлашћења"
#: plugins/shared-folder/share-folder-common.c:401
-#, fuzzy
msgid "Sharing"
-msgstr "Сенчење"
+msgstr "Дељење"
#. Create the checkbox we will display, complete with mnemonic that is unique in the dialog
#: plugins/subject-thread/subject-thread.c:54
msgid "Fall back to threading messages by sub_ject"
-msgstr ""
+msgstr "Врати Ñе на поруке у нанизане по наÑ_лову"
#: shell/GNOME_Evolution_Shell.server.in.in.h:1
msgid "Evolution Shell"
@@ -15297,17 +15046,15 @@ msgstr "Пробни део Еволуције"
#: shell/apps_evolution_shell.schemas.in.in.h:1
msgid "A GNOME Print description of the current printer settings"
-msgstr ""
+msgstr "Гном Ð¾Ð¿Ð¸Ñ ÑˆÑ‚Ð°Ð¼Ð¿Ðµ текућих подешавања штампача"
#: shell/apps_evolution_shell.schemas.in.in.h:2
-#, fuzzy
msgid "Configuration version"
-msgstr "Верзија подешавања Еволуције"
+msgstr "Верзија подешавања"
#: shell/apps_evolution_shell.schemas.in.in.h:3
-#, fuzzy
msgid "Default sidebar width"
-msgstr "Подразумевана ширина прозора"
+msgstr "Подразумевана ширина помоћне траке"
#: shell/apps_evolution_shell.schemas.in.in.h:4
msgid "Default window height"
@@ -15322,9 +15069,8 @@ msgid "ID or alias of the component to be shown by default at start-up."
msgstr "ИБ или Ð°Ð»Ð¸Ñ˜Ð°Ñ Ð´ÐµÐ»Ð° који Ñе подразумевано приказује по покретању."
#: shell/apps_evolution_shell.schemas.in.in.h:7
-#, fuzzy
msgid "Last upgraded configuration version"
-msgstr "ПоÑледња доÑтупна верзија подешавања Еволуције"
+msgstr "ПоÑледња оÑвежена верзија подешавања"
#: shell/apps_evolution_shell.schemas.in.in.h:8
msgid ""
@@ -15333,14 +15079,12 @@ msgstr ""
"СпиÑак путања директоријума који Ñе уÑклађују на диÑку за рад ван мреже"
#: shell/apps_evolution_shell.schemas.in.in.h:9
-#, fuzzy
msgid "Printer settings"
-msgstr "Подешавања времена"
+msgstr "Подешавања штампача"
#: shell/apps_evolution_shell.schemas.in.in.h:10
-#, fuzzy
msgid "Skip development warning dialog"
-msgstr "Да ли да преÑкочи прозорче Ñа упозорењем о развоју"
+msgstr "ПреÑкаче прозорче Ñа упозорењем о развоју"
#: shell/apps_evolution_shell.schemas.in.in.h:11 shell/main.c:476
msgid "Start in offline mode"
@@ -15349,28 +15093,27 @@ msgstr "Почни рад ван мреже"
#: shell/apps_evolution_shell.schemas.in.in.h:12
msgid ""
"The configuration version of Evolution, with major/minor/configuration level"
-msgstr ""
+msgstr "Верзија подешавања Еволуције, уз ниво подешавања главно/Ñпоредно/"
#: shell/apps_evolution_shell.schemas.in.in.h:13
-#, fuzzy
msgid "The default height for the main window, in pixels."
-msgstr "ПредефиниÑана виÑина прозора за поруку"
+msgstr "Подразумевана виÑина прозора за поруку, у пикÑелима."
#: shell/apps_evolution_shell.schemas.in.in.h:14
-#, fuzzy
msgid "The default width for the main window, in pixels."
-msgstr "ПредефиниÑана ширина прозора за поруку"
+msgstr "Подразумевана ширина главног прозора, у пикÑелима."
#: shell/apps_evolution_shell.schemas.in.in.h:15
-#, fuzzy
msgid "The default width for the sidebar, in pixels."
-msgstr "Подразумевана ширина панела директоријума"
+msgstr "Подразумевана ширина помоћне траке, у пикÑелима."
#: shell/apps_evolution_shell.schemas.in.in.h:16
msgid ""
"The last upgraded configuration version of Evolution, with major/minor/"
"configuration level"
msgstr ""
+"ПоÑледња оÑвежена верзија подешавања Еволуције, уз ниво подешавања главно/"
+"Ñпоредно/"
#: shell/apps_evolution_shell.schemas.in.in.h:17
msgid ""
@@ -15378,42 +15121,40 @@ msgid ""
"\"toolbar\". If \"toolbar\" is set, the style of the buutons is determined "
"by the GNOME toolbar setting."
msgstr ""
+"Стил дугмади прозора. Може бити \"текÑÑ‚\", \"иконе\", \"обоје\", \"трака "
+"алата\". Ðко је поÑтављено \"трака алата\",Гномово подешавање траке алата "
+"утврђује Ñтил дугмади."
#: shell/apps_evolution_shell.schemas.in.in.h:18
msgid "Toolbar is visible"
msgstr "Трака алата је видљива"
#: shell/apps_evolution_shell.schemas.in.in.h:19
-#, fuzzy
msgid "Whether Evolution will start up in offline mode instead of online mode."
-msgstr ""
-"Ðко је поÑтављено, Еволуција ће Ñе покренути у режиму за рад ван мреже "
-"умеÑто у режиму за рад на мрежи."
+msgstr "Да ли ће Ñе Еволуција покренути у режиму за рад ван мреже."
#: shell/apps_evolution_shell.schemas.in.in.h:20
msgid "Whether the toolbar should be visible."
msgstr "Да ли да трака алата буде видљива."
#: shell/apps_evolution_shell.schemas.in.in.h:21
-#, fuzzy
msgid ""
"Whether the warning dialog in development versions of Evolution is skipped."
msgstr ""
-"Ðко је поÑтављено, прозорче Ñа упозорењем у развојним верзијама Еволуције "
-"неће бити приказано."
+"Да ли ће прозорче Ñа упозорењем у развојним верзијама Еволуције бити "
+"приказано."
#: shell/apps_evolution_shell.schemas.in.in.h:22
-#, fuzzy
msgid "Whether the window buttons should be visible."
-msgstr "Да ли да трака алата буде видљива."
+msgstr "Да ли да дугмад прозора буду видљива."
#: shell/apps_evolution_shell.schemas.in.in.h:23
msgid "Window button style"
-msgstr ""
+msgstr "Стил дугмади прозора"
#: shell/apps_evolution_shell.schemas.in.in.h:24
msgid "Window buttons are visible"
-msgstr ""
+msgstr "Дугмад прозора Ñу видљива"
#: shell/e-active-connection-dialog.glade.h:1
msgid "<b>Active Connections</b>"
@@ -15632,7 +15373,7 @@ msgstr "Bug buddy не може бити покренут."
#. * about box
#: shell/e-shell-window-commands.c:501
msgid "translator-credits"
-msgstr ""
+msgstr "заÑлужни-преводиоци"
#: shell/e-shell-window-commands.c:515
msgid "Groupware Suite"
@@ -15719,29 +15460,26 @@ msgid "Welcome"
msgstr "Добро дошли"
#: shell/evolution-startup-wizard.glade.h:6
-#, fuzzy
msgid ""
"Welcome to Evolution. The next few screens will allow Evolution to connect "
"to your email accounts, and to import files from other applications. \n"
"\n"
"Please click the \"Forward\" button to continue. "
msgstr ""
-"Добро дошли у Еволуцију. Ðеколико наредних екрана\n"
-"ће вам омогућити да Ñе Еволуција повеже на налоге елетронÑке\n"
-"поште и да увезе датотеке из других програма.\n"
+"Добро дошли у Еволуцију. Ðеколико наредних екрана ће омогућити да Ñе "
+"Еволуција повеже на налоге елетронÑке поште и да увезе датотеке из других "
+"програма.\n"
"\n"
"ПритиÑните дугме \"Ðапред\" да наÑтавите. "
#: shell/evolution-startup-wizard.glade.h:9
-#, fuzzy
msgid ""
"You have successfully entered all of the information needed to set up "
"Evolution. \n"
"\n"
"Click the \"Apply\" button to save your settings. "
msgstr ""
-"УÑпешно Ñте унели Ñве податке неопходне за\n"
-"подешавање Еволуције.\n"
+"УÑпешно Ñте унели Ñве податке неопходне за подешавање Еволуције.\n"
"\n"
"ПритиÑните дугме \"Примени\" да Ñачувате подешавања. "
@@ -15872,9 +15610,8 @@ msgid "Start in online mode"
msgstr "Почни рад на мрежи"
#: shell/main.c:481
-#, fuzzy
msgid "Forcibly shut down all Evolution components"
-msgstr "Силом угаÑи Ñве делове еволуције"
+msgstr "Силом гаÑи Ñве делове Еволуције"
#: shell/main.c:485
msgid "Forcibly re-migrate from Evolution 1.4"
@@ -15886,11 +15623,11 @@ msgstr "Пошаљи излаз о грешкама из Ñвих делова Ñ
#: shell/main.c:491
msgid "Disable the mono plugin environment."
-msgstr ""
+msgstr "ИÑкључује додатак за моно окружење."
#: shell/main.c:494
msgid "Disable loading of any plugins."
-msgstr ""
+msgstr "ИÑкључује учитавање Ñвих додатака."
#: shell/main.c:525
#, c-format
@@ -16852,9 +16589,8 @@ msgid "Create or edit rules for filtering new mail"
msgstr "Ðаправи или уреди правила за филтрирање нове поште"
#: ui/evolution-mail-global.xml.h:5
-#, fuzzy
msgid "Create or edit vFolder definitions"
-msgstr "Ðаправи или уреди дефиниције виртуелних директоријума"
+msgstr "Прави или уређује дефиниције вДиректоријума"
#: ui/evolution-mail-global.xml.h:6
msgid "Empty _Trash"
@@ -16893,9 +16629,8 @@ msgid "_Filters..."
msgstr "_Филтери..."
#: ui/evolution-mail-global.xml.h:18
-#, fuzzy
msgid "vFolder _Editor..."
-msgstr "Уређивач виртуелног _директоријума..."
+msgstr "_Уређивач вДиректоријума..."
#: ui/evolution-mail-list.xml.h:1
msgid "Change the properties of this folder"
@@ -17032,9 +16767,8 @@ msgid "Copy selected messages to another folder"
msgstr "Копирај изабране поруке у други директоријум"
#: ui/evolution-mail-message.xml.h:12
-#, fuzzy
msgid "Create _vFolder From Message"
-msgstr "_Ðаправи филтер од поруке"
+msgstr "Ðаправи _вДиректоријум од поруке"
#: ui/evolution-mail-message.xml.h:13
msgid "Create a rule to filter messages from this sender"
@@ -17053,24 +16787,20 @@ msgid "Create a rule to filter messages with this subject"
msgstr "Ðаправи правило за филтрирање порука Ñа овим наÑловом"
#: ui/evolution-mail-message.xml.h:17
-#, fuzzy
msgid "Create a vFolder for these recipients"
-msgstr "Ðаправи виртуелни директоријум за ове примаоце"
+msgstr "Прави вДиректоријум за ове примаоце"
#: ui/evolution-mail-message.xml.h:18
-#, fuzzy
msgid "Create a vFolder for this mailing list"
-msgstr "Ðаправи виртуелни директоријум за ову допиÑну лиÑту"
+msgstr "Прави вДиректоријум за ову допиÑну лиÑту"
#: ui/evolution-mail-message.xml.h:19
-#, fuzzy
msgid "Create a vFolder for this sender"
-msgstr "Ðаправи виртуелни директоријум за овог пошиљаоца"
+msgstr "Прави вДиректоријум за овог пошиљаоца"
#: ui/evolution-mail-message.xml.h:20
-#, fuzzy
msgid "Create a vFolder for this subject"
-msgstr "Ðаправи виртуелни директоријум за овај наÑлов"
+msgstr "Прави вДиректоријум за овај наÑлов"
#: ui/evolution-mail-message.xml.h:23
msgid "Decrease the text size"
@@ -17390,24 +17120,20 @@ msgid "_Undelete"
msgstr "_Поврати"
#: ui/evolution-mail-message.xml.h:127
-#, fuzzy
msgid "vFolder on Mailing _List..."
-msgstr "VДиректоријум на _допиÑну лиÑту..."
+msgstr "вДиректоријум на _допиÑну лиÑту..."
#: ui/evolution-mail-message.xml.h:128
-#, fuzzy
msgid "vFolder on Se_nder..."
-msgstr "VДиректоријум на _пошиљаоца..."
+msgstr "вДиректоријум на _пошиљаоца..."
#: ui/evolution-mail-message.xml.h:129
-#, fuzzy
msgid "vFolder on _Recipients..."
-msgstr "VДиректоријум на _примаоце..."
+msgstr "вДиректоријум на _примаоце..."
#: ui/evolution-mail-message.xml.h:130
-#, fuzzy
msgid "vFolder on _Subject..."
-msgstr "VДиректоријум на _наÑлов..."
+msgstr "вДиректоријум на _наÑлов..."
#: ui/evolution-mail-messagedisplay.xml.h:1
#: ui/evolution-message-composer.xml.h:3 ui/evolution-signature-editor.xml.h:2
@@ -17731,18 +17457,19 @@ msgstr "Отвара нов прозор за приказ овог директ
#: ui/evolution.xml.h:7
msgid "Display window buttons using the desktop toolbar setting"
msgstr ""
+"Приказује дугмад прозора коришћењем подешавања траке алата редне површине"
#: ui/evolution.xml.h:8
msgid "Display window buttons with icons and text"
-msgstr ""
+msgstr "Приказује дугмад прозора Ñа иконама и текÑтом"
#: ui/evolution.xml.h:9
msgid "Display window buttons with icons only"
-msgstr ""
+msgstr "Приказује дугмад прозора Ñамо Ñа иконама"
#: ui/evolution.xml.h:10
msgid "Display window buttons with text only"
-msgstr ""
+msgstr "Приказује дугмад прозора Ñамо Ñа текÑтом"
#: ui/evolution.xml.h:11
msgid "E_xit"
@@ -17766,11 +17493,11 @@ msgstr "Заборавља запамћене лозинке како би поÐ
#: ui/evolution.xml.h:16
msgid "Hide window buttons"
-msgstr ""
+msgstr "Сакрива дугмад прозора"
#: ui/evolution.xml.h:17
msgid "Icons _and text"
-msgstr ""
+msgstr "Иконе _и текÑÑ‚"
#: ui/evolution.xml.h:18
msgid "Import data from other programs"
@@ -17785,9 +17512,8 @@ msgid "Pi_lot Settings..."
msgstr "Подешавања Пи_лота..."
#: ui/evolution.xml.h:22
-#, fuzzy
msgid "Prefere_nces"
-msgstr "ПоÑтавке поште"
+msgstr "Подеша_вања"
#: ui/evolution.xml.h:23
msgid "Send / Receive"
@@ -17822,18 +17548,16 @@ msgid "Toggle whether we are working offline."
msgstr "Бира да ли ћемо радити ван мреже."
#: ui/evolution.xml.h:31
-#, fuzzy
msgid "Tool_bar"
msgstr "Тра_ка алата"
#: ui/evolution.xml.h:32
-#, fuzzy
msgid "Tool_bar style"
-msgstr "Трака алата је видљива"
+msgstr "Стил тра_ке алата"
#: ui/evolution.xml.h:33
msgid "Window B_uttons"
-msgstr ""
+msgstr "Дуг_мад прозора"
#: ui/evolution.xml.h:35
msgid "_About Evolution..."
@@ -17845,11 +17569,11 @@ msgstr "_Помоћ"
#: ui/evolution.xml.h:41
msgid "_Hide buttons"
-msgstr ""
+msgstr "_Сакриј дугмад"
#: ui/evolution.xml.h:42
msgid "_Icons only"
-msgstr ""
+msgstr "Само _иконе"
#: ui/evolution.xml.h:43
msgid "_Import..."
@@ -17868,9 +17592,8 @@ msgid "_Send / Receive"
msgstr "_Пошаљи / прими"
#: ui/evolution.xml.h:47
-#, fuzzy
msgid "_Text only"
-msgstr "Модел текÑта"
+msgstr "Само _текÑÑ‚"
#: ui/evolution.xml.h:50
msgid "_Window"
@@ -17960,9 +17683,8 @@ msgid "Select a Time Zone"
msgstr "Изаберите временÑку зону"
#: widgets/e-timezone-dialog/e-timezone-dialog.glade.h:6
-#, fuzzy
msgid "TimeZone Combobox"
-msgstr "ВременÑка зона"
+msgstr "Оквир за временÑку зону"
#: widgets/e-timezone-dialog/e-timezone-dialog.glade.h:7
msgid ""
@@ -17994,14 +17716,12 @@ msgid "%B %Y"
msgstr "%B %Y."
#: widgets/misc/e-calendar.c:177 widgets/misc/e-calendar.c:201
-#, fuzzy
msgid "Previous Button"
-msgstr "Претходно"
+msgstr "Дугме Претходно"
#: widgets/misc/e-calendar.c:226
-#, fuzzy
msgid "Month Calendar"
-msgstr "Учитавање календара"
+msgstr "МеÑечни календар"
#: widgets/misc/e-cell-date-edit.c:232 widgets/misc/e-dateedit.c:444
msgid "Now"
@@ -18104,34 +17824,32 @@ msgid "..."
msgstr "..."
#: widgets/misc/e-dateedit.c:313
-#, fuzzy
msgid "Date and Time Entry"
msgstr "Датум и време"
#: widgets/misc/e-dateedit.c:332
msgid "Text entry to input date"
-msgstr ""
+msgstr "Део текÑта за ÑƒÐ½Ð¾Ñ Ð´Ð°Ñ‚ÑƒÐ¼Ð°"
#: widgets/misc/e-dateedit.c:333
msgid "Text Date Entry"
-msgstr ""
+msgstr "Ð£Ð½Ð¾Ñ Ð´Ð°Ñ‚ÑƒÐ¼Ð° у текÑту"
#: widgets/misc/e-dateedit.c:350
msgid "Click this button to show a calendar"
-msgstr ""
+msgstr "Кликни на ово дугме за приказ календара"
#: widgets/misc/e-dateedit.c:351
-#, fuzzy
msgid "Date Button"
-msgstr "Датум Ñлања"
+msgstr "Дугме Датум"
#: widgets/misc/e-dateedit.c:371
msgid "Combo box to select time"
-msgstr ""
+msgstr "Оквир за избор времена"
#: widgets/misc/e-dateedit.c:372
msgid "Time Combo Box"
-msgstr ""
+msgstr "Оквир за време"
#: widgets/misc/e-error.c:84 widgets/misc/e-error.c:85
#: widgets/misc/e-error.c:127
@@ -18246,13 +17964,15 @@ msgstr "Изаберите Ñлику"
#: widgets/misc/e-map.c:647
msgid "World Map"
-msgstr ""
+msgstr "Карта Ñвета"
#: widgets/misc/e-map.c:649
msgid ""
"Mouse-based interactive map widget for selecting timezone. Keyboard users "
"should select the timezone from the below combo box instead."
msgstr ""
+"Интеркативни алат за избор временÑке зоне помоћу миша. ТаÑтатуром Ñе избор "
+"временÑке зоне врши из доњег оквира."
#: widgets/misc/e-pilot-settings.c:103
msgid "Sync with:"
@@ -18269,9 +17989,8 @@ msgstr "УÑклади категорије:"
#. To translators: This is the accessibility name of
#. the search bar's text entry widget
#: widgets/misc/e-search-bar.c:343
-#, fuzzy
msgid "Search Text Entry"
-msgstr "Уређивач претраге"
+msgstr "Претрага текÑта"
#: widgets/misc/e-search-bar.c:547
msgid "_Search"
@@ -18286,9 +18005,8 @@ msgid "_Clear"
msgstr "_ОчиÑти"
#: widgets/misc/e-search-bar.c:645
-#, fuzzy
msgid "Search Type"
-msgstr "Обим п_ретраге:"
+msgstr "Тип претраге"
#: widgets/misc/e-search-bar.c:849
msgid "Item ID"
@@ -18307,85 +18025,78 @@ msgid "Find _Now"
msgstr "Пронађи _Ñада"
#: widgets/misc/e-send-options.c:505
-#, fuzzy
msgid "When de_leted:"
-msgstr "%d обриÑано"
+msgstr "Када је обри_Ñано:"
#: widgets/misc/e-send-options.glade.h:1
-#, fuzzy
msgid "<b>Delivery Options</b>"
-msgstr "<b>Подешавања</b>"
+msgstr "<b>Подешавања иÑпоруке</b>"
#: widgets/misc/e-send-options.glade.h:2
-#, fuzzy
msgid "<b>Replies</b>"
-msgstr "<b>Понови</b>"
+msgstr "<b>Одговори</b>"
#: widgets/misc/e-send-options.glade.h:3
-#, fuzzy
msgid "<b>Return Notification</b>"
-msgstr "<b>Идентификација</b>"
+msgstr "<b>Повратно обавештење</b>"
#: widgets/misc/e-send-options.glade.h:4
-#, fuzzy
msgid "<b>Status Tracking</b>"
-msgstr "<b>Претрага</b>"
+msgstr "<b>Праћење ÑтатуÑа</b>"
#: widgets/misc/e-send-options.glade.h:5
-#, fuzzy
msgid "A_uto-delete sent item"
-msgstr "Брише ову Ñтавку"
+msgstr "Ð_утоматÑки бриши поÑлат предмет"
#: widgets/misc/e-send-options.glade.h:6
-#, fuzzy
msgid "C_lassification"
-msgstr "_РазврÑтавање:"
+msgstr "_РазврÑтавање"
#: widgets/misc/e-send-options.glade.h:7
-#, fuzzy
msgid "Creat_e a sent item to track information"
-msgstr "Добави најновије податке о задужењу"
+msgstr "Ðа_прави поÑлат објекат за праћење податка"
#: widgets/misc/e-send-options.glade.h:8
-#, fuzzy
msgid "Deli_vered and opened"
-msgstr "Одговори и надређено"
+msgstr "ИÑпо_ручено и отворено"
#: widgets/misc/e-send-options.glade.h:9
-#, fuzzy
msgid "Gene_ral Options"
-msgstr "Опције филтера"
+msgstr "Опш_та подешавања"
#: widgets/misc/e-send-options.glade.h:10
-#, fuzzy
msgid ""
"None\n"
"Mail Receipt"
-msgstr "Признанице"
+msgstr ""
+"Ðема\n"
+"Прималац поште"
#: widgets/misc/e-send-options.glade.h:12
-#, fuzzy
msgid ""
"None\n"
"Mail Receipt\n"
-msgstr "Признанице"
+msgstr ""
+"Ðема\n"
+"Прималац поште\n"
#: widgets/misc/e-send-options.glade.h:15
-#, fuzzy
msgid ""
"Public\n"
"Private\n"
"Confidential\n"
-msgstr "Поверљиво"
+msgstr ""
+"Јавно\n"
+"Приватно\n"
+"Поверљиво\n"
#: widgets/misc/e-send-options.glade.h:19
-#, fuzzy
msgid "R_eply requested"
-msgstr "_Стил одговора:"
+msgstr "Захтеван о_дговор"
#: widgets/misc/e-send-options.glade.h:21
msgid "Sta_tus Tracking"
-msgstr ""
+msgstr "Праћење Ñта_туÑа"
#: widgets/misc/e-send-options.glade.h:22
msgid ""
@@ -18394,61 +18105,58 @@ msgid ""
"Standard\n"
"Low"
msgstr ""
+"ÐедефиниÑано\n"
+"ВиÑоко\n"
+"Обично\n"
+"ÐиÑко"
#: widgets/misc/e-send-options.glade.h:26
-#, fuzzy
msgid "W_ithin"
-msgstr "Ширина"
+msgstr "Ун_утар"
#: widgets/misc/e-send-options.glade.h:27
msgid "When acce_pted: "
-msgstr ""
+msgstr "Када је при_хваћено: "
#: widgets/misc/e-send-options.glade.h:28
-#, fuzzy
msgid "When co_mpleted:"
-msgstr "_Датум завршетка:"
+msgstr "По заврш_етку:"
#: widgets/misc/e-send-options.glade.h:29
msgid "When decli_ned: "
-msgstr ""
+msgstr "Када је одби_јено: "
#: widgets/misc/e-send-options.glade.h:30
-#, fuzzy
msgid "_After:"
-msgstr "поÑле"
+msgstr "_ПоÑле:"
#: widgets/misc/e-send-options.glade.h:31
-#, fuzzy
msgid "_All information"
-msgstr "Информација о задужењу"
+msgstr "_Сви подаци"
#: widgets/misc/e-send-options.glade.h:32
-#, fuzzy
msgid "_Delay message delivery"
-msgstr "ОÑтави поруке на Ñерверу"
+msgstr "_Одложи иÑпоруку поруке"
#: widgets/misc/e-send-options.glade.h:33
-#, fuzzy
msgid "_Delivered"
-msgstr "ОбриÑано"
+msgstr "_ИÑпоручено"
#: widgets/misc/e-send-options.glade.h:35
msgid "_Set expiration date"
-msgstr ""
+msgstr "_ПоÑтави рок"
#: widgets/misc/e-send-options.glade.h:36
-#, fuzzy
msgid "_Until:"
-msgstr "Без имена"
+msgstr "_До:"
#: widgets/misc/e-send-options.glade.h:37
msgid "_When convenient"
-msgstr ""
+msgstr "_Када је згодно"
#: widgets/misc/e-send-options.glade.h:38
msgid "_When opened: "
-msgstr ""
+msgstr "_Када је отворено: "
#. system:ask-save-file-exists-overwrite primary
#: widgets/misc/e-system-errors.xml.h:4
@@ -18481,9 +18189,8 @@ msgid "%s (%d%% complete)"
msgstr "%s (%d%% завршено)"
#: widgets/misc/e-url-entry.c:107
-#, fuzzy
msgid "click here to go to url"
-msgstr "<протиÑните овде да изаберете директоријум>"
+msgstr "протиÑните овде да поÑетите ареÑу (url)"
#~ msgid "Failed to parse gpg userid hint."
#~ msgstr "Ðије уÑпело читање gpg userid подÑетника."
diff --git a/po/sr@Latn.po b/po/sr@Latn.po
index 797cbebf2c..521b893e29 100644
--- a/po/sr@Latn.po
+++ b/po/sr@Latn.po
@@ -5,17 +5,16 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: evolution 2.0\n"
+"Project-Id-Version: evolution\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-03-05 08:58+0100\n"
-"PO-Revision-Date: 2005-03-05 08:53+0100\n"
+"POT-Creation-Date: 2005-03-10 01:57+0100\n"
+"PO-Revision-Date: 2005-03-10 02:00+0100\n"
"Last-Translator: Igor Nestorović <jung@one.ekof.bg.ac.yu>\n"
"Language-Team: Serbian (sr) <gnom@prevod.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
-"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
#: a11y/addressbook/ea-addressbook-view.c:94
#: a11y/addressbook/ea-addressbook-view.c:103
@@ -34,12 +33,12 @@ msgid "New Contact List"
msgstr "Nova kontakt lista"
#: a11y/addressbook/ea-minicard-view.c:149
-#, fuzzy, c-format
+#, c-format
msgid "current addressbook folder has %d card"
msgid_plural "current addressbook folder has %d cards"
-msgstr[0] "tekući direktorijum adresara"
-msgstr[1] "tekući direktorijum adresara"
-msgstr[2] "tekući direktorijum adresara"
+msgstr[0] "tekući direktorijum adresara ima %d kartu"
+msgstr[1] "tekući direktorijum adresara ima %d karte"
+msgstr[2] "tekući direktorijum adresara ima %d karti"
#: a11y/addressbook/ea-minicard.c:31
#: calendar/gui/alarm-notify/alarm-queue.c:876
@@ -48,14 +47,12 @@ msgid "Open"
msgstr "Otvori"
#: a11y/addressbook/ea-minicard.c:138
-#, fuzzy
msgid "Contact List: "
-msgstr "Kontakt li_sta"
+msgstr "Kontakt li_sta: "
#: a11y/addressbook/ea-minicard.c:139
-#, fuzzy
msgid "Contact: "
-msgstr "Kontakti: "
+msgstr "Kontakt: "
#: a11y/addressbook/ea-minicard.c:165
msgid "evolution minicard"
@@ -63,96 +60,87 @@ msgstr "minikarta evolucije"
#: a11y/calendar/ea-cal-view-event.c:235
msgid "It has alarms."
-msgstr ""
+msgstr "Ima alarme."
#: a11y/calendar/ea-cal-view-event.c:238
-#, fuzzy
msgid "It has recurrences."
-msgstr "_Bez ponavljanja"
+msgstr "Ima ponavljanja."
#: a11y/calendar/ea-cal-view-event.c:241
msgid "It is a meeting."
-msgstr ""
+msgstr "To je sastanak."
#: a11y/calendar/ea-cal-view-event.c:247
-#, fuzzy, c-format
+#, c-format
msgid "Calendar Event: Summary is %s."
-msgstr "Kalendarski događaji"
+msgstr "Kalendarski događaj: pregled je %s."
#: a11y/calendar/ea-cal-view-event.c:249
-#, fuzzy
msgid "Calendar Event: It has no summary."
-msgstr "Kalendarski događaji"
+msgstr "Kalendarski događaj: nema pregled."
#: a11y/calendar/ea-cal-view-event.c:268
-#, fuzzy
msgid "calendar view event"
-msgstr "Kalendarski događaji"
+msgstr "događaj pregleda kalendara"
#: a11y/calendar/ea-cal-view-event.c:485
-#, fuzzy
msgid "Grab Focus"
-msgstr "Ima fokus"
+msgstr "Uhvati fokus"
#: a11y/calendar/ea-cal-view.c:306
-#, fuzzy
msgid "New Appointment"
-msgstr "Nov _zakazani sastanak"
+msgstr "Nov sastanak"
#: a11y/calendar/ea-cal-view.c:307
-#, fuzzy
msgid "New All Day Event"
-msgstr "Nov celodnevni _događaj"
+msgstr "Nov celodnevni događaj"
#: a11y/calendar/ea-cal-view.c:308 calendar/gui/e-calendar-view.c:1372
msgid "New Meeting"
msgstr "Nov sastanak"
#: a11y/calendar/ea-cal-view.c:309
-#, fuzzy
msgid "Go to Today"
-msgstr "Idi na _današnji dan"
+msgstr "Idi na današnji dan"
#: a11y/calendar/ea-cal-view.c:310
-#, fuzzy
msgid "Go to Date"
-msgstr "Idi na _datum"
+msgstr "Idi na datum"
#: a11y/calendar/ea-day-view-main-item.c:299
#: a11y/calendar/ea-week-view-main-item.c:301
-#, fuzzy
msgid "a table to view and select the current time range"
-msgstr "vreme u odnosu na trenutno vreme"
+msgstr "tabela za prikaz i izbor tekućeg vremenskog raspona"
#: a11y/calendar/ea-day-view.c:146 a11y/calendar/ea-week-view.c:148
#, c-format
msgid "It has %d event."
msgid_plural "It has %d events."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Ima %d događaj."
+msgstr[1] "Ima %d događaja."
+msgstr[2] "Ima %d događaja."
#: a11y/calendar/ea-day-view.c:148 a11y/calendar/ea-week-view.c:150
msgid "It has no events."
-msgstr ""
+msgstr "Nema događaja."
#: a11y/calendar/ea-day-view.c:152
-#, fuzzy, c-format
+#, c-format
msgid "Work Week View: %s. %s"
-msgstr "Pregled radne nedelje"
+msgstr "Pregled radne nedelje: %s. %s"
#: a11y/calendar/ea-day-view.c:155
-#, fuzzy, c-format
+#, c-format
msgid "Day View: %s. %s"
-msgstr "Dnevni pregled"
+msgstr "Dnevni pregled: %s. %s"
#: a11y/calendar/ea-day-view.c:186
-#, fuzzy
msgid "calendar view for a work week"
-msgstr "podaci o kalendaru"
+msgstr "pregled kalendara za radnu nedelju"
#: a11y/calendar/ea-day-view.c:188
msgid "calendar view for one or more days"
-msgstr ""
+msgstr "prikaz kalendara za jedna ili više dana"
#: a11y/calendar/ea-gnome-calendar.c:187 calendar/gui/calendar-component.c:660
msgid "%A %d %b %Y"
@@ -209,69 +197,63 @@ msgid "Gnome Calendar"
msgstr "Gnom kalendar"
#: a11y/calendar/ea-gnome-calendar.c:290
-#, fuzzy
msgid "search bar"
-msgstr "Osnova za _pretragu:"
+msgstr "traka pretrage"
#: a11y/calendar/ea-gnome-calendar.c:291
-#, fuzzy
msgid "evolution calendar search bar"
-msgstr "Preglednik Evolucija kalendara"
+msgstr "traka pretrage evolucija kalendara"
#: a11y/calendar/ea-jump-button.c:149
msgid "Jump button"
-msgstr ""
+msgstr "Dugme za preskakanje"
#: a11y/calendar/ea-jump-button.c:158
-#, fuzzy
msgid "Click here, you can find more events."
-msgstr "Pritisnite ovde da dodate uÄesnika"
+msgstr "Kliknite ovde, možete naći još događaja."
#: a11y/calendar/ea-week-view.c:155
-#, fuzzy, c-format
+#, c-format
msgid "Month View: %s. %s"
-msgstr "MeseÄni pregled"
+msgstr "MeseÄni pregled: %s. %s"
#: a11y/calendar/ea-week-view.c:159
-#, fuzzy, c-format
+#, c-format
msgid "Week View: %s. %s"
-msgstr "Nedeljni pregled"
+msgstr "Nedeljni pregled: %s. %s"
#: a11y/calendar/ea-week-view.c:190
-#, fuzzy
msgid "calendar view for a month"
-msgstr "podaci o kalendaru"
+msgstr "pregled kalendara za mesec"
#: a11y/calendar/ea-week-view.c:192
msgid "calendar view for one or more weeks"
-msgstr ""
+msgstr "prikaz kalendara za jedan ili više nedelja"
#: a11y/widgets/ea-calendar-item.c:296 a11y/widgets/ea-calendar-item.c:302
msgid "%d %B %Y"
msgstr "%d %B %Y"
#: a11y/widgets/ea-calendar-item.c:304
-#, fuzzy, c-format
+#, c-format
msgid "Calendar: from %s to %s"
-msgstr "Informacija o kalendaru"
+msgstr "Kalendar: od %s do %s"
#: a11y/widgets/ea-calendar-item.c:339
-#, fuzzy
msgid "evolution calendar item"
-msgstr "Preglednik Evolucija kalendara"
+msgstr "Predmet evolucija kalendara"
#: a11y/widgets/ea-combo-button.c:40
msgid "Combo Button"
-msgstr ""
+msgstr "Dugme za kombinovanje"
#: a11y/widgets/ea-combo-button.c:50
-#, fuzzy
msgid "Activate Default"
-msgstr "Koristi _podrazumevano"
+msgstr "Aktiviraj podrazumevano"
#: a11y/widgets/ea-combo-button.c:52
msgid "Popup Menu"
-msgstr ""
+msgstr "IskaÄući meni"
# malo aorista ;-)
#. addressbook:ldap-init primary
@@ -281,12 +263,11 @@ msgstr "Ovaj adresar nije moguće otvoriti."
#. addressbook:ldap-init secondary
#: addressbook/addressbook-errors.xml.h:4
-#, fuzzy
msgid ""
"This addressbook server might be unreachable or the server name may be "
"misspelled or your network connection could be down."
msgstr ""
-"Ovaj server adresara je ili nedostupan ili je njegovo ime pogrešno uneto ili "
+"Server ovog adresara je ili nedostupan ili je njegovo ime pogrešno uneto ili "
"je mreža nedostupna."
#. addressbook:ldap-auth primary
@@ -343,16 +324,14 @@ msgstr "Neuspešno uklanjanje adresara."
#. addressbook:ask-delete-addressbook primary
#: addressbook/addressbook-errors.xml.h:22
-#, fuzzy
msgid "Delete address book '{0}'?"
-msgstr "Izaberite odredišni adresar."
+msgstr "Obrisati adresar '{0}'?"
# malo aorista ;-)
#. addressbook:ask-delete-addressbook secondary
#: addressbook/addressbook-errors.xml.h:24
-#, fuzzy
msgid "This address book will be removed permanently."
-msgstr "Ovaj adresar nije moguće otvoriti."
+msgstr "Ovaj adresar biće trajno uklonjen."
#. addressbook:edit-categories primary
#: addressbook/addressbook-errors.xml.h:26
@@ -470,19 +449,17 @@ msgstr ""
#. addressbook:ask-list-add-exists primary
#: addressbook/addressbook-errors.xml.h:59
-#, fuzzy
msgid "Address '{0}' already exists."
-msgstr "Direktorijum već postoji"
+msgstr "Adresa '{0}' već postoji"
#. addressbook:ask-list-add-exists secondary
#: addressbook/addressbook-errors.xml.h:61
-#, fuzzy
msgid ""
"A contact already exists with this address. Would you like to add a new "
"card with the same address anyway?"
msgstr ""
-"Promenjena elektronska adresa ili ime ovog kontakta\n"
-"već postoji u ovom direktorijumu. Želite li svejedno da dodate?"
+"Kontakt sa ovom adresom već postoji. Želite li ipak da dodate novu kartu sa "
+"istom adresom?"
#: addressbook/addressbook-errors.xml.h:62 mail/em-vfolder-rule.c:494
#: plugins/shared-folder/properties.glade.h:10
@@ -492,20 +469,19 @@ msgstr "_Dodaj"
#. addressbook:server-version title
#. calendar:server-version title
#: addressbook/addressbook-errors.xml.h:64 calendar/calendar-errors.xml.h:142
-#, fuzzy
msgid "Server Version"
-msgstr "Verzija"
+msgstr "Verzija servera"
#. addressbook:server-version primary
#. calendar:server-version primary
#: addressbook/addressbook-errors.xml.h:66 calendar/calendar-errors.xml.h:144
msgid "Your server needs to be updated"
-msgstr ""
+msgstr "Serveru je potrebno osvežavanje"
#. addressbook:server-version secondary
#: addressbook/addressbook-errors.xml.h:68
msgid "Some features may not work correctly with your current server version"
-msgstr ""
+msgstr "Na tekućoj verziji servera neke opcije neće ispravno raditi"
#: addressbook/conduit/address-conduit.c:298
msgid "Default Sync Address:"
@@ -647,9 +623,8 @@ msgid "Failed upgrading Addressbook settings or folders."
msgstr "Neuspešno dograđivanje podešavanja ili direktorijuma adresara."
#: addressbook/gui/component/addressbook-config.c:315
-#, fuzzy
msgid "Base"
-msgstr "Nalepi"
+msgstr "Baza"
#: addressbook/gui/component/addressbook-config.c:510
#: calendar/gui/dialogs/calendar-setup.c:191
@@ -658,9 +633,8 @@ msgid "_Type:"
msgstr "_Tip:"
#: addressbook/gui/component/addressbook-config.c:609
-#, fuzzy
msgid "Copy book content locally for offline operation"
-msgstr "Kopiraj sadržaj direktorijuma lokalno za rad van mreže"
+msgstr "Kopiraj sadržaj knjige lokalno za rad van mreže"
#: addressbook/gui/component/addressbook-config.c:904
#: addressbook/gui/component/ldap-config.glade.h:23
@@ -677,14 +651,12 @@ msgid "Addressbook"
msgstr "Adresar"
#: addressbook/gui/component/addressbook-config.c:909
-#, fuzzy
msgid "Server Information"
-msgstr "<b>Podaci servera</b>"
+msgstr "Podaci servera"
#: addressbook/gui/component/addressbook-config.c:911
-#, fuzzy
msgid "Authentication"
-msgstr "SMTP prijava"
+msgstr "Prijava"
#: addressbook/gui/component/addressbook-config.c:914
#: addressbook/gui/component/ldap-config.glade.h:18
@@ -693,14 +665,12 @@ msgid "Details"
msgstr "Detalji"
#: addressbook/gui/component/addressbook-config.c:915
-#, fuzzy
msgid "Searching"
-msgstr "Tražim..."
+msgstr "Pretraga"
#: addressbook/gui/component/addressbook-config.c:917
-#, fuzzy
msgid "Downloading"
-msgstr "<b>Preuzimanje</b>"
+msgstr "Preuzimanje"
#: addressbook/gui/component/addressbook-config.c:1118
#: addressbook/gui/component/ldap-config.glade.h:14
@@ -783,9 +753,8 @@ msgid "Properties..."
msgstr "Podešavanja..."
#: addressbook/gui/component/addressbook-view.c:1130
-#, fuzzy
msgid "Contact Source Selector"
-msgstr "Izvori nisu izabrani."
+msgstr "BiraÄ izvora kontakta"
#: addressbook/gui/component/addressbook.c:98
msgid "Accessing LDAP Server anonymously"
@@ -798,44 +767,40 @@ msgstr "Neuspela prijava.\n"
#: addressbook/gui/component/addressbook.c:200
#: plugins/groupwise-account-setup/camel-gw-listener.c:461
-#, fuzzy, c-format
+#, c-format
msgid "Enter password for %s (user %s)"
-msgstr "%sUnesite lozinku za %s (korisnik %s)"
+msgstr "Unesite lozinku za %s (korisnik %s)"
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:1
-#, fuzzy
msgid "Autocomplete length"
-msgstr "Samodopunjavanje"
+msgstr "Dužina samodopunjavanja"
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:2
-#, fuzzy
msgid "EFolderList XML for the list of completion URIs"
-msgstr "EFolderList XML za spisak adresa (url) za dopunjavanje"
+msgstr "EFolderList XML za spisak adresa (URI) za dopunjavanje"
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:3
-#, fuzzy
msgid "EFolderList XML for the list of completion URIs."
-msgstr "EFolderList XML za spisak adresa (url) za dopunjavanje"
+msgstr "EFolderList XML za spisak adresa (URI) za dopunjavanje."
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:4
-#, fuzzy
msgid ""
"Position of the vertical pane, between the card and list views and the "
"preview pane, in pixels."
-msgstr "Položaj uspravnog panela u meseÄnom pregledu"
+msgstr ""
+"Položaj vertikalnog panela, između karte i spiska pregleda i panela za "
+"pregled, u pikselima."
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:5
-#, fuzzy
msgid "Show preview pane"
-msgstr "Prikaži panel \"Pregled\""
+msgstr "Prikaži panel pregleda"
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:6
-#, fuzzy
msgid ""
"The number of characters that must be typed before Evolution will attempt to "
"autocomplete."
msgstr ""
-"Broj znakova koji se moraju ukucati pre nego evolucija pokuša da samodopuni"
+"Broj znakova koji se moraju ukucati pre nego Evolucija pokuša da samodopuni."
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:7
msgid "URI for the folder last used in the select names dialog"
@@ -843,21 +808,18 @@ msgstr ""
"Adresa (URL) za poslednji koriÅ¡ten direktorijum u prozorÄetu za izbor imena"
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:8
-#, fuzzy
msgid "URI for the folder last used in the select names dialog."
msgstr ""
-"Adresa (URL) za poslednji koriÅ¡ten direktorijum u prozorÄetu za izbor imena"
+"Adresa (URI) za poslednji koriÅ¡ten direktorijum u prozorÄetu za izbor imena."
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:9
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:49
-#, fuzzy
msgid "Vertical pane position"
-msgstr "Geografski položaj"
+msgstr "Položaj vertikalnog panela"
#: addressbook/gui/component/apps_evolution_addressbook.schemas.in.in.h:10
-#, fuzzy
msgid "Whether to show the preview pane."
-msgstr "Da li se prikazuje površ sa direktorijumima"
+msgstr "Da li se prikazuje panel pregleda."
#: addressbook/gui/component/ldap-config.glade.h:1
#: addressbook/gui/contact-editor/contact-editor.glade.h:1
@@ -1048,14 +1010,13 @@ msgstr ""
"usporićete vaš adresar."
#: addressbook/gui/component/ldap-config.glade.h:37
-#, fuzzy
msgid ""
"This is the method Evolution will use to authenticate you. Note that "
"setting this to \"Email Address\" requires anonymous access to your ldap "
"server."
msgstr ""
-"Ovo je metod koji će evolucija koristiti da vas prijavi. Zapazite da "
-"ukljuÄivanje ovoga na \"Email Address\" zahteva anonimni pristup na ldap "
+"Ovo je metod koji će Evolucija koristiti da vas prijavi. Zapazite da "
+"ukljuÄivanje ovoga na \"Elektronska adresa\" zahteva anonimni pristup na ldap "
"server."
#: addressbook/gui/component/ldap-config.glade.h:38
@@ -1205,9 +1166,8 @@ msgid "Full _Name..."
msgstr "Puno _ime..."
#: addressbook/gui/contact-editor/contact-editor.glade.h:15
-#, fuzzy
msgid "Image"
-msgstr "Strana"
+msgstr "Slika"
#: addressbook/gui/contact-editor/contact-editor.glade.h:16
#: addressbook/gui/contact-editor/e-contact-editor-im.c:66
@@ -1232,9 +1192,8 @@ msgid "Personal Information"
msgstr "LiÄni podaci"
#: addressbook/gui/contact-editor/contact-editor.glade.h:22
-#, fuzzy
msgid "Telephone"
-msgstr "<b>Telefon</b>"
+msgstr "Telefon"
#. red
#: addressbook/gui/contact-editor/contact-editor.glade.h:23
@@ -1251,78 +1210,65 @@ msgid "_Address:"
msgstr "_Adresa:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:25
-#, fuzzy
msgid "_Anniversary:"
-msgstr "Godišnjica:"
+msgstr "_Godišnjica:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:26
-#, fuzzy
msgid "_Assistant:"
-msgstr "Pomoćnik:"
+msgstr "_Pomoćnik:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:27
-#, fuzzy
msgid "_Birthday:"
-msgstr "Rođendan:"
+msgstr "_Rođendan:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:28
#: plugins/itip-formatter/itip-view.c:1619
-#, fuzzy
msgid "_Calendar:"
-msgstr "Kalendar:"
+msgstr "_Kalendar:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:29
msgid "_Categories"
msgstr "_Kategorije"
#: addressbook/gui/contact-editor/contact-editor.glade.h:30
-#, fuzzy
msgid "_City:"
-msgstr "Mesto:"
+msgstr "_Mesto:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:31
-#, fuzzy
msgid "_Company:"
-msgstr "Preduzeće:"
+msgstr "Pr_eduzeće:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:32
-#, fuzzy
msgid "_Country:"
-msgstr "Država:"
+msgstr "_Država:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:33
-#, fuzzy
msgid "_Department:"
-msgstr "Odeljenje:"
+msgstr "_Odeljenje:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:34
msgid "_File under:"
msgstr "Smesti _pod:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:35
-#, fuzzy
msgid "_Free/Busy:"
-msgstr "S_lobodan/zauzet:"
+msgstr "S_lobodno/zauzeto:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:36
-#, fuzzy
msgid "_Home Page:"
-msgstr "LiÄna stranica:"
+msgstr "_LiÄna strana:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:37
-#, fuzzy
msgid "_Manager:"
-msgstr "Upravnik:"
+msgstr "_Upravnik:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:38
-#, fuzzy
msgid "_Notes:"
-msgstr "Beleške:"
+msgstr "_Beleške:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:39
-#, fuzzy
msgid "_Office:"
-msgstr "Kancelarija:"
+msgstr "_Kancelarija:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:40
#: addressbook/gui/contact-editor/fulladdr.glade.h:7
@@ -1330,14 +1276,12 @@ msgid "_PO Box:"
msgstr "_Poštanski broj:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:41
-#, fuzzy
msgid "_Profession:"
-msgstr "Zanimanje:"
+msgstr "_Zanimanje:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:42
-#, fuzzy
msgid "_Spouse:"
-msgstr "Supružnik:"
+msgstr "S_upružnik:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:43
#: addressbook/gui/contact-editor/fulladdr.glade.h:8
@@ -1350,19 +1294,16 @@ msgid "_Title:"
msgstr "_Titula:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:45
-#, fuzzy
msgid "_Video Chat:"
-msgstr "Video razgovor:"
+msgstr "_Video razgovor:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:46
-#, fuzzy
msgid "_Wants to receive HTML mail"
-msgstr "Želi da prima HTML poštu"
+msgstr "_Želi da prima HTML poštu"
#: addressbook/gui/contact-editor/contact-editor.glade.h:47
-#, fuzzy
msgid "_Web Log:"
-msgstr "Blog:"
+msgstr "B_log:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:48
#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:13
@@ -1370,9 +1311,8 @@ msgid "_Where:"
msgstr "_Gde:"
#: addressbook/gui/contact-editor/contact-editor.glade.h:49
-#, fuzzy
msgid "_Zip/Postal Code:"
-msgstr "Zip/Poštanski broj:"
+msgstr "Zip/Poš_tanski broj:"
#: addressbook/gui/contact-editor/e-contact-editor-address.c:96
#: addressbook/gui/widgets/eab-contact-display.c:365
@@ -2132,7 +2072,6 @@ msgid "Saint Lucia"
msgstr "Sveta Lucija"
#: addressbook/gui/contact-editor/e-contact-editor-address.c:320
-#, fuzzy
msgid "Saint Vincent And The Grenadines"
msgstr "Sveti Vinsent i Grenadini"
@@ -2446,9 +2385,8 @@ msgid "Writable Fields"
msgstr "Polja za upis"
#: addressbook/gui/contact-editor/e-contact-editor.c:291
-#, fuzzy
msgid "Required Fields"
-msgstr "_Obavezne ljude"
+msgstr "_Obavezna polja"
#: addressbook/gui/contact-editor/e-contact-editor.c:305
msgid "Changed"
@@ -2642,9 +2580,8 @@ msgid "_List name:"
msgstr "Ime _liste:"
#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:11
-#, fuzzy
msgid "_Select"
-msgstr "Odaberi"
+msgstr "_Izaberi"
#: addressbook/gui/contact-list-editor/contact-list-editor.glade.h:12
msgid "_Type an email address or drag a contact into the list below:"
@@ -2664,14 +2601,12 @@ msgid "Is New List"
msgstr "Je nova lista"
#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:707
-#, fuzzy
msgid "_Members"
-msgstr "ÄŒlanovi"
+msgstr "_ÄŒlanovi"
#: addressbook/gui/contact-list-editor/e-contact-list-editor.c:710
-#, fuzzy
msgid "Contact List Members"
-msgstr "IspiÅ¡i Älanove"
+msgstr "ÄŒlanovi konkakt liste"
#: addressbook/gui/merging/eab-contact-commit-duplicate-detected.glade.h:1
msgid "Changed Contact:"
@@ -3060,7 +2995,6 @@ msgid "Column Width"
msgstr "Å irina kolone"
#: addressbook/gui/widgets/e-minicard-view.c:171
-#, fuzzy
msgid ""
"\n"
"\n"
@@ -3070,9 +3004,9 @@ msgid ""
msgstr ""
"\n"
"\n"
-"Nema stavki za prikazivanje.\n"
+"Potražite kontakt\n"
"\n"
-"Kliknite dvaput da napravite nov kontakt."
+"ili kliknite dvaput ovde za pravljenje novog kontakta."
#: addressbook/gui/widgets/e-minicard-view.c:174
msgid ""
@@ -3089,12 +3023,14 @@ msgstr ""
"Kliknite dvaput da napravite nov kontakt."
#: addressbook/gui/widgets/e-minicard-view.c:179
-#, fuzzy
msgid ""
"\n"
"\n"
"Search for the Contact."
-msgstr "Pretraga za kontaktima..."
+msgstr ""
+"\n"
+"\n"
+"Pretraga za kontaktima."
#: addressbook/gui/widgets/e-minicard-view.c:181
msgid ""
@@ -3279,6 +3215,9 @@ msgid ""
"marked for offline usage or not yet downloaded for offline usage. Please "
"load the addressbook once in online mode to download its contents"
msgstr ""
+"Nismo u mogućnosti da otvorimo ovaj adresar. To ili znaÄi da on nije oznaÄen "
+"za korišćenje van mreže ili da joÅ¡ nije preuzet za rad van mreže. UÄitajte "
+"ovaj adresar kada se povežete radi preutimanja sadržaja"
#: addressbook/gui/widgets/eab-gui-util.c:98
msgid ""
@@ -3377,7 +3316,7 @@ msgid "Error removing contact"
msgstr "Greška kod uklanjanja kontakta"
#: addressbook/gui/widgets/eab-gui-util.c:282
-#, fuzzy, c-format
+#, c-format
msgid ""
"Opening %d contact will open %d new window as well.\n"
"Do you really want to display this contact?"
@@ -3385,20 +3324,14 @@ msgid_plural ""
"Opening %d contacts will open %d new windows as well.\n"
"Do you really want to display all of these contacts?"
msgstr[0] ""
-"Otvaranje %d kontakta će otvoriti i %d novih prozora.\n"
-"Da li stvarno želite da pogledate ovaj kontakt?Otvaranje %d kontakata će "
-"otvoriti i %d novih prozora.\n"
-"Da li stvarno želite da pogledate sve ove kontakte?"
+"Otvaranje %d kontakta će otvoriti i %d nov prozor.\n"
+"Da li stvarno želite da pogledate ove kontakte?"
msgstr[1] ""
-"Otvaranje %d kontakta će otvoriti i %d novih prozora.\n"
-"Da li stvarno želite da pogledate ovaj kontakt?Otvaranje %d kontakata će "
-"otvoriti i %d novih prozora.\n"
-"Da li stvarno želite da pogledate sve ove kontakte?"
+"Otvaranje %d kontakta će otvoriti i %d nova prozora.\n"
+"Da li stvarno želite da pogledate ove kontakte?"
msgstr[2] ""
"Otvaranje %d kontakta će otvoriti i %d novih prozora.\n"
-"Da li stvarno želite da pogledate ovaj kontakt?Otvaranje %d kontakata će "
-"otvoriti i %d novih prozora.\n"
-"Da li stvarno želite da pogledate sve ove kontakte?"
+"Da li stvarno želite da pogledate ove kontakte?"
#: addressbook/gui/widgets/eab-gui-util.c:311
#, c-format
@@ -3489,12 +3422,12 @@ msgid "Merge E-Mail Address"
msgstr "Spoji elektronske adrese"
#: addressbook/gui/widgets/eab-vcard-control.c:139
-#, fuzzy, c-format
+#, c-format
msgid "There is one other contact."
msgid_plural "There are %d other contacts."
-msgstr[0] "i još jedan kontakt."
-msgstr[1] "i još %d kontakta."
-msgstr[2] "i još %d kontakata."
+msgstr[0] "Postoji još %d kontakt."
+msgstr[1] "Postoji još %d kontakta."
+msgstr[2] "Postoji još %d kontakata."
#: addressbook/gui/widgets/eab-vcard-control.c:223
#: addressbook/gui/widgets/eab-vcard-control.c:272
@@ -3772,17 +3705,14 @@ msgid "[vcard|csv]"
msgstr "[vcard|csv]"
#: addressbook/tools/evolution-addressbook-export.c:61
-#, fuzzy
msgid "Export in asynchronous mode"
msgstr "Izvezi u asinhronom režimu"
#: addressbook/tools/evolution-addressbook-export.c:63
-#, fuzzy
msgid ""
"The number of cards in one output file in asychronous mode, default size 100."
msgstr ""
-"Broj karti u jednoj izlaznoj datoteci u asinhronom režimu, podrazumevano je "
-"100."
+"Broj karti u jednoj izlaznoj datoteci u asinhronom režimu, podrazumevano 100."
#: addressbook/tools/evolution-addressbook-export.c:63
msgid "NUMBER"
@@ -3804,12 +3734,10 @@ msgid "In async mode, output must be file."
msgstr "U asinhronom režimu, izlaz mora biti datoteka."
#: addressbook/tools/evolution-addressbook-export.c:122
-#, fuzzy
msgid "In normal mode, there is no need for the size option."
msgstr "U normalnom režimu, nema potrebe za podeÅ¡avanjem veliÄine."
#: addressbook/tools/evolution-addressbook-export.c:153
-#, fuzzy
msgid "Unhandled error"
msgstr "Nepoznata greška"
@@ -4111,41 +4039,37 @@ msgstr "Vaši kalendari neće biti dostupni dok se Evolucija ponovo ne pokrene."
#. calendar:prompt-delete-calendar primary
#: calendar/calendar-errors.xml.h:116
-#, fuzzy
msgid "Delete calendar '{0}'?"
-msgstr "Obrisati \"{0}\"?"
+msgstr "Obrisati kalendar \"{0}\"?"
#. calendar:prompt-delete-calendar secondary
#: calendar/calendar-errors.xml.h:118
msgid "This calendar will be removed permanently."
-msgstr ""
+msgstr "Ovaj kalendar će biti trajno uklonjen."
#. calendar:prompt-delete-task-list primary
#: calendar/calendar-errors.xml.h:120
-#, fuzzy
msgid "Delete task list '{0}'?"
-msgstr "Obriši ovu listu"
+msgstr "Obrisati spisak zaduženja '{0}'?"
#. calendar:prompt-delete-task-list secondary
#: calendar/calendar-errors.xml.h:122
msgid "This task list will be removed permanently."
-msgstr ""
+msgstr "Ovaj spisak zaduženja će biti trajno uklonjen."
#. calendar:prompt-send-no-subject-calendar primary
#: calendar/calendar-errors.xml.h:124
-#, fuzzy
msgid "Are you sure you want to send the appointment without a summary?"
-msgstr "Sigurno želite da pošaljete poruku bez naslova?"
+msgstr "Sigurno želite da pošaljete sastanak bez pregleda?"
#. calendar:prompt-send-no-subject-calendar secondary
#: calendar/calendar-errors.xml.h:126
-#, fuzzy
msgid ""
"Adding a meaningful Summary to your appointment will give your recipients an "
"idea of what your appointment is about."
msgstr ""
-"Ubacivanjem smislenog naslova u vaÅ¡e poruke daćete primaocima do znanja o Äemu "
-"je reÄ u njoj."
+"Ubacivanjem smislenog pregleda u vaš sastanak daćete primaocima do znanja u "
+"vezi Äega je sastanak."
#: calendar/calendar-errors.xml.h:127 calendar/calendar-errors.xml.h:132
#: mail/mail-errors.xml.h:15 mail/mail-errors.xml.h:20
@@ -4155,46 +4079,42 @@ msgstr "_Pošalji"
#. calendar:prompt-send-no-subject-task primary
#: calendar/calendar-errors.xml.h:129
-#, fuzzy
msgid "Are you sure you want to send the task without a summary?"
-msgstr "Sigurno želite da pošaljete poruku bez naslova?"
+msgstr "Sigurno želite da pošaljete zaduženje bez pregleda?"
#. calendar:prompt-send-no-subject-task secondary
#: calendar/calendar-errors.xml.h:131
-#, fuzzy
msgid ""
"Adding a meaningful Summary to your task will give your recipients an idea "
"of what your task is about."
msgstr ""
-"Ubacivanjem smislenog naslova u vaÅ¡e poruke daćete primaocima do znanja o Äemu "
-"je reÄ u njoj."
+"Ubacivanjem smislenog pregleda u vaše zaduženje daćete primaocima do znanja šta "
+"je zaduženje."
#. calendar:prompt-no-contents-offline-calendar primary
#: calendar/calendar-errors.xml.h:134
-#, fuzzy
msgid "Error loading calendar"
-msgstr "Greška kod otvaranja kalendara"
+msgstr "GreÅ¡ka u uÄitavanju kalendara"
#. calendar:prompt-no-contents-offline-calendar secondary
#: calendar/calendar-errors.xml.h:136
msgid "The calendar is not marked for offline usage"
-msgstr ""
+msgstr "Ovaj kalendar nije oznaÄen za korišćenje van mreže"
#. calendar:prompt-no-contents-offline-tasks primary
#: calendar/calendar-errors.xml.h:138
-#, fuzzy
msgid "Error loading task list"
-msgstr "Greška kod dodavanja liste"
+msgstr "GreÅ¡ka u uÄitavanju spiska zaduženja"
#. calendar:prompt-no-contents-offline-tasks secondary
#: calendar/calendar-errors.xml.h:140
msgid "The task list is not marked for offline usage"
-msgstr ""
+msgstr "Ovaj spisak zadu-enja nije oznaÄen za korišćenje van mreže"
#. calendar:server-version secondary
#: calendar/calendar-errors.xml.h:146
msgid " Some features may not work correctly with your current server version"
-msgstr ""
+msgstr " Na tekućoj verziji servera neke opcije možda neće ispravno raditi"
#: calendar/common/authentication.c:49 calendar/gui/e-pub-utils.c:301
#: smime/gui/component.c:48
@@ -4287,10 +4207,9 @@ msgstr "Servis za alarm obaveštenja Evolucija kalendara"
# bug: plural-forms
#: calendar/gui/alarm-notify/alarm-notify-dialog.c:79
-#, fuzzy
msgid "minute"
msgid_plural "minutes"
-msgstr[0] "minuta"
+msgstr[0] "minut"
msgstr[1] "minuta"
msgstr[2] "minuta"
@@ -4300,16 +4219,14 @@ msgid "Appointment"
msgstr "Sastanak"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:2
-#, fuzzy
msgid "Appointment Title"
-msgstr "Sastanak"
+msgstr "Naslov sastanka"
#. End time
#: calendar/gui/alarm-notify/alarm-notify.glade.h:3
#: plugins/itip-formatter/itip-view.c:876
-#, fuzzy
msgid "End time:"
-msgstr "Vreme _završetka:"
+msgstr "Vreme završetka:"
#. Location
#: calendar/gui/alarm-notify/alarm-notify.glade.h:4
@@ -4318,16 +4235,14 @@ msgid "Location:"
msgstr "Mesto:"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:5
-#, fuzzy
msgid "Snooze _time:"
-msgstr "Vreme _dremanja (minuti):"
+msgstr "Vreme _dremanja:"
#. Start time
#: calendar/gui/alarm-notify/alarm-notify.glade.h:6
#: plugins/itip-formatter/itip-view.c:867
-#, fuzzy
msgid "Start time:"
-msgstr "_Vreme poÄetka:"
+msgstr "Vreme poÄetka:"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:7
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:50
@@ -4346,24 +4261,20 @@ msgid "_Snooze"
msgstr "Dre_maj"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:9
-#, fuzzy
msgid "description of appointment"
-msgstr "poÄetak sastanka"
+msgstr "opis sastanka"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:10
-#, fuzzy
msgid "end-time"
-msgstr "Vreme _završetka:"
+msgstr "vreme-završetka"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:11
-#, fuzzy
msgid "location"
-msgstr "Mesto"
+msgstr "mesto"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:13
-#, fuzzy
msgid "start-time"
-msgstr "_Vreme poÄetka:"
+msgstr "vreme-poÄetka"
#: calendar/gui/alarm-notify/alarm-queue.c:877
msgid "Dismiss"
@@ -4374,9 +4285,8 @@ msgid "Dismiss All"
msgstr "Odbaci sve"
#: calendar/gui/alarm-notify/alarm-queue.c:960
-#, fuzzy
msgid "No summary available."
-msgstr "Nema opisa."
+msgstr "Nema dostupnog opisa."
#: calendar/gui/alarm-notify/alarm-queue.c:969
#: calendar/gui/alarm-notify/alarm-queue.c:971
@@ -4384,9 +4294,8 @@ msgid "No description available."
msgstr "Nema opisa."
#: calendar/gui/alarm-notify/alarm-queue.c:979
-#, fuzzy
msgid "No location information available."
-msgstr "Nema opisa."
+msgstr "Nema dostupnog podatka o lokaciji."
#: calendar/gui/alarm-notify/alarm-queue.c:995
#, c-format
@@ -4452,204 +4361,191 @@ msgid "invalid time"
msgstr "pogrešno vreme"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:1
-#, fuzzy
msgid "Alarm programs"
-msgstr "Pokreni program"
+msgstr "Programi za alarm"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:2
-#, fuzzy
msgid "Ask for confirmation when deleting items"
-msgstr "_Traži potvrdu za brisanje podataka"
+msgstr "Traži potvrdu za brisanje predmeta"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:3
-#, fuzzy
msgid "Background color of tasks that are due today, in \"#rrggbb\" format."
-msgstr "Boja zaduženja za danas"
+msgstr "Boja pozadine zaduženja za danas, u formatu \"#rrggbb\"."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:4
-#, fuzzy
msgid "Background color of tasks that are overdue, in \"#rrggbb\" format."
-msgstr "Boja zakasnelih zaduženja"
+msgstr "Boja pozadine zakasnelih zaduženja, u formatu \"#rrggbb\"."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:5
msgid "Calendars to run alarms for"
msgstr "Kalendari za koje se pokreće alarm"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:6
-#, fuzzy
msgid "Compress weekends in month view"
-msgstr "_Skupi nedelje u meseÄni prikaz"
+msgstr "Skupi nedelje u meseÄni prikaz"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:7
-#, fuzzy
msgid "Confirm expunge"
-msgstr "_Potvrdi kada prazniš direktorijum"
+msgstr "Potvrdi pražnjenje"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:8
msgid "Days on which the start and end of work hours should be indicated."
-msgstr ""
+msgstr "Potrebno je oznaÄiti dane kojima poÄinju i zavrÅ¡avaju se radni sati."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:9
-#, fuzzy
msgid "Default appointment reminder"
-msgstr "Obriši sastanak"
+msgstr "Podrazumevani podsetnik za sastanak"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:10
-#, fuzzy
msgid "Default reminder units"
-msgstr "Podrazumevana Å¡irina prozora"
+msgstr "Podrazumevane jedinice podsetnika"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:11
-#, fuzzy
msgid "Default reminder value"
-msgstr "Podrazumevani kalendar za server"
+msgstr "Podrazumevana vrednost podsetnika"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:12
-#, fuzzy
msgid "Free/busy server urls"
-msgstr "Slobodno/zauzeto zahtev"
+msgstr "Adrese (url) servera slobodno/zauzeto"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:13
-#, fuzzy
msgid "Free/busy template url"
-msgstr "Slobodno/zauzeto odgovor"
+msgstr "Model adresa slobodno/zauzeto"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:14
-#, fuzzy
msgid "Hide completed tasks"
-msgstr "_Sakrij ispunjena zaduženja posle"
+msgstr "Sakrij ispunjena zaduženja"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:15
-#, fuzzy
msgid "Hide task units"
-msgstr "Novi spisak zaduženja"
+msgstr "Sakrij jedinice zaduženja"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:16
msgid "Hide task value"
-msgstr ""
+msgstr "Sakrij vrednost zaduženja"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:17
-#, fuzzy
msgid "Horizontal pane position"
-msgstr "Geografski položaj"
+msgstr "Horizontalni položaj panela"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:18
msgid "Hour the workday ends on, in twenty four hour format, 0 to 23."
msgstr ""
+"Sat kojim se zavrÅ¡ava radna nedelja, u dvadesetÄetvoroÄasovnom formatu, od 0 "
+"do 23."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:19
msgid "Hour the workday starts on, in twenty four hour format, 0 to 23."
msgstr ""
+"Sat kojim poÄinje radna nedelja, u dvadesetÄetvoroÄasovnom formatu, od 0 do 23."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:20
msgid "Last alarm time"
-msgstr ""
+msgstr "Poslednje vreme za alarm"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:21
-#, fuzzy
msgid "List of server urls for free/busy publishing."
-msgstr "Spisak adresa (url) za objavljivanje slobodan/zauzet"
+msgstr "Spisak adresa (url) servera za objavljivanje slobodno/zauzeto."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:22
-#, fuzzy
msgid "Minute the workday ends on, 0 to 59"
-msgstr "Minut kojim se završava radni dan"
+msgstr "Minut kojim se završava radni dan, od 0 do 59"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:23
-#, fuzzy
msgid "Minute the workday starts on, 0 to 59."
-msgstr "Minut kojim poÄinje radni dan"
+msgstr "Minut kojim poÄinje radni dan, od 0 do 59."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:24
-#, fuzzy
msgid "Month view horizontal pane position"
-msgstr "Položaj vodoravnog panela"
+msgstr "Položaj vodoravnog panela meseÄnog prikaza"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:25
-#, fuzzy
msgid "Month view vertical pane position"
-msgstr "Položaj uspravnog panela u glavnom pregledu"
+msgstr "Položaj vertikalnog panela meseÄnog prikaza"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:26
-#, fuzzy
msgid "Number of units for determining for a default reminder."
-msgstr "Broj jedinica za predefinisani podsetnik"
+msgstr "Broj jedinica za podrazumevani podsetnik."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:27
-#, fuzzy
msgid "Number of units for determining when to hide tasks."
-msgstr "Broj jedinica za određivanje kada sakriti zaduženja"
+msgstr "Broj jedinica za određivanje kada sakriti zaduženja."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:28
-#, fuzzy
msgid "Overdue tasks color"
-msgstr "_Neispunjena zaduženja:"
+msgstr "Boja neispunjenih zaduženja"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:29
msgid ""
"Position of the horizontal pane, between the date navigator calendar and the "
"task list when not in the month view, in pixels."
msgstr ""
+"Pozicija horizontalnog panela, između kalendarovog navigatora za datum i "
+"spiska zaduženja kada nije postavljen meseÄni prikaz, u pikselima."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:30
msgid ""
"Position of the horizontal pane, between the view and the date navigator "
"calendar and task list in the month view, in pixels."
msgstr ""
+"Pozicija horizontalnog panela, između prikaza i kalendarovog navigatora "
+"datuma i spiska zaduženja u meseÄnom prikazu, u pikselima."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:31
-#, fuzzy
msgid ""
"Position of the vertical pane, between task list and the task preview pane, "
"in pixels."
-msgstr "Položaj uspravnog panela u pregledu zaduženja"
+msgstr ""
+"Položaj vertikalnog panela, između spiska zaduženja i panela za pregled "
+"zaduženja, u pikselima."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:32
msgid ""
"Position of the vertical pane, between the view and the date navigator "
"calendar and task list in the month view, in pixels."
msgstr ""
+"Pozicija vertikalnog panela, između prikaza i kalendarovog navigatoradatuma "
+"i spiska zaduženja u meseÄnom prikazu, u pikselima."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:33
msgid ""
"Position of the vertical pane, between the view and the date navigator "
"calendar and task list when not in the month view, in pixels."
msgstr ""
+"Pozicija vertikalnog panela, između prikaza i kalendarovog navigatora "
+"kalendara i spiska zaduženja kada nije postavljen meseÄni prikaz, u pikselima."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:34
-#, fuzzy
msgid "Programs that are allowed to be run by alarms."
-msgstr "Programi koji mogu da se pokrenu kao deo alarma"
+msgstr "Programi koji mogu biti pokrenuti alarmima."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:35
-#, fuzzy
msgid "Show appointment end times in week and month views"
-msgstr "_Pokaži vremena zavrÅ¡etka sastanaka u nedeljnim i meseÄnim prikazima"
+msgstr "Prikazuje vremena zavrÅ¡etka sastanaka u nedeljnim i meseÄnim prikazima"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:36
msgid "Show display alarms in notification tray"
-msgstr ""
+msgstr "Prikazuje alarme u obaveštajnoj zoni"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:37
-#, fuzzy
msgid "Show week numbers in date navigator"
-msgstr "Pokaži _brojeve nedelja u navigatoru za datume"
+msgstr "Prikazuje brojeve nedelja u navigatoru za datume"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:38
-#, fuzzy
msgid "Tasks due today color"
-msgstr "Z_aduženja za danas:"
+msgstr "Boja zaduženja za danas"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:39
-#, fuzzy
msgid "Tasks vertical pane position"
-msgstr "Geografski položaj"
+msgstr "Položaj vertikalnog panela zaduženja"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:40
msgid ""
"The default timezone to use for dates and times in the calendar, as an "
"untranslated Olsen timezone database location like \"America/New York\"."
msgstr ""
+"Podrazumevana vremenska zona koju kalendar koristi za datume i vremena, "
+"kaoneprevedeno mesto baze vremenske zone Olsen kao \"Amerika/Njujork\"."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:42
#, no-c-format
@@ -4657,119 +4553,111 @@ msgid ""
"The url template to use as a free/busy data fallback, %u is replaced by the "
"user part of the mail address and %d is replaced by the domain."
msgstr ""
+"Model adrese (url) za korišćenje u povraćaju podataka slobodno/zauzeto, %u se "
+"zamenjuje korisniÄkim delom elektronske adrese a %d domenom."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:43
-#, fuzzy
msgid ""
"Time divisions</short> <short>Intervals shown in Day and Work Week views, in "
"minutes."
-msgstr "Intervali prikazani u pregledima dana i radne nedelje"
+msgstr ""
+"Podele vremena</short> <short>Intervali prikazani u dnevnim i nedeljnim "
+"pregledima, u minutima."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:44
-#, fuzzy
msgid "Time the last alarm ran, in time_t."
-msgstr "Vreme poslednjeg pokretanja alarma"
+msgstr "Vreme poslednjeg pokretanja alarma, u vremenu_t."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:45
-#, fuzzy
msgid "Timezone"
msgstr "Vremenska zona"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:46
msgid "Twenty four hour time format"
-msgstr ""
+msgstr "DavadesetÄetvoroÄasovni format vremena"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:47
msgid "Units for a default reminder, \"minutes\", \"hours\" or \"days\"."
msgstr ""
+"Jedinice za podrazumevani podsetnik, \"minuti\", \"sati\" ili \"dani\"."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:48
-#, fuzzy
msgid ""
"Units for determining when to hide tasks, \"minutes\", \"hours\" or \"days\"."
-msgstr "Jedinice za određivanje kada sakriti zaduženja"
+msgstr ""
+"Jedinice za određivanje kada sakriti zaduženja, \"minuti\", \"sati\", ili "
+"\"dani\"."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:50
-#, fuzzy
msgid "Week start"
-msgstr "PoÄetak n_edelje:"
+msgstr "PoÄetak nedelje"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:51
-#, fuzzy
msgid "Weekday the week starts on, from Sunday (0) to Saturday (6)."
-msgstr "Dan kojim poÄinje nedelja"
+msgstr "Dan kojim poÄinje nedelja, od nedelje (0) do subote (6)."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:52
-#, fuzzy
msgid "Whether or not to use the notification tray for display alarms."
-msgstr "Da li da koristi obaveštajnu zonu za prikazivanje alarma"
+msgstr "Da li da koristi obaveštajnu zonu za prikazivanje alarma."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:53
-#, fuzzy
msgid "Whether to ask for confirmation when deleting an appointment or task."
-msgstr "Da li da traži potvrdu brisanja sastanaka"
+msgstr "Da li da traži potvrdu brisanja sastanaka ili zaduženja."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:54
-#, fuzzy
msgid "Whether to ask for confirmation when expunging appointments and tasks."
-msgstr "Da li da traži potvrdu brisanja sastanaka"
+msgstr "Da li da traži potvrdu brisanja sastanaka i zaduženja."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:55
msgid ""
"Whether to compress weekends in the month view, which puts Saturday and "
"Sunday in the space of one weekday."
msgstr ""
+"Da li da sabije vikende u meseÄnom prikazu, koji subotu i nedelju stavlja u "
+"prostor radnog dana."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:56
-#, fuzzy
msgid "Whether to display the end time of events in the week and month views."
-msgstr "_Pokaži vremena zavrÅ¡etka sastanaka u nedeljnim i meseÄnim prikazima"
+msgstr ""
+"Da li da prikaže vremena zavrÅ¡etka sastanaka u nedeljnim i meseÄnim prikazima."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:57
-#, fuzzy
msgid "Whether to hide completed tasks in the tasks view."
-msgstr "Da li da sakrije urađena zaduženja"
+msgstr "Da li da sakrije obavljena zaduženja u pregledu zaduženja."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:58
-#, fuzzy
msgid "Whether to set a default reminder for appointments."
-msgstr "Da li da postavi predefinisani podsetnik za događaje"
+msgstr "Da li da postavi podrazumevani podsetnik za sastanke."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:59
-#, fuzzy
msgid ""
"Whether to show times in twenty four hour format instead of using am/pm."
-msgstr "Da li da prikaže vreme u 24Ä obliku umesto am/pm"
+msgstr ""
+"Da li da prikaže vreme u dvadesetoÄasovnom obliku umesto korišćenja am/pm."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:60
-#, fuzzy
msgid "Whether to show week numbers in the date navigator."
-msgstr "Da li da prikaže brojeve nedelja u izbiraÄu datuma"
+msgstr "Da li da prikaže brojeve nedelja u navigatoru datuma."
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:61
-#, fuzzy
msgid "Work days"
-msgstr "Radni dani:"
+msgstr "Radni dani"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:62
-#, fuzzy
msgid "Workday end hour"
-msgstr "Čas kojim se završava radni dan"
+msgstr "Sat kojim se završava radni dan"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:63
-#, fuzzy
msgid "Workday end minute"
-msgstr "_Rad na mreži"
+msgstr "Minut kojim se završava radni dan"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:64
-#, fuzzy
msgid "Workday start hour"
-msgstr "ÄŒas kojim poÄinje radni dan"
+msgstr "Sat kojim poÄinje radni dan"
#: calendar/gui/apps_evolution_calendar.schemas.in.in.h:65
-#, fuzzy
msgid "Workday start minute"
-msgstr "ÄŒas kojim poÄinje radni dan"
+msgstr "Minut kojim poÄinje radni dan"
#: calendar/gui/cal-search-bar.c:49
msgid "Summary contains"
@@ -4857,9 +4745,8 @@ msgid "There is no calendar available for creating events and meetings"
msgstr "Nema dostupnog kalendara za pravljenje događaja i sastanaka"
#: calendar/gui/calendar-component.c:1265
-#, fuzzy
msgid "Calendar Source Selector"
-msgstr "Putanja kalendara"
+msgstr "BiraÄ izvora kalendara"
#: calendar/gui/calendar-component.c:1456
msgid "New appointment"
@@ -4942,9 +4829,8 @@ msgid "Unknown error"
msgstr "Nepoznata greška"
#: calendar/gui/dialogs/alarm-dialog.glade.h:1
-#, fuzzy
msgid "<b>Alarm</b>"
-msgstr "<b>Alarm</b>\t"
+msgstr "<b>Alarm</b>"
#: calendar/gui/dialogs/alarm-dialog.glade.h:2
msgid "<b>Options</b>"
@@ -5101,15 +4987,13 @@ msgstr "Po_stavke"
#: calendar/gui/dialogs/cal-attachment-bar.c:442
#: composer/e-msg-composer-attachment-bar.c:440
-#, fuzzy
msgid "_Add attachment..."
-msgstr "Dodaj prilog..."
+msgstr "_Dodaj prilog..."
#: calendar/gui/dialogs/cal-attachment-bar.c:699
#: composer/e-msg-composer-attachment-bar.c:703
-#, fuzzy
msgid "Attachment Bar"
-msgstr "Prilog"
+msgstr "Traka priloga"
#: calendar/gui/dialogs/cal-attachment-select-file.c:96
#: calendar/gui/dialogs/cal-attachment-select-file.c:115
@@ -5220,18 +5104,16 @@ msgid "<b>Alerts</b>"
msgstr "<b>Uzbune</b>"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:8
-#, fuzzy
msgid "<b>Default Free/Busy Server</b>"
-msgstr "<b>K_alendari za slobodno/zauzeto</b>"
+msgstr "<b>Podrazumevani server za slobodno/zauzeto</b>"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:9
msgid "<b>General</b>"
msgstr "<b>Opšte</b>"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:10
-#, fuzzy
msgid "<b>Publishing</b>"
-msgstr "<b>UÄestalost objavljivanja</b>"
+msgstr "<b>Objavljivanje</b>"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:11
msgid "<b>Task List</b>"
@@ -5250,6 +5132,7 @@ msgstr "<b>Radna nedelja</b>"
msgid ""
"<i>%u and %d will be replaced by user and domain from the email address.</i>"
msgstr ""
+"<i>%u i %d biće zamenjeni korisnikom i domenom iz elektronske adrese.</i>"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:16
msgid "Calendar and Tasks Settings"
@@ -5281,9 +5164,8 @@ msgid "E_nable"
msgstr "O_mogući"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:23
-#, fuzzy
msgid "Free/Busy"
-msgstr "S_lobodan/zauzet:"
+msgstr "S_lobodno/zauzeto"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:24
#: calendar/gui/dialogs/recurrence-page.c:1044
@@ -5338,9 +5220,8 @@ msgid "T_hu"
msgstr "U_to"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:36
-#, fuzzy
msgid "Template:"
-msgstr "Odeljenje:"
+msgstr "Model:"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:37
#: calendar/gui/dialogs/recurrence-page.c:1043
@@ -5442,16 +5323,15 @@ msgstr "pre svakog sastanka"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:61
msgid "option menu to choose reminder units"
-msgstr ""
+msgstr "meni sa opcijama za biranje jedinica podsetnika"
#: calendar/gui/dialogs/cal-prefs-dialog.glade.h:62
msgid "option menu to choose time units"
-msgstr ""
+msgstr "meni sa opcijama za biranje jedinica vremena"
#: calendar/gui/dialogs/calendar-setup.c:284
-#, fuzzy
msgid "Copy calendar contents locally for offline operation"
-msgstr "Kopiraj sadržaj direktorijuma lokalno za rad van mreže"
+msgstr "Kopira sadržaj kalendara lokalno za rad van mreže"
#: calendar/gui/dialogs/calendar-setup.c:336
#: calendar/gui/dialogs/calendar-setup.glade.h:4
@@ -5459,7 +5339,6 @@ msgid "C_olor:"
msgstr "_Boja:"
#: calendar/gui/dialogs/calendar-setup.c:373
-#, fuzzy
msgid "Tasks List"
msgstr "Spisak zaduženja"
@@ -5589,7 +5468,7 @@ msgstr "Priložena poruka - %s"
#, c-format
msgid "Attached message"
msgid_plural "%d attached messages"
-msgstr[0] "Priložena poruka"
+msgstr[0] "%d prikaÄena poruka"
msgstr[1] "%d prikaÄene poruke"
msgstr[2] "%d prikaÄenih poruka"
@@ -5637,7 +5516,7 @@ msgstr "Prikaži _traku priloga (ovde prevucite priloge)"
#: calendar/gui/dialogs/comp-editor.c:979 composer/e-msg-composer.c:3493
msgid "Attachment Button: Press space key to toggle attachment bar"
-msgstr ""
+msgstr "Dugme za priloge: pritisni razmaknicu za prikaz trake za priloge"
#: calendar/gui/dialogs/comp-editor.c:1526
#: calendar/gui/dialogs/comp-editor.c:1569
@@ -5646,9 +5525,9 @@ msgstr "Uredi sastanak"
#: calendar/gui/dialogs/comp-editor.c:1532
#: calendar/gui/dialogs/comp-editor.c:1575
-#, fuzzy, c-format
+#, c-format
msgid "Meeting - %s"
-msgstr "Sastanak"
+msgstr "Sastanak - %s"
#: calendar/gui/dialogs/comp-editor.c:1534
#: calendar/gui/dialogs/comp-editor.c:1577
@@ -5658,9 +5537,9 @@ msgstr "Sastanak - %s"
#: calendar/gui/dialogs/comp-editor.c:1538
#: calendar/gui/dialogs/comp-editor.c:1581
-#, fuzzy, c-format
+#, c-format
msgid "Assigned Task - %s"
-msgstr "_Dobijeno zaduženje"
+msgstr "Dobijeno zaduženje - %s"
#: calendar/gui/dialogs/comp-editor.c:1540
#: calendar/gui/dialogs/comp-editor.c:1583
@@ -5811,7 +5690,7 @@ msgstr "Nije moguće otvaranje kalendara '%s'."
#, c-format
msgid "%d day before appointment"
msgid_plural "%d days before appointment"
-msgstr[0] "%d dan pre sastanka"
+msgstr[0] "%d dan pre zakazanog sastanka"
msgstr[1] "%d dana pre zakazanog sastanka"
msgstr[2] "%d dana pre zakazanog sastanka"
@@ -5819,7 +5698,7 @@ msgstr[2] "%d dana pre zakazanog sastanka"
#, c-format
msgid "%d hour before appointment"
msgid_plural "%d hours before appointment"
-msgstr[0] "%d Äas pre sastanka"
+msgstr[0] "%d Äas pre zakazanog sastanka"
msgstr[1] "%d Äasa pre zakazanog sastanka"
msgstr[2] "%d Äasova pre zakazanog sastanka"
@@ -5827,7 +5706,7 @@ msgstr[2] "%d Äasova pre zakazanog sastanka"
#, c-format
msgid "%d minute before appointement"
msgid_plural "%d minutes before appointment"
-msgstr[0] "%d minut pre sastanka"
+msgstr[0] "%d minut pre zakazanog sastanka"
msgstr[1] "%d minuta pre zakazanog sastanka"
msgstr[2] "%d minuta pre zakazanog sastanka"
@@ -5855,9 +5734,8 @@ msgstr "<b>Datum i vreme</b>"
#: calendar/gui/dialogs/event-page.glade.h:7
#: calendar/gui/dialogs/task-page.glade.h:3
-#, fuzzy
msgid "<b>Send Options</b>"
-msgstr "<b>Podešavanja</b>"
+msgstr "<b>Podešavanja slanja</b>"
#: calendar/gui/dialogs/event-page.glade.h:8
msgid "A_ll day event"
@@ -5865,7 +5743,7 @@ msgstr "C_elodnevni događaj"
#: calendar/gui/dialogs/event-page.glade.h:9
msgid "Ad_vanced send options"
-msgstr ""
+msgstr "Na_predne opcije slanja"
#: calendar/gui/dialogs/event-page.glade.h:10
msgid "C_ustomize..."
@@ -5892,9 +5770,8 @@ msgid "Confidential"
msgstr "Poverljivo"
#: calendar/gui/dialogs/event-page.glade.h:15
-#, fuzzy
msgid "Event Description"
-msgstr "ažaPaIbÂ"
+msgstr "Opis događaja"
#: calendar/gui/dialogs/event-page.glade.h:16
msgid "Locat_ion:"
@@ -6055,9 +5932,8 @@ msgid "Or_ganizer:"
msgstr "Or_ganizator:"
#: calendar/gui/dialogs/meeting-page.glade.h:7
-#, fuzzy
msgid "Organizer"
-msgstr "Organizator:"
+msgstr "Organizator"
#: calendar/gui/dialogs/meeting-page.glade.h:8
#: calendar/gui/e-itip-control.glade.h:9
@@ -6232,14 +6108,12 @@ msgid "Completed date is wrong"
msgstr "Datum završetka je pogrešan"
#: calendar/gui/dialogs/task-details-page.c:522
-#, fuzzy
msgid "Web Page"
-msgstr "Web stranica:"
+msgstr "Web strana"
#: calendar/gui/dialogs/task-details-page.glade.h:1
-#, fuzzy
msgid "<span weight=\"bold\">Miscellaneous</span>"
-msgstr "<span weight=\"bold\">Razno\t</span>"
+msgstr "<span weight=\"bold\">Razno</span>"
#: calendar/gui/dialogs/task-details-page.glade.h:2
msgid "<span weight=\"bold\">Status</span>"
@@ -6337,7 +6211,7 @@ msgstr "Nije moguće otvaranje zaduženja u '%s'."
#: calendar/gui/dialogs/task-page.glade.h:4
msgid "Ad_vanced send options"
-msgstr ""
+msgstr "Na_predne opcije slanja"
#: calendar/gui/dialogs/task-page.glade.h:9
msgid "D_escription:"
@@ -6348,9 +6222,8 @@ msgid "Sta_rt date:"
msgstr "Datum p_oÄetka:"
#: calendar/gui/dialogs/task-page.glade.h:14
-#, fuzzy
msgid "Task Description"
-msgstr "ažaPaIbÂ"
+msgstr "Opis zaduženja"
#: calendar/gui/dialogs/task-page.glade.h:15
msgid "_Due date:"
@@ -6373,9 +6246,8 @@ msgid "<b>Publishing _Location</b>"
msgstr "<b>_Mesto objavljivanja</b>"
#: calendar/gui/dialogs/url-editor-dialog.glade.h:6
-#, fuzzy
msgid "Free/Busy Publishing Settings"
-msgstr "Putanja objavljivanja stanja slobodan/zauzet"
+msgstr "Podešavanja objavljivanja slobodno/zauzeto"
#: calendar/gui/dialogs/url-editor-dialog.glade.h:7
msgid "_Daily"
@@ -6651,9 +6523,8 @@ msgid "100%"
msgstr "100%"
#: calendar/gui/e-calendar-table.c:516
-#, fuzzy
msgid "Task Table"
-msgstr "Osvežavanje zaduženja"
+msgstr "Tabela zaduženja"
#: calendar/gui/e-calendar-table.c:694 calendar/gui/e-calendar-view.c:652
msgid "Deleting selected objects"
@@ -7543,9 +7414,8 @@ msgid "Expunging"
msgstr "Izbacivanje"
#: calendar/gui/e-timezone-entry.c:133
-#, fuzzy
msgid "Timezone Button"
-msgstr "Vremenska zona"
+msgstr "Dugme za vremensku zonu"
# month name. You can change the order but don't
# change the specifiers or add anything.
@@ -7566,9 +7436,8 @@ msgid "Custom View"
msgstr "Prilagođen pregled"
#: calendar/gui/gnome-cal.c:2058
-#, fuzzy
msgid "Save Custom View"
-msgstr "SaÄuvaj prilagoÄ‘en pregled..."
+msgstr "Čuva prilagođen prikaz"
#: calendar/gui/gnome-cal.c:2063 widgets/menus/gal-view-menus.c:373
msgid "Define Views..."
@@ -8002,9 +7871,8 @@ msgid "There is no calendar available for creating tasks"
msgstr "Nijedan kalendar nije dostupan za pravljenje zaduženja"
#: calendar/gui/tasks-component.c:956
-#, fuzzy
msgid "Task Source Selector"
-msgstr "Izvori nisu izabrani."
+msgstr "BiraÄ izvora zaduženja"
#: calendar/gui/tasks-component.c:1139
msgid "New task"
@@ -9662,48 +9530,42 @@ msgstr "Pritisnite ovde za adresar."
#. * expects the reply_to fields to be initialized.
#.
#: composer/e-msg-composer-hdrs.c:584
-#, fuzzy
msgid "_Reply-To:"
-msgstr "Odgovor-za:"
+msgstr "_Odgovor:"
#.
#. * From
#.
#: composer/e-msg-composer-hdrs.c:591
-#, fuzzy
msgid "Fr_om:"
-msgstr "Od:"
+msgstr "Å _alje:"
#.
#. * Subject
#.
#: composer/e-msg-composer-hdrs.c:598
-#, fuzzy
msgid "S_ubject:"
-msgstr "Naslov:"
+msgstr "Na_slov:"
#: composer/e-msg-composer-hdrs.c:608
-#, fuzzy
msgid "_To:"
-msgstr "Za:"
+msgstr "_Prima:"
#: composer/e-msg-composer-hdrs.c:609
msgid "Enter the recipients of the message"
msgstr "Unesite primaoce poruke"
#: composer/e-msg-composer-hdrs.c:612
-#, fuzzy
msgid "_Cc:"
-msgstr "Kopija:"
+msgstr "_Kopija (Cc):"
#: composer/e-msg-composer-hdrs.c:613
msgid "Enter the addresses that will receive a carbon copy of the message"
msgstr "Unesite adrese koje će primiti kopiju (cc) poruke"
#: composer/e-msg-composer-hdrs.c:616
-#, fuzzy
msgid "_Bcc:"
-msgstr "Nevidljiva kopija:"
+msgstr "_Nevidljiva kopija (Bcc):"
#: composer/e-msg-composer-hdrs.c:617
msgid ""
@@ -9717,9 +9579,8 @@ msgstr ""
#. * Post-To
#.
#: composer/e-msg-composer-hdrs.c:624
-#, fuzzy
msgid "_Post To:"
-msgstr "Pošalji:"
+msgstr "S_lanje na:"
#: composer/e-msg-composer-hdrs.c:629
msgid "Click here to select folders to post to"
@@ -9762,9 +9623,8 @@ msgstr "Neimenovana poruka"
#. NB: This function is never used anymore
#: composer/e-msg-composer.c:1604
-#, fuzzy
msgid "Open File"
-msgstr "Otvori datoteku"
+msgstr "Otvara datoteku"
#: composer/e-msg-composer.c:2001 mail/em-account-editor.c:588
#: mail/em-account-editor.c:633 mail/em-account-editor.c:700
@@ -9772,9 +9632,8 @@ msgid "Autogenerated"
msgstr "Autogenerisan"
#: composer/e-msg-composer.c:2100
-#, fuzzy
msgid "Si_gnature:"
-msgstr "Potpis:"
+msgstr "Potp_is:"
#: composer/e-msg-composer.c:2359 composer/e-msg-composer.c:3360
#: composer/e-msg-composer.c:3361
@@ -9896,14 +9755,12 @@ msgstr ""
"da nastavite poruku kasnije."
#: composer/mail-composer-errors.xml.h:33
-#, fuzzy
msgid "_Discard Changes"
-msgstr "Zanemari promene"
+msgstr "_Zanemari promene"
#: composer/mail-composer-errors.xml.h:34
-#, fuzzy
msgid "_Save Message"
-msgstr "SaÄuvaj poruku"
+msgstr "SaÄ_uvaj poruku"
#. mail-composer:no-build-message primary
#: composer/mail-composer-errors.xml.h:36
@@ -10206,9 +10063,8 @@ msgid "%I %p"
msgstr "%I %p"
#: e-util/eggtrayicon.c:119
-#, fuzzy
msgid "The orientation of the tray."
-msgstr "Opis priloga."
+msgstr "Orijentacija zone."
#: filter/filter-datespec.c:73
#, c-format
@@ -10368,9 +10224,8 @@ msgid "Test"
msgstr "Proba"
#: filter/filter-rule.c:790
-#, fuzzy
msgid "_Rule name:"
-msgstr "Ime pravila:"
+msgstr "_Ime pravila:"
#: filter/filter-rule.c:818
msgid "<b>If</b>"
@@ -10422,7 +10277,7 @@ msgstr "Uporedi sa"
#: filter/filter.glade.h:4
msgid "Show filters for mail:"
-msgstr ""
+msgstr "Prikaži filtere za poštu:"
#: filter/filter.glade.h:5
msgid ""
@@ -10813,9 +10668,8 @@ msgid "Mailing list"
msgstr "Dopisno društvo"
#: mail/em-filter-i18n.h:39
-#, fuzzy
msgid "Match All"
-msgstr "Rezerviši sve"
+msgstr "Uporedi sve"
#: mail/em-filter-i18n.h:40
msgid "Message Body"
@@ -10930,9 +10784,8 @@ msgid "<b>Then</b>"
msgstr "<b>Onda</b>"
#: mail/em-folder-browser.c:133
-#, fuzzy
msgid "Create _vFolder From Search..."
-msgstr "Napravi _Virtuelni direktorijum iz pretrage..."
+msgstr "Napravi _vDirektorijum iz pretrage..."
# bug: no need for plural-forms here, since text is in front of number
#. TODO: can this be done in a loop?
@@ -11009,9 +10862,8 @@ msgid "Loading..."
msgstr "UÄitavanje..."
#: mail/em-folder-tree.c:688
-#, fuzzy
msgid "Mail Folder Tree"
-msgstr "_Direktorijum za poštu"
+msgstr "Stablo direktorijuma za poštu"
#: mail/em-folder-tree.c:921
#, c-format
@@ -11051,9 +10903,9 @@ msgid "Scanning folders in \"%s\""
msgstr "Pretraga direktorijuma u \"%s\""
#: mail/em-folder-tree.c:2023
-#, fuzzy, c-format
+#, c-format
msgid "Copying `%s' to `%s'"
-msgstr "Kopiranje poruka u %s"
+msgstr "Kopiranje `%s' u `%s'"
#: mail/em-folder-tree.c:2297 mail/em-folder-tree.c:2311
#: mail/em-folder-view.c:862 mail/em-folder-view.c:877
@@ -11087,9 +10939,8 @@ msgid "Rename Folder"
msgstr "Preimenuj direktorijum"
#: mail/em-folder-tree.c:2728
-#, fuzzy
msgid "Folder names cannot contain '/'"
-msgstr "Ime direktorijuma ne može da sadrži znak \"/\"."
+msgstr "Imena direktorijuma ne mogu da sadrže '/'"
#: mail/em-folder-tree.c:2802 ui/evolution-addressbook.xml.h:44
#: ui/evolution-mail-global.xml.h:17 ui/evolution-mail-messagedisplay.xml.h:8
@@ -11169,9 +11020,8 @@ msgid "Mark as _Not Junk"
msgstr "OznaÄi da _nije Ä‘ubre"
#: mail/em-folder-view.c:990
-#, fuzzy
msgid "Mark for Follo_w Up..."
-msgstr "Pr_ati..."
+msgstr "Obeleži za _praćenje..."
#: mail/em-folder-view.c:998
msgid "Fla_g Completed"
@@ -11186,24 +11036,20 @@ msgid "Crea_te Rule From Message"
msgstr "Na_pravi pravilo od poruke"
#: mail/em-folder-view.c:1003
-#, fuzzy
msgid "vFolder on _Subject"
-msgstr "VDirektorijum na _Naslov"
+msgstr "vDirektorijum na _naslov"
#: mail/em-folder-view.c:1004
-#, fuzzy
msgid "vFolder on Se_nder"
-msgstr "VDirektorijum na P_ošiljaoca"
+msgstr "vDirektorijum na p_ošiljaoca"
#: mail/em-folder-view.c:1005
-#, fuzzy
msgid "vFolder on _Recipients"
-msgstr "VDirektorijum na _Primaoce"
+msgstr "vDirektorijum na _primaoce"
#: mail/em-folder-view.c:1006
-#, fuzzy
msgid "vFolder on Mailing _List"
-msgstr "VDirektorijum na dopisnu _listu"
+msgstr "vDirektorijum na dopisnu _listu"
#: mail/em-folder-view.c:1010
msgid "Filter on Sub_ject"
@@ -11235,19 +11081,16 @@ msgid "_Copy Link Location"
msgstr "_Kopiraj putanju veze"
#: mail/em-folder-view.c:2297
-#, fuzzy
msgid "Create _vFolder"
-msgstr "Napravi direktorijum"
+msgstr "Napravi _vDirektorijum"
#: mail/em-folder-view.c:2298
-#, fuzzy
msgid "_From this Address"
-msgstr "Kućna adresa"
+msgstr "_Sa ove adrese"
#: mail/em-folder-view.c:2299
-#, fuzzy
msgid "_To this Address"
-msgstr "Druga adresa"
+msgstr "_na ovu adresu"
#: mail/em-folder-view.c:2568
#, c-format
@@ -11385,9 +11228,8 @@ msgid "_Hide"
msgstr "_Sakrij"
#: mail/em-format-html-display.c:1340
-#, fuzzy
msgid "Attachment Button"
-msgstr "Prilog"
+msgstr "Dugme za prilog"
#: mail/em-format-html-print.c:130
#, c-format
@@ -11624,9 +11466,8 @@ msgid "_Open Link in Browser"
msgstr "_Otvori vezu u ÄitaÄu"
#: mail/em-popup.c:550
-#, fuzzy
msgid "_Send New Message To..."
-msgstr "Pošalji _poruku..."
+msgstr "_Pošalji poruku za..."
#: mail/em-popup.c:551
msgid "_Add to Addressbook"
@@ -11685,14 +11526,12 @@ msgid "Messages from %s"
msgstr "Poruke od %s"
#: mail/em-vfolder-editor.c:104
-#, fuzzy
msgid "v_Folders"
-msgstr "vDirektorijumi"
+msgstr "v_Direktorijumi"
#: mail/em-vfolder-rule.c:574
-#, fuzzy
msgid "vFolder source"
-msgstr "VDirektorijum izvor"
+msgstr "vDirektorijum izvor"
#: mail/evolution-mail.schemas.in.in.h:1
msgid "Automatic link recognition"
@@ -11803,6 +11642,8 @@ msgid ""
"If a user tries to open 10 or more messages at one time, ask the user if "
"they really want to do it."
msgstr ""
+"Ukoliko korisnik pokuša da otvori 10 ili više poruka odjednom, pita ga da li "
+"zaista želi to da uradi."
#: mail/evolution-mail.schemas.in.in.h:28
msgid ""
@@ -11954,9 +11795,8 @@ msgid "Prompt when user only fills Bcc"
msgstr "Pita kada korisnik unese samo nevidljivu kopiju (Bcc)"
#: mail/evolution-mail.schemas.in.in.h:60
-#, fuzzy
msgid "Prompt when user tries to open 10 or more messages at once"
-msgstr "Pita korisnika kada pokuša da pošalje poruku bez primalaca."
+msgstr "Pita korisnika kada pokuša da otvori 10 ili više poruka odjednom"
#: mail/evolution-mail.schemas.in.in.h:61
msgid ""
@@ -12090,12 +11930,10 @@ msgid "UID string of the default account."
msgstr "JIB niz glavnog naloga."
#: mail/evolution-mail.schemas.in.in.h:91
-#, fuzzy
msgid "Use Spamassassin daemon and client"
msgstr "Koristi servis i klijenta Ubice spama"
#: mail/evolution-mail.schemas.in.in.h:92
-#, fuzzy
msgid "Use Spamassassin daemon and client (spamc/spamd)"
msgstr "Koristi servis i klijenta Ubice spama (spamc/spamd)"
@@ -12483,9 +12321,8 @@ msgid " Ch_eck for Supported Types "
msgstr "_Proveri podržane tipove "
#: mail/mail-config.glade.h:4
-#, fuzzy
msgid "<b>SSL is not supported in this build of Evolution</b>"
-msgstr "<b>SSL nije podržan u ovoj verziji evolucije</b>"
+msgstr "<b>SSL nije podržan u ovoj verziji Evolucije</b>"
#: mail/mail-config.glade.h:5
msgid "<b>S_ignatures</b>"
@@ -12612,12 +12449,10 @@ msgid "Add _Script"
msgstr "Dodaj sk_riptu"
#: mail/mail-config.glade.h:37
-#, fuzzy
msgid "Al_ways sign outgoing messages when using this account"
msgstr "_Uvek potpiši odlazeće poruke sa ovog naloga"
#: mail/mail-config.glade.h:38
-#, fuzzy
msgid "Also encrypt to sel_f when sending encrypted mail"
msgstr "_Takođe šifruj na mene pri slanju šifrovane pošte"
@@ -12634,7 +12469,6 @@ msgid "Always _trust keys in my keyring when encrypting"
msgstr "Uvek _veruj kljuÄevima mog lanca pri Å¡ifrovanju"
#: mail/mail-config.glade.h:42
-#, fuzzy
msgid "Always encrypt to _myself when sending encrypted mail"
msgstr "Uv_ek šifruj na mene pri slanju šifrovane pošte"
@@ -12683,14 +12517,12 @@ msgid "Checks incoming mail messages to be Junk"
msgstr "Proveri da pristigle poruke nisu Ä‘ubre"
#: mail/mail-config.glade.h:54
-#, fuzzy
msgid "Cle_ar"
-msgstr "ažb‡aIbÂb‚aI"
+msgstr "OÄi_sti"
#: mail/mail-config.glade.h:55
-#, fuzzy
msgid "Clea_r"
-msgstr "ažb‡aIbÂb‚aI"
+msgstr "OÄis_ti"
#: mail/mail-config.glade.h:56
msgid "Color for _misspelled words:"
@@ -12729,7 +12561,6 @@ msgid "Default character e_ncoding:"
msgstr "Podrazumevano _kodiranje znakova:"
#: mail/mail-config.glade.h:69
-#, fuzzy
msgid "Digitally _sign outgoing messages (by default)"
msgstr "_Digitalno potpiši odlazeće poruke (podrazumevano)"
@@ -12762,7 +12593,6 @@ msgid "Encry_ption certificate:"
msgstr "Sertifikat za Å¡i_frovanje:"
#: mail/mail-config.glade.h:78
-#, fuzzy
msgid "Encrypt out_going messages (by default)"
msgstr "_Šifruj odlazeće poruke (podrazumevano)"
@@ -12837,6 +12667,8 @@ msgid ""
"Please enter a descriptive name for this account in the space below.\n"
"This name will be used for display purposes only."
msgstr ""
+"Unesite dole opisno ime za ovaj nalog.\n"
+"Ovo ime će biti korišćeno samo za potrebe prikaza."
#: mail/mail-config.glade.h:106
msgid ""
@@ -12884,7 +12716,6 @@ msgid "Remember _password"
msgstr "Zapa_mti lozinku"
#: mail/mail-config.glade.h:116
-#, fuzzy
msgid "S_elect..."
msgstr "Izaberi..."
@@ -12893,9 +12724,8 @@ msgid "S_tandard Font:"
msgstr "_Standardni font:"
#: mail/mail-config.glade.h:118
-#, fuzzy
msgid "Se_lect..."
-msgstr "Izaberi..."
+msgstr "Iza_beri..."
#: mail/mail-config.glade.h:120
msgid "Select HTML fixed width font"
@@ -12930,7 +12760,6 @@ msgid "Server _Type: "
msgstr "_Tip servera:"
#: mail/mail-config.glade.h:129
-#, fuzzy
msgid "Sig_ning certificate:"
msgstr "Sertifikat za _potpisivanje:"
@@ -12959,13 +12788,11 @@ msgid "T_ype: "
msgstr "_Tip:"
#: mail/mail-config.glade.h:136
-#, fuzzy
msgid ""
"The list of languages here reflects only the languages for which you have a "
"dictionary installed."
msgstr ""
-"Ova strana vam omogućava da podesite proveru pravopisa i jezik. Lista jezika "
-"ovde oslikava samo one jezike za koje imate instaliran reÄnik."
+"Lista jezika ovde oslikava samo one jezike za koje imate instaliran reÄnik."
#: mail/mail-config.glade.h:137
msgid ""
@@ -13016,7 +12843,6 @@ msgid "_Do not notify me when new mail arrives"
msgstr "_Nemoj da me obaveštavaš kada stigne nova pošta"
#: mail/mail-config.glade.h:152
-#, fuzzy
msgid "_Don't sign meeting requests (for Outlook compatibility)"
msgstr "Ne potpisuj zahteve za s_astancima (Outlook kompatibilnost)"
@@ -13073,7 +12899,6 @@ msgid "_Show animated images"
msgstr "_Pokaži animirane slike"
#: mail/mail-config.glade.h:168
-#, fuzzy
msgid "_Use Secure Connection:"
msgstr "_Koristi bezbednu vezu:"
@@ -13112,20 +12937,17 @@ msgid "<span weight=\"bold\">Encryption</span>"
msgstr "<span weight=\"bold\">Å ifrovanje</span>"
#: mail/mail-dialogs.glade.h:10
-#, fuzzy
msgid "Case _Sensitive"
-msgstr "Osetljivo na veliÄinu slova"
+msgstr "_Osetljivo na veliÄinu slova"
# timezone.
#: mail/mail-dialogs.glade.h:11 mail/message-tags.glade.h:2
-#, fuzzy
msgid "Co_mpleted"
-msgstr "Gotovo"
+msgstr "Go_tovo"
#: mail/mail-dialogs.glade.h:13
-#, fuzzy
msgid "F_ind:"
-msgstr "Nađi:"
+msgstr "N_ađi:"
#: mail/mail-dialogs.glade.h:14
msgid "Find in Message"
@@ -13165,9 +12987,8 @@ msgstr ""
"Odaberite akciju za praćenje iz menija \"Oznaka\"."
#: mail/mail-dialogs.glade.h:24
-#, fuzzy
msgid "_Accept License"
-msgstr "Prihvatam ugovor"
+msgstr "_Prihvatam licencu"
#: mail/mail-dialogs.glade.h:25 mail/message-tags.glade.h:6
msgid "_Due By:"
@@ -13182,9 +13003,8 @@ msgid "_Subscribe"
msgstr "Pri_javi se"
#: mail/mail-dialogs.glade.h:28
-#, fuzzy
msgid "_Tick this to accept the license agreement"
-msgstr "OznaÄite ovo da prihvatite ugovor o licenci"
+msgstr "Oz_naÄite ovo da prihvatite ugovor o licenci"
#: mail/mail-dialogs.glade.h:29
msgid "_Unsubscribe"
@@ -13368,19 +13188,17 @@ msgstr "Izbaci _smeće"
#. mail:ask-open-many primary
#: mail/mail-errors.xml.h:53
-#, fuzzy
msgid "Are you sure you want to open {0} messages at once?"
-msgstr "Sigurno želite da izmenite svih %d poruka?"
+msgstr "Sigurno želite da otvorite {0} poruka odjednom?"
#. mail:ask-open-many secondary
#: mail/mail-errors.xml.h:55
msgid "Opening too many messages at once may take a long time."
-msgstr ""
+msgstr "Otvaranje previše poruka odjednom može suviše da potraje."
#: mail/mail-errors.xml.h:56
-#, fuzzy
msgid "_Open Messages"
-msgstr "_Otvori poruku"
+msgstr "_Otvori poruke"
#. mail:exit-unsaved primary
#: mail/mail-errors.xml.h:58
@@ -13666,13 +13484,12 @@ msgstr "Nije moguće izmeniti vDirektorijum \"{0}\" pošto ne postoji."
#. mail:vfolder-notexist secondary
#: mail/mail-errors.xml.h:193
-#, fuzzy
msgid ""
"This folder may have been added implicitly, go to the vFolder editor to add "
"it explicitly, if required."
msgstr ""
-"Ovaj direktorijum je možda posredno dodat, idite u ureÄ‘ivaÄ virtuelnih "
-"direktorijuma i dodajte ga izriÄito, ako želite."
+"Ovaj direktorijum je možda posredno dodat, idite u ureÄ‘ivaÄ vDirektorijuma i "
+"dodajte ga izriÄito, ako želite."
#. mail:vfolder-notunique primary
#: mail/mail-errors.xml.h:195
@@ -13783,11 +13600,8 @@ msgstr "_Dopuni"
#. mail:no-load-license primary
#: mail/mail-errors.xml.h:239
-#, fuzzy
msgid "Unable to read license file."
-msgstr ""
-"Ne mogu da tražim datoteku: %s\n"
-"%s"
+msgstr "Nije moguće Äitanje datoteke licence."
#. mail:no-load-license secondary
#: mail/mail-errors.xml.h:241
@@ -13797,31 +13611,33 @@ msgid ""
"until\n"
" you can accept its license."
msgstr ""
+"Nije moguće Äitanje datoteke licence \"{0}\", zbog\n"
+" problema sa instalacijom. Nećete moći da koristite ovog pružaoca dok\n"
+" ne prihvatite licencu."
#. mail:checking-service title
#: mail/mail-errors.xml.h:245
msgid "Querying server"
-msgstr ""
+msgstr "Slanje upita serveru"
#. mail:checking-service primary
#: mail/mail-errors.xml.h:247
-#, fuzzy
msgid "Please wait."
-msgstr "SaÄekajte"
+msgstr "SaÄekajte."
#. mail:checking-service secondary
#: mail/mail-errors.xml.h:249
-#, fuzzy
msgid "Querying server for a list of supported authentication mechanisms."
-msgstr "Neophodno šifrovanje za traženi mehanizam prijave"
+msgstr "Slanje upita serveru za spisak podržanih mehanizama prijave."
#. mail:gw-accountsetup-error primary
#: mail/mail-errors.xml.h:251
-#, fuzzy
msgid ""
"Unable to connect to the GroupWise\n"
"server."
-msgstr "Neuspešno povezivanje sa LDAP serverom"
+msgstr ""
+"Neuspešno povezivanje na GroupWise\n"
+"server."
#. mail:gw-accountsetup-error secondary
#: mail/mail-errors.xml.h:254
@@ -13829,6 +13645,8 @@ msgid ""
"\n"
"Please check your account settings and try again.\n"
msgstr ""
+"\n"
+"Proverite podešavanja naloga i pokušajte ponovo.\n"
#: mail/mail-folder-cache.c:813
#, c-format
@@ -14103,9 +13921,9 @@ msgid "Invalid folder: `%s'"
msgstr "Neispravan direktorijum %s"
#: mail/mail-vfolder.c:90
-#, fuzzy, c-format
+#, c-format
msgid "Setting up vFolder: %s"
-msgstr "Podešavanje vdirektorijuma: %s"
+msgstr "Podešavanje vDirektorijuma: %s"
#: mail/mail-vfolder.c:239
#, c-format
@@ -14118,14 +13936,12 @@ msgid "Updating vFolders for '%s'"
msgstr "Osvežavanje vDirektorijuma za '%s'"
#: mail/mail-vfolder.c:1008
-#, fuzzy
msgid "Edit vFolder"
-msgstr "Uredi VDirektorijum"
+msgstr "Uređuje vDirektorijum"
#: mail/mail-vfolder.c:1092
-#, fuzzy
msgid "New vFolder"
-msgstr "_Novi direktorijum"
+msgstr "Novi vDirektorijum"
#: mail/message-list.c:994
msgid "Unseen"
@@ -14190,9 +14006,8 @@ msgid "%b %d %Y"
msgstr "%d. %b %Y"
#: mail/message-list.c:2041
-#, fuzzy
msgid "Message List"
-msgstr "Po_ruke"
+msgstr "Spisak poruka"
#: mail/message-list.c:3384
msgid "Generating message list"
@@ -14283,242 +14098,212 @@ msgid "Subject contains"
msgstr "Naslov sadrži"
#: mail/searchtypes.xml.h:6
-#, fuzzy
msgid "Subject or Sender contains"
-msgstr "Naslov sadrži"
+msgstr "Naslov ili pošiljalac sadrže"
#: plugins/backup-restore/backup-restore.c:51
msgid "Select name of Evolution archive"
-msgstr ""
+msgstr "Izaberite ime arhive Evolucije"
#: plugins/backup-restore/backup-restore.c:61
msgid "_Restart Evolution after backup"
-msgstr ""
+msgstr "_Ponovo pokreni Evoluciju nakon pravljenja rezerve"
#: plugins/backup-restore/backup-restore.c:89
msgid "Select Evolution archive to restore"
-msgstr ""
+msgstr "Odaberite arhivu Evolucije za povraćaj"
#: plugins/backup-restore/backup-restore.c:97
msgid "_Restart Evolution after restore"
-msgstr ""
+msgstr "_Ponovo pokreni Evoluciju nakon povraćaja"
#: plugins/backup-restore/backup.c:109
-#, fuzzy
msgid "Backup Evolution directory"
-msgstr "Upit Evolucije"
+msgstr "Direktorijum za rezervu Evolucije"
#: plugins/backup-restore/backup.c:111
-#, fuzzy
msgid "Restore Evolution directory"
-msgstr "Evolucija LDIF uvoznik"
+msgstr "Direktorijum za povraćaj Evolucije"
#: plugins/backup-restore/backup.c:113
-#, fuzzy
msgid "Check Evolution archive"
-msgstr "Paket programa Evolucija"
+msgstr "Proverava arhivu Evolucije"
# shell:noshell-reason title
#: plugins/backup-restore/backup.c:115
-#, fuzzy
msgid "Restart Evolution"
-msgstr "Nije moguće pokretanje Evolucije"
+msgstr "Ponovo pokreće Evoluciju"
#: plugins/backup-restore/org-gnome-backup-restore.xml.h:1
-#, fuzzy
msgid "Backup Settings..."
-msgstr "_Podešavanja..."
+msgstr "Podešavanja za rezervu..."
#: plugins/backup-restore/org-gnome-backup-restore.xml.h:2
-#, fuzzy
msgid "Backup and restore Evolution data and settings"
-msgstr "Izmeni podešavanja Evolucije"
+msgstr "Pravi rezervu i oporavlja podatke i podešavanja Evolucije"
#: plugins/backup-restore/org-gnome-backup-restore.xml.h:3
-#, fuzzy
msgid "Restore Settings..."
-msgstr "Podešavanja pilota..."
+msgstr "Oporavlja podešavanja..."
#: plugins/bbdb/bbdb.c:388
-#, fuzzy
msgid "Automatic Contacts"
-msgstr "Javni kontakti"
+msgstr "Automatski kontakti"
#: plugins/bbdb/bbdb.c:397
-#, fuzzy
msgid "<span weight=\"bold\">Automatic Contacts</span>"
-msgstr "<span weight=\"bold\">Identifikacija</span>"
+msgstr "<span weight=\"bold\">Automatski kontakti</span>"
#. Enable BBDB checkbox
#: plugins/bbdb/bbdb.c:410
msgid ""
"_Automatically create entries in the addressbook when responding to mail"
-msgstr ""
+msgstr "_Automatski napravi unose u adresar pri odgovaranju na poštu"
#: plugins/bbdb/bbdb.c:428
-#, fuzzy
msgid "<span weight=\"bold\">Instant Messaging Contacts</span>"
-msgstr "<span weight=\"bold\">Fontovi poruke</span>"
+msgstr "<span weight=\"bold\">Kontakti brzih glasnika</span>"
#. Enable Gaim Checkbox
#: plugins/bbdb/bbdb.c:441
msgid ""
"Periodically synchronize contact information and images from my _instant "
"messenger"
-msgstr ""
+msgstr "Povremeno uskladi podatke o kontaktima i slike sa mog_brzog glasnika"
#. Synchronize now button.
#: plugins/bbdb/bbdb.c:448
msgid "Synchronize with _buddy list now"
-msgstr ""
+msgstr "Uskladi sa _spiskom drugara sada"
#: plugins/calendar-weather/calendar-weather.c:54
#: plugins/calendar-weather/calendar-weather.c:60
-#, fuzzy
msgid "Weather: Cloudy"
-msgstr "a’b€aEaMaE"
+msgstr "Vreme: oblaÄno"
#: plugins/calendar-weather/calendar-weather.c:61
-#, fuzzy
msgid "Weather: Fog"
-msgstr "a’b€aEaMaE"
+msgstr "Vreme: magla"
#: plugins/calendar-weather/calendar-weather.c:62
msgid "Weather: Partly Cloudy"
-msgstr ""
+msgstr "Vreme: mestimiÄno oblaÄno"
#: plugins/calendar-weather/calendar-weather.c:63
-#, fuzzy
msgid "Weather: Rain"
-msgstr "a’b€aEaMaE"
+msgstr "Vreme: kiša"
#: plugins/calendar-weather/calendar-weather.c:64
-#, fuzzy
msgid "Weather: Snow"
-msgstr "a’b€aEaMaE"
+msgstr "Vreme: sneg"
#: plugins/calendar-weather/calendar-weather.c:65
-#, fuzzy
msgid "Weather: Sunny"
-msgstr "a’b€aEaMaE"
+msgstr "Vreme: sunÄano"
#: plugins/calendar-weather/calendar-weather.c:66
msgid "Weather: Thunderstorms"
-msgstr ""
+msgstr "Vreme: Grmljavine"
#: plugins/calendar-weather/calendar-weather.c:268
-#, fuzzy
msgid "Select a location"
-msgstr "Odaberite akciju"
+msgstr "Biranje lokacije"
#: plugins/calendar-weather/calendar-weather.c:655
-#, fuzzy
msgid "_Units:"
-msgstr "Jedinica"
+msgstr "_Jedinice:"
#: plugins/calendar-weather/calendar-weather.c:662
msgid "Metric (Celsius, cm, etc)"
-msgstr ""
+msgstr "MetriÄno (Celzijus, cm, itd.)"
#: plugins/calendar-weather/calendar-weather.c:663
msgid "Imperial (Fahrenheit, inches, etc)"
-msgstr ""
+msgstr "Imperijalno (Farenhajt, inÄi, itd.)"
#: plugins/default-source/default-source.c:82
-#, fuzzy
msgid "Mark as default folder"
-msgstr "Putanja do podrazumevanog direktorijuma pošte"
+msgstr "OznaÄava kao podrazumevani direktorijum"
#: plugins/default-source/default-source.c:108
-#, fuzzy
msgid "Mark as default folder"
-msgstr "Koristiti podrazumevani direktorijum za pripremu?"
+msgstr "OznaÄava kao podrazumevani direktorijum"
#. i18n: "Secure Password Authentication" is an Outlookism
#: plugins/exchange-account-setup/exchange-account-setup.c:59
-#, fuzzy
msgid "Secure Password"
-msgstr "Unesite lozinku"
+msgstr "Bezbedna lozinka"
#. i18n: "NTLM" probably doesn't translate
#: plugins/exchange-account-setup/exchange-account-setup.c:62
-#, fuzzy
msgid ""
"This option will connect to the Exchange server using secure password (NTLM) "
"authentication."
-msgstr "Ova opcija će povezati na server korišćenjem Kerberos 5 prijave."
+msgstr ""
+"Ova opcija će povezati na Exchange server korišćenjem prijave bezbednom "
+"lozinkom (NTLM)."
#: plugins/exchange-account-setup/exchange-account-setup.c:70
-#, fuzzy
msgid "Plaintext Password"
-msgstr "Unesite lozinku"
+msgstr "Tekstualna lozinka"
#: plugins/exchange-account-setup/exchange-account-setup.c:72
-#, fuzzy
msgid ""
"This option will connect to the Exchange server using standard plaintext "
"password authentication."
msgstr ""
-"Ova opcija će povezati na IMAP server korišćenjem lozinke u obiÄnom tekstu."
+"Ova opcija će povezati na Exchange server korišćenjem prijave tekstualne "
+"lozinke."
#. Description section
#: plugins/exchange-account-setup/exchange-account-setup.c:193
-#, fuzzy
msgid ""
"The message specified below will be automatically sent to \n"
"each person who sends mail to you while you are out of the office."
msgstr ""
-"<small>Dole odabrana poruka biće automatski poslata svakoj osobi koja vam "
-"pošalje\n"
-"poštu dok ste van kancelarije.</small>"
+"Dole izabrana poruka biće automatski poslata svakoj osobi \n"
+"koja vam pošalje poštu dok ste van kancelarije.</small>"
#: plugins/exchange-account-setup/exchange-account-setup.c:221
#: plugins/exchange-account-setup/exchange-account-setup.c:231
-#, fuzzy
msgid "I am out of the office"
-msgstr "Trenutno sam van kancelarije"
+msgstr "Van kancelarije sam"
#: plugins/exchange-account-setup/exchange-account-setup.c:224
#: plugins/exchange-account-setup/exchange-account-setup.c:228
-#, fuzzy
msgid "I am in the office"
-msgstr "Trenutno sam u kancelariji"
+msgstr "U kancelariji sam"
#: plugins/exchange-account-setup/exchange-account-setup.c:257
-#, fuzzy
msgid "Out of office Message:"
-msgstr "<b>Poruka za van kancelarije:</b>"
+msgstr "Poruka za van kancelarije:"
#: plugins/exchange-account-setup/exchange-account-setup.c:302
-#, fuzzy
msgid "Exchange Settings"
-msgstr "Podešavanja vremena"
+msgstr "Exchange podešavanja"
#: plugins/exchange-account-setup/exchange-account-setup.c:448
#: plugins/exchange-account-setup/exchange-ask-password.c:200
msgid "_OWA Url:"
-msgstr ""
+msgstr "_OWA adresa (Url):"
#: plugins/exchange-account-setup/exchange-account-setup.c:456
#: plugins/exchange-account-setup/exchange-ask-password.c:193
-#, fuzzy
msgid "A_uthenticate"
-msgstr "Neuspela prijava"
+msgstr "_Prijava"
#: plugins/exchange-account-setup/exchange-account-setup.c:664
-#, fuzzy
msgid "Authentication Type"
-msgstr "_Tip identifikacije: "
+msgstr "Tip prijave"
#: plugins/exchange-account-setup/exchange-account-setup.c:678
-#, fuzzy
msgid "Ch_eck for Supported Types"
-msgstr "_Proveri podržane tipove "
+msgstr "_Proveri podržane tipove"
#: plugins/folder-unsubscribe/folder-unsubscribe.c:57
-#, fuzzy, c-format
+#, c-format
msgid "Unsubscribing from folder \"%s\""
-msgstr "Odjavljujem pretplatu sa direktorijuma \"%s\""
+msgstr "Odjava sa direktorijuma \"%s\""
#: plugins/groupwise-account-setup/camel-gw-listener.c:413
msgid "Checklist"
@@ -14526,75 +14311,69 @@ msgstr "Popis"
#: plugins/groupwise-send-options/org-gnome-compose-send-options.xml.h:1
msgid "Add Send Options to groupwise messages"
-msgstr ""
+msgstr "Dodaj opcije slanja groupwise porukama"
#: plugins/groupwise-send-options/org-gnome-compose-send-options.xml.h:2
#: widgets/misc/e-send-options.glade.h:20
-#, fuzzy
msgid "Send Options"
-msgstr "Opcije"
+msgstr "Opcije slanja"
#: plugins/itip-formatter/itip-formatter.c:704
-#, fuzzy
msgid "Unable to parse item"
-msgstr "Nije moguće Äitanje sadržaja poruke"
+msgstr "Nije moguća obrada predmeta"
#: plugins/itip-formatter/itip-formatter.c:757
-#, fuzzy, c-format
+#, c-format
msgid "Unable to send item to calendar '%s'. %s"
-msgstr "Nije moguće otvaranje kalendara '%s'."
+msgstr "Nije moguće slanje predmeta kalendaru '%s'. %s"
#: plugins/itip-formatter/itip-formatter.c:768
#, c-format
msgid "Sent to calendar '%s' as accepted"
-msgstr ""
+msgstr "Poslato kalendaru '%s' kao prihvaćeno·"
#: plugins/itip-formatter/itip-formatter.c:772
#, c-format
msgid "Sent to calendar '%s' as tentative"
-msgstr ""
+msgstr "Poslato kalendaru '%s' kao rezervisano"
#: plugins/itip-formatter/itip-formatter.c:777
#, c-format
msgid "Sent to calendar '%s' as declined"
-msgstr ""
+msgstr "Poslato kalendaru '%s' kao odbijeno"
#: plugins/itip-formatter/itip-formatter.c:782
#, c-format
msgid "Sent to calendar '%s' as cancelled"
-msgstr ""
+msgstr "Poslato kalendaru '%s' kao poništeno"
#: plugins/itip-formatter/itip-formatter.c:833
-#, fuzzy
msgid "Attendee status could not be updated because the status is invalid"
-msgstr "Status uÄesnika nije osvežen zbog neispravnog statusa!\n"
+msgstr "Status uÄesnika nije osvežen zbog neispravnog statusa"
#: plugins/itip-formatter/itip-formatter.c:844
-#, fuzzy, c-format
+#, c-format
msgid "Unable to update attendee. %s"
-msgstr "Nije moguć prenos kalendara `%s'"
+msgstr "Nije moguće osvežavanje za uÄesnika %s"
#: plugins/itip-formatter/itip-formatter.c:848
-#, fuzzy
msgid "Attendee status updated"
-msgstr "Osvežen status uÄesnika\n"
+msgstr "Osvežen status uÄesnika"
#: plugins/itip-formatter/itip-formatter.c:973
-#, fuzzy
msgid "The calendar attached is not valid"
-msgstr "Navedena vrsta direktorijuma nije ispravna"
+msgstr "Priložen kalendar nije ispravan"
#: plugins/itip-formatter/itip-formatter.c:974
msgid ""
"The message claims to contain a calendar, but the calendar is not valid "
"iCalendar."
-msgstr ""
+msgstr "Poruka prijavljuje kalendar, ali kalendar nije ispravan iKalendar."
#: plugins/itip-formatter/itip-formatter.c:1008
#: plugins/itip-formatter/itip-formatter.c:1064
-#, fuzzy
msgid "The item in the calendar is not valid"
-msgstr "Pregled koji prikazuje kada poÄinje kalendar"
+msgstr "Predmet u kalendaru nije ispravan"
#: plugins/itip-formatter/itip-formatter.c:1009
#: plugins/itip-formatter/itip-formatter.c:1065
@@ -14602,37 +14381,39 @@ msgid ""
"The message does contain a calendar, but the calendar contains no events, "
"tasks or free/busy information"
msgstr ""
+"Poruka sadrži kalendar, ali on ne sadrži događaje, zaduženja ili slobodno/"
+"zauzeto podatke."
#: plugins/itip-formatter/itip-formatter.c:1020
msgid "The calendar attached contains multiple items"
-msgstr ""
+msgstr "Kalendar u prilogu sadrži više predmeta"
#: plugins/itip-formatter/itip-formatter.c:1021
msgid ""
"To process all of these items, the file should be saved and the calendar "
"imported"
msgstr ""
+"Radi obrade svih ovih predmeta, potrebno je datoteku saÄuvati a kalendar "
+"uvesti"
#: plugins/itip-formatter/itip-formatter.c:1658
-#, fuzzy
msgid "Meetings and Tasks"
-msgstr "Kalendar i zaduženja"
+msgstr "Sastanci i zaduženja"
#. Delete message after acting
#. FIXME Need a schema for this
#: plugins/itip-formatter/itip-formatter.c:1681
msgid "_Delete message after acting"
-msgstr ""
+msgstr "_Obriši poruku nakon akcije"
#: plugins/itip-formatter/itip-formatter.c:1691
-#, fuzzy
msgid "<span weight=\"bold\">Conflict Search</span>"
-msgstr "<span weight=\"bold\">Podešavanja</span>"
+msgstr "<span weight=\"bold\">Pretraga za preklapanjem</span>"
#. Source selector
#: plugins/itip-formatter/itip-formatter.c:1704
msgid "Select the calendars to search for meeting conflicts"
-msgstr ""
+msgstr "Bira kalendare za pretragu preklapanja u sastancima"
#. strftime format of a weekday and a date.
#: plugins/itip-formatter/itip-view.c:175 ui/evolution-calendar.xml.h:34
@@ -14643,63 +14424,56 @@ msgstr "Danas"
#. strftime format of a time,
#. in 24-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:180
-#, fuzzy
msgid "Today %H:%M"
-msgstr "Danas %l:%M %p"
+msgstr "Danas %H:%M"
#. strftime format of a time,
#. in 24-hour format.
#: plugins/itip-formatter/itip-view.c:184
-#, fuzzy
msgid "Today %H:%M:%S"
-msgstr "Danas %l:%M %p"
+msgstr "Danas %H:%M:%S"
#. strftime format of a time,
#. in 12-hour format.
#: plugins/itip-formatter/itip-view.c:193
-#, fuzzy
msgid "Today %l:%M:%S %p"
-msgstr "Danas %l:%M %p"
+msgstr "Danas %l:%M:%S %p"
#. strftime format of a weekday and a date.
#: plugins/itip-formatter/itip-view.c:203
-#, fuzzy
msgid "Tomorrow"
-msgstr "Komori"
+msgstr "Sutra"
#. strftime format of a time,
#. in 24-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:208
msgid "Tomorrow %H:%M"
-msgstr ""
+msgstr "Sutra %H:%M"
# strftime format of a time in 24-hour format.
#. strftime format of a time,
#. in 24-hour format.
#: plugins/itip-formatter/itip-view.c:212
-#, fuzzy
msgid "Tomorrow %H:%M:%S"
-msgstr "%H:%M:%S"
+msgstr "Sutra %H:%M:%S"
#. strftime format of a time,
#. in 12-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:217
-#, fuzzy
msgid "Tomorrow %l:%M %p"
-msgstr "Danas %l:%M %p"
+msgstr "Sutra %l:%M %p"
#. strftime format of a time,
#. in 12-hour format.
#: plugins/itip-formatter/itip-view.c:221
-#, fuzzy
msgid "Tomorrow %l:%M:%S %p"
-msgstr "Danas %l:%M %p"
+msgstr "Sutra %l:%M %S %p"
#. strftime format of a weekday.
#: plugins/itip-formatter/itip-view.c:240
#, c-format
msgid "%A"
-msgstr ""
+msgstr "%A"
# strftime format of a time in 24-hour format,
# without seconds.
@@ -14707,81 +14481,70 @@ msgstr ""
#. strftime format of a weekday and a
#. time, in 24-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:245
-#, fuzzy
msgid "%A %H:%M"
-msgstr "%H:%M"
+msgstr "%A·%H:%M"
# strftime format of a time in 24-hour format.
#. strftime format of a weekday and a
#. time, in 24-hour format.
#: plugins/itip-formatter/itip-view.c:249
-#, fuzzy
msgid "%A %H:%M:%S"
-msgstr "%H:%M:%S"
+msgstr "%A·%H:%M:%S"
#. strftime format of a weekday and a
#. time, in 12-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:254
-#, fuzzy
msgid "%A %l:%M %p"
-msgstr "%a %l:%M %p"
+msgstr "%A·%l:%M·%p"
# strftime format of a time in 12-hour format.
#. strftime format of a weekday and a
#. time, in 12-hour format.
#: plugins/itip-formatter/itip-view.c:258
-#, fuzzy
msgid "%A %l:%M:%S %p"
-msgstr "%I:%M:%S %p"
+msgstr "%A·%l:%M:%S·%p"
#. strftime format of a weekday and a date
#. without a year.
#: plugins/itip-formatter/itip-view.c:267
-#, fuzzy
msgid "%A, %B %e"
-msgstr "%A, %e. %B %Y."
+msgstr "%A,·%B·%e"
#. strftime format of a weekday, a date
#. without a year and a time,
#. in 24-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:273
-#, fuzzy
msgid "%A, %B %e %H:%M"
-msgstr "%A, %e. %B %Y."
+msgstr "%A,·%B·%e·%H:%M"
#. strftime format of a weekday, a date without a year
#. and a time, in 24-hour format.
#: plugins/itip-formatter/itip-view.c:277
-#, fuzzy
msgid "%A, %B %e %H:%M:%S"
-msgstr "%A, %e. %B %Y."
+msgstr "%A,·%B·%e·%H:%M:%S"
#. strftime format of a weekday, a date without a year
#. and a time, in 12-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:282
-#, fuzzy
msgid "%A, %B %e %l:%M %p"
-msgstr "%b %d %l:%M %p"
+msgstr "%A,·%B·%e·%l:%M·%p"
#. strftime format of a weekday, a date without a year
#. and a time, in 12-hour format.
#: plugins/itip-formatter/itip-view.c:286
-#, fuzzy
msgid "%A, %B %e %l:%M:%S %p"
-msgstr "%b %d %l:%M %p"
+msgstr "%A,·%B·%e·%l:%M:%S·%p"
#. strftime format of a weekday and a date.
#: plugins/itip-formatter/itip-view.c:292
-#, fuzzy
msgid "%A, %B %e, %Y"
-msgstr "%A, %e. %B %Y."
+msgstr "%A,·%B·%e,·%Y"
#. strftime format of a weekday, a date and a
#. time, in 24-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:297
-#, fuzzy
msgid "%A, %B %e, %Y %H:%M"
-msgstr "%A, %e. %B %Y."
+msgstr "%A,·%B·%e,·%Y·%H:%M"
# strptime format of a weekday, a date and a time,
# in 24-hour format.
@@ -14790,192 +14553,186 @@ msgstr "%A, %e. %B %Y."
#. strftime format of a weekday, a date and a
#. time, in 24-hour format.
#: plugins/itip-formatter/itip-view.c:301
-#, fuzzy
msgid "%A, %B %e, %Y %H:%M:%S"
-msgstr "%a %m/%d/%Y %H:%M:%S"
+msgstr "%A,·%B·%e,·%Y·%H:%M:%S"
#. strftime format of a weekday, a date and a
#. time, in 12-hour format, without seconds.
#: plugins/itip-formatter/itip-view.c:306
-#, fuzzy
msgid "%A, %B %e, %Y %l:%M %p"
-msgstr "do %B·%d,·%Y,·%l:%M·%p"
+msgstr "%A,·%B·%e,·%Y·%l:%M·%p"
#. strftime format of a weekday, a date and a
#. time, in 12-hour format.
#: plugins/itip-formatter/itip-view.c:310
-#, fuzzy
msgid "%A, %B %e, %Y %l:%M:%S %p"
-msgstr "do %B·%d,·%Y,·%l:%M·%p"
+msgstr "%A,·%B·%e,·%Y·%l:%M:%S·%p"
#: plugins/itip-formatter/itip-view.c:335
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s has published the following meeting information:"
-msgstr "<b>%s</b> je objavio(la) informaciju o sastanku."
+msgstr "<b>%s</b> preko %s je objavio(la) sledeću informaciju o sastanku:"
#: plugins/itip-formatter/itip-view.c:337
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has published the following meeting information:"
-msgstr "<b>%s</b> je objavio(la) informaciju o sastanku."
+msgstr "<b>%s</b> je objavio(la) sledeću informaciju o sastanku:"
#: plugins/itip-formatter/itip-view.c:342
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> requests the presence of %s at the following meeting:"
-msgstr "<b>%s</b> zahteva prisustvo %s na sastanku."
+msgstr "<b>%s</b> zahteva prisustvo %s nasledećem sastanku:"
#: plugins/itip-formatter/itip-view.c:345
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s requests your presence at the following meeting:"
-msgstr "<b>%s</b> zahteva Vaše prisustvo na sastanku."
+msgstr "<b>%s</b> preko %s zahteva Vaše prisustvo na sledećem sastanku:"
#: plugins/itip-formatter/itip-view.c:347
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> requests your presence at the following meeting:"
-msgstr "<b>%s</b> zahteva Vaše prisustvo na sastanku."
+msgstr "<b>%s</b> zahteva Vaše prisustvo na sledećem sastanku:"
#: plugins/itip-formatter/itip-view.c:353
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s wishes to add to an existing meeting:"
-msgstr "<b>%s</b> želi da doda postojećem sastanku"
+msgstr "<b>%s</b> preko %s želi da doda postojećem sastanku:"
#: plugins/itip-formatter/itip-view.c:355
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> wishes to add to an existing meeting:"
-msgstr "<b>%s</b> želi da doda postojećem sastanku"
+msgstr "<b>%s</b> želi da doda postojećem sastanku:"
#: plugins/itip-formatter/itip-view.c:358
-#, fuzzy, c-format
+#, c-format
msgid ""
"<b>%s</b> wishes to receive the latest information for the following meeting:"
-msgstr "<b>%s</b> želi da primi najnoviju informaciju o zaduženju."
+msgstr "<b>%s</b> želi da primi najnoviju informaciju o sledećem zaduženju:"
#: plugins/itip-formatter/itip-view.c:361
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has sent back the following meeting response:"
-msgstr "<b>%s</b> je poslao(la) nerazumljivu poruku."
+msgstr "<b>%s</b> je poslao(la) sledeći odgovor za sastanak:"
#: plugins/itip-formatter/itip-view.c:365
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s has cancelled the following meeting:"
-msgstr "<b>%s</b> je otkazo(la) sastanak."
+msgstr "<b>%s</b> preko %s je otkazo(la) sledeći sastanak:"
#: plugins/itip-formatter/itip-view.c:367
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has cancelled the following meeting."
-msgstr "<b>%s</b> je otkazo(la) sastanak."
+msgstr "<b>%s</b> je otkazo(la) sledeći sastanak."
#: plugins/itip-formatter/itip-view.c:370
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has proposed the following meeting changes."
-msgstr "<b>%s</b> je odgovorio(la) na zahtev za sastanak."
+msgstr "<b>%s</b> je predložio(la) sledeće promene sastanka."
#: plugins/itip-formatter/itip-view.c:374
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s has declined the following meeting changes:"
-msgstr "<b>%s</b> je odgovorio(la) na zahtev za sastanak."
+msgstr "<b>%s</b> preko %s je odbio(la) sledeće promene sastanka:"
#: plugins/itip-formatter/itip-view.c:376
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has declined the following meeting changes."
-msgstr "<b>%s</b> je odgovorio(la) na zahtev za sastanak."
+msgstr "<b>%s</b> je odbio(la) sledeće promene sastanka."
#: plugins/itip-formatter/itip-view.c:403
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s has published the following task:"
-msgstr "<b>%s</b> je objavio(la) informaciju o zaduženju."
+msgstr "<b>%s</b> preko %s je objavio(la) informaciju o sledećem zaduženju:"
#: plugins/itip-formatter/itip-view.c:405
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has published the following task:"
-msgstr "<b>%s</b> je objavio(la) informaciju o zaduženju."
+msgstr "<b>%s</b> je objavio(la) informaciju o sledećem zaduženju:"
#: plugins/itip-formatter/itip-view.c:410
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> requests the assignment of %s to the following task:"
-msgstr "<b>%s</b> zahteva prisustvo %s na sastanku."
+msgstr "<b>%s</b> zahteva da %s preuzme sledeće zaduženje:"
#: plugins/itip-formatter/itip-view.c:413
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s has assigned you a task:"
-msgstr "<b>%s</b> je otkazao(la) zaduženje."
+msgstr "<b>%s</b> preko %s Vam je dodelio(la) zaduženje:"
#: plugins/itip-formatter/itip-view.c:415
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has assigned you a task:"
-msgstr "<b>%s</b> je otkazao(la) zaduženje."
+msgstr "<b>%s</b> Vam je dodelio(la) zaduženje:"
#: plugins/itip-formatter/itip-view.c:421
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s wishes to add to an existing task:"
-msgstr "<b>%s</b želi da doda postojećem zaduženju."
+msgstr "<b>%s</b preko %s želi da doda postojećem zaduženju:"
#: plugins/itip-formatter/itip-view.c:423
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> wishes to add to an existing task:"
-msgstr "<b>%s</b želi da doda postojećem zaduženju."
+msgstr "<b>%s</b želi da doda postojećem zaduženju:"
#: plugins/itip-formatter/itip-view.c:426
-#, fuzzy, c-format
+#, c-format
msgid ""
"<b>%s</b> wishes to receive the latest information for the following "
"assigned task:"
-msgstr "<b>%s</b> želi da primi najnoviju informaciju o zaduženju."
+msgstr "<b>%s</b> želi da primi najnoviju informaciju o sledećem zaduženju:"
#: plugins/itip-formatter/itip-view.c:429
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has sent back the following assigned task response:"
-msgstr "<b>%s</b> je poslao(la) nerazumljivu poruku."
+msgstr "<b>%s</b> je poslao(la) sledeći odgovor na dodeljeno zaduženje:"
#: plugins/itip-formatter/itip-view.c:433
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> through %s has cancelled the following assigned task:"
-msgstr "<b>%s</b> je otkazao(la) zaduženje."
+msgstr "<b>%s</b> preko %s je otkazao(la) sledeeće zaduženje:"
#: plugins/itip-formatter/itip-view.c:435
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has cancelled the following assigned task:"
-msgstr "<b>%s</b> je otkazao(la) zaduženje."
+msgstr "<b>%s</b> je otkazao(la) sledeće zaduženje:"
#: plugins/itip-formatter/itip-view.c:438
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has proposed the following task assignment changes:"
-msgstr "<b>%s</b> je odgovorio(la) na dodeljeno zaduženje."
+msgstr "<b>%s</b> je predložio(la) sledeće promene zaduženja:"
#: plugins/itip-formatter/itip-view.c:442
#, c-format
msgid "<b>%s</b> through %s has declined the following assigned task:"
-msgstr ""
+msgstr "<b>%s</b> preko %s je odbio sledeće zaduženje:"
#: plugins/itip-formatter/itip-view.c:444
-#, fuzzy, c-format
+#, c-format
msgid "<b>%s</b> has declined the following assigned task:"
-msgstr "<b>%s</b> je odgovorio(la) na dodeljeno zaduženje."
+msgstr "<b>%s</b> je odbio(la) sledeće dodeljeno zaduženje:"
#. Comment
#: plugins/itip-formatter/itip-view.c:892
#: plugins/itip-formatter/itip-view.c:942
-#, fuzzy
msgid "Comment:"
-msgstr "Naredba:"
+msgstr "Komentar:"
#. org.gnome.mailing-list-actions:no-header primary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:2
-#, fuzzy
msgid "Action not available"
-msgstr "TLS nije dostupan"
+msgstr "Akcija nije dostupna"
#. org.gnome.mailing-list-actions:no-header secondary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:4
msgid ""
"This message does not contain the header information required for this "
"action."
-msgstr ""
+msgstr "Ova poruka ne sadrži potrebne podatke u zaglavlju za ovu akciju."
#. org.gnome.mailing-list-actions:posting-not-allowed primary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:6
-#, fuzzy
msgid "Posting not allowed"
-msgstr "Server ne dozvoljava slanje Älanaka"
+msgstr "Slanje nije dozvoljeno"
#. org.gnome.mailing-list-actions:posting-not-allowed secondary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:8
@@ -14983,12 +14740,13 @@ msgid ""
"Posting to this mailing list is not allowed. Possibly, this is a read-only "
"mailing list. Contact the list owner for details."
msgstr ""
+"Slanje na ovu dopisnu listu nije dozvoljeno. Možda je ova lista samo za "
+"Äitanje. Obratite se vlasniku liste za detalje."
#. org.gnome.mailing-list-actions:ask-send-message primary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:10
-#, fuzzy
msgid "Send e-mail message to mailing list?"
-msgstr "Pošalji _poruku na listu"
+msgstr "Poslati elektronsku_poruku na dopisnu listu?"
#. org.gnome.mailing-list-actions:ask-send-message secondary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:12
@@ -14999,22 +14757,23 @@ msgid ""
"You should receive an answer from the mailing list shortly after the message "
"has been sent."
msgstr ""
+"Elektronska poruka će biti poslata na adresu (URL) \"{0}\". Možete poruku da "
+"pošaljete automatski, ili je prvo pogledati i izmeniti.\n"
+"\n"
+"Trebalo bi da dobijete odgovor sa dopisne liste ubrzo nakon slanja poruke."
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:15
-#, fuzzy
msgid "_Send message"
-msgstr "Slanje poruke"
+msgstr "_Pošalji poruku"
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:16
-#, fuzzy
msgid "_Edit message"
-msgstr "Slanje poruke"
+msgstr "_Uredi poruku"
#. org.gnome.mailing-list-actions:malformed-header primary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:18
-#, fuzzy
msgid "Malformed header"
-msgstr "Neispravan potpis"
+msgstr "Neispravno zaglavlje"
#. org.gnome.mailing-list-actions:malformed-header secondary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:20
@@ -15023,12 +14782,14 @@ msgid ""
"\n"
"Header: {1}"
msgstr ""
+"Zaglavlje {0} ove poruke nije ispravno sastavljeno i ne može biti obrađeno.\n"
+"\n"
+"Zaglavlje: {1}"
#. org.gnome.mailing-list-actions:no-action primary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:24
-#, fuzzy
msgid "No e-mail action"
-msgstr "Beleži akcije filtera"
+msgstr "Nema akcije za e-poštu"
#. org.gnome.mailing-list-actions:no-action secondary
#: plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h:26
@@ -15038,36 +14799,35 @@ msgid ""
"\n"
"Header: {0}"
msgstr ""
+"Akciju nije moguće izvesti. To znaÄi da zaglavlje za ovu akciju nije sadržalo "
+"obradivu akciju.\n"
+"\n"
+"Zaglavlje: {0}"
#. Create the checkbox we will display, complete with mnemonic that is unique in the dialog
#: plugins/new-mail-notify/new-mail-notify.c:66
-#, fuzzy
msgid "_Generates a D-BUS message when new mail arrives"
-msgstr "S_virni kada stigne nova pošta"
+msgstr "·Obavesti D-BUS porukom kada stigne nova pošta"
#: plugins/plugin-manager/org-gnome-plugin-manager.xml.h:1
msgid "Enable and disable plugins"
-msgstr ""
+msgstr "UkljuÄuje i iskljuÄuje dodatke"
#: plugins/plugin-manager/org-gnome-plugin-manager.xml.h:2
-#, fuzzy
msgid "Manage Plugins..."
-msgstr "Poništavanje..."
+msgstr "Upravljanje dodacima..."
#: plugins/plugin-manager/plugin-manager.c:45
-#, fuzzy
msgid "Author(s)"
-msgstr "sat(a)"
+msgstr "Autor(i)"
#: plugins/plugin-manager/plugin-manager.c:46
-#, fuzzy
msgid "Id"
-msgstr "I"
+msgstr "Ib"
#: plugins/plugin-manager/plugin-manager.c:47
-#, fuzzy
msgid "Path"
-msgstr "_Putanja:"
+msgstr "Putanja"
#: plugins/plugin-manager/plugin-manager.c:48
msgid "Description"
@@ -15075,55 +14835,48 @@ msgstr "ažaPaIbÂ"
#. Setup the ui
#: plugins/plugin-manager/plugin-manager.c:188
-#, fuzzy
msgid "Plugin Manager"
-msgstr "Upravnik"
+msgstr "UpravljaÄ dodacima"
#: plugins/plugin-manager/plugin-manager.c:201
msgid "Note: Some changes will not take effect until restart"
-msgstr ""
+msgstr "Napomena: neke izmene neće biti ukljuÄene pre ponovnog pokretanja"
#: plugins/plugin-manager/plugin-manager.c:210
-#, fuzzy
msgid "Plugin"
-msgstr "Brisanje"
+msgstr "Dodatak"
#: plugins/prefer-plain/prefer-plain.c:105
msgid "Show HTML if present"
-msgstr ""
+msgstr "Prikaži HTML ako postoji"
#: plugins/prefer-plain/prefer-plain.c:106
msgid "Prefer PLAIN"
-msgstr ""
+msgstr "Po mogućstvu PLAIN"
#: plugins/prefer-plain/prefer-plain.c:107
msgid "Only ever show PLAIN"
-msgstr ""
+msgstr "IskljuÄivo prikazuj PLAIN"
#: plugins/prefer-plain/prefer-plain.c:150
-#, fuzzy
msgid "HTML Mode"
-msgstr "HTML pošta"
+msgstr "HTML mod"
#: plugins/save-attachments/org-gnome-save-attachments.xml.h:1
-#, fuzzy
msgid "Save Attachments ..."
-msgstr "SaÄuvaj prilog..."
+msgstr "ÄŒuva priloge ..."
#: plugins/save-attachments/org-gnome-save-attachments.xml.h:2
-#, fuzzy
msgid "Save all attachments"
-msgstr "SaÄuvaj prilog"
+msgstr "ÄŒuva sve priloge"
#: plugins/save-attachments/save-attachments.c:331
-#, fuzzy
msgid "Select save base name"
-msgstr "Izaberite vremensku zonu"
+msgstr "Bira ime za snimanje baze"
#: plugins/save-attachments/save-attachments.c:351
-#, fuzzy
msgid "MIME Type"
-msgstr "MIME tip:"
+msgstr "MIME tip"
#: plugins/save-attachments/save-attachments.c:359
#: ui/evolution-message-composer.xml.h:16
@@ -15134,7 +14887,7 @@ msgstr "SaÄuvaj"
#: plugins/save-calendar/csv-format.c:167
#, c-format
msgid "%s%d/%s%d/%s%d %s%d:%s%d:%s%d"
-msgstr ""
+msgstr "%s%d/%s%d/%s%d·%s%d:%s%d:%s%d"
#: plugins/save-calendar/csv-format.c:370
#, c-format
@@ -15143,46 +14896,46 @@ msgid ""
"sCreated%sContact List%sStart%sEnd%sDue%sPercent Done%sPriority%sUrl%"
"sAttendees List%sLocation%sModified%s"
msgstr ""
+"Jib%sPregled%sSpisak opisa%sSpisak kategorija%sSpisak komentara%sZavršeno%"
+"sNapravljeno%sKontakt lista%sPoÄetak%sZavrÅ¡etak%sDo%sProcenat zavrÅ¡enog%"
+"sVažnost%sAresa (Url)%sSpisak prisutnih%sLokacija%sIzmenjeno%s"
#: plugins/save-calendar/csv-format.c:519
msgid "Advanced options for the CSV format"
-msgstr ""
+msgstr "Napredne opcije za CSV format"
#: plugins/save-calendar/csv-format.c:526
msgid "Prepend a header"
-msgstr ""
+msgstr "Prvo ukljuÄi zaglavlje"
#: plugins/save-calendar/csv-format.c:535
-#, fuzzy
msgid "Value delimiter:"
-msgstr "Lokalna dostava"
+msgstr "RazgraniÄnik vrednosti:"
#: plugins/save-calendar/csv-format.c:541
msgid "Record delimiter:"
-msgstr ""
+msgstr "RazgraniÄnik zapisa:"
#: plugins/save-calendar/csv-format.c:547
msgid "Encapsulate values with:"
-msgstr ""
+msgstr "Spoji vrednosti sa:"
#: plugins/save-calendar/csv-format.c:569
msgid "Comma separated value format (.csv)"
-msgstr ""
+msgstr "Zarezom odvojen format vrednosti (.csv)"
#: plugins/save-calendar/ical-format.c:136
-#, fuzzy
msgid "iCalendar format (.ics)"
-msgstr "iCalendar datoteke (.ics)"
+msgstr "iKalendar format (.ics)"
#: plugins/save-calendar/rdf-format.c:390
msgid "RDF format (.rdf)"
-msgstr ""
+msgstr "RDF format (.rdf)"
#: plugins/save-calendar/save-calendar.c:171
#: plugins/save-calendar/save-calendar.c:181
-#, fuzzy
msgid "Select destination file"
-msgstr "Izaberite odredište"
+msgstr "Izaberite odredišnu datoteku"
#: plugins/save-calendar/save-calendar.c:216
#, c-format
@@ -15190,6 +14943,8 @@ msgid ""
"The suggested filename extension of this filetype (%s) is unused in the "
"chosen filename. Do you want to continue?"
msgstr ""
+"Navedena ekstenzija za ovaj tip datoteke (%s) izabrano ime datoteke ne "
+"koristi. Želite li da nastavite?"
#: plugins/send-options/send-options.c:82
#, c-format
@@ -15198,9 +14953,8 @@ msgstr "%sUnesite lozinku za %s (korisnik %s)"
#. org.gnome.evolution.mail_shared_folder:invalid-user primary
#: plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:2
-#, fuzzy
msgid "Invalid user"
-msgstr "Neispravna svrha"
+msgstr "Neispravan korisnik"
#. org.gnome.evolution.mail_shared_folder:invalid-user secondary
#: plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:4
@@ -15208,12 +14962,13 @@ msgid ""
"\n"
"You cannot share folder with specified user \"{0}\" \n"
msgstr ""
+"\n"
+"žne možete da delite direktorijum sa navedenim korisnikom \"{0}\" \n"
#. org.gnome.evolution.mail_shared_folder:no-user primary
#: plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:8
-#, fuzzy
msgid "Specify User"
-msgstr "Određeno zaglavlje"
+msgstr "Odredite korisnika"
#. org.gnome.evolution.mail_shared_folder:no-user secondary
#: plugins/shared-folder/org-gnome-shared-folder-errors.xml.h:10
@@ -15221,67 +14976,61 @@ msgid ""
"\n"
"\tYou have to specify a user name whom you want to add to the list \n"
msgstr ""
+"\n"
+"\tMorate da navedete korisniÄko ime koje želite da dodate na spisak \n"
#: plugins/shared-folder/properties.glade.h:2
-#, fuzzy
msgid "<b>Users :</b>"
-msgstr "<b>Uzbune</b>"
+msgstr "<b>Korisnici:</b>"
#: plugins/shared-folder/properties.glade.h:4
-#, fuzzy
msgid "Message"
-msgstr "Po_ruke"
+msgstr "Poruka"
#: plugins/shared-folder/properties.glade.h:6
msgid "Shared Folder Notification"
-msgstr ""
+msgstr "Obaveštavanje o deljenom direktorijumu"
#: plugins/shared-folder/properties.glade.h:8
msgid "The participants will receive the following notification.\n"
-msgstr ""
+msgstr "UÄesnici će primiti sledeće obaveÅ¡tenje.\n"
#: plugins/shared-folder/properties.glade.h:11
-#, fuzzy
msgid "_Contacts..."
msgstr "_Kontakti..."
#: plugins/shared-folder/properties.glade.h:12
-#, fuzzy
msgid "_Cutomize notification message"
-msgstr "Nije moguće pravljenje poruke."
+msgstr "_Prilagodi poruku za obaveštavanje"
#: plugins/shared-folder/properties.glade.h:13
-#, fuzzy
msgid "_Not Shared"
-msgstr "Nije pokrenuto"
+msgstr "_Nije deljeno"
#: plugins/shared-folder/properties.glade.h:15
msgid "_Shared With ..."
-msgstr ""
+msgstr "_Deljeno sa ..."
#: plugins/shared-folder/properties.glade.h:16
-#, fuzzy
msgid "_Sharing"
-msgstr "SenÄenje"
+msgstr "_Deljenje"
#: plugins/shared-folder/share-folder-common.c:315
-#, fuzzy
msgid "Users"
-msgstr "_Korisnik:"
+msgstr "Korisnici"
#: plugins/shared-folder/share-folder-common.c:316
msgid "Enter the users and set permissions"
-msgstr ""
+msgstr "Unesite korisnike i postavite ovlašćenja"
#: plugins/shared-folder/share-folder-common.c:401
-#, fuzzy
msgid "Sharing"
-msgstr "SenÄenje"
+msgstr "Deljenje"
#. Create the checkbox we will display, complete with mnemonic that is unique in the dialog
#: plugins/subject-thread/subject-thread.c:54
msgid "Fall back to threading messages by sub_ject"
-msgstr ""
+msgstr "Vrati se na poruke u nanizane po nas_lovu"
#: shell/GNOME_Evolution_Shell.server.in.in.h:1
msgid "Evolution Shell"
@@ -15297,17 +15046,15 @@ msgstr "Probni deo Evolucije"
#: shell/apps_evolution_shell.schemas.in.in.h:1
msgid "A GNOME Print description of the current printer settings"
-msgstr ""
+msgstr "Gnom opis Å¡tampe tekućih podeÅ¡avanja Å¡tampaÄa"
#: shell/apps_evolution_shell.schemas.in.in.h:2
-#, fuzzy
msgid "Configuration version"
-msgstr "Verzija podešavanja Evolucije"
+msgstr "Verzija podešavanja"
#: shell/apps_evolution_shell.schemas.in.in.h:3
-#, fuzzy
msgid "Default sidebar width"
-msgstr "Podrazumevana Å¡irina prozora"
+msgstr "Podrazumevana širina pomoćne trake"
#: shell/apps_evolution_shell.schemas.in.in.h:4
msgid "Default window height"
@@ -15322,9 +15069,8 @@ msgid "ID or alias of the component to be shown by default at start-up."
msgstr "IB ili alijas dela koji se podrazumevano prikazuje po pokretanju."
#: shell/apps_evolution_shell.schemas.in.in.h:7
-#, fuzzy
msgid "Last upgraded configuration version"
-msgstr "Poslednja dostupna verzija podešavanja Evolucije"
+msgstr "Poslednja osvežena verzija podešavanja"
#: shell/apps_evolution_shell.schemas.in.in.h:8
msgid ""
@@ -15333,14 +15079,12 @@ msgstr ""
"Spisak putanja direktorijuma koji se usklađuju na disku za rad van mreže"
#: shell/apps_evolution_shell.schemas.in.in.h:9
-#, fuzzy
msgid "Printer settings"
-msgstr "Podešavanja vremena"
+msgstr "PodeÅ¡avanja Å¡tampaÄa"
#: shell/apps_evolution_shell.schemas.in.in.h:10
-#, fuzzy
msgid "Skip development warning dialog"
-msgstr "Da li da preskoÄi prozorÄe sa upozorenjem o razvoju"
+msgstr "PreskaÄe prozorÄe sa upozorenjem o razvoju"
#: shell/apps_evolution_shell.schemas.in.in.h:11 shell/main.c:476
msgid "Start in offline mode"
@@ -15349,28 +15093,27 @@ msgstr "PoÄni rad van mreže"
#: shell/apps_evolution_shell.schemas.in.in.h:12
msgid ""
"The configuration version of Evolution, with major/minor/configuration level"
-msgstr ""
+msgstr "Verzija podešavanja Evolucije, uz nivo podešavanja glavno/sporedno/"
#: shell/apps_evolution_shell.schemas.in.in.h:13
-#, fuzzy
msgid "The default height for the main window, in pixels."
-msgstr "Predefinisana visina prozora za poruku"
+msgstr "Podrazumevana visina prozora za poruku, u pikselima."
#: shell/apps_evolution_shell.schemas.in.in.h:14
-#, fuzzy
msgid "The default width for the main window, in pixels."
-msgstr "Predefinisana Å¡irina prozora za poruku"
+msgstr "Podrazumevana Å¡irina glavnog prozora, u pikselima."
#: shell/apps_evolution_shell.schemas.in.in.h:15
-#, fuzzy
msgid "The default width for the sidebar, in pixels."
-msgstr "Podrazumevana Å¡irina panela direktorijuma"
+msgstr "Podrazumevana širina pomoćne trake, u pikselima."
#: shell/apps_evolution_shell.schemas.in.in.h:16
msgid ""
"The last upgraded configuration version of Evolution, with major/minor/"
"configuration level"
msgstr ""
+"Poslednja osvežena verzija podešavanja Evolucije, uz nivo podešavanja glavno/"
+"sporedno/"
#: shell/apps_evolution_shell.schemas.in.in.h:17
msgid ""
@@ -15378,42 +15121,40 @@ msgid ""
"\"toolbar\". If \"toolbar\" is set, the style of the buutons is determined "
"by the GNOME toolbar setting."
msgstr ""
+"Stil dugmadi prozora. Može biti \"tekst\", \"ikone\", \"oboje\", \"traka "
+"alata\". Ako je postavljeno \"traka alata\",Gnomovo podešavanje trake alata "
+"utvrđuje stil dugmadi."
#: shell/apps_evolution_shell.schemas.in.in.h:18
msgid "Toolbar is visible"
msgstr "Traka alata je vidljiva"
#: shell/apps_evolution_shell.schemas.in.in.h:19
-#, fuzzy
msgid "Whether Evolution will start up in offline mode instead of online mode."
-msgstr ""
-"Ako je postavljeno, Evolucija će se pokrenuti u režimu za rad van mreže "
-"umesto u režimu za rad na mreži."
+msgstr "Da li će se Evolucija pokrenuti u režimu za rad van mreže."
#: shell/apps_evolution_shell.schemas.in.in.h:20
msgid "Whether the toolbar should be visible."
msgstr "Da li da traka alata bude vidljiva."
#: shell/apps_evolution_shell.schemas.in.in.h:21
-#, fuzzy
msgid ""
"Whether the warning dialog in development versions of Evolution is skipped."
msgstr ""
-"Ako je postavljeno, prozorÄe sa upozorenjem u razvojnim verzijama Evolucije "
-"neće biti prikazano."
+"Da li će prozorÄe sa upozorenjem u razvojnim verzijama Evolucije biti "
+"prikazano."
#: shell/apps_evolution_shell.schemas.in.in.h:22
-#, fuzzy
msgid "Whether the window buttons should be visible."
-msgstr "Da li da traka alata bude vidljiva."
+msgstr "Da li da dugmad prozora budu vidljiva."
#: shell/apps_evolution_shell.schemas.in.in.h:23
msgid "Window button style"
-msgstr ""
+msgstr "Stil dugmadi prozora"
#: shell/apps_evolution_shell.schemas.in.in.h:24
msgid "Window buttons are visible"
-msgstr ""
+msgstr "Dugmad prozora su vidljiva"
#: shell/e-active-connection-dialog.glade.h:1
msgid "<b>Active Connections</b>"
@@ -15632,7 +15373,7 @@ msgstr "Bug buddy ne može biti pokrenut."
#. * about box
#: shell/e-shell-window-commands.c:501
msgid "translator-credits"
-msgstr ""
+msgstr "zaslužni-prevodioci"
#: shell/e-shell-window-commands.c:515
msgid "Groupware Suite"
@@ -15719,29 +15460,26 @@ msgid "Welcome"
msgstr "Dobro došli"
#: shell/evolution-startup-wizard.glade.h:6
-#, fuzzy
msgid ""
"Welcome to Evolution. The next few screens will allow Evolution to connect "
"to your email accounts, and to import files from other applications. \n"
"\n"
"Please click the \"Forward\" button to continue. "
msgstr ""
-"Dobro došli u Evoluciju. Nekoliko narednih ekrana\n"
-"će vam omogućiti da se Evolucija poveže na naloge eletronske\n"
-"pošte i da uveze datoteke iz drugih programa.\n"
+"Dobro došli u Evoluciju. Nekoliko narednih ekrana će omogućiti da se "
+"Evolucija poveže na naloge eletronske pošte i da uveze datoteke iz drugih "
+"programa.\n"
"\n"
"Pritisnite dugme \"Napred\" da nastavite. "
#: shell/evolution-startup-wizard.glade.h:9
-#, fuzzy
msgid ""
"You have successfully entered all of the information needed to set up "
"Evolution. \n"
"\n"
"Click the \"Apply\" button to save your settings. "
msgstr ""
-"Uspešno ste uneli sve podatke neophodne za\n"
-"podešavanje Evolucije.\n"
+"Uspešno ste uneli sve podatke neophodne za podešavanje Evolucije.\n"
"\n"
"Pritisnite dugme \"Primeni\" da saÄuvate podeÅ¡avanja. "
@@ -15872,9 +15610,8 @@ msgid "Start in online mode"
msgstr "PoÄni rad na mreži"
#: shell/main.c:481
-#, fuzzy
msgid "Forcibly shut down all Evolution components"
-msgstr "Silom ugasi sve delove evolucije"
+msgstr "Silom gasi sve delove Evolucije"
#: shell/main.c:485
msgid "Forcibly re-migrate from Evolution 1.4"
@@ -15886,11 +15623,11 @@ msgstr "Pošalji izlaz o greškama iz svih delova u datoteku."
#: shell/main.c:491
msgid "Disable the mono plugin environment."
-msgstr ""
+msgstr "IskljuÄuje dodatak za mono okruženje."
#: shell/main.c:494
msgid "Disable loading of any plugins."
-msgstr ""
+msgstr "IskljuÄuje uÄitavanje svih dodataka."
#: shell/main.c:525
#, c-format
@@ -16852,9 +16589,8 @@ msgid "Create or edit rules for filtering new mail"
msgstr "Napravi ili uredi pravila za filtriranje nove pošte"
#: ui/evolution-mail-global.xml.h:5
-#, fuzzy
msgid "Create or edit vFolder definitions"
-msgstr "Napravi ili uredi definicije virtuelnih direktorijuma"
+msgstr "Pravi ili uređuje definicije vDirektorijuma"
#: ui/evolution-mail-global.xml.h:6
msgid "Empty _Trash"
@@ -16893,9 +16629,8 @@ msgid "_Filters..."
msgstr "_Filteri..."
#: ui/evolution-mail-global.xml.h:18
-#, fuzzy
msgid "vFolder _Editor..."
-msgstr "UreÄ‘ivaÄ virtuelnog _direktorijuma..."
+msgstr "_UreÄ‘ivaÄ vDirektorijuma..."
#: ui/evolution-mail-list.xml.h:1
msgid "Change the properties of this folder"
@@ -17032,9 +16767,8 @@ msgid "Copy selected messages to another folder"
msgstr "Kopiraj izabrane poruke u drugi direktorijum"
#: ui/evolution-mail-message.xml.h:12
-#, fuzzy
msgid "Create _vFolder From Message"
-msgstr "_Napravi filter od poruke"
+msgstr "Napravi _vDirektorijum od poruke"
#: ui/evolution-mail-message.xml.h:13
msgid "Create a rule to filter messages from this sender"
@@ -17053,24 +16787,20 @@ msgid "Create a rule to filter messages with this subject"
msgstr "Napravi pravilo za filtriranje poruka sa ovim naslovom"
#: ui/evolution-mail-message.xml.h:17
-#, fuzzy
msgid "Create a vFolder for these recipients"
-msgstr "Napravi virtuelni direktorijum za ove primaoce"
+msgstr "Pravi vDirektorijum za ove primaoce"
#: ui/evolution-mail-message.xml.h:18
-#, fuzzy
msgid "Create a vFolder for this mailing list"
-msgstr "Napravi virtuelni direktorijum za ovu dopisnu listu"
+msgstr "Pravi vDirektorijum za ovu dopisnu listu"
#: ui/evolution-mail-message.xml.h:19
-#, fuzzy
msgid "Create a vFolder for this sender"
-msgstr "Napravi virtuelni direktorijum za ovog pošiljaoca"
+msgstr "Pravi vDirektorijum za ovog pošiljaoca"
#: ui/evolution-mail-message.xml.h:20
-#, fuzzy
msgid "Create a vFolder for this subject"
-msgstr "Napravi virtuelni direktorijum za ovaj naslov"
+msgstr "Pravi vDirektorijum za ovaj naslov"
#: ui/evolution-mail-message.xml.h:23
msgid "Decrease the text size"
@@ -17390,24 +17120,20 @@ msgid "_Undelete"
msgstr "_Povrati"
#: ui/evolution-mail-message.xml.h:127
-#, fuzzy
msgid "vFolder on Mailing _List..."
-msgstr "VDirektorijum na _dopisnu listu..."
+msgstr "vDirektorijum na _dopisnu listu..."
#: ui/evolution-mail-message.xml.h:128
-#, fuzzy
msgid "vFolder on Se_nder..."
-msgstr "VDirektorijum na _pošiljaoca..."
+msgstr "vDirektorijum na _pošiljaoca..."
#: ui/evolution-mail-message.xml.h:129
-#, fuzzy
msgid "vFolder on _Recipients..."
-msgstr "VDirektorijum na _primaoce..."
+msgstr "vDirektorijum na _primaoce..."
#: ui/evolution-mail-message.xml.h:130
-#, fuzzy
msgid "vFolder on _Subject..."
-msgstr "VDirektorijum na _naslov..."
+msgstr "vDirektorijum na _naslov..."
#: ui/evolution-mail-messagedisplay.xml.h:1
#: ui/evolution-message-composer.xml.h:3 ui/evolution-signature-editor.xml.h:2
@@ -17731,18 +17457,19 @@ msgstr "Otvara nov prozor za prikaz ovog direktorijuma"
#: ui/evolution.xml.h:7
msgid "Display window buttons using the desktop toolbar setting"
msgstr ""
+"Prikazuje dugmad prozora korišćenjem podešavanja trake alata redne površine"
#: ui/evolution.xml.h:8
msgid "Display window buttons with icons and text"
-msgstr ""
+msgstr "Prikazuje dugmad prozora sa ikonama i tekstom"
#: ui/evolution.xml.h:9
msgid "Display window buttons with icons only"
-msgstr ""
+msgstr "Prikazuje dugmad prozora samo sa ikonama"
#: ui/evolution.xml.h:10
msgid "Display window buttons with text only"
-msgstr ""
+msgstr "Prikazuje dugmad prozora samo sa tekstom"
#: ui/evolution.xml.h:11
msgid "E_xit"
@@ -17766,11 +17493,11 @@ msgstr "Zaboravlja zapamćene lozinke kako bi ponovo bili pitani za njih"
#: ui/evolution.xml.h:16
msgid "Hide window buttons"
-msgstr ""
+msgstr "Sakriva dugmad prozora"
#: ui/evolution.xml.h:17
msgid "Icons _and text"
-msgstr ""
+msgstr "Ikone _i tekst"
#: ui/evolution.xml.h:18
msgid "Import data from other programs"
@@ -17785,9 +17512,8 @@ msgid "Pi_lot Settings..."
msgstr "Podešavanja Pi_lota..."
#: ui/evolution.xml.h:22
-#, fuzzy
msgid "Prefere_nces"
-msgstr "Postavke pošte"
+msgstr "Podeša_vanja"
#: ui/evolution.xml.h:23
msgid "Send / Receive"
@@ -17822,18 +17548,16 @@ msgid "Toggle whether we are working offline."
msgstr "Bira da li ćemo raditi van mreže."
#: ui/evolution.xml.h:31
-#, fuzzy
msgid "Tool_bar"
msgstr "Tra_ka alata"
#: ui/evolution.xml.h:32
-#, fuzzy
msgid "Tool_bar style"
-msgstr "Traka alata je vidljiva"
+msgstr "Stil tra_ke alata"
#: ui/evolution.xml.h:33
msgid "Window B_uttons"
-msgstr ""
+msgstr "Dug_mad prozora"
#: ui/evolution.xml.h:35
msgid "_About Evolution..."
@@ -17845,11 +17569,11 @@ msgstr "_Pomoć"
#: ui/evolution.xml.h:41
msgid "_Hide buttons"
-msgstr ""
+msgstr "_Sakrij dugmad"
#: ui/evolution.xml.h:42
msgid "_Icons only"
-msgstr ""
+msgstr "Samo _ikone"
#: ui/evolution.xml.h:43
msgid "_Import..."
@@ -17868,9 +17592,8 @@ msgid "_Send / Receive"
msgstr "_Pošalji / primi"
#: ui/evolution.xml.h:47
-#, fuzzy
msgid "_Text only"
-msgstr "Model teksta"
+msgstr "Samo _tekst"
#: ui/evolution.xml.h:50
msgid "_Window"
@@ -17960,9 +17683,8 @@ msgid "Select a Time Zone"
msgstr "Izaberite vremensku zonu"
#: widgets/e-timezone-dialog/e-timezone-dialog.glade.h:6
-#, fuzzy
msgid "TimeZone Combobox"
-msgstr "Vremenska zona"
+msgstr "Okvir za vremensku zonu"
#: widgets/e-timezone-dialog/e-timezone-dialog.glade.h:7
msgid ""
@@ -17994,14 +17716,12 @@ msgid "%B %Y"
msgstr "%B %Y."
#: widgets/misc/e-calendar.c:177 widgets/misc/e-calendar.c:201
-#, fuzzy
msgid "Previous Button"
-msgstr "Prethodno"
+msgstr "Dugme Prethodno"
#: widgets/misc/e-calendar.c:226
-#, fuzzy
msgid "Month Calendar"
-msgstr "UÄitavanje kalendara"
+msgstr "MeseÄni kalendar"
#: widgets/misc/e-cell-date-edit.c:232 widgets/misc/e-dateedit.c:444
msgid "Now"
@@ -18104,34 +17824,32 @@ msgid "..."
msgstr "..."
#: widgets/misc/e-dateedit.c:313
-#, fuzzy
msgid "Date and Time Entry"
msgstr "Datum i vreme"
#: widgets/misc/e-dateedit.c:332
msgid "Text entry to input date"
-msgstr ""
+msgstr "Deo teksta za unos datuma"
#: widgets/misc/e-dateedit.c:333
msgid "Text Date Entry"
-msgstr ""
+msgstr "Unos datuma u tekstu"
#: widgets/misc/e-dateedit.c:350
msgid "Click this button to show a calendar"
-msgstr ""
+msgstr "Klikni na ovo dugme za prikaz kalendara"
#: widgets/misc/e-dateedit.c:351
-#, fuzzy
msgid "Date Button"
-msgstr "Datum slanja"
+msgstr "Dugme Datum"
#: widgets/misc/e-dateedit.c:371
msgid "Combo box to select time"
-msgstr ""
+msgstr "Okvir za izbor vremena"
#: widgets/misc/e-dateedit.c:372
msgid "Time Combo Box"
-msgstr ""
+msgstr "Okvir za vreme"
#: widgets/misc/e-error.c:84 widgets/misc/e-error.c:85
#: widgets/misc/e-error.c:127
@@ -18246,13 +17964,15 @@ msgstr "Izaberite sliku"
#: widgets/misc/e-map.c:647
msgid "World Map"
-msgstr ""
+msgstr "Karta sveta"
#: widgets/misc/e-map.c:649
msgid ""
"Mouse-based interactive map widget for selecting timezone. Keyboard users "
"should select the timezone from the below combo box instead."
msgstr ""
+"Interkativni alat za izbor vremenske zone pomoću miša. Tastaturom se izbor "
+"vremenske zone vrši iz donjeg okvira."
#: widgets/misc/e-pilot-settings.c:103
msgid "Sync with:"
@@ -18269,9 +17989,8 @@ msgstr "Uskladi kategorije:"
#. To translators: This is the accessibility name of
#. the search bar's text entry widget
#: widgets/misc/e-search-bar.c:343
-#, fuzzy
msgid "Search Text Entry"
-msgstr "UreÄ‘ivaÄ pretrage"
+msgstr "Pretraga teksta"
#: widgets/misc/e-search-bar.c:547
msgid "_Search"
@@ -18286,9 +18005,8 @@ msgid "_Clear"
msgstr "_OÄisti"
#: widgets/misc/e-search-bar.c:645
-#, fuzzy
msgid "Search Type"
-msgstr "Obim p_retrage:"
+msgstr "Tip pretrage"
#: widgets/misc/e-search-bar.c:849
msgid "Item ID"
@@ -18307,85 +18025,78 @@ msgid "Find _Now"
msgstr "Pronađi _sada"
#: widgets/misc/e-send-options.c:505
-#, fuzzy
msgid "When de_leted:"
-msgstr "%d obrisano"
+msgstr "Kada je obri_sano:"
#: widgets/misc/e-send-options.glade.h:1
-#, fuzzy
msgid "<b>Delivery Options</b>"
-msgstr "<b>Podešavanja</b>"
+msgstr "<b>Podešavanja isporuke</b>"
#: widgets/misc/e-send-options.glade.h:2
-#, fuzzy
msgid "<b>Replies</b>"
-msgstr "<b>Ponovi</b>"
+msgstr "<b>Odgovori</b>"
#: widgets/misc/e-send-options.glade.h:3
-#, fuzzy
msgid "<b>Return Notification</b>"
-msgstr "<b>Identifikacija</b>"
+msgstr "<b>Povratno obaveštenje</b>"
#: widgets/misc/e-send-options.glade.h:4
-#, fuzzy
msgid "<b>Status Tracking</b>"
-msgstr "<b>Pretraga</b>"
+msgstr "<b>Praćenje statusa</b>"
#: widgets/misc/e-send-options.glade.h:5
-#, fuzzy
msgid "A_uto-delete sent item"
-msgstr "Briše ovu stavku"
+msgstr "A_utomatski briši poslat predmet"
#: widgets/misc/e-send-options.glade.h:6
-#, fuzzy
msgid "C_lassification"
-msgstr "_Razvrstavanje:"
+msgstr "_Razvrstavanje"
#: widgets/misc/e-send-options.glade.h:7
-#, fuzzy
msgid "Creat_e a sent item to track information"
-msgstr "Dobavi najnovije podatke o zaduženju"
+msgstr "Na_pravi poslat objekat za praćenje podatka"
#: widgets/misc/e-send-options.glade.h:8
-#, fuzzy
msgid "Deli_vered and opened"
-msgstr "Odgovori i nadređeno"
+msgstr "Ispo_ruÄeno i otvoreno"
#: widgets/misc/e-send-options.glade.h:9
-#, fuzzy
msgid "Gene_ral Options"
-msgstr "Opcije filtera"
+msgstr "Opš_ta podešavanja"
#: widgets/misc/e-send-options.glade.h:10
-#, fuzzy
msgid ""
"None\n"
"Mail Receipt"
-msgstr "Priznanice"
+msgstr ""
+"Nema\n"
+"Primalac pošte"
#: widgets/misc/e-send-options.glade.h:12
-#, fuzzy
msgid ""
"None\n"
"Mail Receipt\n"
-msgstr "Priznanice"
+msgstr ""
+"Nema\n"
+"Primalac pošte\n"
#: widgets/misc/e-send-options.glade.h:15
-#, fuzzy
msgid ""
"Public\n"
"Private\n"
"Confidential\n"
-msgstr "Poverljivo"
+msgstr ""
+"Javno\n"
+"Privatno\n"
+"Poverljivo\n"
#: widgets/misc/e-send-options.glade.h:19
-#, fuzzy
msgid "R_eply requested"
-msgstr "_Stil odgovora:"
+msgstr "Zahtevan o_dgovor"
#: widgets/misc/e-send-options.glade.h:21
msgid "Sta_tus Tracking"
-msgstr ""
+msgstr "Praćenje sta_tusa"
#: widgets/misc/e-send-options.glade.h:22
msgid ""
@@ -18394,61 +18105,58 @@ msgid ""
"Standard\n"
"Low"
msgstr ""
+"Nedefinisano\n"
+"Visoko\n"
+"ObiÄno\n"
+"Nisko"
#: widgets/misc/e-send-options.glade.h:26
-#, fuzzy
msgid "W_ithin"
-msgstr "Å irina"
+msgstr "Un_utar"
#: widgets/misc/e-send-options.glade.h:27
msgid "When acce_pted: "
-msgstr ""
+msgstr "Kada je pri_hvaćeno: "
#: widgets/misc/e-send-options.glade.h:28
-#, fuzzy
msgid "When co_mpleted:"
-msgstr "_Datum završetka:"
+msgstr "Po završ_etku:"
#: widgets/misc/e-send-options.glade.h:29
msgid "When decli_ned: "
-msgstr ""
+msgstr "Kada je odbi_jeno: "
#: widgets/misc/e-send-options.glade.h:30
-#, fuzzy
msgid "_After:"
-msgstr "posle"
+msgstr "_Posle:"
#: widgets/misc/e-send-options.glade.h:31
-#, fuzzy
msgid "_All information"
-msgstr "Informacija o zaduženju"
+msgstr "_Svi podaci"
#: widgets/misc/e-send-options.glade.h:32
-#, fuzzy
msgid "_Delay message delivery"
-msgstr "Ostavi poruke na serveru"
+msgstr "_Odloži isporuku poruke"
#: widgets/misc/e-send-options.glade.h:33
-#, fuzzy
msgid "_Delivered"
-msgstr "Obrisano"
+msgstr "_IsporuÄeno"
#: widgets/misc/e-send-options.glade.h:35
msgid "_Set expiration date"
-msgstr ""
+msgstr "_Postavi rok"
#: widgets/misc/e-send-options.glade.h:36
-#, fuzzy
msgid "_Until:"
-msgstr "Bez imena"
+msgstr "_Do:"
#: widgets/misc/e-send-options.glade.h:37
msgid "_When convenient"
-msgstr ""
+msgstr "_Kada je zgodno"
#: widgets/misc/e-send-options.glade.h:38
msgid "_When opened: "
-msgstr ""
+msgstr "_Kada je otvoreno: "
#. system:ask-save-file-exists-overwrite primary
#: widgets/misc/e-system-errors.xml.h:4
@@ -18481,9 +18189,8 @@ msgid "%s (%d%% complete)"
msgstr "%s (%d%% završeno)"
#: widgets/misc/e-url-entry.c:107
-#, fuzzy
msgid "click here to go to url"
-msgstr "<protisnite ovde da izaberete direktorijum>"
+msgstr "protisnite ovde da posetite aresu (url)"
#~ msgid "Failed to parse gpg userid hint."
#~ msgstr "Nije uspelo Äitanje gpg userid podsetnika."
diff --git a/po/sv.po b/po/sv.po
index d77d225c8e..2fc1cb3791 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -11,14 +11,14 @@
# meeting = sammanträde
# event = evenemang
#
-# $Id: sv.po,v 1.211 2005/02/27 22:52:23 menthos Exp $
+# $Id: sv.po,v 1.211.2.1 2005/03/08 23:05:34 menthos Exp $
#
msgid ""
msgstr ""
"Project-Id-Version: evolution\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-02-27 23:51+0100\n"
-"PO-Revision-Date: 2005-02-27 23:51+0100\n"
+"POT-Creation-Date: 2005-03-09 00:03+0100\n"
+"PO-Revision-Date: 2005-03-09 00:04+0100\n"
"Last-Translator: Christian Rose <menthos@menthos.com>\n"
"Language-Team: Swedish <sv@li.org>\n"
"MIME-Version: 1.0\n"
@@ -50,7 +50,7 @@ msgstr[0] "aktuella adressboksmappen har %d kort"
msgstr[1] "aktuella adressboksmappen har %d kort"
#: a11y/addressbook/ea-minicard.c:31
-#: calendar/gui/alarm-notify/alarm-queue.c:863
+#: calendar/gui/alarm-notify/alarm-queue.c:878
#: ui/evolution-message-composer.xml.h:10
msgid "Open"
msgstr "Öppna"
@@ -877,7 +877,7 @@ msgid "Add Address Book"
msgstr "Lägg till adressbok"
#: addressbook/gui/component/ldap-config.glade.h:15
-#: mail/em-account-editor.c:301
+#: mail/em-account-editor.c:302
msgid "Always"
msgstr "Alltid"
@@ -913,7 +913,7 @@ msgid "Lo_gin:"
msgstr "Inlo_ggning:"
#: addressbook/gui/component/ldap-config.glade.h:25
-#: mail/em-account-editor.c:299
+#: mail/em-account-editor.c:300
msgid "Never"
msgstr "Aldrig"
@@ -1038,7 +1038,7 @@ msgid "Using email address"
msgstr "Använder e-postadress"
#: addressbook/gui/component/ldap-config.glade.h:42
-#: mail/em-account-editor.c:300
+#: mail/em-account-editor.c:301
msgid "Whenever Possible"
msgstr "Närsomhelst"
@@ -1092,7 +1092,7 @@ msgstr "kort"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:12
#: calendar/gui/dialogs/alarm-dialog.glade.h:26
#: calendar/gui/dialogs/calendar-setup.glade.h:14 filter/filter.glade.h:16
-#: mail/em-account-editor.c:1884 plugins/calendar-http/calendar-http.c:263
+#: mail/em-account-editor.c:1885 plugins/calendar-http/calendar-http.c:263
#: plugins/calendar-weather/calendar-weather.c:564
msgid "minutes"
msgstr "minut"
@@ -4102,10 +4102,10 @@ msgstr "Uppgiftslistan är inte märkt för frånkopplad användning"
#. calendar:server-version secondary
#: calendar/calendar-errors.xml.h:146
-msgid " Some features may not work correctly with your current server version"
+msgid " Some features may not work correctly with your current server version "
msgstr ""
" En del funktioner kanske inte fungerar korrekt med din nuvarande "
-"serverversion"
+"serverversion "
#: calendar/common/authentication.c:49 calendar/gui/e-pub-utils.c:301
#: smime/gui/component.c:48
@@ -4266,30 +4266,30 @@ msgid "start-time"
msgstr "starttid"
# Osäker
-#: calendar/gui/alarm-notify/alarm-queue.c:864
+#: calendar/gui/alarm-notify/alarm-queue.c:879
msgid "Dismiss"
msgstr "Avfärda"
# Osäker
-#: calendar/gui/alarm-notify/alarm-queue.c:865
+#: calendar/gui/alarm-notify/alarm-queue.c:880
msgid "Dismiss All"
msgstr "Avfärda alla"
-#: calendar/gui/alarm-notify/alarm-queue.c:947
+#: calendar/gui/alarm-notify/alarm-queue.c:962
msgid "No summary available."
msgstr "Ingen sammanfattning finns tillgänglig."
-#: calendar/gui/alarm-notify/alarm-queue.c:956
-#: calendar/gui/alarm-notify/alarm-queue.c:958
+#: calendar/gui/alarm-notify/alarm-queue.c:971
+#: calendar/gui/alarm-notify/alarm-queue.c:973
msgid "No description available."
msgstr "Ingen beskrivning finns tillgänglig."
-#: calendar/gui/alarm-notify/alarm-queue.c:966
+#: calendar/gui/alarm-notify/alarm-queue.c:981
msgid "No location information available."
msgstr "Ingen platsinformation finns tillgänglig."
# Osäker
-#: calendar/gui/alarm-notify/alarm-queue.c:982
+#: calendar/gui/alarm-notify/alarm-queue.c:997
#, c-format
msgid ""
"Alarm on %s\n"
@@ -4302,12 +4302,12 @@ msgstr ""
"Startar %s\n"
"Slutar %s"
-#: calendar/gui/alarm-notify/alarm-queue.c:1084
-#: calendar/gui/alarm-notify/alarm-queue.c:1108
+#: calendar/gui/alarm-notify/alarm-queue.c:1099
+#: calendar/gui/alarm-notify/alarm-queue.c:1123
msgid "Warning"
msgstr "Varning"
-#: calendar/gui/alarm-notify/alarm-queue.c:1088
+#: calendar/gui/alarm-notify/alarm-queue.c:1103
msgid ""
"Evolution does not support calendar reminders with\n"
"email notifications yet, but this reminder was\n"
@@ -4319,7 +4319,7 @@ msgstr ""
"konfigurerad att skicka e-post. Evolution kommer att\n"
"visa en normal dialogruta istället."
-#: calendar/gui/alarm-notify/alarm-queue.c:1114
+#: calendar/gui/alarm-notify/alarm-queue.c:1129
#, c-format
msgid ""
"An Evolution Calendar reminder is about to trigger. This reminder is "
@@ -4336,7 +4336,7 @@ msgstr ""
"\n"
"Är du säker på att du vill köra detta program?"
-#: calendar/gui/alarm-notify/alarm-queue.c:1128
+#: calendar/gui/alarm-notify/alarm-queue.c:1143
msgid "Do not ask me about this program again."
msgstr "Fråga mig inte om detta program igen."
@@ -4691,7 +4691,7 @@ msgid "Unmatched"
msgstr "Omatchade"
#: calendar/gui/calendar-commands.c:120 calendar/gui/calendar-component.c:708
-#: calendar/gui/dialogs/calendar-setup.c:362 calendar/gui/gnome-cal.c:1943
+#: calendar/gui/dialogs/calendar-setup.c:362 calendar/gui/gnome-cal.c:1942
#: plugins/groupwise-account-setup/camel-gw-listener.c:382
#: plugins/groupwise-account-setup/camel-gw-listener.c:412
msgid "Calendar"
@@ -4839,7 +4839,7 @@ msgstr "Metoden stöds inte vid öppnande av kalendern"
msgid "Permission denied to open the calendar"
msgstr "Åtkomst nekas för öppnande av kalendern"
-#: calendar/gui/comp-editor-factory.c:437 shell/e-shell.c:1260
+#: calendar/gui/comp-editor-factory.c:437 shell/e-shell.c:1264
msgid "Unknown error"
msgstr "Okänt fel"
@@ -4980,7 +4980,7 @@ msgid "%.0fG"
msgstr "%.0f G"
#: calendar/gui/dialogs/cal-attachment-bar.c:298
-#: calendar/gui/dialogs/cal-attachment-bar.c:913
+#: calendar/gui/dialogs/cal-attachment-bar.c:922
#: composer/e-msg-composer-attachment-bar.c:295 mail/em-utils.c:436
msgid "attachment"
msgstr "bilaga"
@@ -5059,7 +5059,7 @@ msgid "MIME type:"
msgstr "MIME-typ:"
#. g_object_set((GObject *)renderer, "activatable", TRUE, NULL);
-#: calendar/gui/dialogs/cal-prefs-dialog.c:576 mail/em-account-prefs.c:460
+#: calendar/gui/dialogs/cal-prefs-dialog.c:576 mail/em-account-prefs.c:476
#: mail/em-composer-prefs.c:888 plugins/plugin-manager/plugin-manager.c:213
msgid "Enabled"
msgstr "Aktiverad"
@@ -5078,15 +5078,15 @@ msgstr "Ta inte bort"
#: calendar/gui/dialogs/cal-prefs-dialog.c:787
#: calendar/gui/dialogs/cal-prefs-dialog.c:820
-#: calendar/gui/dialogs/cal-prefs-dialog.c:853 mail/em-account-prefs.c:307
-#: mail/em-account-prefs.c:335 mail/em-account-prefs.c:366
+#: calendar/gui/dialogs/cal-prefs-dialog.c:853 mail/em-account-prefs.c:323
+#: mail/em-account-prefs.c:351 mail/em-account-prefs.c:382
msgid "Disable"
msgstr "Inaktivera"
#: calendar/gui/dialogs/cal-prefs-dialog.c:787
#: calendar/gui/dialogs/cal-prefs-dialog.c:820
-#: calendar/gui/dialogs/cal-prefs-dialog.c:855 mail/em-account-prefs.c:307
-#: mail/em-account-prefs.c:335 mail/em-account-prefs.c:368
+#: calendar/gui/dialogs/cal-prefs-dialog.c:855 mail/em-account-prefs.c:323
+#: mail/em-account-prefs.c:351 mail/em-account-prefs.c:384
msgid "Enable"
msgstr "Aktivera"
@@ -5507,80 +5507,80 @@ msgstr "_Flytta"
msgid "Cancel _Drag"
msgstr "Avbryt _dragning"
-#: calendar/gui/dialogs/comp-editor.c:659
+#: calendar/gui/dialogs/comp-editor.c:682
msgid "Could not update object"
msgstr "Kunde inte uppdatera objekt"
-#: calendar/gui/dialogs/comp-editor.c:820 composer/e-msg-composer.c:2310
+#: calendar/gui/dialogs/comp-editor.c:843 composer/e-msg-composer.c:2310
#, c-format
msgid "<b>%d</b> File Attached"
msgid_plural "<b>%d</b> Files Attached"
msgstr[0] "<b>%d</b> fil bifogad"
msgstr[1] "<b>%d</b> filer bifogade"
-#: calendar/gui/dialogs/comp-editor.c:873 composer/e-msg-composer.c:2339
+#: calendar/gui/dialogs/comp-editor.c:900 composer/e-msg-composer.c:2339
msgid "Hide _Attachment Bar (drop attachments here)"
msgstr "Dölj _bilageraden (släpp bilagor här)"
-#: calendar/gui/dialogs/comp-editor.c:876
-#: calendar/gui/dialogs/comp-editor.c:928 composer/e-msg-composer.c:2342
+#: calendar/gui/dialogs/comp-editor.c:903
+#: calendar/gui/dialogs/comp-editor.c:955 composer/e-msg-composer.c:2342
#: composer/e-msg-composer.c:3471
msgid "Show _Attachment Bar (drop attachments here)"
msgstr "Visa _bilageraden (släpp bilagor här)"
-#: calendar/gui/dialogs/comp-editor.c:952 composer/e-msg-composer.c:3493
+#: calendar/gui/dialogs/comp-editor.c:979 composer/e-msg-composer.c:3493
msgid "Attachment Button: Press space key to toggle attachment bar"
msgstr "Bilageknapp: Tryck på blankstegstangenten för att växla bilageraden"
-#: calendar/gui/dialogs/comp-editor.c:1499
-#: calendar/gui/dialogs/comp-editor.c:1542
+#: calendar/gui/dialogs/comp-editor.c:1526
+#: calendar/gui/dialogs/comp-editor.c:1569
msgid "Edit Appointment"
msgstr "Redigera möte"
-#: calendar/gui/dialogs/comp-editor.c:1505
-#: calendar/gui/dialogs/comp-editor.c:1548
+#: calendar/gui/dialogs/comp-editor.c:1532
+#: calendar/gui/dialogs/comp-editor.c:1575
#, c-format
msgid "Meeting - %s"
msgstr "Sammanträde - %s"
-#: calendar/gui/dialogs/comp-editor.c:1507
-#: calendar/gui/dialogs/comp-editor.c:1550
+#: calendar/gui/dialogs/comp-editor.c:1534
+#: calendar/gui/dialogs/comp-editor.c:1577
#, c-format
msgid "Appointment - %s"
msgstr "Möte - %s"
-#: calendar/gui/dialogs/comp-editor.c:1511
-#: calendar/gui/dialogs/comp-editor.c:1554
+#: calendar/gui/dialogs/comp-editor.c:1538
+#: calendar/gui/dialogs/comp-editor.c:1581
#, c-format
msgid "Assigned Task - %s"
msgstr "Tilldelad uppgift - %s"
-#: calendar/gui/dialogs/comp-editor.c:1513
-#: calendar/gui/dialogs/comp-editor.c:1556
+#: calendar/gui/dialogs/comp-editor.c:1540
+#: calendar/gui/dialogs/comp-editor.c:1583
#, c-format
msgid "Task - %s"
msgstr "Uppgift - %s"
-#: calendar/gui/dialogs/comp-editor.c:1516
-#: calendar/gui/dialogs/comp-editor.c:1559
+#: calendar/gui/dialogs/comp-editor.c:1543
+#: calendar/gui/dialogs/comp-editor.c:1586
#, c-format
msgid "Journal entry - %s"
msgstr "Dagbokspost - %s"
-#: calendar/gui/dialogs/comp-editor.c:1527
-#: calendar/gui/dialogs/comp-editor.c:1569
+#: calendar/gui/dialogs/comp-editor.c:1554
+#: calendar/gui/dialogs/comp-editor.c:1596
msgid "No summary"
msgstr "Ingen sammanfattning"
-#: calendar/gui/dialogs/comp-editor.c:2003
-#: calendar/gui/dialogs/comp-editor.c:2036
-#: calendar/gui/dialogs/comp-editor.c:2060
+#: calendar/gui/dialogs/comp-editor.c:2030
+#: calendar/gui/dialogs/comp-editor.c:2063
+#: calendar/gui/dialogs/comp-editor.c:2087
msgid "Changes made to this item may be discarded if an update arrives"
msgstr ""
"Ändringar som görs i detta objekt kan komma att kastas om en uppdatering "
"kommer"
-#: calendar/gui/dialogs/comp-editor.c:2084
+#: calendar/gui/dialogs/comp-editor.c:2111
msgid "Unable to use current version!"
msgstr "Kan inte använda aktuell version!"
@@ -5843,8 +5843,8 @@ msgstr "_Starttid:"
#: calendar/gui/dialogs/meeting-page.glade.h:5
#: calendar/gui/e-cal-model-tasks.c:652 calendar/gui/e-itip-control.c:1104
#: composer/e-msg-composer.c:2117 filter/filter-rule.c:878
-#: mail/em-account-editor.c:684 mail/em-account-editor.c:1290
-#: mail/em-account-prefs.c:421 mail/em-folder-view.c:993
+#: mail/em-account-editor.c:685 mail/em-account-editor.c:1291
+#: mail/em-account-prefs.c:437 mail/em-folder-view.c:993
#: plugins/calendar-weather/calendar-weather.c:371
#: plugins/calendar-weather/calendar-weather.c:425
#: plugins/itip-formatter/itip-formatter.c:1376
@@ -5986,32 +5986,32 @@ msgstr "Uppgiftslistegrupp"
msgid "Task List Name"
msgstr "Namn på uppgiftslista"
-#: calendar/gui/dialogs/recur-comp.c:51
+#: calendar/gui/dialogs/recur-comp.c:52
msgid "You are modifying a recurring event, what would you like to modify?"
msgstr "Du ändrar ett återkommande evenemang. Vad vill du ändra?"
-#: calendar/gui/dialogs/recur-comp.c:55
+#: calendar/gui/dialogs/recur-comp.c:56
msgid "You are modifying a recurring task, what would you like to modify?"
msgstr "Du ändrar en återkommande uppgift. Vad vill du ändra?"
-#: calendar/gui/dialogs/recur-comp.c:59
+#: calendar/gui/dialogs/recur-comp.c:60
msgid ""
"You are modifying a recurring journal entry, what would you like to modify?"
msgstr "Du ändrar en återkommande dagsbokspost. Vad vill du ändra?"
-#: calendar/gui/dialogs/recur-comp.c:87
+#: calendar/gui/dialogs/recur-comp.c:88
msgid "This Instance Only"
msgstr "Endast denna instans"
-#: calendar/gui/dialogs/recur-comp.c:91
+#: calendar/gui/dialogs/recur-comp.c:92
msgid "This and Prior Instances"
msgstr "Denna och tidigare instanser"
-#: calendar/gui/dialogs/recur-comp.c:97
+#: calendar/gui/dialogs/recur-comp.c:98
msgid "This and Future Instances"
msgstr "Denna och framtida instanser"
-#: calendar/gui/dialogs/recur-comp.c:102
+#: calendar/gui/dialogs/recur-comp.c:103
msgid "All Instances"
msgstr "Alla instanser"
@@ -7397,7 +7397,7 @@ msgstr "Folk som krävs _och en resurs"
msgid "Enter the password for %s"
msgstr "Ange lösenordet för %s"
-#: calendar/gui/e-tasks.c:763 calendar/gui/gnome-cal.c:2373
+#: calendar/gui/e-tasks.c:763 calendar/gui/gnome-cal.c:2372
#, c-format
msgid ""
"Error on %s:\n"
@@ -7443,34 +7443,34 @@ msgid "Updating query"
msgstr "Uppdaterar fråga"
#. bonobo displays this string so it must be in locale
-#: calendar/gui/gnome-cal.c:2058 widgets/menus/gal-view-menus.c:351
+#: calendar/gui/gnome-cal.c:2057 widgets/menus/gal-view-menus.c:351
msgid "Custom View"
msgstr "Anpassad vy"
-#: calendar/gui/gnome-cal.c:2059
+#: calendar/gui/gnome-cal.c:2058
msgid "Save Custom View"
msgstr "Spara anpassad vy"
-#: calendar/gui/gnome-cal.c:2064 widgets/menus/gal-view-menus.c:373
+#: calendar/gui/gnome-cal.c:2063 widgets/menus/gal-view-menus.c:373
msgid "Define Views..."
msgstr "Definiera vyer..."
-#: calendar/gui/gnome-cal.c:2223
+#: calendar/gui/gnome-cal.c:2222
#, c-format
msgid "Loading appointments at %s"
msgstr "Läser in möten i %s"
-#: calendar/gui/gnome-cal.c:2242
+#: calendar/gui/gnome-cal.c:2241
#, c-format
msgid "Loading tasks at %s"
msgstr "Läser in uppgifter i %s"
-#: calendar/gui/gnome-cal.c:2339
+#: calendar/gui/gnome-cal.c:2338
#, c-format
msgid "Opening %s"
msgstr "Öppnar %s"
-#: calendar/gui/gnome-cal.c:3229
+#: calendar/gui/gnome-cal.c:3228
msgid "Purging"
msgstr "Tömmer"
@@ -9632,8 +9632,8 @@ msgstr "Namnlöst meddelande"
msgid "Open File"
msgstr "Öppna fil"
-#: composer/e-msg-composer.c:2001 mail/em-account-editor.c:587
-#: mail/em-account-editor.c:632 mail/em-account-editor.c:699
+#: composer/e-msg-composer.c:2001 mail/em-account-editor.c:588
+#: mail/em-account-editor.c:633 mail/em-account-editor.c:700
msgid "Autogenerated"
msgstr "Automatiskt genererad"
@@ -10390,12 +10390,12 @@ msgstr "E-postinställningar"
msgid "_Mail"
msgstr "_E-post"
-#: mail/em-account-editor.c:386
+#: mail/em-account-editor.c:387
#, c-format
msgid "%s License Agreement"
msgstr "Licensavtal för %s"
-#: mail/em-account-editor.c:393
+#: mail/em-account-editor.c:394
#, c-format
msgid ""
"\n"
@@ -10407,62 +10407,62 @@ msgstr ""
"Läs licensavtalet för %s nedan noggrannt\n"
"och kryssa för kryssrutan för att godkänna det\n"
-#: mail/em-account-editor.c:463 mail/em-filter-folder-element.c:237
+#: mail/em-account-editor.c:464 mail/em-filter-folder-element.c:237
#: mail/em-vfolder-rule.c:494
msgid "Select Folder"
msgstr "Välj mapp"
-#: mail/em-account-editor.c:1663 mail/mail-config.glade.h:89
+#: mail/em-account-editor.c:1664 mail/mail-config.glade.h:89
msgid "Identity"
msgstr "Identitet"
-#: mail/em-account-editor.c:1699 mail/mail-config.glade.h:114
+#: mail/em-account-editor.c:1700 mail/mail-config.glade.h:114
msgid "Receiving Email"
msgstr "Mottagande av e-post"
-#: mail/em-account-editor.c:1876
+#: mail/em-account-editor.c:1877
msgid "Automatically check for _new mail every"
msgstr "Kontrollera automatiskt _ny e-post var"
-#: mail/em-account-editor.c:2044 mail/mail-config.glade.h:124
+#: mail/em-account-editor.c:2045 mail/mail-config.glade.h:124
msgid "Sending Email"
msgstr "Skickande av e-post"
-#: mail/em-account-editor.c:2088 mail/mail-config.glade.h:67
+#: mail/em-account-editor.c:2089 mail/mail-config.glade.h:67
msgid "Defaults"
msgstr "Standardvärden"
-#: mail/em-account-editor.c:2147 mail/mail-config.glade.h:119
+#: mail/em-account-editor.c:2148 mail/mail-config.glade.h:119
msgid "Security"
msgstr "Säkerhet"
#. Most sections for this is auto-generated fromt the camel config
-#: mail/em-account-editor.c:2184 mail/em-account-editor.c:2259
+#: mail/em-account-editor.c:2185 mail/em-account-editor.c:2260
msgid "Receiving Options"
msgstr "Alternativ för mottagning"
-#: mail/em-account-editor.c:2185 mail/em-account-editor.c:2260
+#: mail/em-account-editor.c:2186 mail/em-account-editor.c:2261
msgid "Checking for New Mail"
msgstr "Kontroll av ny e-post"
-#: mail/em-account-editor.c:2600 mail/mail-config.glade.h:33
+#: mail/em-account-editor.c:2585 mail/mail-config.glade.h:33
msgid "Account Editor"
msgstr "Kontoredigerare"
-#: mail/em-account-editor.c:2600 mail/mail-config.glade.h:79
+#: mail/em-account-editor.c:2585 mail/mail-config.glade.h:79
msgid "Evolution Account Assistant"
msgstr "Evolutions kontoassistent"
#. translators: default account indicator
-#: mail/em-account-prefs.c:412
+#: mail/em-account-prefs.c:428
msgid "[Default]"
msgstr "[Standard]"
-#: mail/em-account-prefs.c:466
+#: mail/em-account-prefs.c:482
msgid "Account name"
msgstr "Kontonamn"
-#: mail/em-account-prefs.c:468
+#: mail/em-account-prefs.c:484
msgid "Protocol"
msgstr "Protokoll"
@@ -15362,7 +15362,7 @@ msgstr "Bug-buddy kunde inte köras."
#. The translator-credits string is for translators to list
#. * per language credits for translation, displayed in the
#. * about box
-#: shell/e-shell-window-commands.c:428
+#: shell/e-shell-window-commands.c:501
msgid "translator-credits"
msgstr ""
"Christian Rose\n"
@@ -15372,19 +15372,19 @@ msgstr ""
"Andreas Hydén\n"
"Skicka synpunkter på översättningen till sv@li.org"
-#: shell/e-shell-window-commands.c:442
+#: shell/e-shell-window-commands.c:515
msgid "Groupware Suite"
msgstr "Grupprogramvarusvit"
-#: shell/e-shell-window-commands.c:669
+#: shell/e-shell-window-commands.c:742
msgid "_Work Online"
msgstr "A_rbeta ansluten"
-#: shell/e-shell-window-commands.c:682 ui/evolution.xml.h:51
+#: shell/e-shell-window-commands.c:755 ui/evolution.xml.h:51
msgid "_Work Offline"
msgstr "A_rbeta frånkopplad"
-#: shell/e-shell-window-commands.c:695 ui/evolution.xml.h:34
+#: shell/e-shell-window-commands.c:768 ui/evolution.xml.h:34
msgid "Work Offline"
msgstr "Arbeta frånkopplad"
@@ -15412,28 +15412,28 @@ msgstr "Växla till %s"
msgid "Uknown system error."
msgstr "Okänt systemfel."
-#: shell/e-shell.c:806 shell/e-shell.c:807
+#: shell/e-shell.c:800 shell/e-shell.c:801
#, c-format
msgid "%ld KB"
msgstr "%ld kB"
-#: shell/e-shell.c:1250 widgets/misc/e-cell-date-edit.c:256
+#: shell/e-shell.c:1254 widgets/misc/e-cell-date-edit.c:256
msgid "OK"
msgstr "OK"
-#: shell/e-shell.c:1252
+#: shell/e-shell.c:1256
msgid "Invalid arguments"
msgstr "Ogiltiga argument"
-#: shell/e-shell.c:1254
+#: shell/e-shell.c:1258
msgid "Cannot register on OAF"
msgstr "Kan inte registrera på OAF"
-#: shell/e-shell.c:1256
+#: shell/e-shell.c:1260
msgid "Configuration Database not found"
msgstr "Konfigurationsdatabasen hittades inte"
-#: shell/e-shell.c:1258
+#: shell/e-shell.c:1262
msgid "Generic error"
msgstr "Allmänt fel"
@@ -18191,6 +18191,12 @@ msgid "click here to go to url"
msgstr "klicka här för att gå till url"
#~ msgid ""
+#~ " Some features may not work correctly with your current server version"
+#~ msgstr ""
+#~ " En del funktioner kanske inte fungerar korrekt med din nuvarande "
+#~ "serverversion"
+
+#~ msgid ""
#~ "Some features may not work correctly with your current server version."
#~ msgstr ""
#~ "En del funktioner kanske inte fungerar korrekt med din nuvarande "
diff --git a/po/tr.po b/po/tr.po
index 5bfe98015d..b806ff5d10 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -1,5 +1,4 @@
# Turkish translation of Evolution.
-# Görkem �Getin <gorkem@gelecek.com.tr>, 2002, 2003.
# Görkem Çetin <gorkem@kde.org>, 2004.
# Baris Cicek <baris@teamforce.name.tr>, 2004, 2005.
#
@@ -7,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: evolution\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-03-12 01:48+0200\n"
+"POT-Creation-Date: 2005-03-12 01:44+0200\n"
"PO-Revision-Date: 2005-03-12 01:32+0200\n"
"Last-Translator: Baris Cicek <baris@teamforce.name.tr>\n"
"Language-Team: Turkish <gnome-turk@gnome.org>\n"
@@ -40,7 +39,7 @@ msgid_plural "current addressbook folder has %d cards"
msgstr[0] "güncel adres defteri %d kart bulunduruyor"
#: a11y/addressbook/ea-minicard.c:31
-#: calendar/gui/alarm-notify/alarm-queue.c:876
+#: calendar/gui/alarm-notify/alarm-queue.c:878
#: ui/evolution-message-composer.xml.h:10
msgid "Open"
msgstr "Aç"
@@ -634,7 +633,7 @@ msgstr "Kimlik DoÄŸrulama"
#: addressbook/gui/component/addressbook-config.c:914
#: addressbook/gui/component/ldap-config.glade.h:18
-#: mail/mail-dialogs.glade.h:8 smime/gui/smime-ui.glade.h:19
+#: mail/mail-dialogs.glade.h:12 smime/gui/smime-ui.glade.h:19
msgid "Details"
msgstr "Ayrıntılar"
@@ -735,12 +734,12 @@ msgstr "Bağlantı Kaynağı Seçicisi"
msgid "Accessing LDAP Server anonymously"
msgstr "LDAP Sunucuna anonim bağlantı kuruluyor"
-#: addressbook/gui/component/addressbook.c:194
+#: addressbook/gui/component/addressbook.c:193
#: plugins/groupwise-account-setup/camel-gw-listener.c:478
msgid "Failed to authenticate.\n"
msgstr "Kimlik doğrulaması yapılamadı.\n"
-#: addressbook/gui/component/addressbook.c:201
+#: addressbook/gui/component/addressbook.c:200
#: plugins/groupwise-account-setup/camel-gw-listener.c:461
#, c-format
msgid "Enter password for %s (user %s)"
@@ -809,7 +808,7 @@ msgstr "Önizleme panelinin nerede gösterileceği göster."
#: calendar/gui/dialogs/new-calendar.glade.h:1
#: calendar/gui/dialogs/new-task-list.glade.h:1
#: calendar/gui/dialogs/url-editor-dialog.glade.h:1
-#: composer/e-msg-composer-attachment.glade.h:1 mail/mail-dialogs.glade.h:2
+#: composer/e-msg-composer-attachment.glade.h:1 mail/mail-dialogs.glade.h:6
#: mail/message-tags.glade.h:1 plugins/shared-folder/properties.glade.h:1
#: widgets/e-timezone-dialog/e-timezone-dialog.glade.h:1
msgid "*"
@@ -1076,7 +1075,7 @@ msgstr "kart"
#: calendar/gui/alarm-notify/alarm-notify.glade.h:12
#: calendar/gui/dialogs/alarm-dialog.glade.h:26
#: calendar/gui/dialogs/calendar-setup.glade.h:14 filter/filter.glade.h:16
-#: mail/em-account-editor.c:1882 plugins/calendar-http/calendar-http.c:263
+#: mail/em-account-editor.c:1885 plugins/calendar-http/calendar-http.c:263
#: plugins/calendar-weather/calendar-weather.c:564
msgid "minutes"
msgstr "dakika"
@@ -4083,8 +4082,9 @@ msgstr "Görev listesi çevrim dışı kullanım için işaretlenmemiş"
#. calendar:server-version secondary
#: calendar/calendar-errors.xml.h:146
-msgid " Some features may not work correctly with your current server version"
-msgstr " Kimi özellikler mevcut sunucu sürümünüzle doğru olarak çalışmayabilir"
+msgid " Some features may not work correctly with your current server version "
+msgstr ""
+" Kimi özellikler mevcut sunucu sürümünüzle doğru olarak çalışmayabilir "
#: calendar/common/authentication.c:49 calendar/gui/e-pub-utils.c:301
#: smime/gui/component.c:48
@@ -4243,28 +4243,28 @@ msgstr "konum"
msgid "start-time"
msgstr "başlangıç-zamanı"
-#: calendar/gui/alarm-notify/alarm-queue.c:877
+#: calendar/gui/alarm-notify/alarm-queue.c:879
msgid "Dismiss"
msgstr "Kaybet"
-#: calendar/gui/alarm-notify/alarm-queue.c:878
+#: calendar/gui/alarm-notify/alarm-queue.c:880
msgid "Dismiss All"
msgstr "Hepsini Kaybet"
-#: calendar/gui/alarm-notify/alarm-queue.c:960
+#: calendar/gui/alarm-notify/alarm-queue.c:962
msgid "No summary available."
msgstr "Hiçbir özet yok."
-#: calendar/gui/alarm-notify/alarm-queue.c:969
#: calendar/gui/alarm-notify/alarm-queue.c:971
+#: calendar/gui/alarm-notify/alarm-queue.c:973
msgid "No description available."
msgstr "Açıklama mevcut değil."
-#: calendar/gui/alarm-notify/alarm-queue.c:979
+#: calendar/gui/alarm-notify/alarm-queue.c:981
msgid "No location information available."
msgstr "Hiçbir konum bilgisi mevcut değil."
-#: calendar/gui/alarm-notify/alarm-queue.c:995
+#: calendar/gui/alarm-notify/alarm-queue.c:997
#, c-format
msgid ""
"Alarm on %s\n"
@@ -4277,12 +4277,12 @@ msgstr ""
"Başlangıç %s\n"
"BitiÅŸ %s"
-#: calendar/gui/alarm-notify/alarm-queue.c:1097
-#: calendar/gui/alarm-notify/alarm-queue.c:1121
+#: calendar/gui/alarm-notify/alarm-queue.c:1099
+#: calendar/gui/alarm-notify/alarm-queue.c:1123
msgid "Warning"
msgstr "Uyarı"
-#: calendar/gui/alarm-notify/alarm-queue.c:1101
+#: calendar/gui/alarm-notify/alarm-queue.c:1103
msgid ""
"Evolution does not support calendar reminders with\n"
"email notifications yet, but this reminder was\n"
@@ -4294,7 +4294,7 @@ msgstr ""
"yapılandırılmış. Evolution bunun yerine normal hatırlatıcı\n"
"penceresini gösterecek."
-#: calendar/gui/alarm-notify/alarm-queue.c:1127
+#: calendar/gui/alarm-notify/alarm-queue.c:1129
#, c-format
msgid ""
"An Evolution Calendar reminder is about to trigger. This reminder is "
@@ -4311,7 +4311,7 @@ msgstr ""
"\n"
"Bu programı çalıştırmak istediğinizden emin misiniz?"
-#: calendar/gui/alarm-notify/alarm-queue.c:1141
+#: calendar/gui/alarm-notify/alarm-queue.c:1143
msgid "Do not ask me about this program again."
msgstr "Bu program hakkında bir daha sorma."
@@ -4933,7 +4933,7 @@ msgstr "%.0fG"
#: calendar/gui/dialogs/cal-attachment-bar.c:298
#: calendar/gui/dialogs/cal-attachment-bar.c:922
-#: composer/e-msg-composer-attachment-bar.c:295 mail/em-utils.c:438
+#: composer/e-msg-composer-attachment-bar.c:295 mail/em-utils.c:436
msgid "attachment"
msgstr "ek"
@@ -4945,7 +4945,7 @@ msgid "_Remove"
msgstr "_Sil"
#: calendar/gui/dialogs/cal-attachment-bar.c:440
-#: composer/e-msg-composer-attachment-bar.c:438 mail/em-folder-tree.c:2819
+#: composer/e-msg-composer-attachment-bar.c:438 mail/em-folder-tree.c:2818
#: ui/evolution-mail-list.xml.h:27
msgid "_Properties"
msgstr "Ö_zellikler"
@@ -5440,7 +5440,7 @@ msgstr[0] "EklenmiÅŸ iletiler"
#: calendar/gui/dialogs/comp-editor.c:412 calendar/gui/e-calendar-table.c:1164
#: calendar/gui/e-calendar-view.c:1402 composer/e-msg-composer.c:2906
-#: mail/em-folder-tree.c:1047 mail/em-folder-view.c:966
+#: mail/em-folder-tree.c:1046 mail/em-folder-view.c:966
#: mail/message-list.c:1707 ui/evolution-addressbook.xml.h:31
#: ui/evolution-calendar.xml.h:39 ui/evolution-composer-entries.xml.h:7
#: ui/evolution-mail-message.xml.h:105 ui/evolution-tasks.xml.h:20
@@ -5448,13 +5448,13 @@ msgid "_Copy"
msgstr "_Kopyala"
#: calendar/gui/dialogs/comp-editor.c:413 composer/e-msg-composer.c:2907
-#: mail/em-folder-tree.c:1048 mail/em-folder-tree.c:2312
+#: mail/em-folder-tree.c:1047 mail/em-folder-tree.c:2311
#: mail/em-folder-view.c:862 mail/message-list.c:1708
msgid "_Move"
msgstr "_Taşı"
#: calendar/gui/dialogs/comp-editor.c:415 composer/e-msg-composer.c:2909
-#: mail/em-folder-tree.c:1050 mail/message-list.c:1710
+#: mail/em-folder-tree.c:1049 mail/message-list.c:1710
msgid "Cancel _Drag"
msgstr "_Sürüklemeyi İptal Et"
@@ -5523,14 +5523,14 @@ msgstr "Günlük girişi - %s"
msgid "No summary"
msgstr "Özet yok"
-#: calendar/gui/dialogs/comp-editor.c:2033
-#: calendar/gui/dialogs/comp-editor.c:2066
-#: calendar/gui/dialogs/comp-editor.c:2090
+#: calendar/gui/dialogs/comp-editor.c:2030
+#: calendar/gui/dialogs/comp-editor.c:2063
+#: calendar/gui/dialogs/comp-editor.c:2087
msgid "Changes made to this item may be discarded if an update arrives"
msgstr ""
"Eğer bir güncelleme olursa bu öğe ile alakalı değişiklikler silinebilir"
-#: calendar/gui/dialogs/comp-editor.c:2114
+#: calendar/gui/dialogs/comp-editor.c:2111
msgid "Unable to use current version!"
msgstr "Güncel sürüm kullanılamıyor!"
@@ -5622,48 +5622,48 @@ msgstr "Zaman Düzenleme"
msgid "Invitations"
msgstr "Davetler"
-#: calendar/gui/dialogs/event-page.c:721
+#: calendar/gui/dialogs/event-page.c:725
msgid "Event with no start date"
msgstr "Başlangıç tarihi olmayan olay"
-#: calendar/gui/dialogs/event-page.c:724
+#: calendar/gui/dialogs/event-page.c:728
msgid "Event with no end date"
msgstr "BitiÅŸ tarihi olmayan olay"
-#: calendar/gui/dialogs/event-page.c:890 calendar/gui/dialogs/task-page.c:557
+#: calendar/gui/dialogs/event-page.c:894 calendar/gui/dialogs/task-page.c:561
msgid "Start date is wrong"
msgstr "Başlangıç tarihi yanlış"
-#: calendar/gui/dialogs/event-page.c:900
+#: calendar/gui/dialogs/event-page.c:904
msgid "End date is wrong"
msgstr "Bitiş tarihi yanlış"
-#: calendar/gui/dialogs/event-page.c:923
+#: calendar/gui/dialogs/event-page.c:927
msgid "Start time is wrong"
msgstr "Başlangıç zamanı yanlış"
-#: calendar/gui/dialogs/event-page.c:930
+#: calendar/gui/dialogs/event-page.c:934
msgid "End time is wrong"
msgstr "Bitiş zamanı yanlış"
-#: calendar/gui/dialogs/event-page.c:1676
+#: calendar/gui/dialogs/event-page.c:1675
#, c-format
msgid "Unable to open the calendar '%s'."
msgstr "'%s' takvimi açılamadı."
-#: calendar/gui/dialogs/event-page.c:1882
+#: calendar/gui/dialogs/event-page.c:1881
#, c-format
msgid "%d day before appointment"
msgid_plural "%d days before appointment"
msgstr[0] "Randevudan %d gün önce"
-#: calendar/gui/dialogs/event-page.c:1890
+#: calendar/gui/dialogs/event-page.c:1889
#, c-format
msgid "%d hour before appointment"
msgid_plural "%d hours before appointment"
msgstr[0] "Randevudan %d saat önce"
-#: calendar/gui/dialogs/event-page.c:1898
+#: calendar/gui/dialogs/event-page.c:1897
#, c-format
msgid "%d minute before appointement"
msgid_plural "%d minutes before appointment"
@@ -5790,7 +5790,7 @@ msgstr "B_aşlangıç zamanı:"
#: calendar/gui/dialogs/meeting-page.glade.h:5
#: calendar/gui/e-cal-model-tasks.c:652 calendar/gui/e-itip-control.c:1104
#: composer/e-msg-composer.c:2117 filter/filter-rule.c:878
-#: mail/em-account-editor.c:683 mail/em-account-editor.c:1288
+#: mail/em-account-editor.c:685 mail/em-account-editor.c:1291
#: mail/em-account-prefs.c:437 mail/em-folder-view.c:993
#: plugins/calendar-weather/calendar-weather.c:371
#: plugins/calendar-weather/calendar-weather.c:425
@@ -6086,7 +6086,7 @@ msgstr "Tamamlandı"
#: calendar/gui/dialogs/task-details-page.glade.h:5
#: calendar/gui/e-cal-component-preview.c:248
-#: calendar/gui/e-calendar-table.c:382 mail/message-list.c:1007
+#: calendar/gui/e-calendar-table.c:382 mail/message-list.c:1006
msgid "High"
msgstr "Yüksek"
@@ -6100,13 +6100,13 @@ msgstr "Ä°ÅŸlemde"
#: calendar/gui/dialogs/task-details-page.glade.h:7
#: calendar/gui/e-cal-component-preview.c:252
-#: calendar/gui/e-calendar-table.c:384 mail/message-list.c:1005
+#: calendar/gui/e-calendar-table.c:384 mail/message-list.c:1004
msgid "Low"
msgstr "Düşük"
#: calendar/gui/dialogs/task-details-page.glade.h:8
#: calendar/gui/e-cal-component-preview.c:250 calendar/gui/e-cal-model.c:899
-#: calendar/gui/e-calendar-table.c:383 mail/message-list.c:1006
+#: calendar/gui/e-calendar-table.c:383 mail/message-list.c:1005
msgid "Normal"
msgstr "Normal"
@@ -6153,11 +6153,11 @@ msgstr "Görev"
msgid "Assignment"
msgstr "Görevlendirme"
-#: calendar/gui/dialogs/task-page.c:530
+#: calendar/gui/dialogs/task-page.c:534
msgid "Due date is wrong"
msgstr "Tamamlanma tarihi hatalı"
-#: calendar/gui/dialogs/task-page.c:874
+#: calendar/gui/dialogs/task-page.c:878
#, c-format
msgid "Unable to open tasks in '%s'."
msgstr "'%s' içindeki görevler açılamadı."
@@ -6355,7 +6355,7 @@ msgid "Start Date"
msgstr "Başlangıç Tarihi"
#: calendar/gui/e-cal-list-view.etspec.h:5
-#: calendar/gui/e-calendar-table.etspec.h:11 mail/mail-dialogs.glade.h:17
+#: calendar/gui/e-calendar-table.etspec.h:11 mail/mail-dialogs.glade.h:21
msgid "Summary"
msgstr "Özet"
@@ -6411,7 +6411,7 @@ msgstr "Hayır"
#: calendar/gui/e-meeting-list-view.c:139
#: calendar/gui/e-meeting-list-view.c:153 calendar/gui/e-meeting-store.c:124
#: calendar/gui/e-meeting-store.c:159 calendar/gui/e-meeting-store.c:224
-#: mail/em-utils.c:1175 plugins/itip-formatter/itip-formatter.c:251
+#: mail/em-utils.c:1173 plugins/itip-formatter/itip-formatter.c:251
#: plugins/itip-formatter/itip-formatter.c:1398
#: plugins/plugin-manager/plugin-manager.c:72 shell/e-component-registry.c:201
#: shell/e-component-registry.c:205 widgets/misc/e-charset-picker.c:62
@@ -6540,7 +6540,7 @@ msgstr "_Seçilen Görevleri Bitmiş Olarak İşaretle"
#. FIXME: need to disable for undeletable folders
#: calendar/gui/e-calendar-table.c:1176 calendar/gui/e-calendar-view.c:1414
-#: mail/em-folder-tree.c:2815 mail/em-folder-view.c:980
+#: mail/em-folder-tree.c:2814 mail/em-folder-view.c:980
#: ui/evolution-addressbook.xml.h:33 ui/evolution-calendar.xml.h:40
#: ui/evolution-mail-message.xml.h:108 ui/evolution-tasks.xml.h:21
msgid "_Delete"
@@ -9413,15 +9413,15 @@ msgstr "Pasifik/Wallis"
msgid "Pacific/Yap"
msgstr "Pasifik/Yap"
-#: composer/e-msg-composer-hdrs.c:520
+#: composer/e-msg-composer-hdrs.c:519
msgid "Posting destination"
msgstr "Gönderme konumu"
-#: composer/e-msg-composer-hdrs.c:521
+#: composer/e-msg-composer-hdrs.c:520
msgid "Choose folders to post the message to."
msgstr "İletinin gönderileceği klasörleri seçin."
-#: composer/e-msg-composer-hdrs.c:555
+#: composer/e-msg-composer-hdrs.c:554
msgid "Click here for the address book"
msgstr "Adres defteri için buraya tıklayın"
@@ -9432,45 +9432,45 @@ msgstr "Adres defteri için buraya tıklayın"
#. * because that causes from_changed to be called, which
#. * expects the reply_to fields to be initialized.
#.
-#: composer/e-msg-composer-hdrs.c:585
+#: composer/e-msg-composer-hdrs.c:584
msgid "_Reply-To:"
msgstr "_Cevap KiÅŸisi:"
#.
#. * From
#.
-#: composer/e-msg-composer-hdrs.c:592
+#: composer/e-msg-composer-hdrs.c:591
msgid "Fr_om:"
msgstr "_Gönderen:"
#.
#. * Subject
#.
-#: composer/e-msg-composer-hdrs.c:599
+#: composer/e-msg-composer-hdrs.c:598
msgid "S_ubject:"
msgstr "_Konu:"
-#: composer/e-msg-composer-hdrs.c:609
+#: composer/e-msg-composer-hdrs.c:608
msgid "_To:"
msgstr "_Alıcı:"
-#: composer/e-msg-composer-hdrs.c:610
+#: composer/e-msg-composer-hdrs.c:609
msgid "Enter the recipients of the message"
msgstr "İletinin alıcılarını girin"
-#: composer/e-msg-composer-hdrs.c:613
+#: composer/e-msg-composer-hdrs.c:612
msgid "_Cc:"
msgstr "_Bilgi:"
-#: composer/e-msg-composer-hdrs.c:614
+#: composer/e-msg-composer-hdrs.c:613
msgid "Enter the addresses that will receive a carbon copy of the message"
msgstr "İletinin kopyasını alacak olan adresleri girin"
-#: composer/e-msg-composer-hdrs.c:617
+#: composer/e-msg-composer-hdrs.c:616
msgid "_Bcc:"
msgstr "_Saklı Bilgi:"
-#: composer/e-msg-composer-hdrs.c:618
+#: composer/e-msg-composer-hdrs.c:617
msgid ""
"Enter the addresses that will receive a carbon copy of the message without "
"appearing in the recipient list of the message."
@@ -9481,15 +9481,15 @@ msgstr ""
#.
#. * Post-To
#.
-#: composer/e-msg-composer-hdrs.c:625
+#: composer/e-msg-composer-hdrs.c:624
msgid "_Post To:"
msgstr "_Gönderilecek Yer:"
-#: composer/e-msg-composer-hdrs.c:630
+#: composer/e-msg-composer-hdrs.c:629
msgid "Click here to select folders to post to"
msgstr "Gönderilecek klasörleri seçmek için buraya tıklayın"
-#: composer/e-msg-composer-hdrs.c:636
+#: composer/e-msg-composer-hdrs.c:635
msgid "Post To:"
msgstr "Gönderilecek Yer:"
@@ -9530,7 +9530,7 @@ msgid "Open File"
msgstr "Dosya Aç"
#: composer/e-msg-composer.c:2001 mail/em-account-editor.c:588
-#: mail/em-account-editor.c:633 mail/em-account-editor.c:698
+#: mail/em-account-editor.c:633 mail/em-account-editor.c:700
msgid "Autogenerated"
msgstr "Otomatik hazırlanmış"
@@ -9543,7 +9543,7 @@ msgstr "_Ä°mza:"
msgid "Compose a message"
msgstr "Bir ileti yaz"
-#: composer/e-msg-composer.c:4554
+#: composer/e-msg-composer.c:4542
msgid ""
"<b>(The composer contains a non-text message body, which cannot be edited.)"
"<b>"
@@ -10304,44 +10304,44 @@ msgstr ""
msgid "Select Folder"
msgstr "Klasör Seçin"
-#: mail/em-account-editor.c:1661 mail/mail-config.glade.h:89
+#: mail/em-account-editor.c:1664 mail/mail-config.glade.h:89
msgid "Identity"
msgstr "Kimlik"
-#: mail/em-account-editor.c:1697 mail/mail-config.glade.h:114
+#: mail/em-account-editor.c:1700 mail/mail-config.glade.h:114
msgid "Receiving Email"
msgstr "E-posta Alınıyor"
-#: mail/em-account-editor.c:1874
+#: mail/em-account-editor.c:1877
msgid "Automatically check for _new mail every"
msgstr "_Yeni mektupların denetlenme aralığı: "
-#: mail/em-account-editor.c:2042 mail/mail-config.glade.h:124
+#: mail/em-account-editor.c:2045 mail/mail-config.glade.h:124
msgid "Sending Email"
msgstr "İleti Gönderiliyor"
-#: mail/em-account-editor.c:2086 mail/mail-config.glade.h:67
+#: mail/em-account-editor.c:2089 mail/mail-config.glade.h:67
msgid "Defaults"
msgstr "Öntanımlılar"
-#: mail/em-account-editor.c:2145 mail/mail-config.glade.h:119
+#: mail/em-account-editor.c:2148 mail/mail-config.glade.h:119
msgid "Security"
msgstr "Güvenlik"
#. Most sections for this is auto-generated fromt the camel config
-#: mail/em-account-editor.c:2182 mail/em-account-editor.c:2256
+#: mail/em-account-editor.c:2185 mail/em-account-editor.c:2260
msgid "Receiving Options"
msgstr "Alma Seçenekleri"
-#: mail/em-account-editor.c:2183 mail/em-account-editor.c:2257
+#: mail/em-account-editor.c:2186 mail/em-account-editor.c:2261
msgid "Checking for New Mail"
msgstr "Yeni Mektuplar Kontrol Ediliyor"
-#: mail/em-account-editor.c:2581 mail/mail-config.glade.h:33
+#: mail/em-account-editor.c:2585 mail/mail-config.glade.h:33
msgid "Account Editor"
msgstr "Hesap Düzenleyici"
-#: mail/em-account-editor.c:2581 mail/mail-config.glade.h:79
+#: mail/em-account-editor.c:2585 mail/mail-config.glade.h:79
msgid "Evolution Account Assistant"
msgstr "Evolution Hesap Asistanı"
@@ -10375,18 +10375,18 @@ msgstr "Ä°mza betiÄŸi ekle"
msgid "Signature(s)"
msgstr "Ä°mza(lar)"
-#: mail/em-composer-utils.c:849
+#: mail/em-composer-utils.c:911
msgid "-------- Forwarded Message --------"
msgstr "-------- Yönlendirilmiş İleti --------"
-#: mail/em-composer-utils.c:1459
+#: mail/em-composer-utils.c:1521
msgid "an unknown sender"
msgstr "bilinmeyen gönderici"
#. Note to translators: this is the attribution string used when quoting messages.
#. * each ${Variable} gets replaced with a value. To see a full list of available
#. * variables, see em-composer-utils.c:1514
-#: mail/em-composer-utils.c:1506
+#: mail/em-composer-utils.c:1568
msgid ""
"On ${AbbrevWeekdayName}, ${Year}-${Month}-${Day} at ${24Hour}:${Minute} "
"${TimeZone}, ${Sender} wrote:"
@@ -10641,7 +10641,7 @@ msgstr "baÅŸlayan"
msgid "Stop Processing"
msgstr "Ä°ÅŸlemeyi Durdur"
-#: mail/em-filter-i18n.h:65 mail/em-format-html.c:1532
+#: mail/em-filter-i18n.h:65 mail/em-format-html.c:1533
#: mail/em-format-quote.c:306 mail/em-format.c:853 mail/em-mailer-prefs.c:88
#: mail/message-list.etspec.h:13 mail/message-tag-followup.c:330
#: plugins/shared-folder/properties.glade.h:7 smime/lib/e-cert.c:1131
@@ -10684,7 +10684,7 @@ msgstr "<bir klasör seçmek için tıklayın>"
msgid "Create New Folder"
msgstr "Yeni Bir Klasör Yarat"
-#: mail/em-folder-selector.c:166 mail/em-folder-tree.c:2528
+#: mail/em-folder-selector.c:166 mail/em-folder-tree.c:2527
#: mail/mail-component.c:770 plugins/shared-folder/install-shared.c:144
#: plugins/shared-folder/share-folder-common.c:345
msgid "Specify where to create the folder:"
@@ -10729,111 +10729,111 @@ msgstr "Gönderilenler"
msgid "Loading..."
msgstr "Yükleniyor..."
-#: mail/em-folder-tree.c:689
+#: mail/em-folder-tree.c:688
msgid "Mail Folder Tree"
msgstr "Posta Klasör Ağacı"
-#: mail/em-folder-tree.c:922
+#: mail/em-folder-tree.c:921
#, c-format
msgid "Moving folder %s"
msgstr "%s klasörü taşınıyor"
-#: mail/em-folder-tree.c:924
+#: mail/em-folder-tree.c:923
#, c-format
msgid "Copying folder %s"
msgstr "%s klasörü kopyalanıyor"
-#: mail/em-folder-tree.c:931 mail/message-list.c:1612
+#: mail/em-folder-tree.c:930 mail/message-list.c:1612
#, c-format
msgid "Moving messages into folder %s"
msgstr "İletiler %s klasörüne taşınıyor"
-#: mail/em-folder-tree.c:933 mail/message-list.c:1614
+#: mail/em-folder-tree.c:932 mail/message-list.c:1614
#, c-format
msgid "Copying messages into folder %s"
msgstr "İletiler %s klasörüne kopyalanıyor"
-#: mail/em-folder-tree.c:949
+#: mail/em-folder-tree.c:948
msgid "Cannot drop message(s) into toplevel store"
msgstr "İleti(ler) üst seviye konuma taşınamıyor"
-#: mail/em-folder-tree.c:1045 ui/evolution-mail-message.xml.h:106
+#: mail/em-folder-tree.c:1044 ui/evolution-mail-message.xml.h:106
msgid "_Copy to Folder"
msgstr "Klasöre _Kopyala"
-#: mail/em-folder-tree.c:1046 ui/evolution-mail-message.xml.h:115
+#: mail/em-folder-tree.c:1045 ui/evolution-mail-message.xml.h:115
msgid "_Move to Folder"
msgstr "Klasöre _Taşı"
-#: mail/em-folder-tree.c:1751 mail/mail-ops.c:1051
+#: mail/em-folder-tree.c:1750 mail/mail-ops.c:1026
#, c-format
msgid "Scanning folders in \"%s\""
msgstr "\"%s\" içinde klasörler taranıyor"
-#: mail/em-folder-tree.c:2024
+#: mail/em-folder-tree.c:2023
#, c-format
msgid "Copying `%s' to `%s'"
msgstr "`%s' klasörü `%s' konumuna kopyalanıyor"
-#: mail/em-folder-tree.c:2298 mail/em-folder-tree.c:2312
+#: mail/em-folder-tree.c:2297 mail/em-folder-tree.c:2311
#: mail/em-folder-view.c:862 mail/em-folder-view.c:877
#: mail/importers/evolution-mbox-importer.c:120
#: mail/importers/evolution-outlook-importer.c:134
msgid "Select folder"
msgstr "Klasör seçin"
-#: mail/em-folder-tree.c:2298 mail/em-folder-view.c:877
+#: mail/em-folder-tree.c:2297 mail/em-folder-view.c:877
msgid "C_opy"
msgstr "_Kopyala"
-#: mail/em-folder-tree.c:2339 plugins/shared-folder/share-folder-common.c:138
+#: mail/em-folder-tree.c:2338 plugins/shared-folder/share-folder-common.c:138
#, c-format
msgid "Creating folder `%s'"
msgstr "'%s' klasörü oluşturuluyor"
-#: mail/em-folder-tree.c:2528 mail/mail-component.c:770
+#: mail/em-folder-tree.c:2527 mail/mail-component.c:770
#: plugins/shared-folder/install-shared.c:144
#: plugins/shared-folder/share-folder-common.c:345
msgid "Create folder"
msgstr "Yeni klasör yarat"
-#: mail/em-folder-tree.c:2721
+#: mail/em-folder-tree.c:2720
#, c-format
msgid "Rename the \"%s\" folder to:"
msgstr "\"%s\" klasörünü yeniden adlandır:"
-#: mail/em-folder-tree.c:2723
+#: mail/em-folder-tree.c:2722
msgid "Rename Folder"
msgstr "Klasörü yeniden adlandır"
-#: mail/em-folder-tree.c:2729
+#: mail/em-folder-tree.c:2728
msgid "Folder names cannot contain '/'"
msgstr "Klasör adları '/' karakteri bulunduramaz"
-#: mail/em-folder-tree.c:2803 ui/evolution-addressbook.xml.h:44
+#: mail/em-folder-tree.c:2802 ui/evolution-addressbook.xml.h:44
#: ui/evolution-mail-global.xml.h:17 ui/evolution-mail-messagedisplay.xml.h:8
#: ui/evolution-message-composer.xml.h:53 ui/evolution.xml.h:49
msgid "_View"
msgstr "_Göster"
-#: mail/em-folder-tree.c:2804
+#: mail/em-folder-tree.c:2803
msgid "Open in _New Window"
msgstr "_Yeni Pencerede Aç"
-#: mail/em-folder-tree.c:2808
+#: mail/em-folder-tree.c:2807
msgid "_Copy..."
msgstr "_Kopyala..."
-#: mail/em-folder-tree.c:2809
+#: mail/em-folder-tree.c:2808
msgid "_Move..."
msgstr "_Taşı..."
#. FIXME: need to disable for nochildren folders
-#: mail/em-folder-tree.c:2813
+#: mail/em-folder-tree.c:2812
msgid "_New Folder..."
msgstr "_Yeni Klasör..."
-#: mail/em-folder-tree.c:2816
+#: mail/em-folder-tree.c:2815
msgid "_Rename..."
msgstr "_Yeniden adlandır..."
@@ -11176,27 +11176,27 @@ msgid "Bcc"
msgstr "Saklı Bilgi"
#. pseudo-header
-#: mail/em-format-html.c:1536 mail/em-format-quote.c:315
+#: mail/em-format-html.c:1537 mail/em-format-quote.c:315
#: mail/em-mailer-prefs.c:986
msgid "Mailer"
msgstr "Postacı"
#. translators: strftime format for local time equivalent in Date header display, with day
-#: mail/em-format-html.c:1563
+#: mail/em-format-html.c:1564
msgid "<I> (%a, %R %Z)</I>"
msgstr "<I> (%a, %R %Z)</I>"
#. translators: strftime format for local time equivalent in Date header display, without day
-#: mail/em-format-html.c:1566
+#: mail/em-format-html.c:1567
msgid "<I> (%R %Z)</I>"
msgstr "<I> (%R %Z)</I>"
-#: mail/em-format-html.c:1576 mail/em-format-quote.c:322 mail/em-format.c:854
+#: mail/em-format-html.c:1577 mail/em-format-quote.c:322 mail/em-format.c:854
#: mail/em-mailer-prefs.c:89 mail/message-list.etspec.h:2
msgid "Date"
msgstr "Tarih"
-#: mail/em-format-html.c:1599 mail/em-format.c:855 mail/em-mailer-prefs.c:90
+#: mail/em-format-html.c:1600 mail/em-format.c:855 mail/em-mailer-prefs.c:90
msgid "Newsgroups"
msgstr "Haber grupları"
@@ -11376,20 +11376,20 @@ msgstr "Bu mesajı bir daha gösterme."
msgid "Filters"
msgstr "Filtreler"
-#: mail/em-utils.c:436
+#: mail/em-utils.c:434
msgid "message"
msgstr "ileti"
-#: mail/em-utils.c:545
+#: mail/em-utils.c:543
msgid "Save Message..."
msgstr "Ä°letiyi Kaydet..."
-#: mail/em-utils.c:594
+#: mail/em-utils.c:592
msgid "Add address"
msgstr "Adres ekle"
#. Drop filename for messages from a mailbox
-#: mail/em-utils.c:1073
+#: mail/em-utils.c:1071
#, c-format
msgid "Messages from %s"
msgstr "%s konumundan iletiler"
@@ -12078,27 +12078,27 @@ msgstr ""
msgid "Pine"
msgstr "Pine"
-#: mail/mail-autofilter.c:75
+#: mail/mail-autofilter.c:74
#, c-format
msgid "Mail to %s"
msgstr "%s adresine postala"
-#: mail/mail-autofilter.c:239 mail/mail-autofilter.c:278
+#: mail/mail-autofilter.c:238 mail/mail-autofilter.c:277
#, c-format
msgid "Mail from %s"
msgstr "%s adresinden mektup"
-#: mail/mail-autofilter.c:262
+#: mail/mail-autofilter.c:261
#, c-format
msgid "Subject is %s"
msgstr "Konu %s"
-#: mail/mail-autofilter.c:297
+#: mail/mail-autofilter.c:296
#, c-format
msgid "%s mailing list"
msgstr "%s posta listesi"
-#: mail/mail-autofilter.c:366
+#: mail/mail-autofilter.c:365
msgid "Add Filter Rule"
msgstr "Filtre Kuralı Ekle"
@@ -12172,7 +12172,7 @@ msgstr "Yeni bir posta klasörü oluştur"
msgid "Failed upgrading Mail settings or folders."
msgstr "Posta ayarları ve klasörleri güncellenirken başarısız olundu."
-#: mail/mail-config.glade.h:1 mail/mail-dialogs.glade.h:1
+#: mail/mail-config.glade.h:1 mail/mail-dialogs.glade.h:5
msgid " "
msgstr " "
@@ -12778,60 +12778,71 @@ msgstr "rengini kullan"
msgid "description"
msgstr "açıklama"
-#: mail/mail-dialogs.glade.h:3
+#: mail/mail-dialogs.glade.h:1
+msgid ""
+"\n"
+" Please read carefully the license agreement displayed\n"
+" below and tick the check box for accepting it\n"
+msgstr ""
+"\n"
+" Lütfen aşağıda gösterilen lisans \n"
+" sözleşmesini dikkatlice okuyun\n"
+" ve kabul etmek için kontrol kutusunu işaretleyin\n"
+
+#: mail/mail-dialogs.glade.h:7
msgid "<b>vFolder Sources</b>"
msgstr "<b>sKlasör Sources</b>"
-#: mail/mail-dialogs.glade.h:4
+#: mail/mail-dialogs.glade.h:8
msgid "<span weight=\"bold\">Digital Signature</span>"
msgstr "<span weight=\"bold\">Dijital Ä°mza</span>"
-#: mail/mail-dialogs.glade.h:5
+#: mail/mail-dialogs.glade.h:9
msgid "<span weight=\"bold\">Encryption</span>"
msgstr "<span weight=\"bold\">Åžifreleme</span>"
-#: mail/mail-dialogs.glade.h:6
+#: mail/mail-dialogs.glade.h:10
msgid "Case _Sensitive"
msgstr "Küçük/Büyük _Harfe Duyarlı"
-#: mail/mail-dialogs.glade.h:7 mail/message-tags.glade.h:2
+#: mail/mail-dialogs.glade.h:11 mail/message-tags.glade.h:2
msgid "Co_mpleted"
msgstr "_Tamamlandı"
-#: mail/mail-dialogs.glade.h:9
+#: mail/mail-dialogs.glade.h:13
msgid "F_ind:"
msgstr "_Bul:"
-#: mail/mail-dialogs.glade.h:10
+#: mail/mail-dialogs.glade.h:14
msgid "Find in Message"
msgstr "İletide İçinde Bul"
-#: mail/mail-dialogs.glade.h:11 mail/message-tag-followup.c:295
+#: mail/mail-dialogs.glade.h:15 mail/message-tag-followup.c:295
#: mail/message-tags.glade.h:3
msgid "Flag to Follow Up"
msgstr "Takip için İşaretle"
-#: mail/mail-dialogs.glade.h:12
+#: mail/mail-dialogs.glade.h:16
msgid "Folder Subscriptions"
msgstr "Klasör Kayıtları"
-#: mail/mail-dialogs.glade.h:13
+#: mail/mail-dialogs.glade.h:17
msgid "License Agreement"
msgstr "Lisans Sözleşmesi"
-#: mail/mail-dialogs.glade.h:14
+#: mail/mail-dialogs.glade.h:18
msgid "None Selected"
msgstr "Hiçbir Şey Seçili Değil"
-#: mail/mail-dialogs.glade.h:15
+#: mail/mail-dialogs.glade.h:19
msgid "S_erver:"
msgstr "S_unucu:"
-#: mail/mail-dialogs.glade.h:16
+#: mail/mail-dialogs.glade.h:20
msgid "Security Information"
msgstr "Güvenlik bilgisi"
-#: mail/mail-dialogs.glade.h:18 mail/message-tags.glade.h:4
+#: mail/mail-dialogs.glade.h:22 mail/message-tags.glade.h:4
msgid ""
"The messages you have selected for follow up are listed below.\n"
"Please select a follow up action from the \"Flag\" menu."
@@ -12839,43 +12850,43 @@ msgstr ""
"Takip için seçilen iletiler aşağıda listelenmiştir. \n"
"Lütfen \"Bayrak\" menüsünden bir takip işlemi seçiniz."
-#: mail/mail-dialogs.glade.h:20
+#: mail/mail-dialogs.glade.h:24
msgid "_Accept License"
msgstr "_Lisansı Kabul Et"
-#: mail/mail-dialogs.glade.h:21 mail/message-tags.glade.h:6
+#: mail/mail-dialogs.glade.h:25 mail/message-tags.glade.h:6
msgid "_Due By:"
msgstr "_En son:"
-#: mail/mail-dialogs.glade.h:22 mail/message-tags.glade.h:7
+#: mail/mail-dialogs.glade.h:26 mail/message-tags.glade.h:7
msgid "_Flag:"
msgstr "_Bayrak:"
-#: mail/mail-dialogs.glade.h:23
+#: mail/mail-dialogs.glade.h:27
msgid "_Subscribe"
msgstr "_Kaydol"
-#: mail/mail-dialogs.glade.h:24
+#: mail/mail-dialogs.glade.h:28
msgid "_Tick this to accept the license agreement"
msgstr "Lisans _sözleşmesini kabul etmek için burayı tıklayın"
-#: mail/mail-dialogs.glade.h:25
+#: mail/mail-dialogs.glade.h:29
msgid "_Unsubscribe"
msgstr "K_aydını Sil"
-#: mail/mail-dialogs.glade.h:26
+#: mail/mail-dialogs.glade.h:30
msgid "specific folders only"
msgstr "sadece belirtilen klasörler"
-#: mail/mail-dialogs.glade.h:27
+#: mail/mail-dialogs.glade.h:31
msgid "with all active remote folders"
msgstr "tüm etkin uzaktaki klasörlerle birlikte"
-#: mail/mail-dialogs.glade.h:28
+#: mail/mail-dialogs.glade.h:32
msgid "with all local and active remote folders"
msgstr "tüm yerel ve etkin uzaktaki klasörlerle birlikte"
-#: mail/mail-dialogs.glade.h:29
+#: mail/mail-dialogs.glade.h:33
msgid "with all local folders"
msgstr "tüm yerel klasörlerle birlikte"
@@ -13506,7 +13517,7 @@ msgstr "Klasör Filtreleniyor"
msgid "Fetching Mail"
msgstr "Mektup Alınıyor"
-#: mail/mail-ops.c:556 mail/mail-ops.c:598
+#: mail/mail-ops.c:542 mail/mail-ops.c:585
#, c-format
msgid ""
"Failed to append to %s: %s\n"
@@ -13516,119 +13527,119 @@ msgstr ""
"Onun yerine yerel `Giden' klasörüne ekleme yapılıyor."
#. sending mail, filtering failed
-#: mail/mail-ops.c:577
+#: mail/mail-ops.c:564
#, c-format
msgid "Failed to apply outgoing filters: %s"
msgstr "Giden filtreleri uygularken hata oluÅŸtu: %s"
-#: mail/mail-ops.c:615
+#: mail/mail-ops.c:602
#, c-format
msgid "Failed to append to local `Sent' folder: %s"
msgstr "Yerel `Giden' klasörüne ekleme yapılırken hata oluştu: %s"
-#: mail/mail-ops.c:727
+#: mail/mail-ops.c:702
#, c-format
msgid "Sending message %d of %d"
msgstr "%d / %d iletisi gönderiliyor"
-#: mail/mail-ops.c:752
+#: mail/mail-ops.c:727
#, c-format
msgid "Failed to send %d of %d messages"
msgstr "%d / %d iletisi gönderilirken hata oluştu"
-#: mail/mail-ops.c:754 mail/mail-send-recv.c:613
+#: mail/mail-ops.c:729 mail/mail-send-recv.c:613
msgid "Cancelled."
msgstr "Ä°ptal edildi."
-#: mail/mail-ops.c:756
+#: mail/mail-ops.c:731
msgid "Complete."
msgstr "Tamamlandı."
-#: mail/mail-ops.c:853
+#: mail/mail-ops.c:828
msgid "Saving message to folder"
msgstr "Ä°leti dizine kaydediliyor"
-#: mail/mail-ops.c:938
+#: mail/mail-ops.c:913
#, c-format
msgid "Moving messages to %s"
msgstr "İletiler %s klasörüne taşınıyor"
-#: mail/mail-ops.c:938
+#: mail/mail-ops.c:913
#, c-format
msgid "Copying messages to %s"
msgstr "İletiler %s klasörüne kopyalanıyor"
-#: mail/mail-ops.c:1164
+#: mail/mail-ops.c:1139
msgid "Forwarded messages"
msgstr "Yönlendirilmiş iletiler"
-#: mail/mail-ops.c:1207
+#: mail/mail-ops.c:1182
#, c-format
msgid "Opening folder %s"
msgstr "%s klasörü açılıyor"
-#: mail/mail-ops.c:1279
+#: mail/mail-ops.c:1254
#, c-format
msgid "Opening store %s"
msgstr "%s konumu açılıyor"
-#: mail/mail-ops.c:1357
+#: mail/mail-ops.c:1332
#, c-format
msgid "Removing folder %s"
msgstr "%s klasörü siliniyor"
-#: mail/mail-ops.c:1451
+#: mail/mail-ops.c:1426
#, c-format
msgid "Storing folder '%s'"
msgstr "'%s' klasörü saklanıyor"
-#: mail/mail-ops.c:1516
+#: mail/mail-ops.c:1491
#, c-format
msgid "Expunging and storing account '%s'"
msgstr "'%s' hesabı temizleniyor ve saklanıyor"
-#: mail/mail-ops.c:1517
+#: mail/mail-ops.c:1492
#, c-format
msgid "Storing account '%s'"
msgstr "'%s' hesabı saklanıyor"
-#: mail/mail-ops.c:1572
+#: mail/mail-ops.c:1547
msgid "Refreshing folder"
msgstr "Klasör tazeleniyor"
-#: mail/mail-ops.c:1608 mail/mail-ops.c:1659
+#: mail/mail-ops.c:1583 mail/mail-ops.c:1634
msgid "Expunging folder"
msgstr "Klasör temizleniyor"
-#: mail/mail-ops.c:1656
+#: mail/mail-ops.c:1631
#, c-format
msgid "Emptying trash in '%s'"
msgstr "'%s' içindeki çöpler boşaltılıyor"
-#: mail/mail-ops.c:1657
+#: mail/mail-ops.c:1632
msgid "Local Folders"
msgstr "Yerel Klasörler"
-#: mail/mail-ops.c:1740
+#: mail/mail-ops.c:1715
#, c-format
msgid "Retrieving message %s"
msgstr "İleti %s alınıyor"
-#: mail/mail-ops.c:1812
+#: mail/mail-ops.c:1787
#, c-format
msgid "Retrieving %d message"
msgid_plural "Retrieving %d messages"
msgstr[0] "%d ileti alınıyor"
msgstr[1] "%d ileti alınıyor"
-#: mail/mail-ops.c:1898
+#: mail/mail-ops.c:1873
#, c-format
msgid "Saving %d message"
msgid_plural "Saving %d messsages"
msgstr[0] "%d ileti kaydediliyor"
msgstr[1] "%d ileti kaydediliyor"
-#: mail/mail-ops.c:1948
+#: mail/mail-ops.c:1923
#, c-format
msgid ""
"Unable to create output file: %s\n"
@@ -13637,7 +13648,7 @@ msgstr ""
"Çıktı dosyası yaratılamadı: %s\n"
" %s"
-#: mail/mail-ops.c:1976
+#: mail/mail-ops.c:1951
#, c-format
msgid ""
"Error saving messages to: %s:\n"
@@ -13646,11 +13657,11 @@ msgstr ""
"İletilerin kaydında hata: %s:\n"
" %s"
-#: mail/mail-ops.c:2047
+#: mail/mail-ops.c:2022
msgid "Saving attachment"
msgstr "Ek kaydediliyor"
-#: mail/mail-ops.c:2059
+#: mail/mail-ops.c:2034
#, c-format
msgid ""
"Cannot create output file: %s:\n"
@@ -13659,22 +13670,22 @@ msgstr ""
"Çıktı dosyası oluşturulamadı: %s:\n"
" %s"
-#: mail/mail-ops.c:2069
+#: mail/mail-ops.c:2044
#, c-format
msgid "Could not write data: %s"
msgstr "Veri yazılamadı: %s"
-#: mail/mail-ops.c:2219
+#: mail/mail-ops.c:2194
#, c-format
msgid "Disconnecting from %s"
msgstr "%s bağlantısı kesiliyor"
-#: mail/mail-ops.c:2219
+#: mail/mail-ops.c:2194
#, c-format
msgid "Reconnecting to %s"
msgstr "%s adresine tekrar bağlanılıyor"
-#: mail/mail-ops.c:2335
+#: mail/mail-ops.c:2310
msgid "Checking Service"
msgstr "Servis Denetleniyor"
@@ -13748,16 +13759,16 @@ msgstr "Depo dizini `%s' oluşturulamadı: %s"
msgid "Trying to movemail a non-mbox source `%s'"
msgstr "Mektubu mbox kaynağı olmayan `%s' konumuna taşımaya çalışılıyor"
-#: mail/mail-tools.c:241
+#: mail/mail-tools.c:277
#, c-format
msgid "Forwarded message - %s"
msgstr "Yönlendirilmiş ileti - %s"
-#: mail/mail-tools.c:243
+#: mail/mail-tools.c:279
msgid "Forwarded message"
msgstr "Yönlendirilmiş ileti"
-#: mail/mail-tools.c:283
+#: mail/mail-tools.c:320
#, c-format
msgid "Invalid folder: `%s'"
msgstr "Geçersiz klasör: `%s'"
@@ -13785,65 +13796,65 @@ msgstr "sKlasör Düzenle"
msgid "New vFolder"
msgstr "Yeni sKlasör"
-#: mail/message-list.c:995
+#: mail/message-list.c:994
msgid "Unseen"
msgstr "Okunmamış"
-#: mail/message-list.c:996
+#: mail/message-list.c:995
msgid "Seen"
msgstr "OkunmuÅŸ"
-#: mail/message-list.c:997
+#: mail/message-list.c:996
msgid "Answered"
msgstr "Cevaplanmış"
-#: mail/message-list.c:998
+#: mail/message-list.c:997
msgid "Multiple Unseen Messages"
msgstr "Birden Fazla Okunmayan Ä°letiler"
-#: mail/message-list.c:999
+#: mail/message-list.c:998
msgid "Multiple Messages"
msgstr "Birden Fazla Ä°leti"
-#: mail/message-list.c:1003
+#: mail/message-list.c:1002
msgid "Lowest"
msgstr "En Düşük"
-#: mail/message-list.c:1004
+#: mail/message-list.c:1003
msgid "Lower"
msgstr "Daha Düşük"
-#: mail/message-list.c:1008
+#: mail/message-list.c:1007
msgid "Higher"
msgstr "Daha Yüksek"
-#: mail/message-list.c:1009
+#: mail/message-list.c:1008
msgid "Highest"
msgstr "En Yüksek"
-#: mail/message-list.c:1337
+#: mail/message-list.c:1336
msgid "?"
msgstr "?"
#. strftime format of a time,
#. in 12-hour format, without seconds.
-#: mail/message-list.c:1344 plugins/itip-formatter/itip-view.c:189
+#: mail/message-list.c:1343 plugins/itip-formatter/itip-view.c:189
msgid "Today %l:%M %p"
msgstr "Bugün %l:%M %p"
-#: mail/message-list.c:1353
+#: mail/message-list.c:1352
msgid "Yesterday %l:%M %p"
msgstr "Dün %l:%M %p"
-#: mail/message-list.c:1365
+#: mail/message-list.c:1364
msgid "%a %l:%M %p"
msgstr "%a %l %M %p"
-#: mail/message-list.c:1373
+#: mail/message-list.c:1372
msgid "%b %d %l:%M %p"
msgstr "%d %b %l:%M %p"
-#: mail/message-list.c:1375
+#: mail/message-list.c:1374
msgid "%b %d %Y"
msgstr "%d %b %Y"
@@ -13851,7 +13862,7 @@ msgstr "%d %b %Y"
msgid "Message List"
msgstr "Ä°leti Listesi"
-#: mail/message-list.c:3386
+#: mail/message-list.c:3384
msgid "Generating message list"
msgstr "Ä°leti listesi oluÅŸturuluyor"
@@ -14863,7 +14874,7 @@ msgstr "Kullanıcılar"
msgid "Enter the users and set permissions"
msgstr "Kullanıcıları gir ve izinleri ayarla"
-#: plugins/shared-folder/share-folder-common.c:403
+#: plugins/shared-folder/share-folder-common.c:401
msgid "Sharing"
msgstr "Paylaşım"
@@ -17827,43 +17838,43 @@ msgstr "Kategorileri Eşzamanlandır:"
#. To translators: This is the accessibility name of
#. the search bar's text entry widget
-#: widgets/misc/e-search-bar.c:345
+#: widgets/misc/e-search-bar.c:343
msgid "Search Text Entry"
msgstr "Metin GiriÅŸi Ara"
-#: widgets/misc/e-search-bar.c:549
+#: widgets/misc/e-search-bar.c:547
msgid "_Search"
msgstr "A_ra"
-#: widgets/misc/e-search-bar.c:555
+#: widgets/misc/e-search-bar.c:553
msgid "_Find Now"
msgstr "Åž_imdi Bul"
-#: widgets/misc/e-search-bar.c:556 widgets/misc/e-search-bar.c:943
+#: widgets/misc/e-search-bar.c:554 widgets/misc/e-search-bar.c:941
msgid "_Clear"
msgstr "_Temizle"
-#: widgets/misc/e-search-bar.c:647
+#: widgets/misc/e-search-bar.c:645
msgid "Search Type"
msgstr "Arama Türü"
-#: widgets/misc/e-search-bar.c:851
+#: widgets/misc/e-search-bar.c:849
msgid "Item ID"
msgstr "Öğe ID"
-#: widgets/misc/e-search-bar.c:858
+#: widgets/misc/e-search-bar.c:856
msgid "Subitem ID"
msgstr "Alt öğe ID"
-#: widgets/misc/e-search-bar.c:865
+#: widgets/misc/e-search-bar.c:863
msgid "Text"
msgstr "Metin"
-#: widgets/misc/e-search-bar.c:945
+#: widgets/misc/e-search-bar.c:943
msgid "Find _Now"
msgstr "Åž_imdi Bul"
-#: widgets/misc/e-send-options.c:506
+#: widgets/misc/e-send-options.c:505
msgid "When de_leted:"
msgstr "_SilindiÄŸinde:"
diff --git a/po/vi.po b/po/vi.po
index 02d6b35746..94335174e3 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -1,19 +1,21 @@
+# translation of vi.po to
# Copyright (C) 2002 Free Software Foundattion, Inc.
# This file is distributed under the same license as the evolution package.
-# pclouds <pclouds@gmx.net>, 2002-2004.
+# pclouds <pclouds@gmx.net>, 2002-2004, 2005.
#
msgid ""
msgstr ""
-"Project-Id-Version: evolution VERSION\n"
+"Project-Id-Version: vi\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2004-08-13 14:55-0400\n"
-"PO-Revision-Date: 2004-10-10 18:54+0700\n"
-"Last-Translator: pclouds <pclouds@vnlinux.org>\n"
-"Language-Team: GnomeVI <gnomevi-list@lists.sourceforge.net>\n"
+"PO-Revision-Date: 2005-03-05 02:42+0700\n"
+"Last-Translator: \n"
+"Language-Team: <en@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: KBabel 1.9.1\n"
#: a11y/addressbook/ea-addressbook-view.c:94
#: a11y/addressbook/ea-addressbook-view.c:103
@@ -215,8 +217,7 @@ msgstr "Sổ địa chỉ evolution kết thúc bất ngá»."
#. addressbook:backend-died secondary
#: addressbook/addressbook-errors.xml.h:55
-msgid ""
-"Your contacts for {0} will not be available until Evolution is restarted."
+msgid "Your contacts for {0} will not be available until Evolution is restarted."
msgstr ""
"Liên lạc cho {0} của bạn không thể sử dụng cho tới khi khởi động lại "
"Evolution."
@@ -576,8 +577,7 @@ msgid "Email address"
msgstr "Äịa chỉ email"
#: addressbook/gui/component/ldap-config.glade.h:21
-msgid ""
-"Evolution will use this email address to authenticate you with the server."
+msgid "Evolution will use this email address to authenticate you with the server."
msgstr "Evolution dùng địa chỉ email này để xác thực bạn với máy chủ."
#: addressbook/gui/component/ldap-config.glade.h:22
@@ -3441,20 +3441,16 @@ msgid "Export in asynchronous mode "
msgstr "Xuất theo chế độ không đồng bộ "
#: addressbook/tools/evolution-addressbook-export.c:63
-msgid ""
-"The number of cards in one output file in asychronous mode,default size 100."
-msgstr ""
-"Số card trong tập tin kết xuất trong chế độ không đồng bộ, mặc định là 100."
+msgid "The number of cards in one output file in asychronous mode,default size 100."
+msgstr "Số card trong tập tin kết xuất trong chế độ không đồng bộ, mặc định là 100."
#: addressbook/tools/evolution-addressbook-export.c:63
msgid "NUMBER"
msgstr "Sá»"
#: addressbook/tools/evolution-addressbook-export.c:91
-msgid ""
-"Command line arguments error, please use --help option to see the usage."
-msgstr ""
-"Lá»—i tham số dòng lệnh, vui lòng dùng tùy chá»n --help để xem cách sá»­ dụng."
+msgid "Command line arguments error, please use --help option to see the usage."
+msgstr "Lá»—i tham số dòng lệnh, vui lòng dùng tùy chá»n --help để xem cách sá»­ dụng."
#: addressbook/tools/evolution-addressbook-export.c:105
msgid "Only support csv or vcard format."
@@ -3522,8 +3518,7 @@ msgstr "Bạn có chắc muốn xóa cuá»™c há»p này không?"
#. calendar:prompt-delete-meeting secondary
#: calendar/calendar-errors.xml.h:10
-msgid ""
-"All information on this meeting will be deleted and can not be restored."
+msgid "All information on this meeting will be deleted and can not be restored."
msgstr "Má»i thông tin của cuá»™c há»p này sẽ bị xóa và không thể được phục hồi."
#. calendar:prompt-cancel-task secondary
@@ -3572,8 +3567,7 @@ msgstr "Bạn có chắc muốn xóa mục nhật ký này không?"
msgid ""
"All information on this journal entry will be deleted and can not be "
"restored."
-msgstr ""
-"Má»i thông tin của mục nhật ký này sẽ bị xóa và không thể được phục hồi."
+msgstr "Má»i thông tin của mục nhật ký này sẽ bị xóa và không thể được phục hồi."
#. calendar:prompt-delete-titled-appointment primary
#: calendar/calendar-errors.xml.h:32
@@ -3583,8 +3577,7 @@ msgstr "Bạn có chắc muốn xóa cuộc hẹn tên `{0}' không?"
#. calendar:prompt-delete-titled-appointment secondary
#. calendar:prompt-delete-appointment secondary
#: calendar/calendar-errors.xml.h:34 calendar/calendar-errors.xml.h:38
-msgid ""
-"All information on this appointment will be deleted and can not be restored."
+msgid "All information on this appointment will be deleted and can not be restored."
msgstr "Má»i thông tin của cuá»™c hẹn này sẽ bị xóa và không thể được phục hồi."
#. calendar:prompt-delete-appointment primary
@@ -3605,8 +3598,7 @@ msgstr "Bạn có chắc muốn xóa mục nhật ký `{0}' không?"
#. calendar:prompt-delete-named-journal secondary
#. calendar:prompt-delete-journal secondary
#: calendar/calendar-errors.xml.h:50 calendar/calendar-errors.xml.h:54
-msgid ""
-"All information in this journal will be deleted and can not be restored."
+msgid "All information in this journal will be deleted and can not be restored."
msgstr "Má»i thông tin của nhật ký này sẽ bị xóa và không thể được phục hồi."
#. calendar:prompt-delete-appointments primary
@@ -3619,8 +3611,7 @@ msgstr "Bạn có chắc muốn xóa {0} cuộc hẹn này không?"
msgid ""
"All information on these appointments will be deleted and can not be "
"restored."
-msgstr ""
-"Má»i thông tin của những cuá»™c hẹn này sẽ bị xóa và không thể được phục hồi."
+msgstr "Má»i thông tin của những cuá»™c hẹn này sẽ bị xóa và không thể được phục hồi."
#. calendar:prompt-delete-tasks primary
#: calendar/calendar-errors.xml.h:60
@@ -3630,8 +3621,7 @@ msgstr "Bạn có chắc muốn xóa {0} công việc này không?"
#. calendar:prompt-delete-tasks secondary
#: calendar/calendar-errors.xml.h:62
msgid "All information on these tasks will be deleted and can not be restored."
-msgstr ""
-"Má»i thông tin của những công việc này sẽ bị xóa và không thể được phục hồi."
+msgstr "Má»i thông tin của những công việc này sẽ bị xóa và không thể được phục hồi."
#. calendar:prompt-delete-journals primary
#: calendar/calendar-errors.xml.h:64
@@ -3643,8 +3633,7 @@ msgstr "Bạn có chắc muốn xóa {0} mục nhật ký này không?"
msgid ""
"All information in these journal entries will be deleted and can not be "
"restored."
-msgstr ""
-"Má»i thông tin của những mục nhật ký này sẽ bị xóa và không thể được phục hồi."
+msgstr "Má»i thông tin của những mục nhật ký này sẽ bị xóa và không thể được phục hồi."
#. calendar:prompt-save-appointment title
#: calendar/calendar-errors.xml.h:68
@@ -3692,8 +3681,7 @@ msgstr "Bạn có muốn gá»­i lá»i má»i há»p đến những ngÆ°á»i tham dá
#. calendar:prompt-meeting-invite secondary
#: calendar/calendar-errors.xml.h:86
-msgid ""
-"Email invitations will be sent to all participants and allow them to RSVP."
+msgid "Email invitations will be sent to all participants and allow them to RSVP."
msgstr "Email má»i dá»± sẽ được gá»­i cho má»i ngÆ°á»i tham dá»± và cho phép há» RSVP."
#: calendar/calendar-errors.xml.h:88 calendar/calendar-errors.xml.h:94
@@ -3714,8 +3702,7 @@ msgstr ""
msgid ""
"Sending updated information allows other participants to keep their "
"calendars up to date."
-msgstr ""
-"Gá»­i thông tin cập nhật cho phép những ngÆ°á»i khác cập nhật lại lịch của há»."
+msgstr "Gá»­i thông tin cập nhật cho phép những ngÆ°á»i khác cập nhật lại lịch của há»."
#. calendar:prompt-send-task primary
#: calendar/calendar-errors.xml.h:96
@@ -3767,8 +3754,7 @@ msgstr "Lịch Evolution kết thúc bất ngá»."
#. calendar:calendar-crashed secondary
#: calendar/calendar-errors.xml.h:114
msgid "Your calendars will not be available until Evolution is restarted."
-msgstr ""
-"Các lịch của bạn sẽ không sẵn sàng cho đến khi bạn khởi động lại Evolution."
+msgstr "Các lịch của bạn sẽ không sẵn sàng cho đến khi bạn khởi động lại Evolution."
#: calendar/common/authentication.c:48 calendar/gui/e-pub-utils.c:301
#: smime/gui/component.c:48
@@ -4141,7 +4127,6 @@ msgstr ""
"Nếu bạn tiếp tục, bạn sẽ không thể phục hồi những công việc này."
#: calendar/gui/calendar-commands.c:358
-#, fuzzy
msgid "Purge events older than"
msgstr "Xóa sự kiện trước"
@@ -5277,8 +5262,7 @@ msgid "You are modifying a recurring task, what would you like to modify?"
msgstr "Bạn đang thay đổi công việc lặp, bạn muốn thay đổi cái nào?"
#: calendar/gui/dialogs/recur-comp.c:59
-msgid ""
-"You are modifying a recurring journal entry, what would you like to modify?"
+msgid "You are modifying a recurring journal entry, what would you like to modify?"
msgstr "Bạn đang thay đổi mục nhật ký lặp, bạn muốn thay đổi cái nào?"
#: calendar/gui/dialogs/recur-comp.c:85
@@ -6181,8 +6165,7 @@ msgstr "NgÆ°á»i lạ"
msgid ""
"<br> Please review the following information, and then select an action from "
"the menu below."
-msgstr ""
-"<br> Vui lòng xem lại các chỉ dẫn sau và chá»n má»™t hành Ä‘á»™ng từ menu bên dÆ°á»›i."
+msgstr "<br> Vui lòng xem lại các chỉ dẫn sau và chá»n má»™t hành Ä‘á»™ng từ menu bên dÆ°á»›i."
#: calendar/gui/e-itip-control.c:967
msgid "Location:"
@@ -6249,14 +6232,11 @@ msgstr "Gửi thông tin mới nhất"
msgid ""
"The meeting has been cancelled, however it could not be found in your "
"calendars"
-msgstr ""
-"Cuá»™c há»p đã bị hủy tuy nhiên không tìm thấy cuá»™c há»p trong lịch của bạn."
+msgstr "Cuá»™c há»p đã bị hủy tuy nhiên không tìm thấy cuá»™c há»p trong lịch của bạn."
#: calendar/gui/e-itip-control.c:1146
-msgid ""
-"The task has been cancelled, however it could not be found in your task lists"
-msgstr ""
-"Công việc đã bị hủy tuy nhiên không tìm thấy cuá»™c há»p trong lịch của bạn."
+msgid "The task has been cancelled, however it could not be found in your task lists"
+msgstr "Công việc đã bị hủy tuy nhiên không tìm thấy cuá»™c há»p trong lịch của bạn."
#: calendar/gui/e-itip-control.c:1159 calendar/gui/itip-utils.c:442
#: mail/mail-send-recv.c:410 mail/mail-send-recv.c:464
@@ -6459,8 +6439,7 @@ msgstr ""
#: calendar/gui/e-itip-control.c:1879
msgid "Attendee status could not be updated because of an invalid status!\n"
-msgstr ""
-"Không thể cập nhật trạng thái ngÆ°á»i tham dá»± vì trạng thái không hợp lệ!\n"
+msgstr "Không thể cập nhật trạng thái ngÆ°á»i tham dá»± vì trạng thái không hợp lệ!\n"
#: calendar/gui/e-itip-control.c:1896
msgid "Attendee status updated\n"
@@ -6468,8 +6447,7 @@ msgstr "Äã cập nhật trạng thái ngÆ°á»i tham dá»±\n"
#: calendar/gui/e-itip-control.c:1899
msgid "Attendee status can not be updated because the item no longer exists"
-msgstr ""
-"Không thể cập nhật trạng thái ngÆ°á»i tham dá»± vì chÆ°a có ngÆ°á»i nào tham dá»±"
+msgstr "Không thể cập nhật trạng thái ngÆ°á»i tham dá»± vì chÆ°a có ngÆ°á»i nào tham dá»±"
#: calendar/gui/e-itip-control.c:1926
msgid "Removal Complete"
@@ -7120,8 +7098,7 @@ msgstr "Thiết lập in"
#: calendar/gui/tasks-component.c:314
#, c-format
msgid "Task List '%s' will be removed. Are you sure you want to continue?"
-msgstr ""
-"Danh sách công việc '%s' sẽ bị loại bá». Bạn có chắc muốn tiếp tục không?"
+msgstr "Danh sách công việc '%s' sẽ bị loại bá». Bạn có chắc muốn tiếp tục không?"
#: calendar/gui/tasks-component.c:372
msgid "New Task List"
@@ -10088,8 +10065,7 @@ msgstr "Kiểm tra tìm thÆ° má»›i trên má»i thÆ° mục"
#: camel/providers/groupwise/camel-groupwise-provider.c:59
msgid "Apply filters to new messages in Inbox on this server"
-msgstr ""
-"Ãp dụng bá»™ lá»c vá»›i những thông Ä‘iệp má»›i trong thÆ° mục INBOX trên máy chủ này"
+msgstr "Ãp dụng bá»™ lá»c vá»›i những thông Ä‘iệp má»›i trong thÆ° mục INBOX trên máy chủ này"
#: camel/providers/groupwise/camel-groupwise-provider.c:61
#: camel/providers/imap/camel-imap-provider.c:66
@@ -10143,8 +10119,7 @@ msgstr "Mật khẩu"
#: camel/providers/imap/camel-imap-provider.c:95
#: camel/providers/imapp/camel-imapp-provider.c:67
msgid "This option will connect to the IMAP server using a plaintext password."
-msgstr ""
-"Tùy chá»n này sẽ kết nối tá»›i máy chủ IMAP bằng mật khẩu thô (không mã hóa)."
+msgstr "Tùy chá»n này sẽ kết nối tá»›i máy chủ IMAP bằng mật khẩu thô (không mã hóa)."
#: camel/providers/groupwise/camel-gw-listener.c:332
#: camel/providers/groupwise/camel-gw-listener.c:362
@@ -10270,8 +10245,7 @@ msgstr ""
#: camel/providers/imap/camel-imap-folder.c:2482
#, c-format
-msgid ""
-"Unexpected server response: Identical UIDs provided for messages %d and %d"
+msgid "Unexpected server response: Identical UIDs provided for messages %d and %d"
msgstr ""
#: camel/providers/imap/camel-imap-folder.c:2658
@@ -10453,8 +10427,7 @@ msgstr "Không có thư mục %s"
#: camel/providers/imap/camel-imap-store.c:2259
#: camel/providers/imap4/camel-imap4-store.c:764
#, c-format
-msgid ""
-"The folder name \"%s\" is invalid because it contains the character \"%c\""
+msgid "The folder name \"%s\" is invalid because it contains the character \"%c\""
msgstr "Tên thư mục \"%s\" không hợp lệ vì chứa ký tự \"%c\""
#: camel/providers/imap/camel-imap-store.c:1939
@@ -10592,10 +10565,8 @@ msgstr "Äể Ä‘á»c và lÆ°u thÆ° trên IMAP server."
#: camel/providers/imap4/camel-imap4-provider.c:72
#, fuzzy
-msgid ""
-"This option will connect to the IMAPv4rev1 server using a plaintext password."
-msgstr ""
-"Tùy chá»n này sẽ kết nối tá»›i IMAP server bằng mật khẩu thô (không mã hóa)."
+msgid "This option will connect to the IMAPv4rev1 server using a plaintext password."
+msgstr "Tùy chá»n này sẽ kết nối tá»›i IMAP server bằng mật khẩu thô (không mã hóa)."
#: camel/providers/imap4/camel-imap4-store.c:257
#, fuzzy, c-format
@@ -10606,10 +10577,8 @@ msgstr "Lỗi kết nối tới IMAP server %s trong chế độ an toàn: %s"
#: camel/providers/imap4/camel-imap4-store.c:363
#, fuzzy, c-format
-msgid ""
-"Cannot authenticate to IMAP server %s using the %s authentication mechanism"
-msgstr ""
-"Không thể kết nối tới POP server %s: Không hỗ trợ cơ chế xác thực yêu cầu."
+msgid "Cannot authenticate to IMAP server %s using the %s authentication mechanism"
+msgstr "Không thể kết nối tới POP server %s: Không hỗ trợ cơ chế xác thực yêu cầu."
#: camel/providers/imap4/camel-imap4-store.c:408
#, c-format
@@ -11330,8 +11299,7 @@ msgid "Unable to save grouplist file for %s: %s"
msgstr "Không thể lưu tập tin danh sách nhóm cho %s: %s"
#: camel/providers/nntp/camel-nntp-provider.c:43
-msgid ""
-"Show folders in short notation (e.g. c.o.linux rather than comp.os.linux)"
+msgid "Show folders in short notation (e.g. c.o.linux rather than comp.os.linux)"
msgstr "Hiện thÆ° mục kiểu ngắn gá»n (v.d. c.o.linux thay vì comp.os.linux)"
#: camel/providers/nntp/camel-nntp-provider.c:45
@@ -11350,8 +11318,7 @@ msgstr "Äây là bá»™ cung cấp Ä‘á»c và gá»­i thÆ° tá»›i các nhóm tin USE
msgid ""
"This option will authenticate with the NNTP server using a plaintext "
"password."
-msgstr ""
-"Tùy chá»n này sẽ xác thá»±c vá»›i máy chủ NNTP bằng mật khẩu thô (không mã hóa)"
+msgstr "Tùy chá»n này sẽ xác thá»±c vá»›i máy chủ NNTP bằng mật khẩu thô (không mã hóa)"
#: camel/providers/nntp/camel-nntp-store.c:118
#: camel/providers/nntp/camel-nntp-store.c:1233
@@ -11559,8 +11526,7 @@ msgstr "Không thể kết nối tới máy chủ POP %s"
msgid ""
"Unable to connect to POP server %s: No support for requested authentication "
"mechanism."
-msgstr ""
-"Không thể kết nối tới máy chủ POP %s: Không hỗ trợ cơ chế xác thực yêu cầu."
+msgstr "Không thể kết nối tới máy chủ POP %s: Không hỗ trợ cơ chế xác thực yêu cầu."
#: camel/providers/pop3/camel-pop3-store.c:428
#, c-format
@@ -11615,8 +11581,7 @@ msgstr "Sendmail"
msgid ""
"For delivering mail by passing it to the \"sendmail\" program on the local "
"system."
-msgstr ""
-"Äể gá»­i thÆ° bằng cách chuyển nó cho chÆ°Æ¡ng trình sendmail trên hệ thống này."
+msgstr "Äể gá»­i thÆ° bằng cách chuyển nó cho chÆ°Æ¡ng trình sendmail trên hệ thống này."
#: camel/providers/sendmail/camel-sendmail-transport.c:113
msgid "Could not parse recipient list"
@@ -12071,8 +12036,7 @@ msgstr "Äính kèm tập tin"
#: composer/e-msg-composer.c:704
#, fuzzy
-msgid ""
-"Cannot sign outgoing message: No signing certificate set for this account"
+msgid "Cannot sign outgoing message: No signing certificate set for this account"
msgstr "_Luôn ký tên lên các thư cần gửi khi dùng tài khoản này"
#: composer/e-msg-composer.c:711
@@ -12817,8 +12781,7 @@ msgid "Composer Preferences"
msgstr "Thông số bộ soạn thảo"
#: mail/GNOME_Evolution_Mail.server.in.in.h:3
-msgid ""
-"Configure mail preferences, including security and message display, here"
+msgid "Configure mail preferences, including security and message display, here"
msgstr ""
"Cấu hình thông số thư tín, bao gồm tính bảo mật và hiển thị thông điệp, ở "
"đây."
@@ -13195,16 +13158,14 @@ msgstr "Thuộc tính thư mục"
#. TODO: can this be done in a loop?
#: mail/em-folder-properties.c:161
-#, fuzzy
msgid "Total message:"
msgid_plural "Total messages:"
-msgstr[0] "Tất cả thông điệp"
+msgstr[0] "Tất cả thông điệp:"
#: mail/em-folder-properties.c:173
-#, fuzzy
msgid "Unread message:"
msgid_plural "Unread messages:"
-msgstr[0] "Thông Ä‘iệp chÆ°a Ä‘á»c"
+msgstr[0] "Thông Ä‘iệp chÆ°a Ä‘á»c:"
#: mail/em-folder-selection-button.c:120
msgid "<click here to select a folder>"
@@ -13971,9 +13932,8 @@ msgid "Default height of the Subscribe dialog"
msgstr "Cắt thông Ä‘iệp đã chá»n"
#: mail/evolution-mail.schemas.in.in.h:16
-#, fuzzy
msgid "Default reply style"
-msgstr "Kiểu chuyển tiếp mặc định là: "
+msgstr "Kiểu trả lá»i mặc định"
#: mail/evolution-mail.schemas.in.in.h:17
#, fuzzy
@@ -14150,8 +14110,7 @@ msgid "Prompt the user when he or she tries to expunge a folder."
msgstr ""
#: mail/evolution-mail.schemas.in.in.h:56
-msgid ""
-"Prompt the user when he or she tries to send a message without a Subject."
+msgid "Prompt the user when he or she tries to send a message without a Subject."
msgstr ""
#: mail/evolution-mail.schemas.in.in.h:57
@@ -15537,8 +15496,7 @@ msgstr ""
#. mail:send-no-recipients primary
#: mail/mail-errors.xml.h:34
-msgid ""
-"This message cannot be sent because you have not specified any Recipients"
+msgid "This message cannot be sent because you have not specified any Recipients"
msgstr ""
#. mail:send-no-recipients secondary
@@ -16469,8 +16427,7 @@ msgid "Last upgraded Evolution configuration version"
msgstr "Giao diện cấu hình mail."
#: shell/apps_evolution_shell.schemas.in.in.h:10
-msgid ""
-"List of paths for the folders to be synchronized to disk for offline usage"
+msgid "List of paths for the folders to be synchronized to disk for offline usage"
msgstr ""
#: shell/apps_evolution_shell.schemas.in.in.h:11
@@ -16710,8 +16667,7 @@ msgstr "Ngoại tuyến"
#: shell/e-shell-window.c:337
msgid "Evolution is currently online. Click on this button to work offline."
-msgstr ""
-"Evolution hiện thá»i Ä‘ang trá»±c tuyến. Nhấn nút này để chuyển sang ngoại tuyến."
+msgstr "Evolution hiện thá»i Ä‘ang trá»±c tuyến. Nhấn nút này để chuyển sang ngoại tuyến."
#: shell/e-shell-window.c:344
msgid "Evolution is in the process of going offline."
@@ -17298,8 +17254,7 @@ msgid "You have certificates from these organizations that identify you:"
msgstr ""
#: smime/gui/smime-ui.glade.h:43
-msgid ""
-"You have certificates on file that identify these certificate authorities:"
+msgid "You have certificates on file that identify these certificate authorities:"
msgstr ""
#: smime/gui/smime-ui.glade.h:44
@@ -18067,10 +18022,8 @@ msgid "Hide _Read Messages"
msgstr "Ẩn thông Ä‘iệp đã Ä‘á»c"
#: ui/evolution-mail-list.xml.h:8
-msgid ""
-"Hide deleted messages rather than displaying them with a line through them"
-msgstr ""
-"Ẩn thông Ä‘iệp đã xoá thay vì hiển thị chúng vá»›i má»™t Ä‘Æ°á»ng gạch ngang qua"
+msgid "Hide deleted messages rather than displaying them with a line through them"
+msgstr "Ẩn thông Ä‘iệp đã xoá thay vì hiển thị chúng vá»›i má»™t Ä‘Æ°á»ng gạch ngang qua"
#: ui/evolution-mail-list.xml.h:9
msgid "Mark All as _Read"
@@ -19181,8 +19134,7 @@ msgstr "Truy vấn Evolution"
#. setup a dummy error
#: widgets/misc/e-error.c:421
#, c-format
-msgid ""
-"<span weight=\"bold\">Internal error, unknown error '%s' requested</span>"
+msgid "<span weight=\"bold\">Internal error, unknown error '%s' requested</span>"
msgstr "<span weight=\"bold\">Lỗi nội tại, lỗi lạ '%s' được yêu cầu</span>"
#: widgets/misc/e-expander.c:181
@@ -19351,14 +19303,12 @@ msgstr "Nhớ mật khẩu này"
msgid "Remember this password for the remainder of this session"
msgstr "Nhớ mật khẩu này để nhắc nhở cho những lần sử dụng sau"
-#, fuzzy
msgid "Keep"
-msgstr "Bíp"
+msgstr "Giữ"
msgid "New Contacts Group"
msgstr "Nhóm Liên lạc mới"
-#, fuzzy
msgid "Contacts Grou_p"
msgstr "Nhóm _Liên lạc"
@@ -19398,18 +19348,15 @@ msgstr "Thêm Nhóm công việc"
msgid "L_ocation:"
msgstr "Äị_a Ä‘iểm:"
-#, fuzzy
msgid "<b>Organizer</b>"
-msgstr "<b>Khác</b>"
+msgstr "<b>NgÆ°á»i tổ chức</b>"
-#, fuzzy
msgid "_Organizer:"
-msgstr "Tổ chức:"
+msgstr "_NgÆ°á»i tổ chức:"
msgid "New tasks group"
msgstr "Nhóm công việc mới"
-#, fuzzy
msgid "Tasks Gro_up"
msgstr "_Nhóm công việc"
@@ -19679,9 +19626,8 @@ msgstr "Äang kết nối"
msgid "Distinguished _name:"
msgstr "Tên _phân biệt:"
-#, fuzzy
msgid "Email address:"
-msgstr "Äịa chỉ _email:"
+msgstr "Äịa chỉ email:"
msgid "Evolution will use this DN to authenticate you with the server"
msgstr "Evolution sẽ dùng DN này để xác thực bạn với server"
@@ -19726,9 +19672,8 @@ msgstr "searching-tab"
msgid "Job title:"
msgstr "Tên n_ghá»:"
-#, fuzzy
msgid "Webcam:"
-msgstr "Trang"
+msgstr "Webcam:"
msgid "Could not find widget for a field: `%s'"
msgstr "Không thể tìm thấy widget cho trÆ°á»ng: `%s'"
@@ -19748,29 +19693,24 @@ msgstr ""
"%s\n"
"đã há»ng. Bạn phải khởi Ä‘á»™ng lại Evolution để dùng lại."
-#, fuzzy
msgid "Can not load URI"
-msgstr "Không có card"
+msgstr "Không thể nạp URI"
-#, fuzzy
msgid "Calendar Properties"
-msgstr "Lá»—i iCalendar"
+msgstr "Thuộc tính lịch"
-#, fuzzy
msgid "Remote"
-msgstr "Loại bá»"
+msgstr "Từ xa"
-#, fuzzy
msgid "Task List Properties"
-msgstr "Danh sách công việc"
+msgstr "Thuộc tính Danh sách công việc"
#, fuzzy
msgid "_Refresh Interval:"
msgstr "_Danh sách cập nhật"
-#, fuzzy
msgid "_Source URL:"
-msgstr "URI của POP"
+msgstr "URL _nguồn:"
msgid ""
"The event being deleted is a meeting, would you like to send a cancellation "
@@ -19814,9 +19754,8 @@ msgstr ""
msgid "_Discard Changes"
msgstr "_Hủy thay đổi"
-#, fuzzy
msgid "Save Event"
-msgstr "Sự kiện lịch"
+msgstr "Lưu sự kiện"
msgid "The meeting information has been created. Send it?"
msgstr "Thông tin cuá»™c há»p đã được tại. Gá»­i nó Ä‘i chứ?"
@@ -19860,9 +19799,8 @@ msgstr "Äang làm việc"
msgid "Brought to you by"
msgstr "Äược mang lại bởi"
-#, fuzzy
msgid "_Filename:"
-msgstr "Tên tập tin:"
+msgstr "_Tên tập tin:"
msgid ""
"%s\n"
@@ -19895,9 +19833,8 @@ msgstr ""
"Lỗi từ hệ thống kích hoạt:\n"
"%s"
-#, fuzzy
msgid "View Certificate"
-msgstr "_ID Chứng nhận:"
+msgstr "Xem Chứng nhận"
msgid "About Ximian Evolution..."
msgstr "Giới thiệu Ximian Evolution..."
@@ -19909,13 +19846,11 @@ msgstr "_Giới thiệu Ximian Evolution..."
msgid "Evolution Addressbook folder viewer"
msgstr "Bộ xem Minicard sổ địa chỉ evolution"
-#, fuzzy
msgid "Address 2:"
-msgstr "Äịa chỉ _2:"
+msgstr "Äịa chỉ 2:"
-#, fuzzy
msgid "Blog:"
-msgstr "Bologna"
+msgstr "Blog:"
#, fuzzy
msgid "Evolution Calendar viewer"
@@ -19949,13 +19884,11 @@ msgstr "Thá»i gian"
msgid "_General"
msgstr "_Chung"
-#, fuzzy
msgid "Select source"
-msgstr "Chá»n bá»™ nhập"
+msgstr "Chá»n nguồn"
-#, fuzzy
msgid "calendar"
-msgstr "Lịch"
+msgstr "lịch"
msgid "Calendar file could not be updated!\n"
msgstr "Không thể cập nhật tập tin lịch!\n"
@@ -20087,9 +20020,8 @@ msgid ""
"\t\t\t up an address book."
msgstr "Xác định tên hiển thị là bước cuối cùng để cấu hình LDAP server."
-#, fuzzy
msgid "Step 3: Connecting to Server"
-msgstr "Bước 2: Kết nối tới server"
+msgstr "Bước 3: Kết nối tới máy chủ"
#, fuzzy
msgid "Step 4: Searching the Directory"
@@ -20143,28 +20075,23 @@ msgstr ""
"tin đăng nhập của bạn. Vui lòng há»i quản trị hệ thống của bạn nếu bạn không\n"
"chắc vỠnhững thông tin này."
-#, fuzzy
msgid " B_usiness:"
-msgstr "Kinh doanh"
+msgstr "_Kinh doanh:"
-#, fuzzy
msgid "A_ddress..."
-msgstr "Äị_a chỉ.."
+msgstr "Äị_a chỉ..."
msgid "A_ssistant's name:"
msgstr "Tên p_hụ tá:"
-#, fuzzy
msgid "Addressbook:"
-msgstr "Sổ địa chỉ"
+msgstr "Sổ địa chỉ:"
-#, fuzzy
msgid "Blog address:"
-msgstr "Äịa chỉ _email:"
+msgstr "Äịa chỉ Blog:"
-#, fuzzy
msgid "Business fa_x:"
-msgstr "Fax Kinh doanh"
+msgstr "Fa_x Kinh doanh:"
msgid "Collaboration"
msgstr "Hợp tác"
@@ -21335,8 +21262,7 @@ msgstr "Gửi bất cứ giá nào?"
msgid "Folder _name"
msgstr "Tên thư mục:"
-msgid ""
-"This message is digitally signed. Click the lock icon for more information."
+msgid "This message is digitally signed. Click the lock icon for more information."
msgstr "Thông điệp này dùng chữ ký số. Nhấn biểu tượng khóa để biết thêm."
#, fuzzy
@@ -21688,8 +21614,7 @@ msgstr "contains? cần đối số thứ hai là chuỗi"
msgid ""
"contains? expects argument 1 to be one of \"any\", \"summary\", \"description"
"\""
-msgstr ""
-"contains? cần đối số thứ nhất là \"bất kỳ\", \"tóm tắt\", hoặc \"mô tả\""
+msgstr "contains? cần đối số thứ nhất là \"bất kỳ\", \"tóm tắt\", hoặc \"mô tả\""
#, fuzzy
msgid "has-alarms? expects at least 1 argument"
@@ -21881,10 +21806,8 @@ msgstr "In card"
msgid "Error while communicating with calendar server"
msgstr "Lỗi khi liên lạc với server lịch"
-msgid ""
-"Could not create the calendar view. Please check your ORBit and OAF setup."
-msgstr ""
-"Không thể tạo khung xem lịch. Vui lòng kiểm tra thiết lập ORBit và OAF."
+msgid "Could not create the calendar view. Please check your ORBit and OAF setup."
+msgstr "Không thể tạo khung xem lịch. Vui lòng kiểm tra thiết lập ORBit và OAF."
msgid "Folder containing appointments and events"
msgstr "Thư mục chứa các cuộc hẹn và sự kiện"
@@ -21912,18 +21835,15 @@ msgstr "Bạn không có đủ quyá»n để cập nhật đối tượng này"
#, fuzzy
msgid "The event could not be deleted because it was invalid"
-msgstr ""
-"Không thể cập nhật trạng thái ngÆ°á»i tham dá»± vì trạng thái không hợp lệ!\n"
+msgstr "Không thể cập nhật trạng thái ngÆ°á»i tham dá»± vì trạng thái không hợp lệ!\n"
#, fuzzy
msgid "The task could not be deleted because it was invalid"
-msgstr ""
-"Không thể cập nhật trạng thái ngÆ°á»i tham dá»± vì trạng thái không hợp lệ!\n"
+msgstr "Không thể cập nhật trạng thái ngÆ°á»i tham dá»± vì trạng thái không hợp lệ!\n"
#, fuzzy
msgid "The item could not be deleted because it was invalid"
-msgstr ""
-"Không thể cập nhật trạng thái ngÆ°á»i tham dá»± vì trạng thái không hợp lệ!\n"
+msgstr "Không thể cập nhật trạng thái ngÆ°á»i tham dá»± vì trạng thái không hợp lệ!\n"
msgid "That person is already attending the meeting!"
msgstr "NgÆ°á»i này đã có tên trong cuá»™c há»p rồi!"
@@ -30991,10 +30911,8 @@ msgstr "Không thể tạo Factory bộ soạn thảo thành phần"
msgid "Print Calendar"
msgstr "In lịch"
-msgid ""
-"Could not create the tasks view. Please check your ORBit and OAF setup."
-msgstr ""
-"Không thể tạo cửa sổ công việc. Vui lòng kiểm tra thiết lập ORBit và OAF."
+msgid "Could not create the tasks view. Please check your ORBit and OAF setup."
+msgstr "Không thể tạo cửa sổ công việc. Vui lòng kiểm tra thiết lập ORBit và OAF."
msgid "Warning!"
msgstr "Cảnh báo!"
@@ -31059,8 +30977,7 @@ msgstr ""
"thư mục Evolution cá nhân"
msgid "Please click \"OK\" to install the files, or \"Cancel\" to exit."
-msgstr ""
-"Vui lòng nhấn \"Äồng ý\" để cài đặt tập tin, hoặc nhấn \"Hủy bá»' để thoát."
+msgstr "Vui lòng nhấn \"Äồng ý\" để cài đặt tập tin, hoặc nhấn \"Hủy bá»' để thoát."
msgid ""
"Evolution has detected an old\n"
@@ -31567,8 +31484,7 @@ msgstr "Không thể mở thư mục cho news server: %s"
msgid "Could not open folder: message listing was incomplete."
msgstr "Không thể mở thư mục: danh sách thông điệp chưa hoàn chỉnh."
-msgid ""
-"This will connect to the POP server and use Kerberos 4 to authenticate to it."
+msgid "This will connect to the POP server and use Kerberos 4 to authenticate to it."
msgstr "Việc này sẽ kết nối tới POP server và dùng Kerberos 4 để xác thực."
msgid "(Unknown)"
@@ -31783,3 +31699,4 @@ msgstr "Tên chứa"
msgid "Unable to find any of your identities in the attendees list!\n"
msgstr "Không thể tìm thấy định danh của bạn trong danh sách ngÆ°á»i tham dá»±!\n"
+
diff --git a/shell/ChangeLog b/shell/ChangeLog
index 7fcca9c5fc..288cf23d12 100644
--- a/shell/ChangeLog
+++ b/shell/ChangeLog
@@ -1,3 +1,8 @@
+2005-03-15 JP Rosevear <jpr@novell.com>
+
+ * main.c: switch #ifdef DEVELOPMENT to #if DEVELOPMENT so the
+ configure.in foo actually controls this
+
2005-02-28 JP Rosevear <jpr@novell.com>
* e-shell-window-commands.c (command_submit_bug): update authors
diff --git a/shell/main.c b/shell/main.c
index ea8a4e974b..c74a4c732c 100644
--- a/shell/main.c
+++ b/shell/main.c
@@ -89,10 +89,6 @@
#include "e-util/e-plugin-mono.h"
#endif
-#ifndef DEVELOPMENT
-#define DEVELOPMENT (1)
-#endif
-
static EShell *shell = NULL;
/* Command-line options. */
@@ -100,7 +96,7 @@ static gboolean start_online = FALSE;
static gboolean start_offline = FALSE;
static gboolean setup_only = FALSE;
static gboolean killev = FALSE;
-#ifdef DEVELOPMENT
+#if DEVELOPMENT
static gboolean force_migrate = FALSE;
#endif
#ifdef ENABLE_MONO
@@ -182,7 +178,7 @@ kill_old_dataserver (void)
#endif
-#ifdef DEVELOPMENT
+#if DEVELOPMENT
/* Warning dialog to scare people off a little bit. */
@@ -480,7 +476,7 @@ main (int argc, char **argv)
{ "force-shutdown", '\0', POPT_ARG_NONE, &killev, 0,
N_("Forcibly shut down all Evolution components"), NULL },
#endif
-#ifdef DEVELOPMENT
+#if DEVELOPMENT
{ "force-migrate", '\0', POPT_ARG_NONE, &force_migrate, 0,
N_("Forcibly re-migrate from Evolution 1.4"), NULL },
#endif
@@ -496,7 +492,7 @@ main (int argc, char **argv)
&setup_only, 0, NULL, NULL },
{ NULL, '\0', 0, NULL, 0, NULL, NULL }
};
-#ifdef DEVELOPMENT
+#if DEVELOPMENT
GConfClient *client;
gboolean skip_warning_dialog;
#endif
@@ -533,7 +529,7 @@ main (int argc, char **argv)
exit (0);
}
-#ifdef DEVELOPMENT
+#if DEVELOPMENT
if (force_migrate) {
destroy_config ();
}
@@ -600,7 +596,7 @@ main (int argc, char **argv)
e_plugin_load_plugins();
}
-#ifdef DEVELOPMENT
+#if DEVELOPMENT
client = gconf_client_get_default ();
skip_warning_dialog = gconf_client_get_bool (client, "/apps/evolution/shell/skip_warning_dialog", NULL);
g_object_unref (client);
diff --git a/widgets/menus/gal-define-views-dialog.c b/widgets/menus/gal-define-views-dialog.c
deleted file mode 100644
index 4d2854a0e1..0000000000
--- a/widgets/menus/gal-define-views-dialog.c
+++ /dev/null
@@ -1,379 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gal-define-views-dialog.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-
-#include "gal-define-views-dialog.h"
-
-#include <gtk/gtk.h>
-#include "gal-define-views-model.h"
-#include "gal-view-new-dialog.h"
-#include <gal/e-table/e-table-scrolled.h>
-#include <gal/util/e-i18n.h>
-#include <gal/util/e-util.h>
-
-static void gal_define_views_dialog_init (GalDefineViewsDialog *card);
-static void gal_define_views_dialog_class_init (GalDefineViewsDialogClass *klass);
-static void gal_define_views_dialog_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void gal_define_views_dialog_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
-static void gal_define_views_dialog_dispose (GObject *object);
-
-static GtkDialogClass *parent_class = NULL;
-#define PARENT_TYPE GTK_TYPE_DIALOG
-
-/* The properties we support */
-enum {
- PROP_0,
- PROP_COLLECTION
-};
-
-typedef struct {
- char *title;
- ETableModel *model;
- GalDefineViewsDialog *names;
-} GalDefineViewsDialogChild;
-
-
-E_MAKE_TYPE(gal_define_views_dialog, "GalDefineViewsDialog", GalDefineViewsDialog, gal_define_views_dialog_class_init, gal_define_views_dialog_init, PARENT_TYPE)
-
-static void
-gal_define_views_dialog_class_init (GalDefineViewsDialogClass *klass)
-{
- GObjectClass *object_class;
-
- object_class = (GObjectClass*) klass;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class->set_property = gal_define_views_dialog_set_property;
- object_class->get_property = gal_define_views_dialog_get_property;
- object_class->dispose = gal_define_views_dialog_dispose;
-
- g_object_class_install_property (object_class, PROP_COLLECTION,
- g_param_spec_object ("collection",
- _("Collection"),
- /*_( */"XXX blurb" /*)*/,
- GAL_VIEW_COLLECTION_TYPE,
- G_PARAM_READWRITE));
-}
-
-/* ETable creation */
-#define SPEC "<ETableSpecification cursor-mode=\"line\" draw-grid=\"true\" selection-mode=\"single\" gettext-domain=\"" E_I18N_DOMAIN "\">" \
- "<ETableColumn model_col= \"0\" _title=\"Name\" expansion=\"1.0\" minimum_width=\"18\" resizable=\"true\" cell=\"string\" compare=\"string\"/>" \
- "<ETableState> <column source=\"0\"/> <grouping> </grouping> </ETableState>" \
- "</ETableSpecification>"
-
-/* For use from libglade. */
-GtkWidget *gal_define_views_dialog_create_etable(char *name, char *string1, char *string2, int int1, int int2);
-
-GtkWidget *
-gal_define_views_dialog_create_etable(char *name, char *string1, char *string2, int int1, int int2)
-{
- GtkWidget *table;
- ETableModel *model;
- model = gal_define_views_model_new();
- table = e_table_scrolled_new(model, NULL, SPEC, NULL);
- g_object_set_data(G_OBJECT (table), "GalDefineViewsDialog::model", model);
- return table;
-}
-
-/* Button callbacks */
-
-static void
-gdvd_button_new_dialog_callback(GtkWidget *widget, int id, GalDefineViewsDialog *dialog)
-{
- gchar *name;
- GalView *view;
- GalViewFactory *factory;
- switch (id) {
- case GTK_RESPONSE_OK:
- g_object_get(widget,
- "name", &name,
- "factory", &factory,
- NULL);
- if (name && factory) {
- g_strchomp(name);
- if (*name != '\0') {
- view = gal_view_factory_new_view(factory, name);
- gal_define_views_model_append(GAL_DEFINE_VIEWS_MODEL(dialog->model), view);
- gal_view_edit(view, GTK_WINDOW (dialog));
- g_object_unref(view);
- }
- }
- g_object_unref(factory);
- g_free(name);
- break;
- }
- gtk_widget_destroy (widget);
-}
-
-static void
-gdvd_button_new_callback(GtkWidget *widget, GalDefineViewsDialog *dialog)
-{
- GtkWidget *view_new_dialog = gal_view_new_dialog_new(dialog->collection);
- gtk_window_set_transient_for (GTK_WINDOW (view_new_dialog), GTK_WINDOW (dialog));
- g_signal_connect(view_new_dialog, "response",
- G_CALLBACK(gdvd_button_new_dialog_callback), dialog);
- gtk_widget_show(view_new_dialog);
-}
-
-static void
-gdvd_button_modify_callback(GtkWidget *widget, GalDefineViewsDialog *dialog)
-{
- int row;
- GtkWidget *scrolled;
- ETable *etable;
-
- scrolled = glade_xml_get_widget(dialog->gui, "custom-table");
- etable = e_table_scrolled_get_table(E_TABLE_SCROLLED(scrolled));
- row = e_table_get_cursor_row (E_TABLE(etable));
-
- if (row != -1) {
- GalView *view;
- view = gal_define_views_model_get_view(GAL_DEFINE_VIEWS_MODEL(dialog->model),
- row);
- gal_view_edit(view, GTK_WINDOW (dialog));
- }
-}
-
-static void
-gdvd_button_delete_callback(GtkWidget *widget, GalDefineViewsDialog *dialog)
-{
- int row;
- GtkWidget *scrolled;
- ETable *etable;
-
- scrolled = glade_xml_get_widget(dialog->gui, "custom-table");
- etable = e_table_scrolled_get_table(E_TABLE_SCROLLED(scrolled));
- row = e_table_get_cursor_row (E_TABLE(etable));
-
- if (row != -1) {
- gal_define_views_model_delete_view(GAL_DEFINE_VIEWS_MODEL(dialog->model),
- row);
- }
-
-}
-
-#if 0
-static void
-gdvd_button_copy_callback(GtkWidget *widget, GalDefineViewsDialog *dialog)
-{
- int row;
- GtkWidget *scrolled;
- ETable *etable;
-
- scrolled = glade_xml_get_widget(dialog->gui, "custom-table");
- etable = e_table_scrolled_get_table(E_TABLE_SCROLLED(scrolled));
- row = e_table_get_cursor_row (E_TABLE(etable));
-
- if (row != -1) {
- gal_define_views_model_copy_view(GAL_DEFINE_VIEWS_MODEL(dialog->model),
- row);
- }
-
-}
-#endif
-
-static void
-gdvd_connect_signal(GalDefineViewsDialog *dialog, char *widget_name, char *signal, GCallback handler)
-{
- GtkWidget *widget;
-
- widget = glade_xml_get_widget(dialog->gui, widget_name);
-
- if (widget)
- g_signal_connect(widget, signal, handler, dialog);
-}
-
-static void
-etable_selection_change_forall_cb (int row, GalDefineViewsDialog *dialog)
-{
- if (row != -1) {
- GalViewCollectionItem *item = gal_view_collection_get_view_item (dialog->collection, row);
-
- if (item)
- gtk_widget_set_sensitive (glade_xml_get_widget (dialog->gui, "button-delete"),
- !item->built_in);
- }
-}
-
-static void
-etable_selection_change (ETable *etable, GalDefineViewsDialog *dialog)
-{
- e_table_selected_row_foreach (etable, (EForeachFunc) etable_selection_change_forall_cb, dialog);
-}
-
-static void
-dialog_response (GalDefineViewsDialog *dialog, int response_id, gpointer data)
-{
- gal_view_collection_save (dialog->collection);
-}
-
-static void
-gal_define_views_dialog_init (GalDefineViewsDialog *dialog)
-{
- GladeXML *gui;
- GtkWidget *widget;
- GtkWidget *etable;
-
- dialog->collection = NULL;
-
- gui = glade_xml_new (GAL_GLADEDIR "/gal-define-views.glade", NULL, E_I18N_DOMAIN);
- dialog->gui = gui;
-
- widget = glade_xml_get_widget(gui, "table-top");
- if (!widget) {
- return;
- }
- gtk_widget_ref(widget);
- gtk_container_remove (GTK_CONTAINER (widget->parent), widget);
- gtk_window_set_default_size(GTK_WINDOW(dialog), 360, 270);
- gtk_container_set_border_width(GTK_CONTAINER(dialog), 6);
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), widget, TRUE, TRUE, 0);
- gtk_widget_unref(widget);
-
- gtk_dialog_add_buttons (GTK_DIALOG (dialog),
- GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
- NULL);
-
- gdvd_connect_signal(dialog, "button-new", "clicked", G_CALLBACK(gdvd_button_new_callback));
- gdvd_connect_signal(dialog, "button-modify", "clicked", G_CALLBACK(gdvd_button_modify_callback));
- gdvd_connect_signal(dialog, "button-delete", "clicked", G_CALLBACK(gdvd_button_delete_callback));
-#if 0
- gdvd_connect_signal(dialog, "button-copy", "clicked", G_CALLBACK(gdvd_button_copy_callback));
-#endif
-
- dialog->model = NULL;
- etable = glade_xml_get_widget(dialog->gui, "custom-table");
- if (etable) {
- dialog->model = g_object_get_data(G_OBJECT (etable), "GalDefineViewsDialog::model");
- g_object_set(dialog->model,
- "collection", dialog->collection,
- NULL);
- g_signal_connect (e_table_scrolled_get_table (E_TABLE_SCROLLED (etable)),
- "selection_change",
- G_CALLBACK (etable_selection_change), dialog);
- gtk_widget_show_all (etable);
- }
-
- gtk_window_set_policy(GTK_WINDOW(dialog), FALSE, TRUE, FALSE);
-
- g_signal_connect (dialog, "response", G_CALLBACK (dialog_response), NULL);
-
-}
-
-static void
-gal_define_views_dialog_dispose (GObject *object)
-{
- GalDefineViewsDialog *gal_define_views_dialog = GAL_DEFINE_VIEWS_DIALOG(object);
-
- if (gal_define_views_dialog->gui)
- g_object_unref(gal_define_views_dialog->gui);
- gal_define_views_dialog->gui = NULL;
-
- if (G_OBJECT_CLASS (parent_class)->dispose)
- (* G_OBJECT_CLASS (parent_class)->dispose) (object);
-}
-
-static void
-gal_define_views_dialog_set_collection(GalDefineViewsDialog *dialog,
- GalViewCollection *collection)
-{
- dialog->collection = collection;
- if (dialog->model) {
- g_object_set(dialog->model,
- "collection", collection,
- NULL);
- }
- if (dialog->gui) {
- GtkWidget *widget = glade_xml_get_widget(dialog->gui, "label-views");
- if (widget && GTK_IS_LABEL (widget)) {
- if (collection->title) {
- char *text = g_strdup_printf (_("Define Views for %s"),
- collection->title);
- gtk_label_set_text (GTK_LABEL (widget),
- text);
- gtk_window_set_title (GTK_WINDOW (dialog), text);
- g_free (text);
- } else {
- gtk_label_set_text (GTK_LABEL (widget),
- _("Define Views"));
- gtk_window_set_title (GTK_WINDOW (dialog),
- _("Define Views"));
- }
- }
- }
-}
-
-/**
- * gal_define_views_dialog_new
- *
- * Returns a new dialog for defining views.
- *
- * Returns: The GalDefineViewsDialog.
- */
-GtkWidget*
-gal_define_views_dialog_new (GalViewCollection *collection)
-{
- GtkWidget *widget = g_object_new (GAL_DEFINE_VIEWS_DIALOG_TYPE, NULL);
- gal_define_views_dialog_set_collection(GAL_DEFINE_VIEWS_DIALOG (widget), collection);
- return widget;
-}
-
-static void
-gal_define_views_dialog_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
-{
- GalDefineViewsDialog *dialog;
-
- dialog = GAL_DEFINE_VIEWS_DIALOG (object);
-
- switch (prop_id){
- case PROP_COLLECTION:
- if (g_value_get_object (value))
- gal_define_views_dialog_set_collection(dialog, GAL_VIEW_COLLECTION(g_value_get_object (value)));
- else
- gal_define_views_dialog_set_collection(dialog, NULL);
- break;
-
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- return;
- }
-}
-
-static void
-gal_define_views_dialog_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
- GalDefineViewsDialog *dialog;
-
- dialog = GAL_DEFINE_VIEWS_DIALOG (object);
-
- switch (prop_id) {
- case PROP_COLLECTION:
- g_value_set_object (value, dialog->collection);
-
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
diff --git a/widgets/menus/gal-define-views-dialog.h b/widgets/menus/gal-define-views-dialog.h
deleted file mode 100644
index 03a047b9fe..0000000000
--- a/widgets/menus/gal-define-views-dialog.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gal-define-views-dialog.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef __GAL_DEFINE_VIEWS_DIALOG_H__
-#define __GAL_DEFINE_VIEWS_DIALOG_H__
-
-#include <gtk/gtkdialog.h>
-#include <glade/glade.h>
-#include <gal/e-table/e-table-model.h>
-#include <gal/menus/gal-view-collection.h>
-
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
-
-/* GalDefineViewsDialog - A dialog displaying information about a contact.
- *
- * The following arguments are available:
- *
- * name type read/write description
- * --------------------------------------------------------------------------------
- */
-
-#define GAL_DEFINE_VIEWS_DIALOG_TYPE (gal_define_views_dialog_get_type ())
-#define GAL_DEFINE_VIEWS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_DEFINE_VIEWS_DIALOG_TYPE, GalDefineViewsDialog))
-#define GAL_DEFINE_VIEWS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAL_DEFINE_VIEWS_DIALOG_TYPE, GalDefineViewsDialogClass))
-#define GAL_IS_DEFINE_VIEWS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAL_DEFINE_VIEWS_DIALOG_TYPE))
-#define GAL_IS_DEFINE_VIEWS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), GAL_DEFINE_VIEWS_DIALOG_TYPE))
-
-typedef struct _GalDefineViewsDialog GalDefineViewsDialog;
-typedef struct _GalDefineViewsDialogClass GalDefineViewsDialogClass;
-
-struct _GalDefineViewsDialog
-{
- GtkDialog parent;
-
- /* item specific fields */
- GladeXML *gui;
- ETableModel *model;
-
- GalViewCollection *collection;
-};
-
-struct _GalDefineViewsDialogClass
-{
- GtkDialogClass parent_class;
-};
-
-GtkWidget *gal_define_views_dialog_new (GalViewCollection *collection);
-GType gal_define_views_dialog_get_type (void);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* __GAL_DEFINE_VIEWS_DIALOG_H__ */
diff --git a/widgets/menus/gal-define-views-model.c b/widgets/menus/gal-define-views-model.c
deleted file mode 100644
index 40e54a53b6..0000000000
--- a/widgets/menus/gal-define-views-model.c
+++ /dev/null
@@ -1,322 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gal-define-views-model.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <libxml/tree.h>
-#include <libxml/parser.h>
-#include <libxml/xmlmemory.h>
-#include "gal-define-views-model.h"
-#include <gal/util/e-i18n.h>
-#include <gal/util/e-util.h>
-
-#define PARENT_TYPE E_TABLE_MODEL_TYPE
-static ETableModelClass *parent_class;
-
-/*
- * GalDefineViewsModel callbacks
- * These are the callbacks that define the behavior of our custom model.
- */
-static void gal_define_views_model_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void gal_define_views_model_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
-
-enum {
- PROP_0,
- PROP_EDITABLE,
- PROP_COLLECTION
-};
-
-static void
-gdvm_dispose(GObject *object)
-{
- GalDefineViewsModel *model = GAL_DEFINE_VIEWS_MODEL(object);
-
- if (model->collection)
- g_object_unref(model->collection);
- model->collection = NULL;
-
- if (G_OBJECT_CLASS (parent_class)->dispose)
- (* G_OBJECT_CLASS (parent_class)->dispose) (object);
-}
-
-/* This function returns the number of columns in our ETableModel. */
-static int
-gdvm_col_count (ETableModel *etc)
-{
- return 1;
-}
-
-/* This function returns the number of rows in our ETableModel. */
-static int
-gdvm_row_count (ETableModel *etc)
-{
- GalDefineViewsModel *views = GAL_DEFINE_VIEWS_MODEL(etc);
- if (views->collection)
- return gal_view_collection_get_count(views->collection);
- else
- return 0;
-}
-
-/* This function returns the value at a particular point in our ETableModel. */
-static void *
-gdvm_value_at (ETableModel *etc, int col, int row)
-{
- GalDefineViewsModel *views = GAL_DEFINE_VIEWS_MODEL(etc);
- const char *value;
-
- value = gal_view_get_title (gal_view_collection_get_view(views->collection, row));
-
- return (void *)(value ? value : "");
-}
-
-/* This function sets the value at a particular point in our ETableModel. */
-static void
-gdvm_set_value_at (ETableModel *etc, int col, int row, const void *val)
-{
- GalDefineViewsModel *views = GAL_DEFINE_VIEWS_MODEL(etc);
- if (views->editable) {
- e_table_model_pre_change(etc);
- gal_view_set_title(gal_view_collection_get_view(views->collection, row), val);
- e_table_model_cell_changed(etc, col, row);
- }
-}
-
-/* This function returns whether a particular cell is editable. */
-static gboolean
-gdvm_is_cell_editable (ETableModel *etc, int col, int row)
-{
- return GAL_DEFINE_VIEWS_MODEL(etc)->editable;
-}
-
-static void
-gdvm_append_row (ETableModel *etm, ETableModel *source, gint row)
-{
-}
-
-/* This function duplicates the value passed to it. */
-static void *
-gdvm_duplicate_value (ETableModel *etc, int col, const void *value)
-{
- return g_strdup(value);
-}
-
-/* This function frees the value passed to it. */
-static void
-gdvm_free_value (ETableModel *etc, int col, void *value)
-{
- g_free(value);
-}
-
-static void *
-gdvm_initialize_value (ETableModel *etc, int col)
-{
- return g_strdup("");
-}
-
-static gboolean
-gdvm_value_is_empty (ETableModel *etc, int col, const void *value)
-{
- return !(value && *(char *)value);
-}
-
-static char *
-gdvm_value_to_string (ETableModel *etc, int col, const void *value)
-{
- return g_strdup(value);
-}
-
-/**
- * gal_define_views_model_append
- * @model: The model to add to.
- * @view: The view to add.
- *
- * Adds the given view to the gal define views model.
- */
-void
-gal_define_views_model_append (GalDefineViewsModel *model,
- GalView *view)
-{
- ETableModel *etm = E_TABLE_MODEL(model);
-
- e_table_model_pre_change(etm);
- gal_view_collection_append(model->collection, view);
- e_table_model_row_inserted(etm, gal_view_collection_get_count(model->collection) - 1);
-}
-
-static void
-gal_define_views_model_class_init (GObjectClass *object_class)
-{
- ETableModelClass *model_class = (ETableModelClass *) object_class;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class->dispose = gdvm_dispose;
- object_class->set_property = gal_define_views_model_set_property;
- object_class->get_property = gal_define_views_model_get_property;
-
- g_object_class_install_property (object_class, PROP_EDITABLE,
- g_param_spec_boolean ("editable",
- _("Editable"),
- /*_( */"XXX blurb" /*)*/,
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_COLLECTION,
- g_param_spec_object ("collection",
- _("Collection"),
- /*_( */"XXX blurb" /*)*/,
- GAL_VIEW_COLLECTION_TYPE,
- G_PARAM_READWRITE));
-
- model_class->column_count = gdvm_col_count;
- model_class->row_count = gdvm_row_count;
- model_class->value_at = gdvm_value_at;
- model_class->set_value_at = gdvm_set_value_at;
- model_class->is_cell_editable = gdvm_is_cell_editable;
- model_class->append_row = gdvm_append_row;
- model_class->duplicate_value = gdvm_duplicate_value;
- model_class->free_value = gdvm_free_value;
- model_class->initialize_value = gdvm_initialize_value;
- model_class->value_is_empty = gdvm_value_is_empty;
- model_class->value_to_string = gdvm_value_to_string;
-}
-
-static void
-gal_define_views_model_init (GObject *object)
-{
- GalDefineViewsModel *model = GAL_DEFINE_VIEWS_MODEL(object);
-
- model->collection = NULL;
-}
-
-static void
-gal_define_views_model_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
-{
- GalDefineViewsModel *model;
-
- model = GAL_DEFINE_VIEWS_MODEL (object);
-
- switch (prop_id){
- case PROP_EDITABLE:
- model->editable = g_value_get_boolean (value);
- break;
-
- case PROP_COLLECTION:
- e_table_model_pre_change(E_TABLE_MODEL(object));
- if (g_value_get_object (value))
- model->collection = GAL_VIEW_COLLECTION(g_value_get_object (value));
- else
- model->collection = NULL;
- e_table_model_changed(E_TABLE_MODEL(object));
- break;
- }
-}
-
-static void
-gal_define_views_model_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
- GalDefineViewsModel *model;
-
- model = GAL_DEFINE_VIEWS_MODEL (object);
-
- switch (prop_id) {
- case PROP_EDITABLE:
- g_value_set_boolean (value, model->editable);
- break;
-
- case PROP_COLLECTION:
- g_value_set_object (value, model->collection);
-
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-E_MAKE_TYPE(gal_define_views_model, "GalDefineViewsModel", GalDefineViewsModel, gal_define_views_model_class_init, gal_define_views_model_init, PARENT_TYPE)
-
-/**
- * gal_define_views_model_new
- *
- * Returns a new define views model. This is a list of views as an
- * ETable for use in the GalDefineViewsDialog.
- *
- * Returns: The new GalDefineViewsModel.
- */
-ETableModel *
-gal_define_views_model_new (void)
-{
- GalDefineViewsModel *et;
-
- et = g_object_new (GAL_DEFINE_VIEWS_MODEL_TYPE, NULL);
-
- return E_TABLE_MODEL(et);
-}
-
-/**
- * gal_define_views_model_get_view:
- * @model: The GalDefineViewsModel.
- * @n: Which view to get.
- *
- * Gets the nth view.
- *
- * Returns: The view.
- */
-GalView *
-gal_define_views_model_get_view (GalDefineViewsModel *model,
- int n)
-{
- return gal_view_collection_get_view(model->collection, n);
-}
-
-/**
- * gal_define_views_model_delete_view:
- * @model: The GalDefineViewsModel.
- * @n: Which view to delete.
- *
- * Deletes the nth view.
- */
-void
-gal_define_views_model_delete_view (GalDefineViewsModel *model,
- int n)
-{
- e_table_model_pre_change(E_TABLE_MODEL(model));
- gal_view_collection_delete_view(model->collection, n);
- e_table_model_row_deleted(E_TABLE_MODEL(model), n);
-}
-
-/**
- * gal_define_views_model_copy_view:
- * @model: The GalDefineViewsModel.
- * @n: Which view to copy.
- *
- * Copys the nth view.
- */
-void
-gal_define_views_model_copy_view (GalDefineViewsModel *model,
- int n)
-{
- ETableModel *etm = E_TABLE_MODEL(model);
- e_table_model_pre_change(etm);
- gal_view_collection_copy_view(model->collection, n);
- e_table_model_row_inserted(etm, gal_view_collection_get_count(model->collection) - 1);
-}
diff --git a/widgets/menus/gal-define-views-model.h b/widgets/menus/gal-define-views-model.h
deleted file mode 100644
index 6ea2b28cbc..0000000000
--- a/widgets/menus/gal-define-views-model.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gal-define-views-model.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _GAL_DEFINE_VIEWS_MODEL_H_
-#define _GAL_DEFINE_VIEWS_MODEL_H_
-
-#include <gal/e-table/e-table-model.h>
-#include <gal/menus/gal-view.h>
-#include <gal/menus/gal-view-collection.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define GAL_DEFINE_VIEWS_MODEL_TYPE (gal_define_views_model_get_type ())
-#define GAL_DEFINE_VIEWS_MODEL(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GAL_DEFINE_VIEWS_MODEL_TYPE, GalDefineViewsModel))
-#define GAL_DEFINE_VIEWS_MODEL_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GAL_DEFINE_VIEWS_MODEL_TYPE, GalDefineViewsModelClass))
-#define GAL_IS_DEFINE_VIEWS_MODEL(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GAL_DEFINE_VIEWS_MODEL_TYPE))
-#define GAL_IS_DEFINE_VIEWS_MODEL_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GAL_DEFINE_VIEWS_MODEL_TYPE))
-
-typedef struct {
- ETableModel parent;
-
- /* item specific fields */
- GalViewCollection *collection;
-
- guint editable : 1;
-} GalDefineViewsModel;
-
-
-typedef struct {
- ETableModelClass parent_class;
-} GalDefineViewsModelClass;
-
-
-GType gal_define_views_model_get_type (void);
-ETableModel *gal_define_views_model_new (void);
-
-void gal_define_views_model_append (GalDefineViewsModel *model,
- GalView *view);
-GalView *gal_define_views_model_get_view (GalDefineViewsModel *model,
- int i);
-void gal_define_views_model_delete_view (GalDefineViewsModel *model,
- int i);
-void gal_define_views_model_copy_view (GalDefineViewsModel *model,
- int i);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* _GAL_DEFINE_VIEWS_MODEL_H_ */
diff --git a/widgets/menus/gal-define-views.glade b/widgets/menus/gal-define-views.glade
deleted file mode 100644
index 11395ad8b7..0000000000
--- a/widgets/menus/gal-define-views.glade
+++ /dev/null
@@ -1,192 +0,0 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
-<glade-interface>
-
-<widget class="GtkDialog" id="dialog1">
- <property name="title" translatable="yes">Define Views for &quot;%s&quot;</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_NONE</property>
- <property name="modal">False</property>
- <property name="resizable">True</property>
- <property name="destroy_with_parent">False</property>
- <property name="has_separator">True</property>
-
- <child internal-child="vbox">
- <widget class="GtkVBox" id="dialog-vbox1">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="dialog-action_area1">
- <property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
-
- <child>
- <widget class="GtkButton" id="button7">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-close</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="response_id">-5</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkTable" id="table-top">
- <property name="visible">True</property>
- <property name="n_rows">4</property>
- <property name="n_columns">1</property>
- <property name="homogeneous">False</property>
- <property name="row_spacing">6</property>
- <property name="column_spacing">6</property>
-
- <child>
- <widget class="GtkHBox" id="hbox1">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="Custom" id="custom-table">
- <property name="visible">True</property>
- <property name="creation_function">gal_define_views_dialog_create_etable</property>
- <property name="int1">0</property>
- <property name="int2">0</property>
- <property name="last_modification_time">Fri, 10 Nov 2000 16:37:39 GMT</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox1">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkButton" id="button-new">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-new</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button-modify">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Edit...</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button-delete">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-delete</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHButtonBox" id="hbuttonbox1">
- <property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
- <property name="spacing">6</property>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="x_options">fill</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label-views">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Define Views for %s</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">12</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
-
-</glade-interface>
diff --git a/widgets/menus/gal-view-collection.c b/widgets/menus/gal-view-collection.c
deleted file mode 100644
index 5e97419270..0000000000
--- a/widgets/menus/gal-view-collection.c
+++ /dev/null
@@ -1,823 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gal-view-collection.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-
-#include <util/e-i18n.h>
-#include <sys/stat.h>
-#include <ctype.h>
-#include <string.h>
-#include <errno.h>
-#include <libxml/parser.h>
-#include <libgnome/gnome-util.h>
-#include <gal/util/e-util.h>
-#include <gal/util/e-xml-utils.h>
-#include <gal/widgets/e-unicode.h>
-#include "gal-view-collection.h"
-
-#define PARENT_TYPE G_TYPE_OBJECT
-
-static GObjectClass *gal_view_collection_parent_class;
-
-#define d(x)
-
-enum {
- DISPLAY_VIEW,
- CHANGED,
- LAST_SIGNAL
-};
-
-static guint gal_view_collection_signals [LAST_SIGNAL] = { 0, };
-
-/**
- * gal_view_collection_display_view:
- * @collection: The GalViewCollection to send the signal on.
- * @view: The view to display.
- *
- */
-void
-gal_view_collection_display_view (GalViewCollection *collection,
- GalView *view)
-{
- g_return_if_fail (collection != NULL);
- g_return_if_fail (GAL_IS_VIEW_COLLECTION (collection));
- g_return_if_fail (view != NULL);
- g_return_if_fail (GAL_IS_VIEW (view));
-
- g_signal_emit (collection,
- gal_view_collection_signals [DISPLAY_VIEW], 0,
- view);
-}
-
-static void
-gal_view_collection_changed (GalViewCollection *collection)
-{
- g_return_if_fail (collection != NULL);
- g_return_if_fail (GAL_IS_VIEW_COLLECTION (collection));
-
- g_signal_emit (collection,
- gal_view_collection_signals [CHANGED], 0);
-}
-
-static void
-gal_view_collection_item_free (GalViewCollectionItem *item)
-{
- g_free(item->id);
- if (item->view) {
- if (item->view_changed_id)
- g_signal_handler_disconnect (item->view,
- item->view_changed_id);
- g_object_unref(item->view);
- }
- g_free(item);
-}
-
-static char *
-gal_view_generate_string (GalViewCollection *collection,
- GalView *view,
- int which)
-{
- char *ret_val;
- char *pointer;
-
- if (which == 1)
- ret_val = g_strdup(gal_view_get_title(view));
- else
- ret_val = g_strdup_printf("%s_%d", gal_view_get_title(view), which);
- for (pointer = ret_val; *pointer; pointer++) {
- if (!isalnum((guint) *pointer)) {
- *pointer = '_';
- }
- }
- return ret_val;
-}
-
-static gint
-gal_view_check_string (GalViewCollection *collection,
- char *string)
-{
- int i;
-
- if (!strcmp (string, "current_view"))
- return FALSE;
-
- for (i = 0; i < collection->view_count; i++) {
- if (!strcmp(string, collection->view_data[i]->id))
- return FALSE;
- }
- for (i = 0; i < collection->removed_view_count; i++) {
- if (!strcmp(string, collection->removed_view_data[i]->id))
- return FALSE;
- }
- return TRUE;
-}
-
-static char *
-gal_view_generate_id (GalViewCollection *collection,
- GalView *view)
-{
- int i;
- for (i = 1; TRUE; i++) {
- char *try;
-
- try = gal_view_generate_string(collection, view, i);
- if (gal_view_check_string(collection, try))
- return try;
- g_free(try);
- }
-}
-
-static void
-gal_view_collection_dispose (GObject *object)
-{
- GalViewCollection *collection = GAL_VIEW_COLLECTION(object);
- int i;
-
- for (i = 0; i < collection->view_count; i++) {
- gal_view_collection_item_free (collection->view_data[i]);
- }
- g_free (collection->view_data);
- collection->view_data = NULL;
- collection->view_count = 0;
-
- e_free_object_list (collection->factory_list);
- collection->factory_list = NULL;
-
- for (i = 0; i < collection->removed_view_count; i++) {
- gal_view_collection_item_free (collection->removed_view_data[i]);
- }
- g_free(collection->removed_view_data);
- collection->removed_view_data = NULL;
- collection->removed_view_count = 0;
-
- g_free(collection->system_dir);
- collection->system_dir = NULL;
-
- g_free(collection->local_dir);
- collection->system_dir = NULL;
- collection->local_dir = NULL;
-
- g_free (collection->default_view);
- collection->default_view = NULL;
-
- g_free (collection->title);
- collection->title = NULL;
-
- if (gal_view_collection_parent_class->dispose)
- (*gal_view_collection_parent_class->dispose)(object);
-}
-
-static void
-gal_view_collection_class_init (GObjectClass *object_class)
-{
- GalViewCollectionClass *klass = GAL_VIEW_COLLECTION_CLASS(object_class);
- gal_view_collection_parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class->dispose = gal_view_collection_dispose;
-
- gal_view_collection_signals [DISPLAY_VIEW] =
- g_signal_new ("display_view",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (GalViewCollectionClass, display_view),
- NULL, NULL,
- g_cclosure_marshal_VOID__OBJECT,
- G_TYPE_NONE, 1, GAL_VIEW_TYPE);
-
- gal_view_collection_signals [CHANGED] =
- g_signal_new ("changed",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (GalViewCollectionClass, changed),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- klass->display_view = NULL;
- klass->changed = NULL;
-}
-
-static void
-gal_view_collection_init (GalViewCollection *collection)
-{
- collection->view_data = NULL;
- collection->view_count = 0;
- collection->factory_list = NULL;
-
- collection->removed_view_data = NULL;
- collection->removed_view_count = 0;
-
- collection->system_dir = NULL;
- collection->local_dir = NULL;
-
- collection->loaded = FALSE;
- collection->default_view = NULL;
- collection->default_view_built_in = TRUE;
-
- collection->title = NULL;
-}
-
-E_MAKE_TYPE(gal_view_collection, "GalViewCollection", GalViewCollection, gal_view_collection_class_init, gal_view_collection_init, PARENT_TYPE)
-
-/**
- * gal_view_collection_new:
- *
- * A collection of views and view factories.
- */
-GalViewCollection *
-gal_view_collection_new (void)
-{
- return g_object_new (GAL_VIEW_COLLECTION_TYPE, NULL);
-}
-
-void
-gal_view_collection_set_title (GalViewCollection *collection,
- const char *title)
-{
- g_free (collection->title);
- collection->title = g_strdup (title);
-}
-
-/**
- * gal_view_collection_set_storage_directories
- * @collection: The view collection to initialize
- * @system_dir: The location of the system built in views
- * @local_dir: The location to store the users set up views
- *
- * Sets up the GalViewCollection.
- */
-void
-gal_view_collection_set_storage_directories (GalViewCollection *collection,
- const char *system_dir,
- const char *local_dir)
-{
- g_return_if_fail (collection != NULL);
- g_return_if_fail (GAL_IS_VIEW_COLLECTION (collection));
- g_return_if_fail (system_dir != NULL);
- g_return_if_fail (local_dir != NULL);
-
- g_free(collection->system_dir);
- g_free(collection->local_dir);
-
- collection->system_dir = g_strdup(system_dir);
- collection->local_dir = g_strdup(local_dir);
-}
-
-/**
- * gal_view_collection_add_factory
- * @collection: The view collection to add a factory to
- * @factory: The factory to add. The @collection will add a reference
- * to the factory object, so you should unref it after calling this
- * function if you no longer need it.
- *
- * Adds the given factory to this collection. This list is used both
- * when loading views from their xml description as well as when the
- * user tries to create a new view.
- */
-void
-gal_view_collection_add_factory (GalViewCollection *collection,
- GalViewFactory *factory)
-{
- g_return_if_fail (collection != NULL);
- g_return_if_fail (GAL_IS_VIEW_COLLECTION (collection));
- g_return_if_fail (factory != NULL);
- g_return_if_fail (GAL_IS_VIEW_FACTORY (factory));
-
- g_object_ref (factory);
- collection->factory_list = g_list_prepend (collection->factory_list, factory);
-}
-
-static void
-view_changed (GalView *view,
- GalViewCollectionItem *item)
-{
- item->changed = TRUE;
- item->ever_changed = TRUE;
-
- g_signal_handler_block(G_OBJECT(item->view), item->view_changed_id);
- gal_view_collection_changed(item->collection);
- g_signal_handler_unblock(G_OBJECT(item->view), item->view_changed_id);
-}
-
-/* Use factory list to load a GalView file. */
-static GalView *
-gal_view_collection_real_load_view_from_file (GalViewCollection *collection, const char *type, const char *title, const char *dir, const char *filename)
-{
- GalViewFactory *factory;
- GList *factories;
-
- factory = NULL;
- for (factories = collection->factory_list; factories; factories = factories->next) {
- if (type && !strcmp(gal_view_factory_get_type_code(factories->data), type)) {
- factory = factories->data;
- break;
- }
- }
- if (factory) {
- GalView *view;
-
- view = gal_view_factory_new_view (factory, title);
- gal_view_set_title (view, title);
- gal_view_load(view, filename);
- return view;
- }
- return NULL;
-}
-
-GalView *
-gal_view_collection_load_view_from_file (GalViewCollection *collection, const char *type, const char *filename)
-{
- return gal_view_collection_real_load_view_from_file (collection, type, "", collection->local_dir, filename);
-}
-
-static GalViewCollectionItem *
-load_single_file (GalViewCollection *collection,
- gchar *dir,
- gboolean local,
- xmlNode *node)
-{
- GalViewCollectionItem *item;
- item = g_new(GalViewCollectionItem, 1);
- item->ever_changed = local;
- item->changed = FALSE;
- item->built_in = !local;
- item->id = e_xml_get_string_prop_by_name(node, "id");
- item->filename = e_xml_get_string_prop_by_name(node, "filename");
- item->title = e_xml_get_translated_utf8_string_prop_by_name(node, "title");
- item->type = e_xml_get_string_prop_by_name(node, "type");
- item->collection = collection;
- item->view_changed_id = 0;
-
- if (item->filename) {
- char *fullpath;
- fullpath = g_concat_dir_and_file(dir, item->filename);
- item->view = gal_view_collection_real_load_view_from_file (collection, item->type, item->title, dir, fullpath);
- g_free(fullpath);
- if (item->view) {
- item->view_changed_id =
- g_signal_connect(item->view, "changed",
- G_CALLBACK(view_changed), item);
- }
- }
- return item;
-}
-
-static void
-load_single_dir (GalViewCollection *collection,
- char *dir,
- gboolean local)
-{
- xmlDoc *doc = NULL;
- xmlNode *root;
- xmlNode *child;
- char *filename = g_concat_dir_and_file(dir, "galview.xml");
- char *default_view;
- struct stat st;
-
- if (stat (filename, &st) != -1 && S_ISREG (st.st_mode))
- doc = xmlParseFile (filename);
-
- if (!doc) {
- g_free (filename);
- return;
- }
- root = xmlDocGetRootElement(doc);
- for (child = root->xmlChildrenNode; child; child = child->next) {
- gchar *id;
- gboolean found = FALSE;
- int i;
-
- if (!strcmp (child->name, "text"))
- continue;
-
- id = e_xml_get_string_prop_by_name(child, "id");
- for (i = 0; i < collection->view_count; i++) {
- if (!strcmp(id, collection->view_data[i]->id)) {
- if (!local)
- collection->view_data[i]->built_in = TRUE;
- found = TRUE;
- break;
- }
- }
- if (!found) {
- for (i = 0; i < collection->removed_view_count; i++) {
- if (!strcmp(id, collection->removed_view_data[i]->id)) {
- if (!local)
- collection->removed_view_data[i]->built_in = TRUE;
- found = TRUE;
- break;
- }
- }
- }
-
- if (!found) {
- GalViewCollectionItem *item = load_single_file (collection, dir, local, child);
- if (item->filename && *item->filename) {
- collection->view_data = g_renew(GalViewCollectionItem *, collection->view_data, collection->view_count + 1);
- collection->view_data[collection->view_count] = item;
- collection->view_count ++;
- } else {
- collection->removed_view_data = g_renew(GalViewCollectionItem *, collection->removed_view_data, collection->removed_view_count + 1);
- collection->removed_view_data[collection->removed_view_count] = item;
- collection->removed_view_count ++;
- }
- }
- g_free(id);
- }
-
- default_view = e_xml_get_string_prop_by_name (root, "default-view");
- if (default_view) {
- if (local)
- collection->default_view_built_in = FALSE;
- else
- collection->default_view_built_in = TRUE;
- g_free (collection->default_view);
- collection->default_view = default_view;
- }
-
- g_free(filename);
- xmlFreeDoc(doc);
-}
-
-/**
- * gal_view_collection_load
- * @collection: The view collection to load information for
- *
- * Loads the data from the system and user directories specified in
- * set storage directories. This is primarily for internal use by
- * other parts of gal_view.
- */
-void
-gal_view_collection_load (GalViewCollection *collection)
-{
- g_return_if_fail (collection != NULL);
- g_return_if_fail (GAL_IS_VIEW_COLLECTION (collection));
- g_return_if_fail (collection->local_dir != NULL);
- g_return_if_fail (collection->system_dir != NULL);
- g_return_if_fail (!collection->loaded);
-
- if ((e_create_directory(collection->local_dir) == -1) && (errno != EEXIST))
- g_warning ("Unable to create dir %s: %s", collection->local_dir, g_strerror(errno));
-
- load_single_dir(collection, collection->local_dir, TRUE);
- load_single_dir(collection, collection->system_dir, FALSE);
- gal_view_collection_changed(collection);
-
- collection->loaded = TRUE;
-}
-
-/**
- * gal_view_collection_save
- * @collection: The view collection to save information for
- *
- * Saves the data to the user directory specified in set storage
- * directories. This is primarily for internal use by other parts of
- * gal_view.
- */
-void
-gal_view_collection_save (GalViewCollection *collection)
-{
- int i;
- xmlDoc *doc;
- xmlNode *root;
- char *filename;
-
- g_return_if_fail (collection != NULL);
- g_return_if_fail (GAL_IS_VIEW_COLLECTION (collection));
- g_return_if_fail (collection->local_dir != NULL);
-
- doc = xmlNewDoc("1.0");
- root = xmlNewNode(NULL, "GalViewCollection");
- xmlDocSetRootElement(doc, root);
-
- if (collection->default_view && !collection->default_view_built_in) {
- e_xml_set_string_prop_by_name(root, "default-view", collection->default_view);
- }
-
- for (i = 0; i < collection->view_count; i++) {
- xmlNode *child;
- GalViewCollectionItem *item;
-
- item = collection->view_data[i];
- if (item->ever_changed) {
- child = xmlNewChild(root, NULL, "GalView", NULL);
- e_xml_set_string_prop_by_name(child, "id", item->id);
- e_xml_set_string_prop_by_name(child, "title", item->title);
- e_xml_set_string_prop_by_name(child, "filename", item->filename);
- e_xml_set_string_prop_by_name(child, "type", item->type);
-
- if (item->changed) {
- filename = g_concat_dir_and_file(collection->local_dir, item->filename);
- gal_view_save(item->view, filename);
- g_free(filename);
- }
- }
- }
- for (i = 0; i < collection->removed_view_count; i++) {
- xmlNode *child;
- GalViewCollectionItem *item;
-
- item = collection->removed_view_data[i];
-
- child = xmlNewChild(root, NULL, "GalView", NULL);
- e_xml_set_string_prop_by_name(child, "id", item->id);
- e_xml_set_string_prop_by_name(child, "title", item->title);
- e_xml_set_string_prop_by_name(child, "type", item->type);
- }
- filename = g_concat_dir_and_file(collection->local_dir, "galview.xml");
- if (e_xml_save_file (filename, doc) == -1)
- g_warning ("Unable to save view to %s - %s", filename, g_strerror(errno));
- xmlFreeDoc(doc);
- g_free(filename);
-}
-
-/**
- * gal_view_collection_get_count
- * @collection: The view collection to count
- *
- * Calculates the number of views in the given collection.
- *
- * Returns: The number of views in the collection.
- */
-gint
-gal_view_collection_get_count (GalViewCollection *collection)
-{
- g_return_val_if_fail (collection != NULL, -1);
- g_return_val_if_fail (GAL_IS_VIEW_COLLECTION (collection), -1);
-
- return collection->view_count;
-}
-
-/**
- * gal_view_collection_get_view
- * @collection: The view collection to query
- * @n: The view to get.
- *
- * Returns: The nth view in the collection
- */
-GalView *
-gal_view_collection_get_view (GalViewCollection *collection,
- int n)
-{
- g_return_val_if_fail (collection != NULL, NULL);
- g_return_val_if_fail (GAL_IS_VIEW_COLLECTION (collection), NULL);
- g_return_val_if_fail (n < collection->view_count, NULL);
- g_return_val_if_fail (n >= 0, NULL);
-
- return collection->view_data[n]->view;
-}
-
-/**
- * gal_view_collection_get_view_item
- * @collection: The view collection to query
- * @n: The view item to get.
- *
- * Returns: The nth view item in the collection
- */
-GalViewCollectionItem *
-gal_view_collection_get_view_item (GalViewCollection *collection,
- int n)
-{
- g_return_val_if_fail (collection != NULL, NULL);
- g_return_val_if_fail (GAL_IS_VIEW_COLLECTION (collection), NULL);
- g_return_val_if_fail(n < collection->view_count, NULL);
- g_return_val_if_fail(n >= 0, NULL);
-
- return collection->view_data[n];
-}
-
-int
-gal_view_collection_get_view_index_by_id (GalViewCollection *collection, const char *view_id)
-{
- int i;
- for (i = 0; i < collection->view_count; i++) {
- if (!strcmp (collection->view_data[i]->id, view_id))
- return i;
- }
- return -1;
-}
-
-char *
-gal_view_collection_get_view_id_by_index (GalViewCollection *collection, int n)
-{
- g_return_val_if_fail (collection != NULL, NULL);
- g_return_val_if_fail (GAL_IS_VIEW_COLLECTION (collection), NULL);
- g_return_val_if_fail(n < collection->view_count, NULL);
- g_return_val_if_fail(n >= 0, NULL);
-
- return g_strdup (collection->view_data[n]->id);
-}
-
-
-void
-gal_view_collection_append (GalViewCollection *collection,
- GalView *view)
-{
- GalViewCollectionItem *item;
-
- g_return_if_fail (collection != NULL);
- g_return_if_fail (GAL_IS_VIEW_COLLECTION (collection));
- g_return_if_fail (view != NULL);
- g_return_if_fail (GAL_IS_VIEW (view));
-
- item = g_new(GalViewCollectionItem, 1);
- item->ever_changed = TRUE;
- item->changed = TRUE;
- item->built_in = FALSE;
- item->title = g_strdup(gal_view_get_title(view));
- item->type = g_strdup(gal_view_get_type_code(view));
- item->id = gal_view_generate_id(collection, view);
- item->filename = g_strdup_printf("%s.galview", item->id);
- item->view = view;
- item->collection = collection;
- g_object_ref(view);
-
- item->view_changed_id =
- g_signal_connect(item->view, "changed",
- G_CALLBACK (view_changed), item);
-
- collection->view_data = g_renew(GalViewCollectionItem *, collection->view_data, collection->view_count + 1);
- collection->view_data[collection->view_count] = item;
- collection->view_count ++;
-
- gal_view_collection_changed(collection);
-}
-
-void
-gal_view_collection_delete_view (GalViewCollection *collection,
- int i)
-{
- GalViewCollectionItem *item;
-
- g_return_if_fail (collection != NULL);
- g_return_if_fail (GAL_IS_VIEW_COLLECTION (collection));
- g_return_if_fail (i >= 0 && i < collection->view_count);
-
- item = collection->view_data[i];
- memmove(collection->view_data + i, collection->view_data + i + 1, (collection->view_count - i - 1) * sizeof(GalViewCollectionItem *));
- collection->view_count --;
- if (item->built_in) {
- g_free(item->filename);
- item->filename = NULL;
-
- collection->removed_view_data = g_renew(GalViewCollectionItem *, collection->removed_view_data, collection->removed_view_count + 1);
- collection->removed_view_data[collection->removed_view_count] = item;
- collection->removed_view_count ++;
- } else {
- gal_view_collection_item_free (item);
- }
-
- gal_view_collection_changed(collection);
-}
-
-void
-gal_view_collection_copy_view (GalViewCollection *collection,
- int i)
-{
- GalViewCollectionItem *item;
- GalView *view;
-
- g_return_if_fail (collection != NULL);
- g_return_if_fail (GAL_IS_VIEW_COLLECTION (collection));
- g_return_if_fail (i >= 0 && i < collection->view_count);
-
- view = collection->view_data[i]->view;
-
- item = g_new(GalViewCollectionItem, 1);
- item->ever_changed = TRUE;
- item->changed = FALSE;
- item->built_in = FALSE;
- item->title = g_strdup(gal_view_get_title(view));
- item->type = g_strdup(gal_view_get_type_code(view));
- item->id = gal_view_generate_id(collection, view);
- item->filename = g_strdup_printf("%s.galview", item->id);
- item->view = gal_view_clone(view);
- item->collection = collection;
-
- item->view_changed_id =
- g_signal_connect(item->view, "changed",
- G_CALLBACK (view_changed), item);
-
- collection->view_data = g_renew(GalViewCollectionItem *, collection->view_data, collection->view_count + 1);
- collection->view_data[collection->view_count] = item;
- collection->view_count ++;
-
- gal_view_collection_changed(collection);
-}
-
-gboolean
-gal_view_collection_loaded (GalViewCollection *collection)
-{
- return collection->loaded;
-}
-
-const char *
-gal_view_collection_append_with_title (GalViewCollection *collection, const char *title, GalView *view)
-{
- GalViewCollectionItem *item;
-
- g_return_val_if_fail (collection != NULL, NULL);
- g_return_val_if_fail (GAL_IS_VIEW_COLLECTION (collection), NULL);
- g_return_val_if_fail (view != NULL, NULL);
- g_return_val_if_fail (GAL_IS_VIEW (view), NULL);
-
- gal_view_set_title (view, title);
-
- d(g_print("%s: %p\n", G_GNUC_FUNCTION, view));
-
- item = g_new(GalViewCollectionItem, 1);
- item->ever_changed = TRUE;
- item->changed = TRUE;
- item->built_in = FALSE;
- item->title = g_strdup(gal_view_get_title(view));
- item->type = g_strdup(gal_view_get_type_code(view));
- item->id = gal_view_generate_id(collection, view);
- item->filename = g_strdup_printf("%s.galview", item->id);
- item->view = view;
- item->collection = collection;
- g_object_ref(view);
-
- item->view_changed_id =
- g_signal_connect(item->view, "changed",
- G_CALLBACK (view_changed), item);
-
- collection->view_data = g_renew(GalViewCollectionItem *, collection->view_data, collection->view_count + 1);
- collection->view_data[collection->view_count] = item;
- collection->view_count ++;
-
- gal_view_collection_changed(collection);
- return item->id;
-}
-
-const char *
-gal_view_collection_set_nth_view (GalViewCollection *collection, int i, GalView *view)
-{
- GalViewCollectionItem *item;
-
- g_return_val_if_fail (collection != NULL, NULL);
- g_return_val_if_fail (GAL_IS_VIEW_COLLECTION (collection), NULL);
- g_return_val_if_fail (view != NULL, NULL);
- g_return_val_if_fail (GAL_IS_VIEW (view), NULL);
- g_return_val_if_fail (i >= 0, NULL);
- g_return_val_if_fail (i < collection->view_count, NULL);
-
- d(g_print("%s: %p\n", G_GNUC_FUNCTION, view));
-
- item = collection->view_data[i];
-
- gal_view_set_title (view, item->title);
- g_object_ref (view);
- if (item->view) {
- g_signal_handler_disconnect (item->view,
- item->view_changed_id);
- g_object_unref (item->view);
- }
- item->view = view;
-
- item->ever_changed = TRUE;
- item->changed = TRUE;
- item->type = g_strdup(gal_view_get_type_code(view));
-
- item->view_changed_id =
- g_signal_connect(item->view, "changed",
- G_CALLBACK (view_changed), item);
-
- gal_view_collection_changed (collection);
- return item->id;
-}
-
-const char *
-gal_view_collection_get_default_view (GalViewCollection *collection)
-{
- return collection->default_view;
-}
-
-void
-gal_view_collection_set_default_view (GalViewCollection *collection, const char *id)
-{
- g_free (collection->default_view);
- collection->default_view = g_strdup (id);
- gal_view_collection_changed (collection);
- collection->default_view_built_in = FALSE;
-}
-
diff --git a/widgets/menus/gal-view-collection.h b/widgets/menus/gal-view-collection.h
deleted file mode 100644
index 9ba5eab71f..0000000000
--- a/widgets/menus/gal-view-collection.h
+++ /dev/null
@@ -1,151 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gal-view-collection.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _GAL_VIEW_SET_H_
-#define _GAL_VIEW_SET_H_
-
-#include <gtk/gtkobject.h>
-#include <gal/menus/gal-view-factory.h>
-
-G_BEGIN_DECLS
-
-#define GAL_VIEW_COLLECTION_TYPE (gal_view_collection_get_type ())
-#define GAL_VIEW_COLLECTION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GAL_VIEW_COLLECTION_TYPE, GalViewCollection))
-#define GAL_VIEW_COLLECTION_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GAL_VIEW_COLLECTION_TYPE, GalViewCollectionClass))
-#define GAL_IS_VIEW_COLLECTION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GAL_VIEW_COLLECTION_TYPE))
-#define GAL_IS_VIEW_COLLECTION_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GAL_VIEW_COLLECTION_TYPE))
-#define GAL_VIEW_COLLECTION_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GAL_VIEW_COLLECTION_TYPE, GalViewCollectionClass))
-
-typedef struct GalViewCollectionItem GalViewCollectionItem;
-
-typedef struct {
- GObject base;
-
- GalViewCollectionItem **view_data;
- int view_count;
-
- GList *factory_list;
-
- GalViewCollectionItem **removed_view_data;
- int removed_view_count;
-
- guint loaded : 1;
- guint default_view_built_in : 1;
-
- char *system_dir;
- char *local_dir;
-
- char *default_view;
-
- char *title;
-} GalViewCollection;
-
-typedef struct {
- GObjectClass parent_class;
-
- /*
- * Signals
- */
- void (*display_view) (GalViewCollection *collection,
- GalView *view);
- void (*changed) (GalViewCollection *collection);
-} GalViewCollectionClass;
-
-struct GalViewCollectionItem {
- GalView *view;
- char *id;
- guint changed : 1;
- guint ever_changed : 1;
- guint built_in : 1;
- char *filename;
- char *title;
- char *type;
- GalViewCollection *collection;
- guint view_changed_id;
-};
-
-/* Standard functions */
-GType gal_view_collection_get_type (void);
-GalViewCollection *gal_view_collection_new (void);
-
-void gal_view_collection_set_title (GalViewCollection *collection,
- const char *title);
-/* Set up the view collection. Call these two functions before ever doing load or save and never call them again. */
-void gal_view_collection_set_storage_directories (GalViewCollection *collection,
- const char *system_dir,
- const char *local_dir);
-void gal_view_collection_add_factory (GalViewCollection *collection,
- GalViewFactory *factory);
-
-/* Send the display view signal. This function is deprecated. */
-void gal_view_collection_display_view (GalViewCollection *collection,
- GalView *view);
-
-
-/* Query the view collection. */
-gint gal_view_collection_get_count (GalViewCollection *collection);
-GalView *gal_view_collection_get_view (GalViewCollection *collection,
- int n);
-GalViewCollectionItem *gal_view_collection_get_view_item (GalViewCollection *collection,
- int n);
-int gal_view_collection_get_view_index_by_id (GalViewCollection *collection,
- const char *view_id);
-char *gal_view_collection_get_view_id_by_index (GalViewCollection *collection,
- int n);
-
-/* Manipulate the view collection */
-void gal_view_collection_append (GalViewCollection *collection,
- GalView *view);
-void gal_view_collection_delete_view (GalViewCollection *collection,
- int i);
-void gal_view_collection_copy_view (GalViewCollection *collection,
- int i);
-/* Call set_storage_directories and add factories for anything that
- * might be found there before doing either of these. */
-void gal_view_collection_load (GalViewCollection *collection);
-void gal_view_collection_save (GalViewCollection *collection);
-gboolean gal_view_collection_loaded (GalViewCollection *collection);
-
-/* Use factory list to load a GalView file. */
-GalView *gal_view_collection_load_view_from_file (GalViewCollection *collection,
- const char *type,
- const char *filename);
-
-/* Returns id of the new view. These functions are used for
- GalViewInstanceSaveAsDialog. */
-const char *gal_view_collection_append_with_title (GalViewCollection *collection,
- const char *title,
- GalView *view);
-const char *gal_view_collection_set_nth_view (GalViewCollection *collection,
- int i,
- GalView *view);
-
-const char *gal_view_collection_get_default_view (GalViewCollection *collection);
-void gal_view_collection_set_default_view (GalViewCollection *collection,
- const char *id);
-
-
-G_END_DECLS
-
-
-#endif /* _GAL_VIEW_COLLECTION_H_ */
diff --git a/widgets/menus/gal-view-etable.c b/widgets/menus/gal-view-etable.c
deleted file mode 100644
index a46368559e..0000000000
--- a/widgets/menus/gal-view-etable.c
+++ /dev/null
@@ -1,305 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gal-view-etable.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include "gal-view-etable.h"
-#include <gal/e-table/e-table-config.h>
-
-#define PARENT_TYPE GAL_VIEW_TYPE
-
-static GalViewClass *gal_view_etable_parent_class;
-
-static void
-detach_table (GalViewEtable *view)
-{
- if (view->table == NULL)
- return;
- if (view->table_state_changed_id) {
- g_signal_handler_disconnect (view->table,
- view->table_state_changed_id);
- view->table_state_changed_id = 0;
- }
- g_object_unref (view->table);
- view->table = NULL;
-}
-
-static void
-detach_tree (GalViewEtable *view)
-{
- if (view->tree == NULL)
- return;
- if (view->tree_state_changed_id) {
- g_signal_handler_disconnect (view->tree,
- view->tree_state_changed_id);
- view->tree_state_changed_id = 0;
- }
- g_object_unref (view->tree);
- view->tree = NULL;
-}
-
-static void
-config_changed (ETableConfig *config, GalViewEtable *view)
-{
- ETableState *state;
- if (view->state)
- g_object_unref(view->state);
- g_object_get (config,
- "state", &state,
- NULL);
- view->state = e_table_state_duplicate(state);
- g_object_unref (state);
-
- gal_view_changed(GAL_VIEW(view));
-}
-
-static void
-gal_view_etable_edit (GalView *view, GtkWindow *parent)
-{
- GalViewEtable *etable_view = GAL_VIEW_ETABLE(view);
- ETableConfig *config;
-
- config = e_table_config_new(etable_view->title,
- etable_view->spec,
- etable_view->state,
- parent);
-
- g_signal_connect(config, "changed",
- G_CALLBACK(config_changed), view);
-}
-
-static void
-gal_view_etable_load (GalView *view,
- const char *filename)
-{
- e_table_state_load_from_file(GAL_VIEW_ETABLE(view)->state, filename);
-}
-
-static void
-gal_view_etable_save (GalView *view,
- const char *filename)
-{
- e_table_state_save_to_file(GAL_VIEW_ETABLE(view)->state, filename);
-}
-
-static const char *
-gal_view_etable_get_title (GalView *view)
-{
- return GAL_VIEW_ETABLE(view)->title;
-}
-
-static void
-gal_view_etable_set_title (GalView *view,
- const char *title)
-{
- g_free(GAL_VIEW_ETABLE(view)->title);
- GAL_VIEW_ETABLE(view)->title = g_strdup(title);
-}
-
-static const char *
-gal_view_etable_get_type_code (GalView *view)
-{
- return "etable";
-}
-
-static GalView *
-gal_view_etable_clone (GalView *view)
-{
- GalViewEtable *gve, *new;
-
- gve = GAL_VIEW_ETABLE(view);
-
- new = g_object_new (GAL_VIEW_ETABLE_TYPE, NULL);
- new->spec = gve->spec;
- new->title = g_strdup (gve->title);
- new->state = e_table_state_duplicate(gve->state);
-
- g_object_ref(new->spec);
-
- return GAL_VIEW(new);
-}
-
-static void
-gal_view_etable_dispose (GObject *object)
-{
- GalViewEtable *view = GAL_VIEW_ETABLE(object);
-
- gal_view_etable_detach (view);
-
- g_free(view->title);
- view->title = NULL;
-
- if (view->spec)
- g_object_unref(view->spec);
- view->spec = NULL;
-
- if (view->state)
- g_object_unref(view->state);
- view->state = NULL;
-
- if (G_OBJECT_CLASS (gal_view_etable_parent_class)->dispose)
- (* G_OBJECT_CLASS (gal_view_etable_parent_class)->dispose) (object);
-}
-
-static void
-gal_view_etable_class_init (GObjectClass *object_class)
-{
- GalViewClass *gal_view_class = GAL_VIEW_CLASS(object_class);
- gal_view_etable_parent_class = g_type_class_ref (PARENT_TYPE);
-
- gal_view_class->edit = gal_view_etable_edit ;
- gal_view_class->load = gal_view_etable_load ;
- gal_view_class->save = gal_view_etable_save ;
- gal_view_class->get_title = gal_view_etable_get_title ;
- gal_view_class->set_title = gal_view_etable_set_title ;
- gal_view_class->get_type_code = gal_view_etable_get_type_code;
- gal_view_class->clone = gal_view_etable_clone ;
-
- object_class->dispose = gal_view_etable_dispose ;
-}
-
-static void
-gal_view_etable_init (GalViewEtable *gve)
-{
- gve->spec = NULL;
- gve->state = e_table_state_new();
- gve->title = NULL;
-}
-
-E_MAKE_TYPE(gal_view_etable, "GalViewEtable", GalViewEtable, gal_view_etable_class_init, gal_view_etable_init, PARENT_TYPE)
-
-/**
- * gal_view_etable_new
- * @spec: The ETableSpecification that this view will be based upon.
- * @title: The name of the new view.
- *
- * Returns a new GalViewEtable. This is primarily for use by
- * GalViewFactoryEtable.
- *
- * Returns: The new GalViewEtable.
- */
-GalView *
-gal_view_etable_new (ETableSpecification *spec,
- const gchar *title)
-{
- return gal_view_etable_construct (g_object_new (GAL_VIEW_ETABLE_TYPE, NULL), spec, title);
-}
-
-/**
- * gal_view_etable_construct
- * @view: The view to construct.
- * @spec: The ETableSpecification that this view will be based upon.
- * @title: The name of the new view.
- *
- * constructs the GalViewEtable. To be used by subclasses and
- * language bindings.
- *
- * Returns: The GalViewEtable.
- */
-GalView *
-gal_view_etable_construct (GalViewEtable *view,
- ETableSpecification *spec,
- const gchar *title)
-{
- if (spec)
- g_object_ref(spec);
- view->spec = spec;
-
- if (view->state)
- g_object_unref(view->state);
- view->state = e_table_state_duplicate(spec->state);
-
- view->title = g_strdup(title);
-
- return GAL_VIEW(view);
-}
-
-void
-gal_view_etable_set_state (GalViewEtable *view, ETableState *state)
-{
- if (view->state)
- g_object_unref(view->state);
- view->state = e_table_state_duplicate(state);
-
- gal_view_changed(GAL_VIEW(view));
-}
-
-static void
-table_state_changed (ETable *table, GalViewEtable *view)
-{
- ETableState *state;
-
- state = e_table_get_state_object (table);
- g_object_unref (view->state);
- view->state = state;
-
- gal_view_changed(GAL_VIEW(view));
-}
-
-static void
-tree_state_changed (ETree *tree, GalViewEtable *view)
-{
- ETableState *state;
-
- state = e_tree_get_state_object (tree);
- g_object_unref (view->state);
- view->state = state;
-
- gal_view_changed(GAL_VIEW(view));
-}
-
-void
-gal_view_etable_attach_table (GalViewEtable *view, ETable *table)
-{
- gal_view_etable_detach (view);
-
- view->table = table;
-
- e_table_set_state_object(view->table, view->state);
- g_object_ref (view->table);
- view->table_state_changed_id =
- g_signal_connect(view->table, "state_change",
- G_CALLBACK (table_state_changed), view);
-}
-
-void
-gal_view_etable_attach_tree (GalViewEtable *view, ETree *tree)
-{
- gal_view_etable_detach (view);
-
- view->tree = tree;
-
- e_tree_set_state_object(view->tree, view->state);
- g_object_ref (view->tree);
- view->tree_state_changed_id =
- g_signal_connect(view->tree, "state_change",
- G_CALLBACK (tree_state_changed), view);
-}
-
-void
-gal_view_etable_detach (GalViewEtable *view)
-{
- if (view->table != NULL)
- detach_table (view);
- if (view->tree != NULL)
- detach_tree (view);
-}
diff --git a/widgets/menus/gal-view-etable.h b/widgets/menus/gal-view-etable.h
deleted file mode 100644
index 65879663fa..0000000000
--- a/widgets/menus/gal-view-etable.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gal-view-etable.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _GAL_VIEW_ETABLE_H_
-#define _GAL_VIEW_ETABLE_H_
-
-#include <gtk/gtkobject.h>
-#include <gal/menus/gal-view.h>
-#include <gal/e-table/e-table-state.h>
-#include <gal/e-table/e-table-specification.h>
-#include <gal/e-table/e-table.h>
-#include <gal/e-table/e-tree.h>
-
-G_BEGIN_DECLS
-
-#define GAL_VIEW_ETABLE_TYPE (gal_view_etable_get_type ())
-#define GAL_VIEW_ETABLE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GAL_VIEW_ETABLE_TYPE, GalViewEtable))
-#define GAL_VIEW_ETABLE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GAL_VIEW_ETABLE_TYPE, GalViewEtableClass))
-#define GAL_IS_VIEW_ETABLE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GAL_VIEW_ETABLE_TYPE))
-#define GAL_IS_VIEW_ETABLE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GAL_VIEW_ETABLE_TYPE))
-
-typedef struct {
- GalView base;
-
- ETableSpecification *spec;
- ETableState *state;
- char *title;
-
- ETable *table;
- guint table_state_changed_id;
-
- ETree *tree;
- guint tree_state_changed_id;
-} GalViewEtable;
-
-typedef struct {
- GalViewClass parent_class;
-} GalViewEtableClass;
-
-/* Standard functions */
-GType gal_view_etable_get_type (void);
-GalView *gal_view_etable_new (ETableSpecification *spec,
- const gchar *title);
-GalView *gal_view_etable_construct (GalViewEtable *view,
- ETableSpecification *spec,
- const gchar *title);
-void gal_view_etable_set_state (GalViewEtable *view,
- ETableState *state);
-void gal_view_etable_attach_table (GalViewEtable *view,
- ETable *table);
-void gal_view_etable_attach_tree (GalViewEtable *view,
- ETree *tree);
-void gal_view_etable_detach (GalViewEtable *view);
-
-
-G_END_DECLS
-
-#endif /* _GAL_VIEW_ETABLE_H_ */
diff --git a/widgets/menus/gal-view-factory-etable.c b/widgets/menus/gal-view-factory-etable.c
deleted file mode 100644
index c0d68fe006..0000000000
--- a/widgets/menus/gal-view-factory-etable.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gal-view-factory-etable.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include "gal/util/e-i18n.h"
-#include "gal/util/e-util.h"
-#include "gal-view-factory-etable.h"
-#include "gal-view-etable.h"
-
-#define PARENT_TYPE GAL_VIEW_FACTORY_TYPE
-
-static GalViewFactoryClass *gal_view_factory_etable_parent_class;
-
-static const char *
-gal_view_factory_etable_get_title (GalViewFactory *factory)
-{
- return _("Table");
-}
-
-static GalView *
-gal_view_factory_etable_new_view (GalViewFactory *factory,
- const char *name)
-{
- return gal_view_etable_new(GAL_VIEW_FACTORY_ETABLE(factory)->spec, name);
-}
-
-static const char *
-gal_view_factory_etable_get_type_code (GalViewFactory *factory)
-{
- return "etable";
-}
-
-static void
-gal_view_factory_etable_dispose (GObject *object)
-{
- GalViewFactoryEtable *factory = GAL_VIEW_FACTORY_ETABLE(object);
-
- if (factory->spec)
- g_object_unref(factory->spec);
- factory->spec = NULL;
-
- if (G_OBJECT_CLASS (gal_view_factory_etable_parent_class)->dispose)
- (* G_OBJECT_CLASS (gal_view_factory_etable_parent_class)->dispose) (object);
-}
-
-static void
-gal_view_factory_etable_class_init (GObjectClass *object_class)
-{
- GalViewFactoryClass *view_factory_class = GAL_VIEW_FACTORY_CLASS(object_class);
- gal_view_factory_etable_parent_class = g_type_class_ref (PARENT_TYPE);
-
- view_factory_class->get_title = gal_view_factory_etable_get_title;
- view_factory_class->new_view = gal_view_factory_etable_new_view;
- view_factory_class->get_type_code = gal_view_factory_etable_get_type_code;
-
- object_class->dispose = gal_view_factory_etable_dispose;
-}
-
-static void
-gal_view_factory_etable_init (GalViewFactoryEtable *factory)
-{
- factory->spec = NULL;
-}
-
-/**
- * gal_view_etable_new
- * @spec: The spec to create GalViewEtables based upon.
- *
- * A new GalViewFactory for creating ETable views. Create one of
- * these and pass it to GalViewCollection for use.
- *
- * Returns: The new GalViewFactoryEtable.
- */
-GalViewFactory *
-gal_view_factory_etable_new (ETableSpecification *spec)
-{
- return gal_view_factory_etable_construct (g_object_new (GAL_VIEW_FACTORY_ETABLE_TYPE, NULL), spec);
-}
-
-/**
- * gal_view_etable_construct
- * @factory: The factory to construct
- * @spec: The spec to create GalViewEtables based upon.
- *
- * constructs the GalViewFactoryEtable. To be used by subclasses and
- * language bindings.
- *
- * Returns: The GalViewFactoryEtable.
- */
-GalViewFactory *
-gal_view_factory_etable_construct (GalViewFactoryEtable *factory,
- ETableSpecification *spec)
-{
- if (spec)
- g_object_ref(spec);
- factory->spec = spec;
- return GAL_VIEW_FACTORY(factory);
-}
-
-E_MAKE_TYPE(gal_view_factory_etable, "GalViewFactoryEtable", GalViewFactoryEtable, gal_view_factory_etable_class_init, gal_view_factory_etable_init, PARENT_TYPE)
diff --git a/widgets/menus/gal-view-factory-etable.h b/widgets/menus/gal-view-factory-etable.h
deleted file mode 100644
index 542aa255fc..0000000000
--- a/widgets/menus/gal-view-factory-etable.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gal-view-factory-etable.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _GAL_VIEW_FACTORY_ETABLE_H_
-#define _GAL_VIEW_FACTORY_ETABLE_H_
-
-#include <gtk/gtkobject.h>
-#include <gal/menus/gal-view-factory.h>
-#include <gal/e-table/e-table-specification.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define GAL_VIEW_FACTORY_ETABLE_TYPE (gal_view_factory_etable_get_type ())
-#define GAL_VIEW_FACTORY_ETABLE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GAL_VIEW_FACTORY_ETABLE_TYPE, GalViewFactoryEtable))
-#define GAL_VIEW_FACTORY_ETABLE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GAL_VIEW_FACTORY_ETABLE_TYPE, GalViewFactoryEtableClass))
-#define GAL_IS_VIEW_FACTORY_ETABLE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GAL_VIEW_FACTORY_ETABLE_TYPE))
-#define GAL_IS_VIEW_FACTORY_ETABLE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GAL_VIEW_FACTORY_ETABLE_TYPE))
-#define GAL_VIEW_FACTORY_ETABLE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GAL_VIEW_FACTORY_ETABLE_TYPE, GalViewFactoryEtableClass))
-
-typedef struct {
- GalViewFactory base;
-
- ETableSpecification *spec;
-} GalViewFactoryEtable;
-
-typedef struct {
- GalViewFactoryClass parent_class;
-} GalViewFactoryEtableClass;
-
-/* Standard functions */
-GType gal_view_factory_etable_get_type (void);
-GalViewFactory *gal_view_factory_etable_new (ETableSpecification *spec);
-GalViewFactory *gal_view_factory_etable_construct (GalViewFactoryEtable *factory,
- ETableSpecification *spec);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* _GAL_VIEW_FACTORY_ETABLE_H_ */
diff --git a/widgets/menus/gal-view-factory.c b/widgets/menus/gal-view-factory.c
deleted file mode 100644
index 5bc2c9f11d..0000000000
--- a/widgets/menus/gal-view-factory.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gal-view-factory.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include "gal-view-factory.h"
-#include "gal/util/e-util.h"
-
-#define PARENT_TYPE G_TYPE_OBJECT
-
-#define d(x)
-
-d(static gint depth = 0;)
-
-static GObjectClass *gal_view_factory_parent_class;
-
-/**
- * gal_view_factory_get_title:
- * @factory: The factory to query.
- *
- * Returns: The title of the factory.
- */
-const char *
-gal_view_factory_get_title (GalViewFactory *factory)
-{
- g_return_val_if_fail (factory != NULL, 0);
- g_return_val_if_fail (GAL_IS_VIEW_FACTORY (factory), 0);
-
- if (GAL_VIEW_FACTORY_GET_CLASS (factory)->get_title)
- return GAL_VIEW_FACTORY_GET_CLASS (factory)->get_title (factory);
- else
- return NULL;
-}
-
-/**
- * gal_view_factory_new_view:
- * @factory: The factory to use
- * @name: the name for the view.
- *
- * Returns: The new view
- */
-GalView *
-gal_view_factory_new_view (GalViewFactory *factory,
- const char *name)
-{
- g_return_val_if_fail (factory != NULL, NULL);
- g_return_val_if_fail (GAL_IS_VIEW_FACTORY (factory), NULL);
-
- if (GAL_VIEW_FACTORY_GET_CLASS (factory)->new_view)
- return GAL_VIEW_FACTORY_GET_CLASS (factory)->new_view (factory, name);
- else
- return NULL;
-}
-
-/**
- * gal_view_factory_get_type_code:
- * @factory: The factory to use
- *
- * Returns: The type code
- */
-const char *
-gal_view_factory_get_type_code (GalViewFactory *factory)
-{
- g_return_val_if_fail (factory != NULL, NULL);
- g_return_val_if_fail (GAL_IS_VIEW_FACTORY (factory), NULL);
-
- if (GAL_VIEW_FACTORY_GET_CLASS (factory)->get_type_code)
- return GAL_VIEW_FACTORY_GET_CLASS (factory)->get_type_code (factory);
- else
- return NULL;
-}
-
-static void
-gal_view_factory_class_init (GObjectClass *object_class)
-{
- GalViewFactoryClass *klass = GAL_VIEW_FACTORY_CLASS(object_class);
- gal_view_factory_parent_class = g_type_class_ref (PARENT_TYPE);
-
- klass->get_title = NULL;
- klass->new_view = NULL;
-}
-
-static void
-gal_view_factory_init (GalViewFactory *factory)
-{
-}
-
-E_MAKE_TYPE(gal_view_factory, "GalViewFactory", GalViewFactory, gal_view_factory_class_init, gal_view_factory_init, PARENT_TYPE)
diff --git a/widgets/menus/gal-view-factory.h b/widgets/menus/gal-view-factory.h
deleted file mode 100644
index 5fff83e048..0000000000
--- a/widgets/menus/gal-view-factory.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gal-view-factory.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _GAL_VIEW_FACTORY_H_
-#define _GAL_VIEW_FACTORY_H_
-
-#include <gtk/gtkobject.h>
-#include <gal/menus/gal-view.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define GAL_VIEW_FACTORY_TYPE (gal_view_factory_get_type ())
-#define GAL_VIEW_FACTORY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GAL_VIEW_FACTORY_TYPE, GalViewFactory))
-#define GAL_VIEW_FACTORY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GAL_VIEW_FACTORY_TYPE, GalViewFactoryClass))
-#define GAL_IS_VIEW_FACTORY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GAL_VIEW_FACTORY_TYPE))
-#define GAL_IS_VIEW_FACTORY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GAL_VIEW_FACTORY_TYPE))
-#define GAL_VIEW_FACTORY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GAL_VIEW_FACTORY_TYPE, GalViewFactoryClass))
-
-typedef struct {
- GObject base;
-} GalViewFactory;
-
-typedef struct {
- GObjectClass parent_class;
-
- /*
- * Virtual methods
- */
- const char *(*get_title) (GalViewFactory *factory);
- const char *(*get_type_code) (GalViewFactory *factory);
- GalView *(*new_view) (GalViewFactory *factory,
- const char *name);
-} GalViewFactoryClass;
-
-/* Standard functions */
-GType gal_view_factory_get_type (void);
-
-/* Query functions */
-/* Returns already translated title. */
-const char *gal_view_factory_get_title (GalViewFactory *factory);
-
-/* Returns the code for use in identifying this type of object in the
- * view list. This identifier should identify this as being the
- * unique factory for xml files which were written out with this
- * identifier. Thus each factory should have a unique type code. */
-const char *gal_view_factory_get_type_code (GalViewFactory *factory);
-
-/* Create a new view */
-GalView *gal_view_factory_new_view (GalViewFactory *factory,
- const char *name);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* _GAL_VIEW_FACTORY_H_ */
diff --git a/widgets/menus/gal-view-instance-save-as-dialog.c b/widgets/menus/gal-view-instance-save-as-dialog.c
deleted file mode 100644
index b65d4acba2..0000000000
--- a/widgets/menus/gal-view-instance-save-as-dialog.c
+++ /dev/null
@@ -1,307 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gal-define-views-dialog.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-
-#include "gal-view-instance-save-as-dialog.h"
-
-#include "gal-define-views-model.h"
-#include "gal-view-new-dialog.h"
-#include <gal/e-table/e-table-scrolled.h>
-#include <gal/util/e-i18n.h>
-#include <gtk/gtkentry.h>
-#include <gtk/gtktogglebutton.h>
-#include <gtk/gtkbox.h>
-#include <gtk/gtkstock.h>
-
-static GtkDialogClass *parent_class = NULL;
-#define PARENT_TYPE GTK_TYPE_DIALOG
-
-/* The arguments we take */
-enum {
- PROP_0,
- PROP_INSTANCE,
-};
-
-typedef struct {
- char *title;
- ETableModel *model;
- GalViewInstanceSaveAsDialog *names;
-} GalViewInstanceSaveAsDialogChild;
-
-
-/* Static functions */
-static void
-gal_view_instance_save_as_dialog_set_instance(GalViewInstanceSaveAsDialog *dialog,
- GalViewInstance *instance)
-{
- dialog->instance = instance;
- if (dialog->model) {
- GtkWidget *table;
- g_object_set(dialog->model,
- "collection", instance ? instance->collection : NULL,
- NULL);
- table = glade_xml_get_widget(dialog->gui, "custom-replace");
- if (table) {
- ETable *etable;
- etable = e_table_scrolled_get_table (E_TABLE_SCROLLED (table));
- e_selection_model_select_single_row (e_table_get_selection_model (etable), 0);
- e_selection_model_change_cursor (e_table_get_selection_model (etable), 0, 0);
- }
- }
-}
-
-static void
-gvisad_setup_radio_buttons (GalViewInstanceSaveAsDialog *dialog)
-{
- GtkWidget *radio_replace = glade_xml_get_widget (dialog->gui, "radiobutton-replace");
- GtkWidget *radio_create = glade_xml_get_widget (dialog->gui, "radiobutton-create" );
- GtkWidget *widget;
-
- widget = glade_xml_get_widget (dialog->gui, "custom-replace");
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (radio_replace))) {
- gtk_widget_set_sensitive (widget, TRUE);
- dialog->toggle = GAL_VIEW_INSTANCE_SAVE_AS_DIALOG_TOGGLE_REPLACE;
- } else {
- gtk_widget_set_sensitive (widget, FALSE);
- }
-
- widget = glade_xml_get_widget (dialog->gui, "entry-create");
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (radio_create))) {
- gtk_widget_set_sensitive (widget, TRUE);
- dialog->toggle = GAL_VIEW_INSTANCE_SAVE_AS_DIALOG_TOGGLE_CREATE;
- } else {
- gtk_widget_set_sensitive (widget, FALSE);
- }
-}
-
-static void
-gvisad_radio_toggled (GtkWidget *widget, GalViewInstanceSaveAsDialog *dialog)
-{
- gvisad_setup_radio_buttons (dialog);
-}
-
-static void
-gvisad_connect_signal(GalViewInstanceSaveAsDialog *dialog, char *widget_name, char *signal, GCallback handler)
-{
- GtkWidget *widget;
-
- widget = glade_xml_get_widget(dialog->gui, widget_name);
-
- if (widget)
- g_signal_connect (G_OBJECT (widget), signal, handler, dialog);
-}
-
-/* Method override implementations */
-static void
-gal_view_instance_save_as_dialog_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
-{
- GalViewInstanceSaveAsDialog *dialog;
-
- dialog = GAL_VIEW_INSTANCE_SAVE_AS_DIALOG (object);
-
- switch (prop_id){
- case PROP_INSTANCE:
- if (g_value_get_object (value))
- gal_view_instance_save_as_dialog_set_instance(dialog, GAL_VIEW_INSTANCE(g_value_get_object (value)));
- else
- gal_view_instance_save_as_dialog_set_instance(dialog, NULL);
- break;
-
- default:
- return;
- }
-}
-
-static void
-gal_view_instance_save_as_dialog_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
- GalViewInstanceSaveAsDialog *dialog;
-
- dialog = GAL_VIEW_INSTANCE_SAVE_AS_DIALOG (object);
-
- switch (prop_id) {
- case PROP_INSTANCE:
- g_value_set_object (value, dialog->instance);
- break;
-
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-gal_view_instance_save_as_dialog_dispose (GObject *object)
-{
- GalViewInstanceSaveAsDialog *gal_view_instance_save_as_dialog = GAL_VIEW_INSTANCE_SAVE_AS_DIALOG(object);
-
- if (gal_view_instance_save_as_dialog->gui)
- g_object_unref(gal_view_instance_save_as_dialog->gui);
- gal_view_instance_save_as_dialog->gui = NULL;
-
- if (G_OBJECT_CLASS (parent_class)->dispose)
- (* G_OBJECT_CLASS (parent_class)->dispose) (object);
-}
-
-/* Init functions */
-static void
-gal_view_instance_save_as_dialog_class_init (GalViewInstanceSaveAsDialogClass *klass)
-{
- GObjectClass *object_class;
-
- object_class = (GObjectClass*) klass;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class->set_property = gal_view_instance_save_as_dialog_set_property;
- object_class->get_property = gal_view_instance_save_as_dialog_get_property;
- object_class->dispose = gal_view_instance_save_as_dialog_dispose;
-
- g_object_class_install_property (object_class, PROP_INSTANCE,
- g_param_spec_object ("instance",
- _("Instance"),
- /*_( */"XXX blurb" /*)*/,
- GAL_VIEW_INSTANCE_TYPE,
- G_PARAM_READWRITE));
-}
-
-static void
-gal_view_instance_save_as_dialog_init (GalViewInstanceSaveAsDialog *dialog)
-{
- GladeXML *gui;
- GtkWidget *widget;
- GtkWidget *table;
-
- dialog->instance = NULL;
-
- gui = glade_xml_new_with_domain (GAL_GLADEDIR "/gal-view-instance-save-as-dialog.glade", NULL, E_I18N_DOMAIN);
- dialog->gui = gui;
-
- widget = glade_xml_get_widget(gui, "vbox-top");
- if (!widget) {
- return;
- }
- gtk_widget_ref(widget);
- gtk_container_remove (GTK_CONTAINER (widget->parent), widget);
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), widget, TRUE, TRUE, 0);
- gtk_widget_unref(widget);
-
- gtk_dialog_add_buttons (GTK_DIALOG (dialog),
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OK, GTK_RESPONSE_OK,
- NULL);
-
- gvisad_connect_signal(dialog, "radiobutton-replace", "toggled", G_CALLBACK(gvisad_radio_toggled));
- gvisad_connect_signal(dialog, "radiobutton-create", "toggled", G_CALLBACK(gvisad_radio_toggled));
-
- dialog->model = NULL;
- table = glade_xml_get_widget(dialog->gui, "custom-replace");
- if (table) {
- dialog->model = g_object_get_data(G_OBJECT (table), "GalViewInstanceSaveAsDialog::model");
-
- gal_view_instance_save_as_dialog_set_instance (dialog, dialog->instance);
- gtk_widget_show_all (table);
- }
-
- gvisad_setup_radio_buttons (dialog);
- gtk_window_set_policy(GTK_WINDOW(dialog), FALSE, TRUE, FALSE);
- gtk_window_set_title (GTK_WINDOW (dialog), _("Save Current View"));
-}
-
-
-/* For use from libglade. */
-/* ETable creation */
-#define SPEC "<ETableSpecification no-headers=\"true\" cursor-mode=\"line\" draw-grid=\"false\" selection-mode=\"single\" gettext-domain=\"" E_I18N_DOMAIN "\">" \
- "<ETableColumn model_col= \"0\" _title=\"Name\" expansion=\"1.0\" minimum_width=\"18\" resizable=\"true\" cell=\"string\" compare=\"string\"/>" \
- "<ETableState> <column source=\"0\"/> <grouping> </grouping> </ETableState>" \
- "</ETableSpecification>"
-
-GtkWidget *gal_view_instance_save_as_dialog_create_etable(char *name, char *string1, char *string2, int int1, int int2);
-
-GtkWidget *
-gal_view_instance_save_as_dialog_create_etable(char *name, char *string1, char *string2, int int1, int int2)
-{
- GtkWidget *table;
- ETableModel *model;
- model = gal_define_views_model_new ();
- table = e_table_scrolled_new(model, NULL, SPEC, NULL);
- g_object_set_data(G_OBJECT (table), "GalViewInstanceSaveAsDialog::model", model);
-
- return table;
-}
-
-/* External methods */
-/**
- * gal_view_instance_save_as_dialog_new
- *
- * Returns a new dialog for defining views.
- *
- * Returns: The GalViewInstanceSaveAsDialog.
- */
-GtkWidget*
-gal_view_instance_save_as_dialog_new (GalViewInstance *instance)
-{
- GtkWidget *widget = g_object_new (GAL_VIEW_INSTANCE_SAVE_AS_DIALOG_TYPE, NULL);
- gal_view_instance_save_as_dialog_set_instance(GAL_VIEW_INSTANCE_SAVE_AS_DIALOG (widget), instance);
- return widget;
-}
-
-E_MAKE_TYPE(gal_view_instance_save_as_dialog, "GalViewInstanceSaveAsDialog",
- GalViewInstanceSaveAsDialog,
- gal_view_instance_save_as_dialog_class_init,
- gal_view_instance_save_as_dialog_init, PARENT_TYPE)
-
-void
-gal_view_instance_save_as_dialog_save (GalViewInstanceSaveAsDialog *dialog)
-{
- GalView *view = gal_view_instance_get_current_view (dialog->instance);
- GtkWidget *widget;
- const char *title;
- int n;
- const char *id = NULL;
-
- view = gal_view_clone (view);
- switch (dialog->toggle) {
- case GAL_VIEW_INSTANCE_SAVE_AS_DIALOG_TOGGLE_REPLACE:
- widget = glade_xml_get_widget(dialog->gui, "custom-replace");
- if (widget && E_IS_TABLE_SCROLLED (widget)) {
- n = e_table_get_cursor_row (e_table_scrolled_get_table (E_TABLE_SCROLLED (widget)));
- id = gal_view_collection_set_nth_view (dialog->instance->collection, n, view);
- gal_view_collection_save (dialog->instance->collection);
- }
- break;
- case GAL_VIEW_INSTANCE_SAVE_AS_DIALOG_TOGGLE_CREATE:
- widget = glade_xml_get_widget(dialog->gui, "entry-create");
- if (widget && GTK_IS_ENTRY (widget)) {
- title = gtk_entry_get_text (GTK_ENTRY (widget));
- id = gal_view_collection_append_with_title (dialog->instance->collection, title, view);
- gal_view_collection_save (dialog->instance->collection);
- }
- break;
- }
-
- if (id) {
- gal_view_instance_set_current_view_id (dialog->instance, id);
- }
-}
diff --git a/widgets/menus/gal-view-instance-save-as-dialog.glade b/widgets/menus/gal-view-instance-save-as-dialog.glade
deleted file mode 100644
index 54776827a0..0000000000
--- a/widgets/menus/gal-view-instance-save-as-dialog.glade
+++ /dev/null
@@ -1,260 +0,0 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
-<glade-interface>
-<requires lib="gnome"/>
-
-<widget class="GtkDialog" id="dialog1">
- <property name="title" translatable="yes"></property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_NONE</property>
- <property name="modal">False</property>
- <property name="resizable">True</property>
- <property name="destroy_with_parent">False</property>
- <property name="decorated">True</property>
- <property name="skip_taskbar_hint">False</property>
- <property name="skip_pager_hint">False</property>
- <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <property name="has_separator">True</property>
-
- <child internal-child="vbox">
- <widget class="GtkVBox" id="dialog-vbox1">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">8</property>
-
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="dialog-action_area1">
- <property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
-
- <child>
- <widget class="GtkButton" id="button1">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-ok</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">0</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="button3">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-cancel</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">0</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox-top">
- <property name="border_width">18</property>
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">12</property>
-
- <child>
- <widget class="GtkVBox" id="vbox2">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-create">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Create new view</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">True</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox1">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkLabel" id="label9">
- <property name="visible">True</property>
- <property name="label" translatable="yes"> </property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label8">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Name:</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="mnemonic_widget">entry-create</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkEntry" id="entry-create">
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="editable">True</property>
- <property name="visibility">True</property>
- <property name="max_length">0</property>
- <property name="text" translatable="yes"></property>
- <property name="has_frame">True</property>
- <property name="invisible_char" translatable="yes">*</property>
- <property name="activates_default">False</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-replace">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Replace existing view</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">radiobutton-create</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox2">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkLabel" id="label10">
- <property name="visible">True</property>
- <property name="label" translatable="yes"> </property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="Custom" id="custom-replace">
- <property name="visible">True</property>
- <property name="creation_function">gal_view_instance_save_as_dialog_create_etable</property>
- <property name="int1">0</property>
- <property name="int2">0</property>
- <property name="last_modification_time">Fri, 01 Feb 2002 20:18:32 GMT</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
-
-</glade-interface>
diff --git a/widgets/menus/gal-view-instance-save-as-dialog.h b/widgets/menus/gal-view-instance-save-as-dialog.h
deleted file mode 100644
index 53d99d0789..0000000000
--- a/widgets/menus/gal-view-instance-save-as-dialog.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gal-define-views-dialog.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef __GAL_VIEW_INSTANCE_SAVE_AS_DIALOG_H__
-#define __GAL_VIEW_INSTANCE_SAVE_AS_DIALOG_H__
-
-#include <gtk/gtkdialog.h>
-#include <glade/glade.h>
-#include <gal/e-table/e-table-model.h>
-#include <gal/menus/gal-view-collection.h>
-#include <gal/menus/gal-view-instance.h>
-
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
-
-/* GalViewInstanceSaveAsDialog - A dialog displaying information about a contact.
- *
- * The following arguments are available:
- *
- * name type read/write description
- * --------------------------------------------------------------------------------
- */
-
-#define GAL_VIEW_INSTANCE_SAVE_AS_DIALOG_TYPE (gal_view_instance_save_as_dialog_get_type ())
-#define GAL_VIEW_INSTANCE_SAVE_AS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_VIEW_INSTANCE_SAVE_AS_DIALOG_TYPE, GalViewInstanceSaveAsDialog))
-#define GAL_VIEW_INSTANCE_SAVE_AS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAL_VIEW_INSTANCE_SAVE_AS_DIALOG_TYPE, GalViewInstanceSaveAsDialogClass))
-#define GAL_IS_VIEW_INSTANCE_SAVE_AS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAL_VIEW_INSTANCE_SAVE_AS_DIALOG_TYPE))
-#define GAL_IS_VIEW_INSTANCE_SAVE_AS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), GAL_VIEW_INSTANCE_SAVE_AS_DIALOG_TYPE))
-
-typedef struct _GalViewInstanceSaveAsDialog GalViewInstanceSaveAsDialog;
-typedef struct _GalViewInstanceSaveAsDialogClass GalViewInstanceSaveAsDialogClass;
-
-typedef enum {
- GAL_VIEW_INSTANCE_SAVE_AS_DIALOG_TOGGLE_REPLACE,
- GAL_VIEW_INSTANCE_SAVE_AS_DIALOG_TOGGLE_CREATE
-} GalViewInstanceSaveAsDialogToggle;
-
-struct _GalViewInstanceSaveAsDialog
-{
- GtkDialog parent;
-
- /* item specific fields */
- GladeXML *gui;
- ETableModel *model;
-
- GalViewInstance *instance;
- GalViewCollection *collection;
-
- GalViewInstanceSaveAsDialogToggle toggle;
-};
-
-struct _GalViewInstanceSaveAsDialogClass
-{
- GtkDialogClass parent_class;
-};
-
-GtkWidget *gal_view_instance_save_as_dialog_new (GalViewInstance *instance);
-GType gal_view_instance_save_as_dialog_get_type (void);
-
-void gal_view_instance_save_as_dialog_save (GalViewInstanceSaveAsDialog *dialog);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* __GAL_VIEW_INSTANCE_SAVE_AS_DIALOG_H__ */
diff --git a/widgets/menus/gal-view-instance.c b/widgets/menus/gal-view-instance.c
deleted file mode 100644
index 6ce8a2ab86..0000000000
--- a/widgets/menus/gal-view-instance.c
+++ /dev/null
@@ -1,599 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gal-view-instance.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-
-#include <util/e-i18n.h>
-#include <ctype.h>
-#include <string.h>
-#include <errno.h>
-#include <libxml/parser.h>
-#include <libgnome/gnome-util.h>
-#include <gal/util/e-util.h>
-#include <gal/util/e-xml-utils.h>
-#include <gal/widgets/e-unicode.h>
-#include "gal-view-instance.h"
-#include "gal-view-instance-save-as-dialog.h"
-#include "gal-define-views-dialog.h"
-#include <sys/stat.h>
-#include <unistd.h>
-#include <gtk/gtkcheckmenuitem.h>
-
-#define PARENT_TYPE G_TYPE_OBJECT
-
-static GObjectClass *gal_view_instance_parent_class;
-
-static const EPopupMenu separator = E_POPUP_SEPARATOR;
-static const EPopupMenu terminator = E_POPUP_TERMINATOR;
-
-
-#define d(x)
-
-enum {
- DISPLAY_VIEW,
- CHANGED,
- LAST_SIGNAL
-};
-
-static guint gal_view_instance_signals [LAST_SIGNAL] = { 0, };
-
-static void
-gal_view_instance_changed (GalViewInstance *instance)
-{
- g_return_if_fail (instance != NULL);
- g_return_if_fail (GAL_IS_VIEW_INSTANCE (instance));
-
- g_signal_emit (instance,
- gal_view_instance_signals [CHANGED], 0);
-}
-
-static void
-gal_view_instance_display_view (GalViewInstance *instance, GalView *view)
-{
- g_return_if_fail (instance != NULL);
- g_return_if_fail (GAL_IS_VIEW_INSTANCE (instance));
-
- g_signal_emit (instance,
- gal_view_instance_signals [DISPLAY_VIEW], 0,
- view);
-}
-
-static void
-save_current_view (GalViewInstance *instance)
-{
- xmlDoc *doc;
- xmlNode *root;
-
- doc = xmlNewDoc("1.0");
- root = xmlNewNode (NULL, "GalViewCurrentView");
- xmlDocSetRootElement(doc, root);
-
- if (instance->current_id)
- e_xml_set_string_prop_by_name (root, "current_view", instance->current_id);
- if (instance->current_type)
- e_xml_set_string_prop_by_name (root, "current_view_type", instance->current_type);
-
- if (e_xml_save_file (instance->current_view_filename, doc) == -1)
- g_warning ("Unable to save view to %s - %s", instance->current_view_filename, g_strerror(errno));
- xmlFreeDoc(doc);
-}
-
-static void
-view_changed (GalView *view, GalViewInstance *instance)
-{
- if (instance->current_id != NULL) {
- g_free (instance->current_id);
- instance->current_id = NULL;
- save_current_view (instance);
- gal_view_instance_changed(instance);
- }
-
- gal_view_save (view, instance->custom_filename);
-}
-
-static void
-disconnect_view (GalViewInstance *instance)
-{
- if (instance->current_view) {
- if (instance->view_changed_id) {
- g_signal_handler_disconnect (instance->current_view,
- instance->view_changed_id);
- }
-
- g_object_unref (instance->current_view);
- }
- g_free (instance->current_type);
- g_free (instance->current_title);
- instance->current_title = NULL;
- instance->current_type = NULL;
- instance->view_changed_id = 0;
- instance->current_view = NULL;
-}
-
-static void
-connect_view (GalViewInstance *instance, GalView *view)
-{
- if (instance->current_view)
- disconnect_view (instance);
- instance->current_view = view;
-
- instance->current_title = g_strdup (gal_view_get_title(view));
- instance->current_type = g_strdup (gal_view_get_type_code(view));
- instance->view_changed_id =
- g_signal_connect(instance->current_view, "changed",
- G_CALLBACK (view_changed), instance);
-
- gal_view_instance_display_view (instance, instance->current_view);
-}
-
-static void
-gal_view_instance_dispose (GObject *object)
-{
- GalViewInstance *instance = GAL_VIEW_INSTANCE(object);
-
- if (instance->collection) {
- if (instance->collection_changed_id) {
- g_signal_handler_disconnect (instance->collection,
- instance->collection_changed_id);
- }
- g_object_unref (instance->collection);
- }
-
- g_free (instance->instance_id);
- g_free (instance->custom_filename);
- g_free (instance->current_view_filename);
-
- g_free (instance->current_id);
- disconnect_view (instance);
-
- g_free (instance->default_view);
-
- if (gal_view_instance_parent_class->dispose)
- (*gal_view_instance_parent_class->dispose)(object);
-}
-
-static void
-gal_view_instance_class_init (GObjectClass *object_class)
-{
- GalViewInstanceClass *klass = GAL_VIEW_INSTANCE_CLASS(object_class);
- gal_view_instance_parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class->dispose = gal_view_instance_dispose;
-
- gal_view_instance_signals [DISPLAY_VIEW] =
- g_signal_new ("display_view",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (GalViewInstanceClass, display_view),
- NULL, NULL,
- g_cclosure_marshal_VOID__OBJECT,
- G_TYPE_NONE, 1, GAL_VIEW_TYPE);
-
- gal_view_instance_signals [CHANGED] =
- g_signal_new ("changed",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (GalViewInstanceClass, changed),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- klass->display_view = NULL;
- klass->changed = NULL;
-}
-
-static void
-gal_view_instance_init (GalViewInstance *instance)
-{
- instance->collection = NULL;
-
- instance->instance_id = NULL;
- instance->custom_filename = NULL;
- instance->current_view_filename = NULL;
-
- instance->current_title = NULL;
- instance->current_type = NULL;
- instance->current_id = NULL;
- instance->current_view = NULL;
-
- instance->view_changed_id = 0;
- instance->collection_changed_id = 0;
-
- instance->loaded = FALSE;
- instance->default_view = NULL;
-}
-
-E_MAKE_TYPE(gal_view_instance, "GalViewInstance", GalViewInstance, gal_view_instance_class_init, gal_view_instance_init, PARENT_TYPE)
-
-static void
-collection_changed (GalView *view, GalViewInstance *instance)
-{
- if (instance->current_id) {
- char *view_id = instance->current_id;
- instance->current_id = NULL;
- gal_view_instance_set_current_view_id (instance, view_id);
- g_free (view_id);
- }
-}
-
-static void
-load_current_view (GalViewInstance *instance)
-{
- xmlDoc *doc = NULL;
- xmlNode *root;
- GalView *view = NULL;
- struct stat st;
-
- if (stat (instance->current_view_filename, &st) != -1 && S_ISREG (st.st_mode))
- doc = xmlParseFile(instance->current_view_filename);
-
- if (doc == NULL) {
- instance->current_id = g_strdup (gal_view_instance_get_default_view (instance));
-
- if (instance->current_id) {
- int index = gal_view_collection_get_view_index_by_id (instance->collection,
- instance->current_id);
-
- if (index != -1) {
- view = gal_view_collection_get_view (instance->collection,
- index);
- view = gal_view_clone(view);
- connect_view (instance, view);
- }
- }
- return;
- }
-
- root = xmlDocGetRootElement(doc);
- instance->current_id = e_xml_get_string_prop_by_name_with_default (root, "current_view", NULL);
-
- if (instance->current_id != NULL) {
- int index = gal_view_collection_get_view_index_by_id (instance->collection,
- instance->current_id);
-
- if (index != -1) {
- view = gal_view_collection_get_view (instance->collection,
- index);
- view = gal_view_clone(view);
- }
- }
- if (view == NULL) {
- char *type;
- type = e_xml_get_string_prop_by_name_with_default (root, "current_view_type", NULL);
- view = gal_view_collection_load_view_from_file (instance->collection,
- type,
- instance->custom_filename);
- g_free (type);
- }
-
- connect_view (instance, view);
-
- xmlFreeDoc(doc);
-}
-
-/**
- * gal_view_instance_new:
- * @collection: This %GalViewCollection should be loaded before being passed to this function.
- * @instance_id: Which instance of this type of object is this (for most of evo, this is the folder id.)
- *
- * Create a new %GalViewInstance.
- *
- * Return value: The new %GalViewInstance.
- **/
-GalViewInstance *
-gal_view_instance_new (GalViewCollection *collection, const char *instance_id)
-{
- GalViewInstance *instance = g_object_new (GAL_VIEW_INSTANCE_TYPE, NULL);
- if (gal_view_instance_construct (instance, collection, instance_id))
- return instance;
- else {
- g_object_unref (instance);
- return NULL;
- }
-}
-
-GalViewInstance *
-gal_view_instance_construct (GalViewInstance *instance, GalViewCollection *collection, const char *instance_id)
-{
- char *filename;
- char *safe_id;
-
- g_return_val_if_fail (gal_view_collection_loaded (collection), NULL);
-
- instance->collection = collection;
- if (collection)
- g_object_ref (collection);
- instance->collection_changed_id =
- g_signal_connect (collection, "changed",
- G_CALLBACK (collection_changed), instance);
-
- if (instance_id)
- instance->instance_id = g_strdup (instance_id);
- else
- instance->instance_id = g_strdup ("");
-
- safe_id = g_strdup (instance->instance_id);
- e_filename_make_safe (safe_id);
-
- filename = g_strdup_printf ("custom_view-%s.xml", safe_id);
- instance->custom_filename = g_concat_dir_and_file (instance->collection->local_dir, filename);
- g_free (filename);
-
- filename = g_strdup_printf ("current_view-%s.xml", safe_id);
- instance->current_view_filename = g_concat_dir_and_file (instance->collection->local_dir, filename);
- g_free (filename);
-
- g_free (safe_id);
-
- return instance;
-}
-
-/* Manipulate the current view. */
-char *
-gal_view_instance_get_current_view_id (GalViewInstance *instance)
-{
- if (instance->current_id && gal_view_collection_get_view_index_by_id (instance->collection, instance->current_id) != -1)
- return g_strdup (instance->current_id);
- else
- return NULL;
-}
-
-void
-gal_view_instance_set_current_view_id (GalViewInstance *instance, const char *view_id)
-{
- GalView *view;
- int index;
-
- g_return_if_fail (instance != NULL);
- g_return_if_fail (GAL_IS_VIEW_INSTANCE (instance));
-
- d(g_print("%s: view_id set to %s\n", G_GNUC_FUNCTION, view_id));
-
- if (instance->current_id && !strcmp (instance->current_id, view_id))
- return;
-
- g_free (instance->current_id);
- instance->current_id = g_strdup (view_id);
-
- index = gal_view_collection_get_view_index_by_id (instance->collection, view_id);
- if (index != -1) {
- view = gal_view_collection_get_view (instance->collection, index);
- connect_view (instance, gal_view_clone (view));
- }
-
- save_current_view (instance);
- gal_view_instance_changed(instance);
-}
-
-GalView *
-gal_view_instance_get_current_view (GalViewInstance *instance)
-{
- return instance->current_view;
-}
-
-void
-gal_view_instance_set_custom_view (GalViewInstance *instance, GalView *view)
-{
- g_free (instance->current_id);
- instance->current_id = NULL;
-
- view = gal_view_clone (view);
- connect_view (instance, view);
- gal_view_save (view, instance->custom_filename);
- save_current_view (instance);
- gal_view_instance_changed(instance);
-}
-
-static void
-dialog_response(GtkWidget *dialog, int id, GalViewInstance *instance)
-{
- if (id == GTK_RESPONSE_OK) {
- gal_view_instance_save_as_dialog_save (GAL_VIEW_INSTANCE_SAVE_AS_DIALOG (dialog));
- }
- gtk_widget_destroy (dialog);
-}
-
-void
-gal_view_instance_save_as (GalViewInstance *instance)
-{
- GtkWidget *dialog = gal_view_instance_save_as_dialog_new(instance);
- g_signal_connect(dialog, "response",
- G_CALLBACK(dialog_response), instance);
- gtk_widget_show(dialog);
-}
-
-/* This is idempotent. Once it's been called once, the rest of the calls are ignored. */
-void
-gal_view_instance_load (GalViewInstance *instance)
-{
- if (!instance->loaded) {
- load_current_view (instance);
- instance->loaded = TRUE;
- }
-}
-
-/* These only mean anything before gal_view_instance_load is called the first time. */
-const char *
-gal_view_instance_get_default_view (GalViewInstance *instance)
-{
- if (instance->default_view)
- return instance->default_view;
- else
- return gal_view_collection_get_default_view (instance->collection);
-}
-
-void
-gal_view_instance_set_default_view (GalViewInstance *instance, const char *id)
-{
- g_free (instance->default_view);
- instance->default_view = g_strdup (id);
-}
-
-gboolean
-gal_view_instance_exists (GalViewInstance *instance)
-{
- struct stat st;
-
- if (instance->current_view_filename && stat (instance->current_view_filename, &st) == 0 && st.st_size > 0 && S_ISREG (st.st_mode))
- return TRUE;
- else
- return FALSE;
-
-}
-
-typedef struct {
- GalViewInstance *instance;
- char *id;
-} ListenerClosure;
-
-static void
-view_item_cb (GtkWidget *widget,
- gpointer user_data)
-{
- ListenerClosure *closure = user_data;
-
- if (GTK_CHECK_MENU_ITEM (widget)->active) {
- gal_view_instance_set_current_view_id (closure->instance, closure->id);
- }
-}
-
-static void
-add_popup_radio_item (EPopupMenu *menu_item,
- gchar *title,
- GtkSignalFunc fn,
- gpointer closure,
- gboolean value)
-{
- EPopupMenu menu_item_struct =
- E_POPUP_RADIO_ITEM_CC (title,
- fn,
- closure,
- 0,
- 0);
- menu_item_struct.is_active = value;
-
- e_popup_menu_copy_1 (menu_item, &menu_item_struct);
-}
-
-static void
-add_popup_menu_item (EPopupMenu *menu_item,
- gchar *title,
- GCallback fn,
- gpointer closure)
-{
- EPopupMenu menu_item_struct =
- E_POPUP_ITEM_CC (title,
- fn,
- closure,
- 0);
-
- e_popup_menu_copy_1 (menu_item, &menu_item_struct);
-}
-
-static void
-define_views_dialog_response(GtkWidget *dialog, int id, GalViewInstance *instance)
-{
- if (id == GTK_RESPONSE_OK) {
- gal_view_collection_save(instance->collection);
- }
- gtk_widget_destroy (dialog);
-}
-
-static void
-define_views_cb(GtkWidget *widget,
- GalViewInstance *instance)
-{
- GtkWidget *dialog = gal_define_views_dialog_new(instance->collection);
- g_signal_connect(dialog, "response",
- G_CALLBACK(define_views_dialog_response), instance);
- gtk_widget_show(dialog);
-}
-
-static void
-save_current_view_cb(GtkWidget *widget,
- GalViewInstance *instance)
-{
- gal_view_instance_save_as (instance);
-}
-
-EPopupMenu *
-gal_view_instance_get_popup_menu (GalViewInstance *instance)
-{
- EPopupMenu *ret_val;
- int length;
- int i;
- gboolean found = FALSE;
- char *id;
-
- length = gal_view_collection_get_count(instance->collection);
- id = gal_view_instance_get_current_view_id (instance);
-
- ret_val = g_new (EPopupMenu, length + 6);
-
- for (i = 0; i < length; i++) {
- gboolean value = FALSE;
- GalViewCollectionItem *item = gal_view_collection_get_view_item(instance->collection, i);
- ListenerClosure *closure;
-
- closure = g_new (ListenerClosure, 1);
- closure->instance = instance;
- closure->id = item->id;
- g_object_ref (closure->instance);
-
- if (!found && id && !strcmp (id, item->id)) {
- found = TRUE;
- value = TRUE;
- }
-
- add_popup_radio_item (ret_val + i, item->title, G_CALLBACK (view_item_cb), closure, value);
- }
-
- if (!found) {
- e_popup_menu_copy_1 (ret_val + i++, &separator);
-
- add_popup_radio_item (ret_val + i++, N_("Custom View"), NULL, NULL, TRUE);
- add_popup_menu_item (ret_val + i++, N_("Save Custom View"), G_CALLBACK (save_current_view_cb), instance);
- }
-
- e_popup_menu_copy_1 (ret_val + i++, &separator);
- add_popup_menu_item (ret_val + i++, N_("Define Views..."), G_CALLBACK (define_views_cb), instance);
- e_popup_menu_copy_1 (ret_val + i++, &terminator);
-
- if (id)
- g_free (id);
-
- return ret_val;
-}
-
-void
-gal_view_instance_free_popup_menu (GalViewInstance *instance, EPopupMenu *menu)
-{
- int i;
- /* This depends on the first non-custom closure to be a separator or a terminator. */
- for (i = 0; menu[i].name && *(menu[i].name); i++) {
- g_object_unref (((ListenerClosure *)(menu[i].closure))->instance);
- g_free (menu[i].closure);
- }
-
- e_popup_menu_free (menu);
-}
diff --git a/widgets/menus/gal-view-instance.h b/widgets/menus/gal-view-instance.h
deleted file mode 100644
index 05723a2ea6..0000000000
--- a/widgets/menus/gal-view-instance.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gal-view-instance.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _GAL_VIEW_INSTANCE_H_
-#define _GAL_VIEW_INSTANCE_H_
-
-#include <gtk/gtkobject.h>
-#include <gal/menus/gal-view-collection.h>
-#include <gal/widgets/e-popup-menu.h>
-
-G_BEGIN_DECLS
-
-#define GAL_VIEW_INSTANCE_TYPE (gal_view_instance_get_type ())
-#define GAL_VIEW_INSTANCE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GAL_VIEW_INSTANCE_TYPE, GalViewInstance))
-#define GAL_VIEW_INSTANCE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GAL_VIEW_INSTANCE_TYPE, GalViewInstanceClass))
-#define GAL_IS_VIEW_INSTANCE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GAL_VIEW_INSTANCE_TYPE))
-#define GAL_IS_VIEW_INSTANCE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GAL_VIEW_INSTANCE_TYPE))
-
-typedef struct {
- GObject base;
-
- GalViewCollection *collection;
-
- char *instance_id;
- char *current_view_filename;
- char *custom_filename;
-
- char *current_title;
- char *current_type;
- char *current_id;
-
- GalView *current_view;
-
- guint view_changed_id;
- guint collection_changed_id;
-
- guint loaded : 1;
- char *default_view;
-} GalViewInstance;
-
-typedef struct {
- GObjectClass parent_class;
-
- /*
- * Signals
- */
- void (*display_view) (GalViewInstance *instance,
- GalView *view);
- void (*changed) (GalViewInstance *instance);
-} GalViewInstanceClass;
-
-/* Standard functions */
-GType gal_view_instance_get_type (void);
-
-/* */
-/*collection should be loaded when you call this.
- instance_id: Which instance of this type of object is this (for most of evo, this is the folder id.) */
-GalViewInstance *gal_view_instance_new (GalViewCollection *collection,
- const char *instance_id);
-GalViewInstance *gal_view_instance_construct (GalViewInstance *instance,
- GalViewCollection *collection,
- const char *instance_id);
-
-/* Manipulate the current view. */
-char *gal_view_instance_get_current_view_id (GalViewInstance *instance);
-void gal_view_instance_set_current_view_id (GalViewInstance *instance,
- const char *view_id);
-GalView *gal_view_instance_get_current_view (GalViewInstance *instance);
-
-/* Sets the current view to the given custom view. */
-void gal_view_instance_set_custom_view (GalViewInstance *instance,
- GalView *view);
-
-
-/* Returns true if this instance has ever been used before. */
-gboolean gal_view_instance_exists (GalViewInstance *instance);
-
-/* Manipulate the view collection */
-/* void gal_view_instance_set_as_default (GalViewInstance *instance); */
-void gal_view_instance_save_as (GalViewInstance *instance);
-
-/* This is idempotent. Once it's been called once, the rest of the calls are ignored. */
-void gal_view_instance_load (GalViewInstance *instance);
-
-/* These only mean anything before gal_view_instance_load is called the first time. */
-const char *gal_view_instance_get_default_view (GalViewInstance *instance);
-void gal_view_instance_set_default_view (GalViewInstance *instance,
- const char *id);
-
-EPopupMenu *gal_view_instance_get_popup_menu (GalViewInstance *instance);
-void gal_view_instance_free_popup_menu (GalViewInstance *instance,
- EPopupMenu *menu);
-
-G_END_DECLS
-
-#endif /* _GAL_VIEW_INSTANCE_H_ */
diff --git a/widgets/menus/gal-view-new-dialog.c b/widgets/menus/gal-view-new-dialog.c
deleted file mode 100644
index 00ef874e40..0000000000
--- a/widgets/menus/gal-view-new-dialog.c
+++ /dev/null
@@ -1,285 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gal-view-new-dialog.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <gtk/gtk.h>
-#include <gtk/gtktreeselection.h>
-#include "gal-view-new-dialog.h"
-#include "gal-define-views-model.h"
-#include <gal/widgets/e-unicode.h>
-#include <gal/e-table/e-table-scrolled.h>
-#include <gal/util/e-i18n.h>
-#include <gal/util/e-util.h>
-
-static void gal_view_new_dialog_init (GalViewNewDialog *card);
-static void gal_view_new_dialog_class_init (GalViewNewDialogClass *klass);
-static void gal_view_new_dialog_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void gal_view_new_dialog_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
-static void gal_view_new_dialog_dispose (GObject *object);
-
-static GtkDialogClass *parent_class = NULL;
-#define PARENT_TYPE GTK_TYPE_DIALOG
-
-/* The arguments we take */
-enum {
- PROP_0,
- PROP_NAME,
- PROP_FACTORY
-};
-
-E_MAKE_TYPE(gal_view_new_dialog, "GalViewNewDialog",
- GalViewNewDialog,
- gal_view_new_dialog_class_init,
- gal_view_new_dialog_init, PARENT_TYPE)
-
-static void
-gal_view_new_dialog_class_init (GalViewNewDialogClass *klass)
-{
- GObjectClass *object_class;
-
- object_class = (GObjectClass*) klass;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class->set_property = gal_view_new_dialog_set_property;
- object_class->get_property = gal_view_new_dialog_get_property;
- object_class->dispose = gal_view_new_dialog_dispose;
-
- g_object_class_install_property (object_class, PROP_NAME,
- g_param_spec_string ("name",
- _("Name"),
- /*_( */"XXX blurb" /*)*/,
- NULL,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_FACTORY,
- g_param_spec_object ("factory",
- _("Factory"),
- /*_( */"XXX blurb" /*)*/,
- GAL_VIEW_FACTORY_TYPE,
- G_PARAM_READWRITE));
-}
-
-static void
-gal_view_new_dialog_init (GalViewNewDialog *dialog)
-{
- GladeXML *gui;
- GtkWidget *widget;
-
- gui = glade_xml_new (GAL_GLADEDIR "/gal-view-new-dialog.glade", NULL, E_I18N_DOMAIN);
- dialog->gui = gui;
-
- widget = glade_xml_get_widget(gui, "table-top");
- if (!widget) {
- return;
- }
- gtk_widget_ref(widget);
- gtk_container_remove (GTK_CONTAINER (widget->parent), widget);
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), widget, TRUE, TRUE, 0);
- gtk_widget_unref(widget);
-
- gtk_dialog_add_buttons (GTK_DIALOG (dialog),
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OK, GTK_RESPONSE_OK,
- NULL);
-
- gtk_window_set_policy(GTK_WINDOW(dialog), FALSE, TRUE, FALSE);
- gtk_window_set_modal (GTK_WINDOW(dialog), TRUE);
- gtk_window_set_title (GTK_WINDOW(dialog), _("Define New View"));
-
- dialog->collection = NULL;
- dialog->selected_factory = NULL;
-}
-
-static void
-gal_view_new_dialog_dispose (GObject *object)
-{
- GalViewNewDialog *gal_view_new_dialog = GAL_VIEW_NEW_DIALOG(object);
-
- if (gal_view_new_dialog->gui)
- g_object_unref(gal_view_new_dialog->gui);
- gal_view_new_dialog->gui = NULL;
-
- if (G_OBJECT_CLASS (parent_class)->dispose)
- (* G_OBJECT_CLASS (parent_class)->dispose) (object);
-}
-
-GtkWidget*
-gal_view_new_dialog_new (GalViewCollection *collection)
-{
- GtkWidget *widget =
- gal_view_new_dialog_construct(g_object_new (GAL_VIEW_NEW_DIALOG_TYPE, NULL),
- collection);
- return widget;
-}
-
-static void
-sensitize_ok_response (GalViewNewDialog *dialog)
-{
- gboolean ok = TRUE;
- const char *text;
-
- text = gtk_entry_get_text (GTK_ENTRY (dialog->entry));
- if (!text || !text[0])
- ok = FALSE;
-
- if (!dialog->selected_factory)
- ok = FALSE;
-
- gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog), GTK_RESPONSE_OK, ok);
-}
-
-static gboolean
-selection_func (GtkTreeSelection *selection,
- GtkTreeModel *model,
- GtkTreePath *path,
- gboolean path_currently_selected,
- gpointer data)
-{
- GtkTreeIter iter;
- GalViewNewDialog *dialog = data;
-
- if (path_currently_selected)
- return TRUE;
-
- gtk_tree_model_get_iter (GTK_TREE_MODEL (dialog->list_store),
- &iter,
- (GtkTreePath*)path);
-
- gtk_tree_model_get (GTK_TREE_MODEL (dialog->list_store),
- &iter,
- 1, &dialog->selected_factory,
- -1);
-
- printf ("%s factory selected\n", gal_view_factory_get_title(dialog->selected_factory));
-
- sensitize_ok_response (dialog);
-
- return TRUE;
-}
-
-static void
-entry_changed (GtkWidget *entry, gpointer data)
-{
- GalViewNewDialog *dialog = data;
-
- sensitize_ok_response (dialog);
-}
-
-GtkWidget*
-gal_view_new_dialog_construct (GalViewNewDialog *dialog,
- GalViewCollection *collection)
-{
- GList *iterator;
- GtkTreeSelection *selection;
- GtkTreeViewColumn *column;
- GtkCellRenderer *rend;
-
- dialog->collection = collection;
- dialog->list = glade_xml_get_widget(dialog->gui,"list-type-list");
- dialog->entry = glade_xml_get_widget(dialog->gui, "entry-name");
- dialog->list_store = gtk_list_store_new (2,
- G_TYPE_STRING,
- G_TYPE_POINTER);
-
- rend = gtk_cell_renderer_text_new ();
- column = gtk_tree_view_column_new_with_attributes ("factory title",
- rend,
- "text", 0,
- NULL);
-
- gtk_tree_view_append_column (GTK_TREE_VIEW (dialog->list), column);
-
- iterator = dialog->collection->factory_list;
- for ( ; iterator; iterator = g_list_next(iterator) ) {
- GalViewFactory *factory = iterator->data;
- GtkTreeIter iter;
-
- g_object_ref(factory);
- gtk_list_store_append (dialog->list_store,
- &iter);
- gtk_list_store_set (dialog->list_store,
- &iter,
- 0, gal_view_factory_get_title(factory),
- 1, factory,
- -1);
- }
-
- gtk_tree_view_set_model (GTK_TREE_VIEW (dialog->list), GTK_TREE_MODEL (dialog->list_store));
-
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dialog->list));
- gtk_tree_selection_set_select_function (selection, selection_func, dialog, NULL);
-
- g_signal_connect (dialog->entry, "changed",
- G_CALLBACK (entry_changed), dialog);
-
- sensitize_ok_response (dialog);
-
- return GTK_WIDGET(dialog);
-}
-
-static void
-gal_view_new_dialog_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
-{
- GalViewNewDialog *dialog;
- GtkWidget *entry;
-
- dialog = GAL_VIEW_NEW_DIALOG (object);
-
- switch (prop_id){
- case PROP_NAME:
-
- if (entry && GTK_IS_ENTRY(entry)) {
- gtk_entry_set_text(GTK_ENTRY(entry), g_value_get_string (value));
- }
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- return;
- }
-}
-
-
-static void
-gal_view_new_dialog_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
- GalViewNewDialog *dialog;
- GtkWidget *entry;
-
- dialog = GAL_VIEW_NEW_DIALOG (object);
-
- switch (prop_id) {
- case PROP_NAME:
- entry = glade_xml_get_widget(dialog->gui, "entry-name");
- if (entry && GTK_IS_ENTRY(entry)) {
- g_value_set_string (value, gtk_entry_get_text (GTK_ENTRY (entry)));
- }
- break;
- case PROP_FACTORY:
- g_value_set_object (value, dialog->selected_factory);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
diff --git a/widgets/menus/gal-view-new-dialog.glade b/widgets/menus/gal-view-new-dialog.glade
deleted file mode 100644
index 70922f5dc5..0000000000
--- a/widgets/menus/gal-view-new-dialog.glade
+++ /dev/null
@@ -1,175 +0,0 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
-<glade-interface>
-
-<widget class="GtkDialog" id="dialog1">
- <property name="title" translatable="yes"></property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_NONE</property>
- <property name="modal">False</property>
- <property name="resizable">True</property>
- <property name="destroy_with_parent">False</property>
- <property name="has_separator">True</property>
-
- <child internal-child="vbox">
- <widget class="GtkVBox" id="dialog-vbox1">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">8</property>
-
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="dialog-action_area1">
- <property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
-
- <child>
- <widget class="GtkButton" id="button1">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-ok</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="response_id">0</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="button3">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-cancel</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="response_id">0</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkTable" id="table-top">
- <property name="visible">True</property>
- <property name="n_rows">4</property>
- <property name="n_columns">1</property>
- <property name="homogeneous">False</property>
- <property name="row_spacing">6</property>
- <property name="column_spacing">6</property>
-
- <child>
- <widget class="GtkLabel" id="label1">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Name of new view:</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="mnemonic_widget">entry-name</property>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkEntry" id="entry-name">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="editable">True</property>
- <property name="visibility">True</property>
- <property name="max_length">0</property>
- <property name="text" translatable="yes"></property>
- <property name="has_frame">True</property>
- <property name="invisible_char" translatable="yes">*</property>
- <property name="activates_default">False</property>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label2">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Type of view:</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow1">
- <property name="visible">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
- <child>
- <widget class="GtkTreeView" id="list-type-list">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="headers_visible">False</property>
- <property name="rules_hint">False</property>
- <property name="reorderable">False</property>
- <property name="enable_search">True</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="x_options">fill</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
-
-</glade-interface>
diff --git a/widgets/menus/gal-view-new-dialog.h b/widgets/menus/gal-view-new-dialog.h
deleted file mode 100644
index cd523a2476..0000000000
--- a/widgets/menus/gal-view-new-dialog.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gal-view-new-dialog.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef __GAL_VIEW_NEW_DIALOG_H__
-#define __GAL_VIEW_NEW_DIALOG_H__
-
-#include <gtk/gtkdialog.h>
-#include <gtk/gtkliststore.h>
-#include <glade/glade.h>
-#include <gal-view-collection.h>
-
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
-
-/* GalViewNewDialog - A dialog displaying information about a contact.
- *
- * The following arguments are available:
- *
- * name type read/write description
- * --------------------------------------------------------------------------------
- */
-
-#define GAL_VIEW_NEW_DIALOG_TYPE (gal_view_new_dialog_get_type ())
-#define GAL_VIEW_NEW_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_VIEW_NEW_DIALOG_TYPE, GalViewNewDialog))
-#define GAL_VIEW_NEW_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAL_VIEW_NEW_DIALOG_TYPE, GalViewNewDialogClass))
-#define GAL_IS_VIEW_NEW_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAL_VIEW_NEW_DIALOG_TYPE))
-#define GAL_IS_VIEW_NEW_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), GAL_VIEW_NEW_DIALOG_TYPE))
-
-typedef struct _GalViewNewDialog GalViewNewDialog;
-typedef struct _GalViewNewDialogClass GalViewNewDialogClass;
-
-struct _GalViewNewDialog
-{
- GtkDialog parent;
-
- /* item specific fields */
- GladeXML *gui;
-
- GalViewCollection *collection;
- GalViewFactory *selected_factory;
-
- GtkListStore *list_store;
-
- GtkWidget *entry;
- GtkWidget *list;
-};
-
-struct _GalViewNewDialogClass
-{
- GtkDialogClass parent_class;
-};
-
-GtkWidget *gal_view_new_dialog_new (GalViewCollection *collection);
-GType gal_view_new_dialog_get_type (void);
-
-GtkWidget *gal_view_new_dialog_construct (GalViewNewDialog *dialog,
- GalViewCollection *collection);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* __GAL_VIEW_NEW_DIALOG_H__ */
diff --git a/widgets/menus/gal-view.c b/widgets/menus/gal-view.c
deleted file mode 100644
index fa1402fae4..0000000000
--- a/widgets/menus/gal-view.c
+++ /dev/null
@@ -1,206 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gal-view.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include "gal-view.h"
-#include "gal/util/e-util.h"
-
-#define PARENT_TYPE G_TYPE_OBJECT
-
-#define d(x)
-
-d(static gint depth = 0;)
-
-
-static GObjectClass *gal_view_parent_class;
-
-enum {
- CHANGED,
- LAST_SIGNAL
-};
-
-static guint gal_view_signals [LAST_SIGNAL] = { 0, };
-
-/**
- * gal_view_edit
- * @view: The view to edit
- * @parent: the parent window.
- */
-void
-gal_view_edit (GalView *view,
- GtkWindow *parent)
-{
- g_return_if_fail (view != NULL);
- g_return_if_fail (GAL_IS_VIEW (view));
- g_return_if_fail (GTK_IS_WINDOW (parent));
-
- if (GAL_VIEW_GET_CLASS (view)->edit)
- GAL_VIEW_GET_CLASS (view)->edit (view, parent);
-}
-
-/**
- * gal_view_load
- * @view: The view to load to
- * @filename: The file to load from
- */
-void
-gal_view_load (GalView *view,
- const char *filename)
-{
- g_return_if_fail (view != NULL);
- g_return_if_fail (GAL_IS_VIEW (view));
-
- if (GAL_VIEW_GET_CLASS (view)->load)
- GAL_VIEW_GET_CLASS (view)->load (view, filename);
-}
-
-/**
- * gal_view_save
- * @view: The view to save
- * @filename: The file to save to
- */
-void
-gal_view_save (GalView *view,
- const char *filename)
-{
- g_return_if_fail (view != NULL);
- g_return_if_fail (GAL_IS_VIEW (view));
-
- if (GAL_VIEW_GET_CLASS (view)->save)
- GAL_VIEW_GET_CLASS (view)->save (view, filename);
-}
-
-/**
- * gal_view_get_title
- * @view: The view to query.
- *
- * Returns: The title of the view.
- */
-const char *
-gal_view_get_title (GalView *view)
-{
- g_return_val_if_fail (view != NULL, NULL);
- g_return_val_if_fail (GAL_IS_VIEW (view), NULL);
-
- if (GAL_VIEW_GET_CLASS (view)->get_title)
- return GAL_VIEW_GET_CLASS (view)->get_title (view);
- else
- return NULL;
-}
-
-/**
- * gal_view_set_title
- * @view: The view to set.
- * @title: The new title value.
- */
-void
-gal_view_set_title (GalView *view,
- const char *title)
-{
- g_return_if_fail (view != NULL);
- g_return_if_fail (GAL_IS_VIEW (view));
-
- if (GAL_VIEW_GET_CLASS (view)->set_title)
- GAL_VIEW_GET_CLASS (view)->set_title (view, title);
-}
-
-/**
- * gal_view_get_type_code
- * @view: The view to get.
- *
- * Returns: The type of the view.
- */
-const char *
-gal_view_get_type_code (GalView *view)
-{
- g_return_val_if_fail (view != NULL, NULL);
- g_return_val_if_fail (GAL_IS_VIEW (view), NULL);
-
- if (GAL_VIEW_GET_CLASS (view)->get_type_code)
- return GAL_VIEW_GET_CLASS (view)->get_type_code (view);
- else
- return NULL;
-}
-
-/**
- * gal_view_clone
- * @view: The view to clone.
- *
- * Returns: The clone.
- */
-GalView *
-gal_view_clone (GalView *view)
-{
- g_return_val_if_fail (view != NULL, NULL);
- g_return_val_if_fail (GAL_IS_VIEW (view), NULL);
-
- if (GAL_VIEW_GET_CLASS (view)->clone)
- return GAL_VIEW_GET_CLASS (view)->clone (view);
- else
- return NULL;
-}
-
-/**
- * gal_view_changed
- * @view: The view that changed.
- */
-void
-gal_view_changed (GalView *view)
-{
- g_return_if_fail (view != NULL);
- g_return_if_fail (GAL_IS_VIEW (view));
-
- g_signal_emit(view,
- gal_view_signals [CHANGED], 0);
-}
-
-static void
-gal_view_class_init (GObjectClass *object_class)
-{
- GalViewClass *klass = GAL_VIEW_CLASS(object_class);
- gal_view_parent_class = g_type_class_ref (PARENT_TYPE);
-
- klass->edit = NULL;
- klass->load = NULL;
- klass->save = NULL;
- klass->get_title = NULL;
- klass->clone = NULL;
-
- klass->changed = NULL;
-
- gal_view_signals [CHANGED] =
- g_signal_new ("changed",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (GalViewClass, changed),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-}
-
-static void
-gal_view_init (GalView *view)
-{
-}
-
-E_MAKE_TYPE(gal_view, "GalView", GalView, gal_view_class_init, gal_view_init, PARENT_TYPE)
diff --git a/widgets/menus/gal-view.h b/widgets/menus/gal-view.h
deleted file mode 100644
index 77056243c5..0000000000
--- a/widgets/menus/gal-view.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gal-view.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _GAL_VIEW_H_
-#define _GAL_VIEW_H_
-
-#include <gtk/gtkwindow.h>
-#include <libxml/tree.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define GAL_VIEW_TYPE (gal_view_get_type ())
-#define GAL_VIEW(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GAL_VIEW_TYPE, GalView))
-#define GAL_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GAL_VIEW_TYPE, GalViewClass))
-#define GAL_IS_VIEW(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GAL_VIEW_TYPE))
-#define GAL_IS_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GAL_VIEW_TYPE))
-#define GAL_VIEW_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GAL_VIEW_TYPE, GalViewClass))
-
-typedef struct {
- GObject base;
-} GalView;
-
-typedef struct {
- GObjectClass parent_class;
-
- /*
- * Virtual methods
- */
- void (*edit) (GalView *view, GtkWindow *parent_window);
- void (*load) (GalView *view,
- const char *filename);
- void (*save) (GalView *view,
- const char *filename);
- const char *(*get_title) (GalView *view);
- void (*set_title) (GalView *view,
- const char *title);
- const char *(*get_type_code) (GalView *view);
- GalView *(*clone) (GalView *view);
-
- /* Signals */
- void (*changed) (GalView *view);
-} GalViewClass;
-
-/* Standard functions */
-GType gal_view_get_type (void);
-
-/* Open an editor dialog for this view, modal/transient for the GtkWindow arg. */
-void gal_view_edit (GalView *view,
- GtkWindow *parent);
-
-/* xml load and save functions */
-void gal_view_load (GalView *view,
- const char *filename);
-void gal_view_save (GalView *view,
- const char *filename);
-
-/* Title functions */
-const char *gal_view_get_title (GalView *view);
-void gal_view_set_title (GalView *view,
- const char *title);
-
-/* View type. */
-const char *gal_view_get_type_code (GalView *view);
-
-/* Cloning the view */
-GalView *gal_view_clone (GalView *view);
-
-/* Changed signal */
-void gal_view_changed (GalView *view);
-
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* _GAL_VIEW_H_ */
diff --git a/widgets/misc/e-canvas-background.c b/widgets/misc/e-canvas-background.c
deleted file mode 100644
index 0e57feff4e..0000000000
--- a/widgets/misc/e-canvas-background.c
+++ /dev/null
@@ -1,496 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-canvas-background.c - background color for canvas.
- * Copyright 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-
-#include "e-canvas-background.h"
-
-#include <math.h>
-#include <stdio.h>
-#include <gtk/gtksignal.h>
-#include <gdk/gdkkeysyms.h>
-#include "gal/widgets/e-hsv-utils.h"
-#include "gal/widgets/e-canvas.h"
-#include "gal/widgets/e-canvas-utils.h"
-#include "gal/util/e-util.h"
-#include "gal/util/e-i18n.h"
-#include <string.h>
-
-#define PARENT_OBJECT_TYPE gnome_canvas_item_get_type ()
-
-#define d(x)
-
-struct _ECanvasBackgroundPrivate {
- guint rgba; /* Fill color, RGBA */
- GdkColor color; /* Fill color */
- GdkBitmap *stipple; /* Stipple for fill */
- GdkGC *gc; /* GC for filling */
- double x1;
- double x2;
- double y1;
- double y2;
-
- guint needs_redraw : 1;
-};
-
-static GnomeCanvasItemClass *parent_class;
-
-enum {
- PROP_0,
- PROP_FILL_COLOR,
- PROP_FILL_COLOR_GDK,
- PROP_FILL_COLOR_RGBA,
- PROP_FILL_STIPPLE,
- PROP_X1,
- PROP_X2,
- PROP_Y1,
- PROP_Y2,
-};
-
-static void
-get_color(ECanvasBackground *ecb)
-{
- GnomeCanvasItem *item = GNOME_CANVAS_ITEM (ecb);
- ecb->priv->color.pixel = gnome_canvas_get_color_pixel (item->canvas,
- GNOME_CANVAS_COLOR (ecb->priv->color.red >> 8,
- ecb->priv->color.green>> 8,
- ecb->priv->color.blue>> 8));
-}
-
-static void
-ecb_bounds (GnomeCanvasItem *item, double *x1, double *y1, double *x2, double *y2)
-{
- double i2c [6];
- ArtPoint c1, c2, i1, i2;
- ECanvasBackground *ecb = E_CANVAS_BACKGROUND (item);
-
- /* Wrong BBox's are the source of redraw nightmares */
-
- gnome_canvas_item_i2c_affine (GNOME_CANVAS_ITEM (ecb), i2c);
-
- i1.x = ecb->priv->x1;
- i1.y = ecb->priv->y1;
- i2.x = ecb->priv->x2;
- i2.y = ecb->priv->y2;
- art_affine_point (&c1, &i1, i2c);
- art_affine_point (&c2, &i2, i2c);
-
- if (ecb->priv->x1 < 0)
- c1.x = -(double)UINT_MAX;
-
- if (ecb->priv->y1 < 0)
- c1.y = -(double)UINT_MAX;
-
- if (ecb->priv->x2 < 0)
- c2.x = (double)UINT_MAX;
-
- if (ecb->priv->y2 < 0)
- c2.y = (double)UINT_MAX;
-
- *x1 = c1.x;
- *y1 = c1.y;
- *x2 = c2.x + 1;
- *y2 = c2.y + 1;
-}
-
-/*
- * GnomeCanvasItem::update method
- */
-static void
-ecb_update (GnomeCanvasItem *item, double *affine, ArtSVP *clip_path, int flags)
-{
- ArtPoint o1, o2;
- ECanvasBackground *ecb = E_CANVAS_BACKGROUND (item);
-
- if (GNOME_CANVAS_ITEM_CLASS (parent_class)->update)
- GNOME_CANVAS_ITEM_CLASS (parent_class)->update (item, affine, clip_path, flags);
-
- o1.x = item->x1;
- o1.y = item->y1;
- o2.x = item->x2;
- o2.y = item->y2;
-
- ecb_bounds (item, &item->x1, &item->y1, &item->x2, &item->y2);
- if (item->x1 != o1.x ||
- item->y1 != o1.y ||
- item->x2 != o2.x ||
- item->y2 != o2.y) {
- gnome_canvas_request_redraw (item->canvas, o1.x, o1.y, o2.x, o2.y);
- ecb->priv->needs_redraw = 1;
- }
-
- if (ecb->priv->needs_redraw) {
- gnome_canvas_request_redraw (item->canvas, item->x1, item->y1,
- item->x2, item->y2);
- ecb->priv->needs_redraw = 0;
- }
-}
-
-/* Sets the stipple pattern for the text */
-static void
-set_stipple (ECanvasBackground *ecb, GdkBitmap *stipple, int use_value)
-{
- if (use_value) {
- if (ecb->priv->stipple)
- gdk_bitmap_unref (ecb->priv->stipple);
-
- ecb->priv->stipple = stipple;
- if (stipple)
- gdk_bitmap_ref (stipple);
- }
-
- if (ecb->priv->gc) {
- if (stipple) {
- gdk_gc_set_stipple (ecb->priv->gc, stipple);
- gdk_gc_set_fill (ecb->priv->gc, GDK_STIPPLED);
- } else
- gdk_gc_set_fill (ecb->priv->gc, GDK_SOLID);
- }
-}
-
-static void
-ecb_dispose (GObject *object)
-{
- ECanvasBackground *ecb = E_CANVAS_BACKGROUND (object);
-
- if (ecb->priv) {
- if (ecb->priv->stipple)
- gdk_bitmap_unref (ecb->priv->stipple);
- ecb->priv->stipple = NULL;
-
- g_free (ecb->priv);
- ecb->priv = NULL;
- }
-
- if (G_OBJECT_CLASS (parent_class)->dispose)
- G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-static void
-ecb_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- GnomeCanvasItem *item;
- ECanvasBackground *ecb;
-
- GdkColor color = { 0, 0, 0, 0, };
- GdkColor *pcolor;
- gboolean color_changed = FALSE;
-
- item = GNOME_CANVAS_ITEM (object);
- ecb = E_CANVAS_BACKGROUND (object);
-
- switch (prop_id){
- case PROP_FILL_COLOR:
- if (g_value_get_string (value))
- gdk_color_parse (g_value_get_string (value), &color);
-
- ecb->priv->rgba = ((color.red & 0xff00) << 16 |
- (color.green & 0xff00) << 8 |
- (color.blue & 0xff00) |
- 0xff);
- color_changed = TRUE;
- break;
-
- case PROP_FILL_COLOR_GDK:
- pcolor = g_value_get_boxed (value);
- if (pcolor) {
- color = *pcolor;
- }
-
- ecb->priv->rgba = ((color.red & 0xff00) << 16 |
- (color.green & 0xff00) << 8 |
- (color.blue & 0xff00) |
- 0xff);
- color_changed = TRUE;
- break;
-
- case PROP_FILL_COLOR_RGBA:
- ecb->priv->rgba = g_value_get_uint (value);
- color.red = ((ecb->priv->rgba >> 24) & 0xff) * 0x101;
- color.green = ((ecb->priv->rgba >> 16) & 0xff) * 0x101;
- color.blue = ((ecb->priv->rgba >> 8) & 0xff) * 0x101;
- color_changed = TRUE;
- break;
-
- case PROP_FILL_STIPPLE:
- set_stipple (ecb, g_value_get_object (value), TRUE);
- break;
-
- case PROP_X1:
- ecb->priv->x1 = g_value_get_double (value);
- break;
- case PROP_X2:
- ecb->priv->x2 = g_value_get_double (value);
- break;
- case PROP_Y1:
- ecb->priv->y1 = g_value_get_double (value);
- break;
- case PROP_Y2:
- ecb->priv->y2 = g_value_get_double (value);
- break;
- }
-
- if (color_changed) {
- ecb->priv->color = color;
-
- if (GNOME_CANVAS_ITEM_REALIZED & GTK_OBJECT_FLAGS(item)) {
- get_color (ecb);
- if (!item->canvas->aa) {
- gdk_gc_set_foreground (ecb->priv->gc, &ecb->priv->color);
- }
- }
- }
-
- ecb->priv->needs_redraw = 1;
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM(ecb));
-}
-
-static void
-ecb_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
- GnomeCanvasItem *item;
- ECanvasBackground *ecb;
-
- item = GNOME_CANVAS_ITEM (object);
- ecb = E_CANVAS_BACKGROUND (object);
-
- switch (prop_id){
- case PROP_FILL_COLOR_GDK:
- g_value_set_boxed (value, gdk_color_copy (&ecb->priv->color));
- break;
- case PROP_FILL_COLOR_RGBA:
- g_value_set_uint (value, ecb->priv->rgba);
- break;
- case PROP_FILL_STIPPLE:
- g_value_set_object (value, ecb->priv->stipple);
- break;
- case PROP_X1:
- g_value_set_double (value, ecb->priv->x1);
- break;
- case PROP_X2:
- g_value_set_double (value, ecb->priv->x2);
- break;
- case PROP_Y1:
- g_value_set_double (value, ecb->priv->y1);
- break;
- case PROP_Y2:
- g_value_set_double (value, ecb->priv->y2);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-ecb_init (GnomeCanvasItem *item)
-{
- ECanvasBackground *ecb = E_CANVAS_BACKGROUND (item);
-
- ecb->priv = g_new (ECanvasBackgroundPrivate, 1);
-
- ecb->priv->color.pixel = 0;
- ecb->priv->color.red = 0;
- ecb->priv->color.green = 0;
- ecb->priv->color.blue = 0;
- ecb->priv->stipple = NULL;
- ecb->priv->gc = NULL;
- ecb->priv->x1 = -1.0;
- ecb->priv->x2 = -1.0;
- ecb->priv->y1 = -1.0;
- ecb->priv->y2 = -1.0;
-}
-
-static void
-ecb_realize (GnomeCanvasItem *item)
-{
- ECanvasBackground *ecb = E_CANVAS_BACKGROUND (item);
-
- if (GNOME_CANVAS_ITEM_CLASS (parent_class)->realize)
- GNOME_CANVAS_ITEM_CLASS (parent_class)->realize (item);
-
- ecb->priv->gc = gdk_gc_new (item->canvas->layout.bin_window);
- get_color (ecb);
- if (!item->canvas->aa)
- gdk_gc_set_foreground (ecb->priv->gc, &ecb->priv->color);
-
- set_stipple (ecb, NULL, FALSE);
-
- ecb->priv->needs_redraw = 1;
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM (ecb));
-}
-
-static void
-ecb_unrealize (GnomeCanvasItem *item)
-{
- ECanvasBackground *ecb = E_CANVAS_BACKGROUND (item);
-
- gdk_gc_unref (ecb->priv->gc);
- ecb->priv->gc = NULL;
-
- if (GNOME_CANVAS_ITEM_CLASS (parent_class)->unrealize)
- GNOME_CANVAS_ITEM_CLASS (parent_class)->unrealize (item);
-}
-
-static void
-ecb_draw (GnomeCanvasItem *item, GdkDrawable *drawable, int x, int y, int width, int height)
-{
- ECanvasBackground *ecb = E_CANVAS_BACKGROUND (item);
- int x1, x2, y1, y2;
- double i2c [6];
- ArtPoint upper_left, lower_right, ecb_base_point;
-
- /*
- * Find out our real position after grouping
- */
- gnome_canvas_item_i2c_affine (item, i2c);
- ecb_base_point.x = ecb->priv->x1;
- ecb_base_point.y = ecb->priv->y1;
- art_affine_point (&upper_left, &ecb_base_point, i2c);
-
- ecb_base_point.x = ecb->priv->x2;
- ecb_base_point.y = ecb->priv->y2;
- art_affine_point (&lower_right, &ecb_base_point, i2c);
-
- x1 = 0;
- y1 = 0;
- x2 = width;
- y2 = height;
- if (ecb->priv->x1 >= 0 && upper_left.x > x1)
- x1 = upper_left.x;
- if (ecb->priv->y1 >= 0 && upper_left.y > y1)
- y1 = upper_left.y;
- if (ecb->priv->x2 >= 0 && lower_right.x < x2)
- x2 = lower_right.x;
- if (ecb->priv->y2 >= 0 && lower_right.y < y2)
- y2 = lower_right.y;
-
- gdk_draw_rectangle (drawable, ecb->priv->gc, TRUE,
- x1, y1, x2 - x1, y2 - y1);
-}
-
-static double
-ecb_point (GnomeCanvasItem *item, double x, double y, int cx, int cy,
- GnomeCanvasItem **actual_item)
-{
- ECanvasBackground *ecb = E_CANVAS_BACKGROUND (item);
-
- if (ecb->priv->x1 >= 0 && ecb->priv->x1 > x)
- return 1.0;
- if (ecb->priv->x2 >= 0 && ecb->priv->x2 < x)
- return 1.0;
- if (ecb->priv->y1 >= 0 && ecb->priv->y1 > y)
- return 1.0;
- if (ecb->priv->y2 >= 0 && ecb->priv->y2 < y)
- return 1.0;
- *actual_item = item;
-
- return 0.0;
-}
-
-static void
-ecb_class_init (GObjectClass *object_class)
-{
- GnomeCanvasItemClass *item_class = (GnomeCanvasItemClass *) object_class;
-
- parent_class = g_type_class_ref (PARENT_OBJECT_TYPE);
-
- object_class->dispose = ecb_dispose;
- object_class->set_property = ecb_set_property;
- object_class->get_property = ecb_get_property;
-
- item_class->update = ecb_update;
- item_class->realize = ecb_realize;
- item_class->unrealize = ecb_unrealize;
- item_class->draw = ecb_draw;
- item_class->point = ecb_point;
-
- g_object_class_install_property (object_class, PROP_FILL_COLOR,
- g_param_spec_string ("fill_color",
- _( "Fill color" ),
- _( "Fill color" ),
- NULL,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_FILL_COLOR_GDK,
- g_param_spec_boxed ("fill_color_gdk",
- _( "GDK fill color" ),
- _( "GDK fill color" ),
- GDK_TYPE_COLOR,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_FILL_COLOR_RGBA,
- g_param_spec_uint ("fill_color_rgba",
- _( "GDK fill color" ),
- _( "GDK fill color" ),
- 0, G_MAXUINT, 0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_FILL_STIPPLE,
- g_param_spec_object ("fill_stipple",
- _( "Fill stipple" ),
- _( "FIll stipple" ),
- GDK_TYPE_WINDOW,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_X1,
- g_param_spec_double ("x1",
- _( "X1" ),
- _( "X1" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_X2,
- g_param_spec_double ("x2",
- _( "X2" ),
- _( "X2" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_Y1,
- g_param_spec_double ("y1",
- _( "Y1" ),
- _( "Y1" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_Y2,
- g_param_spec_double ("y2",
- _( "Y2" ),
- _( "Y2" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
-}
-
-E_MAKE_TYPE (e_canvas_background,
- "ECanvasBackground",
- ECanvasBackground,
- ecb_class_init,
- ecb_init,
- PARENT_OBJECT_TYPE)
diff --git a/widgets/misc/e-canvas-background.h b/widgets/misc/e-canvas-background.h
deleted file mode 100644
index 4a8e3294fb..0000000000
--- a/widgets/misc/e-canvas-background.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-canvas-background.h - background color for canvas.
- * Copyright 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef E_CANVAS_BACKGROUND_H
-#define E_CANVAS_BACKGROUND_H
-
-#include <libgnomecanvas/gnome-canvas.h>
-
-G_BEGIN_DECLS
-
-/*
- * name type read/write description
- * ------------------------------------------------------------------------------------------
- * fill_color string W X color specification for fill color,
- * or NULL pointer for no color (transparent)
- * fill_color_gdk GdkColor* RW Allocated GdkColor for fill
- * fill_stipple GdkBitmap* RW Stipple pattern for fill
- * x1 double RW Coordinates for edges of background rectangle
- * x2 double RW Default is all of them = -1.
- * y1 double RW Which means that the entire space is shown.
- * y2 double RW If you need the rectangle to have negative coordinates, use an affine.
- */
-
-
-#define E_CANVAS_BACKGROUND_TYPE (e_canvas_background_get_type ())
-#define E_CANVAS_BACKGROUND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_CANVAS_BACKGROUND_TYPE, ECanvasBackground))
-#define E_CANVAS_BACKGROUND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_CANVAS_BACKGROUND_TYPE, ECanvasBackgroundClass))
-#define E_IS_CANVAS_BACKGROUND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_CANVAS_BACKGROUND_TYPE))
-#define E_IS_CANVAS_BACKGROUND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), E_CANVAS_BACKGROUND_TYPE))
-
-typedef struct _ECanvasBackground ECanvasBackground;
-typedef struct _ECanvasBackgroundClass ECanvasBackgroundClass;
-typedef struct _ECanvasBackgroundPrivate ECanvasBackgroundPrivate;
-
-struct _ECanvasBackground {
- GnomeCanvasItem item;
-
- ECanvasBackgroundPrivate *priv;
-};
-
-struct _ECanvasBackgroundClass {
- GnomeCanvasItemClass parent_class;
-};
-
-
-/* Standard Gtk function */
-GtkType e_canvas_background_get_type (void);
-
-G_END_DECLS
-
-#endif
diff --git a/widgets/misc/e-canvas-utils.c b/widgets/misc/e-canvas-utils.c
deleted file mode 100644
index 629804a2d7..0000000000
--- a/widgets/misc/e-canvas-utils.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-canvas-utils.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include "e-canvas-utils.h"
-
-void
-e_canvas_item_move_absolute (GnomeCanvasItem *item, double dx, double dy)
-{
- double translate[6];
-
- g_return_if_fail (item != NULL);
- g_return_if_fail (GNOME_IS_CANVAS_ITEM (item));
-
- art_affine_translate (translate, dx, dy);
-
- gnome_canvas_item_affine_absolute (item, translate);
-}
-
-static double
-compute_offset(int top, int bottom, int page_top, int page_bottom)
-{
- int size = bottom - top;
- int offset = 0;
-
- if (top <= page_top && bottom >= page_bottom)
- return 0;
-
- if (bottom > page_bottom)
- offset = (bottom - page_bottom);
- if (top < page_top + offset)
- offset = (top - page_top);
-
- if (top <= page_top + offset && bottom >= page_bottom + offset)
- return offset;
-
- if (top < page_top + size * 3 / 2 + offset)
- offset = top - (page_top + size * 3 / 2);
- if (bottom > page_bottom - size * 3 / 2 + offset)
- offset = bottom - (page_bottom - size * 3 / 2);
- if (top < page_top + size * 3 / 2 + offset)
- offset = top - ((page_top + page_bottom - (bottom - top)) / 2);
-
- return offset;
-}
-
-
-static void
-e_canvas_show_area (GnomeCanvas *canvas, double x1, double y1, double x2, double y2)
-{
- GtkAdjustment *h, *v;
- int dx = 0, dy = 0;
-
- g_return_if_fail (canvas != NULL);
- g_return_if_fail (GNOME_IS_CANVAS (canvas));
-
- h = gtk_layout_get_hadjustment(GTK_LAYOUT(canvas));
- dx = compute_offset(x1, x2, h->value, h->value + h->page_size);
- if (dx)
- gtk_adjustment_set_value(h, CLAMP(h->value + dx, h->lower, h->upper - h->page_size));
-
- v = gtk_layout_get_vadjustment(GTK_LAYOUT(canvas));
- dy = compute_offset(y1, y2, v->value, v->value + v->page_size);
- if (dy)
- gtk_adjustment_set_value(v, CLAMP(v->value + dy, v->lower, v->upper - v->page_size));
-}
-
-void
-e_canvas_item_show_area (GnomeCanvasItem *item, double x1, double y1, double x2, double y2)
-{
- g_return_if_fail (item != NULL);
- g_return_if_fail (GNOME_IS_CANVAS_ITEM (item));
-
- gnome_canvas_item_i2w(item, &x1, &y1);
- gnome_canvas_item_i2w(item, &x2, &y2);
-
- e_canvas_show_area(item->canvas, x1, y1, x2, y2);
-}
-
-
-static gboolean
-e_canvas_area_shown (GnomeCanvas *canvas, double x1, double y1, double x2, double y2)
-{
- GtkAdjustment *h, *v;
- int dx = 0, dy = 0;
-
- g_return_val_if_fail (canvas != NULL, FALSE);
- g_return_val_if_fail (GNOME_IS_CANVAS (canvas), FALSE);
-
- h = gtk_layout_get_hadjustment(GTK_LAYOUT(canvas));
- dx = compute_offset(x1, x2, h->value, h->value + h->page_size);
- if (CLAMP(h->value + dx, h->lower, h->upper - h->page_size) - h->value != 0)
- return FALSE;
-
- v = gtk_layout_get_vadjustment(GTK_LAYOUT(canvas));
- dy = compute_offset(y1, y2, v->value, v->value + v->page_size);
- if (CLAMP(v->value + dy, v->lower, v->upper - v->page_size) - v->value != 0)
- return FALSE;
- return TRUE;
-}
-
-gboolean
-e_canvas_item_area_shown (GnomeCanvasItem *item, double x1, double y1, double x2, double y2)
-{
- g_return_val_if_fail (item != NULL, FALSE);
- g_return_val_if_fail (GNOME_IS_CANVAS_ITEM (item), FALSE);
-
- gnome_canvas_item_i2w(item, &x1, &y1);
- gnome_canvas_item_i2w(item, &x2, &y2);
-
- return e_canvas_area_shown(item->canvas, x1, y1, x2, y2);
-}
-
-typedef struct {
- double x1;
- double y1;
- double x2;
- double y2;
- GnomeCanvas *canvas;
-} DoubsAndCanvas;
-
-static gboolean
-show_area_timeout (gpointer data)
-{
- DoubsAndCanvas *dac = data;
-
- e_canvas_show_area(dac->canvas, dac->x1, dac->y1, dac->x2, dac->y2);
- g_object_unref (dac->canvas);
- g_free(dac);
- return FALSE;
-}
-
-void
-e_canvas_item_show_area_delayed (GnomeCanvasItem *item, double x1, double y1, double x2, double y2, gint delay)
-{
- DoubsAndCanvas *dac;
-
- g_return_if_fail (item != NULL);
- g_return_if_fail (GNOME_IS_CANVAS_ITEM (item));
-
- gnome_canvas_item_i2w(item, &x1, &y1);
- gnome_canvas_item_i2w(item, &x2, &y2);
-
- dac = g_new(DoubsAndCanvas, 1);
- dac->x1 = x1;
- dac->y1 = y1;
- dac->x2 = x2;
- dac->y2 = y2;
- dac->canvas = item->canvas;
- g_object_ref (item->canvas);
- g_timeout_add(delay, show_area_timeout, dac);
-}
diff --git a/widgets/misc/e-canvas-utils.h b/widgets/misc/e-canvas-utils.h
deleted file mode 100644
index 5b1a329140..0000000000
--- a/widgets/misc/e-canvas-utils.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef __E_CANVAS_UTILS__
-#define __E_CANVAS_UTILS__
-
-#include <libgnomecanvas/gnome-canvas.h>
-
-G_BEGIN_DECLS
-
-void e_canvas_item_move_absolute (GnomeCanvasItem *item,
- double dx,
- double dy);
-void e_canvas_item_show_area (GnomeCanvasItem *item,
- double x1,
- double y1,
- double x2,
- double y2);
-void e_canvas_item_show_area_delayed (GnomeCanvasItem *item,
- double x1,
- double y1,
- double x2,
- double y2,
- gint delay);
-/* Returns TRUE if the area is already shown on the screen (including
- spacing.) This is equivelent to returning FALSE iff show_area
- would do anything. */
-gboolean e_canvas_item_area_shown (GnomeCanvasItem *item,
- double x1,
- double y1,
- double x2,
- double y2);
-
-G_END_DECLS
-
-#endif /* __E_CANVAS_UTILS__ */
diff --git a/widgets/misc/e-canvas-vbox.c b/widgets/misc/e-canvas-vbox.c
deleted file mode 100644
index 354da5d872..0000000000
--- a/widgets/misc/e-canvas-vbox.c
+++ /dev/null
@@ -1,381 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-canvas-vbox.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <math.h>
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtksignal.h>
-#include "e-canvas-vbox.h"
-#include "e-canvas-utils.h"
-#include "e-canvas.h"
-#include "gal/util/e-util.h"
-#include "gal/util/e-i18n.h"
-
-static void e_canvas_vbox_init (ECanvasVbox *CanvasVbox);
-static void e_canvas_vbox_class_init (ECanvasVboxClass *klass);
-static void e_canvas_vbox_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void e_canvas_vbox_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
-static void e_canvas_vbox_dispose (GObject *object);
-
-static gint e_canvas_vbox_event (GnomeCanvasItem *item, GdkEvent *event);
-static void e_canvas_vbox_realize (GnomeCanvasItem *item);
-
-static void e_canvas_vbox_reflow (GnomeCanvasItem *item, int flags);
-
-static void e_canvas_vbox_real_add_item(ECanvasVbox *e_canvas_vbox, GnomeCanvasItem *item);
-static void e_canvas_vbox_real_add_item_start(ECanvasVbox *e_canvas_vbox, GnomeCanvasItem *item);
-static void e_canvas_vbox_resize_children (GnomeCanvasItem *item);
-
-#define PARENT_TYPE GNOME_TYPE_CANVAS_GROUP
-static GnomeCanvasGroupClass *parent_class = NULL;
-
-/* The arguments we take */
-enum {
- PROP_0,
- PROP_WIDTH,
- PROP_MINIMUM_WIDTH,
- PROP_HEIGHT,
- PROP_SPACING
-};
-
-E_MAKE_TYPE (e_canvas_vbox,
- "ECanvasVbox",
- ECanvasVbox,
- e_canvas_vbox_class_init,
- e_canvas_vbox_init,
- PARENT_TYPE)
-
-static void
-e_canvas_vbox_class_init (ECanvasVboxClass *klass)
-{
- GObjectClass *object_class;
- GnomeCanvasItemClass *item_class;
-
- object_class = (GObjectClass*) klass;
- item_class = (GnomeCanvasItemClass *) klass;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- klass->add_item = e_canvas_vbox_real_add_item;
- klass->add_item_start = e_canvas_vbox_real_add_item_start;
-
- object_class->set_property = e_canvas_vbox_set_property;
- object_class->get_property = e_canvas_vbox_get_property;
- object_class->dispose = e_canvas_vbox_dispose;
-
- /* GnomeCanvasItem method overrides */
- item_class->event = e_canvas_vbox_event;
- item_class->realize = e_canvas_vbox_realize;
-
- g_object_class_install_property (object_class, PROP_WIDTH,
- g_param_spec_double ("width",
- _( "Width" ),
- _( "Width" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
- g_object_class_install_property (object_class, PROP_MINIMUM_WIDTH,
- g_param_spec_double ("minimum_width",
- _( "Minimum width" ),
- _( "Minimum Width" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
- g_object_class_install_property (object_class, PROP_HEIGHT,
- g_param_spec_double ("height",
- _( "Height" ),
- _( "Height" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READABLE));
- g_object_class_install_property (object_class, PROP_SPACING,
- g_param_spec_double ("spacing",
- _( "Spacing" ),
- _( "Spacing" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
-}
-
-static void
-e_canvas_vbox_init (ECanvasVbox *vbox)
-{
- vbox->items = NULL;
-
- vbox->width = 10;
- vbox->minimum_width = 10;
- vbox->height = 10;
- vbox->spacing = 0;
-
- e_canvas_item_set_reflow_callback(GNOME_CANVAS_ITEM(vbox), e_canvas_vbox_reflow);
-}
-
-static void
-e_canvas_vbox_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
-{
- GnomeCanvasItem *item;
- ECanvasVbox *e_canvas_vbox;
-
- item = GNOME_CANVAS_ITEM (object);
- e_canvas_vbox = E_CANVAS_VBOX (object);
-
- switch (prop_id){
- case PROP_WIDTH:
- case PROP_MINIMUM_WIDTH:
- e_canvas_vbox->minimum_width = g_value_get_double (value);
- e_canvas_vbox_resize_children(item);
- e_canvas_item_request_reflow(item);
- break;
- case PROP_SPACING:
- e_canvas_vbox->spacing = g_value_get_double (value);
- e_canvas_item_request_reflow(item);
- break;
- }
-}
-
-static void
-e_canvas_vbox_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
- ECanvasVbox *e_canvas_vbox;
-
- e_canvas_vbox = E_CANVAS_VBOX (object);
-
- switch (prop_id) {
- case PROP_WIDTH:
- g_value_set_double (value, e_canvas_vbox->width);
- break;
- case PROP_MINIMUM_WIDTH:
- g_value_set_double (value, e_canvas_vbox->minimum_width);
- break;
- case PROP_HEIGHT:
- g_value_set_double (value, e_canvas_vbox->height);
- break;
- case PROP_SPACING:
- g_value_set_double (value, e_canvas_vbox->spacing);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-/* Used from g_list_foreach(); disconnects from an item's signals */
-static void
-disconnect_item_cb (gpointer data, gpointer user_data)
-{
- ECanvasVbox *vbox;
- GnomeCanvasItem *item;
-
- vbox = E_CANVAS_VBOX (user_data);
-
- item = GNOME_CANVAS_ITEM (data);
- g_signal_handlers_disconnect_matched (item,
- G_SIGNAL_MATCH_DATA,
- 0, 0, NULL, NULL,
- vbox);
-}
-
-static void
-e_canvas_vbox_dispose (GObject *object)
-{
- ECanvasVbox *vbox = E_CANVAS_VBOX(object);
-
- if (vbox->items) {
- g_list_foreach(vbox->items, disconnect_item_cb, vbox);
- g_list_free(vbox->items);
- vbox->items = NULL;
- }
-
- G_OBJECT_CLASS(parent_class)->dispose (object);
-}
-
-static gint
-e_canvas_vbox_event (GnomeCanvasItem *item, GdkEvent *event)
-{
- gint return_val = TRUE;
-
- switch (event->type) {
- case GDK_KEY_PRESS:
- switch (event->key.keyval) {
- case GDK_Left:
- case GDK_KP_Left:
- case GDK_Right:
- case GDK_KP_Right:
- case GDK_Down:
- case GDK_KP_Down:
- case GDK_Up:
- case GDK_KP_Up:
- case GDK_Return:
- case GDK_KP_Enter:
- return_val = TRUE;
- break;
- default:
- return_val = FALSE;
- break;
- }
- break;
- default:
- return_val = FALSE;
- break;
- }
- if (!return_val) {
- if (GNOME_CANVAS_ITEM_CLASS(parent_class)->event)
- return GNOME_CANVAS_ITEM_CLASS (parent_class)->event (item, event);
- }
- return return_val;
-
-}
-
-static void
-e_canvas_vbox_realize (GnomeCanvasItem *item)
-{
- if (GNOME_CANVAS_ITEM_CLASS(parent_class)->realize)
- (* GNOME_CANVAS_ITEM_CLASS(parent_class)->realize) (item);
-
- e_canvas_vbox_resize_children(item);
- e_canvas_item_request_reflow(item);
-}
-
-static void
-e_canvas_vbox_remove_item (gpointer data, GObject *where_object_was)
-{
- ECanvasVbox *vbox = data;
- vbox->items = g_list_remove(vbox->items, where_object_was);
-}
-
-static void
-e_canvas_vbox_real_add_item(ECanvasVbox *e_canvas_vbox, GnomeCanvasItem *item)
-{
- e_canvas_vbox->items = g_list_append(e_canvas_vbox->items, item);
- g_object_weak_ref (G_OBJECT (item),
- e_canvas_vbox_remove_item, e_canvas_vbox);
- if ( GTK_OBJECT_FLAGS( e_canvas_vbox ) & GNOME_CANVAS_ITEM_REALIZED ) {
- gnome_canvas_item_set(item,
- "width", (double) e_canvas_vbox->minimum_width,
- NULL);
- e_canvas_item_request_reflow(item);
- }
-}
-
-
-static void
-e_canvas_vbox_real_add_item_start(ECanvasVbox *e_canvas_vbox, GnomeCanvasItem *item)
-{
- e_canvas_vbox->items = g_list_prepend(e_canvas_vbox->items, item);
- g_object_weak_ref (G_OBJECT (item),
- e_canvas_vbox_remove_item, e_canvas_vbox);
- if ( GTK_OBJECT_FLAGS( e_canvas_vbox ) & GNOME_CANVAS_ITEM_REALIZED ) {
- gnome_canvas_item_set(item,
- "width", (double) e_canvas_vbox->minimum_width,
- NULL);
- e_canvas_item_request_reflow(item);
- }
-}
-
-static void
-e_canvas_vbox_resize_children (GnomeCanvasItem *item)
-{
- GList *list;
- ECanvasVbox *e_canvas_vbox;
-
- e_canvas_vbox = E_CANVAS_VBOX (item);
- for ( list = e_canvas_vbox->items; list; list = list->next ) {
- GnomeCanvasItem *child = GNOME_CANVAS_ITEM(list->data);
- gnome_canvas_item_set(child,
- "width", (double) e_canvas_vbox->minimum_width,
- NULL);
- }
-}
-
-static void
-e_canvas_vbox_reflow( GnomeCanvasItem *item, int flags )
-{
- ECanvasVbox *e_canvas_vbox = E_CANVAS_VBOX(item);
- if ( GTK_OBJECT_FLAGS( e_canvas_vbox ) & GNOME_CANVAS_ITEM_REALIZED ) {
-
- gdouble old_height;
- gdouble running_height;
- gdouble old_width;
- gdouble max_width;
-
- old_width = e_canvas_vbox->width;
- max_width = e_canvas_vbox->minimum_width;
-
- old_height = e_canvas_vbox->height;
- running_height = 0;
-
- if (e_canvas_vbox->items == NULL) {
- } else {
- GList *list;
- gdouble item_height;
- gdouble item_width;
-
- list = e_canvas_vbox->items;
- g_object_get (list->data,
- "height", &item_height,
- "width", &item_width,
- NULL);
- e_canvas_item_move_absolute(GNOME_CANVAS_ITEM(list->data),
- (double) 0,
- (double) running_height);
- running_height += item_height;
- if (max_width < item_width)
- max_width = item_width;
- list = g_list_next(list);
-
- for( ; list; list = g_list_next(list)) {
- running_height += e_canvas_vbox->spacing;
-
- g_object_get (list->data,
- "height", &item_height,
- "width", &item_width,
- NULL);
-
- e_canvas_item_move_absolute(GNOME_CANVAS_ITEM(list->data),
- (double) 0,
- (double) running_height);
-
- running_height += item_height;
- if (max_width < item_width)
- max_width = item_width;
- }
-
- }
- e_canvas_vbox->height = running_height;
- e_canvas_vbox->width = max_width;
- if (old_height != e_canvas_vbox->height ||
- old_width != e_canvas_vbox->width)
- e_canvas_item_request_parent_reflow(item);
- }
-}
-
-void
-e_canvas_vbox_add_item(ECanvasVbox *e_canvas_vbox, GnomeCanvasItem *item)
-{
- if (E_CANVAS_VBOX_CLASS(GTK_OBJECT_GET_CLASS(e_canvas_vbox))->add_item)
- (E_CANVAS_VBOX_CLASS(GTK_OBJECT_GET_CLASS(e_canvas_vbox))->add_item) (e_canvas_vbox, item);
-}
-
-void
-e_canvas_vbox_add_item_start(ECanvasVbox *e_canvas_vbox, GnomeCanvasItem *item)
-{
- if (E_CANVAS_VBOX_CLASS(GTK_OBJECT_GET_CLASS(e_canvas_vbox))->add_item_start)
- (E_CANVAS_VBOX_CLASS(GTK_OBJECT_GET_CLASS(e_canvas_vbox))->add_item_start) (e_canvas_vbox, item);
-}
-
diff --git a/widgets/misc/e-canvas-vbox.h b/widgets/misc/e-canvas-vbox.h
deleted file mode 100644
index 7d80e7c056..0000000000
--- a/widgets/misc/e-canvas-vbox.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-canvas-vbox.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef __E_CANVAS_VBOX_H__
-#define __E_CANVAS_VBOX_H__
-
-#include <gtk/gtktypeutils.h>
-#include <libgnomecanvas/gnome-canvas.h>
-
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
-
-/* ECanvasVbox - A canvas item container.
- *
- * The following arguments are available:
- *
- * name type read/write description
- * --------------------------------------------------------------------------------
- * width double RW width of the CanvasVbox
- * height double R height of the CanvasVbox
- * spacing double RW Spacing between items.
- */
-
-#define E_CANVAS_VBOX_TYPE (e_canvas_vbox_get_type ())
-#define E_CANVAS_VBOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_CANVAS_VBOX_TYPE, ECanvasVbox))
-#define E_CANVAS_VBOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_CANVAS_VBOX_TYPE, ECanvasVboxClass))
-#define E_IS_CANVAS_VBOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_CANVAS_VBOX_TYPE))
-#define E_IS_CANVAS_VBOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), E_CANVAS_VBOX_TYPE))
-
-
-typedef struct _ECanvasVbox ECanvasVbox;
-typedef struct _ECanvasVboxClass ECanvasVboxClass;
-
-struct _ECanvasVbox
-{
- GnomeCanvasGroup parent;
-
- /* item specific fields */
- GList *items; /* Of type GnomeCanvasItem */
-
- double width;
- double minimum_width;
- double height;
- double spacing;
-};
-
-struct _ECanvasVboxClass
-{
- GnomeCanvasGroupClass parent_class;
-
- /* Virtual methods. */
- void (* add_item) (ECanvasVbox *CanvasVbox, GnomeCanvasItem *item);
- void (* add_item_start) (ECanvasVbox *CanvasVbox, GnomeCanvasItem *item);
-};
-
-/*
- * To be added to a CanvasVbox, an item must have the argument "width" as
- * a Read/Write argument and "height" as a Read Only argument. It
- * should also do an ECanvas parent CanvasVbox request if its size
- * changes.
- */
-void e_canvas_vbox_add_item(ECanvasVbox *e_canvas_vbox, GnomeCanvasItem *item);
-void e_canvas_vbox_add_item_start(ECanvasVbox *e_canvas_vbox, GnomeCanvasItem *item);
-GtkType e_canvas_vbox_get_type (void);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* __E_CANVAS_VBOX_H__ */
diff --git a/widgets/misc/e-canvas.c b/widgets/misc/e-canvas.c
deleted file mode 100644
index 8be100fb4a..0000000000
--- a/widgets/misc/e-canvas.c
+++ /dev/null
@@ -1,1096 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-canvas.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <gtk/gtksignal.h>
-#include "e-canvas.h"
-#include "gal/util/e-util.h"
-#include <X11/Xlib.h>
-#include <gtk/gtkmain.h>
-#include <gtk/gtkimmulticontext.h>
-
-static void e_canvas_init (ECanvas *card);
-static void e_canvas_dispose (GObject *object);
-static void e_canvas_class_init (ECanvasClass *klass);
-static void e_canvas_realize (GtkWidget *widget);
-static void e_canvas_unrealize (GtkWidget *widget);
-static gint e_canvas_key (GtkWidget *widget,
- GdkEventKey *event);
-static gint e_canvas_button (GtkWidget *widget,
- GdkEventButton *event);
-
-static gint e_canvas_visibility (GtkWidget *widget,
- GdkEventVisibility *event,
- ECanvas *canvas);
-
-static gint e_canvas_focus_in (GtkWidget *widget,
- GdkEventFocus *event);
-static gint e_canvas_focus_out (GtkWidget *widget,
- GdkEventFocus *event);
-
-static void e_canvas_style_set (GtkWidget *widget,
- GtkStyle *previous_style);
-
-static int emit_event (GnomeCanvas *canvas, GdkEvent *event);
-
-#define PARENT_TYPE GNOME_TYPE_CANVAS
-static GnomeCanvasClass *parent_class = NULL;
-
-#define d(x)
-
-enum {
- REFLOW,
- LAST_SIGNAL
-};
-
-static guint e_canvas_signals [LAST_SIGNAL] = { 0, };
-
-E_MAKE_TYPE (e_canvas,
- "ECanvas",
- ECanvas,
- e_canvas_class_init,
- e_canvas_init,
- PARENT_TYPE)
-
-static void
-e_canvas_class_init (ECanvasClass *klass)
-{
- GObjectClass *object_class;
- GnomeCanvasClass *canvas_class;
- GtkWidgetClass *widget_class;
-
- object_class = (GObjectClass*) klass;
- canvas_class = (GnomeCanvasClass *) klass;
- widget_class = (GtkWidgetClass *) klass;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class->dispose = e_canvas_dispose;
-
- widget_class->key_press_event = e_canvas_key;
- widget_class->key_release_event = e_canvas_key;
- widget_class->button_press_event = e_canvas_button;
- widget_class->button_release_event = e_canvas_button;
- widget_class->focus_in_event = e_canvas_focus_in;
- widget_class->focus_out_event = e_canvas_focus_out;
- widget_class->style_set = e_canvas_style_set;
- widget_class->realize = e_canvas_realize;
- widget_class->unrealize = e_canvas_unrealize;
-
- klass->reflow = NULL;
-
- e_canvas_signals [REFLOW] =
- g_signal_new ("reflow",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ECanvasClass, reflow),
- NULL, NULL,
- e_marshal_NONE__NONE,
- G_TYPE_NONE, 0);
-}
-
-static void
-e_canvas_init (ECanvas *canvas)
-{
- canvas->selection = NULL;
- canvas->cursor = NULL;
- canvas->im_context = gtk_im_multicontext_new ();
- canvas->tooltip_window = NULL;
-}
-
-static void
-e_canvas_dispose (GObject *object)
-{
- ECanvas *canvas = E_CANVAS(object);
-
- if (canvas->idle_id)
- g_source_remove(canvas->idle_id);
- canvas->idle_id = 0;
-
- if (canvas->grab_cancelled_check_id)
- g_source_remove (canvas->grab_cancelled_check_id);
- canvas->grab_cancelled_check_id = 0;
-
- if (canvas->toplevel) {
- if (canvas->visibility_notify_id)
- g_signal_handler_disconnect (canvas->toplevel,
- canvas->visibility_notify_id);
- canvas->visibility_notify_id = 0;
-
- g_object_unref (canvas->toplevel);
- canvas->toplevel = NULL;
- }
-
- if (canvas->im_context) {
- g_object_unref (canvas->im_context);
- canvas->im_context = NULL;
- }
-
- e_canvas_hide_tooltip(canvas);
-
- if ((G_OBJECT_CLASS (parent_class))->dispose)
- (*(G_OBJECT_CLASS (parent_class))->dispose) (object);
-}
-
-GtkWidget *
-e_canvas_new ()
-{
- return GTK_WIDGET (g_object_new (E_CANVAS_TYPE, NULL));
-}
-
-
-/* Emits an event for an item in the canvas, be it the current item, grabbed
- * item, or focused item, as appropriate.
- */
-static int
-emit_event (GnomeCanvas *canvas, GdkEvent *event)
-{
- GdkEvent *ev;
- gint finished;
- GnomeCanvasItem *item;
- GnomeCanvasItem *parent;
- guint mask;
-
- /* Choose where we send the event */
-
- item = canvas->current_item;
-
- if (canvas->focused_item
- && ((event->type == GDK_KEY_PRESS) || (event->type == GDK_KEY_RELEASE) || (event->type == GDK_FOCUS_CHANGE)))
- item = canvas->focused_item;
-
- if (canvas->grabbed_item)
- item = canvas->grabbed_item;
-
- /* Perform checks for grabbed items */
-
- if (canvas->grabbed_item) {
- switch (event->type) {
- case GDK_ENTER_NOTIFY:
- mask = GDK_ENTER_NOTIFY_MASK;
- break;
-
- case GDK_LEAVE_NOTIFY:
- mask = GDK_LEAVE_NOTIFY_MASK;
- break;
-
- case GDK_MOTION_NOTIFY:
- mask = GDK_POINTER_MOTION_MASK;
- break;
-
- case GDK_BUTTON_PRESS:
- case GDK_2BUTTON_PRESS:
- case GDK_3BUTTON_PRESS:
- mask = GDK_BUTTON_PRESS_MASK;
- break;
-
- case GDK_BUTTON_RELEASE:
- mask = GDK_BUTTON_RELEASE_MASK;
- break;
-
- case GDK_KEY_PRESS:
- mask = GDK_KEY_PRESS_MASK;
- break;
-
- case GDK_KEY_RELEASE:
- mask = GDK_KEY_RELEASE_MASK;
- break;
-
- default:
- mask = 0;
- break;
- }
-
- if (!(mask & canvas->grabbed_event_mask))
- return FALSE;
- }
-
- /* Convert to world coordinates -- we have two cases because of diferent
- * offsets of the fields in the event structures.
- */
-
- ev = gdk_event_copy (event);
-
- switch (ev->type) {
- case GDK_ENTER_NOTIFY:
- case GDK_LEAVE_NOTIFY:
- gnome_canvas_window_to_world (canvas,
- ev->crossing.x, ev->crossing.y,
- &ev->crossing.x, &ev->crossing.y);
- break;
-
- case GDK_MOTION_NOTIFY:
- case GDK_BUTTON_PRESS:
- case GDK_2BUTTON_PRESS:
- case GDK_3BUTTON_PRESS:
- case GDK_BUTTON_RELEASE:
- gnome_canvas_window_to_world (canvas,
- ev->motion.x, ev->motion.y,
- &ev->motion.x, &ev->motion.y);
- break;
-
- default:
- break;
- }
-
- /* The event is propagated up the hierarchy (for if someone connected to
- * a group instead of a leaf event), and emission is stopped if a
- * handler returns TRUE, just like for GtkWidget events.
- */
-
- finished = FALSE;
-
- while (item && !finished) {
- g_object_ref (item);
-
- g_signal_emit_by_name (item, "event", ev, &finished);
-
- parent = item->parent;
- g_object_unref (item);
-
- item = parent;
- }
-
- gdk_event_free (ev);
-
- return finished;
-}
-
-/* Key event handler for the canvas */
-static gint
-e_canvas_key (GtkWidget *widget, GdkEventKey *event)
-{
- GnomeCanvas *canvas;
- GdkEvent full_event;
-
- g_return_val_if_fail (widget != NULL, FALSE);
- g_return_val_if_fail (GNOME_IS_CANVAS (widget), FALSE);
- g_return_val_if_fail (event != NULL, FALSE);
-
- canvas = GNOME_CANVAS (widget);
-
- full_event.key = *event;
-
- return emit_event (canvas, &full_event);
-}
-
-
-/* This routine invokes the point method of the item. The argument x, y should
- * be in the parent's item-relative coordinate system. This routine applies the
- * inverse of the item's transform, maintaining the affine invariant.
- */
-#define HACKISH_AFFINE
-
-static double
-gnome_canvas_item_invoke_point (GnomeCanvasItem *item, double x, double y, int cx, int cy,
- GnomeCanvasItem **actual_item)
-{
-#ifdef HACKISH_AFFINE
- double i2w[6], w2c[6], i2c[6], c2i[6];
- ArtPoint c, i;
-#endif
-
-#ifdef HACKISH_AFFINE
- gnome_canvas_item_i2w_affine (item, i2w);
- gnome_canvas_w2c_affine (item->canvas, w2c);
- art_affine_multiply (i2c, i2w, w2c);
- art_affine_invert (c2i, i2c);
- c.x = cx;
- c.y = cy;
- art_affine_point (&i, &c, c2i);
- x = i.x;
- y = i.y;
-#endif
-
- return (* GNOME_CANVAS_ITEM_CLASS (GTK_OBJECT_GET_CLASS (item))->point) (
- item, x, y, cx, cy, actual_item);
-}
-
-/* Re-picks the current item in the canvas, based on the event's coordinates.
- * Also emits enter/leave events for items as appropriate.
- */
-#define DISPLAY_X1(canvas) (GNOME_CANVAS (canvas)->layout.xoffset)
-#define DISPLAY_Y1(canvas) (GNOME_CANVAS (canvas)->layout.yoffset)
-static int
-pick_current_item (GnomeCanvas *canvas, GdkEvent *event)
-{
- int button_down;
- double x, y;
- int cx, cy;
- int retval;
-
- retval = FALSE;
-
- /* If a button is down, we'll perform enter and leave events on the
- * current item, but not enter on any other item. This is more or less
- * like X pointer grabbing for canvas items.
- */
- button_down = canvas->state & (GDK_BUTTON1_MASK
- | GDK_BUTTON2_MASK
- | GDK_BUTTON3_MASK
- | GDK_BUTTON4_MASK
- | GDK_BUTTON5_MASK);
- d(g_print ("%s:%d: button_down = %s\n", __FUNCTION__, __LINE__, button_down ? "TRUE" : "FALSE"));
- if (!button_down)
- canvas->left_grabbed_item = FALSE;
-
- /* Save the event in the canvas. This is used to synthesize enter and
- * leave events in case the current item changes. It is also used to
- * re-pick the current item if the current one gets deleted. Also,
- * synthesize an enter event.
- */
- if (event != &canvas->pick_event) {
- if ((event->type == GDK_MOTION_NOTIFY) || (event->type == GDK_BUTTON_RELEASE)) {
- /* these fields have the same offsets in both types of events */
-
- canvas->pick_event.crossing.type = GDK_ENTER_NOTIFY;
- canvas->pick_event.crossing.window = event->motion.window;
- canvas->pick_event.crossing.send_event = event->motion.send_event;
- canvas->pick_event.crossing.subwindow = NULL;
- canvas->pick_event.crossing.x = event->motion.x;
- canvas->pick_event.crossing.y = event->motion.y;
- canvas->pick_event.crossing.mode = GDK_CROSSING_NORMAL;
- canvas->pick_event.crossing.detail = GDK_NOTIFY_NONLINEAR;
- canvas->pick_event.crossing.focus = FALSE;
- canvas->pick_event.crossing.state = event->motion.state;
-
- /* these fields don't have the same offsets in both types of events */
-
- if (event->type == GDK_MOTION_NOTIFY) {
- canvas->pick_event.crossing.x_root = event->motion.x_root;
- canvas->pick_event.crossing.y_root = event->motion.y_root;
- } else {
- canvas->pick_event.crossing.x_root = event->button.x_root;
- canvas->pick_event.crossing.y_root = event->button.y_root;
- }
- } else
- canvas->pick_event = *event;
- }
-
- /* Don't do anything else if this is a recursive call */
-
- if (canvas->in_repick)
- return retval;
-
- /* LeaveNotify means that there is no current item, so we don't look for one */
-
- if (canvas->pick_event.type != GDK_LEAVE_NOTIFY) {
- /* these fields don't have the same offsets in both types of events */
-
- if (canvas->pick_event.type == GDK_ENTER_NOTIFY) {
- x = canvas->pick_event.crossing.x + canvas->scroll_x1 - canvas->zoom_xofs;
- y = canvas->pick_event.crossing.y + canvas->scroll_y1 - canvas->zoom_yofs;
- } else {
- x = canvas->pick_event.motion.x + canvas->scroll_x1 - canvas->zoom_xofs;
- y = canvas->pick_event.motion.y + canvas->scroll_y1 - canvas->zoom_yofs;
- }
-
- /* canvas pixel coords */
-
- cx = (int) (x + 0.5);
- cy = (int) (y + 0.5);
-
- /* world coords */
-
- x = canvas->scroll_x1 + x / canvas->pixels_per_unit;
- y = canvas->scroll_y1 + y / canvas->pixels_per_unit;
-
- /* find the closest item */
-
- if (canvas->root->object.flags & GNOME_CANVAS_ITEM_VISIBLE)
- gnome_canvas_item_invoke_point (canvas->root, x, y, cx, cy,
- &canvas->new_current_item);
- else
- canvas->new_current_item = NULL;
- } else
- canvas->new_current_item = NULL;
-
- if ((canvas->new_current_item == canvas->current_item) && !canvas->left_grabbed_item)
- return retval; /* current item did not change */
-
- /* Synthesize events for old and new current items */
-
- if ((canvas->new_current_item != canvas->current_item)
- && (canvas->current_item != NULL)
- && !canvas->left_grabbed_item) {
- GdkEvent new_event;
- GnomeCanvasItem *item;
-
- item = canvas->current_item;
-
- new_event = canvas->pick_event;
- new_event.type = GDK_LEAVE_NOTIFY;
-
- new_event.crossing.detail = GDK_NOTIFY_ANCESTOR;
- new_event.crossing.subwindow = NULL;
- canvas->in_repick = TRUE;
- retval = emit_event (canvas, &new_event);
- canvas->in_repick = FALSE;
- }
-
- /* new_current_item may have been set to NULL during the call to emit_event() above */
-
- if ((canvas->new_current_item != canvas->current_item) && button_down) {
- canvas->left_grabbed_item = TRUE;
- return retval;
- }
-
- /* Handle the rest of cases */
-
- canvas->left_grabbed_item = FALSE;
- canvas->current_item = canvas->new_current_item;
-
- if (canvas->current_item != NULL) {
- GdkEvent new_event;
-
- new_event = canvas->pick_event;
- new_event.type = GDK_ENTER_NOTIFY;
- new_event.crossing.detail = GDK_NOTIFY_ANCESTOR;
- new_event.crossing.subwindow = NULL;
- retval = emit_event (canvas, &new_event);
- }
-
- return retval;
-}
-
-/* Button event handler for the canvas */
-static gint
-e_canvas_button (GtkWidget *widget, GdkEventButton *event)
-{
- GnomeCanvas *canvas;
- int mask;
- int retval;
-
- g_return_val_if_fail (widget != NULL, FALSE);
- g_return_val_if_fail (GNOME_IS_CANVAS (widget), FALSE);
- g_return_val_if_fail (event != NULL, FALSE);
-
- retval = FALSE;
-
- canvas = GNOME_CANVAS (widget);
-
- d(g_print ("button %d, event type %d, grabbed=%p, current=%p\n",
- event->button,
- event->type,
- canvas->grabbed_item,
- canvas->current_item));
-
- /* dispatch normally regardless of the event's window if an item has
- has a pointer grab in effect */
- if (!canvas->grabbed_item && event->window != canvas->layout.bin_window)
- return retval;
-
- switch (event->button) {
- case 1:
- mask = GDK_BUTTON1_MASK;
- break;
- case 2:
- mask = GDK_BUTTON2_MASK;
- break;
- case 3:
- mask = GDK_BUTTON3_MASK;
- break;
- case 4:
- mask = GDK_BUTTON4_MASK;
- break;
- case 5:
- mask = GDK_BUTTON5_MASK;
- break;
- default:
- mask = 0;
- }
-
- switch (event->type) {
- case GDK_BUTTON_PRESS:
- case GDK_2BUTTON_PRESS:
- case GDK_3BUTTON_PRESS:
- /* Pick the current item as if the button were not pressed, and
- * then process the event.
- */
- canvas->state = event->state;
- pick_current_item (canvas, (GdkEvent *) event);
- canvas->state ^= mask;
- retval = emit_event (canvas, (GdkEvent *) event);
- break;
-
- case GDK_BUTTON_RELEASE:
- /* Process the event as if the button were pressed, then repick
- * after the button has been released
- */
- canvas->state = event->state;
- retval = emit_event (canvas, (GdkEvent *) event);
- event->state ^= mask;
- canvas->state = event->state;
- pick_current_item (canvas, (GdkEvent *) event);
- event->state ^= mask;
- break;
-
- default:
- g_assert_not_reached ();
- }
-
- return retval;
-}
-
-/* Key event handler for the canvas */
-static gint
-e_canvas_visibility (GtkWidget *widget, GdkEventVisibility *event, ECanvas *canvas)
-{
- if (! canvas->visibility_first) {
- e_canvas_hide_tooltip(canvas);
- }
- canvas->visibility_first = FALSE;
-
- return FALSE;
-}
-
-
-/**
- * e_canvas_item_grab_focus:
- * @item: A canvas item.
- * @widget_too: Whether or not to grab the widget-level focus too
- *
- * Makes the specified item take the keyboard focus, so all keyboard
- * events will be sent to it. If the canvas widget itself did not have
- * the focus and @widget_too is %TRUE, it grabs that focus as well.
- **/
-void
-e_canvas_item_grab_focus (GnomeCanvasItem *item, gboolean widget_too)
-{
- GnomeCanvasItem *focused_item;
- GdkEvent ev;
-
- g_return_if_fail (item != NULL);
- g_return_if_fail (GNOME_IS_CANVAS_ITEM (item));
- g_return_if_fail (GTK_WIDGET_CAN_FOCUS (GTK_WIDGET (item->canvas)));
-
- focused_item = item->canvas->focused_item;
-
- if (focused_item) {
- ev.focus_change.type = GDK_FOCUS_CHANGE;
- ev.focus_change.window = GTK_LAYOUT (item->canvas)->bin_window;
- ev.focus_change.send_event = FALSE;
- ev.focus_change.in = FALSE;
-
- emit_event (item->canvas, &ev);
- }
-
- item->canvas->focused_item = item;
-
- if (widget_too && !GTK_WIDGET_HAS_FOCUS (GTK_WIDGET(item->canvas))) {
- gtk_widget_grab_focus (GTK_WIDGET (item->canvas));
- }
-
- if (item) {
- ev.focus_change.type = GDK_FOCUS_CHANGE;
- ev.focus_change.window = GTK_LAYOUT (item->canvas)->bin_window;
- ev.focus_change.send_event = FALSE;
- ev.focus_change.in = TRUE;
-
- emit_event (item->canvas, &ev);
- }
-}
-
-/* Focus in handler for the canvas */
-static gint
-e_canvas_focus_in (GtkWidget *widget, GdkEventFocus *event)
-{
- GnomeCanvas *canvas;
- ECanvas *ecanvas;
- GdkEvent full_event;
-
- canvas = GNOME_CANVAS (widget);
- ecanvas = E_CANVAS (widget);
-
- GTK_WIDGET_SET_FLAGS (widget, GTK_HAS_FOCUS);
-
- gtk_im_context_focus_in (ecanvas->im_context);
-
- if (canvas->focused_item) {
- full_event.focus_change = *event;
- return emit_event (canvas, &full_event);
- } else {
- return FALSE;
- }
-}
-
-/* Focus out handler for the canvas */
-static gint
-e_canvas_focus_out (GtkWidget *widget, GdkEventFocus *event)
-{
- GnomeCanvas *canvas;
- ECanvas *ecanvas;
- GdkEvent full_event;
-
- canvas = GNOME_CANVAS (widget);
- ecanvas = E_CANVAS (widget);
-
- GTK_WIDGET_UNSET_FLAGS (widget, GTK_HAS_FOCUS);
-
- gtk_im_context_focus_out (ecanvas->im_context);
-
- if (canvas->focused_item) {
- full_event.focus_change = *event;
- return emit_event (canvas, &full_event);
- } else {
- return FALSE;
- }
-}
-
-static void
-ec_style_set_recursive (GnomeCanvasItem *item, GtkStyle *previous_style)
-{
- guint signal_id = g_signal_lookup ("style_set", G_OBJECT_TYPE (item));
- if (signal_id >= 1) {
- GSignalQuery query;
- g_signal_query (signal_id, &query);
- if (query.return_type == GTK_TYPE_NONE && query.n_params == 1 && query.param_types[0] == GTK_TYPE_STYLE) {
- g_signal_emit (item, signal_id, 0, previous_style);
- }
- }
-
- if (GNOME_IS_CANVAS_GROUP (item) ) {
- GList *items = GNOME_CANVAS_GROUP (item)->item_list;
- for (; items; items = items->next)
- ec_style_set_recursive (items->data, previous_style);
- }
-}
-
-static void
-e_canvas_style_set (GtkWidget *widget, GtkStyle *previous_style)
-{
- ec_style_set_recursive (GNOME_CANVAS_ITEM (gnome_canvas_root (GNOME_CANVAS (widget))), previous_style);
-}
-
-
-static void
-e_canvas_realize (GtkWidget *widget)
-{
- ECanvas *ecanvas = E_CANVAS (widget);
-
- if (GTK_WIDGET_CLASS (parent_class)->realize)
- (* GTK_WIDGET_CLASS (parent_class)->realize) (widget);
-
- gdk_window_set_back_pixmap (GTK_LAYOUT (widget)->bin_window, NULL, FALSE);
-
- gtk_im_context_set_client_window (ecanvas->im_context, widget->window);
-}
-
-static void
-e_canvas_unrealize (GtkWidget *widget)
-{
- ECanvas * ecanvas = E_CANVAS (widget);
-
- if (ecanvas->idle_id) {
- g_source_remove(ecanvas->idle_id);
- ecanvas->idle_id = 0;
- }
-
- gtk_im_context_set_client_window (ecanvas->im_context, widget->window);
-
- if (GTK_WIDGET_CLASS (parent_class)->unrealize)
- (* GTK_WIDGET_CLASS (parent_class)->unrealize) (widget);
-}
-
-static void
-e_canvas_item_invoke_reflow (GnomeCanvasItem *item, int flags)
-{
- GnomeCanvasGroup *group;
- GList *list;
- GnomeCanvasItem *child;
-
- if (GNOME_IS_CANVAS_GROUP (item)) {
- group = GNOME_CANVAS_GROUP (item);
- for (list = group->item_list; list; list = list->next) {
- child = GNOME_CANVAS_ITEM (list->data);
- if (child->object.flags & E_CANVAS_ITEM_DESCENDENT_NEEDS_REFLOW)
- e_canvas_item_invoke_reflow (child, flags);
- }
- }
-
- if (item->object.flags & E_CANVAS_ITEM_NEEDS_REFLOW) {
- ECanvasItemReflowFunc func;
- func = (ECanvasItemReflowFunc)
- g_object_get_data (G_OBJECT (item),
- "ECanvasItem::reflow_callback");
- if (func)
- func (item, flags);
- }
-
- item->object.flags &= ~E_CANVAS_ITEM_NEEDS_REFLOW;
- item->object.flags &= ~E_CANVAS_ITEM_DESCENDENT_NEEDS_REFLOW;
-}
-
-static void
-do_reflow (ECanvas *canvas)
-{
- if (GNOME_CANVAS(canvas)->root->object.flags & E_CANVAS_ITEM_DESCENDENT_NEEDS_REFLOW)
- e_canvas_item_invoke_reflow (GNOME_CANVAS(canvas)->root, 0);
-}
-
-/* Idle handler for the e-canvas. It deals with pending reflows. */
-static gint
-idle_handler (gpointer data)
-{
- ECanvas *canvas;
-
- GDK_THREADS_ENTER();
-
- canvas = E_CANVAS (data);
- do_reflow (canvas);
-
- /* Reset idle id */
- canvas->idle_id = 0;
-
- g_signal_emit (canvas,
- e_canvas_signals [REFLOW], 0);
-
- GDK_THREADS_LEAVE();
-
- return FALSE;
-}
-
-/* Convenience function to add an idle handler to a canvas */
-static void
-add_idle (ECanvas *canvas)
-{
- if (canvas->idle_id != 0)
- return;
-
- canvas->idle_id = g_idle_add_full (G_PRIORITY_HIGH_IDLE, idle_handler, (gpointer) canvas, NULL);
-}
-
-static void
-e_canvas_item_descendent_needs_reflow (GnomeCanvasItem *item)
-{
- if (item->object.flags & E_CANVAS_ITEM_DESCENDENT_NEEDS_REFLOW)
- return;
-
- item->object.flags |= E_CANVAS_ITEM_DESCENDENT_NEEDS_REFLOW;
- if (item->parent)
- e_canvas_item_descendent_needs_reflow(item->parent);
-}
-
-void
-e_canvas_item_request_reflow (GnomeCanvasItem *item)
-{
- if (item->object.flags & GNOME_CANVAS_ITEM_REALIZED) {
- item->object.flags |= E_CANVAS_ITEM_NEEDS_REFLOW;
- e_canvas_item_descendent_needs_reflow(item);
- add_idle(E_CANVAS(item->canvas));
- }
-}
-
-void
-e_canvas_item_request_parent_reflow (GnomeCanvasItem *item)
-{
- g_return_if_fail(item != NULL);
- g_return_if_fail(GNOME_IS_CANVAS_ITEM(item));
- e_canvas_item_request_reflow(item->parent);
-}
-
-void
-e_canvas_item_set_reflow_callback (GnomeCanvasItem *item, ECanvasItemReflowFunc func)
-{
- g_object_set_data(G_OBJECT(item), "ECanvasItem::reflow_callback", (gpointer) func);
-}
-
-
-void
-e_canvas_item_set_selection_callback (GnomeCanvasItem *item, ECanvasItemSelectionFunc func)
-{
- g_object_set_data(G_OBJECT(item), "ECanvasItem::selection_callback", (gpointer) func);
-}
-
-void
-e_canvas_item_set_selection_compare_callback (GnomeCanvasItem *item, ECanvasItemSelectionCompareFunc func)
-{
- g_object_set_data(G_OBJECT(item), "ECanvasItem::selection_compare_callback", (gpointer) func);
-}
-
-void
-e_canvas_item_set_cursor (GnomeCanvasItem *item, gpointer id)
-{
- GList *list;
- int flags;
- ECanvas *canvas;
- ECanvasSelectionInfo *info;
- ECanvasItemSelectionFunc func;
-
- g_return_if_fail(item != NULL);
- g_return_if_fail(GNOME_IS_CANVAS_ITEM(item));
- g_return_if_fail(item->canvas != NULL);
- g_return_if_fail(E_IS_CANVAS(item->canvas));
-
- canvas = E_CANVAS(item->canvas);
- flags = E_CANVAS_ITEM_SELECTION_DELETE_DATA;
-
- for (list = canvas->selection; list; list = g_list_next(list)) {
- info = list->data;
-
- func = (ECanvasItemSelectionFunc)g_object_get_data(G_OBJECT(info->item),
- "ECanvasItem::selection_callback");
- if (func)
- func(info->item, flags, info->id);
- g_message ("ECANVAS: free info (2): item %p, id %p",
- info->item, info->id);
- g_object_unref (info->item);
- g_free(info);
- }
- g_list_free(canvas->selection);
-
- canvas->selection = NULL;
-
- gnome_canvas_item_grab_focus(item);
-
- info = g_new(ECanvasSelectionInfo, 1);
- info->item = item;
- g_object_ref (info->item);
- info->id = id;
- g_message ("ECANVAS: new info item %p, id %p", item, id);
-
- flags = E_CANVAS_ITEM_SELECTION_SELECT | E_CANVAS_ITEM_SELECTION_CURSOR;
- func = (ECanvasItemSelectionFunc)g_object_get_data(G_OBJECT(item),
- "ECanvasItem::selection_callback");
- if (func)
- func(item, flags, id);
-
- canvas->selection = g_list_prepend(canvas->selection, info);
- canvas->cursor = info;
-}
-
-void
-e_canvas_item_set_cursor_end (GnomeCanvasItem *item, gpointer id)
-{
-}
-
-void
-e_canvas_item_add_selection (GnomeCanvasItem *item, gpointer id)
-{
- int flags;
- ECanvas *canvas;
- ECanvasSelectionInfo *info;
- ECanvasItemSelectionFunc func;
- GList *list;
-
- g_return_if_fail(item != NULL);
- g_return_if_fail(GNOME_IS_CANVAS_ITEM(item));
- g_return_if_fail(item->canvas != NULL);
- g_return_if_fail(E_IS_CANVAS(item->canvas));
-
- flags = E_CANVAS_ITEM_SELECTION_SELECT;
- canvas = E_CANVAS(item->canvas);
-
- if (canvas->cursor) {
- func = (ECanvasItemSelectionFunc)g_object_get_data(G_OBJECT(canvas->cursor->item),
- "ECanvasItem::selection_callback");
- if (func)
- func(canvas->cursor->item, flags, canvas->cursor->id);
- }
-
- gnome_canvas_item_grab_focus(item);
-
- flags = E_CANVAS_ITEM_SELECTION_SELECT | E_CANVAS_ITEM_SELECTION_CURSOR;
-
- for (list = canvas->selection; list; list = g_list_next(list)) {
- ECanvasSelectionInfo *search;
- search = list->data;
-
- if (search->item == item) {
- ECanvasItemSelectionCompareFunc compare_func;
- compare_func = (ECanvasItemSelectionCompareFunc)g_object_get_data(G_OBJECT(search->item),
- "ECanvasItem::selection_compare_callback");
-
- if (compare_func(search->item, search->id, id, 0) == 0) {
- canvas->cursor = search;
- func = (ECanvasItemSelectionFunc)g_object_get_data(G_OBJECT(item),
- "ECanvasItem::selection_callback");
- if (func)
- func(item, flags, search->id);
- return;
- }
- }
- }
-
- info = g_new(ECanvasSelectionInfo, 1);
- info->item = item;
- g_object_ref (info->item);
- info->id = id;
- g_message ("ECANVAS: new info (2): item %p, id %p", item, id);
-
- func = (ECanvasItemSelectionFunc)g_object_get_data(G_OBJECT(item),
- "ECanvasItem::selection_callback");
- if (func)
- func(item, flags, id);
-
- canvas->selection = g_list_prepend(canvas->selection, info);
- canvas->cursor = info;
-}
-
-void
-e_canvas_item_remove_selection (GnomeCanvasItem *item, gpointer id)
-{
- int flags;
- ECanvas *canvas;
- ECanvasSelectionInfo *info;
- GList *list;
-
- g_return_if_fail(item != NULL);
- g_return_if_fail(GNOME_IS_CANVAS_ITEM(item));
- g_return_if_fail(item->canvas != NULL);
- g_return_if_fail(E_IS_CANVAS(item->canvas));
-
- flags = E_CANVAS_ITEM_SELECTION_DELETE_DATA;
- canvas = E_CANVAS(item->canvas);
-
- for (list = canvas->selection; list; list = g_list_next(list)) {
- info = list->data;
-
- if (info->item == item) {
- ECanvasItemSelectionCompareFunc compare_func;
- compare_func = (ECanvasItemSelectionCompareFunc)g_object_get_data(G_OBJECT(info->item),
- "ECanvasItem::selection_compare_callback");
-
- if (compare_func(info->item, info->id, id, 0) == 0) {
- ECanvasItemSelectionFunc func;
- func = (ECanvasItemSelectionFunc) g_object_get_data(G_OBJECT(info->item),
- "ECanvasItem::selection_callback");
- if (func)
- func(info->item, flags, info->id);
- canvas->selection = g_list_remove_link(canvas->selection, list);
-
- if (canvas->cursor == info)
- canvas->cursor = NULL;
-
- g_message ("ECANVAS: removing info: item %p, info %p",
- info->item, info->id);
- g_object_unref (info->item);
- g_free(info);
- g_list_free_1(list);
- break;
- }
- }
- }
-}
-
-void e_canvas_popup_tooltip (ECanvas *canvas, GtkWidget *widget, int x, int y)
-{
- if (canvas->tooltip_window && canvas->tooltip_window != widget) {
- e_canvas_hide_tooltip(canvas);
- }
- canvas->tooltip_window = widget;
- canvas->visibility_first = TRUE;
- if (canvas->toplevel == NULL) {
- canvas->toplevel = gtk_widget_get_toplevel (GTK_WIDGET(canvas));
- if (canvas->toplevel) {
- gtk_widget_add_events(canvas->toplevel, GDK_VISIBILITY_NOTIFY_MASK);
- g_object_ref (canvas->toplevel);
- canvas->visibility_notify_id =
- g_signal_connect (canvas->toplevel, "visibility_notify_event",
- G_CALLBACK (e_canvas_visibility), canvas);
- }
- }
- gtk_widget_set_uposition (widget, x, y);
- gtk_widget_show (widget);
-}
-
-void e_canvas_hide_tooltip (ECanvas *canvas)
-{
- if (canvas->tooltip_window) {
- gtk_widget_destroy (canvas->tooltip_window);
- canvas->tooltip_window = NULL;
- }
-}
-
-
-static gboolean
-grab_cancelled_check (gpointer data)
-{
- ECanvas *canvas = data;
-
- if (GNOME_CANVAS (canvas)->grabbed_item == NULL) {
- canvas->grab_cancelled_cb = NULL;
- canvas->grab_cancelled_check_id = 0;
- canvas->grab_cancelled_time = 0;
- canvas->grab_cancelled_data = NULL;
- return FALSE;
- }
-
- if (gtk_grab_get_current ()) {
- gnome_canvas_item_ungrab(GNOME_CANVAS (canvas)->grabbed_item, canvas->grab_cancelled_time);
- if (canvas->grab_cancelled_cb) {
- canvas->grab_cancelled_cb (canvas,
- GNOME_CANVAS (canvas)->grabbed_item,
- canvas->grab_cancelled_data);
- }
- canvas->grab_cancelled_cb = NULL;
- canvas->grab_cancelled_check_id = 0;
- canvas->grab_cancelled_time = 0;
- canvas->grab_cancelled_data = NULL;
- return FALSE;
- }
- return TRUE;
-}
-
-int
-e_canvas_item_grab (ECanvas *canvas,
- GnomeCanvasItem *item,
- guint event_mask,
- GdkCursor *cursor,
- guint32 etime,
- ECanvasItemGrabCancelled cancelled_cb,
- gpointer cancelled_data)
-{
- if (gtk_grab_get_current ()) {
- return AlreadyGrabbed;
- } else {
- int ret_val = gnome_canvas_item_grab (item, event_mask, cursor, etime);
- if (ret_val == GrabSuccess) {
- canvas->grab_cancelled_cb = cancelled_cb;
- canvas->grab_cancelled_check_id =
- g_timeout_add_full (G_PRIORITY_LOW,
- 100,
- grab_cancelled_check,
- canvas,
- NULL);
- canvas->grab_cancelled_time = etime;
- canvas->grab_cancelled_data = cancelled_data;
- }
-
- return ret_val;
- }
-}
-
-void
-e_canvas_item_ungrab (ECanvas *canvas,
- GnomeCanvasItem *item,
- guint32 etime)
-{
- if (canvas->grab_cancelled_check_id) {
- g_source_remove (canvas->grab_cancelled_check_id);
- canvas->grab_cancelled_cb = NULL;
- canvas->grab_cancelled_check_id = 0;
- canvas->grab_cancelled_time = 0;
- canvas->grab_cancelled_data = NULL;
- gnome_canvas_item_ungrab (item, etime);
- }
-}
diff --git a/widgets/misc/e-canvas.h b/widgets/misc/e-canvas.h
deleted file mode 100644
index 092833430b..0000000000
--- a/widgets/misc/e-canvas.h
+++ /dev/null
@@ -1,157 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-canvas.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef __E_CANVAS_H__
-#define __E_CANVAS_H__
-
-#include <gtk/gtkimcontext.h>
-#include <libgnomecanvas/gnome-canvas.h>
-
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
-
-/* ECanvas - A class derived from canvas for the purpose of adding
- * evolution specific canvas hacks.
- */
-
-#define E_CANVAS_TYPE (e_canvas_get_type ())
-#define E_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_CANVAS_TYPE, ECanvas))
-#define E_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_CANVAS_TYPE, ECanvasClass))
-#define E_IS_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_CANVAS_TYPE))
-#define E_IS_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), E_CANVAS_TYPE))
-
-typedef void (*ECanvasItemReflowFunc) (GnomeCanvasItem *item,
- gint flags);
-
-typedef void (*ECanvasItemSelectionFunc) (GnomeCanvasItem *item,
- gint flags,
- gpointer user_data);
-/* Returns the same as strcmp does. */
-typedef gint (*ECanvasItemSelectionCompareFunc) (GnomeCanvasItem *item,
- gpointer data1,
- gpointer data2,
- gint flags);
-
-
-typedef struct _ECanvas ECanvas;
-typedef struct _ECanvasClass ECanvasClass;
-
-/* Object flags for items */
-enum {
- E_CANVAS_ITEM_NEEDS_REFLOW = 1 << 13,
- E_CANVAS_ITEM_DESCENDENT_NEEDS_REFLOW = 1 << 14
-};
-
-enum {
- E_CANVAS_ITEM_SELECTION_SELECT = 1 << 0, /* TRUE = select. FALSE = unselect. */
- E_CANVAS_ITEM_SELECTION_CURSOR = 1 << 1, /* TRUE = has become cursor. FALSE = not cursor. */
- E_CANVAS_ITEM_SELECTION_DELETE_DATA = 1 << 2
-};
-
-typedef struct {
- GnomeCanvasItem *item;
- gpointer id;
-} ECanvasSelectionInfo;
-
-typedef void (*ECanvasItemGrabCancelled) (ECanvas *canvas, GnomeCanvasItem *item, gpointer data);
-
-struct _ECanvas
-{
- GnomeCanvas parent;
- int idle_id;
- GList *selection;
- ECanvasSelectionInfo *cursor;
-
- GtkWidget *tooltip_window;
- int visibility_notify_id;
- GtkWidget *toplevel;
-
- guint visibility_first : 1;
-
- /* Input context for dead key support */
- GtkIMContext *im_context;
-
- ECanvasItemGrabCancelled grab_cancelled_cb;
- guint grab_cancelled_check_id;
- guint32 grab_cancelled_time;
- gpointer grab_cancelled_data;
-};
-
-struct _ECanvasClass
-{
- GnomeCanvasClass parent_class;
- void (* reflow) (ECanvas *canvas);
-};
-
-
-GtkType e_canvas_get_type (void);
-GtkWidget *e_canvas_new (void);
-
-/* Used to send all of the keystroke events to a specific item as well as
- * GDK_FOCUS_CHANGE events.
- */
-void e_canvas_item_grab_focus (GnomeCanvasItem *item,
- gboolean widget_too);
-void e_canvas_item_request_reflow (GnomeCanvasItem *item);
-void e_canvas_item_request_parent_reflow (GnomeCanvasItem *item);
-void e_canvas_item_set_reflow_callback (GnomeCanvasItem *item,
- ECanvasItemReflowFunc func);
-void e_canvas_item_set_selection_callback (GnomeCanvasItem *item,
- ECanvasItemSelectionFunc func);
-void e_canvas_item_set_selection_compare_callback (GnomeCanvasItem *item,
- ECanvasItemSelectionCompareFunc func);
-void e_canvas_item_set_cursor (GnomeCanvasItem *item,
- gpointer id);
-void e_canvas_item_add_selection (GnomeCanvasItem *item,
- gpointer id);
-void e_canvas_item_remove_selection (GnomeCanvasItem *item,
- gpointer id);
-
-int e_canvas_item_grab (ECanvas *canvas,
- GnomeCanvasItem *item,
- guint event_mask,
- GdkCursor *cursor,
- guint32 etime,
- ECanvasItemGrabCancelled cancelled,
- gpointer cancelled_data);
-void e_canvas_item_ungrab (ECanvas *canvas,
- GnomeCanvasItem *item,
- guint32 etime);
-
-/* Not implemented yet. */
-void e_canvas_item_set_cursor_end (GnomeCanvasItem *item,
- gpointer id);
-void e_canvas_popup_tooltip (ECanvas *canvas,
- GtkWidget *widget,
- int x,
- int y);
-void e_canvas_hide_tooltip (ECanvas *canvas);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* __E_CANVAS_H__ */
diff --git a/widgets/misc/e-colors.c b/widgets/misc/e-colors.c
deleted file mode 100644
index 3f16437bee..0000000000
--- a/widgets/misc/e-colors.c
+++ /dev/null
@@ -1,103 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-colors.c - General color allocation utilities
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza (miguel@kernel.org)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-/* We keep our own color context, as the color allocation might take
- * place before things are realized.
- */
-
-#include <config.h>
-#include <gtk/gtkwidget.h>
-#include "e-colors.h"
-
-GdkColor e_white, e_dark_gray, e_black;
-
-gulong
-e_color_alloc (gushort red, gushort green, gushort blue)
-{
- e_color_init ();
-
- red >>= 8;
- green >>= 8;
- blue >>= 8;
- return gdk_rgb_xpixel_from_rgb (
- ((red & 0xff) << 16) | ((green & 0xff) << 8) |
- (blue & 0xff));
-}
-
-void
-e_color_alloc_gdk (GtkWidget *widget, GdkColor *c)
-{
- GdkColormap *map;
-
- e_color_init ();
-
- if (widget)
- map = gtk_widget_get_colormap (widget);
- else /* FIXME: multi depth broken ? */
- map = gtk_widget_get_default_colormap ();
-
- gdk_rgb_find_color (map, c);
-}
-
-void
-e_color_alloc_name (GtkWidget *widget, const char *name, GdkColor *c)
-{
- GdkColormap *map;
-
- e_color_init ();
-
- gdk_color_parse (name, c);
-
- if (widget)
- map = gtk_widget_get_colormap (widget);
- else /* FIXME: multi depth broken ? */
- map = gtk_widget_get_default_colormap ();
-
- gdk_rgb_find_color (map, c);
-}
-
-void
-e_color_init (void)
-{
- static gboolean e_color_inited = FALSE;
-
- /* It's surprisingly easy to end up calling this twice. Survive. */
- if (e_color_inited)
- return;
-
- e_color_inited = TRUE;
-
- /* Allocate the default colors */
- e_white.red = 65535;
- e_white.green = 65535;
- e_white.blue = 65535;
- e_color_alloc_gdk (NULL, &e_white);
-
- e_black.red = 0;
- e_black.green = 0;
- e_black.blue = 0;
- e_color_alloc_gdk (NULL, &e_black);
-
- e_color_alloc_name (NULL, "gray20", &e_dark_gray);
-}
-
diff --git a/widgets/misc/e-colors.h b/widgets/misc/e-colors.h
deleted file mode 100644
index 596fd2b0a5..0000000000
--- a/widgets/misc/e-colors.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-colors.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza (miguel@kernel.org)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef GNOME_APP_LIBS_COLOR_H
-#define GNOME_APP_LIBS_COLOR_H
-
-#include <glib.h>
-#include <gdk/gdk.h>
-#include <gtk/gtkwidget.h>
-
-G_BEGIN_DECLS
-
-void e_color_init (void);
-
-/* Return the pixel value for the given red, green and blue */
-gulong e_color_alloc (gushort red, gushort green, gushort blue);
-void e_color_alloc_name (GtkWidget *widget, const char *name, GdkColor *color);
-void e_color_alloc_gdk (GtkWidget *widget, GdkColor *color);
-
-extern GdkColor e_white, e_dark_gray, e_black;
-
-G_END_DECLS
-
-#endif /* GNOME_APP_LIBS_COLOR_H */
diff --git a/widgets/misc/e-cursors.c b/widgets/misc/e-cursors.c
deleted file mode 100644
index 3b44ab809e..0000000000
--- a/widgets/misc/e-cursors.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cursors.c - cursor handling for gnumeric
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza (miguel@gnu.org)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-
-#include "e-cursors.h"
-
-#include "e-colors.h"
-#include "pixmaps/cursor_cross.xpm"
-#include "pixmaps/cursor_zoom_in.xpm"
-#include "pixmaps/cursor_zoom_out.xpm"
-#include "pixmaps/cursor_hand_open.xpm"
-#include "pixmaps/cursor_hand_closed.xpm"
-#include <stdio.h>
-
-#define GDK_INTERNAL_CURSOR -1
-
-typedef struct {
- GdkCursor *cursor;
- int hot_x, hot_y;
- char **xpm;
-} CursorDef;
-
-static CursorDef cursors [] = {
- { NULL, 17, 17, cursor_cross_xpm },
- { NULL, GDK_INTERNAL_CURSOR, GDK_CROSSHAIR, NULL },
- { NULL, GDK_INTERNAL_CURSOR, GDK_ARROW, NULL },
- { NULL, GDK_INTERNAL_CURSOR, GDK_FLEUR, NULL },
- { NULL, 24, 24, cursor_zoom_in_xpm },
- { NULL, 24, 24, cursor_zoom_out_xpm },
- { NULL, GDK_INTERNAL_CURSOR, GDK_SB_H_DOUBLE_ARROW, NULL },
- { NULL, GDK_INTERNAL_CURSOR, GDK_SB_V_DOUBLE_ARROW, NULL },
- { NULL, GDK_INTERNAL_CURSOR, GDK_SIZING, NULL },
- { NULL, GDK_INTERNAL_CURSOR, GDK_SIZING, NULL },
- { NULL, GDK_INTERNAL_CURSOR, GDK_HAND2, NULL },
- { NULL, 10, 10, cursor_hand_open_xpm },
- { NULL, 10, 10, cursor_hand_closed_xpm },
- { NULL, GDK_INTERNAL_CURSOR, GDK_XTERM, NULL },
- { NULL, 0, 0, NULL }
-};
-
-
-static void
-create_bitmap_and_mask_from_xpm (GdkBitmap **bitmap, GdkBitmap **mask, gchar **xpm)
-{
- int height, width, colors;
- char pixmap_buffer [(32 * 32)/8];
- char mask_buffer [(32 * 32)/8];
- int x, y, pix, yofs;
- int transparent_color, black_color;
-
- sscanf (xpm [0], "%d %d %d %d", &height, &width, &colors, &pix);
-
- g_assert (height == 32);
- g_assert (width == 32);
- g_assert (colors <= 3);
-
- transparent_color = ' ';
- black_color = '.';
-
- yofs = colors + 1;
- for (y = 0; y < 32; y++){
- for (x = 0; x < 32;){
- char value = 0, maskv = 0;
-
- for (pix = 0; pix < 8; pix++, x++){
- if (xpm [y + yofs][x] != transparent_color){
- maskv |= 1 << pix;
-
- /*
- * Invert the colours here because it seems
- * to workaround a bug the Matrox G100 Xserver?
- * We reverse the foreground & background in the next
- * routine to compensate.
- */
- if (xpm [y + yofs][x] == black_color){
- value |= 1 << pix;
- }
- }
- }
- pixmap_buffer [(y * 4 + x/8)-1] = value;
- mask_buffer [(y * 4 + x/8)-1] = maskv;
- }
- }
- *bitmap = gdk_bitmap_create_from_data (NULL, pixmap_buffer, 32, 32);
- *mask = gdk_bitmap_create_from_data (NULL, mask_buffer, 32, 32);
-}
-
-void
-e_cursors_init (void)
-{
- int i;
-
- e_color_init ();
-
- for (i = 0; cursors [i].hot_x; i++){
- GdkBitmap *bitmap, *mask;
-
- if (cursors [i].hot_x < 0)
- cursors [i].cursor = gdk_cursor_new (cursors [i].hot_y);
- else {
- create_bitmap_and_mask_from_xpm (&bitmap, &mask, cursors [i].xpm);
-
- /* The foreground and background colours are reversed.
- * See comment above for explanation.
- */
- cursors [i].cursor =
- gdk_cursor_new_from_pixmap (
- bitmap, mask,
- &e_black, &e_white,
- cursors [i].hot_x,
- cursors [i].hot_y);
- }
- }
-
- g_assert (i == E_CURSOR_NUM_CURSORS);
-}
-
-void
-e_cursors_shutdown (void)
-{
- int i;
-
- for (i = 0; cursors [i].hot_x; i++)
- gdk_cursor_destroy (cursors [i].cursor);
-}
-
-
-/* Returns a cursor given its type */
-GdkCursor *
-e_cursor_get (ECursorType type)
-{
- g_return_val_if_fail (type >= 0 && type < E_CURSOR_NUM_CURSORS, NULL);
-
- return cursors [type].cursor;
-}
diff --git a/widgets/misc/e-cursors.h b/widgets/misc/e-cursors.h
deleted file mode 100644
index 8e751b659d..0000000000
--- a/widgets/misc/e-cursors.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cursors.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza (miguel@gnu.org)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef GNOME_APP_LIB_CURSORS_H
-#define GNOME_APP_LIB_CURSORS_H
-
-#include <gdk/gdk.h>
-
-G_BEGIN_DECLS
-
-typedef enum {
- E_CURSOR_FAT_CROSS,
- E_CURSOR_THIN_CROSS,
- E_CURSOR_ARROW,
- E_CURSOR_MOVE,
- E_CURSOR_ZOOM_IN,
- E_CURSOR_ZOOM_OUT,
- E_CURSOR_SIZE_X,
- E_CURSOR_SIZE_Y,
- E_CURSOR_SIZE_TL,
- E_CURSOR_SIZE_TR,
- E_CURSOR_PRESS,
- E_CURSOR_HAND_OPEN,
- E_CURSOR_HAND_CLOSED,
- E_CURSOR_XTERM,
- E_CURSOR_NUM_CURSORS
-} ECursorType;
-
-void e_cursors_init (void);
-void e_cursors_shutdown (void);
-
-#define e_cursor_set(win, c) \
-G_STMT_START { \
- if (win) \
- gdk_window_set_cursor (win, e_cursor_get (c)); \
-} G_STMT_END
-
-#define e_cursor_set_widget(w, c) \
-G_STMT_START { \
- if (GTK_WIDGET (w)->window) \
- gdk_window_set_cursor (GTK_WIDGET (w)->window, e_cursor_get (c)); \
-} G_STMT_END
-
-GdkCursor *e_cursor_get (ECursorType type);
-
-G_END_DECLS
-
-#endif /* GNOME_APP_LIB_CURSORS_H */
diff --git a/widgets/misc/e-gui-utils.c b/widgets/misc/e-gui-utils.c
deleted file mode 100644
index 886fb3d7ca..0000000000
--- a/widgets/misc/e-gui-utils.c
+++ /dev/null
@@ -1,238 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-gui-utils.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza <miguel@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "e-gui-utils.h"
-
-#include <gtk/gtkentry.h>
-#include <gtk/gtksignal.h>
-#include <gdk-pixbuf/gdk-pixbuf.h>
-#include <libgnomecanvas/gnome-canvas-pixbuf.h>
-
-void
-e_auto_kill_popup_menu_on_selection_done (GtkMenu *menu)
-{
- g_return_if_fail (GTK_IS_MENU (menu));
-
- g_signal_connect (menu, "selection_done", G_CALLBACK (gtk_widget_destroy), menu);
-}
-
-void
-e_popup_menu (GtkMenu *menu, GdkEvent *event)
-{
- g_return_if_fail (GTK_IS_MENU (menu));
-
- e_auto_kill_popup_menu_on_selection_done (menu);
-
- if (event) {
- if (event->type == GDK_KEY_PRESS)
- gtk_menu_popup (menu, NULL, NULL, 0, NULL, 0,
- event->key.time);
- else if ((event->type == GDK_BUTTON_PRESS) ||
- (event->type == GDK_BUTTON_RELEASE) ||
- (event->type == GDK_2BUTTON_PRESS) ||
- (event->type == GDK_3BUTTON_PRESS)){
- gtk_menu_popup (menu, NULL, NULL, 0, NULL,
- event->button.button,
- event->button.time);
- }
- } else
- gtk_menu_popup (menu, NULL, NULL, 0, NULL, 0,
- GDK_CURRENT_TIME);
-}
-
-typedef struct {
- GtkCallback callback;
- gpointer closure;
-} CallbackClosure;
-
-static void
-e_container_foreach_leaf_callback(GtkWidget *widget, CallbackClosure *callback_closure)
-{
- if (GTK_IS_CONTAINER(widget)) {
- e_container_foreach_leaf(GTK_CONTAINER(widget), callback_closure->callback, callback_closure->closure);
- } else {
- (*callback_closure->callback) (widget, callback_closure->closure);
- }
-}
-
-void
-e_container_foreach_leaf(GtkContainer *container,
- GtkCallback callback,
- gpointer closure)
-{
- CallbackClosure callback_closure;
- callback_closure.callback = callback;
- callback_closure.closure = closure;
- gtk_container_foreach(container, (GtkCallback) e_container_foreach_leaf_callback, &callback_closure);
-}
-
-static void
-e_container_change_tab_order_destroy_notify(gpointer data)
-{
- GList *list = data;
- g_list_foreach(list, (GFunc) g_object_unref, NULL);
- g_list_free(list);
-}
-
-
-static gint
-e_container_change_tab_order_callback(GtkContainer *container,
- GtkDirectionType direction,
- GList *children)
-{
- GtkWidget *focus_child;
- GtkWidget *child;
-
- if (direction != GTK_DIR_TAB_FORWARD &&
- direction != GTK_DIR_TAB_BACKWARD)
- return FALSE;
-
- focus_child = container->focus_child;
-
- if (focus_child == NULL)
- return FALSE;
-
- if (direction == GTK_DIR_TAB_BACKWARD) {
- children = g_list_last(children);
- }
-
- while (children) {
- child = children->data;
- if (direction == GTK_DIR_TAB_FORWARD)
- children = children->next;
- else
- children = children->prev;
-
- if (!child)
- continue;
-
- if (focus_child) {
- if (focus_child == child) {
- focus_child = NULL;
-
- if (GTK_WIDGET_DRAWABLE (child) &&
- GTK_IS_CONTAINER (child) &&
- !GTK_WIDGET_HAS_FOCUS (child))
- if (gtk_widget_child_focus (GTK_WIDGET (child), direction)) {
- g_signal_stop_emission_by_name (container, "focus");
- return TRUE;
- }
- }
- }
- else if (GTK_WIDGET_DRAWABLE (child)) {
- if (GTK_IS_CONTAINER (child)) {
- if (gtk_widget_child_focus (GTK_WIDGET (child), direction)) {
- g_signal_stop_emission_by_name (container, "focus");
- return TRUE;
- }
- }
- else if (GTK_WIDGET_CAN_FOCUS (child)) {
- gtk_widget_grab_focus (child);
- g_signal_stop_emission_by_name (container, "focus");
- return TRUE;
- }
- }
- }
-
- return FALSE;
-}
-
-gint
-e_container_change_tab_order(GtkContainer *container, GList *widgets)
-{
- GList *list;
- list = g_list_copy(widgets);
- g_list_foreach(list, (GFunc) g_object_ref, NULL);
- return gtk_signal_connect_full(GTK_OBJECT(container), "focus",
- GTK_SIGNAL_FUNC(e_container_change_tab_order_callback),
- NULL, list,
- e_container_change_tab_order_destroy_notify,
- FALSE, FALSE);
-}
-
-struct widgetandint {
- GtkWidget *widget;
- int count;
-};
-
-static void
-nth_entry_callback(GtkWidget *widget, struct widgetandint *data)
-{
- if (GTK_IS_ENTRY(widget)) {
- if (data->count > 1) {
- data->count --;
- data->widget = widget;
- } else if (data->count == 1) {
- data->count --;
- data->widget = NULL;
- gtk_widget_grab_focus(widget);
- }
- }
-}
-
-void
-e_container_focus_nth_entry(GtkContainer *container, int n)
-{
- struct widgetandint data;
- data.widget = NULL;
- data.count = n;
- e_container_foreach_leaf(container, (GtkCallback) nth_entry_callback, &data);
- if (data.widget)
- gtk_widget_grab_focus(data.widget);
-}
-
-gboolean
-e_glade_xml_connect_widget (GladeXML *gui, char *name, char *signal, GCallback cb, gpointer closure)
-{
- GtkWidget *widget;
-
- widget = glade_xml_get_widget (gui, name);
-
- if (widget) {
- g_signal_connect (widget, signal,
- cb, closure);
- return TRUE;
- }
-
- return FALSE;
-}
-
-gboolean
-e_glade_xml_set_sensitive (GladeXML *gui, char *name, gboolean sensitive)
-{
- GtkWidget *widget;
-
- widget = glade_xml_get_widget (gui, name);
-
- if (widget) {
- gtk_widget_set_sensitive (widget, sensitive);
- return TRUE;
- }
-
- return FALSE;
-}
diff --git a/widgets/misc/e-gui-utils.h b/widgets/misc/e-gui-utils.h
deleted file mode 100644
index c52e233714..0000000000
--- a/widgets/misc/e-gui-utils.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-gui-utils.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza <miguel@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef GAL_GUI_UTILS_H
-#define GAL_GUI_UTILS_H
-
-#include <gtk/gtkmenu.h>
-#include <gtk/gtkwindow.h>
-
-#include <glade/glade-xml.h>
-
-G_BEGIN_DECLS
-
-void e_popup_menu (GtkMenu *menu,
- GdkEvent *event);
-void e_auto_kill_popup_menu_on_selection_done (GtkMenu *menu);
-
-void e_container_foreach_leaf (GtkContainer *container,
- GtkCallback callback,
- gpointer closure);
-void e_container_focus_nth_entry (GtkContainer *container,
- int n);
-gint e_container_change_tab_order (GtkContainer *container,
- GList *widgets);
-
-/* Returns TRUE on success. */
-gboolean e_glade_xml_connect_widget (GladeXML *gui,
- char *name,
- char *signal,
- GtkSignalFunc cb,
- gpointer closure);
-gboolean e_glade_xml_set_sensitive (GladeXML *gui,
- char *name,
- gboolean sensitive);
-
-G_END_DECLS
-
-#endif /* GAL_GUI_UTILS_H */
diff --git a/widgets/misc/e-hsv-utils.c b/widgets/misc/e-hsv-utils.c
deleted file mode 100644
index a5007b9b83..0000000000
--- a/widgets/misc/e-hsv-utils.c
+++ /dev/null
@@ -1,178 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-hsv-utils.c - utilites for manipulating colours in HSV space
- * Copyright (C) 1995-2001 Seth Nickell, Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * Authors:
- * Seth Nickell <seth@eazel.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-
-#include "e-hsv-utils.h"
-
-/* tweak_hsv is a really tweaky function. it modifies its first argument, which
- should be the colour you want tweaked. delta_h, delta_s and delta_v specify
- how much you want their respective channels modified (and in what direction).
- if it can't do the specified modification, it does it in the oppositon direction */
-void
-e_hsv_tweak (GdkColor *colour, gdouble delta_h, gdouble delta_s, gdouble delta_v)
-{
- gdouble h, s, v, r, g, b;
-
- r = colour->red / 65535.0f;
- g = colour->green / 65535.0f;
- b = colour->blue / 65535.0f;
-
- e_rgb_to_hsv (r, g, b, &h, &s, &v);
-
- if (h + delta_h < 0) {
- h -= delta_h;
- } else {
- h += delta_h;
- }
-
- if (s + delta_s < 0) {
- s -= delta_s;
- } else {
- s += delta_s;
- }
-
- if (v + delta_v < 0) {
- v -= delta_v;
- } else {
- v += delta_v;
- }
-
- e_hsv_to_rgb (h, s, v, &r, &g, &b);
-
- colour->red = r * 65535.0f;
- colour->green = g * 65535.0f;
- colour->blue = b * 65535.0f;
-}
-
-/* Copy n' Paste code from the GTK+ colour selector (gtkcolorsel.c) */
-/* Originally lifted, I suspect, from "Foley, van Dam" */
-void
-e_hsv_to_rgb (gdouble h, gdouble s, gdouble v,
- gdouble *r, gdouble *g, gdouble *b)
-{
- gint i;
- gdouble f, w, q, t;
-
- if (s == 0.0)
- s = 0.000001;
-
- if (h == -1.0)
- {
- *r = v;
- *g = v;
- *b = v;
- }
- else
- {
- if (h == 360.0)
- h = 0.0;
- h = h / 60.0;
- i = (gint) h;
- f = h - i;
- w = v * (1.0 - s);
- q = v * (1.0 - (s * f));
- t = v * (1.0 - (s * (1.0 - f)));
-
- switch (i)
- {
- case 0:
- *r = v;
- *g = t;
- *b = w;
- break;
- case 1:
- *r = q;
- *g = v;
- *b = w;
- break;
- case 2:
- *r = w;
- *g = v;
- *b = t;
- break;
- case 3:
- *r = w;
- *g = q;
- *b = v;
- break;
- case 4:
- *r = t;
- *g = w;
- *b = v;
- break;
- case 5:
- *r = v;
- *g = w;
- *b = q;
- break;
- }
- }
-}
-
-void
-e_rgb_to_hsv (gdouble r, gdouble g, gdouble b,
- gdouble *h, gdouble *s, gdouble *v)
-{
- double max, min, delta;
-
- max = r;
- if (g > max)
- max = g;
- if (b > max)
- max = b;
-
- min = r;
- if (g < min)
- min = g;
- if (b < min)
- min = b;
-
- *v = max;
-
- if (max != 0.0)
- *s = (max - min) / max;
- else
- *s = 0.0;
-
- if (*s == 0.0)
- *h = -1.0;
- else
- {
- delta = max - min;
-
- if (r == max)
- *h = (g - b) / delta;
- else if (g == max)
- *h = 2.0 + (b - r) / delta;
- else if (b == max)
- *h = 4.0 + (r - g) / delta;
-
- *h = *h * 60.0;
-
- if (*h < 0.0)
- *h = *h + 360;
- }
-}
-
-
diff --git a/widgets/misc/e-hsv-utils.h b/widgets/misc/e-hsv-utils.h
deleted file mode 100644
index bbde282697..0000000000
--- a/widgets/misc/e-hsv-utils.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-hsv-utils.h - utilites for manipulating colours in HSV space
- * Copyright (C) 1995-2001 Seth Nickell, Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * Authors:
- * Seth Nickell <seth@eazel.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_HSV_UTILS_H_
-#define _E_HSV_UTILS_H_
-
-#include <gdk/gdk.h>
-
-G_BEGIN_DECLS
-
-void e_hsv_to_rgb (gdouble h,
- gdouble s,
- gdouble v,
- gdouble *r,
- gdouble *g,
- gdouble *b);
-
-void e_rgb_to_hsv (gdouble r,
- gdouble g,
- gdouble b,
- gdouble *h,
- gdouble *s,
- gdouble *v);
-
-void e_hsv_tweak (GdkColor *colour,
- gdouble delta_h,
- gdouble delta_s,
- gdouble delta_v);
-
-G_END_DECLS
-
-#endif /* _E_HSV_UTILS_H_ */
diff --git a/widgets/misc/e-popup-menu.c b/widgets/misc/e-popup-menu.c
deleted file mode 100644
index 8607cd1b01..0000000000
--- a/widgets/misc/e-popup-menu.c
+++ /dev/null
@@ -1,240 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-popup-menu.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza <miguel@ximian.com>
- * Jody Goldberg (jgoldberg@home.com)
- * Jeffrey Stedfast <fejj@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <string.h>
-#include <gtk/gtkimage.h>
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtkaccellabel.h>
-#include <gtk/gtklabel.h>
-#include <gtk/gtkmenuitem.h>
-#include <gtk/gtkcheckmenuitem.h>
-#include <gtk/gtkradiomenuitem.h>
-#include <gtk/gtksignal.h>
-#include <gtk/gtkimagemenuitem.h>
-
-#include "e-popup-menu.h"
-#include "e-gui-utils.h"
-
-#include <gal/util/e-i18n.h>
-
-/*
- * Creates an item with an optional icon
- */
-static void
-make_item (GtkMenu *menu, GtkMenuItem *item, const char *name, GtkWidget *pixmap)
-{
- GtkWidget *label;
-
- if (*name == '\0')
- return;
-
- /*
- * Ugh. This needs to go into Gtk+
- */
- label = gtk_label_new_with_mnemonic (name);
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_widget_show (label);
-
- gtk_container_add (GTK_CONTAINER (item), label);
-
- if (pixmap && GTK_IS_IMAGE_MENU_ITEM (item)){
- gtk_widget_show (pixmap);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), pixmap);
- }
-}
-
-GtkMenu *
-e_popup_menu_create (EPopupMenu *menu_list,
- guint32 disable_mask,
- guint32 hide_mask,
- void *default_closure)
-{
- return e_popup_menu_create_with_domain (menu_list,
- disable_mask,
- hide_mask,
- default_closure,
- NULL);
-}
-
-
-GtkMenu *
-e_popup_menu_create_with_domain (EPopupMenu *menu_list,
- guint32 disable_mask,
- guint32 hide_mask,
- void *default_closure,
- const char *domain)
-{
- GtkMenu *menu = GTK_MENU (gtk_menu_new ());
- GSList *group = NULL;
- gboolean last_item_separator = TRUE;
- int last_non_separator = -1;
- int i;
-
- for (i = 0; menu_list[i].name; i++) {
- if (strcmp ("", menu_list[i].name) && !(menu_list [i].disable_mask & hide_mask)) {
- last_non_separator = i;
- }
- }
-
- for (i = 0; i <= last_non_separator; i++) {
- gboolean separator;
-
- separator = !strcmp ("", menu_list[i].name);
-
- if ((!(separator && last_item_separator)) && !(menu_list [i].disable_mask & hide_mask)) {
- GtkWidget *item = NULL;
-
- if (!separator) {
- if (menu_list[i].is_toggle)
- item = gtk_check_menu_item_new ();
- else if (menu_list[i].is_radio)
- item = gtk_radio_menu_item_new (group);
- else
- item = menu_list[i].pixmap_widget ? gtk_image_menu_item_new () : gtk_menu_item_new ();
- if (menu_list[i].is_toggle || menu_list[i].is_radio)
- gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (item), menu_list[i].is_active);
- if (menu_list[i].is_radio)
- group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (item));
-
- make_item (menu, GTK_MENU_ITEM (item), dgettext(domain, menu_list[i].name), menu_list[i].pixmap_widget);
- } else {
- item = gtk_menu_item_new ();
- }
-
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
-
- if (!menu_list[i].submenu) {
- if (menu_list[i].fn)
- g_signal_connect (item, "activate",
- G_CALLBACK (menu_list[i].fn),
- menu_list[i].use_custom_closure ? menu_list[i].closure : default_closure);
- } else {
- /* submenu */
- GtkMenu *submenu;
-
- submenu = e_popup_menu_create (menu_list[i].submenu, disable_mask, hide_mask,
- default_closure);
-
- gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), GTK_WIDGET (submenu));
- }
-
- if (menu_list[i].disable_mask & disable_mask)
- gtk_widget_set_sensitive (item, FALSE);
-
- gtk_widget_show (item);
-
- last_item_separator = separator;
- }
- }
-
- return menu;
-}
-
-void
-e_popup_menu_run (EPopupMenu *menu_list, GdkEvent *event, guint32 disable_mask, guint32 hide_mask, void *default_closure)
-{
- GtkMenu *menu;
-
- g_return_if_fail (menu_list != NULL);
- g_return_if_fail (event != NULL);
-
- menu = e_popup_menu_create (menu_list, disable_mask, hide_mask, default_closure);
-
- e_popup_menu (menu, event);
-}
-
-void
-e_popup_menu_copy_1 (EPopupMenu *destination,
- const EPopupMenu *source)
-{
- destination->name = g_strdup (source->name);
- destination->pixname = g_strdup (source->pixname);
- destination->fn = source->fn;
- destination->submenu = e_popup_menu_copy (source->submenu);
- destination->disable_mask = source->disable_mask;
-
- destination->pixmap_widget = source->pixmap_widget;
- if (destination->pixmap_widget)
- g_object_ref (destination->pixmap_widget);
- destination->closure = source->closure;
-
- destination->is_toggle = source->is_toggle;
- destination->is_radio = source->is_radio;
- destination->is_active = source->is_active;
-
- destination->use_custom_closure = source->use_custom_closure;
-}
-
-void
-e_popup_menu_free_1 (EPopupMenu *menu_item)
-{
- g_free (menu_item->name);
- g_free (menu_item->pixname);
- e_popup_menu_free (menu_item->submenu);
-
- if (menu_item->pixmap_widget)
- g_object_unref (menu_item->pixmap_widget);
-}
-
-EPopupMenu *
-e_popup_menu_copy (const EPopupMenu *menu_list)
-{
- int i;
- EPopupMenu *ret_val;
-
- if (menu_list == NULL)
- return NULL;
-
- for (i = 0; menu_list[i].name; i++) {
- /* Intentionally empty */
- }
-
- ret_val = g_new (EPopupMenu, i + 1);
-
- for (i = 0; menu_list[i].name; i++) {
- e_popup_menu_copy_1 (ret_val + i, menu_list + i);
- }
-
- /* Copy the terminator */
- e_popup_menu_copy_1 (ret_val + i, menu_list + i);
-
- return ret_val;
-}
-
-void
-e_popup_menu_free (EPopupMenu *menu_list)
-{
- int i;
-
- if (menu_list == NULL)
- return;
-
- for (i = 0; menu_list[i].name; i++) {
- e_popup_menu_free_1 (menu_list + i);
- }
- g_free (menu_list);
-}
-
diff --git a/widgets/misc/e-popup-menu.h b/widgets/misc/e-popup-menu.h
deleted file mode 100644
index 7289ab5c86..0000000000
--- a/widgets/misc/e-popup-menu.h
+++ /dev/null
@@ -1,142 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-popup-menu.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza <miguel@ximian.com>
- * Jody Goldberg (jgoldberg@home.com)
- * Jeffrey Stedfast <fejj@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef E_POPUP_MENU_H
-#define E_POPUP_MENU_H
-
-#include <gtk/gtkmenu.h>
-#include <gtk/gtkwidget.h>
-
-G_BEGIN_DECLS
-
-#define E_POPUP_SEPARATOR { "", NULL, (NULL), NULL, 0 }
-#define E_POPUP_TERMINATOR { NULL, NULL, (NULL), NULL, 0 }
-
-
-/* In the following, CC = custom closure */
-
-#define E_POPUP_ITEM(name,fn,disable_mask) { (name), NULL, (fn), NULL, (disable_mask), NULL, NULL, 0, 0, 0, 0 }
-#define E_POPUP_ITEM_CC(name,fn,closure,disable_mask) { (name), NULL, (fn), NULL, (disable_mask), NULL, (closure), 0, 0, 0, 1 }
-#define E_POPUP_SUBMENU(name,submenu,disable_mask) { (name), NULL, NULL, (submenu), (disable_mask), NULL, NULL, 0, 0, 0, 0 }
-
-#define E_POPUP_PIXMAP_ITEM(name,pixmap,fn,disable_mask) { (name), (pixmap), (fn), NULL, (disable_mask), NULL, NULL, 0, 0, 0, 0 }
-#define E_POPUP_PIXMAP_ITEM_CC(name,pixmap,fn,closure,disable_mask) { (name), (pixmap), (fn), NULL, (disable_mask), NULL, (closure), 0, 0, 0, 1 }
-#define E_POPUP_PIXMAP_SUBMENU(name,pixmap,submenu,disable_mask) { (name), (pixmap), NULL, (submenu), (disable_mask), NULL, NULL, 0, 0, 0, 0 }
-
-#define E_POPUP_PIXMAP_WIDGET_ITEM(name,pixmap_widget,fn,disable_mask) { (name), NULL, (fn), NULL, (disable_mask), (pixmap_widget), NULL, 0, 0, 0, 0 }
-#define E_POPUP_PIXMAP_WIDGET_ITEM_CC(name,pixmap_widget,fn,closure,disable_mask) { (name), NULL, (fn), NULL, (disable_mask), (pixmap_widget), (closure), 0, 0, 0, 1 }
-#define E_POPUP_PIXMAP_WIDGET_SUBMENU(name,pixmap_widget,submenu,disable_mask) { (name), NULL, NULL, (submenu), (disable_mask), (pixmap_widget), NULL, 0, 0, 0, 0 }
-
-
-#define E_POPUP_TOGGLE_ITEM(name,fn,disable_mask,value) { (name), NULL, (fn), NULL, (disable_mask), NULL, NULL, 1, 0, value, 0 }
-#define E_POPUP_TOGGLE_ITEM_CC(name,fn,closure,disable_mask,value) { (name), NULL, (fn), NULL, (disable_mask), NULL, (closure), 1, 0, value, 1 }
-
-#define E_POPUP_SEPARATOR { "", NULL, (NULL), NULL, 0 }
-#define E_POPUP_TERMINATOR { NULL, NULL, (NULL), NULL, 0 }
-
-
-/* In the following, CC = custom closure */
-
-#define E_POPUP_ITEM(name,fn,disable_mask) { (name), NULL, (fn), NULL, (disable_mask), NULL, NULL, 0, 0, 0, 0 }
-#define E_POPUP_ITEM_CC(name,fn,closure,disable_mask) { (name), NULL, (fn), NULL, (disable_mask), NULL, (closure), 0, 0, 0, 1 }
-#define E_POPUP_SUBMENU(name,submenu,disable_mask) { (name), NULL, NULL, (submenu), (disable_mask), NULL, NULL, 0, 0, 0, 0 }
-
-#define E_POPUP_PIXMAP_ITEM(name,pixmap,fn,disable_mask) { (name), (pixmap), (fn), NULL, (disable_mask), NULL, NULL, 0, 0, 0, 0 }
-#define E_POPUP_PIXMAP_ITEM_CC(name,pixmap,fn,closure,disable_mask) { (name), (pixmap), (fn), NULL, (disable_mask), NULL, (closure), 0, 0, 0, 1 }
-#define E_POPUP_PIXMAP_SUBMENU(name,pixmap,submenu,disable_mask) { (name), (pixmap), NULL, (submenu), (disable_mask), NULL, NULL, 0, 0, 0, 0 }
-
-#define E_POPUP_PIXMAP_WIDGET_ITEM(name,pixmap_widget,fn,disable_mask) { (name), NULL, (fn), NULL, (disable_mask), (pixmap_widget), NULL, 0, 0, 0, 0 }
-#define E_POPUP_PIXMAP_WIDGET_ITEM_CC(name,pixmap_widget,fn,closure,disable_mask) { (name), NULL, (fn), NULL, (disable_mask), (pixmap_widget), (closure), 0, 0, 0, 1 }
-#define E_POPUP_PIXMAP_WIDGET_SUBMENU(name,pixmap_widget,submenu,disable_mask) { (name), NULL, NULL, (submenu), (disable_mask), (pixmap_widget), NULL, 0, 0, 0, 0 }
-
-
-#define E_POPUP_TOGGLE_ITEM(name,fn,disable_mask,value) { (name), NULL, (fn), NULL, (disable_mask), NULL, NULL, 1, 0, value, 0 }
-#define E_POPUP_TOGGLE_ITEM_CC(name,fn,closure,disable_mask,value) { (name), NULL, (fn), NULL, (disable_mask), NULL, (closure), 1, 0, value, 1 }
-
-#define E_POPUP_TOGGLE_PIXMAP_ITEM(name,pixmap,fn,disable_mask) { (name), (pixmap), (fn), NULL, (disable_mask), NULL, NULL, 1, 0, value, 0 }
-#define E_POPUP_TOGGLE_PIXMAP_ITEM_CC(name,pixmap,fn,closure,disable_mask) { (name), (pixmap), (fn), NULL, (disable_mask), NULL, (closure), 1, 0, value, 1 }
-
-#define E_POPUP_TOGGLE_PIXMAP_WIDGET_ITEM(name,pixmap_widget,fn,disable_mask) { (name), NULL, (fn), NULL, (disable_mask), (pixmap_widget), NULL, 1, 0, value, 0 }
-#define E_POPUP_TOGGLE_PIXMAP_WIDGET_ITEM_CC(name,pixmap_widget,fn,closure,disable_mask) { (name), NULL, (fn), NULL, (disable_mask), (pixmap_widget), (closure), 1, 0, value, 1 }
-
-
-#define E_POPUP_RADIO_ITEM(name,fn,disable_mask,value) { (name), NULL, (fn), NULL, (disable_mask), NULL, NULL, 0, 1, value, 0 }
-#define E_POPUP_RADIO_ITEM_CC(name,fn,closure,disable_mask,value) { (name), NULL, (fn), NULL, (disable_mask), NULL, (closure), 0, 1, value, 1 }
-
-#define E_POPUP_RADIO_PIXMAP_ITEM(name,pixmap,fn,disable_mask) { (name), (pixmap), (fn), NULL, (disable_mask), NULL, NULL, 0, 1, value, 0 }
-#define E_POPUP_RADIO_PIXMAP_ITEM_CC(name,pixmap,fn,closure,disable_mask) { (name), (pixmap), (fn), NULL, (disable_mask), NULL, (closure), 0, 1, value, 1 }
-
-#define E_POPUP_RADIO_PIXMAP_WIDGET_ITEM(name,pixmap_widget,fn,disable_mask) { (name), NULL, (fn), NULL, (disable_mask), (pixmap_widget), NULL, 0, 1, value, 0 }
-#define E_POPUP_RADIO_PIXMAP_WIDGET_ITEM_CC(name,pixmap_widget,fn,closure,disable_mask) { (name), NULL, (fn), NULL, (disable_mask), (pixmap_widget), (closure), 0, 1, value, 1 }
-
-
-typedef struct _EPopupMenu EPopupMenu;
-
-struct _EPopupMenu {
- char *name;
- char *pixname;
- GtkSignalFunc fn;
-
- EPopupMenu *submenu;
- guint32 disable_mask;
-
- /* Added post 0.19 */
- GtkWidget *pixmap_widget;
- void *closure;
-
- guint is_toggle : 1;
- guint is_radio : 1;
- guint is_active : 1;
-
- guint use_custom_closure : 1;
-};
-
-GtkMenu *e_popup_menu_create (EPopupMenu *menu_list,
- guint32 disable_mask,
- guint32 hide_mask,
- void *default_closure);
-GtkMenu *e_popup_menu_create_with_domain (EPopupMenu *menu_list,
- guint32 disable_mask,
- guint32 hide_mask,
- void *default_closure,
- const char *domain);
-void e_popup_menu_run (EPopupMenu *menu_list,
- GdkEvent *event,
- guint32 disable_mask,
- guint32 hide_mask,
- void *default_closure);
-
-/* Doesn't copy or free the memory. Just the contents. */
-void e_popup_menu_copy_1 (EPopupMenu *destination,
- const EPopupMenu *menu_item);
-void e_popup_menu_free_1 (EPopupMenu *menu_item);
-
-/* Copies or frees the entire structure. */
-EPopupMenu *e_popup_menu_copy (const EPopupMenu *menu_item);
-void e_popup_menu_free (EPopupMenu *menu_item);
-
-G_END_DECLS
-
-#endif /* E_POPUP_MENU_H */
diff --git a/widgets/misc/e-printable.c b/widgets/misc/e-printable.c
deleted file mode 100644
index 534f153823..0000000000
--- a/widgets/misc/e-printable.c
+++ /dev/null
@@ -1,209 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-printable.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <gtk/gtksignal.h>
-#include "gal/util/e-util.h"
-#include "e-printable.h"
-
-#define EP_CLASS(e) ((EPrintableClass *)((GtkObject *)e)->klass)
-
-#define PARENT_TYPE GTK_TYPE_OBJECT
-
-
-static GtkObjectClass *e_printable_parent_class;
-
-enum {
- PRINT_PAGE,
- DATA_LEFT,
- RESET,
- HEIGHT,
- WILL_FIT,
- LAST_SIGNAL
-};
-
-static guint e_printable_signals [LAST_SIGNAL] = { 0, };
-
-static void
-e_printable_class_init (GtkObjectClass *object_class)
-{
- EPrintableClass *klass = E_PRINTABLE_CLASS(object_class);
- e_printable_parent_class = g_type_class_ref (PARENT_TYPE);
-
- e_printable_signals [PRINT_PAGE] =
- g_signal_new ("print_page",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EPrintableClass, print_page),
- NULL, NULL,
- e_marshal_NONE__OBJECT_DOUBLE_DOUBLE_BOOLEAN,
- G_TYPE_NONE, 4, G_TYPE_OBJECT, G_TYPE_DOUBLE,
- G_TYPE_DOUBLE, G_TYPE_BOOLEAN);
-
- e_printable_signals [DATA_LEFT] =
- g_signal_new ("data_left",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EPrintableClass, data_left),
- NULL, NULL,
- e_marshal_BOOLEAN__NONE,
- G_TYPE_BOOLEAN, 0, G_TYPE_NONE);
-
- e_printable_signals [RESET] =
- g_signal_new ("reset",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EPrintableClass, reset),
- NULL, NULL,
- e_marshal_NONE__NONE,
- G_TYPE_NONE, 0, G_TYPE_NONE);
-
- e_printable_signals [HEIGHT] =
- g_signal_new ("height",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EPrintableClass, height),
- NULL, NULL,
- e_marshal_DOUBLE__OBJECT_DOUBLE_DOUBLE_BOOLEAN,
- G_TYPE_DOUBLE, 4, G_TYPE_OBJECT, G_TYPE_DOUBLE,
- G_TYPE_DOUBLE, G_TYPE_BOOLEAN);
-
- e_printable_signals [WILL_FIT] =
- g_signal_new ("will_fit",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EPrintableClass, will_fit),
- NULL, NULL,
- e_marshal_BOOLEAN__OBJECT_DOUBLE_DOUBLE_BOOLEAN,
- G_TYPE_BOOLEAN, 4, G_TYPE_OBJECT, G_TYPE_DOUBLE,
- G_TYPE_DOUBLE, G_TYPE_BOOLEAN);
-
- klass->print_page = NULL;
- klass->data_left = NULL;
- klass->reset = NULL;
- klass->height = NULL;
- klass->will_fit = NULL;
-}
-
-
-E_MAKE_TYPE (e_printable,
- "EPrintable",
- EPrintable,
- e_printable_class_init,
- NULL,
- PARENT_TYPE)
-
-EPrintable *
-e_printable_new(void)
-{
- return E_PRINTABLE(g_object_new(E_PRINTABLE_TYPE, NULL));
-}
-
-void
-e_printable_print_page (EPrintable *e_printable,
- GnomePrintContext *context,
- gdouble width,
- gdouble height,
- gboolean quantized)
-{
- g_return_if_fail (e_printable != NULL);
- g_return_if_fail (E_IS_PRINTABLE (e_printable));
-
- g_signal_emit (e_printable,
- e_printable_signals [PRINT_PAGE], 0,
- context,
- width,
- height,
- quantized);
-}
-
-gboolean
-e_printable_data_left (EPrintable *e_printable)
-{
- gboolean ret_val;
-
- g_return_val_if_fail (e_printable != NULL, FALSE);
- g_return_val_if_fail (E_IS_PRINTABLE (e_printable), FALSE);
-
- g_signal_emit (e_printable,
- e_printable_signals [DATA_LEFT], 0,
- &ret_val);
-
- return ret_val;
-}
-
-void
-e_printable_reset (EPrintable *e_printable)
-{
- g_return_if_fail (e_printable != NULL);
- g_return_if_fail (E_IS_PRINTABLE (e_printable));
-
- g_signal_emit (e_printable,
- e_printable_signals [RESET], 0);
-}
-
-gdouble
-e_printable_height (EPrintable *e_printable,
- GnomePrintContext *context,
- gdouble width,
- gdouble max_height,
- gboolean quantized)
-{
- gdouble ret_val;
-
- g_return_val_if_fail (e_printable != NULL, -1);
- g_return_val_if_fail (E_IS_PRINTABLE (e_printable), -1);
-
- g_signal_emit (e_printable,
- e_printable_signals [HEIGHT], 0,
- context,
- width,
- max_height,
- quantized,
- &ret_val);
-
- return ret_val;
-}
-
-gboolean
-e_printable_will_fit (EPrintable *e_printable,
- GnomePrintContext *context,
- gdouble width,
- gdouble max_height,
- gboolean quantized)
-{
- gboolean ret_val;
-
- g_return_val_if_fail (e_printable != NULL, -1);
- g_return_val_if_fail (E_IS_PRINTABLE (e_printable), -1);
-
- g_signal_emit (e_printable,
- e_printable_signals [WILL_FIT], 0,
- context,
- width,
- max_height,
- quantized,
- &ret_val);
-
- return ret_val;
-}
diff --git a/widgets/misc/e-printable.h b/widgets/misc/e-printable.h
deleted file mode 100644
index 0c665f89c2..0000000000
--- a/widgets/misc/e-printable.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-printable.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_PRINTABLE_H_
-#define _E_PRINTABLE_H_
-
-#include <gtk/gtkobject.h>
-#include <libgnomeprint/gnome-print.h>
-
-G_BEGIN_DECLS
-
-#define E_PRINTABLE_TYPE (e_printable_get_type ())
-#define E_PRINTABLE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_PRINTABLE_TYPE, EPrintable))
-#define E_PRINTABLE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_PRINTABLE_TYPE, EPrintableClass))
-#define E_IS_PRINTABLE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_PRINTABLE_TYPE))
-#define E_IS_PRINTABLE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_PRINTABLE_TYPE))
-
-typedef struct {
- GtkObject base;
-} EPrintable;
-
-typedef struct {
- GtkObjectClass parent_class;
-
- /*
- * Signals
- */
-
- void (*print_page) (EPrintable *etm, GnomePrintContext *context, gdouble width, gdouble height, gboolean quantized);
- gboolean (*data_left) (EPrintable *etm);
- void (*reset) (EPrintable *etm);
- gdouble (*height) (EPrintable *etm, GnomePrintContext *context, gdouble width, gdouble max_height, gboolean quantized);
-
- /* e_printable_will_fit (ep, ...) should be equal in value to
- * (e_printable_print_page (ep, ...),
- * !e_printable_data_left(ep)) except that the latter has the
- * side effect of doing the printing and advancing the
- * position of the printable.
- */
-
- gboolean (*will_fit) (EPrintable *etm, GnomePrintContext *context, gdouble width, gdouble max_height, gboolean quantized);
-} EPrintableClass;
-
-GtkType e_printable_get_type (void);
-
-EPrintable *e_printable_new (void);
-
-/*
- * Routines for emitting signals on the e_table */
-void e_printable_print_page (EPrintable *e_printable,
- GnomePrintContext *context,
- gdouble width,
- gdouble height,
- gboolean quantized);
-gboolean e_printable_data_left (EPrintable *e_printable);
-void e_printable_reset (EPrintable *e_printable);
-gdouble e_printable_height (EPrintable *e_printable,
- GnomePrintContext *context,
- gdouble width,
- gdouble max_height,
- gboolean quantized);
-gboolean e_printable_will_fit (EPrintable *e_printable,
- GnomePrintContext *context,
- gdouble width,
- gdouble max_height,
- gboolean quantized);
-
-G_END_DECLS
-
-#endif /* _E_PRINTABLE_H_ */
diff --git a/widgets/misc/e-reflow-model.c b/widgets/misc/e-reflow-model.c
deleted file mode 100644
index 33a5498df5..0000000000
--- a/widgets/misc/e-reflow-model.c
+++ /dev/null
@@ -1,355 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-reflow-model.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include "e-reflow-model.h"
-#include "gal/util/e-util.h"
-
-#define PARENT_TYPE G_TYPE_OBJECT
-
-#define d(x)
-
-d(static gint depth = 0;)
-
-
-static GObjectClass *e_reflow_model_parent_class;
-
-enum {
- MODEL_CHANGED,
- COMPARISON_CHANGED,
- MODEL_ITEMS_INSERTED,
- MODEL_ITEM_CHANGED,
- MODEL_ITEM_REMOVED,
- LAST_SIGNAL
-};
-
-static guint e_reflow_model_signals [LAST_SIGNAL] = { 0, };
-
-/**
- * e_reflow_model_set_width:
- * @e_reflow_model: The e-reflow-model to operate on
- * @width: The new value for the width of each item.
- */
-void
-e_reflow_model_set_width (EReflowModel *e_reflow_model, int width)
-{
- g_return_if_fail (e_reflow_model != NULL);
- g_return_if_fail (E_IS_REFLOW_MODEL (e_reflow_model));
-
- E_REFLOW_MODEL_GET_CLASS (e_reflow_model)->set_width (e_reflow_model, width);
-}
-
-/**
- * e_reflow_model_count:
- * @e_reflow_model: The e-reflow-model to operate on
- *
- * Returns: the number of items in the reflow model.
- */
-int
-e_reflow_model_count (EReflowModel *e_reflow_model)
-{
- g_return_val_if_fail (e_reflow_model != NULL, 0);
- g_return_val_if_fail (E_IS_REFLOW_MODEL (e_reflow_model), 0);
-
- return E_REFLOW_MODEL_GET_CLASS (e_reflow_model)->count (e_reflow_model);
-}
-
-/**
- * e_reflow_model_height:
- * @e_reflow_model: The e-reflow-model to operate on
- * @n: The item number to get the height of.
- * @parent: The parent GnomeCanvasItem.
- *
- * Returns: the height of the nth item.
- */
-int
-e_reflow_model_height (EReflowModel *e_reflow_model, int n, GnomeCanvasGroup *parent)
-{
- g_return_val_if_fail (e_reflow_model != NULL, 0);
- g_return_val_if_fail (E_IS_REFLOW_MODEL (e_reflow_model), 0);
-
- return E_REFLOW_MODEL_GET_CLASS (e_reflow_model)->height (e_reflow_model, n, parent);
-}
-
-/**
- * e_reflow_model_incarnate:
- * @e_reflow_model: The e-reflow-model to operate on
- * @n: The item to create.
- * @parent: The parent GnomeCanvasItem to create a child of.
- *
- * Create a GnomeCanvasItem to represent the nth piece of data.
- *
- * Returns: the new GnomeCanvasItem.
- */
-GnomeCanvasItem *
-e_reflow_model_incarnate (EReflowModel *e_reflow_model, int n, GnomeCanvasGroup *parent)
-{
- g_return_val_if_fail (e_reflow_model != NULL, NULL);
- g_return_val_if_fail (E_IS_REFLOW_MODEL (e_reflow_model), NULL);
-
- return E_REFLOW_MODEL_GET_CLASS (e_reflow_model)->incarnate (e_reflow_model, n, parent);
-}
-
-/**
- * e_reflow_model_compare:
- * @e_reflow_model: The e-reflow-model to operate on
- * @n1: The first item to compare
- * @n2: The second item to compare
- *
- * Compares item n1 and item n2 to see which should come first.
- *
- * Returns: strcmp like semantics for the comparison value.
- */
-int
-e_reflow_model_compare (EReflowModel *e_reflow_model, int n1, int n2)
-{
-#if 0
- g_return_val_if_fail (e_reflow_model != NULL, 0);
- g_return_val_if_fail (E_IS_REFLOW_MODEL (e_reflow_model), 0);
-#endif
-
- return E_REFLOW_MODEL_GET_CLASS (e_reflow_model)->compare (e_reflow_model, n1, n2);
-}
-
-/**
- * e_reflow_model_reincarnate:
- * @e_reflow_model: The e-reflow-model to operate on
- * @n: The item to create.
- * @item: The item to reuse.
- *
- * Update item to represent the nth piece of data.
- */
-void
-e_reflow_model_reincarnate (EReflowModel *e_reflow_model, int n, GnomeCanvasItem *item)
-{
- g_return_if_fail (e_reflow_model != NULL);
- g_return_if_fail (E_IS_REFLOW_MODEL (e_reflow_model));
-
- E_REFLOW_MODEL_GET_CLASS (e_reflow_model)->reincarnate (e_reflow_model, n, item);
-}
-
-static void
-e_reflow_model_class_init (GObjectClass *object_class)
-{
- EReflowModelClass *klass = E_REFLOW_MODEL_CLASS(object_class);
- e_reflow_model_parent_class = g_type_class_ref (PARENT_TYPE);
-
- e_reflow_model_signals [MODEL_CHANGED] =
- g_signal_new ("model_changed",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EReflowModelClass, model_changed),
- NULL, NULL,
- e_marshal_NONE__NONE,
- G_TYPE_NONE, 0);
-
- e_reflow_model_signals [COMPARISON_CHANGED] =
- g_signal_new ("comparison_changed",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EReflowModelClass, comparison_changed),
- NULL, NULL,
- e_marshal_NONE__NONE,
- G_TYPE_NONE, 0);
-
- e_reflow_model_signals [MODEL_ITEMS_INSERTED] =
- g_signal_new ("model_items_inserted",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EReflowModelClass, model_items_inserted),
- NULL, NULL,
- e_marshal_NONE__INT_INT,
- G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT);
-
- e_reflow_model_signals [MODEL_ITEM_CHANGED] =
- g_signal_new ("model_item_changed",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EReflowModelClass, model_item_changed),
- NULL, NULL,
- e_marshal_NONE__INT,
- G_TYPE_NONE, 1, G_TYPE_INT);
-
- e_reflow_model_signals [MODEL_ITEM_REMOVED] =
- g_signal_new ("model_item_removed",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EReflowModelClass, model_item_removed),
- NULL, NULL,
- e_marshal_NONE__INT,
- G_TYPE_NONE, 1, G_TYPE_INT);
-
- klass->set_width = NULL;
- klass->count = NULL;
- klass->height = NULL;
- klass->incarnate = NULL;
- klass->reincarnate = NULL;
-
- klass->model_changed = NULL;
- klass->comparison_changed = NULL;
- klass->model_items_inserted = NULL;
- klass->model_item_removed = NULL;
- klass->model_item_changed = NULL;
-}
-
-static void
-e_reflow_model_init (GObject *object)
-{
-}
-
-E_MAKE_TYPE(e_reflow_model, "EReflowModel", EReflowModel,
- e_reflow_model_class_init, e_reflow_model_init, PARENT_TYPE)
-
-#if d(!)0
-static void
-print_tabs (void)
-{
- int i;
- for (i = 0; i < depth; i++)
- g_print("\t");
-}
-#endif
-
-/**
- * e_reflow_model_changed:
- * @e_reflow_model: the reflow model to notify of the change
- *
- * Use this function to notify any views of this reflow model that
- * the contents of the reflow model have changed. This will emit
- * the signal "model_changed" on the @e_reflow_model object.
- *
- * It is preferable to use the e_reflow_model_item_changed() signal to
- * notify of smaller changes than to invalidate the entire model, as
- * the views might have ways of caching the information they render
- * from the model.
- */
-void
-e_reflow_model_changed (EReflowModel *e_reflow_model)
-{
- g_return_if_fail (e_reflow_model != NULL);
- g_return_if_fail (E_IS_REFLOW_MODEL (e_reflow_model));
-
- d(print_tabs());
- d(g_print("Emitting model_changed on model 0x%p.\n", e_reflow_model));
- d(depth++);
- g_signal_emit (e_reflow_model,
- e_reflow_model_signals [MODEL_CHANGED], 0);
- d(depth--);
-}
-
-/**
- * e_reflow_model_comparison_changed:
- * @e_reflow_model: the reflow model to notify of the change
- *
- * Use this function to notify any views of this reflow model that the
- * sorting has changed. The actual contents of the items hasn't, so
- * there's no need to re-query the model for the heights of the
- * individual items.
- */
-void
-e_reflow_model_comparison_changed (EReflowModel *e_reflow_model)
-{
- g_return_if_fail (e_reflow_model != NULL);
- g_return_if_fail (E_IS_REFLOW_MODEL (e_reflow_model));
-
- d(print_tabs());
- d(g_print("Emitting comparison_changed on model 0x%p.\n", e_reflow_model));
- d(depth++);
- g_signal_emit (e_reflow_model,
- e_reflow_model_signals [COMPARISON_CHANGED], 0);
- d(depth--);
-}
-
-/**
- * e_reflow_model_items_inserted:
- * @e_reflow_model: The model changed.
- * @position: The position the items were insert in.
- * @count: The number of items inserted.
- *
- * Use this function to notify any views of the reflow model that a number of items have been inserted.
- **/
-void
-e_reflow_model_items_inserted (EReflowModel *e_reflow_model, int position, int count)
-{
- g_return_if_fail (e_reflow_model != NULL);
- g_return_if_fail (E_IS_REFLOW_MODEL (e_reflow_model));
-
- d(print_tabs());
- d(g_print("Emitting items_inserted on model 0x%p, position=%d, count=%d.\n", e_reflow_model, position, count));
- d(depth++);
- g_signal_emit (e_reflow_model,
- e_reflow_model_signals [MODEL_ITEMS_INSERTED], 0,
- position, count);
- d(depth--);
-}
-
-/**
- * e_reflow_model_item_removed:
- * @e_reflow_model: The model changed.
- * @n: The position from which the items were removed.
- *
- * Use this function to notify any views of the reflow model that an
- * item has been removed.
- **/
-void
-e_reflow_model_item_removed (EReflowModel *e_reflow_model,
- int n)
-{
- g_return_if_fail (e_reflow_model != NULL);
- g_return_if_fail (E_IS_REFLOW_MODEL (e_reflow_model));
-
- d(print_tabs());
- d(g_print("Emitting item_removed on model 0x%p, n=%d.\n", e_reflow_model, n));
- d(depth++);
- g_signal_emit (e_reflow_model,
- e_reflow_model_signals [MODEL_ITEM_REMOVED], 0,
- n);
- d(depth--);
-}
-
-
-/**
- * e_reflow_model_item_changed:
- * @e_reflow_model: the reflow model to notify of the change
- * @item: the item that was changed in the model.
- *
- * Use this function to notify any views of the reflow model that the
- * contents of item @item have changed in model such that the height
- * has changed or the item needs to be reincarnated. This function
- * will emit the "model_item_changed" signal on the @e_reflow_model
- * object
- */
-void
-e_reflow_model_item_changed (EReflowModel *e_reflow_model, int n)
-{
- g_return_if_fail (e_reflow_model != NULL);
- g_return_if_fail (E_IS_REFLOW_MODEL (e_reflow_model));
-
- d(print_tabs());
- d(g_print("Emitting item_changed on model 0x%p, n=%d.\n", e_reflow_model, n));
- d(depth++);
- g_signal_emit (e_reflow_model,
- e_reflow_model_signals [MODEL_ITEM_CHANGED], 0,
- n);
- d(depth--);
-}
diff --git a/widgets/misc/e-reflow-model.h b/widgets/misc/e-reflow-model.h
deleted file mode 100644
index 25731b2af5..0000000000
--- a/widgets/misc/e-reflow-model.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-reflow-model.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_REFLOW_MODEL_H_
-#define _E_REFLOW_MODEL_H_
-
-#include <glib-object.h>
-#include <libgnomecanvas/gnome-canvas.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define E_REFLOW_MODEL_TYPE (e_reflow_model_get_type ())
-#define E_REFLOW_MODEL(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_REFLOW_MODEL_TYPE, EReflowModel))
-#define E_REFLOW_MODEL_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_REFLOW_MODEL_TYPE, EReflowModelClass))
-#define E_IS_REFLOW_MODEL(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_REFLOW_MODEL_TYPE))
-#define E_IS_REFLOW_MODEL_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_REFLOW_MODEL_TYPE))
-#define E_REFLOW_MODEL_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), E_REFLOW_MODEL_TYPE, EReflowModelClass))
-
-typedef struct {
- GObject base;
-} EReflowModel;
-
-typedef struct {
- GObjectClass parent_class;
-
- /*
- * Virtual methods
- */
- void (*set_width) (EReflowModel *etm, int width);
-
- int (*count) (EReflowModel *etm);
- int (*height) (EReflowModel *etm, int n, GnomeCanvasGroup *parent);
- GnomeCanvasItem *(*incarnate) (EReflowModel *etm, int n, GnomeCanvasGroup *parent);
- int (*compare) (EReflowModel *etm, int n1, int n2);
- void (*reincarnate) (EReflowModel *etm, int n, GnomeCanvasItem *item);
-
- /*
- * Signals
- */
-
- /*
- * These all come after the change has been made.
- * Major structural changes: model_changed
- * Changes to the sorting of elements: comparison_changed
- * Changes only in an item: item_changed
- */
- void (*model_changed) (EReflowModel *etm);
- void (*comparison_changed) (EReflowModel *etm);
- void (*model_items_inserted) (EReflowModel *etm, int position, int count);
- void (*model_item_removed) (EReflowModel *etm, int position);
- void (*model_item_changed) (EReflowModel *etm, int n);
-} EReflowModelClass;
-
-GType e_reflow_model_get_type (void);
-
-/**/
-void e_reflow_model_set_width (EReflowModel *e_reflow_model,
- int width);
-int e_reflow_model_count (EReflowModel *e_reflow_model);
-int e_reflow_model_height (EReflowModel *e_reflow_model,
- int n,
- GnomeCanvasGroup *parent);
-GnomeCanvasItem *e_reflow_model_incarnate (EReflowModel *e_reflow_model,
- int n,
- GnomeCanvasGroup *parent);
-int e_reflow_model_compare (EReflowModel *e_reflow_model,
- int n1,
- int n2);
-void e_reflow_model_reincarnate (EReflowModel *e_reflow_model,
- int n,
- GnomeCanvasItem *item);
-
-/*
- * Routines for emitting signals on the e_reflow
- */
-void e_reflow_model_changed (EReflowModel *e_reflow_model);
-void e_reflow_model_comparison_changed (EReflowModel *e_reflow_model);
-void e_reflow_model_items_inserted (EReflowModel *e_reflow_model,
- int position,
- int count);
-void e_reflow_model_item_removed (EReflowModel *e_reflow_model,
- int n);
-void e_reflow_model_item_changed (EReflowModel *e_reflow_model,
- int n);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* _E_REFLOW_MODEL_H_ */
diff --git a/widgets/misc/e-reflow.c b/widgets/misc/e-reflow.c
deleted file mode 100644
index cd05fd017f..0000000000
--- a/widgets/misc/e-reflow.c
+++ /dev/null
@@ -1,1509 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-reflow.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-
-#include "e-reflow.h"
-
-#include <math.h>
-#include <gdk/gdkkeysyms.h>
-#include "e-canvas-utils.h"
-#include "e-canvas.h"
-#include "gal/e-text/e-text.h"
-#include "gal/util/e-util.h"
-#include "gal/util/e-i18n.h"
-#include "gal/widgets/e-unicode.h"
-#include <gtk/gtksignal.h>
-#include "e-selection-model-simple.h"
-
-#include <string.h>
-
-static gboolean e_reflow_event (GnomeCanvasItem *item, GdkEvent *event);
-static void e_reflow_realize (GnomeCanvasItem *item);
-static void e_reflow_unrealize (GnomeCanvasItem *item);
-static void e_reflow_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
- int x, int y, int width, int height);
-static void e_reflow_update (GnomeCanvasItem *item, double affine[6], ArtSVP *clip_path, gint flags);
-static double e_reflow_point (GnomeCanvasItem *item, double x, double y, int cx, int cy, GnomeCanvasItem **actual_item);
-static void e_reflow_reflow (GnomeCanvasItem *item, int flags);
-static void set_empty(EReflow *reflow);
-
-static void e_reflow_resize_children (GnomeCanvasItem *item);
-
-#define E_REFLOW_DIVIDER_WIDTH 2
-#define E_REFLOW_BORDER_WIDTH 7
-#define E_REFLOW_FULL_GUTTER (E_REFLOW_DIVIDER_WIDTH + E_REFLOW_BORDER_WIDTH * 2)
-
-#define PARENT_TYPE GNOME_TYPE_CANVAS_GROUP
-static GnomeCanvasGroupClass *parent_class = NULL;
-
-/* The arguments we take */
-enum {
- PROP_0,
- PROP_MINIMUM_WIDTH,
- PROP_WIDTH,
- PROP_HEIGHT,
- PROP_EMPTY_MESSAGE,
- PROP_MODEL,
- PROP_COLUMN_WIDTH
-};
-
-enum {
- SELECTION_EVENT,
- COLUMN_WIDTH_CHANGED,
- LAST_SIGNAL
-};
-
-static guint signals [LAST_SIGNAL] = {0, };
-
-static gint
-er_compare (int i1, int i2, gpointer user_data)
-{
- EReflow *reflow = user_data;
- return e_reflow_model_compare (reflow->model, i1, i2);
-}
-
-static gint
-e_reflow_pick_line (EReflow *reflow, double x)
-{
- x += E_REFLOW_BORDER_WIDTH + E_REFLOW_DIVIDER_WIDTH;
- x /= reflow->column_width + E_REFLOW_FULL_GUTTER;
- return x;
-}
-
-static int
-er_find_item (EReflow *reflow, GnomeCanvasItem *item)
-{
- int i;
- for (i = 0; i < reflow->count; i++) {
- if (reflow->items[i] == item)
- return i;
- }
- return -1;
-}
-
-static void
-e_reflow_resize_children (GnomeCanvasItem *item)
-{
- EReflow *reflow;
- int i;
- int count;
-
- reflow = E_REFLOW (item);
-
- count = reflow->count;
- for (i = 0; i < count; i++) {
- if (reflow->items[i])
- gnome_canvas_item_set(reflow->items[i],
- "width", (double) reflow->column_width,
- NULL);
- }
-}
-
-static inline void
-e_reflow_update_selection_row (EReflow *reflow, int row)
-{
- if (reflow->items[row]) {
- g_object_set(reflow->items[row],
- "selected", e_selection_model_is_row_selected(E_SELECTION_MODEL(reflow->selection), row),
- NULL);
- } else if (e_selection_model_is_row_selected (E_SELECTION_MODEL (reflow->selection), row)) {
- reflow->items[row] = e_reflow_model_incarnate (reflow->model, row, GNOME_CANVAS_GROUP (reflow));
- g_object_set (reflow->items[row],
- "selected", e_selection_model_is_row_selected(E_SELECTION_MODEL(reflow->selection), row),
- "width", (double) reflow->column_width,
- NULL);
- }
-}
-
-static void
-e_reflow_update_selection (EReflow *reflow)
-{
- int i;
- int count;
-
- count = reflow->count;
- for (i = 0; i < count; i++) {
- e_reflow_update_selection_row (reflow, i);
- }
-}
-
-static void
-selection_changed (ESelectionModel *selection, EReflow *reflow)
-{
- e_reflow_update_selection (reflow);
-}
-
-static void
-selection_row_changed (ESelectionModel *selection, int row, EReflow *reflow)
-{
- e_reflow_update_selection_row (reflow, row);
-}
-
-static void
-cursor_changed (ESelectionModel *selection, int row, int col, EReflow *reflow)
-{
- int count = reflow->count;
- int old_cursor = reflow->cursor_row;
-
- if (old_cursor < count && old_cursor >= 0) {
- if (reflow->items[old_cursor]) {
- g_object_set (reflow->items[old_cursor],
- "has_cursor", FALSE,
- NULL);
- }
- }
-
- reflow->cursor_row = row;
-
- if (row < count && row >= 0) {
- if (reflow->items[row]) {
- g_object_set (reflow->items[row],
- "has_cursor", TRUE,
- NULL);
- } else {
- reflow->items[row] = e_reflow_model_incarnate (reflow->model, row, GNOME_CANVAS_GROUP (reflow));
- g_object_set (reflow->items[row],
- "has_cursor", TRUE,
- "width", (double) reflow->column_width,
- NULL);
- }
- }
-}
-
-static void
-incarnate (EReflow *reflow)
-{
- int column_width;
- int first_column;
- int last_column;
- int first_cell;
- int last_cell;
- int i;
- GtkAdjustment *adjustment = gtk_layout_get_hadjustment (GTK_LAYOUT (GNOME_CANVAS_ITEM (reflow)->canvas));
-
- column_width = reflow->column_width;
-
- first_column = adjustment->value - 1 + E_REFLOW_BORDER_WIDTH;
- first_column /= column_width + E_REFLOW_FULL_GUTTER;
-
- last_column = adjustment->value + adjustment->page_size + 1 - E_REFLOW_BORDER_WIDTH - E_REFLOW_DIVIDER_WIDTH;
- last_column /= column_width + E_REFLOW_FULL_GUTTER;
- last_column ++;
-
- if (first_column >= 0 && first_column < reflow->column_count)
- first_cell = reflow->columns[first_column];
- else
- first_cell = 0;
-
- if (last_column >= 0 && last_column < reflow->column_count)
- last_cell = reflow->columns[last_column];
- else
- last_cell = reflow->count;
-
- for (i = first_cell; i < last_cell; i++) {
- int unsorted = e_sorter_sorted_to_model (E_SORTER (reflow->sorter), i);
- if (reflow->items[unsorted] == NULL) {
- if (reflow->model) {
- reflow->items[unsorted] = e_reflow_model_incarnate (reflow->model, unsorted, GNOME_CANVAS_GROUP (reflow));
- g_object_set (reflow->items[unsorted],
- "selected", e_selection_model_is_row_selected(E_SELECTION_MODEL(reflow->selection), unsorted),
- "width", (double) reflow->column_width,
- NULL);
- }
- }
- }
- reflow->incarnate_idle_id = 0;
-}
-
-static gboolean
-invoke_incarnate (gpointer user_data)
-{
- EReflow *reflow = user_data;
- incarnate (reflow);
- return FALSE;
-}
-
-static void
-queue_incarnate (EReflow *reflow)
-{
- if (reflow->incarnate_idle_id == 0)
- reflow->incarnate_idle_id =
- g_idle_add_full (25, invoke_incarnate, reflow, NULL);
-}
-
-static void
-reflow_columns (EReflow *reflow)
-{
- GSList *list;
- int count;
- int start;
- int i;
- int column_count, column_start;
- double running_height;
-
- if (reflow->reflow_from_column <= 1) {
- start = 0;
- column_count = 1;
- column_start = 0;
- }
- else {
- /* we start one column before the earliest new entry,
- so we can handle the case where the new entry is
- inserted at the start of the column */
- column_start = reflow->reflow_from_column - 1;
- start = reflow->columns[column_start];
- column_count = column_start + 1;
- }
-
- list = NULL;
-
- running_height = E_REFLOW_BORDER_WIDTH;
-
- count = reflow->count - start;
- for (i = start; i < count; i++) {
- int unsorted = e_sorter_sorted_to_model (E_SORTER (reflow->sorter), i);
- if (i != 0 && running_height + reflow->heights[unsorted] + E_REFLOW_BORDER_WIDTH > reflow->height) {
- list = g_slist_prepend (list, GINT_TO_POINTER(i));
- column_count ++;
- running_height = E_REFLOW_BORDER_WIDTH * 2 + reflow->heights[unsorted];
- } else
- running_height += reflow->heights[unsorted] + E_REFLOW_BORDER_WIDTH;
- }
-
- reflow->column_count = column_count;
- reflow->columns = g_renew (int, reflow->columns, column_count);
- column_count --;
-
- for (; column_count > column_start; column_count--) {
- GSList *to_free;
- reflow->columns[column_count] = GPOINTER_TO_INT(list->data);
- to_free = list;
- list = list->next;
- g_slist_free_1 (to_free);
- }
- reflow->columns[column_start] = start;
-
- queue_incarnate (reflow);
-
- reflow->need_reflow_columns = FALSE;
- reflow->reflow_from_column = -1;
-}
-
-static void
-item_changed (EReflowModel *model, int i, EReflow *reflow)
-{
- if (i < 0 || i >= reflow->count)
- return;
-
- reflow->heights[i] = e_reflow_model_height (reflow->model, i, GNOME_CANVAS_GROUP (reflow));
- if (reflow->items[i] != NULL)
- e_reflow_model_reincarnate (model, i, reflow->items[i]);
- e_sorter_array_clean (reflow->sorter);
- reflow->reflow_from_column = -1;
- reflow->need_reflow_columns = TRUE;
- e_canvas_item_request_reflow(GNOME_CANVAS_ITEM (reflow));
-}
-
-static void
-item_removed (EReflowModel *model, int i, EReflow *reflow)
-{
- int c;
- int sorted;
-
- if (i < 0 || i >= reflow->count)
- return;
-
- sorted = e_sorter_model_to_sorted (E_SORTER (reflow->sorter), i);
- for (c = reflow->column_count - 1; c >= 0; c--) {
- int start_of_column = reflow->columns[c];
-
- if (start_of_column <= sorted) {
- if (reflow->reflow_from_column == -1
- || reflow->reflow_from_column > c) {
- reflow->reflow_from_column = c;
- }
- break;
- }
- }
-
- if (reflow->items[i])
- gtk_object_destroy (GTK_OBJECT (reflow->items[i]));
-
- memmove (reflow->heights + i, reflow->heights + i + 1, (reflow->count - i - 1) * sizeof (int));
- memmove (reflow->items + i, reflow->items + i + 1, (reflow->count - i - 1) * sizeof (GnomeCanvasItem *));
-
- reflow->count --;
-
- reflow->heights [reflow->count] = 0;
- reflow->items [reflow->count] = NULL;
-
- reflow->need_reflow_columns = TRUE;
- set_empty (reflow);
- e_canvas_item_request_reflow(GNOME_CANVAS_ITEM (reflow));
-
- e_sorter_array_set_count (reflow->sorter, reflow->count);
-
- e_selection_model_simple_delete_rows (E_SELECTION_MODEL_SIMPLE (reflow->selection), i, 1);
-}
-
-static void
-items_inserted (EReflowModel *model, int position, int count, EReflow *reflow)
-{
- int i, oldcount;
-
- if (position < 0 || position > reflow->count)
- return;
-
- oldcount = reflow->count;
-
- reflow->count += count;
-
- if (reflow->count > reflow->allocated_count) {
- while (reflow->count > reflow->allocated_count)
- reflow->allocated_count += 256;
- reflow->heights = g_renew (int, reflow->heights, reflow->allocated_count);
- reflow->items = g_renew (GnomeCanvasItem *, reflow->items, reflow->allocated_count);
- }
- memmove (reflow->heights + position + count, reflow->heights + position, (reflow->count - position - count) * sizeof (int));
- memmove (reflow->items + position + count, reflow->items + position, (reflow->count - position - count) * sizeof (GnomeCanvasItem *));
- for (i = position; i < position + count; i++) {
- reflow->items[i] = 0;
- reflow->heights[i] = e_reflow_model_height (reflow->model, i, GNOME_CANVAS_GROUP (reflow));
- }
-
- e_selection_model_simple_set_row_count (E_SELECTION_MODEL_SIMPLE (reflow->selection), reflow->count);
- if (position == oldcount)
- e_sorter_array_append (reflow->sorter, count);
- else
- e_sorter_array_set_count (reflow->sorter, reflow->count);
-
- for (i = position; i < position + count; i ++) {
- int sorted = e_sorter_model_to_sorted (E_SORTER (reflow->sorter), i);
- int c;
-
- for (c = reflow->column_count - 1; c >= 0; c--) {
- int start_of_column = reflow->columns[c];
-
- if (start_of_column <= sorted) {
- if (reflow->reflow_from_column == -1
- || reflow->reflow_from_column > c) {
- reflow->reflow_from_column = c;
- }
- break;
- }
- }
- }
-
- reflow->need_reflow_columns = TRUE;
- set_empty (reflow);
- e_canvas_item_request_reflow(GNOME_CANVAS_ITEM (reflow));
-}
-
-static void
-model_changed (EReflowModel *model, EReflow *reflow)
-{
- int i;
- int count;
- int oldcount;
-
- count = reflow->count;
- oldcount = count;
-
- for (i = 0; i < count; i++) {
- if (reflow->items[i])
- gtk_object_destroy (GTK_OBJECT (reflow->items[i]));
- }
- g_free (reflow->items);
- g_free (reflow->heights);
- reflow->count = e_reflow_model_count (model);
- reflow->allocated_count = reflow->count;
- reflow->items = g_new (GnomeCanvasItem *, reflow->count);
- reflow->heights = g_new (int, reflow->count);
-
- count = reflow->count;
- for (i = 0; i < count; i++) {
- reflow->items[i] = 0;
- reflow->heights[i] = e_reflow_model_height (reflow->model, i, GNOME_CANVAS_GROUP (reflow));
- }
-
- e_selection_model_simple_set_row_count (E_SELECTION_MODEL_SIMPLE (reflow->selection), count);
- e_sorter_array_set_count (reflow->sorter, reflow->count);
-
- reflow->need_reflow_columns = TRUE;
- if (oldcount > reflow->count)
- reflow_columns (reflow);
- set_empty (reflow);
- e_canvas_item_request_reflow(GNOME_CANVAS_ITEM (reflow));
-}
-
-static void
-comparison_changed (EReflowModel *model, EReflow *reflow)
-{
- e_sorter_array_clean (reflow->sorter);
- reflow->reflow_from_column = -1;
- reflow->need_reflow_columns = TRUE;
- e_canvas_item_request_reflow(GNOME_CANVAS_ITEM (reflow));
-}
-
-static void
-set_empty(EReflow *reflow)
-{
- if (reflow->count == 0) {
- if (reflow->empty_text) {
- if (reflow->empty_message) {
- gnome_canvas_item_set(reflow->empty_text,
- "width", reflow->minimum_width,
- "text", reflow->empty_message,
- NULL);
- e_canvas_item_move_absolute(reflow->empty_text,
- reflow->minimum_width / 2,
- 0);
- } else {
- gtk_object_destroy(GTK_OBJECT(reflow->empty_text));
- reflow->empty_text = NULL;
- }
- } else {
- if (reflow->empty_message) {
- reflow->empty_text =
- gnome_canvas_item_new(GNOME_CANVAS_GROUP(reflow),
- e_text_get_type(),
- "anchor", GTK_ANCHOR_N,
- "width", reflow->minimum_width,
- "clip", TRUE,
- "use_ellipsis", TRUE,
- "justification", GTK_JUSTIFY_CENTER,
- "text", reflow->empty_message,
- "draw_background", FALSE,
- NULL);
- e_canvas_item_move_absolute(reflow->empty_text,
- reflow->minimum_width / 2,
- 0);
- }
- }
- } else {
- if (reflow->empty_text) {
- gtk_object_destroy(GTK_OBJECT(reflow->empty_text));
- reflow->empty_text = NULL;
- }
- }
-}
-
-static void
-disconnect_model (EReflow *reflow)
-{
- if (reflow->model == NULL)
- return;
-
- g_signal_handler_disconnect (reflow->model,
- reflow->model_changed_id);
- g_signal_handler_disconnect (reflow->model,
- reflow->comparison_changed_id);
- g_signal_handler_disconnect (reflow->model,
- reflow->model_items_inserted_id);
- g_signal_handler_disconnect (reflow->model,
- reflow->model_item_removed_id);
- g_signal_handler_disconnect (reflow->model,
- reflow->model_item_changed_id);
- g_object_unref (reflow->model);
-
- reflow->model_changed_id = 0;
- reflow->comparison_changed_id = 0;
- reflow->model_items_inserted_id = 0;
- reflow->model_item_removed_id = 0;
- reflow->model_item_changed_id = 0;
- reflow->model = NULL;
-}
-
-static void
-disconnect_selection (EReflow *reflow)
-{
- if (reflow->selection == NULL)
- return;
-
- g_signal_handler_disconnect (reflow->selection,
- reflow->selection_changed_id);
- g_signal_handler_disconnect (reflow->selection,
- reflow->selection_row_changed_id);
- g_signal_handler_disconnect (reflow->selection,
- reflow->cursor_changed_id);
- g_object_unref (reflow->selection);
-
- reflow->selection_changed_id = 0;
- reflow->selection_row_changed_id = 0;
- reflow->cursor_changed_id = 0;
- reflow->selection = NULL;
-}
-
-static void
-connect_model (EReflow *reflow, EReflowModel *model)
-{
- if (reflow->model != NULL)
- disconnect_model (reflow);
-
- if (model == NULL)
- return;
-
- reflow->model = model;
- g_object_ref (reflow->model);
- reflow->model_changed_id =
- g_signal_connect (reflow->model, "model_changed",
- G_CALLBACK (model_changed), reflow);
- reflow->comparison_changed_id =
- g_signal_connect (reflow->model, "comparison_changed",
- G_CALLBACK (comparison_changed), reflow);
- reflow->model_items_inserted_id =
- g_signal_connect (reflow->model, "model_items_inserted",
- G_CALLBACK (items_inserted), reflow);
- reflow->model_item_removed_id =
- g_signal_connect (reflow->model, "model_item_removed",
- G_CALLBACK (item_removed), reflow);
- reflow->model_item_changed_id =
- g_signal_connect (reflow->model, "model_item_changed",
- G_CALLBACK (item_changed), reflow);
- model_changed (model, reflow);
-}
-
-static void
-adjustment_changed (GtkAdjustment *adjustment, EReflow *reflow)
-{
- queue_incarnate (reflow);
-}
-
-static void
-disconnect_adjustment (EReflow *reflow)
-{
- if (reflow->adjustment == NULL)
- return;
-
- g_signal_handler_disconnect (reflow->adjustment,
- reflow->adjustment_changed_id);
- g_signal_handler_disconnect (reflow->adjustment,
- reflow->adjustment_value_changed_id);
-
- g_object_unref (reflow->adjustment);
-
- reflow->adjustment_changed_id = 0;
- reflow->adjustment_value_changed_id = 0;
- reflow->adjustment = NULL;
-}
-
-static void
-connect_adjustment (EReflow *reflow, GtkAdjustment *adjustment)
-{
- if (reflow->adjustment != NULL)
- disconnect_adjustment (reflow);
-
- if (adjustment == NULL)
- return;
-
- reflow->adjustment = adjustment;
- reflow->adjustment_changed_id =
- g_signal_connect (adjustment, "changed",
- G_CALLBACK (adjustment_changed), reflow);
- reflow->adjustment_value_changed_id =
- g_signal_connect (adjustment, "value_changed",
- G_CALLBACK (adjustment_changed), reflow);
- g_object_ref (adjustment);
-}
-
-#if 0
-static void
-set_scroll_adjustments (GtkLayout *layout, GtkAdjustment *hadj, GtkAdjustment *vadj, EReflow *reflow)
-{
- connect_adjustment (reflow, hadj);
-}
-
-static void
-connect_set_adjustment (EReflow *reflow)
-{
- reflow->set_scroll_adjustments_id =
- g_signal_connect (GNOME_CANVAS_ITEM (reflow)->canvas,
- "set_scroll_adjustments",
- G_CALLBACK (set_scroll_adjustments), reflow);
-}
-#endif
-
-static void
-disconnect_set_adjustment (EReflow *reflow)
-{
- if (reflow->set_scroll_adjustments_id != 0) {
- g_signal_handler_disconnect (GNOME_CANVAS_ITEM (reflow)->canvas,
- reflow->set_scroll_adjustments_id);
- reflow->set_scroll_adjustments_id = 0;
- }
-}
-
-static void
-column_width_changed (EReflow *reflow)
-{
- g_signal_emit (reflow, signals[COLUMN_WIDTH_CHANGED], 0, reflow->column_width);
-}
-
-
-
-
-/* Virtual functions */
-static void
-e_reflow_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
-{
- GnomeCanvasItem *item;
- EReflow *reflow;
-
- item = GNOME_CANVAS_ITEM (object);
- reflow = E_REFLOW (object);
-
- switch (prop_id){
- case PROP_HEIGHT:
- reflow->height = g_value_get_double (value);
- reflow->need_reflow_columns = TRUE;
- e_canvas_item_request_reflow(item);
- break;
- case PROP_MINIMUM_WIDTH:
- reflow->minimum_width = g_value_get_double (value);
- if (GNOME_CANVAS_ITEM_REALIZED & GTK_OBJECT_FLAGS(object))
- set_empty(reflow);
- e_canvas_item_request_reflow(item);
- break;
- case PROP_EMPTY_MESSAGE:
- g_free(reflow->empty_message);
- reflow->empty_message = g_strdup(g_value_get_string (value));
- if (GNOME_CANVAS_ITEM_REALIZED & GTK_OBJECT_FLAGS(object))
- set_empty(reflow);
- break;
- case PROP_MODEL:
- connect_model (reflow, (EReflowModel *) g_value_get_object (value));
- break;
- case PROP_COLUMN_WIDTH:
- if (reflow->column_width != g_value_get_double (value)) {
- GtkAdjustment *adjustment = gtk_layout_get_hadjustment(GTK_LAYOUT(item->canvas));
- double old_width = reflow->column_width;
-
- reflow->column_width = g_value_get_double (value);
- adjustment->step_increment = (reflow->column_width + E_REFLOW_FULL_GUTTER) / 2;
- adjustment->page_increment = adjustment->page_size - adjustment->step_increment;
- gtk_adjustment_changed(adjustment);
- e_reflow_resize_children(item);
- e_canvas_item_request_reflow(item);
-
- reflow->need_column_resize = TRUE;
- gnome_canvas_item_request_update(item);
-
- if (old_width != reflow->column_width)
- column_width_changed (reflow);
- }
- break;
- }
-}
-
-static void
-e_reflow_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
- EReflow *reflow;
-
- reflow = E_REFLOW (object);
-
- switch (prop_id) {
- case PROP_MINIMUM_WIDTH:
- g_value_set_double (value, reflow->minimum_width);
- break;
- case PROP_WIDTH:
- g_value_set_double (value, reflow->width);
- break;
- case PROP_HEIGHT:
- g_value_set_double (value, reflow->height);
- break;
- case PROP_EMPTY_MESSAGE:
- g_value_set_string (value, g_strdup(reflow->empty_message));
- break;
- case PROP_MODEL:
- g_value_set_object (value, reflow->model);
- break;
- case PROP_COLUMN_WIDTH:
- g_value_set_double (value, reflow->column_width);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-e_reflow_dispose (GObject *object)
-{
- EReflow *reflow = E_REFLOW(object);
-
- g_free (reflow->items);
- g_free (reflow->heights);
- g_free (reflow->columns);
-
- reflow->items = NULL;
- reflow->heights = NULL;
- reflow->columns = NULL;
- reflow->count = 0;
- reflow->allocated_count = 0;
-
- if (reflow->incarnate_idle_id)
- g_source_remove (reflow->incarnate_idle_id);
- reflow->incarnate_idle_id = 0;
-
- disconnect_model (reflow);
- disconnect_selection (reflow);
-
- g_free(reflow->empty_message);
- reflow->empty_message = NULL;
-
- if (reflow->sorter) {
- g_object_unref (reflow->sorter);
- reflow->sorter = NULL;
- }
-
- G_OBJECT_CLASS(parent_class)->dispose (object);
-}
-
-static void
-e_reflow_realize (GnomeCanvasItem *item)
-{
- EReflow *reflow;
- GnomeCanvasGroup *group;
- GtkAdjustment *adjustment;
- int count;
- int i;
-
- reflow = E_REFLOW (item);
- group = GNOME_CANVAS_GROUP (item);
-
- if (GNOME_CANVAS_ITEM_CLASS(parent_class)->realize)
- (* GNOME_CANVAS_ITEM_CLASS(parent_class)->realize) (item);
-
- reflow->arrow_cursor = gdk_cursor_new (GDK_SB_H_DOUBLE_ARROW);
- reflow->default_cursor = gdk_cursor_new (GDK_LEFT_PTR);
-
- count = reflow->count;
- for(i = 0; i < count; i++) {
- if (reflow->items[i])
- gnome_canvas_item_set(reflow->items[i],
- "width", reflow->column_width,
- NULL);
- }
-
- set_empty(reflow);
-
- reflow->need_reflow_columns = TRUE;
- e_canvas_item_request_reflow(item);
-
- adjustment = gtk_layout_get_hadjustment(GTK_LAYOUT(item->canvas));
-
-#if 0
- connect_set_adjustment (reflow);
-#endif
- connect_adjustment (reflow, adjustment);
-
- adjustment->step_increment = (reflow->column_width + E_REFLOW_FULL_GUTTER) / 2;
- adjustment->page_increment = adjustment->page_size - adjustment->step_increment;
- gtk_adjustment_changed(adjustment);
-
- if (!item->canvas->aa) {
- }
-}
-
-static void
-e_reflow_unrealize (GnomeCanvasItem *item)
-{
- EReflow *reflow;
-
- reflow = E_REFLOW (item);
-
- if (!item->canvas->aa) {
- }
-
- gdk_cursor_destroy (reflow->arrow_cursor);
- gdk_cursor_destroy (reflow->default_cursor);
- reflow->arrow_cursor = NULL;
- reflow->default_cursor = NULL;
-
- g_free (reflow->columns);
- reflow->columns = NULL;
-
- disconnect_set_adjustment (reflow);
- disconnect_adjustment (reflow);
-
- if (GNOME_CANVAS_ITEM_CLASS(parent_class)->unrealize)
- (* GNOME_CANVAS_ITEM_CLASS(parent_class)->unrealize) (item);
-}
-
-static gboolean
-e_reflow_event (GnomeCanvasItem *item, GdkEvent *event)
-{
- EReflow *reflow;
- int return_val = FALSE;
-
- reflow = E_REFLOW (item);
-
- switch( event->type )
- {
- case GDK_KEY_PRESS:
- return_val = e_selection_model_key_press(reflow->selection, (GdkEventKey *) event);
- break;
-#if 0
- if (event->key.keyval == GDK_Tab ||
- event->key.keyval == GDK_KP_Tab ||
- event->key.keyval == GDK_ISO_Left_Tab) {
- int i;
- int count;
- count = reflow->count;
- for (i = 0; i < count; i++) {
- int unsorted = e_sorter_sorted_to_model (E_SORTER (reflow->sorter), i);
- GnomeCanvasItem *item = reflow->items[unsorted];
- EFocus has_focus;
- if (item) {
- g_object_get(item,
- "has_focus", &has_focus,
- NULL);
- if (has_focus) {
- if (event->key.state & GDK_SHIFT_MASK) {
- if (i == 0)
- return 0;
- i--;
- } else {
- if (i == count - 1)
- return 0;
- i++;
- }
-
- unsorted = e_sorter_sorted_to_model (E_SORTER (reflow->sorter), i);
- if (reflow->items[unsorted] == NULL) {
- reflow->items[unsorted] = e_reflow_model_incarnate (reflow->model, unsorted, GNOME_CANVAS_GROUP (reflow));
- }
-
- item = reflow->items[unsorted];
- gnome_canvas_item_set(item,
- "has_focus", (event->key.state & GDK_SHIFT_MASK) ? E_FOCUS_END : E_FOCUS_START,
- NULL);
- return 1;
- }
- }
- }
- }
-#endif
- break;
- case GDK_BUTTON_PRESS:
- switch(event->button.button)
- {
- case 1:
- {
- GdkEventButton *button = (GdkEventButton *) event;
- double n_x, max_x;
- n_x = button->x;
- n_x += E_REFLOW_BORDER_WIDTH + E_REFLOW_DIVIDER_WIDTH;
- n_x = fmod(n_x,(reflow->column_width + E_REFLOW_FULL_GUTTER));
-
- max_x = E_REFLOW_BORDER_WIDTH;
- max_x += (reflow->column_width + E_REFLOW_FULL_GUTTER) * reflow->column_count;
- if ( button->y >= E_REFLOW_BORDER_WIDTH && button->y <= reflow->height - E_REFLOW_BORDER_WIDTH && n_x < E_REFLOW_FULL_GUTTER && max_x > button->x ) {
- /* don't allow to drag the first line*/
- if (e_reflow_pick_line(reflow, button->x) == 0)
- return TRUE;
- reflow->which_column_dragged = e_reflow_pick_line(reflow, button->x);
- reflow->start_x = reflow->which_column_dragged * (reflow->column_width + E_REFLOW_FULL_GUTTER) - E_REFLOW_DIVIDER_WIDTH / 2;
- reflow->temp_column_width = reflow->column_width;
- reflow->column_drag = TRUE;
-
- gnome_canvas_item_grab (item,
- GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK,
- reflow->arrow_cursor,
- button->time);
-
- reflow->previous_temp_column_width = -1;
- reflow->need_column_resize = TRUE;
- gnome_canvas_item_request_update(item);
- return TRUE;
- }
- }
- break;
- case 4:
- {
- GtkAdjustment *adjustment = gtk_layout_get_hadjustment(GTK_LAYOUT(item->canvas));
- gdouble new_value = adjustment->value;
- new_value -= adjustment->step_increment;
- gtk_adjustment_set_value(adjustment, new_value);
- }
- break;
- case 5:
- {
- GtkAdjustment *adjustment = gtk_layout_get_hadjustment(GTK_LAYOUT(item->canvas));
- gdouble new_value = adjustment->value;
- new_value += adjustment->step_increment;
- if ( new_value > adjustment->upper - adjustment->page_size )
- new_value = adjustment->upper - adjustment->page_size;
- gtk_adjustment_set_value(adjustment, new_value);
- }
- break;
- }
- break;
- case GDK_BUTTON_RELEASE:
- if (reflow->column_drag) {
- gdouble old_width = reflow->column_width;
- GdkEventButton *button = (GdkEventButton *) event;
- GtkAdjustment *adjustment = gtk_layout_get_hadjustment(GTK_LAYOUT(item->canvas));
- reflow->temp_column_width = reflow->column_width +
- (button->x - reflow->start_x)/(reflow->which_column_dragged - e_reflow_pick_line(reflow, adjustment->value));
- if ( reflow->temp_column_width < 50 )
- reflow->temp_column_width = 50;
- reflow->column_drag = FALSE;
- if ( old_width != reflow->temp_column_width ) {
- gtk_adjustment_set_value(adjustment, adjustment->value + e_reflow_pick_line(reflow, adjustment->value) * (reflow->temp_column_width - reflow->column_width));
- reflow->column_width = reflow->temp_column_width;
- adjustment->step_increment = (reflow->column_width + E_REFLOW_FULL_GUTTER) / 2;
- adjustment->page_increment = adjustment->page_size - adjustment->step_increment;
- gtk_adjustment_changed(adjustment);
- e_reflow_resize_children(item);
- e_canvas_item_request_reflow(item);
- gnome_canvas_request_redraw(item->canvas, 0, 0, reflow->width, reflow->height);
- column_width_changed (reflow);
- }
- reflow->need_column_resize = TRUE;
- gnome_canvas_item_request_update(item);
- gnome_canvas_item_ungrab (item, button->time);
- return TRUE;
- }
- break;
- case GDK_MOTION_NOTIFY:
- if (reflow->column_drag) {
- double old_width = reflow->temp_column_width;
- GdkEventMotion *motion = (GdkEventMotion *) event;
- GtkAdjustment *adjustment = gtk_layout_get_hadjustment(GTK_LAYOUT(item->canvas));
- reflow->temp_column_width = reflow->column_width +
- (motion->x - reflow->start_x)/(reflow->which_column_dragged - e_reflow_pick_line(reflow, adjustment->value));
- if (reflow->temp_column_width < 50)
- reflow->temp_column_width = 50;
- if (old_width != reflow->temp_column_width) {
- reflow->need_column_resize = TRUE;
- gnome_canvas_item_request_update(item);
- }
- return TRUE;
- } else {
- GdkEventMotion *motion = (GdkEventMotion *) event;
- double n_x, max_x;
-
- n_x = motion->x;
- n_x += E_REFLOW_BORDER_WIDTH + E_REFLOW_DIVIDER_WIDTH;
- n_x = fmod(n_x,(reflow->column_width + E_REFLOW_FULL_GUTTER));
-
- max_x = E_REFLOW_BORDER_WIDTH;
- max_x += (reflow->column_width + E_REFLOW_FULL_GUTTER) * reflow->column_count;
-
- if ( motion->y >= E_REFLOW_BORDER_WIDTH && motion->y <= reflow->height - E_REFLOW_BORDER_WIDTH && n_x < E_REFLOW_FULL_GUTTER && max_x > motion->x) {
- if ( reflow->default_cursor_shown ) {
- gdk_window_set_cursor(GTK_WIDGET(item->canvas)->window, reflow->arrow_cursor);
- reflow->default_cursor_shown = FALSE;
- }
- } else
- if ( ! reflow->default_cursor_shown ) {
- gdk_window_set_cursor(GTK_WIDGET(item->canvas)->window, reflow->default_cursor);
- reflow->default_cursor_shown = TRUE;
- }
-
- }
- break;
- case GDK_ENTER_NOTIFY:
- if (!reflow->column_drag) {
- GdkEventCrossing *crossing = (GdkEventCrossing *) event;
- double n_x, max_x;
- n_x = crossing->x;
- n_x += E_REFLOW_BORDER_WIDTH + E_REFLOW_DIVIDER_WIDTH;
- n_x = fmod(n_x,(reflow->column_width + E_REFLOW_FULL_GUTTER));
-
- max_x = E_REFLOW_BORDER_WIDTH;
- max_x += (reflow->column_width + E_REFLOW_FULL_GUTTER) * reflow->column_count;
- if ( crossing->y >= E_REFLOW_BORDER_WIDTH && crossing->y <= reflow->height - E_REFLOW_BORDER_WIDTH && n_x < E_REFLOW_FULL_GUTTER && max_x > crossing->x) {
- if ( reflow->default_cursor_shown ) {
- gdk_window_set_cursor(GTK_WIDGET(item->canvas)->window, reflow->arrow_cursor);
- reflow->default_cursor_shown = FALSE;
- }
- }
- }
- break;
- case GDK_LEAVE_NOTIFY:
- if (!reflow->column_drag) {
- GdkEventCrossing *crossing = (GdkEventCrossing *) event;
- double n_x;
- n_x = crossing->x;
- n_x += E_REFLOW_BORDER_WIDTH + E_REFLOW_DIVIDER_WIDTH;
- n_x = fmod(n_x,(reflow->column_width + E_REFLOW_FULL_GUTTER));
- if ( !( crossing->y >= E_REFLOW_BORDER_WIDTH && crossing->y <= reflow->height - E_REFLOW_BORDER_WIDTH && n_x < E_REFLOW_FULL_GUTTER ) ) {
- if ( ! reflow->default_cursor_shown ) {
- gdk_window_set_cursor(GTK_WIDGET(item->canvas)->window, reflow->default_cursor);
- reflow->default_cursor_shown = TRUE;
- }
- }
- }
- break;
- default:
- break;
- }
- if (return_val)
- return return_val;
- else if (GNOME_CANVAS_ITEM_CLASS( parent_class )->event)
- return (* GNOME_CANVAS_ITEM_CLASS( parent_class )->event) (item, event);
- else
- return FALSE;
-}
-
-static void e_reflow_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
- int x, int y, int width, int height)
-{
- int x_rect, y_rect, width_rect, height_rect;
- gdouble running_width;
- EReflow *reflow = E_REFLOW(item);
- int i;
- double column_width;
-
- if (GNOME_CANVAS_ITEM_CLASS(parent_class)->draw)
- GNOME_CANVAS_ITEM_CLASS(parent_class)->draw (item, drawable, x, y, width, height);
- column_width = reflow->column_width;
- running_width = E_REFLOW_BORDER_WIDTH + column_width + E_REFLOW_BORDER_WIDTH;
- x_rect = running_width;
- y_rect = E_REFLOW_BORDER_WIDTH;
- width_rect = E_REFLOW_DIVIDER_WIDTH;
- height_rect = reflow->height - (E_REFLOW_BORDER_WIDTH * 2);
-
- /* Compute first column to draw. */
- i = x;
- i /= column_width + E_REFLOW_FULL_GUTTER;
- running_width += i * (column_width + E_REFLOW_FULL_GUTTER);
-
- for ( ; i < reflow->column_count; i++) {
- if ( running_width > x + width )
- break;
- x_rect = running_width;
- gtk_paint_flat_box(GTK_WIDGET(item->canvas)->style,
- drawable,
- GTK_STATE_ACTIVE,
- GTK_SHADOW_NONE,
- NULL,
- GTK_WIDGET(item->canvas),
- "reflow",
- x_rect - x,
- y_rect - y,
- width_rect,
- height_rect);
- running_width += E_REFLOW_DIVIDER_WIDTH + E_REFLOW_BORDER_WIDTH + column_width + E_REFLOW_BORDER_WIDTH;
- }
- if (reflow->column_drag) {
- int start_line = e_reflow_pick_line(reflow,
- gtk_layout_get_hadjustment(GTK_LAYOUT(item->canvas))->value);
- i = x - start_line * (column_width + E_REFLOW_FULL_GUTTER);
- running_width = start_line * (column_width + E_REFLOW_FULL_GUTTER);
- column_width = reflow->temp_column_width;
- running_width -= start_line * (column_width + E_REFLOW_FULL_GUTTER);
- i += start_line * (column_width + E_REFLOW_FULL_GUTTER);
- running_width += E_REFLOW_BORDER_WIDTH + column_width + E_REFLOW_BORDER_WIDTH;
- x_rect = running_width;
- y_rect = E_REFLOW_BORDER_WIDTH;
- width_rect = E_REFLOW_DIVIDER_WIDTH;
- height_rect = reflow->height - (E_REFLOW_BORDER_WIDTH * 2);
-
- /* Compute first column to draw. */
- i /= column_width + E_REFLOW_FULL_GUTTER;
- running_width += i * (column_width + E_REFLOW_FULL_GUTTER);
-
- for ( ; i < reflow->column_count; i++) {
- if ( running_width > x + width )
- break;
- x_rect = running_width;
- gdk_draw_rectangle(drawable,
- GTK_WIDGET(item->canvas)->style->fg_gc[GTK_STATE_NORMAL],
- TRUE,
- x_rect - x,
- y_rect - y,
- width_rect - 1,
- height_rect - 1);
- running_width += E_REFLOW_DIVIDER_WIDTH + E_REFLOW_BORDER_WIDTH + column_width + E_REFLOW_BORDER_WIDTH;
- }
- }
-}
-
-static void
-e_reflow_update (GnomeCanvasItem *item, double affine[6], ArtSVP *clip_path, gint flags)
-{
- EReflow *reflow;
- double x0, x1, y0, y1;
-
- reflow = E_REFLOW (item);
-
- if (GNOME_CANVAS_ITEM_CLASS(parent_class)->update)
- GNOME_CANVAS_ITEM_CLASS(parent_class)->update (item, affine, clip_path, flags);
-
- x0 = item->x1;
- y0 = item->y1;
- x1 = item->x2;
- y1 = item->y2;
- if ( x1 < x0 + reflow->width )
- x1 = x0 + reflow->width;
- if ( y1 < y0 + reflow->height )
- y1 = y0 + reflow->height;
- item->x2 = x1;
- item->y2 = y1;
-
- if (reflow->need_height_update) {
- x0 = item->x1;
- y0 = item->y1;
- x1 = item->x2;
- y1 = item->y2;
- if ( x0 > 0 )
- x0 = 0;
- if ( y0 > 0 )
- y0 = 0;
- if ( x1 < E_REFLOW(item)->width )
- x1 = E_REFLOW(item)->width;
- if ( x1 < E_REFLOW(item)->height )
- x1 = E_REFLOW(item)->height;
-
- gnome_canvas_request_redraw(item->canvas, x0, y0, x1, y1);
- reflow->need_height_update = FALSE;
- } else if (reflow->need_column_resize) {
- int x_rect, y_rect, width_rect, height_rect;
- int start_line = e_reflow_pick_line(reflow,
- gtk_layout_get_hadjustment(GTK_LAYOUT(item->canvas))->value);
- gdouble running_width;
- int i;
- double column_width;
-
- if ( reflow->previous_temp_column_width != -1 ) {
- running_width = start_line * (reflow->column_width + E_REFLOW_FULL_GUTTER);
- column_width = reflow->previous_temp_column_width;
- running_width -= start_line * (column_width + E_REFLOW_FULL_GUTTER);
- running_width += E_REFLOW_BORDER_WIDTH + column_width + E_REFLOW_BORDER_WIDTH;
- y_rect = E_REFLOW_BORDER_WIDTH;
- width_rect = E_REFLOW_DIVIDER_WIDTH;
- height_rect = reflow->height - (E_REFLOW_BORDER_WIDTH * 2);
-
- for ( i = 0; i < reflow->column_count; i++) {
- x_rect = running_width;
- gnome_canvas_request_redraw(item->canvas, x_rect, y_rect, x_rect + width_rect, y_rect + height_rect);
- running_width += E_REFLOW_DIVIDER_WIDTH + E_REFLOW_BORDER_WIDTH + column_width + E_REFLOW_BORDER_WIDTH;
- }
- }
-
- if ( reflow->temp_column_width != -1 ) {
- running_width = start_line * (reflow->column_width + E_REFLOW_FULL_GUTTER);
- column_width = reflow->temp_column_width;
- running_width -= start_line * (column_width + E_REFLOW_FULL_GUTTER);
- running_width += E_REFLOW_BORDER_WIDTH + column_width + E_REFLOW_BORDER_WIDTH;
- y_rect = E_REFLOW_BORDER_WIDTH;
- width_rect = E_REFLOW_DIVIDER_WIDTH;
- height_rect = reflow->height - (E_REFLOW_BORDER_WIDTH * 2);
-
- for ( i = 0; i < reflow->column_count; i++) {
- x_rect = running_width;
- gnome_canvas_request_redraw(item->canvas, x_rect, y_rect, x_rect + width_rect, y_rect + height_rect);
- running_width += E_REFLOW_DIVIDER_WIDTH + E_REFLOW_BORDER_WIDTH + column_width + E_REFLOW_BORDER_WIDTH;
- }
- }
-
- reflow->previous_temp_column_width = reflow->temp_column_width;
- reflow->need_column_resize = FALSE;
- }
-}
-
-static double
-e_reflow_point (GnomeCanvasItem *item,
- double x, double y, int cx, int cy,
- GnomeCanvasItem **actual_item)
-{
- double distance = 1;
-
- *actual_item = NULL;
-
- if (GNOME_CANVAS_ITEM_CLASS(parent_class)->point)
- distance = GNOME_CANVAS_ITEM_CLASS(parent_class)->point (item, x, y, cx, cy, actual_item);
- if ((int) (distance * item->canvas->pixels_per_unit + 0.5) <= item->canvas->close_enough && *actual_item)
- return distance;
-
- *actual_item = item;
- return 0;
-#if 0
- if (y >= E_REFLOW_BORDER_WIDTH && y <= reflow->height - E_REFLOW_BORDER_WIDTH) {
- float n_x;
- n_x = x;
- n_x += E_REFLOW_BORDER_WIDTH + E_REFLOW_DIVIDER_WIDTH;
- n_x = fmod(n_x, (reflow->column_width + E_REFLOW_FULL_GUTTER));
- if (n_x < E_REFLOW_FULL_GUTTER) {
- *actual_item = item;
- return 0;
- }
- }
- return distance;
-#endif
-}
-
-static void
-e_reflow_reflow( GnomeCanvasItem *item, int flags )
-{
- EReflow *reflow = E_REFLOW(item);
- gdouble old_width;
- gdouble running_width;
- gdouble running_height;
- int next_column;
- int i;
-
- if (! (GTK_OBJECT_FLAGS (reflow) & GNOME_CANVAS_ITEM_REALIZED))
- return;
-
- if (reflow->need_reflow_columns) {
- reflow_columns (reflow);
- }
-
- old_width = reflow->width;
-
- running_width = E_REFLOW_BORDER_WIDTH;
- running_height = E_REFLOW_BORDER_WIDTH;
-
- next_column = 1;
-
- for (i = 0; i < reflow->count; i++) {
- int unsorted = e_sorter_sorted_to_model (E_SORTER (reflow->sorter), i);
- if (next_column < reflow->column_count && i == reflow->columns[next_column]) {
- running_height = E_REFLOW_BORDER_WIDTH;
- running_width += reflow->column_width + E_REFLOW_FULL_GUTTER;
- next_column ++;
- }
-
- if (unsorted >= 0 && reflow->items[unsorted]) {
- e_canvas_item_move_absolute(GNOME_CANVAS_ITEM(reflow->items[unsorted]),
- (double) running_width,
- (double) running_height);
- running_height += reflow->heights[unsorted] + E_REFLOW_BORDER_WIDTH;
- }
- }
- reflow->width = running_width + reflow->column_width + E_REFLOW_BORDER_WIDTH;
- if ( reflow->width < reflow->minimum_width )
- reflow->width = reflow->minimum_width;
- if (old_width != reflow->width)
- e_canvas_item_request_parent_reflow(item);
-}
-
-static int
-e_reflow_selection_event_real (EReflow *reflow, GnomeCanvasItem *item, GdkEvent *event)
-{
- int row;
- int return_val = TRUE;
- switch (event->type) {
- case GDK_BUTTON_PRESS:
- switch (event->button.button) {
- case 1: /* Fall through. */
- case 2:
- row = er_find_item (reflow, item);
- if (event->button.button == 1) {
- reflow->maybe_did_something =
- e_selection_model_maybe_do_something(reflow->selection, row, 0, event->button.state);
- reflow->maybe_in_drag = TRUE;
- } else {
- e_selection_model_do_something(reflow->selection, row, 0, event->button.state);
- }
- break;
- case 3:
- row = er_find_item (reflow, item);
- e_selection_model_right_click_down(reflow->selection, row, 0, 0);
- break;
- default:
- return_val = FALSE;
- break;
- }
- break;
- case GDK_BUTTON_RELEASE:
- if (event->button.button == 1) {
- if (reflow->maybe_in_drag) {
- reflow->maybe_in_drag = FALSE;
- if (!reflow->maybe_did_something) {
- row = er_find_item (reflow, item);
- e_selection_model_do_something(reflow->selection, row, 0, event->button.state);
- }
- }
- }
- break;
- case GDK_KEY_PRESS:
- return_val = e_selection_model_key_press(reflow->selection, (GdkEventKey *) event);
- break;
- default:
- return_val = FALSE;
- break;
- }
-
- return return_val;
-}
-
-static void
-e_reflow_class_init (EReflowClass *klass)
-{
- GObjectClass *object_class;
- GnomeCanvasItemClass *item_class;
-
- object_class = (GObjectClass*) klass;
- item_class = (GnomeCanvasItemClass *) klass;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class->set_property = e_reflow_set_property;
- object_class->get_property = e_reflow_get_property;
- object_class->dispose = e_reflow_dispose;
-
- /* GnomeCanvasItem method overrides */
- item_class->event = e_reflow_event;
- item_class->realize = e_reflow_realize;
- item_class->unrealize = e_reflow_unrealize;
- item_class->draw = e_reflow_draw;
- item_class->update = e_reflow_update;
- item_class->point = e_reflow_point;
-
- klass->selection_event = e_reflow_selection_event_real;
- klass->column_width_changed = NULL;
-
- g_object_class_install_property (object_class, PROP_MINIMUM_WIDTH,
- g_param_spec_double ("minimum_width",
- _( "Minimum width" ),
- _( "Minimum Width" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_WIDTH,
- g_param_spec_double ("width",
- _( "Width" ),
- _( "Width" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READABLE));
-
-
- g_object_class_install_property (object_class, PROP_HEIGHT,
- g_param_spec_double ("height",
- _( "Height" ),
- _( "Height" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_EMPTY_MESSAGE,
- g_param_spec_string ("empty_message",
- _( "Empty message" ),
- _( "Empty message" ),
- NULL,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_MODEL,
- g_param_spec_object ("model",
- _( "Reflow model" ),
- _( "Reflow model" ),
- E_REFLOW_MODEL_TYPE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_COLUMN_WIDTH,
- g_param_spec_double ("column_width",
- _( "Column width" ),
- _( "Column width" ),
- 0.0, G_MAXDOUBLE, 150.0,
- G_PARAM_READWRITE));
-
- signals [SELECTION_EVENT] =
- g_signal_new ("selection_event",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EReflowClass, selection_event),
- NULL, NULL,
- e_marshal_INT__OBJECT_BOXED,
- G_TYPE_INT, 2, G_TYPE_OBJECT,
- GDK_TYPE_EVENT);
-
- signals [COLUMN_WIDTH_CHANGED] =
- g_signal_new ("column_width_changed",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EReflowClass, column_width_changed),
- NULL, NULL,
- e_marshal_NONE__DOUBLE,
- G_TYPE_NONE, 1, G_TYPE_DOUBLE);
-}
-
-static void
-e_reflow_init (EReflow *reflow)
-{
- reflow->model = NULL;
- reflow->items = NULL;
- reflow->heights = NULL;
- reflow->count = 0;
-
- reflow->columns = NULL;
- reflow->column_count = 0;
-
- reflow->empty_text = NULL;
- reflow->empty_message = NULL;
-
- reflow->minimum_width = 10;
- reflow->width = 10;
- reflow->height = 10;
-
- reflow->column_width = 150;
-
- reflow->column_drag = FALSE;
-
- reflow->need_height_update = FALSE;
- reflow->need_column_resize = FALSE;
- reflow->need_reflow_columns = FALSE;
-
- reflow->maybe_did_something = FALSE;
- reflow->maybe_in_drag = FALSE;
-
- reflow->default_cursor_shown = TRUE;
- reflow->arrow_cursor = NULL;
- reflow->default_cursor = NULL;
-
- reflow->cursor_row = -1;
-
- reflow->incarnate_idle_id = 0;
- reflow->set_scroll_adjustments_id = 0;
-
- reflow->selection = E_SELECTION_MODEL (e_selection_model_simple_new());
- reflow->sorter = e_sorter_array_new (er_compare, reflow);
-
- g_object_set (reflow->selection,
- "sorter", reflow->sorter,
- NULL);
-
- reflow->selection_changed_id =
- g_signal_connect(reflow->selection, "selection_changed",
- G_CALLBACK (selection_changed), reflow);
- reflow->selection_row_changed_id =
- g_signal_connect(reflow->selection, "selection_row_changed",
- G_CALLBACK (selection_row_changed), reflow);
- reflow->cursor_changed_id =
- g_signal_connect(reflow->selection, "cursor_changed",
- G_CALLBACK (cursor_changed), reflow);
-
- e_canvas_item_set_reflow_callback(GNOME_CANVAS_ITEM(reflow), e_reflow_reflow);
-}
-
-E_MAKE_TYPE (e_reflow,
- "EReflow",
- EReflow,
- e_reflow_class_init,
- e_reflow_init,
- PARENT_TYPE)
diff --git a/widgets/misc/e-reflow.h b/widgets/misc/e-reflow.h
deleted file mode 100644
index b92643a935..0000000000
--- a/widgets/misc/e-reflow.h
+++ /dev/null
@@ -1,146 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-reflow.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef __E_REFLOW_H__
-#define __E_REFLOW_H__
-
-#include <libgnomecanvas/gnome-canvas.h>
-#include <gal/widgets/e-reflow-model.h>
-#include <gal/widgets/e-selection-model.h>
-#include <gal/util/e-sorter-array.h>
-
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
-
-/* EReflow - A canvas item container.
- *
- * The following arguments are available:
- *
- * name type read/write description
- * --------------------------------------------------------------------------------
- * minimum_width double RW minimum width of the reflow. width >= minimum_width
- * width double R width of the reflow
- * height double RW height of the reflow
- */
-
-#define E_REFLOW_TYPE (e_reflow_get_type ())
-#define E_REFLOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_REFLOW_TYPE, EReflow))
-#define E_REFLOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_REFLOW_TYPE, EReflowClass))
-#define E_IS_REFLOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_REFLOW_TYPE))
-#define E_IS_REFLOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), E_REFLOW_TYPE))
-
-
-typedef struct EReflowPriv EReflowPriv;
-
-typedef struct _EReflow EReflow;
-typedef struct _EReflowClass EReflowClass;
-
-struct _EReflow
-{
- GnomeCanvasGroup parent;
-
- /* item specific fields */
- EReflowModel *model;
- guint model_changed_id;
- guint comparison_changed_id;
- guint model_items_inserted_id;
- guint model_item_removed_id;
- guint model_item_changed_id;
-
- ESelectionModel *selection;
- guint selection_changed_id;
- guint selection_row_changed_id;
- guint cursor_changed_id;
- ESorterArray *sorter;
-
- GtkAdjustment *adjustment;
- guint adjustment_changed_id;
- guint adjustment_value_changed_id;
- guint set_scroll_adjustments_id;
-
- int *heights;
- GnomeCanvasItem **items;
- int count;
- int allocated_count;
-
- int *columns;
- gint column_count; /* Number of columnns */
-
- GnomeCanvasItem *empty_text;
- gchar *empty_message;
-
- double minimum_width;
- double width;
- double height;
-
- double column_width;
-
- int incarnate_idle_id;
-
- /* These are all for when the column is being dragged. */
- gdouble start_x;
- gint which_column_dragged;
- double temp_column_width;
- double previous_temp_column_width;
-
- int cursor_row;
-
- int reflow_from_column;
-
- guint column_drag : 1;
-
- guint need_height_update : 1;
- guint need_column_resize : 1;
- guint need_reflow_columns : 1;
-
- guint default_cursor_shown : 1;
-
- guint maybe_did_something : 1;
- guint maybe_in_drag : 1;
- GdkCursor *arrow_cursor;
- GdkCursor *default_cursor;
-};
-
-struct _EReflowClass
-{
- GnomeCanvasGroupClass parent_class;
-
- int (*selection_event) (EReflow *reflow, GnomeCanvasItem *item, GdkEvent *event);
- void (*column_width_changed) (EReflow *reflow, double width);
-};
-
-/*
- * To be added to a reflow, an item must have the argument "width" as
- * a Read/Write argument and "height" as a Read Only argument. It
- * should also do an ECanvas parent reflow request if its size
- * changes.
- */
-GtkType e_reflow_get_type (void);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* __E_REFLOW_H__ */
diff --git a/widgets/misc/e-selection-model-array.c b/widgets/misc/e-selection-model-array.c
deleted file mode 100644
index e6e96702a3..0000000000
--- a/widgets/misc/e-selection-model-array.c
+++ /dev/null
@@ -1,557 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-selection-model-array.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <gtk/gtksignal.h>
-#include "e-selection-model-array.h"
-#include "gal/util/e-i18n.h"
-#include "gal/util/e-util.h"
-
-#define PARENT_TYPE e_selection_model_get_type ()
-
-static ESelectionModelClass *parent_class;
-
-enum {
- PROP_0,
- PROP_CURSOR_ROW,
- PROP_CURSOR_COL
-};
-
-void
-e_selection_model_array_confirm_row_count(ESelectionModelArray *esma)
-{
- if (esma->eba == NULL) {
- int row_count = e_selection_model_array_get_row_count(esma);
- esma->eba = e_bit_array_new(row_count);
- esma->selected_row = -1;
- esma->selected_range_end = -1;
- }
-}
-
-/* FIXME: Should this deal with moving the selection if it's in single mode? */
-void
-e_selection_model_array_delete_rows(ESelectionModelArray *esma, int row, int count)
-{
- if (esma->eba) {
- if (E_SELECTION_MODEL(esma)->mode == GTK_SELECTION_SINGLE)
- e_bit_array_delete_single_mode(esma->eba, row, count);
- else
- e_bit_array_delete(esma->eba, row, count);
-
- if (esma->cursor_row > row + count)
- esma->cursor_row -= count;
- else if (esma->cursor_row > row)
- esma->cursor_row = row;
-
- if (esma->cursor_row >= e_bit_array_bit_count (esma->eba)) {
- esma->cursor_row = e_bit_array_bit_count (esma->eba) - 1;
- } else if (esma->cursor_row < 0) {
- esma->cursor_row = -1;
- }
- if (esma->cursor_row >= 0)
- e_bit_array_change_one_row(esma->eba, esma->cursor_row, TRUE);
-
- esma->selected_row = -1;
- esma->selected_range_end = -1;
- e_selection_model_selection_changed(E_SELECTION_MODEL(esma));
- e_selection_model_cursor_changed(E_SELECTION_MODEL(esma), esma->cursor_row, esma->cursor_col);
- }
-}
-
-void
-e_selection_model_array_insert_rows(ESelectionModelArray *esma, int row, int count)
-{
- if (esma->eba) {
- e_bit_array_insert(esma->eba, row, count);
-
- if (esma->cursor_row >= row)
- esma->cursor_row += count;
-
- esma->selected_row = -1;
- esma->selected_range_end = -1;
- e_selection_model_selection_changed(E_SELECTION_MODEL(esma));
- e_selection_model_cursor_changed(E_SELECTION_MODEL(esma), esma->cursor_row, esma->cursor_col);
- }
-}
-
-void
-e_selection_model_array_move_row(ESelectionModelArray *esma, int old_row, int new_row)
-{
- ESelectionModel *esm = E_SELECTION_MODEL(esma);
-
- if (esma->eba) {
- gboolean selected = e_bit_array_value_at(esma->eba, old_row);
- gboolean cursor = (esma->cursor_row == old_row);
-
- if (old_row < esma->cursor_row && esma->cursor_row < new_row)
- esma->cursor_row --;
- else if (new_row < esma->cursor_row && esma->cursor_row < old_row)
- esma->cursor_row ++;
-
- e_bit_array_move_row(esma->eba, old_row, new_row);
-
- if (selected) {
- if (esm->mode == GTK_SELECTION_SINGLE)
- e_bit_array_select_single_row (esma->eba, new_row);
- else
- e_bit_array_change_one_row(esma->eba, new_row, TRUE);
- }
- if (cursor) {
- esma->cursor_row = new_row;
- }
- esma->selected_row = -1;
- esma->selected_range_end = -1;
- e_selection_model_selection_changed(esm);
- e_selection_model_cursor_changed(esm, esma->cursor_row, esma->cursor_col);
- }
-}
-
-static void
-esma_dispose (GObject *object)
-{
- ESelectionModelArray *esma;
-
- esma = E_SELECTION_MODEL_ARRAY (object);
-
- if (esma->eba) {
- g_object_unref (esma->eba);
- esma->eba = NULL;
- }
-
- if (G_OBJECT_CLASS (parent_class)->dispose)
- (* G_OBJECT_CLASS (parent_class)->dispose) (object);
-}
-
-static void
-esma_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
- ESelectionModelArray *esma = E_SELECTION_MODEL_ARRAY (object);
-
- switch (prop_id){
- case PROP_CURSOR_ROW:
- g_value_set_int (value, esma->cursor_row);
- break;
-
- case PROP_CURSOR_COL:
- g_value_set_int (value, esma->cursor_col);
- break;
- }
-}
-
-static void
-esma_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
-{
- ESelectionModel *esm = E_SELECTION_MODEL (object);
- ESelectionModelArray *esma = E_SELECTION_MODEL_ARRAY (object);
-
- switch (prop_id){
- case PROP_CURSOR_ROW:
- e_selection_model_do_something(esm, g_value_get_int (value), esma->cursor_col, 0);
- break;
-
- case PROP_CURSOR_COL:
- e_selection_model_do_something(esm, esma->cursor_row, g_value_get_int(value), 0);
- break;
- }
-}
-
-/**
- * e_selection_model_is_row_selected
- * @selection: #ESelectionModel to check
- * @n: The row to check
- *
- * This routine calculates whether the given row is selected.
- *
- * Returns: %TRUE if the given row is selected
- */
-static gboolean
-esma_is_row_selected (ESelectionModel *selection,
- gint n)
-{
- ESelectionModelArray *esma = E_SELECTION_MODEL_ARRAY(selection);
- if (esma->eba)
- return e_bit_array_value_at(esma->eba, n);
- else
- return FALSE;
-}
-
-/**
- * e_selection_model_foreach
- * @selection: #ESelectionModel to traverse
- * @callback: The callback function to call back.
- * @closure: The closure
- *
- * This routine calls the given callback function once for each
- * selected row, passing closure as the closure.
- */
-static void
-esma_foreach (ESelectionModel *selection,
- EForeachFunc callback,
- gpointer closure)
-{
- ESelectionModelArray *esma = E_SELECTION_MODEL_ARRAY(selection);
- if (esma->eba)
- e_bit_array_foreach(esma->eba, callback, closure);
-}
-
-/**
- * e_selection_model_clear
- * @selection: #ESelectionModel to clear
- *
- * This routine clears the selection to no rows selected.
- */
-static void
-esma_clear(ESelectionModel *selection)
-{
- ESelectionModelArray *esma = E_SELECTION_MODEL_ARRAY(selection);
- if (esma->eba) {
- g_object_unref(esma->eba);
- esma->eba = NULL;
- }
- esma->cursor_row = -1;
- esma->cursor_col = -1;
- esma->selected_row = -1;
- esma->selected_range_end = -1;
- e_selection_model_selection_changed(E_SELECTION_MODEL(esma));
- e_selection_model_cursor_changed(E_SELECTION_MODEL(esma), -1, -1);
-}
-
-#define PART(x,n) (((x) & (0x01010101 << n)) >> n)
-#define SECTION(x, n) (((x) >> (n * 8)) & 0xff)
-
-/**
- * e_selection_model_selected_count
- * @selection: #ESelectionModel to count
- *
- * This routine calculates the number of rows selected.
- *
- * Returns: The number of rows selected in the given model.
- */
-static gint
-esma_selected_count (ESelectionModel *selection)
-{
- ESelectionModelArray *esma = E_SELECTION_MODEL_ARRAY(selection);
- if (esma->eba)
- return e_bit_array_selected_count(esma->eba);
- else
- return 0;
-}
-
-/**
- * e_selection_model_select_all
- * @selection: #ESelectionModel to select all
- *
- * This routine selects all the rows in the given
- * #ESelectionModel.
- */
-static void
-esma_select_all (ESelectionModel *selection)
-{
- ESelectionModelArray *esma = E_SELECTION_MODEL_ARRAY(selection);
-
- e_selection_model_array_confirm_row_count(esma);
-
- e_bit_array_select_all(esma->eba);
-
- esma->cursor_col = 0;
- esma->cursor_row = 0;
- esma->selection_start_row = 0;
- esma->selected_row = -1;
- esma->selected_range_end = -1;
- e_selection_model_selection_changed(E_SELECTION_MODEL(esma));
- e_selection_model_cursor_changed(E_SELECTION_MODEL(esma), 0, 0);
-}
-
-/**
- * e_selection_model_invert_selection
- * @selection: #ESelectionModel to invert
- *
- * This routine inverts all the rows in the given
- * #ESelectionModel.
- */
-static void
-esma_invert_selection (ESelectionModel *selection)
-{
- ESelectionModelArray *esma = E_SELECTION_MODEL_ARRAY(selection);
-
- e_selection_model_array_confirm_row_count(esma);
-
- e_bit_array_invert_selection(esma->eba);
-
- esma->cursor_col = -1;
- esma->cursor_row = -1;
- esma->selection_start_row = 0;
- esma->selected_row = -1;
- esma->selected_range_end = -1;
- e_selection_model_selection_changed(E_SELECTION_MODEL(esma));
- e_selection_model_cursor_changed(E_SELECTION_MODEL(esma), -1, -1);
-}
-
-static int
-esma_row_count (ESelectionModel *selection)
-{
- ESelectionModelArray *esma = E_SELECTION_MODEL_ARRAY(selection);
- e_selection_model_array_confirm_row_count(esma);
- return e_bit_array_bit_count(esma->eba);
-}
-
-static void
-esma_change_one_row(ESelectionModel *selection, int row, gboolean grow)
-{
- ESelectionModelArray *esma = E_SELECTION_MODEL_ARRAY(selection);
- e_selection_model_array_confirm_row_count(esma);
- e_bit_array_change_one_row(esma->eba, row, grow);
-}
-
-static void
-esma_change_cursor (ESelectionModel *selection, int row, int col)
-{
- ESelectionModelArray *esma;
-
- g_return_if_fail(selection != NULL);
- g_return_if_fail(E_IS_SELECTION_MODEL(selection));
-
- esma = E_SELECTION_MODEL_ARRAY(selection);
-
- esma->cursor_row = row;
- esma->cursor_col = col;
-}
-
-static void
-esma_change_range(ESelectionModel *selection, int start, int end, gboolean grow)
-{
- int i;
- ESelectionModelArray *esma = E_SELECTION_MODEL_ARRAY(selection);
- if (start != end) {
- if (selection->sorter && e_sorter_needs_sorting(selection->sorter)) {
- for ( i = start; i < end; i++) {
- e_bit_array_change_one_row(esma->eba, e_sorter_sorted_to_model(selection->sorter, i), grow);
- }
- } else {
- e_selection_model_array_confirm_row_count(esma);
- e_bit_array_change_range(esma->eba, start, end, grow);
- }
- }
-}
-
-static int
-esma_cursor_row (ESelectionModel *selection)
-{
- ESelectionModelArray *esma = E_SELECTION_MODEL_ARRAY(selection);
- return esma->cursor_row;
-}
-
-static int
-esma_cursor_col (ESelectionModel *selection)
-{
- ESelectionModelArray *esma = E_SELECTION_MODEL_ARRAY(selection);
- return esma->cursor_col;
-}
-
-static void
-esma_real_select_single_row (ESelectionModel *selection, int row)
-{
- ESelectionModelArray *esma = E_SELECTION_MODEL_ARRAY(selection);
-
- e_selection_model_array_confirm_row_count(esma);
-
- e_bit_array_select_single_row(esma->eba, row);
-
- esma->selection_start_row = row;
- esma->selected_row = row;
- esma->selected_range_end = row;
-}
-
-static void
-esma_select_single_row (ESelectionModel *selection, int row)
-{
- ESelectionModelArray *esma = E_SELECTION_MODEL_ARRAY(selection);
- int selected_row = esma->selected_row;
- esma_real_select_single_row (selection, row);
-
- if (selected_row != -1 && esma->eba && selected_row < e_bit_array_bit_count (esma->eba)) {
- if (selected_row != row) {
- e_selection_model_selection_row_changed(selection, selected_row);
- e_selection_model_selection_row_changed(selection, row);
- }
- } else {
- e_selection_model_selection_changed(selection);
- }
-}
-
-static void
-esma_toggle_single_row (ESelectionModel *selection, int row)
-{
- ESelectionModelArray *esma = E_SELECTION_MODEL_ARRAY(selection);
-
- e_selection_model_array_confirm_row_count(esma);
- e_bit_array_toggle_single_row(esma->eba, row);
-
- esma->selection_start_row = row;
- esma->selected_row = -1;
- esma->selected_range_end = -1;
- e_selection_model_selection_row_changed(E_SELECTION_MODEL(esma), row);
-}
-
-static void
-esma_real_move_selection_end (ESelectionModel *selection, int row)
-{
- ESelectionModelArray *esma = E_SELECTION_MODEL_ARRAY(selection);
- int old_start;
- int old_end;
- int new_start;
- int new_end;
- if (selection->sorter && e_sorter_needs_sorting(selection->sorter)) {
- old_start = MIN (e_sorter_model_to_sorted(selection->sorter, esma->selection_start_row),
- e_sorter_model_to_sorted(selection->sorter, esma->cursor_row));
- old_end = MAX (e_sorter_model_to_sorted(selection->sorter, esma->selection_start_row),
- e_sorter_model_to_sorted(selection->sorter, esma->cursor_row)) + 1;
- new_start = MIN (e_sorter_model_to_sorted(selection->sorter, esma->selection_start_row),
- e_sorter_model_to_sorted(selection->sorter, row));
- new_end = MAX (e_sorter_model_to_sorted(selection->sorter, esma->selection_start_row),
- e_sorter_model_to_sorted(selection->sorter, row)) + 1;
- } else {
- old_start = MIN (esma->selection_start_row, esma->cursor_row);
- old_end = MAX (esma->selection_start_row, esma->cursor_row) + 1;
- new_start = MIN (esma->selection_start_row, row);
- new_end = MAX (esma->selection_start_row, row) + 1;
- }
- /* This wouldn't work nearly so smoothly if one end of the selection weren't held in place. */
- if (old_start < new_start)
- esma_change_range(selection, old_start, new_start, FALSE);
- if (new_start < old_start)
- esma_change_range(selection, new_start, old_start, TRUE);
- if (old_end < new_end)
- esma_change_range(selection, old_end, new_end, TRUE);
- if (new_end < old_end)
- esma_change_range(selection, new_end, old_end, FALSE);
- esma->selected_row = -1;
- esma->selected_range_end = -1;
-}
-
-static void
-esma_move_selection_end (ESelectionModel *selection, int row)
-{
- esma_real_move_selection_end (selection, row);
- e_selection_model_selection_changed(selection);
-}
-
-static void
-esma_set_selection_end (ESelectionModel *selection, int row)
-{
- ESelectionModelArray *esma = E_SELECTION_MODEL_ARRAY(selection);
- int selected_range_end = esma->selected_range_end;
- int view_row = e_sorter_model_to_sorted(selection->sorter, row);
-
- esma_real_select_single_row(selection, esma->selection_start_row);
- esma->cursor_row = esma->selection_start_row;
- esma_real_move_selection_end(selection, row);
-
- esma->selected_range_end = view_row;
- if (selected_range_end != -1 && view_row != -1) {
- if (selected_range_end == view_row - 1 ||
- selected_range_end == view_row + 1) {
- e_selection_model_selection_row_changed(selection, selected_range_end);
- e_selection_model_selection_row_changed(selection, view_row);
- }
- }
- e_selection_model_selection_changed(selection);
-}
-
-int
-e_selection_model_array_get_row_count (ESelectionModelArray *esma)
-{
- g_return_val_if_fail(esma != NULL, 0);
- g_return_val_if_fail(E_IS_SELECTION_MODEL_ARRAY(esma), 0);
-
- if (E_SELECTION_MODEL_ARRAY_GET_CLASS(esma)->get_row_count)
- return E_SELECTION_MODEL_ARRAY_GET_CLASS(esma)->get_row_count (esma);
- else
- return 0;
-}
-
-
-static void
-e_selection_model_array_init (ESelectionModelArray *esma)
-{
- esma->eba = NULL;
- esma->selection_start_row = 0;
- esma->cursor_row = -1;
- esma->cursor_col = -1;
-
- esma->selected_row = -1;
- esma->selected_range_end = -1;
-}
-
-static void
-e_selection_model_array_class_init (ESelectionModelArrayClass *klass)
-{
- GObjectClass *object_class;
- ESelectionModelClass *esm_class;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class = G_OBJECT_CLASS(klass);
- esm_class = E_SELECTION_MODEL_CLASS(klass);
-
- object_class->dispose = esma_dispose;
- object_class->get_property = esma_get_property;
- object_class->set_property = esma_set_property;
-
- esm_class->is_row_selected = esma_is_row_selected ;
- esm_class->foreach = esma_foreach ;
- esm_class->clear = esma_clear ;
- esm_class->selected_count = esma_selected_count ;
- esm_class->select_all = esma_select_all ;
- esm_class->invert_selection = esma_invert_selection ;
- esm_class->row_count = esma_row_count ;
-
- esm_class->change_one_row = esma_change_one_row ;
- esm_class->change_cursor = esma_change_cursor ;
- esm_class->cursor_row = esma_cursor_row ;
- esm_class->cursor_col = esma_cursor_col ;
-
- esm_class->select_single_row = esma_select_single_row ;
- esm_class->toggle_single_row = esma_toggle_single_row ;
- esm_class->move_selection_end = esma_move_selection_end ;
- esm_class->set_selection_end = esma_set_selection_end ;
-
- klass->get_row_count = NULL ;
-
- g_object_class_install_property (object_class, PROP_CURSOR_ROW,
- g_param_spec_int ("cursor_row",
- _("Cursor Row"),
- /*_( */"XXX blurb" /*)*/,
- 0, G_MAXINT, 0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_CURSOR_COL,
- g_param_spec_int ("cursor_col",
- _("Cursor Column"),
- /*_( */"XXX blurb" /*)*/,
- 0, G_MAXINT, 0,
- G_PARAM_READWRITE));
-}
-
-E_MAKE_TYPE(e_selection_model_array, "ESelectionModelArray", ESelectionModelArray,
- e_selection_model_array_class_init, e_selection_model_array_init, PARENT_TYPE)
diff --git a/widgets/misc/e-selection-model-array.h b/widgets/misc/e-selection-model-array.h
deleted file mode 100644
index a533030f92..0000000000
--- a/widgets/misc/e-selection-model-array.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-selection-model-array.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_SELECTION_MODEL_ARRAY_H_
-#define _E_SELECTION_MODEL_ARRAY_H_
-
-#include <gtk/gtkobject.h>
-#include <gal/widgets/e-selection-model.h>
-#include <gal/util/e-bit-array.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define E_SELECTION_MODEL_ARRAY_TYPE (e_selection_model_array_get_type ())
-#define E_SELECTION_MODEL_ARRAY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_SELECTION_MODEL_ARRAY_TYPE, ESelectionModelArray))
-#define E_SELECTION_MODEL_ARRAY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_SELECTION_MODEL_ARRAY_TYPE, ESelectionModelArrayClass))
-#define E_IS_SELECTION_MODEL_ARRAY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_SELECTION_MODEL_ARRAY_TYPE))
-#define E_IS_SELECTION_MODEL_ARRAY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_SELECTION_MODEL_ARRAY_TYPE))
-#define E_SELECTION_MODEL_ARRAY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), E_SELECTION_MODEL_ARRAY_TYPE, ESelectionModelArrayClass))
-
-typedef struct {
- ESelectionModel base;
-
- EBitArray *eba;
-
- gint cursor_row;
- gint cursor_col;
- gint selection_start_row;
-
- guint model_changed_id;
- guint model_row_inserted_id, model_row_deleted_id;
-
- /* Anything other than -1 means that the selection is a single
- * row. This being -1 does not impart any information. */
- gint selected_row;
- /* Anything other than -1 means that the selection is a all
- * rows between selection_start_path and cursor_path where
- * selected_range_end is the rwo number of cursor_path. This
- * being -1 does not impart any information. */
- gint selected_range_end;
-
- guint frozen : 1;
- guint selection_model_changed : 1;
- guint group_info_changed : 1;
-} ESelectionModelArray;
-
-typedef struct {
- ESelectionModelClass parent_class;
-
- gint (*get_row_count) (ESelectionModelArray *selection);
-} ESelectionModelArrayClass;
-
-GType e_selection_model_array_get_type (void);
-
-/* Protected Functions */
-void e_selection_model_array_insert_rows (ESelectionModelArray *esm,
- int row,
- int count);
-void e_selection_model_array_delete_rows (ESelectionModelArray *esm,
- int row,
- int count);
-void e_selection_model_array_move_row (ESelectionModelArray *esm,
- int old_row,
- int new_row);
-void e_selection_model_array_confirm_row_count (ESelectionModelArray *esm);
-
-/* Protected Virtual Function */
-gint e_selection_model_array_get_row_count (ESelectionModelArray *esm);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* _E_SELECTION_MODEL_ARRAY_H_ */
diff --git a/widgets/misc/e-selection-model-simple.c b/widgets/misc/e-selection-model-simple.c
deleted file mode 100644
index 51a0d86623..0000000000
--- a/widgets/misc/e-selection-model-simple.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-selection-model-simple.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <gal/util/e-util.h>
-#include "e-selection-model-array.h"
-#include "e-selection-model-simple.h"
-
-#define PARENT_TYPE e_selection_model_array_get_type ()
-
-static ESelectionModelArray *parent_class;
-
-static gint esms_get_row_count (ESelectionModelArray *esma);
-
-static void
-e_selection_model_simple_init (ESelectionModelSimple *selection)
-{
- selection->row_count = 0;
-}
-
-static void
-e_selection_model_simple_class_init (ESelectionModelSimpleClass *klass)
-{
- ESelectionModelArrayClass *esma_class;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- esma_class = E_SELECTION_MODEL_ARRAY_CLASS(klass);
-
- esma_class->get_row_count = esms_get_row_count;
-}
-
-E_MAKE_TYPE(e_selection_model_simple, "ESelectionModelSimple", ESelectionModelSimple,
- e_selection_model_simple_class_init, e_selection_model_simple_init, PARENT_TYPE)
-
-/**
- * e_selection_model_simple_new
- *
- * This routine creates a new #ESelectionModelSimple.
- *
- * Returns: The new #ESelectionModelSimple.
- */
-ESelectionModelSimple *
-e_selection_model_simple_new (void)
-{
- return g_object_new (E_SELECTION_MODEL_SIMPLE_TYPE, NULL);
-}
-
-void
-e_selection_model_simple_set_row_count (ESelectionModelSimple *esms,
- int row_count)
-{
- if (esms->row_count != row_count) {
- ESelectionModelArray *esma = E_SELECTION_MODEL_ARRAY(esms);
- if (esma->eba)
- g_object_unref(esma->eba);
- esma->eba = NULL;
- esma->selected_row = -1;
- esma->selected_range_end = -1;
- }
- esms->row_count = row_count;
-}
-
-static gint
-esms_get_row_count (ESelectionModelArray *esma)
-{
- ESelectionModelSimple *esms = E_SELECTION_MODEL_SIMPLE(esma);
-
- return esms->row_count;
-}
-
-void e_selection_model_simple_insert_rows (ESelectionModelSimple *esms,
- int row,
- int count)
-{
- esms->row_count += count;
- e_selection_model_array_insert_rows (E_SELECTION_MODEL_ARRAY(esms), row, count);
-}
-
-void
-e_selection_model_simple_delete_rows (ESelectionModelSimple *esms,
- int row,
- int count)
-{
- esms->row_count -= count;
- e_selection_model_array_delete_rows (E_SELECTION_MODEL_ARRAY(esms), row, count);
-}
-
-void
-e_selection_model_simple_move_row (ESelectionModelSimple *esms,
- int old_row,
- int new_row)
-{
- e_selection_model_array_move_row (E_SELECTION_MODEL_ARRAY(esms), old_row, new_row);
-}
diff --git a/widgets/misc/e-selection-model-simple.h b/widgets/misc/e-selection-model-simple.h
deleted file mode 100644
index 6b4f84b4f9..0000000000
--- a/widgets/misc/e-selection-model-simple.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-selection-model-simple.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_SELECTION_MODEL_SIMPLE_H_
-#define _E_SELECTION_MODEL_SIMPLE_H_
-
-#include <gal/widgets/e-selection-model-array.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define E_SELECTION_MODEL_SIMPLE_TYPE (e_selection_model_simple_get_type ())
-#define E_SELECTION_MODEL_SIMPLE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_SELECTION_MODEL_SIMPLE_TYPE, ESelectionModelSimple))
-#define E_SELECTION_MODEL_SIMPLE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_SELECTION_MODEL_SIMPLE_TYPE, ESelectionModelSimpleClass))
-#define E_IS_SELECTION_MODEL_SIMPLE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_SELECTION_MODEL_SIMPLE_TYPE))
-#define E_IS_SELECTION_MODEL_SIMPLE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_SELECTION_MODEL_SIMPLE_TYPE))
-
-typedef struct {
- ESelectionModelArray parent;
-
- int row_count;
-} ESelectionModelSimple;
-
-typedef struct {
- ESelectionModelArrayClass parent_class;
-} ESelectionModelSimpleClass;
-
-GType e_selection_model_simple_get_type (void);
-ESelectionModelSimple *e_selection_model_simple_new (void);
-
-void e_selection_model_simple_insert_rows (ESelectionModelSimple *esms,
- int row,
- int count);
-void e_selection_model_simple_delete_rows (ESelectionModelSimple *esms,
- int row,
- int count);
-void e_selection_model_simple_move_row (ESelectionModelSimple *esms,
- int old_row,
- int new_row);
-
-void e_selection_model_simple_set_row_count (ESelectionModelSimple *selection,
- int row_count);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* _E_SELECTION_MODEL_SIMPLE_H_ */
-
diff --git a/widgets/misc/e-selection-model.c b/widgets/misc/e-selection-model.c
deleted file mode 100644
index 991fc78490..0000000000
--- a/widgets/misc/e-selection-model.c
+++ /dev/null
@@ -1,689 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-selection-model.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <gdk/gdkkeysyms.h>
-#include "e-selection-model.h"
-#include "gal/util/e-i18n.h"
-#include "gal/util/e-util.h"
-
-#define PARENT_TYPE G_TYPE_OBJECT
-
-static GObjectClass *e_selection_model_parent_class;
-
-enum {
- CURSOR_CHANGED,
- CURSOR_ACTIVATED,
- SELECTION_CHANGED,
- SELECTION_ROW_CHANGED,
- LAST_SIGNAL
-};
-
-static guint e_selection_model_signals [LAST_SIGNAL] = { 0, };
-
-enum {
- PROP_0,
- PROP_SORTER,
- PROP_SELECTION_MODE,
- PROP_CURSOR_MODE
-};
-
-inline static void
-add_sorter(ESelectionModel *esm, ESorter *sorter)
-{
- esm->sorter = sorter;
- if (sorter) {
- g_object_ref (sorter);
- }
-}
-
-inline static void
-drop_sorter(ESelectionModel *esm)
-{
- if (esm->sorter) {
- g_object_unref (esm->sorter);
- }
- esm->sorter = NULL;
-}
-
-static void
-esm_dispose (GObject *object)
-{
- ESelectionModel *esm;
-
- esm = E_SELECTION_MODEL (object);
-
- drop_sorter(esm);
-
- if (e_selection_model_parent_class->dispose)
- (* e_selection_model_parent_class->dispose) (object);
-}
-
-static void
-esm_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
- ESelectionModel *esm = E_SELECTION_MODEL (object);
-
- switch (prop_id){
- case PROP_SORTER:
- g_value_set_object (value, esm->sorter);
- break;
-
- case PROP_SELECTION_MODE:
- g_value_set_int (value, esm->mode);
- break;
-
- case PROP_CURSOR_MODE:
- g_value_set_int (value, esm->cursor_mode);
- break;
- }
-}
-
-static void
-esm_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
-{
- ESelectionModel *esm = E_SELECTION_MODEL (object);
-
- switch (prop_id){
- case PROP_SORTER:
- drop_sorter(esm);
- add_sorter(esm, g_value_get_object (value) ? E_SORTER(g_value_get_object(value)) : NULL);
- break;
-
- case PROP_SELECTION_MODE:
- esm->mode = g_value_get_int (value);
- if (esm->mode == GTK_SELECTION_SINGLE) {
- int cursor_row = e_selection_model_cursor_row(esm);
- int cursor_col = e_selection_model_cursor_col(esm);
- e_selection_model_do_something(esm, cursor_row, cursor_col, 0);
- }
- break;
-
- case PROP_CURSOR_MODE:
- esm->cursor_mode = g_value_get_int (value);
- break;
- }
-}
-
-static void
-e_selection_model_init (ESelectionModel *selection)
-{
- selection->mode = GTK_SELECTION_MULTIPLE;
- selection->cursor_mode = E_CURSOR_SIMPLE;
- selection->old_selection = -1;
-}
-
-static void
-e_selection_model_class_init (ESelectionModelClass *klass)
-{
- GObjectClass *object_class;
-
- e_selection_model_parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class = G_OBJECT_CLASS(klass);
-
- object_class->dispose = esm_dispose;
- object_class->get_property = esm_get_property;
- object_class->set_property = esm_set_property;
-
- e_selection_model_signals [CURSOR_CHANGED] =
- g_signal_new ("cursor_changed",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ESelectionModelClass, cursor_changed),
- NULL, NULL,
- e_marshal_NONE__INT_INT,
- G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT);
-
- e_selection_model_signals [CURSOR_ACTIVATED] =
- g_signal_new ("cursor_activated",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ESelectionModelClass, cursor_activated),
- NULL, NULL,
- e_marshal_NONE__INT_INT,
- G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT);
-
- e_selection_model_signals [SELECTION_CHANGED] =
- g_signal_new ("selection_changed",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ESelectionModelClass, selection_changed),
- NULL, NULL,
- e_marshal_NONE__NONE,
- G_TYPE_NONE, 0);
-
- e_selection_model_signals [SELECTION_ROW_CHANGED] =
- g_signal_new ("selection_row_changed",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ESelectionModelClass, selection_row_changed),
- NULL, NULL,
- e_marshal_NONE__INT,
- G_TYPE_NONE, 1, G_TYPE_INT);
-
- klass->cursor_changed = NULL;
- klass->cursor_activated = NULL;
- klass->selection_changed = NULL;
- klass->selection_row_changed = NULL;
-
- klass->is_row_selected = NULL;
- klass->foreach = NULL;
- klass->clear = NULL;
- klass->selected_count = NULL;
- klass->select_all = NULL;
- klass->invert_selection = NULL;
- klass->row_count = NULL;
-
- klass->change_one_row = NULL;
- klass->change_cursor = NULL;
- klass->cursor_row = NULL;
- klass->cursor_col = NULL;
-
- klass->select_single_row = NULL;
- klass->toggle_single_row = NULL;
- klass->move_selection_end = NULL;
- klass->set_selection_end = NULL;
-
- g_object_class_install_property (object_class, PROP_SORTER,
- g_param_spec_object ("sorter",
- _("Sorter"),
- /*_( */"XXX blurb" /*)*/,
- E_SORTER_TYPE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_SELECTION_MODE,
- g_param_spec_int ("selection_mode",
- _("Selection Mode"),
- /*_( */"XXX blurb" /*)*/,
- GTK_SELECTION_NONE, GTK_SELECTION_MULTIPLE,
- GTK_SELECTION_SINGLE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_CURSOR_MODE,
- g_param_spec_int ("cursor_mode",
- _("Cursor Mode"),
- /*_( */"XXX blurb" /*)*/,
- E_CURSOR_LINE, E_CURSOR_SPREADSHEET,
- E_CURSOR_LINE,
- G_PARAM_READWRITE));
-}
-
-E_MAKE_TYPE(e_selection_model, "ESelectionModel", ESelectionModel,
- e_selection_model_class_init, e_selection_model_init, PARENT_TYPE)
-
-/**
- * e_selection_model_is_row_selected
- * @selection: #ESelectionModel to check
- * @n: The row to check
- *
- * This routine calculates whether the given row is selected.
- *
- * Returns: %TRUE if the given row is selected
- */
-gboolean
-e_selection_model_is_row_selected (ESelectionModel *selection,
- gint n)
-{
- if (E_SELECTION_MODEL_GET_CLASS(selection)->is_row_selected)
- return E_SELECTION_MODEL_GET_CLASS(selection)->is_row_selected (selection, n);
- else
- return FALSE;
-}
-
-/**
- * e_selection_model_foreach
- * @selection: #ESelectionModel to traverse
- * @callback: The callback function to call back.
- * @closure: The closure
- *
- * This routine calls the given callback function once for each
- * selected row, passing closure as the closure.
- */
-void
-e_selection_model_foreach (ESelectionModel *selection,
- EForeachFunc callback,
- gpointer closure)
-{
- if (E_SELECTION_MODEL_GET_CLASS(selection)->foreach)
- E_SELECTION_MODEL_GET_CLASS(selection)->foreach (selection, callback, closure);
-}
-
-/**
- * e_selection_model_clear
- * @selection: #ESelectionModel to clear
- *
- * This routine clears the selection to no rows selected.
- */
-void
-e_selection_model_clear(ESelectionModel *selection)
-{
- if (E_SELECTION_MODEL_GET_CLASS(selection)->clear)
- E_SELECTION_MODEL_GET_CLASS(selection)->clear (selection);
-}
-
-/**
- * e_selection_model_selected_count
- * @selection: #ESelectionModel to count
- *
- * This routine calculates the number of rows selected.
- *
- * Returns: The number of rows selected in the given model.
- */
-gint
-e_selection_model_selected_count (ESelectionModel *selection)
-{
- if (E_SELECTION_MODEL_GET_CLASS(selection)->selected_count)
- return E_SELECTION_MODEL_GET_CLASS(selection)->selected_count (selection);
- else
- return 0;
-}
-
-/**
- * e_selection_model_select_all
- * @selection: #ESelectionModel to select all
- *
- * This routine selects all the rows in the given
- * #ESelectionModel.
- */
-void
-e_selection_model_select_all (ESelectionModel *selection)
-{
- if (E_SELECTION_MODEL_GET_CLASS(selection)->select_all)
- E_SELECTION_MODEL_GET_CLASS(selection)->select_all (selection);
-}
-
-/**
- * e_selection_model_invert_selection
- * @selection: #ESelectionModel to invert
- *
- * This routine inverts all the rows in the given
- * #ESelectionModel.
- */
-void
-e_selection_model_invert_selection (ESelectionModel *selection)
-{
- if (E_SELECTION_MODEL_GET_CLASS(selection)->invert_selection)
- E_SELECTION_MODEL_GET_CLASS(selection)->invert_selection (selection);
-}
-
-int
-e_selection_model_row_count (ESelectionModel *selection)
-{
- if (E_SELECTION_MODEL_GET_CLASS(selection)->row_count)
- return E_SELECTION_MODEL_GET_CLASS(selection)->row_count (selection);
- else
- return 0;
-}
-
-void
-e_selection_model_change_one_row(ESelectionModel *selection, int row, gboolean grow)
-{
- if (E_SELECTION_MODEL_GET_CLASS(selection)->change_one_row)
- E_SELECTION_MODEL_GET_CLASS(selection)->change_one_row (selection, row, grow);
-}
-
-void
-e_selection_model_change_cursor (ESelectionModel *selection, int row, int col)
-{
- if (E_SELECTION_MODEL_GET_CLASS(selection)->change_cursor)
- E_SELECTION_MODEL_GET_CLASS(selection)->change_cursor (selection, row, col);
-}
-
-int
-e_selection_model_cursor_row (ESelectionModel *selection)
-{
- if (E_SELECTION_MODEL_GET_CLASS(selection)->cursor_row)
- return E_SELECTION_MODEL_GET_CLASS(selection)->cursor_row (selection);
- else
- return -1;
-}
-
-int
-e_selection_model_cursor_col (ESelectionModel *selection)
-{
- if (E_SELECTION_MODEL_GET_CLASS(selection)->cursor_col)
- return E_SELECTION_MODEL_GET_CLASS(selection)->cursor_col (selection);
- else
- return -1;
-}
-
-void
-e_selection_model_select_single_row (ESelectionModel *selection, int row)
-{
- if (E_SELECTION_MODEL_GET_CLASS(selection)->select_single_row)
- E_SELECTION_MODEL_GET_CLASS(selection)->select_single_row (selection, row);
-}
-
-void
-e_selection_model_toggle_single_row (ESelectionModel *selection, int row)
-{
- if (E_SELECTION_MODEL_GET_CLASS(selection)->toggle_single_row)
- E_SELECTION_MODEL_GET_CLASS(selection)->toggle_single_row (selection, row);
-}
-
-void
-e_selection_model_move_selection_end (ESelectionModel *selection, int row)
-{
- if (E_SELECTION_MODEL_GET_CLASS(selection)->move_selection_end)
- E_SELECTION_MODEL_GET_CLASS(selection)->move_selection_end (selection, row);
-}
-
-void
-e_selection_model_set_selection_end (ESelectionModel *selection, int row)
-{
- if (E_SELECTION_MODEL_GET_CLASS(selection)->set_selection_end)
- E_SELECTION_MODEL_GET_CLASS(selection)->set_selection_end (selection, row);
-}
-
-/**
- * e_selection_model_do_something
- * @selection: #ESelectionModel to do something to.
- * @row: The row to do something in.
- * @col: The col to do something in.
- * @state: The state in which to do something.
- *
- * This routine does whatever is appropriate as if the user clicked
- * the mouse in the given row and column.
- */
-void
-e_selection_model_do_something (ESelectionModel *selection,
- guint row,
- guint col,
- GdkModifierType state)
-{
- gint shift_p = state & GDK_SHIFT_MASK;
- gint ctrl_p = state & GDK_CONTROL_MASK;
- int row_count;
-
- selection->old_selection = -1;
-
- if (row == -1 && col != -1)
- row = 0;
- if (col == -1 && row != -1)
- col = 0;
-
- row_count = e_selection_model_row_count(selection);
- if (row_count >= 0 && row < row_count) {
- switch (selection->mode) {
- case GTK_SELECTION_SINGLE:
- e_selection_model_select_single_row (selection, row);
- break;
- case GTK_SELECTION_BROWSE:
- case GTK_SELECTION_MULTIPLE:
- if (shift_p) {
- e_selection_model_set_selection_end (selection, row);
- } else {
- if (ctrl_p) {
- e_selection_model_toggle_single_row (selection, row);
- } else {
- e_selection_model_select_single_row (selection, row);
- }
- }
- break;
- default:
- g_assert_not_reached ();
- break;
- }
- e_selection_model_change_cursor(selection, row, col);
- g_signal_emit(selection,
- e_selection_model_signals[CURSOR_CHANGED], 0,
- row, col);
- g_signal_emit(selection,
- e_selection_model_signals[CURSOR_ACTIVATED], 0,
- row, col);
- }
-}
-
-/**
- * e_selection_model_maybe_do_something
- * @selection: #ESelectionModel to do something to.
- * @row: The row to do something in.
- * @col: The col to do something in.
- * @state: The state in which to do something.
- *
- * If this row is selected, this routine just moves the cursor row and
- * column. Otherwise, it does the same thing as
- * e_selection_model_do_something(). This is for being used on
- * right clicks and other events where if the user hit the selection,
- * they don't want it to change.
- */
-gboolean
-e_selection_model_maybe_do_something (ESelectionModel *selection,
- guint row,
- guint col,
- GdkModifierType state)
-{
- selection->old_selection = -1;
-
- if (e_selection_model_is_row_selected(selection, row)) {
- e_selection_model_change_cursor(selection, row, col);
- g_signal_emit(selection,
- e_selection_model_signals[CURSOR_CHANGED], 0,
- row, col);
- return FALSE;
- } else {
- e_selection_model_do_something(selection, row, col, state);
- return TRUE;
- }
-}
-
-void
-e_selection_model_right_click_down (ESelectionModel *selection,
- guint row,
- guint col,
- GdkModifierType state)
-{
- if (selection->mode == GTK_SELECTION_SINGLE) {
- selection->old_selection = e_selection_model_cursor_row (selection);
- e_selection_model_select_single_row (selection, row);
- } else {
- e_selection_model_maybe_do_something (selection, row, col, state);
- }
-}
-
-void
-e_selection_model_right_click_up (ESelectionModel *selection)
-{
- if (selection->mode == GTK_SELECTION_SINGLE && selection->old_selection != -1) {
- e_selection_model_select_single_row (selection, selection->old_selection);
- }
-}
-
-void
-e_selection_model_select_as_key_press (ESelectionModel *selection,
- guint row,
- guint col,
- GdkModifierType state)
-{
- int cursor_activated = TRUE;
-
- gint shift_p = state & GDK_SHIFT_MASK;
- gint ctrl_p = state & GDK_CONTROL_MASK;
-
- selection->old_selection = -1;
-
- switch (selection->mode) {
- case GTK_SELECTION_BROWSE:
- case GTK_SELECTION_MULTIPLE:
- if (shift_p) {
- e_selection_model_set_selection_end (selection, row);
- } else if (!ctrl_p) {
- e_selection_model_select_single_row (selection, row);
- } else
- cursor_activated = FALSE;
- break;
- case GTK_SELECTION_SINGLE:
- e_selection_model_select_single_row (selection, row);
- break;
- default:
- g_assert_not_reached ();
- break;
- }
- if (row != -1) {
- e_selection_model_change_cursor(selection, row, col);
- g_signal_emit(selection,
- e_selection_model_signals[CURSOR_CHANGED], 0,
- row, col);
- if (cursor_activated)
- g_signal_emit(selection,
- e_selection_model_signals[CURSOR_ACTIVATED], 0,
- row, col);
- }
-}
-
-static gint
-move_selection (ESelectionModel *selection,
- gboolean up,
- GdkModifierType state)
-{
- int row = e_selection_model_cursor_row(selection);
- int col = e_selection_model_cursor_col(selection);
- int row_count;
-
- row = e_sorter_model_to_sorted(selection->sorter, row);
- if (up)
- row--;
- else
- row++;
- if (row < 0)
- row = 0;
- row_count = e_selection_model_row_count(selection);
- if (row >= row_count)
- row = row_count - 1;
- row = e_sorter_sorted_to_model(selection->sorter, row);
-
- e_selection_model_select_as_key_press (selection, row, col, state);
- return TRUE;
-}
-
-/**
- * e_selection_model_key_press
- * @selection: #ESelectionModel to affect.
- * @key: The event.
- *
- * This routine does whatever is appropriate as if the user pressed
- * the given key.
- *
- * Returns: %TRUE if the #ESelectionModel used the key.
- */
-gint
-e_selection_model_key_press (ESelectionModel *selection,
- GdkEventKey *key)
-{
- selection->old_selection = -1;
-
- switch (key->keyval) {
- case GDK_Up:
- case GDK_KP_Up:
- return move_selection(selection, TRUE, key->state);
- break;
- case GDK_Down:
- case GDK_KP_Down:
- return move_selection(selection, FALSE, key->state);
- break;
- case GDK_space:
- case GDK_KP_Space:
- if (selection->mode != GTK_SELECTION_SINGLE) {
- int row = e_selection_model_cursor_row(selection);
- int col = e_selection_model_cursor_col(selection);
- e_selection_model_toggle_single_row (selection, row);
- g_signal_emit(selection,
- e_selection_model_signals[CURSOR_ACTIVATED], 0,
- row, col);
- return TRUE;
- }
- break;
- case GDK_Return:
- case GDK_KP_Enter:
- if (selection->mode != GTK_SELECTION_SINGLE) {
- int row = e_selection_model_cursor_row(selection);
- int col = e_selection_model_cursor_col(selection);
- e_selection_model_select_single_row (selection, row);
- g_signal_emit(selection,
- e_selection_model_signals[CURSOR_ACTIVATED], 0,
- row, col);
- return TRUE;
- }
- break;
- case GDK_Home:
- case GDK_KP_Home:
- if (selection->cursor_mode == E_CURSOR_LINE) {
- int row = 0;
- int cursor_col = e_selection_model_cursor_col(selection);
-
- row = e_sorter_sorted_to_model(selection->sorter, row);
- e_selection_model_select_as_key_press (selection, row, cursor_col, key->state);
- return TRUE;
- }
- break;
- case GDK_End:
- case GDK_KP_End:
- if (selection->cursor_mode == E_CURSOR_LINE) {
- int row = e_selection_model_row_count(selection) - 1;
- int cursor_col = e_selection_model_cursor_col(selection);
-
- row = e_sorter_sorted_to_model(selection->sorter, row);
- e_selection_model_select_as_key_press (selection, row, cursor_col, key->state);
- return TRUE;
- }
- break;
- }
- return FALSE;
-}
-
-void
-e_selection_model_cursor_changed (ESelectionModel *selection,
- int row,
- int col)
-{
- g_signal_emit(selection,
- e_selection_model_signals[CURSOR_CHANGED], 0,
- row, col);
-}
-
-void
-e_selection_model_cursor_activated (ESelectionModel *selection,
- int row,
- int col)
-{
- g_signal_emit(selection,
- e_selection_model_signals[CURSOR_ACTIVATED], 0,
- row, col);
-}
-
-void
-e_selection_model_selection_changed (ESelectionModel *selection)
-{
- g_signal_emit(selection,
- e_selection_model_signals[SELECTION_CHANGED], 0);
-}
-
-void
-e_selection_model_selection_row_changed (ESelectionModel *selection,
- int row)
-{
- g_signal_emit(selection,
- e_selection_model_signals[SELECTION_ROW_CHANGED], 0,
- row);
-}
diff --git a/widgets/misc/e-selection-model.h b/widgets/misc/e-selection-model.h
deleted file mode 100644
index a78bdfd9c3..0000000000
--- a/widgets/misc/e-selection-model.h
+++ /dev/null
@@ -1,170 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-selection-model.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_SELECTION_MODEL_H_
-#define _E_SELECTION_MODEL_H_
-
-#include <gtk/gtkobject.h>
-#include <gal/util/e-sorter.h>
-#include <gdk/gdkevents.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define E_SELECTION_MODEL_TYPE (e_selection_model_get_type ())
-#define E_SELECTION_MODEL(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_SELECTION_MODEL_TYPE, ESelectionModel))
-#define E_SELECTION_MODEL_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_SELECTION_MODEL_TYPE, ESelectionModelClass))
-#define E_IS_SELECTION_MODEL(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_SELECTION_MODEL_TYPE))
-#define E_IS_SELECTION_MODEL_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_SELECTION_MODEL_TYPE))
-#define E_SELECTION_MODEL_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), E_SELECTION_MODEL_TYPE, ESelectionModelClass))
-
-#ifndef _E_FOREACH_FUNC_H_
-#define _E_FOREACH_FUNC_H_
-typedef void (*EForeachFunc) (int model_row,
- gpointer closure);
-#endif
-
-/* list selection modes */
-typedef enum {
- E_CURSOR_LINE,
- E_CURSOR_SIMPLE,
- E_CURSOR_SPREADSHEET
-} ECursorMode;
-
-typedef struct {
- GObject base;
-
- ESorter *sorter;
-
- GtkSelectionMode mode;
- ECursorMode cursor_mode;
-
- int old_selection;
-} ESelectionModel;
-
-typedef struct {
- GObjectClass parent_class;
-
- /* Virtual methods */
- gboolean (*is_row_selected) (ESelectionModel *esm, int row);
- void (*foreach) (ESelectionModel *esm, EForeachFunc callback, gpointer closure);
- void (*clear) (ESelectionModel *esm);
- gint (*selected_count) (ESelectionModel *esm);
- void (*select_all) (ESelectionModel *esm);
- void (*invert_selection) (ESelectionModel *esm);
- int (*row_count) (ESelectionModel *esm);
-
- /* Protected virtual methods. */
- void (*change_one_row) (ESelectionModel *esm, int row, gboolean on);
- void (*change_cursor) (ESelectionModel *esm, int row, int col);
- int (*cursor_row) (ESelectionModel *esm);
- int (*cursor_col) (ESelectionModel *esm);
-
- void (*select_single_row) (ESelectionModel *selection, int row);
- void (*toggle_single_row) (ESelectionModel *selection, int row);
- void (*move_selection_end) (ESelectionModel *selection, int row);
- void (*set_selection_end) (ESelectionModel *selection, int row);
-
- /*
- * Signals
- */
-
- void (*cursor_changed) (ESelectionModel *esm, int row, int col);
- void (*cursor_activated) (ESelectionModel *esm, int row, int col);
- void (*selection_row_changed) (ESelectionModel *esm, int row);
- void (*selection_changed) (ESelectionModel *esm);
-
-} ESelectionModelClass;
-
-
-GType e_selection_model_get_type (void);
-void e_selection_model_do_something (ESelectionModel *esm,
- guint row,
- guint col,
- GdkModifierType state);
-gboolean e_selection_model_maybe_do_something (ESelectionModel *esm,
- guint row,
- guint col,
- GdkModifierType state);
-void e_selection_model_right_click_down (ESelectionModel *selection,
- guint row,
- guint col,
- GdkModifierType state);
-void e_selection_model_right_click_up (ESelectionModel *selection);
-gint e_selection_model_key_press (ESelectionModel *esm,
- GdkEventKey *key);
-void e_selection_model_select_as_key_press (ESelectionModel *esm,
- guint row,
- guint col,
- GdkModifierType state);
-
-/* Virtual functions */
-gboolean e_selection_model_is_row_selected (ESelectionModel *esm,
- gint n);
-void e_selection_model_foreach (ESelectionModel *esm,
- EForeachFunc callback,
- gpointer closure);
-void e_selection_model_clear (ESelectionModel *esm);
-gint e_selection_model_selected_count (ESelectionModel *esm);
-void e_selection_model_select_all (ESelectionModel *esm);
-void e_selection_model_invert_selection (ESelectionModel *esm);
-int e_selection_model_row_count (ESelectionModel *esm);
-
-
-/* Private virtual Functions */
-void e_selection_model_change_one_row (ESelectionModel *esm,
- int row,
- gboolean on);
-void e_selection_model_change_cursor (ESelectionModel *esm,
- int row,
- int col);
-int e_selection_model_cursor_row (ESelectionModel *esm);
-int e_selection_model_cursor_col (ESelectionModel *esm);
-void e_selection_model_select_single_row (ESelectionModel *selection,
- int row);
-void e_selection_model_toggle_single_row (ESelectionModel *selection,
- int row);
-void e_selection_model_move_selection_end (ESelectionModel *selection,
- int row);
-void e_selection_model_set_selection_end (ESelectionModel *selection,
- int row);
-
-/* Signals */
-void e_selection_model_cursor_changed (ESelectionModel *selection,
- int row,
- int col);
-void e_selection_model_cursor_activated (ESelectionModel *selection,
- int row,
- int col);
-void e_selection_model_selection_row_changed (ESelectionModel *selection,
- int row);
-void e_selection_model_selection_changed (ESelectionModel *selection);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* _E_SELECTION_MODEL_H_ */
-
diff --git a/widgets/misc/e-unicode.c b/widgets/misc/e-unicode.c
deleted file mode 100644
index d7bd33caa7..0000000000
--- a/widgets/misc/e-unicode.c
+++ /dev/null
@@ -1,2055 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-unicode.c - utf-8 support functions for gal
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Lauris Kaplinski <lauris@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-/*
- * TODO: Break simple ligatures in e_utf8_strstrcasedecomp
- */
-
-#include <config.h>
-
-#include "e-unicode.h"
-
-#include "gal/util/e-i18n.h"
-#include <ctype.h>
-#include <string.h>
-#include <stdio.h>
-#include <iconv.h>
-#include <gdk/gdk.h>
-#include <gdk/gdkx.h>
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtkmenuitem.h>
-#include <libxml/xmlmemory.h>
-#include <stdlib.h>
-#include "gal/util/e-iconv.h"
-
-#ifdef HAVE_ALLOCA_H
-#include <alloca.h>
-#endif
-
-#define d(x) x
-
-#define FONT_TESTING
-#define MAX_DECOMP 8
-
-static gint e_canonical_decomposition (gunichar ch, gunichar * buf);
-static gunichar e_stripped_char (gunichar ch);
-
-#ifndef NO_WARNINGS
-#warning FIXME: this has not been ported fully yet - non ASCII people beware.
-#endif
-
-/*
- * This my favourite
- *
- * strstr doing case insensitive, decomposing search
- *
- * Lauris
- */
-
-const gchar *
-e_utf8_strstrcasedecomp (const gchar *haystack, const gchar *needle)
-{
- gunichar *nuni;
- gunichar unival;
- gint nlen;
- const guchar *o, *p;
-
- if (haystack == NULL) return NULL;
- if (needle == NULL) return NULL;
- if (strlen (needle) == 0) return haystack;
- if (strlen (haystack) == 0) return NULL;
-
- nuni = alloca (sizeof (gunichar) * strlen (needle));
-
- nlen = 0;
- for (p = e_unicode_get_utf8 (needle, &unival); p && unival; p = e_unicode_get_utf8 (p, &unival)) {
- gint sc;
- sc = e_stripped_char (unival);
- if (sc) {
- nuni[nlen++] = sc;
- }
- }
- /* NULL means there was illegal utf-8 sequence */
- if (!p) return NULL;
- /* If everything is correct, we have decomposed, lowercase, stripped needle */
- if (nlen < 1) return haystack;
-
- o = haystack;
- for (p = e_unicode_get_utf8 (o, &unival); p && unival; p = e_unicode_get_utf8 (p, &unival)) {
- gint sc;
- sc = e_stripped_char (unival);
- if (sc) {
- /* We have valid stripped char */
- if (sc == nuni[0]) {
- const gchar *q = p;
- gint npos = 1;
- while (npos < nlen) {
- q = e_unicode_get_utf8 (q, &unival);
- if (!q || !unival) return NULL;
- sc = e_stripped_char (unival);
- if ((!sc) || (sc != nuni[npos])) break;
- npos++;
- }
- if (npos == nlen) {
- return o;
- }
- }
- }
- o = p;
- }
-
- return NULL;
-}
-
-const gchar *
-e_utf8_strstrcase (const gchar *haystack, const gchar *needle)
-{
- gunichar *nuni;
- gunichar unival;
- gint nlen;
- const guchar *o, *p;
-
- if (haystack == NULL) return NULL;
- if (needle == NULL) return NULL;
- if (strlen (needle) == 0) return haystack;
- if (strlen (haystack) == 0) return NULL;
-
- nuni = alloca (sizeof (gunichar) * strlen (needle));
-
- nlen = 0;
- for (p = e_unicode_get_utf8 (needle, &unival); p && unival; p = e_unicode_get_utf8 (p, &unival)) {
- nuni[nlen++] = g_unichar_tolower (unival);
- }
- /* NULL means there was illegal utf-8 sequence */
- if (!p) return NULL;
-
- o = haystack;
- for (p = e_unicode_get_utf8 (o, &unival); p && unival; p = e_unicode_get_utf8 (p, &unival)) {
- gint sc;
- sc = g_unichar_tolower (unival);
- /* We have valid stripped char */
- if (sc == nuni[0]) {
- const gchar *q = p;
- gint npos = 1;
- while (npos < nlen) {
- q = e_unicode_get_utf8 (q, &unival);
- if (!q || !unival) return NULL;
- sc = g_unichar_tolower (unival);
- if (sc != nuni[npos]) break;
- npos++;
- }
- if (npos == nlen) {
- return o;
- }
- }
- o = p;
- }
-
- return NULL;
-}
-
-#if 0
-const gchar *
-e_utf8_strstrcase (const gchar *haystack, const gchar *needle)
-{
- gchar *p;
- gunichar *huni, *nuni;
- gunichar unival;
- gint hlen, nlen, hp, np;
-
- if (haystack == NULL) return NULL;
- if (needle == NULL) return NULL;
- if (strlen (needle) == 0) return haystack;
-
- huni = alloca (sizeof (gunichar) * strlen (haystack));
-
- for (hlen = 0, p = e_unicode_get_utf8 (haystack, &unival); p && unival; hlen++, p = e_unicode_get_utf8 (p, &unival)) {
- huni[hlen] = g_unichar_tolower (unival);
- }
-
- if (!p) return NULL;
- if (hlen == 0) return NULL;
-
- nuni = alloca (sizeof (gunichar) * strlen (needle));
-
- for (nlen = 0, p = e_unicode_get_utf8 (needle, &unival); p && unival; nlen++, p = e_unicode_get_utf8 (p, &unival)) {
- nuni[nlen] = g_unichar_tolower (unival);
- }
-
- if (!p) return NULL;
- if (nlen == 0) return NULL;
-
- if (hlen < nlen) return NULL;
-
- for (hp = 0; hp <= hlen - nlen; hp++) {
- for (np = 0; np < nlen; np++) {
- if (huni[hp + np] != nuni[np]) break;
- }
- if (np == nlen) return haystack + unicode_offset_to_index (haystack, hp);
- }
-
- return NULL;
-}
-#endif
-
-gchar *
-e_utf8_from_gtk_event_key (GtkWidget *widget, guint keyval, const gchar *string)
-{
- gint unival;
- gchar *utf;
- gint unilen;
-
- if (keyval == GDK_VoidSymbol) {
- utf = e_utf8_from_locale_string (string);
- } else {
- unival = gdk_keyval_to_unicode (keyval);
-
- if (unival < ' ') return NULL;
-
- utf = g_new (gchar, 7);
-
- unilen = e_unichar_to_utf8 (unival, utf);
-
- utf[unilen] = '\0';
- }
-
- return utf;
-}
-
-gchar *
-e_utf8_from_iconv_string_sized (iconv_t ic, const gchar *string, gint bytes)
-{
- char *new, *ob;
- const char *ib;
- size_t ibl, obl;
-
- if (!string) return NULL;
-
- if (ic == (iconv_t) -1) {
- gint i;
- /* iso-8859-1 */
- ib = (char *) string;
- new = ob = g_new (unsigned char, bytes * 2 + 1);
- for (i = 0; i < (bytes); i ++) {
- ob += e_unichar_to_utf8 (ib[i], ob);
- }
- *ob = '\0';
- return new;
- }
-
- ib = string;
- ibl = bytes;
- new = ob = g_new (gchar, ibl * 6 + 1);
- obl = ibl * 6;
-
- while (ibl > 0) {
- e_iconv (ic, &ib, &ibl, &ob, &obl);
- if (ibl > 0) {
- gint len;
- if ((*ib & 0x80) == 0x00) len = 1;
- else if ((*ib &0xe0) == 0xc0) len = 2;
- else if ((*ib &0xf0) == 0xe0) len = 3;
- else if ((*ib &0xf8) == 0xf0) len = 4;
- else {
- g_warning ("Invalid UTF-8 sequence");
- break;
- }
- ib += len;
- ibl = bytes - (ib - string);
- if (ibl > bytes) ibl = 0;
- *ob++ = '_';
- obl--;
- }
- }
-
- *ob = '\0';
-
- return new;
-}
-
-gchar *
-e_utf8_from_iconv_string (iconv_t ic, const gchar *string)
-{
- if (!string) return NULL;
- return e_utf8_from_iconv_string_sized (ic, string, strlen (string));
-}
-
-gchar *
-e_utf8_to_iconv_string_sized (iconv_t ic, const gchar *string, gint bytes)
-{
- char *new, *ob;
- const char *ib;
- size_t ibl, obl;
-
- if (!string) return NULL;
-
- if (ic == (iconv_t) -1) {
- gint len;
- const gchar *u;
- gunichar uc;
-
- new = g_new (unsigned char, bytes * 4 + 1);
- u = string;
- len = 0;
-
- while ((u) && (u - string < bytes)) {
- u = e_unicode_get_utf8 (u, &uc);
- new[len++] = uc & 0xff;
- }
- new[len] = '\0';
- return new;
- }
-
- ib = string;
- ibl = bytes;
- new = ob = g_new (char, ibl * 4 + 4);
- obl = ibl * 4;
-
- while (ibl > 0) {
- e_iconv (ic, &ib, &ibl, &ob, &obl);
- if (ibl > 0) {
- gint len;
- if ((*ib & 0x80) == 0x00) len = 1;
- else if ((*ib &0xe0) == 0xc0) len = 2;
- else if ((*ib &0xf0) == 0xe0) len = 3;
- else if ((*ib &0xf8) == 0xf0) len = 4;
- else {
- g_warning ("Invalid UTF-8 sequence");
- break;
- }
- ib += len;
- ibl = bytes - (ib - string);
- if (ibl > bytes) ibl = 0;
-
- /* FIXME: this is wrong... what if the destination charset is 16 or 32 bit? */
- *ob++ = '_';
- obl--;
- }
- }
-
- /* Make sure to terminate with plenty of padding */
- memset (ob, 0, 4);
-
- return new;
-}
-
-gchar *
-e_utf8_to_iconv_string (iconv_t ic, const gchar *string)
-{
- if (!string) return NULL;
- return e_utf8_to_iconv_string_sized (ic, string, strlen (string));
-}
-
-gchar *
-e_utf8_from_charset_string_sized (const gchar *charset, const gchar *string, gint bytes)
-{
- iconv_t ic;
- char *ret;
-
- if (!string) return NULL;
-
- ic = e_iconv_open("utf-8", charset);
- ret = e_utf8_from_iconv_string_sized (ic, string, bytes);
- e_iconv_close(ic);
-
- return ret;
-}
-
-gchar *
-e_utf8_from_charset_string (const gchar *charset, const gchar *string)
-{
- if (!string) return NULL;
- return e_utf8_from_charset_string_sized (charset, string, strlen (string));
-}
-
-gchar *
-e_utf8_to_charset_string_sized (const gchar *charset, const gchar *string, gint bytes)
-{
- iconv_t ic;
- char *ret;
-
- if (!string) return NULL;
-
- ic = e_iconv_open(charset, "utf-8");
- ret = e_utf8_to_iconv_string_sized (ic, string, bytes);
- e_iconv_close(ic);
-
- return ret;
-}
-
-gchar *
-e_utf8_to_charset_string (const gchar *charset, const gchar *string)
-{
- if (!string) return NULL;
- return e_utf8_to_charset_string_sized (charset, string, strlen (string));
-}
-
-gchar *
-e_utf8_from_locale_string_sized (const gchar *string, gint bytes)
-{
- iconv_t ic;
- char *ret;
-
- if (!string) return NULL;
-
- ic = e_iconv_open("utf-8", e_iconv_locale_charset());
- ret = e_utf8_from_iconv_string_sized (ic, string, bytes);
- e_iconv_close(ic);
-
- return ret;
-}
-
-gchar *
-e_utf8_from_locale_string (const gchar *string)
-{
- if (!string) return NULL;
- return e_utf8_from_locale_string_sized (string, strlen (string));
-}
-
-gchar *
-e_utf8_to_locale_string_sized (const gchar *string, gint bytes)
-{
- iconv_t ic;
- char *ret;
-
- if (!string) return NULL;
-
- ic = e_iconv_open(e_iconv_locale_charset(), "utf-8");
- ret = e_utf8_to_iconv_string_sized (ic, string, bytes);
- e_iconv_close(ic);
-
- return ret;
-}
-
-gchar *
-e_utf8_to_locale_string (const gchar *string)
-{
- if (!string) return NULL;
- return e_utf8_to_locale_string_sized (string, strlen (string));
-}
-
-gboolean
-e_utf8_is_ascii (const gchar *string)
-{
- char c;
-
- g_return_val_if_fail (string != NULL, FALSE);
-
- for (; (c = *string); string++) {
- if (c & 0x80)
- return FALSE;
- }
-
- return TRUE;
-}
-
-gchar *
-e_utf8_gtk_entry_get_text (GtkEntry *entry)
-{
- return g_strdup (gtk_entry_get_text (entry));
-}
-
-gchar *
-e_utf8_gtk_editable_get_text (GtkEditable *editable)
-{
- return gtk_editable_get_chars (editable, 0, -1);
-}
-
-gchar *
-e_utf8_gtk_editable_get_chars (GtkEditable *editable, gint start, gint end)
-{
- return gtk_editable_get_chars (editable, start, end);
-}
-
-void
-e_utf8_gtk_editable_insert_text (GtkEditable *editable, const gchar *text, gint length, gint *position)
-{
- gtk_editable_insert_text (editable, text, length, position);
-}
-
-void
-e_utf8_gtk_editable_set_text (GtkEditable *editable, const gchar *text)
-{
- int position;
-
- gtk_editable_delete_text(editable, 0, -1);
- gtk_editable_insert_text (editable, text, strlen (text), &position);
-}
-
-void
-e_utf8_gtk_entry_set_text (GtkEntry *entry, const gchar *text)
-{
- if (!text)
- gtk_entry_set_text(entry, "");
- else
- gtk_entry_set_text (entry, text);
-}
-
-/*
- * Translate \U+XXXX\ sequences to utf8 chars
- */
-
-gchar *
-e_utf8_xml1_decode (const gchar *text)
-{
- const guchar *c;
- guchar *u, *d;
- int len, s;
-
- g_return_val_if_fail (text != NULL, NULL);
-
- len = strlen (text)+1;
- /* len * 2 is absolute maximum */
- u = d = g_malloc (len * 2);
-
- c = text;
- s = 0;
- while (s < len) {
- if ((s <= (len - 8)) &&
- (c[s ] == '\\') &&
- (c[s + 1] == 'U' ) &&
- (c[s + 2] == '+' ) &&
- isxdigit (c[s + 3]) &&
- isxdigit (c[s + 4]) &&
- isxdigit (c[s + 5]) &&
- isxdigit (c[s + 6]) &&
- (c[s + 7] == '\\')) {
- /* Valid \U+XXXX\ sequence */
- unsigned int unival;
- unival = strtol (c + s + 3, NULL, 16);
- d += e_unichar_to_utf8 (unival, d);
- s += 8;
- } else if (c[s] > 127) {
- /* fixme: We assume iso-8859-1 currently */
- d += e_unichar_to_utf8 (c[s], d);
- s += 1;
- } else {
- *d++ = c[s++];
- }
- }
- *d++ = '\0';
- u = g_realloc (u, (d - u));
-
- return u;
-}
-
-gchar *
-e_utf8_xml1_encode (const gchar *text)
-{
- guchar *u, *d, *c;
- int unival;
- int len;
-
- g_return_val_if_fail (text != NULL, NULL);
-
- len = 0;
- for (u = e_unicode_get_utf8 (text, &unival); u && unival; u = e_unicode_get_utf8 (u, &unival)) {
- if ((unival >= 0x80) || (unival == '\\')) {
- len += 8;
- } else {
- len += 1;
- }
- }
- d = c = g_new (guchar, len + 1);
-
- for (u = e_unicode_get_utf8 (text, &unival); u && unival; u = e_unicode_get_utf8 (u, &unival)) {
- if ((unival >= 0x80) || (unival == '\\')) {
- *c++ = '\\';
- *c++ = 'U';
- *c++ = '+';
- c += sprintf (c, "%04x", unival);
- *c++ = '\\';
- } else {
- *c++ = unival;
- }
- }
- *c = '\0';
-
- return d;
-}
-
-/**
- * e_unichar_to_utf8:
- * @c: a ISO10646 character code
- * @outbuf: output buffer, must have at least 6 bytes of space.
- * If %NULL, the length will be computed and returned
- * and nothing will be written to @out.
- *
- * Convert a single character to utf8
- *
- * Return value: number of bytes written
- **/
-
-gint
-e_unichar_to_utf8 (gint c, gchar *outbuf)
-{
- size_t len = 0;
- int first;
- int i;
-
- if (c < 0x80)
- {
- first = 0;
- len = 1;
- }
- else if (c < 0x800)
- {
- first = 0xc0;
- len = 2;
- }
- else if (c < 0x10000)
- {
- first = 0xe0;
- len = 3;
- }
- else if (c < 0x200000)
- {
- first = 0xf0;
- len = 4;
- }
- else if (c < 0x4000000)
- {
- first = 0xf8;
- len = 5;
- }
- else
- {
- first = 0xfc;
- len = 6;
- }
-
- if (outbuf)
- {
- for (i = len - 1; i > 0; --i)
- {
- outbuf[i] = (c & 0x3f) | 0x80;
- c >>= 6;
- }
- outbuf[0] = c | first;
- }
-
- return len;
-}
-
-gchar *
-e_unicode_get_utf8 (const gchar *text, gunichar *out)
-{
- *out = g_utf8_get_char (text);
- return (*out == (gunichar)-1) ? NULL : g_utf8_next_char (text);
-}
-
-/*
- * Canonical decomposition
- *
- * It is copied here from libunicode, because we do not want malloc
- *
- */
-
-typedef struct
-{
- unsigned short ch;
- unsigned char *expansion;
-} e_decomposition;
-
-static e_decomposition e_decomp_table[] =
-{
- { 0x00c0, "\x00\x41\x03\x00\0" },
- { 0x00c1, "\x00\x41\x03\x01\0" },
- { 0x00c2, "\x00\x41\x03\x02\0" },
- { 0x00c3, "\x00\x41\x03\x03\0" },
- { 0x00c4, "\x00\x41\x03\x08\0" },
- { 0x00c5, "\x00\x41\x03\x0a\0" },
- { 0x00c7, "\x00\x43\x03\x27\0" },
- { 0x00c8, "\x00\x45\x03\x00\0" },
- { 0x00c9, "\x00\x45\x03\x01\0" },
- { 0x00ca, "\x00\x45\x03\x02\0" },
- { 0x00cb, "\x00\x45\x03\x08\0" },
- { 0x00cc, "\x00\x49\x03\x00\0" },
- { 0x00cd, "\x00\x49\x03\x01\0" },
- { 0x00ce, "\x00\x49\x03\x02\0" },
- { 0x00cf, "\x00\x49\x03\x08\0" },
- { 0x00d1, "\x00\x4e\x03\x03\0" },
- { 0x00d2, "\x00\x4f\x03\x00\0" },
- { 0x00d3, "\x00\x4f\x03\x01\0" },
- { 0x00d4, "\x00\x4f\x03\x02\0" },
- { 0x00d5, "\x00\x4f\x03\x03\0" },
- { 0x00d6, "\x00\x4f\x03\x08\0" },
- { 0x00d9, "\x00\x55\x03\x00\0" },
- { 0x00da, "\x00\x55\x03\x01\0" },
- { 0x00db, "\x00\x55\x03\x02\0" },
- { 0x00dc, "\x00\x55\x03\x08\0" },
- { 0x00dd, "\x00\x59\x03\x01\0" },
- { 0x00e0, "\x00\x61\x03\x00\0" },
- { 0x00e1, "\x00\x61\x03\x01\0" },
- { 0x00e2, "\x00\x61\x03\x02\0" },
- { 0x00e3, "\x00\x61\x03\x03\0" },
- { 0x00e4, "\x00\x61\x03\x08\0" },
- { 0x00e5, "\x00\x61\x03\x0a\0" },
- { 0x00e7, "\x00\x63\x03\x27\0" },
- { 0x00e8, "\x00\x65\x03\x00\0" },
- { 0x00e9, "\x00\x65\x03\x01\0" },
- { 0x00ea, "\x00\x65\x03\x02\0" },
- { 0x00eb, "\x00\x65\x03\x08\0" },
- { 0x00ec, "\x00\x69\x03\x00\0" },
- { 0x00ed, "\x00\x69\x03\x01\0" },
- { 0x00ee, "\x00\x69\x03\x02\0" },
- { 0x00ef, "\x00\x69\x03\x08\0" },
- { 0x00f1, "\x00\x6e\x03\x03\0" },
- { 0x00f2, "\x00\x6f\x03\x00\0" },
- { 0x00f3, "\x00\x6f\x03\x01\0" },
- { 0x00f4, "\x00\x6f\x03\x02\0" },
- { 0x00f5, "\x00\x6f\x03\x03\0" },
- { 0x00f6, "\x00\x6f\x03\x08\0" },
- { 0x00f9, "\x00\x75\x03\x00\0" },
- { 0x00fa, "\x00\x75\x03\x01\0" },
- { 0x00fb, "\x00\x75\x03\x02\0" },
- { 0x00fc, "\x00\x75\x03\x08\0" },
- { 0x00fd, "\x00\x79\x03\x01\0" },
- { 0x00ff, "\x00\x79\x03\x08\0" },
- { 0x0100, "\x00\x41\x03\x04\0" },
- { 0x0101, "\x00\x61\x03\x04\0" },
- { 0x0102, "\x00\x41\x03\x06\0" },
- { 0x0103, "\x00\x61\x03\x06\0" },
- { 0x0104, "\x00\x41\x03\x28\0" },
- { 0x0105, "\x00\x61\x03\x28\0" },
- { 0x0106, "\x00\x43\x03\x01\0" },
- { 0x0107, "\x00\x63\x03\x01\0" },
- { 0x0108, "\x00\x43\x03\x02\0" },
- { 0x0109, "\x00\x63\x03\x02\0" },
- { 0x010a, "\x00\x43\x03\x07\0" },
- { 0x010b, "\x00\x63\x03\x07\0" },
- { 0x010c, "\x00\x43\x03\x0c\0" },
- { 0x010d, "\x00\x63\x03\x0c\0" },
- { 0x010e, "\x00\x44\x03\x0c\0" },
- { 0x010f, "\x00\x64\x03\x0c\0" },
- { 0x0112, "\x00\x45\x03\x04\0" },
- { 0x0113, "\x00\x65\x03\x04\0" },
- { 0x0114, "\x00\x45\x03\x06\0" },
- { 0x0115, "\x00\x65\x03\x06\0" },
- { 0x0116, "\x00\x45\x03\x07\0" },
- { 0x0117, "\x00\x65\x03\x07\0" },
- { 0x0118, "\x00\x45\x03\x28\0" },
- { 0x0119, "\x00\x65\x03\x28\0" },
- { 0x011a, "\x00\x45\x03\x0c\0" },
- { 0x011b, "\x00\x65\x03\x0c\0" },
- { 0x011c, "\x00\x47\x03\x02\0" },
- { 0x011d, "\x00\x67\x03\x02\0" },
- { 0x011e, "\x00\x47\x03\x06\0" },
- { 0x011f, "\x00\x67\x03\x06\0" },
- { 0x0120, "\x00\x47\x03\x07\0" },
- { 0x0121, "\x00\x67\x03\x07\0" },
- { 0x0122, "\x00\x47\x03\x27\0" },
- { 0x0123, "\x00\x67\x03\x27\0" },
- { 0x0124, "\x00\x48\x03\x02\0" },
- { 0x0125, "\x00\x68\x03\x02\0" },
- { 0x0128, "\x00\x49\x03\x03\0" },
- { 0x0129, "\x00\x69\x03\x03\0" },
- { 0x012a, "\x00\x49\x03\x04\0" },
- { 0x012b, "\x00\x69\x03\x04\0" },
- { 0x012c, "\x00\x49\x03\x06\0" },
- { 0x012d, "\x00\x69\x03\x06\0" },
- { 0x012e, "\x00\x49\x03\x28\0" },
- { 0x012f, "\x00\x69\x03\x28\0" },
- { 0x0130, "\x00\x49\x03\x07\0" },
- { 0x0134, "\x00\x4a\x03\x02\0" },
- { 0x0135, "\x00\x6a\x03\x02\0" },
- { 0x0136, "\x00\x4b\x03\x27\0" },
- { 0x0137, "\x00\x6b\x03\x27\0" },
- { 0x0139, "\x00\x4c\x03\x01\0" },
- { 0x013a, "\x00\x6c\x03\x01\0" },
- { 0x013b, "\x00\x4c\x03\x27\0" },
- { 0x013c, "\x00\x6c\x03\x27\0" },
- { 0x013d, "\x00\x4c\x03\x0c\0" },
- { 0x013e, "\x00\x6c\x03\x0c\0" },
- { 0x0143, "\x00\x4e\x03\x01\0" },
- { 0x0144, "\x00\x6e\x03\x01\0" },
- { 0x0145, "\x00\x4e\x03\x27\0" },
- { 0x0146, "\x00\x6e\x03\x27\0" },
- { 0x0147, "\x00\x4e\x03\x0c\0" },
- { 0x0148, "\x00\x6e\x03\x0c\0" },
- { 0x014c, "\x00\x4f\x03\x04\0" },
- { 0x014d, "\x00\x6f\x03\x04\0" },
- { 0x014e, "\x00\x4f\x03\x06\0" },
- { 0x014f, "\x00\x6f\x03\x06\0" },
- { 0x0150, "\x00\x4f\x03\x0b\0" },
- { 0x0151, "\x00\x6f\x03\x0b\0" },
- { 0x0154, "\x00\x52\x03\x01\0" },
- { 0x0155, "\x00\x72\x03\x01\0" },
- { 0x0156, "\x00\x52\x03\x27\0" },
- { 0x0157, "\x00\x72\x03\x27\0" },
- { 0x0158, "\x00\x52\x03\x0c\0" },
- { 0x0159, "\x00\x72\x03\x0c\0" },
- { 0x015a, "\x00\x53\x03\x01\0" },
- { 0x015b, "\x00\x73\x03\x01\0" },
- { 0x015c, "\x00\x53\x03\x02\0" },
- { 0x015d, "\x00\x73\x03\x02\0" },
- { 0x015e, "\x00\x53\x03\x27\0" },
- { 0x015f, "\x00\x73\x03\x27\0" },
- { 0x0160, "\x00\x53\x03\x0c\0" },
- { 0x0161, "\x00\x73\x03\x0c\0" },
- { 0x0162, "\x00\x54\x03\x27\0" },
- { 0x0163, "\x00\x74\x03\x27\0" },
- { 0x0164, "\x00\x54\x03\x0c\0" },
- { 0x0165, "\x00\x74\x03\x0c\0" },
- { 0x0168, "\x00\x55\x03\x03\0" },
- { 0x0169, "\x00\x75\x03\x03\0" },
- { 0x016a, "\x00\x55\x03\x04\0" },
- { 0x016b, "\x00\x75\x03\x04\0" },
- { 0x016c, "\x00\x55\x03\x06\0" },
- { 0x016d, "\x00\x75\x03\x06\0" },
- { 0x016e, "\x00\x55\x03\x0a\0" },
- { 0x016f, "\x00\x75\x03\x0a\0" },
- { 0x0170, "\x00\x55\x03\x0b\0" },
- { 0x0171, "\x00\x75\x03\x0b\0" },
- { 0x0172, "\x00\x55\x03\x28\0" },
- { 0x0173, "\x00\x75\x03\x28\0" },
- { 0x0174, "\x00\x57\x03\x02\0" },
- { 0x0175, "\x00\x77\x03\x02\0" },
- { 0x0176, "\x00\x59\x03\x02\0" },
- { 0x0177, "\x00\x79\x03\x02\0" },
- { 0x0178, "\x00\x59\x03\x08\0" },
- { 0x0179, "\x00\x5a\x03\x01\0" },
- { 0x017a, "\x00\x7a\x03\x01\0" },
- { 0x017b, "\x00\x5a\x03\x07\0" },
- { 0x017c, "\x00\x7a\x03\x07\0" },
- { 0x017d, "\x00\x5a\x03\x0c\0" },
- { 0x017e, "\x00\x7a\x03\x0c\0" },
- { 0x01a0, "\x00\x4f\x03\x1b\0" },
- { 0x01a1, "\x00\x6f\x03\x1b\0" },
- { 0x01af, "\x00\x55\x03\x1b\0" },
- { 0x01b0, "\x00\x75\x03\x1b\0" },
- { 0x01cd, "\x00\x41\x03\x0c\0" },
- { 0x01ce, "\x00\x61\x03\x0c\0" },
- { 0x01cf, "\x00\x49\x03\x0c\0" },
- { 0x01d0, "\x00\x69\x03\x0c\0" },
- { 0x01d1, "\x00\x4f\x03\x0c\0" },
- { 0x01d2, "\x00\x6f\x03\x0c\0" },
- { 0x01d3, "\x00\x55\x03\x0c\0" },
- { 0x01d4, "\x00\x75\x03\x0c\0" },
- { 0x01d5, "\x00\x55\x03\x08\x03\x04\0" },
- { 0x01d6, "\x00\x75\x03\x08\x03\x04\0" },
- { 0x01d7, "\x00\x55\x03\x08\x03\x01\0" },
- { 0x01d8, "\x00\x75\x03\x08\x03\x01\0" },
- { 0x01d9, "\x00\x55\x03\x08\x03\x0c\0" },
- { 0x01da, "\x00\x75\x03\x08\x03\x0c\0" },
- { 0x01db, "\x00\x55\x03\x08\x03\x00\0" },
- { 0x01dc, "\x00\x75\x03\x08\x03\x00\0" },
- { 0x01de, "\x00\x41\x03\x08\x03\x04\0" },
- { 0x01df, "\x00\x61\x03\x08\x03\x04\0" },
- { 0x01e0, "\x00\x41\x03\x07\x03\x04\0" },
- { 0x01e1, "\x00\x61\x03\x07\x03\x04\0" },
- { 0x01e2, "\x00\xc6\x03\x04\0" },
- { 0x01e3, "\x00\xe6\x03\x04\0" },
- { 0x01e6, "\x00\x47\x03\x0c\0" },
- { 0x01e7, "\x00\x67\x03\x0c\0" },
- { 0x01e8, "\x00\x4b\x03\x0c\0" },
- { 0x01e9, "\x00\x6b\x03\x0c\0" },
- { 0x01ea, "\x00\x4f\x03\x28\0" },
- { 0x01eb, "\x00\x6f\x03\x28\0" },
- { 0x01ec, "\x00\x4f\x03\x28\x03\x04\0" },
- { 0x01ed, "\x00\x6f\x03\x28\x03\x04\0" },
- { 0x01ee, "\x01\xb7\x03\x0c\0" },
- { 0x01ef, "\x02\x92\x03\x0c\0" },
- { 0x01f0, "\x00\x6a\x03\x0c\0" },
- { 0x01f4, "\x00\x47\x03\x01\0" },
- { 0x01f5, "\x00\x67\x03\x01\0" },
- { 0x01fa, "\x00\x41\x03\x0a\x03\x01\0" },
- { 0x01fb, "\x00\x61\x03\x0a\x03\x01\0" },
- { 0x01fc, "\x00\xc6\x03\x01\0" },
- { 0x01fd, "\x00\xe6\x03\x01\0" },
- { 0x01fe, "\x00\xd8\x03\x01\0" },
- { 0x01ff, "\x00\xf8\x03\x01\0" },
- { 0x0200, "\x00\x41\x03\x0f\0" },
- { 0x0201, "\x00\x61\x03\x0f\0" },
- { 0x0202, "\x00\x41\x03\x11\0" },
- { 0x0203, "\x00\x61\x03\x11\0" },
- { 0x0204, "\x00\x45\x03\x0f\0" },
- { 0x0205, "\x00\x65\x03\x0f\0" },
- { 0x0206, "\x00\x45\x03\x11\0" },
- { 0x0207, "\x00\x65\x03\x11\0" },
- { 0x0208, "\x00\x49\x03\x0f\0" },
- { 0x0209, "\x00\x69\x03\x0f\0" },
- { 0x020a, "\x00\x49\x03\x11\0" },
- { 0x020b, "\x00\x69\x03\x11\0" },
- { 0x020c, "\x00\x4f\x03\x0f\0" },
- { 0x020d, "\x00\x6f\x03\x0f\0" },
- { 0x020e, "\x00\x4f\x03\x11\0" },
- { 0x020f, "\x00\x6f\x03\x11\0" },
- { 0x0210, "\x00\x52\x03\x0f\0" },
- { 0x0211, "\x00\x72\x03\x0f\0" },
- { 0x0212, "\x00\x52\x03\x11\0" },
- { 0x0213, "\x00\x72\x03\x11\0" },
- { 0x0214, "\x00\x55\x03\x0f\0" },
- { 0x0215, "\x00\x75\x03\x0f\0" },
- { 0x0216, "\x00\x55\x03\x11\0" },
- { 0x0217, "\x00\x75\x03\x11\0" },
- { 0x0340, "\x03\x00\0" },
- { 0x0341, "\x03\x01\0" },
- { 0x0343, "\x03\x13\0" },
- { 0x0344, "\x03\x08\x03\x01\0" },
- { 0x0374, "\x02\xb9\0" },
- { 0x037e, "\x00\x3b\0" },
- { 0x0385, "\x00\xa8\x03\x01\0" },
- { 0x0386, "\x03\x91\x03\x01\0" },
- { 0x0387, "\x00\xb7\0" },
- { 0x0388, "\x03\x95\x03\x01\0" },
- { 0x0389, "\x03\x97\x03\x01\0" },
- { 0x038a, "\x03\x99\x03\x01\0" },
- { 0x038c, "\x03\x9f\x03\x01\0" },
- { 0x038e, "\x03\xa5\x03\x01\0" },
- { 0x038f, "\x03\xa9\x03\x01\0" },
- { 0x0390, "\x03\xb9\x03\x08\x03\x01\0" },
- { 0x03aa, "\x03\x99\x03\x08\0" },
- { 0x03ab, "\x03\xa5\x03\x08\0" },
- { 0x03ac, "\x03\xb1\x03\x01\0" },
- { 0x03ad, "\x03\xb5\x03\x01\0" },
- { 0x03ae, "\x03\xb7\x03\x01\0" },
- { 0x03af, "\x03\xb9\x03\x01\0" },
- { 0x03b0, "\x03\xc5\x03\x08\x03\x01\0" },
- { 0x03ca, "\x03\xb9\x03\x08\0" },
- { 0x03cb, "\x03\xc5\x03\x08\0" },
- { 0x03cc, "\x03\xbf\x03\x01\0" },
- { 0x03cd, "\x03\xc5\x03\x01\0" },
- { 0x03ce, "\x03\xc9\x03\x01\0" },
- { 0x03d3, "\x03\xd2\x03\x01\0" },
- { 0x03d4, "\x03\xd2\x03\x08\0" },
- { 0x0401, "\x04\x15\x03\x08\0" },
- { 0x0403, "\x04\x13\x03\x01\0" },
- { 0x0407, "\x04\x06\x03\x08\0" },
- { 0x040c, "\x04\x1a\x03\x01\0" },
- { 0x040e, "\x04\x23\x03\x06\0" },
- { 0x0419, "\x04\x18\x03\x06\0" },
- { 0x0439, "\x04\x38\x03\x06\0" },
- { 0x0451, "\x04\x35\x03\x08\0" },
- { 0x0453, "\x04\x33\x03\x01\0" },
- { 0x0457, "\x04\x56\x03\x08\0" },
- { 0x045c, "\x04\x3a\x03\x01\0" },
- { 0x045e, "\x04\x43\x03\x06\0" },
- { 0x0476, "\x04\x74\x03\x0f\0" },
- { 0x0477, "\x04\x75\x03\x0f\0" },
- { 0x04c1, "\x04\x16\x03\x06\0" },
- { 0x04c2, "\x04\x36\x03\x06\0" },
- { 0x04d0, "\x04\x10\x03\x06\0" },
- { 0x04d1, "\x04\x30\x03\x06\0" },
- { 0x04d2, "\x04\x10\x03\x08\0" },
- { 0x04d3, "\x04\x30\x03\x08\0" },
- { 0x04d6, "\x04\x15\x03\x06\0" },
- { 0x04d7, "\x04\x35\x03\x06\0" },
- { 0x04da, "\x04\xd8\x03\x08\0" },
- { 0x04db, "\x04\xd9\x03\x08\0" },
- { 0x04dc, "\x04\x16\x03\x08\0" },
- { 0x04dd, "\x04\x36\x03\x08\0" },
- { 0x04de, "\x04\x17\x03\x08\0" },
- { 0x04df, "\x04\x37\x03\x08\0" },
- { 0x04e2, "\x04\x18\x03\x04\0" },
- { 0x04e3, "\x04\x38\x03\x04\0" },
- { 0x04e4, "\x04\x18\x03\x08\0" },
- { 0x04e5, "\x04\x38\x03\x08\0" },
- { 0x04e6, "\x04\x1e\x03\x08\0" },
- { 0x04e7, "\x04\x3e\x03\x08\0" },
- { 0x04ea, "\x04\xe8\x03\x08\0" },
- { 0x04eb, "\x04\xe9\x03\x08\0" },
- { 0x04ee, "\x04\x23\x03\x04\0" },
- { 0x04ef, "\x04\x43\x03\x04\0" },
- { 0x04f0, "\x04\x23\x03\x08\0" },
- { 0x04f1, "\x04\x43\x03\x08\0" },
- { 0x04f2, "\x04\x23\x03\x0b\0" },
- { 0x04f3, "\x04\x43\x03\x0b\0" },
- { 0x04f4, "\x04\x27\x03\x08\0" },
- { 0x04f5, "\x04\x47\x03\x08\0" },
- { 0x04f8, "\x04\x2b\x03\x08\0" },
- { 0x04f9, "\x04\x4b\x03\x08\0" },
- { 0x0929, "\x09\x28\x09\x3c\0" },
- { 0x0931, "\x09\x30\x09\x3c\0" },
- { 0x0934, "\x09\x33\x09\x3c\0" },
- { 0x0958, "\x09\x15\x09\x3c\0" },
- { 0x0959, "\x09\x16\x09\x3c\0" },
- { 0x095a, "\x09\x17\x09\x3c\0" },
- { 0x095b, "\x09\x1c\x09\x3c\0" },
- { 0x095c, "\x09\x21\x09\x3c\0" },
- { 0x095d, "\x09\x22\x09\x3c\0" },
- { 0x095e, "\x09\x2b\x09\x3c\0" },
- { 0x095f, "\x09\x2f\x09\x3c\0" },
- { 0x09b0, "\x09\xac\x09\xbc\0" },
- { 0x09cb, "\x09\xc7\x09\xbe\0" },
- { 0x09cc, "\x09\xc7\x09\xd7\0" },
- { 0x09dc, "\x09\xa1\x09\xbc\0" },
- { 0x09dd, "\x09\xa2\x09\xbc\0" },
- { 0x09df, "\x09\xaf\x09\xbc\0" },
- { 0x0a59, "\x0a\x16\x0a\x3c\0" },
- { 0x0a5a, "\x0a\x17\x0a\x3c\0" },
- { 0x0a5b, "\x0a\x1c\x0a\x3c\0" },
- { 0x0a5c, "\x0a\x21\x0a\x3c\0" },
- { 0x0a5e, "\x0a\x2b\x0a\x3c\0" },
- { 0x0b48, "\x0b\x47\x0b\x56\0" },
- { 0x0b4b, "\x0b\x47\x0b\x3e\0" },
- { 0x0b4c, "\x0b\x47\x0b\x57\0" },
- { 0x0b5c, "\x0b\x21\x0b\x3c\0" },
- { 0x0b5d, "\x0b\x22\x0b\x3c\0" },
- { 0x0b5f, "\x0b\x2f\x0b\x3c\0" },
- { 0x0b94, "\x0b\x92\x0b\xd7\0" },
- { 0x0bca, "\x0b\xc6\x0b\xbe\0" },
- { 0x0bcb, "\x0b\xc7\x0b\xbe\0" },
- { 0x0bcc, "\x0b\xc6\x0b\xd7\0" },
- { 0x0c48, "\x0c\x46\x0c\x56\0" },
- { 0x0cc0, "\x0c\xbf\x0c\xd5\0" },
- { 0x0cc7, "\x0c\xc6\x0c\xd5\0" },
- { 0x0cc8, "\x0c\xc6\x0c\xd6\0" },
- { 0x0cca, "\x0c\xc6\x0c\xc2\0" },
- { 0x0ccb, "\x0c\xc6\x0c\xc2\x0c\xd5\0" },
- { 0x0d4a, "\x0d\x46\x0d\x3e\0" },
- { 0x0d4b, "\x0d\x47\x0d\x3e\0" },
- { 0x0d4c, "\x0d\x46\x0d\x57\0" },
- { 0x0e33, "\x0e\x4d\x0e\x32\0" },
- { 0x0eb3, "\x0e\xcd\x0e\xb2\0" },
- { 0x0f43, "\x0f\x42\x0f\xb7\0" },
- { 0x0f4d, "\x0f\x4c\x0f\xb7\0" },
- { 0x0f52, "\x0f\x51\x0f\xb7\0" },
- { 0x0f57, "\x0f\x56\x0f\xb7\0" },
- { 0x0f5c, "\x0f\x5b\x0f\xb7\0" },
- { 0x0f69, "\x0f\x40\x0f\xb5\0" },
- { 0x0f73, "\x0f\x71\x0f\x72\0" },
- { 0x0f75, "\x0f\x71\x0f\x74\0" },
- { 0x0f76, "\x0f\xb2\x0f\x80\0" },
- { 0x0f78, "\x0f\xb3\x0f\x80\0" },
- { 0x0f81, "\x0f\x71\x0f\x80\0" },
- { 0x0f93, "\x0f\x92\x0f\xb7\0" },
- { 0x0f9d, "\x0f\x9c\x0f\xb7\0" },
- { 0x0fa2, "\x0f\xa1\x0f\xb7\0" },
- { 0x0fa7, "\x0f\xa6\x0f\xb7\0" },
- { 0x0fac, "\x0f\xab\x0f\xb7\0" },
- { 0x0fb9, "\x0f\x90\x0f\xb5\0" },
- { 0x1e00, "\x00\x41\x03\x25\0" },
- { 0x1e01, "\x00\x61\x03\x25\0" },
- { 0x1e02, "\x00\x42\x03\x07\0" },
- { 0x1e03, "\x00\x62\x03\x07\0" },
- { 0x1e04, "\x00\x42\x03\x23\0" },
- { 0x1e05, "\x00\x62\x03\x23\0" },
- { 0x1e06, "\x00\x42\x03\x31\0" },
- { 0x1e07, "\x00\x62\x03\x31\0" },
- { 0x1e08, "\x00\x43\x03\x27\x03\x01\0" },
- { 0x1e09, "\x00\x63\x03\x27\x03\x01\0" },
- { 0x1e0a, "\x00\x44\x03\x07\0" },
- { 0x1e0b, "\x00\x64\x03\x07\0" },
- { 0x1e0c, "\x00\x44\x03\x23\0" },
- { 0x1e0d, "\x00\x64\x03\x23\0" },
- { 0x1e0e, "\x00\x44\x03\x31\0" },
- { 0x1e0f, "\x00\x64\x03\x31\0" },
- { 0x1e10, "\x00\x44\x03\x27\0" },
- { 0x1e11, "\x00\x64\x03\x27\0" },
- { 0x1e12, "\x00\x44\x03\x2d\0" },
- { 0x1e13, "\x00\x64\x03\x2d\0" },
- { 0x1e14, "\x00\x45\x03\x04\x03\x00\0" },
- { 0x1e15, "\x00\x65\x03\x04\x03\x00\0" },
- { 0x1e16, "\x00\x45\x03\x04\x03\x01\0" },
- { 0x1e17, "\x00\x65\x03\x04\x03\x01\0" },
- { 0x1e18, "\x00\x45\x03\x2d\0" },
- { 0x1e19, "\x00\x65\x03\x2d\0" },
- { 0x1e1a, "\x00\x45\x03\x30\0" },
- { 0x1e1b, "\x00\x65\x03\x30\0" },
- { 0x1e1c, "\x00\x45\x03\x27\x03\x06\0" },
- { 0x1e1d, "\x00\x65\x03\x27\x03\x06\0" },
- { 0x1e1e, "\x00\x46\x03\x07\0" },
- { 0x1e1f, "\x00\x66\x03\x07\0" },
- { 0x1e20, "\x00\x47\x03\x04\0" },
- { 0x1e21, "\x00\x67\x03\x04\0" },
- { 0x1e22, "\x00\x48\x03\x07\0" },
- { 0x1e23, "\x00\x68\x03\x07\0" },
- { 0x1e24, "\x00\x48\x03\x23\0" },
- { 0x1e25, "\x00\x68\x03\x23\0" },
- { 0x1e26, "\x00\x48\x03\x08\0" },
- { 0x1e27, "\x00\x68\x03\x08\0" },
- { 0x1e28, "\x00\x48\x03\x27\0" },
- { 0x1e29, "\x00\x68\x03\x27\0" },
- { 0x1e2a, "\x00\x48\x03\x2e\0" },
- { 0x1e2b, "\x00\x68\x03\x2e\0" },
- { 0x1e2c, "\x00\x49\x03\x30\0" },
- { 0x1e2d, "\x00\x69\x03\x30\0" },
- { 0x1e2e, "\x00\x49\x03\x08\x03\x01\0" },
- { 0x1e2f, "\x00\x69\x03\x08\x03\x01\0" },
- { 0x1e30, "\x00\x4b\x03\x01\0" },
- { 0x1e31, "\x00\x6b\x03\x01\0" },
- { 0x1e32, "\x00\x4b\x03\x23\0" },
- { 0x1e33, "\x00\x6b\x03\x23\0" },
- { 0x1e34, "\x00\x4b\x03\x31\0" },
- { 0x1e35, "\x00\x6b\x03\x31\0" },
- { 0x1e36, "\x00\x4c\x03\x23\0" },
- { 0x1e37, "\x00\x6c\x03\x23\0" },
- { 0x1e38, "\x00\x4c\x03\x23\x03\x04\0" },
- { 0x1e39, "\x00\x6c\x03\x23\x03\x04\0" },
- { 0x1e3a, "\x00\x4c\x03\x31\0" },
- { 0x1e3b, "\x00\x6c\x03\x31\0" },
- { 0x1e3c, "\x00\x4c\x03\x2d\0" },
- { 0x1e3d, "\x00\x6c\x03\x2d\0" },
- { 0x1e3e, "\x00\x4d\x03\x01\0" },
- { 0x1e3f, "\x00\x6d\x03\x01\0" },
- { 0x1e40, "\x00\x4d\x03\x07\0" },
- { 0x1e41, "\x00\x6d\x03\x07\0" },
- { 0x1e42, "\x00\x4d\x03\x23\0" },
- { 0x1e43, "\x00\x6d\x03\x23\0" },
- { 0x1e44, "\x00\x4e\x03\x07\0" },
- { 0x1e45, "\x00\x6e\x03\x07\0" },
- { 0x1e46, "\x00\x4e\x03\x23\0" },
- { 0x1e47, "\x00\x6e\x03\x23\0" },
- { 0x1e48, "\x00\x4e\x03\x31\0" },
- { 0x1e49, "\x00\x6e\x03\x31\0" },
- { 0x1e4a, "\x00\x4e\x03\x2d\0" },
- { 0x1e4b, "\x00\x6e\x03\x2d\0" },
- { 0x1e4c, "\x00\x4f\x03\x03\x03\x01\0" },
- { 0x1e4d, "\x00\x6f\x03\x03\x03\x01\0" },
- { 0x1e4e, "\x00\x4f\x03\x03\x03\x08\0" },
- { 0x1e4f, "\x00\x6f\x03\x03\x03\x08\0" },
- { 0x1e50, "\x00\x4f\x03\x04\x03\x00\0" },
- { 0x1e51, "\x00\x6f\x03\x04\x03\x00\0" },
- { 0x1e52, "\x00\x4f\x03\x04\x03\x01\0" },
- { 0x1e53, "\x00\x6f\x03\x04\x03\x01\0" },
- { 0x1e54, "\x00\x50\x03\x01\0" },
- { 0x1e55, "\x00\x70\x03\x01\0" },
- { 0x1e56, "\x00\x50\x03\x07\0" },
- { 0x1e57, "\x00\x70\x03\x07\0" },
- { 0x1e58, "\x00\x52\x03\x07\0" },
- { 0x1e59, "\x00\x72\x03\x07\0" },
- { 0x1e5a, "\x00\x52\x03\x23\0" },
- { 0x1e5b, "\x00\x72\x03\x23\0" },
- { 0x1e5c, "\x00\x52\x03\x23\x03\x04\0" },
- { 0x1e5d, "\x00\x72\x03\x23\x03\x04\0" },
- { 0x1e5e, "\x00\x52\x03\x31\0" },
- { 0x1e5f, "\x00\x72\x03\x31\0" },
- { 0x1e60, "\x00\x53\x03\x07\0" },
- { 0x1e61, "\x00\x73\x03\x07\0" },
- { 0x1e62, "\x00\x53\x03\x23\0" },
- { 0x1e63, "\x00\x73\x03\x23\0" },
- { 0x1e64, "\x00\x53\x03\x01\x03\x07\0" },
- { 0x1e65, "\x00\x73\x03\x01\x03\x07\0" },
- { 0x1e66, "\x00\x53\x03\x0c\x03\x07\0" },
- { 0x1e67, "\x00\x73\x03\x0c\x03\x07\0" },
- { 0x1e68, "\x00\x53\x03\x23\x03\x07\0" },
- { 0x1e69, "\x00\x73\x03\x23\x03\x07\0" },
- { 0x1e6a, "\x00\x54\x03\x07\0" },
- { 0x1e6b, "\x00\x74\x03\x07\0" },
- { 0x1e6c, "\x00\x54\x03\x23\0" },
- { 0x1e6d, "\x00\x74\x03\x23\0" },
- { 0x1e6e, "\x00\x54\x03\x31\0" },
- { 0x1e6f, "\x00\x74\x03\x31\0" },
- { 0x1e70, "\x00\x54\x03\x2d\0" },
- { 0x1e71, "\x00\x74\x03\x2d\0" },
- { 0x1e72, "\x00\x55\x03\x24\0" },
- { 0x1e73, "\x00\x75\x03\x24\0" },
- { 0x1e74, "\x00\x55\x03\x30\0" },
- { 0x1e75, "\x00\x75\x03\x30\0" },
- { 0x1e76, "\x00\x55\x03\x2d\0" },
- { 0x1e77, "\x00\x75\x03\x2d\0" },
- { 0x1e78, "\x00\x55\x03\x03\x03\x01\0" },
- { 0x1e79, "\x00\x75\x03\x03\x03\x01\0" },
- { 0x1e7a, "\x00\x55\x03\x04\x03\x08\0" },
- { 0x1e7b, "\x00\x75\x03\x04\x03\x08\0" },
- { 0x1e7c, "\x00\x56\x03\x03\0" },
- { 0x1e7d, "\x00\x76\x03\x03\0" },
- { 0x1e7e, "\x00\x56\x03\x23\0" },
- { 0x1e7f, "\x00\x76\x03\x23\0" },
- { 0x1e80, "\x00\x57\x03\x00\0" },
- { 0x1e81, "\x00\x77\x03\x00\0" },
- { 0x1e82, "\x00\x57\x03\x01\0" },
- { 0x1e83, "\x00\x77\x03\x01\0" },
- { 0x1e84, "\x00\x57\x03\x08\0" },
- { 0x1e85, "\x00\x77\x03\x08\0" },
- { 0x1e86, "\x00\x57\x03\x07\0" },
- { 0x1e87, "\x00\x77\x03\x07\0" },
- { 0x1e88, "\x00\x57\x03\x23\0" },
- { 0x1e89, "\x00\x77\x03\x23\0" },
- { 0x1e8a, "\x00\x58\x03\x07\0" },
- { 0x1e8b, "\x00\x78\x03\x07\0" },
- { 0x1e8c, "\x00\x58\x03\x08\0" },
- { 0x1e8d, "\x00\x78\x03\x08\0" },
- { 0x1e8e, "\x00\x59\x03\x07\0" },
- { 0x1e8f, "\x00\x79\x03\x07\0" },
- { 0x1e90, "\x00\x5a\x03\x02\0" },
- { 0x1e91, "\x00\x7a\x03\x02\0" },
- { 0x1e92, "\x00\x5a\x03\x23\0" },
- { 0x1e93, "\x00\x7a\x03\x23\0" },
- { 0x1e94, "\x00\x5a\x03\x31\0" },
- { 0x1e95, "\x00\x7a\x03\x31\0" },
- { 0x1e96, "\x00\x68\x03\x31\0" },
- { 0x1e97, "\x00\x74\x03\x08\0" },
- { 0x1e98, "\x00\x77\x03\x0a\0" },
- { 0x1e99, "\x00\x79\x03\x0a\0" },
- { 0x1e9b, "\x01\x7f\x03\x07\0" },
- { 0x1ea0, "\x00\x41\x03\x23\0" },
- { 0x1ea1, "\x00\x61\x03\x23\0" },
- { 0x1ea2, "\x00\x41\x03\x09\0" },
- { 0x1ea3, "\x00\x61\x03\x09\0" },
- { 0x1ea4, "\x00\x41\x03\x02\x03\x01\0" },
- { 0x1ea5, "\x00\x61\x03\x02\x03\x01\0" },
- { 0x1ea6, "\x00\x41\x03\x02\x03\x00\0" },
- { 0x1ea7, "\x00\x61\x03\x02\x03\x00\0" },
- { 0x1ea8, "\x00\x41\x03\x02\x03\x09\0" },
- { 0x1ea9, "\x00\x61\x03\x02\x03\x09\0" },
- { 0x1eaa, "\x00\x41\x03\x02\x03\x03\0" },
- { 0x1eab, "\x00\x61\x03\x02\x03\x03\0" },
- { 0x1eac, "\x00\x41\x03\x23\x03\x02\0" },
- { 0x1ead, "\x00\x61\x03\x23\x03\x02\0" },
- { 0x1eae, "\x00\x41\x03\x06\x03\x01\0" },
- { 0x1eaf, "\x00\x61\x03\x06\x03\x01\0" },
- { 0x1eb0, "\x00\x41\x03\x06\x03\x00\0" },
- { 0x1eb1, "\x00\x61\x03\x06\x03\x00\0" },
- { 0x1eb2, "\x00\x41\x03\x06\x03\x09\0" },
- { 0x1eb3, "\x00\x61\x03\x06\x03\x09\0" },
- { 0x1eb4, "\x00\x41\x03\x06\x03\x03\0" },
- { 0x1eb5, "\x00\x61\x03\x06\x03\x03\0" },
- { 0x1eb6, "\x00\x41\x03\x23\x03\x06\0" },
- { 0x1eb7, "\x00\x61\x03\x23\x03\x06\0" },
- { 0x1eb8, "\x00\x45\x03\x23\0" },
- { 0x1eb9, "\x00\x65\x03\x23\0" },
- { 0x1eba, "\x00\x45\x03\x09\0" },
- { 0x1ebb, "\x00\x65\x03\x09\0" },
- { 0x1ebc, "\x00\x45\x03\x03\0" },
- { 0x1ebd, "\x00\x65\x03\x03\0" },
- { 0x1ebe, "\x00\x45\x03\x02\x03\x01\0" },
- { 0x1ebf, "\x00\x65\x03\x02\x03\x01\0" },
- { 0x1ec0, "\x00\x45\x03\x02\x03\x00\0" },
- { 0x1ec1, "\x00\x65\x03\x02\x03\x00\0" },
- { 0x1ec2, "\x00\x45\x03\x02\x03\x09\0" },
- { 0x1ec3, "\x00\x65\x03\x02\x03\x09\0" },
- { 0x1ec4, "\x00\x45\x03\x02\x03\x03\0" },
- { 0x1ec5, "\x00\x65\x03\x02\x03\x03\0" },
- { 0x1ec6, "\x00\x45\x03\x23\x03\x02\0" },
- { 0x1ec7, "\x00\x65\x03\x23\x03\x02\0" },
- { 0x1ec8, "\x00\x49\x03\x09\0" },
- { 0x1ec9, "\x00\x69\x03\x09\0" },
- { 0x1eca, "\x00\x49\x03\x23\0" },
- { 0x1ecb, "\x00\x69\x03\x23\0" },
- { 0x1ecc, "\x00\x4f\x03\x23\0" },
- { 0x1ecd, "\x00\x6f\x03\x23\0" },
- { 0x1ece, "\x00\x4f\x03\x09\0" },
- { 0x1ecf, "\x00\x6f\x03\x09\0" },
- { 0x1ed0, "\x00\x4f\x03\x02\x03\x01\0" },
- { 0x1ed1, "\x00\x6f\x03\x02\x03\x01\0" },
- { 0x1ed2, "\x00\x4f\x03\x02\x03\x00\0" },
- { 0x1ed3, "\x00\x6f\x03\x02\x03\x00\0" },
- { 0x1ed4, "\x00\x4f\x03\x02\x03\x09\0" },
- { 0x1ed5, "\x00\x6f\x03\x02\x03\x09\0" },
- { 0x1ed6, "\x00\x4f\x03\x02\x03\x03\0" },
- { 0x1ed7, "\x00\x6f\x03\x02\x03\x03\0" },
- { 0x1ed8, "\x00\x4f\x03\x23\x03\x02\0" },
- { 0x1ed9, "\x00\x6f\x03\x23\x03\x02\0" },
- { 0x1eda, "\x00\x4f\x03\x1b\x03\x01\0" },
- { 0x1edb, "\x00\x6f\x03\x1b\x03\x01\0" },
- { 0x1edc, "\x00\x4f\x03\x1b\x03\x00\0" },
- { 0x1edd, "\x00\x6f\x03\x1b\x03\x00\0" },
- { 0x1ede, "\x00\x4f\x03\x1b\x03\x09\0" },
- { 0x1edf, "\x00\x6f\x03\x1b\x03\x09\0" },
- { 0x1ee0, "\x00\x4f\x03\x1b\x03\x03\0" },
- { 0x1ee1, "\x00\x6f\x03\x1b\x03\x03\0" },
- { 0x1ee2, "\x00\x4f\x03\x1b\x03\x23\0" },
- { 0x1ee3, "\x00\x6f\x03\x1b\x03\x23\0" },
- { 0x1ee4, "\x00\x55\x03\x23\0" },
- { 0x1ee5, "\x00\x75\x03\x23\0" },
- { 0x1ee6, "\x00\x55\x03\x09\0" },
- { 0x1ee7, "\x00\x75\x03\x09\0" },
- { 0x1ee8, "\x00\x55\x03\x1b\x03\x01\0" },
- { 0x1ee9, "\x00\x75\x03\x1b\x03\x01\0" },
- { 0x1eea, "\x00\x55\x03\x1b\x03\x00\0" },
- { 0x1eeb, "\x00\x75\x03\x1b\x03\x00\0" },
- { 0x1eec, "\x00\x55\x03\x1b\x03\x09\0" },
- { 0x1eed, "\x00\x75\x03\x1b\x03\x09\0" },
- { 0x1eee, "\x00\x55\x03\x1b\x03\x03\0" },
- { 0x1eef, "\x00\x75\x03\x1b\x03\x03\0" },
- { 0x1ef0, "\x00\x55\x03\x1b\x03\x23\0" },
- { 0x1ef1, "\x00\x75\x03\x1b\x03\x23\0" },
- { 0x1ef2, "\x00\x59\x03\x00\0" },
- { 0x1ef3, "\x00\x79\x03\x00\0" },
- { 0x1ef4, "\x00\x59\x03\x23\0" },
- { 0x1ef5, "\x00\x79\x03\x23\0" },
- { 0x1ef6, "\x00\x59\x03\x09\0" },
- { 0x1ef7, "\x00\x79\x03\x09\0" },
- { 0x1ef8, "\x00\x59\x03\x03\0" },
- { 0x1ef9, "\x00\x79\x03\x03\0" },
- { 0x1f00, "\x03\xb1\x03\x13\0" },
- { 0x1f01, "\x03\xb1\x03\x14\0" },
- { 0x1f02, "\x03\xb1\x03\x13\x03\x00\0" },
- { 0x1f03, "\x03\xb1\x03\x14\x03\x00\0" },
- { 0x1f04, "\x03\xb1\x03\x13\x03\x01\0" },
- { 0x1f05, "\x03\xb1\x03\x14\x03\x01\0" },
- { 0x1f06, "\x03\xb1\x03\x13\x03\x42\0" },
- { 0x1f07, "\x03\xb1\x03\x14\x03\x42\0" },
- { 0x1f08, "\x03\x91\x03\x13\0" },
- { 0x1f09, "\x03\x91\x03\x14\0" },
- { 0x1f0a, "\x03\x91\x03\x13\x03\x00\0" },
- { 0x1f0b, "\x03\x91\x03\x14\x03\x00\0" },
- { 0x1f0c, "\x03\x91\x03\x13\x03\x01\0" },
- { 0x1f0d, "\x03\x91\x03\x14\x03\x01\0" },
- { 0x1f0e, "\x03\x91\x03\x13\x03\x42\0" },
- { 0x1f0f, "\x03\x91\x03\x14\x03\x42\0" },
- { 0x1f10, "\x03\xb5\x03\x13\0" },
- { 0x1f11, "\x03\xb5\x03\x14\0" },
- { 0x1f12, "\x03\xb5\x03\x13\x03\x00\0" },
- { 0x1f13, "\x03\xb5\x03\x14\x03\x00\0" },
- { 0x1f14, "\x03\xb5\x03\x13\x03\x01\0" },
- { 0x1f15, "\x03\xb5\x03\x14\x03\x01\0" },
- { 0x1f18, "\x03\x95\x03\x13\0" },
- { 0x1f19, "\x03\x95\x03\x14\0" },
- { 0x1f1a, "\x03\x95\x03\x13\x03\x00\0" },
- { 0x1f1b, "\x03\x95\x03\x14\x03\x00\0" },
- { 0x1f1c, "\x03\x95\x03\x13\x03\x01\0" },
- { 0x1f1d, "\x03\x95\x03\x14\x03\x01\0" },
- { 0x1f20, "\x03\xb7\x03\x13\0" },
- { 0x1f21, "\x03\xb7\x03\x14\0" },
- { 0x1f22, "\x03\xb7\x03\x13\x03\x00\0" },
- { 0x1f23, "\x03\xb7\x03\x14\x03\x00\0" },
- { 0x1f24, "\x03\xb7\x03\x13\x03\x01\0" },
- { 0x1f25, "\x03\xb7\x03\x14\x03\x01\0" },
- { 0x1f26, "\x03\xb7\x03\x13\x03\x42\0" },
- { 0x1f27, "\x03\xb7\x03\x14\x03\x42\0" },
- { 0x1f28, "\x03\x97\x03\x13\0" },
- { 0x1f29, "\x03\x97\x03\x14\0" },
- { 0x1f2a, "\x03\x97\x03\x13\x03\x00\0" },
- { 0x1f2b, "\x03\x97\x03\x14\x03\x00\0" },
- { 0x1f2c, "\x03\x97\x03\x13\x03\x01\0" },
- { 0x1f2d, "\x03\x97\x03\x14\x03\x01\0" },
- { 0x1f2e, "\x03\x97\x03\x13\x03\x42\0" },
- { 0x1f2f, "\x03\x97\x03\x14\x03\x42\0" },
- { 0x1f30, "\x03\xb9\x03\x13\0" },
- { 0x1f31, "\x03\xb9\x03\x14\0" },
- { 0x1f32, "\x03\xb9\x03\x13\x03\x00\0" },
- { 0x1f33, "\x03\xb9\x03\x14\x03\x00\0" },
- { 0x1f34, "\x03\xb9\x03\x13\x03\x01\0" },
- { 0x1f35, "\x03\xb9\x03\x14\x03\x01\0" },
- { 0x1f36, "\x03\xb9\x03\x13\x03\x42\0" },
- { 0x1f37, "\x03\xb9\x03\x14\x03\x42\0" },
- { 0x1f38, "\x03\x99\x03\x13\0" },
- { 0x1f39, "\x03\x99\x03\x14\0" },
- { 0x1f3a, "\x03\x99\x03\x13\x03\x00\0" },
- { 0x1f3b, "\x03\x99\x03\x14\x03\x00\0" },
- { 0x1f3c, "\x03\x99\x03\x13\x03\x01\0" },
- { 0x1f3d, "\x03\x99\x03\x14\x03\x01\0" },
- { 0x1f3e, "\x03\x99\x03\x13\x03\x42\0" },
- { 0x1f3f, "\x03\x99\x03\x14\x03\x42\0" },
- { 0x1f40, "\x03\xbf\x03\x13\0" },
- { 0x1f41, "\x03\xbf\x03\x14\0" },
- { 0x1f42, "\x03\xbf\x03\x13\x03\x00\0" },
- { 0x1f43, "\x03\xbf\x03\x14\x03\x00\0" },
- { 0x1f44, "\x03\xbf\x03\x13\x03\x01\0" },
- { 0x1f45, "\x03\xbf\x03\x14\x03\x01\0" },
- { 0x1f48, "\x03\x9f\x03\x13\0" },
- { 0x1f49, "\x03\x9f\x03\x14\0" },
- { 0x1f4a, "\x03\x9f\x03\x13\x03\x00\0" },
- { 0x1f4b, "\x03\x9f\x03\x14\x03\x00\0" },
- { 0x1f4c, "\x03\x9f\x03\x13\x03\x01\0" },
- { 0x1f4d, "\x03\x9f\x03\x14\x03\x01\0" },
- { 0x1f50, "\x03\xc5\x03\x13\0" },
- { 0x1f51, "\x03\xc5\x03\x14\0" },
- { 0x1f52, "\x03\xc5\x03\x13\x03\x00\0" },
- { 0x1f53, "\x03\xc5\x03\x14\x03\x00\0" },
- { 0x1f54, "\x03\xc5\x03\x13\x03\x01\0" },
- { 0x1f55, "\x03\xc5\x03\x14\x03\x01\0" },
- { 0x1f56, "\x03\xc5\x03\x13\x03\x42\0" },
- { 0x1f57, "\x03\xc5\x03\x14\x03\x42\0" },
- { 0x1f59, "\x03\xa5\x03\x14\0" },
- { 0x1f5b, "\x03\xa5\x03\x14\x03\x00\0" },
- { 0x1f5d, "\x03\xa5\x03\x14\x03\x01\0" },
- { 0x1f5f, "\x03\xa5\x03\x14\x03\x42\0" },
- { 0x1f60, "\x03\xc9\x03\x13\0" },
- { 0x1f61, "\x03\xc9\x03\x14\0" },
- { 0x1f62, "\x03\xc9\x03\x13\x03\x00\0" },
- { 0x1f63, "\x03\xc9\x03\x14\x03\x00\0" },
- { 0x1f64, "\x03\xc9\x03\x13\x03\x01\0" },
- { 0x1f65, "\x03\xc9\x03\x14\x03\x01\0" },
- { 0x1f66, "\x03\xc9\x03\x13\x03\x42\0" },
- { 0x1f67, "\x03\xc9\x03\x14\x03\x42\0" },
- { 0x1f68, "\x03\xa9\x03\x13\0" },
- { 0x1f69, "\x03\xa9\x03\x14\0" },
- { 0x1f6a, "\x03\xa9\x03\x13\x03\x00\0" },
- { 0x1f6b, "\x03\xa9\x03\x14\x03\x00\0" },
- { 0x1f6c, "\x03\xa9\x03\x13\x03\x01\0" },
- { 0x1f6d, "\x03\xa9\x03\x14\x03\x01\0" },
- { 0x1f6e, "\x03\xa9\x03\x13\x03\x42\0" },
- { 0x1f6f, "\x03\xa9\x03\x14\x03\x42\0" },
- { 0x1f70, "\x03\xb1\x03\x00\0" },
- { 0x1f71, "\x03\xb1\x03\x01\0" },
- { 0x1f72, "\x03\xb5\x03\x00\0" },
- { 0x1f73, "\x03\xb5\x03\x01\0" },
- { 0x1f74, "\x03\xb7\x03\x00\0" },
- { 0x1f75, "\x03\xb7\x03\x01\0" },
- { 0x1f76, "\x03\xb9\x03\x00\0" },
- { 0x1f77, "\x03\xb9\x03\x01\0" },
- { 0x1f78, "\x03\xbf\x03\x00\0" },
- { 0x1f79, "\x03\xbf\x03\x01\0" },
- { 0x1f7a, "\x03\xc5\x03\x00\0" },
- { 0x1f7b, "\x03\xc5\x03\x01\0" },
- { 0x1f7c, "\x03\xc9\x03\x00\0" },
- { 0x1f7d, "\x03\xc9\x03\x01\0" },
- { 0x1f80, "\x03\xb1\x03\x13\x03\x45\0" },
- { 0x1f81, "\x03\xb1\x03\x14\x03\x45\0" },
- { 0x1f82, "\x03\xb1\x03\x13\x03\x00\x03\x45\0" },
- { 0x1f83, "\x03\xb1\x03\x14\x03\x00\x03\x45\0" },
- { 0x1f84, "\x03\xb1\x03\x13\x03\x01\x03\x45\0" },
- { 0x1f85, "\x03\xb1\x03\x14\x03\x01\x03\x45\0" },
- { 0x1f86, "\x03\xb1\x03\x13\x03\x42\x03\x45\0" },
- { 0x1f87, "\x03\xb1\x03\x14\x03\x42\x03\x45\0" },
- { 0x1f88, "\x03\x91\x03\x13\x03\x45\0" },
- { 0x1f89, "\x03\x91\x03\x14\x03\x45\0" },
- { 0x1f8a, "\x03\x91\x03\x13\x03\x00\x03\x45\0" },
- { 0x1f8b, "\x03\x91\x03\x14\x03\x00\x03\x45\0" },
- { 0x1f8c, "\x03\x91\x03\x13\x03\x01\x03\x45\0" },
- { 0x1f8d, "\x03\x91\x03\x14\x03\x01\x03\x45\0" },
- { 0x1f8e, "\x03\x91\x03\x13\x03\x42\x03\x45\0" },
- { 0x1f8f, "\x03\x91\x03\x14\x03\x42\x03\x45\0" },
- { 0x1f90, "\x03\xb7\x03\x13\x03\x45\0" },
- { 0x1f91, "\x03\xb7\x03\x14\x03\x45\0" },
- { 0x1f92, "\x03\xb7\x03\x13\x03\x00\x03\x45\0" },
- { 0x1f93, "\x03\xb7\x03\x14\x03\x00\x03\x45\0" },
- { 0x1f94, "\x03\xb7\x03\x13\x03\x01\x03\x45\0" },
- { 0x1f95, "\x03\xb7\x03\x14\x03\x01\x03\x45\0" },
- { 0x1f96, "\x03\xb7\x03\x13\x03\x42\x03\x45\0" },
- { 0x1f97, "\x03\xb7\x03\x14\x03\x42\x03\x45\0" },
- { 0x1f98, "\x03\x97\x03\x13\x03\x45\0" },
- { 0x1f99, "\x03\x97\x03\x14\x03\x45\0" },
- { 0x1f9a, "\x03\x97\x03\x13\x03\x00\x03\x45\0" },
- { 0x1f9b, "\x03\x97\x03\x14\x03\x00\x03\x45\0" },
- { 0x1f9c, "\x03\x97\x03\x13\x03\x01\x03\x45\0" },
- { 0x1f9d, "\x03\x97\x03\x14\x03\x01\x03\x45\0" },
- { 0x1f9e, "\x03\x97\x03\x13\x03\x42\x03\x45\0" },
- { 0x1f9f, "\x03\x97\x03\x14\x03\x42\x03\x45\0" },
- { 0x1fa0, "\x03\xc9\x03\x13\x03\x45\0" },
- { 0x1fa1, "\x03\xc9\x03\x14\x03\x45\0" },
- { 0x1fa2, "\x03\xc9\x03\x13\x03\x00\x03\x45\0" },
- { 0x1fa3, "\x03\xc9\x03\x14\x03\x00\x03\x45\0" },
- { 0x1fa4, "\x03\xc9\x03\x13\x03\x01\x03\x45\0" },
- { 0x1fa5, "\x03\xc9\x03\x14\x03\x01\x03\x45\0" },
- { 0x1fa6, "\x03\xc9\x03\x13\x03\x42\x03\x45\0" },
- { 0x1fa7, "\x03\xc9\x03\x14\x03\x42\x03\x45\0" },
- { 0x1fa8, "\x03\xa9\x03\x13\x03\x45\0" },
- { 0x1fa9, "\x03\xa9\x03\x14\x03\x45\0" },
- { 0x1faa, "\x03\xa9\x03\x13\x03\x00\x03\x45\0" },
- { 0x1fab, "\x03\xa9\x03\x14\x03\x00\x03\x45\0" },
- { 0x1fac, "\x03\xa9\x03\x13\x03\x01\x03\x45\0" },
- { 0x1fad, "\x03\xa9\x03\x14\x03\x01\x03\x45\0" },
- { 0x1fae, "\x03\xa9\x03\x13\x03\x42\x03\x45\0" },
- { 0x1faf, "\x03\xa9\x03\x14\x03\x42\x03\x45\0" },
- { 0x1fb0, "\x03\xb1\x03\x06\0" },
- { 0x1fb1, "\x03\xb1\x03\x04\0" },
- { 0x1fb2, "\x03\xb1\x03\x00\x03\x45\0" },
- { 0x1fb3, "\x03\xb1\x03\x45\0" },
- { 0x1fb4, "\x03\xb1\x03\x01\x03\x45\0" },
- { 0x1fb6, "\x03\xb1\x03\x42\0" },
- { 0x1fb7, "\x03\xb1\x03\x42\x03\x45\0" },
- { 0x1fb8, "\x03\x91\x03\x06\0" },
- { 0x1fb9, "\x03\x91\x03\x04\0" },
- { 0x1fba, "\x03\x91\x03\x00\0" },
- { 0x1fbb, "\x03\x91\x03\x01\0" },
- { 0x1fbc, "\x03\x91\x03\x45\0" },
- { 0x1fbe, "\x03\xb9\0" },
- { 0x1fc1, "\x00\xa8\x03\x42\0" },
- { 0x1fc2, "\x03\xb7\x03\x00\x03\x45\0" },
- { 0x1fc3, "\x03\xb7\x03\x45\0" },
- { 0x1fc4, "\x03\xb7\x03\x01\x03\x45\0" },
- { 0x1fc6, "\x03\xb7\x03\x42\0" },
- { 0x1fc7, "\x03\xb7\x03\x42\x03\x45\0" },
- { 0x1fc8, "\x03\x95\x03\x00\0" },
- { 0x1fc9, "\x03\x95\x03\x01\0" },
- { 0x1fca, "\x03\x97\x03\x00\0" },
- { 0x1fcb, "\x03\x97\x03\x01\0" },
- { 0x1fcc, "\x03\x97\x03\x45\0" },
- { 0x1fcd, "\x1f\xbf\x03\x00\0" },
- { 0x1fce, "\x1f\xbf\x03\x01\0" },
- { 0x1fcf, "\x1f\xbf\x03\x42\0" },
- { 0x1fd0, "\x03\xb9\x03\x06\0" },
- { 0x1fd1, "\x03\xb9\x03\x04\0" },
- { 0x1fd2, "\x03\xb9\x03\x08\x03\x00\0" },
- { 0x1fd3, "\x03\xb9\x03\x08\x03\x01\0" },
- { 0x1fd6, "\x03\xb9\x03\x42\0" },
- { 0x1fd7, "\x03\xb9\x03\x08\x03\x42\0" },
- { 0x1fd8, "\x03\x99\x03\x06\0" },
- { 0x1fd9, "\x03\x99\x03\x04\0" },
- { 0x1fda, "\x03\x99\x03\x00\0" },
- { 0x1fdb, "\x03\x99\x03\x01\0" },
- { 0x1fdd, "\x1f\xfe\x03\x00\0" },
- { 0x1fde, "\x1f\xfe\x03\x01\0" },
- { 0x1fdf, "\x1f\xfe\x03\x42\0" },
- { 0x1fe0, "\x03\xc5\x03\x06\0" },
- { 0x1fe1, "\x03\xc5\x03\x04\0" },
- { 0x1fe2, "\x03\xc5\x03\x08\x03\x00\0" },
- { 0x1fe3, "\x03\xc5\x03\x08\x03\x01\0" },
- { 0x1fe4, "\x03\xc1\x03\x13\0" },
- { 0x1fe5, "\x03\xc1\x03\x14\0" },
- { 0x1fe6, "\x03\xc5\x03\x42\0" },
- { 0x1fe7, "\x03\xc5\x03\x08\x03\x42\0" },
- { 0x1fe8, "\x03\xa5\x03\x06\0" },
- { 0x1fe9, "\x03\xa5\x03\x04\0" },
- { 0x1fea, "\x03\xa5\x03\x00\0" },
- { 0x1feb, "\x03\xa5\x03\x01\0" },
- { 0x1fec, "\x03\xa1\x03\x14\0" },
- { 0x1fed, "\x00\xa8\x03\x00\0" },
- { 0x1fee, "\x00\xa8\x03\x01\0" },
- { 0x1fef, "\x00\x60\0" },
- { 0x1ff2, "\x03\xc9\x03\x00\x03\x45\0" },
- { 0x1ff3, "\x03\xc9\x03\x45\0" },
- { 0x1ff4, "\x03\xc9\x03\x01\x03\x45\0" },
- { 0x1ff6, "\x03\xc9\x03\x42\0" },
- { 0x1ff7, "\x03\xc9\x03\x42\x03\x45\0" },
- { 0x1ff8, "\x03\x9f\x03\x00\0" },
- { 0x1ff9, "\x03\x9f\x03\x01\0" },
- { 0x1ffa, "\x03\xa9\x03\x00\0" },
- { 0x1ffb, "\x03\xa9\x03\x01\0" },
- { 0x1ffc, "\x03\xa9\x03\x45\0" },
- { 0x1ffd, "\x00\xb4\0" },
- { 0x2000, "\x20\x02\0" },
- { 0x2001, "\x20\x03\0" },
- { 0x2126, "\x03\xa9\0" },
- { 0x212a, "\x00\x4b\0" },
- { 0x212b, "\x00\x41\x03\x0a\0" },
- { 0x2204, "\x22\x03\x03\x38\0" },
- { 0x2209, "\x22\x08\x03\x38\0" },
- { 0x220c, "\x22\x0b\x03\x38\0" },
- { 0x2224, "\x22\x23\x03\x38\0" },
- { 0x2226, "\x22\x25\x03\x38\0" },
- { 0x2241, "\x00\x7e\x03\x38\0" },
- { 0x2244, "\x22\x43\x03\x38\0" },
- { 0x2247, "\x22\x45\x03\x38\0" },
- { 0x2249, "\x22\x48\x03\x38\0" },
- { 0x2260, "\x00\x3d\x03\x38\0" },
- { 0x2262, "\x22\x61\x03\x38\0" },
- { 0x226d, "\x22\x4d\x03\x38\0" },
- { 0x226e, "\x00\x3c\x03\x38\0" },
- { 0x226f, "\x00\x3e\x03\x38\0" },
- { 0x2270, "\x22\x64\x03\x38\0" },
- { 0x2271, "\x22\x65\x03\x38\0" },
- { 0x2274, "\x22\x72\x03\x38\0" },
- { 0x2275, "\x22\x73\x03\x38\0" },
- { 0x2278, "\x22\x76\x03\x38\0" },
- { 0x2279, "\x22\x77\x03\x38\0" },
- { 0x2280, "\x22\x7a\x03\x38\0" },
- { 0x2281, "\x22\x7b\x03\x38\0" },
- { 0x2284, "\x22\x82\x03\x38\0" },
- { 0x2285, "\x22\x83\x03\x38\0" },
- { 0x2288, "\x22\x86\x03\x38\0" },
- { 0x2289, "\x22\x87\x03\x38\0" },
- { 0x22ac, "\x22\xa2\x03\x38\0" },
- { 0x22ad, "\x22\xa8\x03\x38\0" },
- { 0x22ae, "\x22\xa9\x03\x38\0" },
- { 0x22af, "\x22\xab\x03\x38\0" },
- { 0x22e0, "\x22\x7c\x03\x38\0" },
- { 0x22e1, "\x22\x7d\x03\x38\0" },
- { 0x22e2, "\x22\x91\x03\x38\0" },
- { 0x22e3, "\x22\x92\x03\x38\0" },
- { 0x22ea, "\x22\xb2\x03\x38\0" },
- { 0x22eb, "\x22\xb3\x03\x38\0" },
- { 0x22ec, "\x22\xb4\x03\x38\0" },
- { 0x22ed, "\x22\xb5\x03\x38\0" },
- { 0x2329, "\x30\x08\0" },
- { 0x232a, "\x30\x09\0" },
- { 0x304c, "\x30\x4b\x30\x99\0" },
- { 0x304e, "\x30\x4d\x30\x99\0" },
- { 0x3050, "\x30\x4f\x30\x99\0" },
- { 0x3052, "\x30\x51\x30\x99\0" },
- { 0x3054, "\x30\x53\x30\x99\0" },
- { 0x3056, "\x30\x55\x30\x99\0" },
- { 0x3058, "\x30\x57\x30\x99\0" },
- { 0x305a, "\x30\x59\x30\x99\0" },
- { 0x305c, "\x30\x5b\x30\x99\0" },
- { 0x305e, "\x30\x5d\x30\x99\0" },
- { 0x3060, "\x30\x5f\x30\x99\0" },
- { 0x3062, "\x30\x61\x30\x99\0" },
- { 0x3065, "\x30\x64\x30\x99\0" },
- { 0x3067, "\x30\x66\x30\x99\0" },
- { 0x3069, "\x30\x68\x30\x99\0" },
- { 0x3070, "\x30\x6f\x30\x99\0" },
- { 0x3071, "\x30\x6f\x30\x9a\0" },
- { 0x3073, "\x30\x72\x30\x99\0" },
- { 0x3074, "\x30\x72\x30\x9a\0" },
- { 0x3076, "\x30\x75\x30\x99\0" },
- { 0x3077, "\x30\x75\x30\x9a\0" },
- { 0x3079, "\x30\x78\x30\x99\0" },
- { 0x307a, "\x30\x78\x30\x9a\0" },
- { 0x307c, "\x30\x7b\x30\x99\0" },
- { 0x307d, "\x30\x7b\x30\x9a\0" },
- { 0x3094, "\x30\x46\x30\x99\0" },
- { 0x309e, "\x30\x9d\x30\x99\0" },
- { 0x30ac, "\x30\xab\x30\x99\0" },
- { 0x30ae, "\x30\xad\x30\x99\0" },
- { 0x30b0, "\x30\xaf\x30\x99\0" },
- { 0x30b2, "\x30\xb1\x30\x99\0" },
- { 0x30b4, "\x30\xb3\x30\x99\0" },
- { 0x30b6, "\x30\xb5\x30\x99\0" },
- { 0x30b8, "\x30\xb7\x30\x99\0" },
- { 0x30ba, "\x30\xb9\x30\x99\0" },
- { 0x30bc, "\x30\xbb\x30\x99\0" },
- { 0x30be, "\x30\xbd\x30\x99\0" },
- { 0x30c0, "\x30\xbf\x30\x99\0" },
- { 0x30c2, "\x30\xc1\x30\x99\0" },
- { 0x30c5, "\x30\xc4\x30\x99\0" },
- { 0x30c7, "\x30\xc6\x30\x99\0" },
- { 0x30c9, "\x30\xc8\x30\x99\0" },
- { 0x30d0, "\x30\xcf\x30\x99\0" },
- { 0x30d1, "\x30\xcf\x30\x9a\0" },
- { 0x30d3, "\x30\xd2\x30\x99\0" },
- { 0x30d4, "\x30\xd2\x30\x9a\0" },
- { 0x30d6, "\x30\xd5\x30\x99\0" },
- { 0x30d7, "\x30\xd5\x30\x9a\0" },
- { 0x30d9, "\x30\xd8\x30\x99\0" },
- { 0x30da, "\x30\xd8\x30\x9a\0" },
- { 0x30dc, "\x30\xdb\x30\x99\0" },
- { 0x30dd, "\x30\xdb\x30\x9a\0" },
- { 0x30f4, "\x30\xa6\x30\x99\0" },
- { 0x30f7, "\x30\xef\x30\x99\0" },
- { 0x30f8, "\x30\xf0\x30\x99\0" },
- { 0x30f9, "\x30\xf1\x30\x99\0" },
- { 0x30fa, "\x30\xf2\x30\x99\0" },
- { 0x30fe, "\x30\xfd\x30\x99\0" },
- { 0xf900, "\x8c\x48\0" },
- { 0xf901, "\x66\xf4\0" },
- { 0xf902, "\x8e\xca\0" },
- { 0xf903, "\x8c\xc8\0" },
- { 0xf904, "\x6e\xd1\0" },
- { 0xf905, "\x4e\x32\0" },
- { 0xf906, "\x53\xe5\0" },
- { 0xf907, "\x9f\x9c\0" },
- { 0xf908, "\x9f\x9c\0" },
- { 0xf909, "\x59\x51\0" },
- { 0xf90a, "\x91\xd1\0" },
- { 0xf90b, "\x55\x87\0" },
- { 0xf90c, "\x59\x48\0" },
- { 0xf90d, "\x61\xf6\0" },
- { 0xf90e, "\x76\x69\0" },
- { 0xf90f, "\x7f\x85\0" },
- { 0xf910, "\x86\x3f\0" },
- { 0xf911, "\x87\xba\0" },
- { 0xf912, "\x88\xf8\0" },
- { 0xf913, "\x90\x8f\0" },
- { 0xf914, "\x6a\x02\0" },
- { 0xf915, "\x6d\x1b\0" },
- { 0xf916, "\x70\xd9\0" },
- { 0xf917, "\x73\xde\0" },
- { 0xf918, "\x84\x3d\0" },
- { 0xf919, "\x91\x6a\0" },
- { 0xf91a, "\x99\xf1\0" },
- { 0xf91b, "\x4e\x82\0" },
- { 0xf91c, "\x53\x75\0" },
- { 0xf91d, "\x6b\x04\0" },
- { 0xf91e, "\x72\x1b\0" },
- { 0xf91f, "\x86\x2d\0" },
- { 0xf920, "\x9e\x1e\0" },
- { 0xf921, "\x5d\x50\0" },
- { 0xf922, "\x6f\xeb\0" },
- { 0xf923, "\x85\xcd\0" },
- { 0xf924, "\x89\x64\0" },
- { 0xf925, "\x62\xc9\0" },
- { 0xf926, "\x81\xd8\0" },
- { 0xf927, "\x88\x1f\0" },
- { 0xf928, "\x5e\xca\0" },
- { 0xf929, "\x67\x17\0" },
- { 0xf92a, "\x6d\x6a\0" },
- { 0xf92b, "\x72\xfc\0" },
- { 0xf92c, "\x90\xce\0" },
- { 0xf92d, "\x4f\x86\0" },
- { 0xf92e, "\x51\xb7\0" },
- { 0xf92f, "\x52\xde\0" },
- { 0xf930, "\x64\xc4\0" },
- { 0xf931, "\x6a\xd3\0" },
- { 0xf932, "\x72\x10\0" },
- { 0xf933, "\x76\xe7\0" },
- { 0xf934, "\x80\x01\0" },
- { 0xf935, "\x86\x06\0" },
- { 0xf936, "\x86\x5c\0" },
- { 0xf937, "\x8d\xef\0" },
- { 0xf938, "\x97\x32\0" },
- { 0xf939, "\x9b\x6f\0" },
- { 0xf93a, "\x9d\xfa\0" },
- { 0xf93b, "\x78\x8c\0" },
- { 0xf93c, "\x79\x7f\0" },
- { 0xf93d, "\x7d\xa0\0" },
- { 0xf93e, "\x83\xc9\0" },
- { 0xf93f, "\x93\x04\0" },
- { 0xf940, "\x9e\x7f\0" },
- { 0xf941, "\x8a\xd6\0" },
- { 0xf942, "\x58\xdf\0" },
- { 0xf943, "\x5f\x04\0" },
- { 0xf944, "\x7c\x60\0" },
- { 0xf945, "\x80\x7e\0" },
- { 0xf946, "\x72\x62\0" },
- { 0xf947, "\x78\xca\0" },
- { 0xf948, "\x8c\xc2\0" },
- { 0xf949, "\x96\xf7\0" },
- { 0xf94a, "\x58\xd8\0" },
- { 0xf94b, "\x5c\x62\0" },
- { 0xf94c, "\x6a\x13\0" },
- { 0xf94d, "\x6d\xda\0" },
- { 0xf94e, "\x6f\x0f\0" },
- { 0xf94f, "\x7d\x2f\0" },
- { 0xf950, "\x7e\x37\0" },
- { 0xf951, "\x96\xfb\0" },
- { 0xf952, "\x52\xd2\0" },
- { 0xf953, "\x80\x8b\0" },
- { 0xf954, "\x51\xdc\0" },
- { 0xf955, "\x51\xcc\0" },
- { 0xf956, "\x7a\x1c\0" },
- { 0xf957, "\x7d\xbe\0" },
- { 0xf958, "\x83\xf1\0" },
- { 0xf959, "\x96\x75\0" },
- { 0xf95a, "\x8b\x80\0" },
- { 0xf95b, "\x62\xcf\0" },
- { 0xf95c, "\x6a\x02\0" },
- { 0xf95d, "\x8a\xfe\0" },
- { 0xf95e, "\x4e\x39\0" },
- { 0xf95f, "\x5b\xe7\0" },
- { 0xf960, "\x60\x12\0" },
- { 0xf961, "\x73\x87\0" },
- { 0xf962, "\x75\x70\0" },
- { 0xf963, "\x53\x17\0" },
- { 0xf964, "\x78\xfb\0" },
- { 0xf965, "\x4f\xbf\0" },
- { 0xf966, "\x5f\xa9\0" },
- { 0xf967, "\x4e\x0d\0" },
- { 0xf968, "\x6c\xcc\0" },
- { 0xf969, "\x65\x78\0" },
- { 0xf96a, "\x7d\x22\0" },
- { 0xf96b, "\x53\xc3\0" },
- { 0xf96c, "\x58\x5e\0" },
- { 0xf96d, "\x77\x01\0" },
- { 0xf96e, "\x84\x49\0" },
- { 0xf96f, "\x8a\xaa\0" },
- { 0xf970, "\x6b\xba\0" },
- { 0xf971, "\x8f\xb0\0" },
- { 0xf972, "\x6c\x88\0" },
- { 0xf973, "\x62\xfe\0" },
- { 0xf974, "\x82\xe5\0" },
- { 0xf975, "\x63\xa0\0" },
- { 0xf976, "\x75\x65\0" },
- { 0xf977, "\x4e\xae\0" },
- { 0xf978, "\x51\x69\0" },
- { 0xf979, "\x51\xc9\0" },
- { 0xf97a, "\x68\x81\0" },
- { 0xf97b, "\x7c\xe7\0" },
- { 0xf97c, "\x82\x6f\0" },
- { 0xf97d, "\x8a\xd2\0" },
- { 0xf97e, "\x91\xcf\0" },
- { 0xf97f, "\x52\xf5\0" },
- { 0xf980, "\x54\x42\0" },
- { 0xf981, "\x59\x73\0" },
- { 0xf982, "\x5e\xec\0" },
- { 0xf983, "\x65\xc5\0" },
- { 0xf984, "\x6f\xfe\0" },
- { 0xf985, "\x79\x2a\0" },
- { 0xf986, "\x95\xad\0" },
- { 0xf987, "\x9a\x6a\0" },
- { 0xf988, "\x9e\x97\0" },
- { 0xf989, "\x9e\xce\0" },
- { 0xf98a, "\x52\x9b\0" },
- { 0xf98b, "\x66\xc6\0" },
- { 0xf98c, "\x6b\x77\0" },
- { 0xf98d, "\x8f\x62\0" },
- { 0xf98e, "\x5e\x74\0" },
- { 0xf98f, "\x61\x90\0" },
- { 0xf990, "\x62\x00\0" },
- { 0xf991, "\x64\x9a\0" },
- { 0xf992, "\x6f\x23\0" },
- { 0xf993, "\x71\x49\0" },
- { 0xf994, "\x74\x89\0" },
- { 0xf995, "\x79\xca\0" },
- { 0xf996, "\x7d\xf4\0" },
- { 0xf997, "\x80\x6f\0" },
- { 0xf998, "\x8f\x26\0" },
- { 0xf999, "\x84\xee\0" },
- { 0xf99a, "\x90\x23\0" },
- { 0xf99b, "\x93\x4a\0" },
- { 0xf99c, "\x52\x17\0" },
- { 0xf99d, "\x52\xa3\0" },
- { 0xf99e, "\x54\xbd\0" },
- { 0xf99f, "\x70\xc8\0" },
- { 0xf9a0, "\x88\xc2\0" },
- { 0xf9a1, "\x8a\xaa\0" },
- { 0xf9a2, "\x5e\xc9\0" },
- { 0xf9a3, "\x5f\xf5\0" },
- { 0xf9a4, "\x63\x7b\0" },
- { 0xf9a5, "\x6b\xae\0" },
- { 0xf9a6, "\x7c\x3e\0" },
- { 0xf9a7, "\x73\x75\0" },
- { 0xf9a8, "\x4e\xe4\0" },
- { 0xf9a9, "\x56\xf9\0" },
- { 0xf9aa, "\x5b\xe7\0" },
- { 0xf9ab, "\x5d\xba\0" },
- { 0xf9ac, "\x60\x1c\0" },
- { 0xf9ad, "\x73\xb2\0" },
- { 0xf9ae, "\x74\x69\0" },
- { 0xf9af, "\x7f\x9a\0" },
- { 0xf9b0, "\x80\x46\0" },
- { 0xf9b1, "\x92\x34\0" },
- { 0xf9b2, "\x96\xf6\0" },
- { 0xf9b3, "\x97\x48\0" },
- { 0xf9b4, "\x98\x18\0" },
- { 0xf9b5, "\x4f\x8b\0" },
- { 0xf9b6, "\x79\xae\0" },
- { 0xf9b7, "\x91\xb4\0" },
- { 0xf9b8, "\x96\xb8\0" },
- { 0xf9b9, "\x60\xe1\0" },
- { 0xf9ba, "\x4e\x86\0" },
- { 0xf9bb, "\x50\xda\0" },
- { 0xf9bc, "\x5b\xee\0" },
- { 0xf9bd, "\x5c\x3f\0" },
- { 0xf9be, "\x65\x99\0" },
- { 0xf9bf, "\x6a\x02\0" },
- { 0xf9c0, "\x71\xce\0" },
- { 0xf9c1, "\x76\x42\0" },
- { 0xf9c2, "\x84\xfc\0" },
- { 0xf9c3, "\x90\x7c\0" },
- { 0xf9c4, "\x9f\x8d\0" },
- { 0xf9c5, "\x66\x88\0" },
- { 0xf9c6, "\x96\x2e\0" },
- { 0xf9c7, "\x52\x89\0" },
- { 0xf9c8, "\x67\x7b\0" },
- { 0xf9c9, "\x67\xf3\0" },
- { 0xf9ca, "\x6d\x41\0" },
- { 0xf9cb, "\x6e\x9c\0" },
- { 0xf9cc, "\x74\x09\0" },
- { 0xf9cd, "\x75\x59\0" },
- { 0xf9ce, "\x78\x6b\0" },
- { 0xf9cf, "\x7d\x10\0" },
- { 0xf9d0, "\x98\x5e\0" },
- { 0xf9d1, "\x51\x6d\0" },
- { 0xf9d2, "\x62\x2e\0" },
- { 0xf9d3, "\x96\x78\0" },
- { 0xf9d4, "\x50\x2b\0" },
- { 0xf9d5, "\x5d\x19\0" },
- { 0xf9d6, "\x6d\xea\0" },
- { 0xf9d7, "\x8f\x2a\0" },
- { 0xf9d8, "\x5f\x8b\0" },
- { 0xf9d9, "\x61\x44\0" },
- { 0xf9da, "\x68\x17\0" },
- { 0xf9db, "\x73\x87\0" },
- { 0xf9dc, "\x96\x86\0" },
- { 0xf9dd, "\x52\x29\0" },
- { 0xf9de, "\x54\x0f\0" },
- { 0xf9df, "\x5c\x65\0" },
- { 0xf9e0, "\x66\x13\0" },
- { 0xf9e1, "\x67\x4e\0" },
- { 0xf9e2, "\x68\xa8\0" },
- { 0xf9e3, "\x6c\xe5\0" },
- { 0xf9e4, "\x74\x06\0" },
- { 0xf9e5, "\x75\xe2\0" },
- { 0xf9e6, "\x7f\x79\0" },
- { 0xf9e7, "\x88\xcf\0" },
- { 0xf9e8, "\x88\xe1\0" },
- { 0xf9e9, "\x91\xcc\0" },
- { 0xf9ea, "\x96\xe2\0" },
- { 0xf9eb, "\x53\x3f\0" },
- { 0xf9ec, "\x6e\xba\0" },
- { 0xf9ed, "\x54\x1d\0" },
- { 0xf9ee, "\x71\xd0\0" },
- { 0xf9ef, "\x74\x98\0" },
- { 0xf9f0, "\x85\xfa\0" },
- { 0xf9f1, "\x96\xa3\0" },
- { 0xf9f2, "\x9c\x57\0" },
- { 0xf9f3, "\x9e\x9f\0" },
- { 0xf9f4, "\x67\x97\0" },
- { 0xf9f5, "\x6d\xcb\0" },
- { 0xf9f6, "\x81\xe8\0" },
- { 0xf9f7, "\x7a\xcb\0" },
- { 0xf9f8, "\x7b\x20\0" },
- { 0xf9f9, "\x7c\x92\0" },
- { 0xf9fa, "\x72\xc0\0" },
- { 0xf9fb, "\x70\x99\0" },
- { 0xf9fc, "\x8b\x58\0" },
- { 0xf9fd, "\x4e\xc0\0" },
- { 0xf9fe, "\x83\x36\0" },
- { 0xf9ff, "\x52\x3a\0" },
- { 0xfa00, "\x52\x07\0" },
- { 0xfa01, "\x5e\xa6\0" },
- { 0xfa02, "\x62\xd3\0" },
- { 0xfa03, "\x7c\xd6\0" },
- { 0xfa04, "\x5b\x85\0" },
- { 0xfa05, "\x6d\x1e\0" },
- { 0xfa06, "\x66\xb4\0" },
- { 0xfa07, "\x8f\x3b\0" },
- { 0xfa08, "\x88\x4c\0" },
- { 0xfa09, "\x96\x4d\0" },
- { 0xfa0a, "\x89\x8b\0" },
- { 0xfa0b, "\x5e\xd3\0" },
- { 0xfa0c, "\x51\x40\0" },
- { 0xfa0d, "\x55\xc0\0" },
- { 0xfa10, "\x58\x5a\0" },
- { 0xfa12, "\x66\x74\0" },
- { 0xfa15, "\x51\xde\0" },
- { 0xfa16, "\x73\x2a\0" },
- { 0xfa17, "\x76\xca\0" },
- { 0xfa18, "\x79\x3c\0" },
- { 0xfa19, "\x79\x5e\0" },
- { 0xfa1a, "\x79\x65\0" },
- { 0xfa1b, "\x79\x8f\0" },
- { 0xfa1c, "\x97\x56\0" },
- { 0xfa1d, "\x7c\xbe\0" },
- { 0xfa1e, "\x7f\xbd\0" },
- { 0xfa20, "\x86\x12\0" },
- { 0xfa22, "\x8a\xf8\0" },
- { 0xfa25, "\x90\x38\0" },
- { 0xfa26, "\x90\xfd\0" },
- { 0xfa2a, "\x98\xef\0" },
- { 0xfa2b, "\x98\xfc\0" },
- { 0xfa2c, "\x99\x28\0" },
- { 0xfa2d, "\x9d\xb4\0" },
- { 0xfb1f, "\x05\xf2\x05\xb7\0" },
- { 0xfb2a, "\x05\xe9\x05\xc1\0" },
- { 0xfb2b, "\x05\xe9\x05\xc2\0" },
- { 0xfb2c, "\x05\xe9\x05\xbc\x05\xc1\0" },
- { 0xfb2d, "\x05\xe9\x05\xbc\x05\xc2\0" },
- { 0xfb2e, "\x05\xd0\x05\xb7\0" },
- { 0xfb2f, "\x05\xd0\x05\xb8\0" },
- { 0xfb30, "\x05\xd0\x05\xbc\0" },
- { 0xfb31, "\x05\xd1\x05\xbc\0" },
- { 0xfb32, "\x05\xd2\x05\xbc\0" },
- { 0xfb33, "\x05\xd3\x05\xbc\0" },
- { 0xfb34, "\x05\xd4\x05\xbc\0" },
- { 0xfb35, "\x05\xd5\x05\xbc\0" },
- { 0xfb36, "\x05\xd6\x05\xbc\0" },
- { 0xfb38, "\x05\xd8\x05\xbc\0" },
- { 0xfb39, "\x05\xd9\x05\xbc\0" },
- { 0xfb3a, "\x05\xda\x05\xbc\0" },
- { 0xfb3b, "\x05\xdb\x05\xbc\0" },
- { 0xfb3c, "\x05\xdc\x05\xbc\0" },
- { 0xfb3e, "\x05\xde\x05\xbc\0" },
- { 0xfb40, "\x05\xe0\x05\xbc\0" },
- { 0xfb41, "\x05\xe1\x05\xbc\0" },
- { 0xfb43, "\x05\xe3\x05\xbc\0" },
- { 0xfb44, "\x05\xe4\x05\xbc\0" },
- { 0xfb46, "\x05\xe6\x05\xbc\0" },
- { 0xfb47, "\x05\xe7\x05\xbc\0" },
- { 0xfb48, "\x05\xe8\x05\xbc\0" },
- { 0xfb49, "\x05\xe9\x05\xbc\0" },
- { 0xfb4a, "\x05\xea\x05\xbc\0" },
- { 0xfb4b, "\x05\xd5\x05\xb9\0" },
- { 0xfb4c, "\x05\xd1\x05\xbf\0" },
- { 0xfb4d, "\x05\xdb\x05\xbf\0" },
- { 0xfb4e, "\x05\xe4\x05\xbf\0" }
-};
-
-/*
- * WARNING!
- *
- * NO BUFFER CHECKING AHEAD!
- *
- */
-
-static gint
-e_canonical_decomposition (gunichar ch, gunichar * buf)
-{
- gint len = 0;
-
- if (ch <= 0xffff)
- {
- int start = 0;
- int end = sizeof (e_decomp_table) / sizeof (e_decomp_table[0]);
- while (start != end)
- {
- int half = (start + end) / 2;
- if (ch == e_decomp_table[half].ch) {
- /* Found it. */
- int i;
- /* We store as a double-nul terminated string. */
- for (len = 0; (e_decomp_table[half].expansion[len] || e_decomp_table[half].expansion[len + 1]); len += 2) ;
-
- /* We've counted twice as many bytes as there are
- characters. */
- len /= 2;
-
- for (i = 0; i < len; i ++) {
- buf[i] = (e_decomp_table[half].expansion[2 * i] << 8) | e_decomp_table[half].expansion[2 * i + 1];
- }
- break;
- } else if (ch > e_decomp_table[half].ch) {
- if (start == half) break;
- start = half;
- } else {
- if (end == half) break;
- end = half;
- }
- }
- }
-
- if (len == 0)
- {
- /* Not in our table. */
- *buf = ch;
- len = 1;
- }
-
- /* Supposedly following the Unicode 2.1.9 table means that the
- decompositions come out in canonical order. I haven't tested
- this, but we rely on it here. */
- return len;
-}
-
-static gunichar
-e_stripped_char (gunichar ch)
-{
- gunichar decomp[MAX_DECOMP];
- GUnicodeType utype;
- gint dlen;
-
- utype = g_unichar_type (ch);
-
- switch (utype) {
- case G_UNICODE_CONTROL:
- case G_UNICODE_FORMAT:
- case G_UNICODE_UNASSIGNED:
- case G_UNICODE_COMBINING_MARK:
- /* Ignore those */
- return 0;
- break;
- default:
- /* Convert to lowercase, fall through */
- ch = g_unichar_tolower (ch);
- case G_UNICODE_LOWERCASE_LETTER:
- dlen = e_canonical_decomposition (ch, decomp);
- if (dlen > 0) return *decomp;
- break;
- }
-
- return 0;
-}
-
-gchar *
-e_xml_get_translated_utf8_string_prop_by_name (const xmlNode *parent, const xmlChar *prop_name)
-{
- xmlChar *prop;
- gchar *ret_val = NULL;
- gchar *combined_name;
-
- g_return_val_if_fail (parent != NULL, 0);
- g_return_val_if_fail (prop_name != NULL, 0);
-
- prop = xmlGetProp ((xmlNode *) parent, prop_name);
- if (prop != NULL) {
- ret_val = g_strdup (prop);
- xmlFree (prop);
- return ret_val;
- }
-
- combined_name = g_strdup_printf("_%s", prop_name);
- prop = xmlGetProp ((xmlNode *) parent, combined_name);
- if (prop != NULL) {
- ret_val = g_strdup (gettext (prop));
- xmlFree (prop);
- }
- g_free(combined_name);
-
- return ret_val;
-}
diff --git a/widgets/misc/e-unicode.h b/widgets/misc/e-unicode.h
deleted file mode 100644
index 12c9ef3aa2..0000000000
--- a/widgets/misc/e-unicode.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-unicode.h - utf-8 support functions for gal
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Lauris Kaplinski <lauris@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_UNICODE_H_
-#define _E_UNICODE_H_
-
-#include <sys/types.h>
-#include <glib.h>
-#include <gtk/gtkclist.h>
-#include <gtk/gtkentry.h>
-#include <gtk/gtkmenu.h>
-#include <gtk/gtkwidget.h>
-#include <libxml/tree.h>
-#include <iconv.h>
-
-G_BEGIN_DECLS
-
-#define G_UTF8_IN_GAL
-
-/*
- * UTF-8 searching implementations
- *
- * e_utf8_strstrcase - case insensitive search
- * e_utf8_strstrcasedecomp - case insensitive and decompositing search (i.e. accented
- * letters are treated equal to their base letters, explicit accent marks (unicode
- * not ascii/iso ones) are ignored).
- */
-
-const gchar *e_utf8_strstrcase (const gchar *haystack,
- const gchar *needle);
-const gchar *e_utf8_strstrcasedecomp (const gchar *haystack,
- const gchar *needle);
-gchar *e_utf8_from_gtk_event_key (GtkWidget *widget,
- guint keyval,
- const gchar *string);
-gchar *e_utf8_from_iconv_string (iconv_t ic,
- const gchar *string);
-gchar *e_utf8_from_iconv_string_sized (iconv_t ic,
- const gchar *string,
- gint bytes);
-gchar *e_utf8_to_iconv_string (iconv_t ic,
- const gchar *string);
-gchar *e_utf8_to_iconv_string_sized (iconv_t ic,
- const gchar *string,
- gint bytes);
-gchar *e_utf8_from_charset_string (const gchar *charset,
- const gchar *string);
-gchar *e_utf8_from_charset_string_sized (const gchar *charset,
- const gchar *string,
- gint bytes);
-gchar *e_utf8_to_charset_string (const gchar *charset,
- const gchar *string);
-gchar *e_utf8_to_charset_string_sized (const gchar *charset,
- const gchar *string,
- gint bytes);
-gchar *e_utf8_from_locale_string (const gchar *string);
-gchar *e_utf8_from_locale_string_sized (const gchar *string,
- gint bytes);
-gchar *e_utf8_to_locale_string (const gchar *string);
-gchar *e_utf8_to_locale_string_sized (const gchar *string,
- gint bytes);
-gboolean e_utf8_is_ascii (const gchar *string);
-/*
- * These are simple wrappers that save us some typing
- */
-
-/* NB! This return newly allocated string, not const as gtk+ one */
-gchar *e_utf8_gtk_entry_get_text (GtkEntry *entry);
-void e_utf8_gtk_entry_set_text (GtkEntry *entry,
- const gchar *text);
-gchar *e_utf8_gtk_editable_get_text (GtkEditable *editable);
-void e_utf8_gtk_editable_set_text (GtkEditable *editable,
- const gchar *text);
-gchar *e_utf8_gtk_editable_get_chars (GtkEditable *editable,
- gint start,
- gint end);
-void e_utf8_gtk_editable_insert_text (GtkEditable *editable,
- const gchar *text,
- gint length,
- gint *position);
-gchar *e_utf8_xml1_decode (const gchar *text);
-gchar *e_utf8_xml1_encode (const gchar *text);
-gint e_unichar_to_utf8 (gint c,
- gchar *outbuf);
-gchar *e_unicode_get_utf8 (const gchar *text,
- gunichar *out);
-guint32 gdk_keyval_to_unicode (guint keysym);
-gchar *e_xml_get_translated_utf8_string_prop_by_name (const xmlNode *parent,
- const xmlChar *prop_name);
-
-G_END_DECLS
-
-#endif
-
-
diff --git a/widgets/misc/gal-categories.glade b/widgets/misc/gal-categories.glade
deleted file mode 100644
index 40f034999b..0000000000
--- a/widgets/misc/gal-categories.glade
+++ /dev/null
@@ -1,173 +0,0 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
-<glade-interface>
-
-<widget class="GtkDialog" id="categories">
- <property name="title" translatable="yes">categories</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_NONE</property>
- <property name="modal">False</property>
- <property name="resizable">True</property>
- <property name="destroy_with_parent">False</property>
- <property name="decorated">True</property>
- <property name="skip_taskbar_hint">False</property>
- <property name="skip_pager_hint">False</property>
- <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <property name="has_separator">False</property>
-
- <child internal-child="vbox">
- <widget class="GtkVBox" id="dialog-vbox1">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="dialog-action_area1">
- <property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
-
- <child>
- <widget class="GtkButton" id="button3">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-ok</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">0</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="button4">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-cancel</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">0</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkTable" id="table-categories">
- <property name="border_width">12</property>
- <property name="visible">True</property>
- <property name="n_rows">5</property>
- <property name="n_columns">1</property>
- <property name="homogeneous">False</property>
- <property name="row_spacing">6</property>
- <property name="column_spacing">6</property>
-
- <child>
- <widget class="GtkEntry" id="entry-categories">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="editable">True</property>
- <property name="visibility">True</property>
- <property name="max_length">0</property>
- <property name="text" translatable="yes"></property>
- <property name="has_frame">True</property>
- <property name="invisible_char" translatable="yes">*</property>
- <property name="activates_default">False</property>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label-header">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Item(s) belong to these _categories:</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="mnemonic_widget">entry-categories</property>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label2">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Available Categories:</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button-ecmld">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Edit Master Category List...</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
-
-</glade-interface>
diff --git a/widgets/misc/gal-combo-box.c b/widgets/misc/gal-combo-box.c
deleted file mode 100644
index ad941a7133..0000000000
--- a/widgets/misc/gal-combo-box.c
+++ /dev/null
@@ -1,834 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gtk-combo-box.c - a customizable combobox
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza (miguel@gnu.org)
- * Adrian E Feiguin (feiguin@ifir.edu.ar)
- * Paolo Molnaro (lupus@debian.org).
- * Jon K Hellan (hellan@acm.org)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <gtk/gtkhbox.h>
-#include <gtk/gtktogglebutton.h>
-#include <gtk/gtkarrow.h>
-#include <gtk/gtkeventbox.h>
-#include <gtk/gtkmain.h>
-#include <gtk/gtksignal.h>
-#include <gtk/gtkwindow.h>
-#include <gtk/gtkframe.h>
-#include <gtk/gtkvbox.h>
-#include <gtk/gtktearoffmenuitem.h>
-#include <gdk/gdkkeysyms.h>
-#include "gal-combo-box.h"
-#include "gal/util/e-util.h"
-
-#define PARENT_TYPE GTK_TYPE_HBOX
-static GObjectClass *gal_combo_box_parent_class;
-
-static int gtk_combo_toggle_pressed (GtkToggleButton *tbutton,
- GalComboBox *combo_box);
-static void gtk_combo_popup_tear_off (GalComboBox *combo,
- gboolean set_position);
-static void gtk_combo_set_tearoff_state (GalComboBox *combo,
- gboolean torn_off);
-static void gtk_combo_popup_reparent (GtkWidget *popup, GtkWidget *new_parent,
- gboolean unrealize);
-static gboolean cb_popup_delete (GtkWidget *w, GdkEventAny *event,
- GalComboBox *combo);
-static void gtk_combo_tearoff_bg_copy (GalComboBox *combo);
-
-enum {
- POP_DOWN_WIDGET,
- POP_DOWN_DONE,
- PRE_POP_DOWN,
- POST_POP_HIDE,
- LAST_SIGNAL
-};
-
-static guint gal_combo_box_signals [LAST_SIGNAL] = { 0, };
-
-struct _GalComboBoxPrivate {
- GtkWidget *pop_down_widget;
- GtkWidget *display_widget;
-
- /*
- * Internal widgets used to implement the ComboBox
- */
- GtkWidget *frame;
- GtkWidget *arrow_button;
-
- GtkWidget *toplevel; /* Popup's toplevel when not torn off */
- GtkWidget *tearoff_window; /* Popup's toplevel when torn off */
- guint torn_off;
-
- GtkWidget *tearable; /* The tearoff "button" */
- GtkWidget *popup; /* Popup */
-
- /*
- * Closure for invoking the callbacks above
- */
- void *closure;
-};
-
-static void
-gal_combo_box_finalize (GObject *object)
-{
- GalComboBox *combo_box = GAL_COMBO_BOX (object);
-
- g_free (combo_box->priv);
-
- gal_combo_box_parent_class->finalize (object);
-}
-
-static void
-gal_combo_box_destroy (GtkObject *object)
-{
- GtkObjectClass *klass = (GtkObjectClass *)gal_combo_box_parent_class;
- GalComboBox *combo_box = GAL_COMBO_BOX (object);
-
- if (combo_box->priv->toplevel) {
- gtk_object_destroy (GTK_OBJECT (combo_box->priv->toplevel));
- combo_box->priv->toplevel = NULL;
- }
-
- if (combo_box->priv->tearoff_window) {
- gtk_object_destroy (GTK_OBJECT (combo_box->priv->tearoff_window));
- combo_box->priv->tearoff_window = NULL;
- }
-
- if (klass->destroy)
- klass->destroy (object);
-}
-
-static gboolean
-gal_combo_box_mnemonic_activate (GtkWidget *w, gboolean group_cycling)
-{
- GalComboBox *combo_box = GAL_COMBO_BOX (w);
- gtk_toggle_button_set_active (
- GTK_TOGGLE_BUTTON (combo_box->priv->arrow_button), TRUE);
- return TRUE;
-}
-
-static void
-gal_combo_box_class_init (GObjectClass *object_class)
-{
- GtkWidgetClass *widget_class = (GtkWidgetClass *)object_class;
- gal_combo_box_parent_class = g_type_class_peek_parent (object_class);
-
- object_class->finalize = gal_combo_box_finalize;
- widget_class->mnemonic_activate = gal_combo_box_mnemonic_activate;
- ((GtkObjectClass *)object_class)->destroy = gal_combo_box_destroy;
-
- gal_combo_box_signals [POP_DOWN_WIDGET] = g_signal_new (
- "pop_down_widget",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (GalComboBoxClass, pop_down_widget),
- NULL, NULL,
- e_marshal_POINTER__NONE,
- G_TYPE_POINTER, 0, G_TYPE_NONE);
-
- gal_combo_box_signals [POP_DOWN_DONE] = g_signal_new (
- "pop_down_done",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (GalComboBoxClass, pop_down_done),
- NULL, NULL,
- e_marshal_BOOLEAN__OBJECT,
- G_TYPE_BOOLEAN, 1, G_TYPE_OBJECT);
-
- gal_combo_box_signals [PRE_POP_DOWN] = g_signal_new (
- "pre_pop_down",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (GalComboBoxClass, pre_pop_down),
- NULL, NULL,
- e_marshal_NONE__NONE,
- G_TYPE_NONE, 0);
-
- gal_combo_box_signals [POST_POP_HIDE] = g_signal_new (
- "post_pop_hide",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (GalComboBoxClass, post_pop_hide),
- NULL, NULL,
- e_marshal_NONE__NONE,
- G_TYPE_NONE, 0);
-}
-
-static void
-deactivate_arrow (GalComboBox *combo_box)
-{
- GtkToggleButton *arrow;
-
- arrow = GTK_TOGGLE_BUTTON (combo_box->priv->arrow_button);
- g_signal_handlers_block_matched (arrow,
- G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA,
- 0, 0, NULL,
- gtk_combo_toggle_pressed, combo_box);
-
- gtk_toggle_button_set_active (arrow, FALSE);
-
- g_signal_handlers_unblock_matched (arrow,
- G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA,
- 0, 0, NULL,
- gtk_combo_toggle_pressed, combo_box);
-}
-
-/**
- * gal_combo_box_popup_hide_unconditional
- * @combo_box: Combo box
- *
- * Hide popup, whether or not it is torn off.
- */
-static void
-gal_combo_box_popup_hide_unconditional (GalComboBox *combo_box)
-{
- gboolean popup_info_destroyed = FALSE;
-
- g_return_if_fail (combo_box != NULL);
- g_return_if_fail (GAL_IS_COMBO_BOX (combo_box));
-
- gtk_widget_hide (combo_box->priv->toplevel);
- gtk_widget_hide (combo_box->priv->popup);
- if (combo_box->priv->torn_off) {
- GTK_TEAROFF_MENU_ITEM (combo_box->priv->tearable)->torn_off
- = FALSE;
- gtk_combo_set_tearoff_state (combo_box, FALSE);
- }
-
- gtk_grab_remove (combo_box->priv->toplevel);
- gdk_pointer_ungrab (GDK_CURRENT_TIME);
-
- g_object_ref (combo_box->priv->pop_down_widget);
- g_signal_emit (combo_box,
- gal_combo_box_signals [POP_DOWN_DONE], 0,
- combo_box->priv->pop_down_widget, &popup_info_destroyed);
-
- if (popup_info_destroyed){
- gtk_container_remove (
- GTK_CONTAINER (combo_box->priv->frame),
- combo_box->priv->pop_down_widget);
- combo_box->priv->pop_down_widget = NULL;
- }
- g_object_unref (combo_box->priv->pop_down_widget);
- deactivate_arrow (combo_box);
-
- g_signal_emit (combo_box, gal_combo_box_signals [POST_POP_HIDE], 0);
-}
-
-/**
- * gal_combo_box_popup_hide:
- * @combo_box: Combo box
- *
- * Hide popup, but not when it is torn off.
- * This is the external interface - for subclasses and apps which expect a
- * regular combo which doesn't do tearoffs.
- */
-void
-gal_combo_box_popup_hide (GalComboBox *combo_box)
-{
- if (!combo_box->priv->torn_off)
- gal_combo_box_popup_hide_unconditional (combo_box);
- else if (GTK_WIDGET_VISIBLE (combo_box->priv->toplevel)) {
- /* Both popup and tearoff window present. Get rid of just
- the popup shell. */
- gtk_combo_popup_tear_off (combo_box, FALSE);
- deactivate_arrow (combo_box);
- }
-}
-
-/*
- * Find best location for displaying
- */
-void
-gal_combo_box_get_pos (GalComboBox *combo_box, int *x, int *y)
-{
- GtkWidget *wcombo = GTK_WIDGET (combo_box);
- int ph, pw;
-
- gdk_window_get_origin (wcombo->window, x, y);
- *y += wcombo->allocation.height + wcombo->allocation.y;
- *x += wcombo->allocation.x;
-
- ph = combo_box->priv->popup->allocation.height;
- pw = combo_box->priv->popup->allocation.width;
-
- if ((*y + ph) > gdk_screen_height ())
- *y = gdk_screen_height () - ph;
-
- if ((*x + pw) > gdk_screen_width ())
- *x = gdk_screen_width () - pw;
-}
-
-static void
-gal_combo_box_popup_display (GalComboBox *combo_box)
-{
- int x, y;
-
- g_return_if_fail (combo_box != NULL);
- g_return_if_fail (GAL_IS_COMBO_BOX (combo_box));
-
- /*
- * If we have no widget to display on the popdown,
- * create it
- */
- if (!combo_box->priv->pop_down_widget){
- GtkWidget *pw = NULL;
-
- g_signal_emit (combo_box,
- gal_combo_box_signals [POP_DOWN_WIDGET], 0, &pw);
- g_assert (pw != NULL);
- combo_box->priv->pop_down_widget = pw;
- gtk_container_add (GTK_CONTAINER (combo_box->priv->frame), pw);
- }
-
- g_signal_emit (combo_box, gal_combo_box_signals [PRE_POP_DOWN], 0);
-
- if (combo_box->priv->torn_off) {
- /* To give the illusion that tearoff still displays the
- * popup, we copy the image in the popup window to the
- * background. Thus, it won't be blank after reparenting */
- gtk_combo_tearoff_bg_copy (combo_box);
-
- /* We force an unrealize here so that we don't trigger
- * redrawing/ clearing code - we just want to reveal our
- * backing pixmap.
- */
- gtk_combo_popup_reparent (combo_box->priv->popup,
- combo_box->priv->toplevel, TRUE);
- }
-
- gal_combo_box_get_pos (combo_box, &x, &y);
-
- gtk_widget_set_uposition (combo_box->priv->toplevel, x, y);
- gtk_widget_realize (combo_box->priv->popup);
- gtk_widget_show (combo_box->priv->popup);
- gtk_widget_realize (combo_box->priv->toplevel);
- gtk_widget_show (combo_box->priv->toplevel);
-
- gtk_grab_add (combo_box->priv->toplevel);
- gdk_pointer_grab (combo_box->priv->toplevel->window, TRUE,
- GDK_BUTTON_PRESS_MASK |
- GDK_BUTTON_RELEASE_MASK |
- GDK_POINTER_MOTION_MASK,
- NULL, NULL, GDK_CURRENT_TIME);
-}
-
-static int
-gtk_combo_toggle_pressed (GtkToggleButton *tbutton, GalComboBox *combo_box)
-{
- if (tbutton->active)
- gal_combo_box_popup_display (combo_box);
- else
- gal_combo_box_popup_hide_unconditional (combo_box);
-
- return TRUE;
-}
-
-static gint
-gal_combo_box_button_press (GtkWidget *widget, GdkEventButton *event, GalComboBox *combo_box)
-{
- GtkWidget *child;
-
- child = gtk_get_event_widget ((GdkEvent *) event);
- if (child != widget){
- while (child){
- if (child == widget)
- return FALSE;
- child = child->parent;
- }
- }
-
- gal_combo_box_popup_hide (combo_box);
- return TRUE;
-}
-
-/**
- * gal_combo_box_key_press
- * @widget: Widget
- * @event: Event
- * @combo_box: Combo box
- *
- * Key press handler which dismisses popup on escape.
- * Popup is dismissed whether or not popup is torn off.
- */
-static gint
-gal_combo_box_key_press (GtkWidget *widget, GdkEventKey *event,
- GalComboBox *combo_box)
-{
- if (event->keyval == GDK_Escape) {
- gal_combo_box_popup_hide_unconditional (combo_box);
- return TRUE;
- } else
- return FALSE;
-}
-
-static void
-cb_state_change (GtkWidget *widget, GtkStateType old_state, GalComboBox *combo_box)
-{
- GtkStateType const new_state = GTK_WIDGET_STATE(widget);
- gtk_widget_set_state (combo_box->priv->display_widget, new_state);
-}
-
-static void
-gal_combo_box_init (GalComboBox *combo_box)
-{
- GtkWidget *arrow;
- GdkCursor *cursor;
-
- combo_box->priv = g_new0 (GalComboBoxPrivate, 1);
-
- /*
- * Create the arrow
- */
- combo_box->priv->arrow_button = gtk_toggle_button_new ();
- gtk_button_set_relief (GTK_BUTTON (combo_box->priv->arrow_button), GTK_RELIEF_NONE);
- GTK_WIDGET_UNSET_FLAGS (combo_box->priv->arrow_button, GTK_CAN_FOCUS);
-
- arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_NONE);
- gtk_container_add (GTK_CONTAINER (combo_box->priv->arrow_button), arrow);
- gtk_box_pack_end (GTK_BOX (combo_box), combo_box->priv->arrow_button, FALSE, FALSE, 0);
- g_signal_connect (combo_box->priv->arrow_button, "toggled",
- G_CALLBACK (gtk_combo_toggle_pressed), combo_box);
- gtk_widget_show_all (combo_box->priv->arrow_button);
-
- /*
- * prelight the display widget when mousing over the arrow.
- */
- g_signal_connect (combo_box->priv->arrow_button, "state-changed",
- G_CALLBACK (cb_state_change), combo_box);
-
- /*
- * The pop-down container
- */
-
- combo_box->priv->toplevel = gtk_window_new (GTK_WINDOW_POPUP);
- gtk_widget_ref (combo_box->priv->toplevel);
- gtk_object_sink (GTK_OBJECT (combo_box->priv->toplevel));
- gtk_window_set_policy (GTK_WINDOW (combo_box->priv->toplevel),
- FALSE, TRUE, FALSE);
-
- combo_box->priv->popup = gtk_event_box_new ();
- gtk_container_add (GTK_CONTAINER (combo_box->priv->toplevel),
- combo_box->priv->popup);
- gtk_widget_show (combo_box->priv->popup);
-
- gtk_widget_realize (combo_box->priv->popup);
- cursor = gdk_cursor_new (GDK_TOP_LEFT_ARROW);
- gdk_window_set_cursor (combo_box->priv->popup->window, cursor);
- gdk_cursor_destroy (cursor);
-
- combo_box->priv->torn_off = FALSE;
- combo_box->priv->tearoff_window = NULL;
-
- combo_box->priv->frame = gtk_frame_new (NULL);
- gtk_container_add (GTK_CONTAINER (combo_box->priv->popup),
- combo_box->priv->frame);
- gtk_frame_set_shadow_type (GTK_FRAME (combo_box->priv->frame), GTK_SHADOW_OUT);
-
- g_signal_connect (combo_box->priv->toplevel, "button_press_event",
- G_CALLBACK (gal_combo_box_button_press), combo_box);
- g_signal_connect (combo_box->priv->toplevel, "key_press_event",
- G_CALLBACK (gal_combo_box_key_press), combo_box);
-}
-
-E_MAKE_TYPE (gal_combo_box,
- "MyGalComboBox",
- GalComboBox,
- gal_combo_box_class_init,
- gal_combo_box_init,
- PARENT_TYPE)
-
-/**
- * gal_combo_box_set_display:
- * @combo_box: the Combo Box to modify
- * @display_widget: The widget to be displayed
-
- * Sets the displayed widget for the @combo_box to be @display_widget
- */
-void
-gal_combo_box_set_display (GalComboBox *combo_box, GtkWidget *display_widget)
-{
- g_return_if_fail (combo_box != NULL);
- g_return_if_fail (GAL_IS_COMBO_BOX (combo_box));
- g_return_if_fail (display_widget != NULL);
- g_return_if_fail (GTK_IS_WIDGET (display_widget));
-
- if (combo_box->priv->display_widget &&
- combo_box->priv->display_widget != display_widget)
- gtk_container_remove (GTK_CONTAINER (combo_box),
- combo_box->priv->display_widget);
-
- combo_box->priv->display_widget = display_widget;
-
- gtk_box_pack_start (GTK_BOX (combo_box), display_widget, TRUE, TRUE, 0);
-}
-
-static gboolean
-cb_tearable_enter_leave (GtkWidget *w, GdkEventCrossing *event, gpointer data)
-{
- gboolean const flag = GPOINTER_TO_INT(data);
- gtk_widget_set_state (w, flag ? GTK_STATE_PRELIGHT : GTK_STATE_NORMAL);
- return FALSE;
-}
-
-/**
- * gtk_combo_popup_tear_off
- * @combo: Combo box
- * @set_position: Set to position of popup shell if true
- *
- * Tear off the popup
- *
- * FIXME:
- * Gtk popup menus are toplevel windows, not dialogs. I think this is wrong,
- * and make the popups dialogs. But may be there should be a way to make
- * them toplevel. We can do this after creating:
- * GTK_WINDOW (tearoff)->type = GTK_WINDOW_TOPLEVEL;
- */
-static void
-gtk_combo_popup_tear_off (GalComboBox *combo, gboolean set_position)
-{
- int x, y;
-
- if (!combo->priv->tearoff_window) {
- GtkWidget *tearoff;
- gchar *title;
-
- /* FIXME: made this a toplevel, not a dialog ! */
- tearoff = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gtk_widget_ref (tearoff);
- gtk_object_sink (GTK_OBJECT (tearoff));
- combo->priv->tearoff_window = tearoff;
- gtk_widget_set_app_paintable (tearoff, TRUE);
- g_signal_connect (tearoff, "key_press_event",
- G_CALLBACK (gal_combo_box_key_press),
- combo);
- gtk_widget_realize (tearoff);
- title = g_object_get_data (G_OBJECT (combo),
- "gtk-combo-title");
- if (title)
- gdk_window_set_title (tearoff->window, title);
- gtk_window_set_policy (GTK_WINDOW (tearoff),
- FALSE, TRUE, FALSE);
- gtk_window_set_transient_for
- (GTK_WINDOW (tearoff),
- GTK_WINDOW (gtk_widget_get_toplevel
- GTK_WIDGET (combo)));
- }
-
- if (GTK_WIDGET_VISIBLE (combo->priv->popup)) {
- gtk_widget_hide (combo->priv->toplevel);
-
- gtk_grab_remove (combo->priv->toplevel);
- gdk_pointer_ungrab (GDK_CURRENT_TIME);
- }
-
- gtk_combo_popup_reparent (combo->priv->popup,
- combo->priv->tearoff_window, FALSE);
-
- /* It may have got confused about size */
- gtk_widget_queue_resize (GTK_WIDGET (combo->priv->popup));
-
- if (set_position) {
- gal_combo_box_get_pos (combo, &x, &y);
- gtk_widget_set_uposition (combo->priv->tearoff_window, x, y);
- }
- gtk_widget_show (GTK_WIDGET (combo->priv->popup));
- gtk_widget_show (combo->priv->tearoff_window);
-
-}
-
-/**
- * gtk_combo_set_tearoff_state
- * @combo_box: Combo box
- * @torn_off: TRUE: Tear off. FALSE: Pop down and reattach
- *
- * Set the tearoff state of the popup
- *
- * Compare with gtk_menu_set_tearoff_state in gtk/gtkmenu.c
- */
-static void
-gtk_combo_set_tearoff_state (GalComboBox *combo,
- gboolean torn_off)
-{
- g_return_if_fail (combo != NULL);
- g_return_if_fail (GAL_IS_COMBO_BOX (combo));
-
- if (combo->priv->torn_off != torn_off) {
- combo->priv->torn_off = torn_off;
-
- if (combo->priv->torn_off) {
- gtk_combo_popup_tear_off (combo, TRUE);
- deactivate_arrow (combo);
- } else {
- gtk_widget_hide (combo->priv->tearoff_window);
- gtk_combo_popup_reparent (combo->priv->popup,
- combo->priv->toplevel,
- FALSE);
- }
- }
-}
-
-/**
- * gtk_combo_tearoff_bg_copy
- * @combo_box: Combo box
- *
- * Copy popup window image to the tearoff window.
- */
-static void
-gtk_combo_tearoff_bg_copy (GalComboBox *combo)
-{
- GdkPixmap *pixmap;
- GdkGC *gc;
- GdkGCValues gc_values;
-
- GtkWidget *widget = combo->priv->popup;
-
- if (combo->priv->torn_off) {
- gc_values.subwindow_mode = GDK_INCLUDE_INFERIORS;
- gc = gdk_gc_new_with_values (widget->window,
- &gc_values, GDK_GC_SUBWINDOW);
-
- pixmap = gdk_pixmap_new (widget->window,
- widget->allocation.width,
- widget->allocation.height,
- -1);
-
- gdk_draw_pixmap (pixmap, gc,
- widget->window,
- 0, 0, 0, 0, -1, -1);
- gdk_gc_unref (gc);
-
- gtk_widget_set_usize (combo->priv->tearoff_window,
- widget->allocation.width,
- widget->allocation.height);
-
- gdk_window_set_back_pixmap
- (combo->priv->tearoff_window->window, pixmap, FALSE);
- gdk_pixmap_unref (pixmap);
- }
-}
-
-/**
- * gtk_combo_popup_reparent
- * @popup: Popup
- * @new_parent: New parent
- * @unrealize: Unrealize popup if TRUE.
- *
- * Reparent the popup, taking care of the refcounting
- *
- * Compare with gtk_menu_reparent in gtk/gtkmenu.c
- */
-static void
-gtk_combo_popup_reparent (GtkWidget *popup,
- GtkWidget *new_parent,
- gboolean unrealize)
-{
- GtkObject *object = GTK_OBJECT (popup);
- gboolean was_floating = GTK_OBJECT_FLOATING (object);
-
- g_object_ref (object);
- gtk_object_sink (object);
-
- if (unrealize) {
- g_object_ref (object);
- gtk_container_remove (GTK_CONTAINER (popup->parent), popup);
- gtk_container_add (GTK_CONTAINER (new_parent), popup);
- g_object_unref (object);
- }
- else
- gtk_widget_reparent (GTK_WIDGET (popup), new_parent);
- gtk_widget_set_usize (new_parent, -1, -1);
-
- if (was_floating)
- GTK_OBJECT_SET_FLAGS (object, GTK_FLOATING);
- else
- g_object_unref (object);
-}
-
-/**
- * cb_tearable_button_release
- * @w: Widget
- * @event: Event
- * @combo: Combo box
- *
- * Toggle tearoff state.
- */
-static gboolean
-cb_tearable_button_release (GtkWidget *w, GdkEventButton *event,
- GalComboBox *combo)
-{
- GtkTearoffMenuItem *tearable;
-
- g_return_val_if_fail (w != NULL, FALSE);
- g_return_val_if_fail (GTK_IS_TEAROFF_MENU_ITEM (w), FALSE);
-
- tearable = GTK_TEAROFF_MENU_ITEM (w);
- tearable->torn_off = !tearable->torn_off;
-
- if (!combo->priv->torn_off) {
- gboolean need_connect;
-
- need_connect = (!combo->priv->tearoff_window);
- gtk_combo_set_tearoff_state (combo, TRUE);
- if (need_connect)
- g_signal_connect (combo->priv->tearoff_window,
- "delete_event",
- G_CALLBACK (cb_popup_delete),
- combo);
- } else
- gal_combo_box_popup_hide_unconditional (combo);
-
- return TRUE;
-}
-
-static gboolean
-cb_popup_delete (GtkWidget *w, GdkEventAny *event, GalComboBox *combo)
-{
- gal_combo_box_popup_hide_unconditional (combo);
- return TRUE;
-}
-
-void
-gal_combo_box_construct (GalComboBox *combo_box, GtkWidget *display_widget, GtkWidget *pop_down_widget)
-{
- GtkWidget *tearable;
- GtkWidget *vbox;
-
- g_return_if_fail (combo_box != NULL);
- g_return_if_fail (GAL_IS_COMBO_BOX (combo_box));
- g_return_if_fail (display_widget != NULL);
- g_return_if_fail (GTK_IS_WIDGET (display_widget));
-
- GTK_BOX (combo_box)->spacing = 0;
- GTK_BOX (combo_box)->homogeneous = FALSE;
-
- combo_box->priv->pop_down_widget = pop_down_widget;
- combo_box->priv->display_widget = NULL;
-
- vbox = gtk_vbox_new (FALSE, 5);
- tearable = gtk_tearoff_menu_item_new ();
- g_signal_connect (tearable, "enter-notify-event",
- G_CALLBACK (cb_tearable_enter_leave),
- GINT_TO_POINTER (TRUE));
- g_signal_connect (tearable, "leave-notify-event",
- G_CALLBACK (cb_tearable_enter_leave),
- GINT_TO_POINTER (FALSE));
- g_signal_connect (tearable, "button-release-event",
- G_CALLBACK (cb_tearable_button_release),
- (gpointer) combo_box);
- gtk_box_pack_start (GTK_BOX (vbox), tearable, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (vbox), pop_down_widget, TRUE, TRUE, 0);
- combo_box->priv->tearable = tearable;
-
- /*
- * Finish setup
- */
- gal_combo_box_set_display (combo_box, display_widget);
-
- gtk_container_add (GTK_CONTAINER (combo_box->priv->frame), vbox);
- gtk_widget_show_all (combo_box->priv->frame);
-}
-
-GtkWidget *
-gal_combo_box_new (GtkWidget *display_widget, GtkWidget *optional_popdown)
-{
- GalComboBox *combo_box;
-
- g_return_val_if_fail (display_widget != NULL, NULL);
- g_return_val_if_fail (GTK_IS_WIDGET (display_widget), NULL);
-
- combo_box = g_object_new (GAL_COMBO_BOX_TYPE, NULL);
- gal_combo_box_construct (combo_box, display_widget, optional_popdown);
- return GTK_WIDGET (combo_box);
-}
-
-void
-gal_combo_box_set_arrow_relief (GalComboBox *cc, GtkReliefStyle relief)
-{
- g_return_if_fail (cc != NULL);
- g_return_if_fail (GAL_IS_COMBO_BOX (cc));
-
- gtk_button_set_relief (GTK_BUTTON (cc->priv->arrow_button), relief);
-}
-
-/**
- * gal_combo_box_set_title
- * @combo: Combo box
- * @title: Title
- *
- * Set a title to display over the tearoff window.
- *
- * FIXME:
- *
- * This should really change the title even when the popup is already torn off.
- * I guess the tearoff window could attach a listener to title change or
- * something. But I don't think we need the functionality, so I didn't bother
- * to investigate.
- */
-void
-gal_combo_box_set_title (GalComboBox *combo,
- const gchar *title)
-{
- g_return_if_fail (combo != NULL);
- g_return_if_fail (GAL_IS_COMBO_BOX (combo));
-
- g_object_set_data_full (G_OBJECT (combo), "gtk-combo-title",
- g_strdup (title), (GDestroyNotify) g_free);
-}
-
-/**
- * gal_combo_box_set_arrow_sensitive
- * @combo: Combo box
- * @sensitive: Sensitivity value
- *
- * Toggle the sensitivity of the arrow button
- */
-
-void
-gal_combo_box_set_arrow_sensitive (GalComboBox *combo,
- gboolean sensitive)
-{
- g_return_if_fail (combo != NULL);
-
- gtk_widget_set_sensitive (combo->priv->arrow_button, sensitive);
-}
-
-/**
- * gal_combo_box_set_tearable:
- * @combo: Combo box
- * @tearable: whether to allow the @combo to be tearable
- *
- * controls whether the combo box's pop up widget can be torn off.
- */
-void
-gal_combo_box_set_tearable (GalComboBox *combo, gboolean tearable)
-{
- g_return_if_fail (combo != NULL);
- g_return_if_fail (GAL_IS_COMBO_BOX (combo));
-
- if (tearable){
- gtk_widget_show (combo->priv->tearable);
- } else {
- gtk_combo_set_tearoff_state (combo, FALSE);
- gtk_widget_hide (combo->priv->tearable);
- }
-}
diff --git a/widgets/misc/gal-combo-box.h b/widgets/misc/gal-combo-box.h
deleted file mode 100644
index 0a05c52d84..0000000000
--- a/widgets/misc/gal-combo-box.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gtk-combo-box.h - a customizable combobox
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza <miguel@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _GAL_COMBO_BOX_H_
-#define _GAL_COMBO_BOX_H_
-
-#include <gtk/gtkhbox.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define GAL_COMBO_BOX_TYPE (gal_combo_box_get_type())
-#define GAL_COMBO_BOX(obj) G_TYPE_CHECK_INSTANCE_CAST (obj, gal_combo_box_get_type (), GalComboBox)
-#define GAL_COMBO_BOX_CLASS(klass) G_TYPE_CHECK_CLASS_CAST (klass, gal_combo_box_get_type (), GalComboBoxClass)
-#define GAL_IS_COMBO_BOX(obj) G_TYPE_CHECK_INSTANCE_TYPE (obj, gal_combo_box_get_type ())
-
-typedef struct _GalComboBox GalComboBox;
-typedef struct _GalComboBoxPrivate GalComboBoxPrivate;
-typedef struct _GalComboBoxClass GalComboBoxClass;
-
-struct _GalComboBox {
- GtkHBox hbox;
- GalComboBoxPrivate *priv;
-};
-
-struct _GalComboBoxClass {
- GtkHBoxClass parent_class;
-
- GtkWidget *(*pop_down_widget) (GalComboBox *cbox);
-
- /*
- * invoked when the popup has been hidden, if the signal
- * returns TRUE, it means it should be killed from the
- */
- gboolean *(*pop_down_done) (GalComboBox *cbox, GtkWidget *);
-
- /*
- * Notification signals.
- */
- void (*pre_pop_down) (GalComboBox *cbox);
- void (*post_pop_hide) (GalComboBox *cbox);
-};
-
-GtkType gal_combo_box_get_type (void);
-void gal_combo_box_construct (GalComboBox *combo_box,
- GtkWidget *display_widget,
- GtkWidget *optional_pop_down_widget);
-void gal_combo_box_get_pos (GalComboBox *combo_box, int *x, int *y);
-
-GtkWidget *gal_combo_box_new (GtkWidget *display_widget,
- GtkWidget *optional_pop_down_widget);
-void gal_combo_box_popup_hide (GalComboBox *combo_box);
-
-void gal_combo_box_set_display (GalComboBox *combo_box,
- GtkWidget *display_widget);
-
-void gal_combo_box_set_title (GalComboBox *combo,
- const gchar *title);
-
-void gal_combo_box_set_tearable (GalComboBox *combo,
- gboolean tearable);
-void gal_combo_box_set_arrow_sensitive (GalComboBox *combo,
- gboolean sensitive);
-void gal_combo_box_set_arrow_relief (GalComboBox *cc,
- GtkReliefStyle relief);
-#ifdef __cplusplus
-};
-#endif /* __cplusplus */
-
-#endif /* _GAL_COMBO_BOX_H_ */
diff --git a/widgets/misc/gal-combo-text.c b/widgets/misc/gal-combo-text.c
deleted file mode 100644
index ba3b4ad7c5..0000000000
--- a/widgets/misc/gal-combo-text.c
+++ /dev/null
@@ -1,433 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gtk-combo-text.c - A combo box for selecting from a list.
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <ctype.h>
-#include <gal/util/e-util.h>
-#include <gtk/gtksignal.h>
-#include <gtk/gtkentry.h>
-#include <gtk/gtklist.h>
-#include <gtk/gtkscrolledwindow.h>
-#include "gal-combo-text.h"
-
-#define PARENT_TYPE GAL_COMBO_BOX_TYPE
-static GtkObjectClass *gal_combo_text_parent_class;
-
-static gboolean cb_pop_down (GtkWidget *w, GtkWidget *pop_down,
- gpointer dummy);
-
-static void list_unselect_cb (GtkWidget *list, GtkWidget *child,
- gpointer data);
-
-static void update_list_selection (GalComboText *ct, const gchar *text);
-
-static void
-gal_combo_text_destroy (GtkObject *object)
-{
- GalComboText *ct = GAL_COMBO_TEXT (object);
-
- if (ct->elements != NULL) {
- g_hash_table_destroy (ct->elements);
- ct->elements = NULL;
- }
- if (ct->list != NULL) {
- g_signal_handlers_disconnect_matched (ct,
- G_SIGNAL_MATCH_FUNC,
- 0, 0, NULL,
- cb_pop_down, NULL);
-
- g_signal_handlers_disconnect_matched (ct->list,
- G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA,
- 0, 0, NULL,
- list_unselect_cb, ct);
- ct->list = NULL;
- }
-
- (*gal_combo_text_parent_class->destroy) (object);
-}
-
-static void
-gal_combo_text_class_init (GtkObjectClass *object_class)
-{
- object_class->destroy = &gal_combo_text_destroy;
- gal_combo_text_parent_class = g_type_class_ref (PARENT_TYPE);
-}
-
-static void
-gal_combo_text_init (GalComboText *object)
-{
-}
-
-E_MAKE_TYPE (gal_combo_text,
- "GalComboText",
- GalComboText,
- gal_combo_text_class_init,
- gal_combo_text_init,
- PARENT_TYPE)
-
-static gint
-strcase_equal (gconstpointer v, gconstpointer v2)
-{
- return g_strcasecmp ((const gchar*) v, (const gchar*)v2) == 0;
-}
-
-
-/*
- * a char* hash function from ASU
- *
- * This is cut/paste from gutils.c
- * We've got to do this, because this widget will soon move out of the
- * Gnumeric source and into a separate library.
- */
-static guint
-strcase_hash (gconstpointer v)
-{
- const unsigned char *s = (const unsigned char *)v;
- const unsigned char *p;
- guint h = 0, g;
-
- for(p = s; *p != '\0'; p += 1) {
- h = ( h << 4 ) + tolower (*p);
- if ( ( g = h & 0xf0000000 ) ) {
- h = h ^ (g >> 24);
- h = h ^ g;
- }
- }
-
- return h /* % M */;
-}
-
-/**
- * gal_combo_text_set_case_sensitive
- * @combo_text: ComboText widget
- * @val: make case sensitive if TRUE
- *
- * Specifies whether the text entered into the GtkEntry field and the text
- * in the list items is case sensitive. Because the values are stored in a
- * hash, it is not legal to change case sensitivity when the list contains
- * elements.
- *
- * Returns: The function returns -1 if request could not be honored. On
- * success, it returns 0.
- */
-gint
-gal_combo_text_set_case_sensitive (GalComboText *combo, gboolean val)
-{
- if (combo->elements
- && g_hash_table_size (combo->elements) > 0
- && val != combo->case_sensitive)
- return -1;
- else {
- combo->case_sensitive = val;
- if (val != combo->case_sensitive) {
- GHashFunc hashfunc;
- GCompareFunc comparefunc;
-
- g_hash_table_destroy (combo->elements);
- if (combo->case_sensitive) {
- hashfunc = g_str_hash;
- comparefunc = g_str_equal;
- } else {
- hashfunc = strcase_hash;
- comparefunc = strcase_equal;
- }
- combo->elements = g_hash_table_new (hashfunc,
- comparefunc);
- }
- return 0;
- }
-}
-
-static void
-entry_activate_cb (GtkWidget *entry, gpointer data)
-{
- GalComboText *combo = GAL_COMBO_TEXT (data);
-
- update_list_selection (combo,
- gtk_entry_get_text (GTK_ENTRY (combo->entry)));
-}
-
-
-static void
-list_select_cb (GtkWidget *list, GtkWidget *child, gpointer data)
-{
- GalComboText *combo = GAL_COMBO_TEXT (data);
- GtkEntry *entry = GTK_ENTRY (combo->entry);
- gchar *value = (gchar*) g_object_get_data (G_OBJECT (child), "value");
-
- g_return_if_fail (entry && value);
-
- if (combo->cached_entry == child)
- combo->cached_entry = NULL;
-
- gtk_entry_set_text (entry, value);
- gtk_signal_handler_block_by_func (GTK_OBJECT (entry),
- GTK_SIGNAL_FUNC (entry_activate_cb),
- (gpointer) combo);
- g_signal_emit_by_name (entry, "activate");
- gtk_signal_handler_unblock_by_func (GTK_OBJECT (entry),
- GTK_SIGNAL_FUNC (entry_activate_cb),
- (gpointer) combo);
-
- gal_combo_box_popup_hide (GAL_COMBO_BOX (data));
-}
-
-static void
-list_unselect_cb (GtkWidget *list, GtkWidget *child, gpointer data)
-{
- if (GTK_WIDGET_VISIBLE (list)) /* Undo interactive unselect */
- gtk_list_select_child (GTK_LIST (list), child);
-}
-
-static void
-cb_toggle (GtkWidget *child, gpointer data)
-{
- GalComboText *ct = GAL_COMBO_TEXT (data);
-
- gtk_list_select_child (GTK_LIST (ct->list), child);
-}
-
-void
-gal_combo_text_select_item (GalComboText *ct, int elem)
-{
- gtk_list_select_item (GTK_LIST(ct->list), elem);
-}
-
-static void
-update_list_selection (GalComboText *ct, const gchar *text)
-{
- gpointer candidate;
- GtkWidget *child;
-
- gtk_signal_handler_block_by_func (GTK_OBJECT (ct->list),
- GTK_SIGNAL_FUNC (list_select_cb),
- (gpointer) ct);
- gtk_signal_handler_block_by_func (GTK_OBJECT (ct->list),
- GTK_SIGNAL_FUNC (list_unselect_cb),
- (gpointer) ct);
-
- gtk_list_unselect_all (GTK_LIST (ct->list));
- candidate = g_hash_table_lookup (ct->elements, (gconstpointer) text);
- if (candidate && GTK_IS_WIDGET (candidate)) {
- child = GTK_WIDGET (candidate);
- gtk_list_select_child (GTK_LIST (ct->list), child);
- gtk_widget_grab_focus (child);
- }
- gtk_signal_handler_unblock_by_func (GTK_OBJECT (ct->list),
- GTK_SIGNAL_FUNC (list_select_cb),
- (gpointer) ct);
- gtk_signal_handler_unblock_by_func (GTK_OBJECT (ct->list),
- GTK_SIGNAL_FUNC (list_unselect_cb),
- (gpointer) ct);
-}
-
-void
-gal_combo_text_set_text (GalComboText *ct, const gchar *text)
-{
- gtk_entry_set_text (GTK_ENTRY (ct->entry), text);
- update_list_selection (ct, text);
-}
-
-/*
- * We can't just cache the old widget state on entry: If the pointer is
- * dragged, we receive two enter-notify-events, and the original cached
- * value would be overwritten with the GTK_STATE_ACTIVE we just set.
- *
- * However, we know that the gtklist only uses GTK_STATE_SELECTED and
- * GTK_STATE_NORMAL. We're OK if we only cache those two.
- */
-static gboolean
-cb_enter (GtkWidget *w, GdkEventCrossing *event,
- gpointer user)
-{
- GalComboText *ct = user;
- GtkStateType state = GTK_WIDGET_STATE (w);
-
- if (state == GTK_STATE_NORMAL || state == GTK_STATE_SELECTED) {
- ct->cached_entry = w;
- ct->cache_mouse_state = state;
- }
- if (state != GTK_STATE_SELECTED)
- gtk_widget_set_state (w, GTK_STATE_ACTIVE);
-
- return TRUE;
-}
-static gboolean
-cb_exit (GtkWidget *w, GdkEventCrossing *event,
- gpointer user)
-{
- GalComboText *ct = user;
-
- if (ct->cached_entry == w)
- gtk_widget_set_state (w, ct->cache_mouse_state);
-
- return TRUE;
-}
-
-static gboolean
-cb_pop_down (GtkWidget *w, GtkWidget *pop_down, gpointer dummy)
-{
- GalComboText *ct = GAL_COMBO_TEXT (w);
-
- if (ct->cached_entry)
- gtk_widget_set_state (ct->cached_entry, ct->cache_mouse_state);
- ct->cached_entry = NULL;
-
- return FALSE;
-}
-
-typedef struct {
- GalComboText *ct;
- gchar *value;
-} WeakRefClosure;
-
-static void
-cb_remove_from_hash (gpointer data, GObject *where_object_was)
-{
- WeakRefClosure *closure = data;
-
- if (closure->ct->elements)
- g_hash_table_remove (closure->ct->elements, closure->value);
-
- g_free (closure->value);
- g_free (closure);
-}
-
-void
-gal_combo_text_add_item (GalComboText *ct,
- const gchar *item,
- const gchar *value)
-{
- WeakRefClosure *weak_ref_closure;
- GtkWidget *listitem;
- gchar *value_copy;
-
- g_return_if_fail (item);
-
- if (!value)
- value = item;
-
- value_copy = g_strdup (value);
-
- listitem = gtk_list_item_new_with_label (item);
- gtk_widget_show (listitem);
-
- g_object_set_data_full (G_OBJECT (listitem), "value",
- value_copy, g_free);
- g_signal_connect (listitem, "enter-notify-event",
- G_CALLBACK (cb_enter),
- (gpointer) ct);
- g_signal_connect (listitem, "leave-notify-event",
- G_CALLBACK (cb_exit),
- (gpointer) ct);
- g_signal_connect (listitem, "toggle",
- G_CALLBACK (cb_toggle),
- (gpointer) ct);
-
- gtk_container_add (GTK_CONTAINER (ct->list),
- listitem);
-
- g_hash_table_insert (ct->elements, (gpointer)value_copy,
- (gpointer) listitem);
-
- weak_ref_closure = g_new (WeakRefClosure, 1);
- weak_ref_closure->ct = ct;
- weak_ref_closure->value = g_strdup (value_copy);
-
- g_object_weak_ref (G_OBJECT (listitem),
- cb_remove_from_hash,
- weak_ref_closure);
-}
-
-static void
-cb_list_mapped (GtkWidget *widget, gpointer user_data)
-{
- GtkList *list = GTK_LIST (widget);
-
- if (g_list_length (list->selection) > 0)
- gtk_widget_grab_focus (GTK_WIDGET ((list->selection->data)));
-}
-
-void
-gal_combo_text_construct (GalComboText *ct, gboolean const is_scrolled)
-{
- GtkWidget *entry, *list, *scroll, *display_widget;
-
- ct->case_sensitive = FALSE;
- ct->elements = g_hash_table_new (&strcase_hash,
- &strcase_equal);
-
- /* Probably irrelevant, but lets be careful */
- ct->cache_mouse_state = GTK_STATE_NORMAL;
- ct->cached_entry = NULL;
-
- entry = ct->entry = gtk_entry_new ();
- list = ct->list = gtk_list_new ();
- if (is_scrolled) {
- display_widget = scroll = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW(scroll),
- GTK_POLICY_NEVER,
- GTK_POLICY_AUTOMATIC);
-
- gtk_scrolled_window_add_with_viewport (
- GTK_SCROLLED_WINDOW(scroll), list);
- gtk_container_set_focus_hadjustment (
- GTK_CONTAINER (list),
- gtk_scrolled_window_get_hadjustment (
- GTK_SCROLLED_WINDOW (scroll)));
- gtk_container_set_focus_vadjustment (
- GTK_CONTAINER (list),
- gtk_scrolled_window_get_vadjustment (
- GTK_SCROLLED_WINDOW (scroll)));
- gtk_widget_set_usize (scroll, 0, 200); /* MAGIC NUMBER */
- } else
- display_widget = list;
-
- g_signal_connect (entry, "activate",
- G_CALLBACK (entry_activate_cb),
- ct);
- g_signal_connect (list, "select-child",
- G_CALLBACK (list_select_cb),
- ct);
- g_signal_connect (list, "unselect-child",
- G_CALLBACK (list_unselect_cb),
- ct);
- g_signal_connect (list, "map",
- G_CALLBACK (cb_list_mapped), NULL);
-
- gtk_widget_show (display_widget);
- gtk_widget_show (entry);
- gal_combo_box_construct (GAL_COMBO_BOX (ct), entry, display_widget);
- g_signal_connect (ct, "pop_down_done",
- G_CALLBACK (cb_pop_down), NULL);
-}
-
-GtkWidget*
-gal_combo_text_new (gboolean const is_scrolled)
-{
- GalComboText *ct;
-
- ct = g_object_new (GAL_COMBO_TEXT_TYPE, NULL);
- gal_combo_text_construct (ct, is_scrolled);
- return GTK_WIDGET (ct);
-}
-
diff --git a/widgets/misc/gal-combo-text.h b/widgets/misc/gal-combo-text.h
deleted file mode 100644
index c507651dd1..0000000000
--- a/widgets/misc/gal-combo-text.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * gal-combo-text.h - A combo box for selecting from a list.
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _GAL_COMBO_TEXT_H
-#define _GAL_COMBO_TEXT_H
-
-#include <gal/widgets/gal-combo-box.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define GAL_COMBO_TEXT_TYPE (gal_combo_text_get_type ())
-#define GAL_COMBO_TEXT(obj) G_TYPE_CHECK_INSTANCE_CAST (obj, gal_combo_text_get_type (), GalComboText)
-#define GAL_COMBO_TEXT_CLASS(klass) G_TYPE_CHECK_CLASS_CAST (klass, gal_combo_text_get_type (), GalComboTextClass)
-#define GAL_IS_COMBO_TEXT(obj) G_TYPE_CHECK_INSTANCE_TYPE (obj, gal_combo_text_get_type ())
-
-typedef struct _GalComboText GalComboText;
-/* typedef struct _GalComboTextPrivate GalComboTextPrivate;*/
-typedef struct _GalComboTextClass GalComboTextClass;
-
-struct _GalComboText {
- GalComboBox parent;
-
- GtkWidget *entry;
- GtkWidget *list;
- GtkWidget *scrolled_window;
- GtkStateType cache_mouse_state;
- GtkWidget *cached_entry;
- gboolean case_sensitive;
- GHashTable*elements;
-};
-
-struct _GalComboTextClass {
- GalComboBoxClass parent_class;
-};
-
-
-GtkType gal_combo_text_get_type (void);
-GtkWidget *gal_combo_text_new (gboolean const is_scrolled);
-void gal_combo_text_construct (GalComboText *ct, gboolean const is_scrolled);
-
-gint gal_combo_text_set_case_sensitive (GalComboText *combo_text,
- gboolean val);
-void gal_combo_text_select_item (GalComboText *combo_text,
- int elem);
-void gal_combo_text_set_text (GalComboText *combo_text,
- const gchar *text);
-void gal_combo_text_add_item (GalComboText *combo_text,
- const gchar *item,
- const gchar *value);
-
-#ifdef __cplusplus
-};
-#endif /* __cplusplus */
-
-#endif
diff --git a/widgets/misc/pixmaps/.cvsignore b/widgets/misc/pixmaps/.cvsignore
deleted file mode 100644
index 3dda72986f..0000000000
--- a/widgets/misc/pixmaps/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile.in
-Makefile
diff --git a/widgets/misc/pixmaps/cursor_cross.xpm b/widgets/misc/pixmaps/cursor_cross.xpm
deleted file mode 100644
index cf9d0aca33..0000000000
--- a/widgets/misc/pixmaps/cursor_cross.xpm
+++ /dev/null
@@ -1,38 +0,0 @@
-/* XPM */
-static char * cursor_cross_xpm[] = {
-"32 32 3 1",
-" c None",
-". c #000000",
-"+ c #FFFFFF",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ....... ",
-" .+++++.. ",
-" .+++++.. ",
-" .+++++.. ",
-" .+++++.. ",
-" ......+++++...... ",
-" .+++++++++++++++.. ",
-" .+++++++++++++++.. ",
-" .+++++++++++++++.. ",
-" .+++++++++++++++.. ",
-" .+++++++++++++++.. ",
-" ......+++++....... ",
-" .....+++++....... ",
-" .+++++.. ",
-" .+++++.. ",
-" .+++++.. ",
-" ........ ",
-" ....... ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" "};
diff --git a/widgets/misc/pixmaps/cursor_hand_closed.xpm b/widgets/misc/pixmaps/cursor_hand_closed.xpm
deleted file mode 100644
index 61a6de4b88..0000000000
--- a/widgets/misc/pixmaps/cursor_hand_closed.xpm
+++ /dev/null
@@ -1,38 +0,0 @@
-/* XPM */
-static char * cursor_hand_closed_xpm[] = {
-"32 32 3 1",
-" c None",
-". c #000000",
-"+ c #FFFFFF",
-" ",
-" ",
-" ",
-" ",
-" ",
-" .. ",
-" ..++... ",
-" .+++++++.. ",
-" .+++++++++. ",
-" ...+++++++++. ",
-" .++.+++++++++. ",
-" .++++++++++++. ",
-" .+++++++++++. ",
-" .++++++++++. ",
-" .+++++++++. ",
-" .+++++++. ",
-" .++++++. ",
-" .++++++. ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" "};
diff --git a/widgets/misc/pixmaps/cursor_hand_open.xpm b/widgets/misc/pixmaps/cursor_hand_open.xpm
deleted file mode 100644
index 048acc8054..0000000000
--- a/widgets/misc/pixmaps/cursor_hand_open.xpm
+++ /dev/null
@@ -1,38 +0,0 @@
-/* XPM */
-static char * cursor_hand_open_xpm[] = {
-"32 32 3 1",
-" c None",
-". c #000000",
-"+ c #FFFFFF",
-" ",
-" ",
-" .. ",
-" .. .++... ",
-" .++..++.++. ",
-" .++..++.++. . ",
-" .++.++.++..+. ",
-" .++.++.++.++. ",
-" .. .+++++++.++. ",
-" .++..++++++++++. ",
-" .+++.+++++++++. ",
-" .++++++++++++. ",
-" .+++++++++++. ",
-" .++++++++++. ",
-" .+++++++++. ",
-" .+++++++. ",
-" .++++++. ",
-" .++++++. ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" "};
diff --git a/widgets/misc/pixmaps/cursor_zoom_in.xpm b/widgets/misc/pixmaps/cursor_zoom_in.xpm
deleted file mode 100644
index 1caf9e3e2a..0000000000
--- a/widgets/misc/pixmaps/cursor_zoom_in.xpm
+++ /dev/null
@@ -1,37 +0,0 @@
-/* XPM */
-static char * cursor_zoom_in_xpm[] = {
-"32 32 2 1",
-" c None",
-". c #000000",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ...... ",
-" .. .. ",
-" .. .. ",
-" . . ",
-" . ... . ",
-" . ... . ",
-" . ....... . ",
-" . ....... . ",
-" . ... . ",
-" . ... .. ",
-" .. . . ",
-" .. . . . ",
-" ........ . . ",
-" ..... . . . ",
-" . . . ",
-" . . . ",
-" . . . ",
-" . . . ",
-" . . ",
-" . . ",
-" .. ",
-" ",
-" ",
-" ",
-" ",
-" "};
diff --git a/widgets/misc/pixmaps/cursor_zoom_out.xpm b/widgets/misc/pixmaps/cursor_zoom_out.xpm
deleted file mode 100644
index af1b698521..0000000000
--- a/widgets/misc/pixmaps/cursor_zoom_out.xpm
+++ /dev/null
@@ -1,37 +0,0 @@
-/* XPM */
-static char * cursor_zoom_out_xpm[] = {
-"32 32 2 1",
-" c None",
-". c #000000",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ...... ",
-" .. .. ",
-" .. .. ",
-" . . ",
-" . . ",
-" . . ",
-" . ....... . ",
-" . ....... . ",
-" . . ",
-" . .. ",
-" .. . . ",
-" .. . . . ",
-" ........ . . ",
-" ..... . . . ",
-" . . . ",
-" . . . ",
-" . . . ",
-" . . . ",
-" . . ",
-" . . ",
-" .. ",
-" ",
-" ",
-" ",
-" ",
-" "};
diff --git a/widgets/misc/test-color.c b/widgets/misc/test-color.c
deleted file mode 100644
index 364e0644de..0000000000
--- a/widgets/misc/test-color.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * test-color.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <gal/util/e-i18n.h>
-#include <gnome.h>
-#include "widget-color-combo.h"
-#include "color-palette.h"
-#include "e-colors.h"
-#include "pixmaps/cursor_hand_open.xpm"
-
-/* To compile (from src/widgets):
-
-gcc -I.. -I../.. -L. -Wall -o tester tester.c ../color.c `gnome-config --cflags --libs gnome gnomeui` -lwidgets
-
-*/
-
-gint
-main ( gint argc, gchar* argv[] )
-{
- GtkWidget * dialog;
- GtkWidget * T;
- ColorGroup *cg;
-
- gnome_program_init ("tester", "1.0",
- LIBGNOMEUI_MODULE,
- argc, argv, NULL);
-
- dialog = gnome_dialog_new ("TESTER", GNOME_STOCK_BUTTON_OK,
- GNOME_STOCK_BUTTON_CANCEL, NULL);
-
- cg = color_group_fetch ("fore_color_group", dialog);
- T = color_palette_new ("Color Palette", NULL, cg);
-
- gtk_box_pack_start(GTK_BOX (GNOME_DIALOG (dialog)-> vbox ),
- T, TRUE, TRUE, 5);
- gtk_widget_show_all (T);
-
- cg = color_group_fetch ("fore_color_group", dialog);
- T = color_combo_new (
- gdk_pixbuf_new_from_xpm_data ((char const **)cursor_hand_open_xpm),
- _("Automatic"), &e_black, cg);
- gtk_box_pack_start(GTK_BOX (GNOME_DIALOG (dialog)-> vbox ),
- T, TRUE, TRUE, 5);
- gtk_widget_show_all (T);
-
- cg = color_group_fetch ("back_color_group", dialog);
- T = color_combo_new (
- gdk_pixbuf_new_from_xpm_data ((char const **)cursor_hand_open_xpm),
- _("Automatic"), &e_black, cg);
- gtk_box_pack_start(GTK_BOX (GNOME_DIALOG (dialog)-> vbox ),
- T, TRUE, TRUE, 5);
- gtk_widget_show_all (T);
-
- gnome_dialog_run_and_close ( GNOME_DIALOG (dialog) );
- return 0;
-}
diff --git a/widgets/table/.cvsignore b/widgets/table/.cvsignore
deleted file mode 100644
index b1004fee2c..0000000000
--- a/widgets/table/.cvsignore
+++ /dev/null
@@ -1,13 +0,0 @@
-.deps
-.libs
-.pure
-Makefile
-Makefile.in
-*.lo
-*.la
-table-test
-table-example-1
-table-example-2
-table-size-test
-tree-example-1
-tree-example-2
diff --git a/widgets/table/add-col.xpm b/widgets/table/add-col.xpm
deleted file mode 100644
index 9c5f314c8e..0000000000
--- a/widgets/table/add-col.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * add_col_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #000000",
-"+ c #FFFFFF",
-" ",
-" ",
-" ",
-" ",
-" .............. ",
-" .++++++++++++. ",
-" .++++++++++++. ",
-" ....+++....... ",
-" .+. ",
-" . ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" "};
diff --git a/widgets/table/arrow-down.xpm b/widgets/table/arrow-down.xpm
deleted file mode 100644
index f1e6cb4b3c..0000000000
--- a/widgets/table/arrow-down.xpm
+++ /dev/null
@@ -1,21 +0,0 @@
-/* XPM */
-static const char * arrow_down_xpm[] = {
-"13 16 2 1",
-" c None",
-". c #FF0000",
-" ... ",
-" ... ",
-" ... ",
-" ... ",
-" ... ",
-" ... ",
-" ... ",
-" ... ",
-" ... ",
-".............",
-" ........... ",
-" ......... ",
-" ....... ",
-" ..... ",
-" ... ",
-" . "};
diff --git a/widgets/table/arrow-up.xpm b/widgets/table/arrow-up.xpm
deleted file mode 100644
index 0cc5b9a00c..0000000000
--- a/widgets/table/arrow-up.xpm
+++ /dev/null
@@ -1,21 +0,0 @@
-/* XPM */
-static const char * arrow_up_xpm[] = {
-"13 16 2 1",
-" c None",
-". c #FF0000",
-" . ",
-" ... ",
-" ..... ",
-" ....... ",
-" ......... ",
-" ........... ",
-".............",
-" ... ",
-" ... ",
-" ... ",
-" ... ",
-" ... ",
-" ... ",
-" ... ",
-" ... ",
-" ... "};
diff --git a/widgets/table/check-empty.xpm b/widgets/table/check-empty.xpm
deleted file mode 100644
index 746b20234e..0000000000
--- a/widgets/table/check-empty.xpm
+++ /dev/null
@@ -1,21 +0,0 @@
-/* XPM */
-static const char * check_empty_xpm[] = {
-"16 16 2 1",
-" c None",
-". c #000000",
-" ",
-" ",
-" ............ ",
-" . . ",
-" . . ",
-" . . ",
-" . . ",
-" . . ",
-" . . ",
-" . . ",
-" . . ",
-" . . ",
-" . . ",
-" ............ ",
-" ",
-" "};
diff --git a/widgets/table/check-filled.xpm b/widgets/table/check-filled.xpm
deleted file mode 100644
index c0468fc25b..0000000000
--- a/widgets/table/check-filled.xpm
+++ /dev/null
@@ -1,21 +0,0 @@
-/* XPM */
-static const char * check_filled_xpm[] = {
-"16 16 2 1",
-" c None",
-". c #000000",
-" ",
-" ",
-" ............ ",
-" . . ",
-" . . . ",
-" . .. . ",
-" . ... . ",
-" . . ... . ",
-" . .. ... . ",
-" . ..... . ",
-" . ... . ",
-" . . . ",
-" . . ",
-" ............ ",
-" ",
-" "};
diff --git a/widgets/table/clip.png b/widgets/table/clip.png
deleted file mode 100644
index 27aa5f072f..0000000000
--- a/widgets/table/clip.png
+++ /dev/null
Binary files differ
diff --git a/widgets/table/e-cell-checkbox.c b/widgets/table/e-cell-checkbox.c
deleted file mode 100644
index 5ef4b23a96..0000000000
--- a/widgets/table/e-cell-checkbox.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cell-checkbox.c: Checkbox cell renderer
- * Copyright 1999, 2000, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza <miguel@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-#include <config.h>
-#include <gtk/gtkenums.h>
-#include <gtk/gtkentry.h>
-#include <gtk/gtkwindow.h>
-#include <gtk/gtksignal.h>
-#include <gdk/gdkkeysyms.h>
-#include <libgnomecanvas/gnome-canvas.h>
-#include "e-cell-checkbox.h"
-#include "gal/util/e-util.h"
-#include "e-table-item.h"
-
-#include "check-empty.xpm"
-#include "check-filled.xpm"
-
-#define PARENT_TYPE e_cell_toggle_get_type ()
-
-static GdkPixbuf *checks [2];
-
-static void
-e_cell_checkbox_class_init (GtkObjectClass *object_class)
-{
- checks [0] = gdk_pixbuf_new_from_xpm_data (check_empty_xpm);
- checks [1] = gdk_pixbuf_new_from_xpm_data (check_filled_xpm);
-}
-
-E_MAKE_TYPE(e_cell_checkbox, "ECellCheckbox", ECellCheckbox, e_cell_checkbox_class_init, NULL, PARENT_TYPE)
-
-/**
- * e_cell_checkbox_new:
- *
- * Creates a new ECell renderer that can be used to render check
- * boxes. the data provided from the model is cast to an integer.
- * zero is used for the off display, and non-zero for checked status.
- *
- * Returns: an ECell object that can be used to render checkboxes.
- */
-ECell *
-e_cell_checkbox_new (void)
-{
- ECellCheckbox *eccb = g_object_new (E_CELL_CHECKBOX_TYPE, NULL);
-
- e_cell_toggle_construct (E_CELL_TOGGLE (eccb), 2, 2, checks);
-
- return (ECell *) eccb;
-}
diff --git a/widgets/table/e-cell-checkbox.h b/widgets/table/e-cell-checkbox.h
deleted file mode 100644
index ab56af27ab..0000000000
--- a/widgets/table/e-cell-checkbox.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cell-checkbox.h: Checkbox cell renderer
- * Copyright 1999, 2000, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza <miguel@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-#ifndef _E_CELL_CHECKBOX_H_
-#define _E_CELL_CHECKBOX_H_
-
-#include <gal/e-table/e-cell-toggle.h>
-
-G_BEGIN_DECLS
-
-#define E_CELL_CHECKBOX_TYPE (e_cell_checkbox_get_type ())
-#define E_CELL_CHECKBOX(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_CELL_CHECKBOX_TYPE, ECellCheckbox))
-#define E_CELL_CHECKBOX_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_CELL_CHECKBOX_TYPE, ECellCheckboxClass))
-#define E_IS_CELL_CHECKBOX(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_CELL_CHECKBOX_TYPE))
-#define E_IS_CELL_CHECKBOX_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_CELL_CHECKBOX_TYPE))
-
-typedef struct {
- ECellToggle parent;
-} ECellCheckbox;
-
-typedef struct {
- ECellToggleClass parent_class;
-} ECellCheckboxClass;
-
-GType e_cell_checkbox_get_type (void);
-ECell *e_cell_checkbox_new (void);
-
-G_END_DECLS
-
-#endif /* _E_CELL_CHECKBOX_H_ */
-
diff --git a/widgets/table/e-cell-combo.c b/widgets/table/e-cell-combo.c
deleted file mode 100644
index 3ff3488ae5..0000000000
--- a/widgets/table/e-cell-combo.c
+++ /dev/null
@@ -1,703 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cell-combo.c: Combo cell renderer
- * Copyright 2001, Ximian, Inc.
- *
- * Authors:
- * Damon Chaplin <damon@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-/*
- * ECellCombo - a subclass of ECellPopup used to support popup lists like a
- * GtkCombo widget. It only supports a basic popup list of strings at present,
- * with no auto-completion.
- */
-
-/*
- * Notes: (handling pointer grabs and GTK+ grabs is a nightmare!)
- *
- * o We must grab the pointer when we show the popup, so that if any buttons
- * are pressed outside the application we hide the popup.
- *
- * o We have to be careful when popping up any widgets which also grab the
- * pointer at some point, since we will lose our own pointer grab.
- * When we pop up a list it will grab the pointer itself when an item is
- * selected, and release the grab when the button is released.
- * Fortunately we hide the popup at this point, so it isn't a problem.
- * But for other types of widgets in the popup it could cause trouble.
- * - I think GTK+ should provide help for this (nested pointer grabs?).
- *
- * o We must set the 'owner_events' flag of the pointer grab to TRUE so that
- * pointer events get reported to all the application windows as normal.
- * If we don't do this then the widgets in the popup may not work properly.
- *
- * o We must do a gtk_grab_add() so that we only allow events to go to the
- * widgets within the popup (though some special events still get reported
- * to the widget owning the window). Doing th gtk_grab_add() on the toplevel
- * popup window should be fine. We can then check for any events that should
- * close the popup, like the Escape key, or a button press outside the popup.
- */
-
-#include <config.h>
-#include <string.h> /* strcmp() */
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtk.h>
-#include <glib/gi18n.h>
-#include "gal/util/e-util.h"
-#include "gal/widgets/e-unicode.h"
-#include "e-table-item.h"
-#include "e-cell-combo.h"
-#include "e-cell-text.h"
-
-#define d(x)
-
-
-/* The height to make the popup list if there aren't any items in it. */
-#define E_CELL_COMBO_LIST_EMPTY_HEIGHT 15
-
-/* The object data key used to store the UTF-8 text of the popup list items. */
-#define E_CELL_COMBO_UTF8_KEY "UTF-8-TEXT"
-
-
-static void e_cell_combo_class_init (GObjectClass *object_class);
-static void e_cell_combo_init (ECellCombo *ecc);
-static void e_cell_combo_dispose (GObject *object);
-
-static gint e_cell_combo_do_popup (ECellPopup *ecp,
- GdkEvent *event,
- int row,
- int view_col);
-static void e_cell_combo_select_matching_item (ECellCombo *ecc);
-static void e_cell_combo_show_popup (ECellCombo *ecc,
- int row,
- int view_col);
-static void e_cell_combo_get_popup_pos (ECellCombo *ecc,
- int row,
- int view_col,
- gint *x,
- gint *y,
- gint *height,
- gint *width);
-
-static void e_cell_combo_selection_changed (GtkWidget *popup_list, ECellCombo *ecc);
-
-static gint e_cell_combo_list_button_press (GtkWidget *popup_list, GdkEvent *event, ECellCombo *ecc);
-
-static gint e_cell_combo_button_press (GtkWidget *popup_window,
- GdkEvent *event,
- ECellCombo *ecc);
-static gint e_cell_combo_button_release (GtkWidget *popup_window,
- GdkEventButton *event,
- ECellCombo *ecc);
-static int e_cell_combo_key_press (GtkWidget *popup_window,
- GdkEventKey *event,
- ECellCombo *ecc);
-
-static void e_cell_combo_update_cell (ECellCombo *ecc);
-static void e_cell_combo_restart_edit (ECellCombo *ecc);
-
-
-static ECellPopupClass *parent_class;
-
-
-E_MAKE_TYPE (e_cell_combo, "ECellCombo", ECellCombo,
- e_cell_combo_class_init, e_cell_combo_init,
- e_cell_popup_get_type())
-
-
-static void
-e_cell_combo_class_init (GObjectClass *object_class)
-{
- ECellPopupClass *ecpc = (ECellPopupClass *) object_class;
-
- object_class->dispose = e_cell_combo_dispose;
-
- ecpc->popup = e_cell_combo_do_popup;
-
- parent_class = g_type_class_ref (E_CELL_POPUP_TYPE);
-}
-
-
-static void
-e_cell_combo_init (ECellCombo *ecc)
-{
- GtkWidget *frame;
- AtkObject *a11y;
-
- /* We create one popup window for the ECell, since there will only
- ever be one popup in use at a time. */
- ecc->popup_window = gtk_window_new (GTK_WINDOW_POPUP);
-
- gtk_window_set_policy (GTK_WINDOW (ecc->popup_window),
- TRUE, TRUE, FALSE);
-
- frame = gtk_frame_new (NULL);
- gtk_container_add (GTK_CONTAINER (ecc->popup_window), frame);
- gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT);
- gtk_widget_show (frame);
-
- ecc->popup_scrolled_window = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (ecc->popup_scrolled_window),
- GTK_POLICY_AUTOMATIC,
- GTK_POLICY_AUTOMATIC);
- GTK_WIDGET_UNSET_FLAGS (GTK_SCROLLED_WINDOW (ecc->popup_scrolled_window)->hscrollbar, GTK_CAN_FOCUS);
- GTK_WIDGET_UNSET_FLAGS (GTK_SCROLLED_WINDOW (ecc->popup_scrolled_window)->vscrollbar, GTK_CAN_FOCUS);
- gtk_container_add (GTK_CONTAINER (frame), ecc->popup_scrolled_window);
- gtk_widget_show (ecc->popup_scrolled_window);
-
- ecc->popup_list = gtk_list_new ();
- gtk_list_set_selection_mode (GTK_LIST (ecc->popup_list),
- GTK_SELECTION_BROWSE);
- gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (ecc->popup_scrolled_window), ecc->popup_list);
- gtk_container_set_focus_vadjustment (GTK_CONTAINER (ecc->popup_list),
- gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (ecc->popup_scrolled_window)));
- gtk_container_set_focus_hadjustment (GTK_CONTAINER (ecc->popup_list),
- gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW (ecc->popup_scrolled_window)));
- gtk_widget_show (ecc->popup_list);
-
- a11y = gtk_widget_get_accessible (ecc->popup_list);
- atk_object_set_name (a11y, _("popup list"));
-
- g_signal_connect (ecc->popup_list,
- "selection_changed",
- G_CALLBACK (e_cell_combo_selection_changed),
- ecc);
- g_signal_connect (ecc->popup_list,
- "button_press_event",
- G_CALLBACK (e_cell_combo_list_button_press),
- ecc);
- g_signal_connect (ecc->popup_window,
- "button_press_event",
- G_CALLBACK (e_cell_combo_button_press),
- ecc);
- /* We use connect_after here so the list updates the selection before
- we hide the popup and update the cell. */
- g_signal_connect (ecc->popup_window,
- "button_release_event",
- G_CALLBACK (e_cell_combo_button_release),
- ecc);
- g_signal_connect (ecc->popup_window,
- "key_press_event",
- G_CALLBACK (e_cell_combo_key_press), ecc);
-}
-
-
-/**
- * e_cell_combo_new:
- *
- * Creates a new ECellCombo renderer.
- *
- * Returns: an ECellCombo object.
- */
-ECell *
-e_cell_combo_new (void)
-{
- ECellCombo *ecc = g_object_new (E_CELL_COMBO_TYPE, NULL);
-
- return (ECell*) ecc;
-}
-
-
-/*
- * GObject::dispose method
- */
-static void
-e_cell_combo_dispose (GObject *object)
-{
- ECellCombo *ecc = E_CELL_COMBO (object);
-
- if (ecc->popup_window)
- gtk_widget_destroy (ecc->popup_window);
- ecc->popup_window = NULL;
-
- G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-
-
-void
-e_cell_combo_set_popdown_strings (ECellCombo *ecc,
- GList *strings)
-{
- GList *elem;
- GtkWidget *listitem;
-
- g_return_if_fail (E_IS_CELL_COMBO (ecc));
- g_return_if_fail (strings != NULL);
-
- gtk_list_clear_items (GTK_LIST (ecc->popup_list), 0, -1);
- elem = strings;
- while (elem) {
- char *utf8_text = elem->data;
-
- listitem = gtk_list_item_new_with_label (utf8_text);
-
- gtk_widget_show (listitem);
- gtk_container_add (GTK_CONTAINER (ecc->popup_list), listitem);
-
- g_object_set_data_full (G_OBJECT (listitem),
- E_CELL_COMBO_UTF8_KEY,
- g_strdup (utf8_text), g_free);
-
- elem = elem->next;
- }
-}
-
-
-static gint
-e_cell_combo_do_popup (ECellPopup *ecp,
- GdkEvent *event,
- int row,
- int view_col)
-{
- ECellCombo *ecc = E_CELL_COMBO (ecp);
- guint32 time;
- gint error_code;
-
- g_signal_handlers_block_by_func(ecc->popup_list, e_cell_combo_selection_changed, ecc);
- e_cell_combo_show_popup (ecc, row, view_col);
- e_cell_combo_select_matching_item (ecc);
- g_signal_handlers_unblock_by_func(ecc->popup_list, e_cell_combo_selection_changed, ecc);
-
- if (event->type == GDK_BUTTON_PRESS) {
- GTK_LIST (ecc->popup_list)->drag_selection = TRUE;
- time = event->button.time;
- } else {
- time = event->key.time;
- }
-
- error_code = gdk_pointer_grab (ecc->popup_list->window, TRUE,
- GDK_ENTER_NOTIFY_MASK |
- GDK_BUTTON_PRESS_MASK |
- GDK_BUTTON_RELEASE_MASK |
- GDK_POINTER_MOTION_HINT_MASK |
- GDK_BUTTON1_MOTION_MASK,
- NULL, NULL, time);
- if (error_code != 0)
- g_warning ("Failed to get pointer grab (%i)", error_code);
- gtk_grab_add (ecc->popup_window);
- gdk_keyboard_grab (ecc->popup_list->window, TRUE, time);
-
- return TRUE;
-}
-
-
-static void
-e_cell_combo_select_matching_item (ECellCombo *ecc)
-{
- ECellPopup *ecp = E_CELL_POPUP (ecc);
- ECellView *ecv = (ECellView*) ecp->popup_cell_view;
- ECellText *ecell_text = E_CELL_TEXT (ecp->child);
- ETableItem *eti = E_TABLE_ITEM (ecp->popup_cell_view->cell_view.e_table_item_view);
- ETableCol *ecol;
- GtkList *list;
- GtkWidget *listitem;
- GList *elem;
- gboolean found = FALSE;
- char *cell_text, *list_item_text;
-
- ecol = e_table_header_get_column (eti->header, ecp->popup_view_col);
- cell_text = e_cell_text_get_text (ecell_text, ecv->e_table_model,
- ecol->col_idx, ecp->popup_row);
-
- list = GTK_LIST (ecc->popup_list);
- elem = list->children;
- while (elem) {
- listitem = GTK_WIDGET (elem->data);
-
- /* We need to compare against the UTF-8 text. */
- list_item_text = g_object_get_data (G_OBJECT (listitem),
- E_CELL_COMBO_UTF8_KEY);
-
- if (list_item_text && !strcmp (list_item_text, cell_text)) {
- found = TRUE;
- gtk_list_select_child (list, listitem);
- gtk_widget_grab_focus (listitem);
- break;
- }
-
- elem = elem->next;
- }
-
- if (!found) {
- gtk_list_unselect_all (list);
- if (list->children)
- gtk_widget_grab_focus (GTK_WIDGET (list->children->data));
- }
-
- e_cell_text_free_text (ecell_text, cell_text);
-}
-
-
-static void
-e_cell_combo_show_popup (ECellCombo *ecc, int row, int view_col)
-{
- gint x, y, width, height, old_width, old_height;
-
- /* This code is practically copied from GtkCombo. */
- old_width = ecc->popup_window->allocation.width;
- old_height = ecc->popup_window->allocation.height;
-
- e_cell_combo_get_popup_pos (ecc, row, view_col, &x, &y, &height, &width);
-
- /* workaround for gtk_scrolled_window_size_allocate bug */
- if (old_width != width || old_height != height) {
- gtk_widget_hide (GTK_SCROLLED_WINDOW (ecc->popup_scrolled_window)->hscrollbar);
- gtk_widget_hide (GTK_SCROLLED_WINDOW (ecc->popup_scrolled_window)->vscrollbar);
- }
-
- gtk_widget_set_uposition (ecc->popup_window, x, y);
- gtk_widget_set_usize (ecc->popup_window, width, height);
- gtk_widget_realize (ecc->popup_window);
- gdk_window_resize (ecc->popup_window->window, width, height);
- gtk_widget_show (ecc->popup_window);
-
- e_cell_popup_set_shown (E_CELL_POPUP (ecc), TRUE);
- d(g_print("%s: popup_shown = TRUE\n", __FUNCTION__));
-}
-
-
-/* Calculates the size and position of the popup window (like GtkCombo). */
-static void
-e_cell_combo_get_popup_pos (ECellCombo *ecc,
- int row,
- int view_col,
- gint *x,
- gint *y,
- gint *height,
- gint *width)
-{
- ECellPopup *ecp = E_CELL_POPUP (ecc);
- ETableItem *eti = E_TABLE_ITEM (ecp->popup_cell_view->cell_view.e_table_item_view);
- GtkWidget *canvas = GTK_WIDGET (GNOME_CANVAS_ITEM (eti)->canvas);
- GtkBin *popwin;
- GtkScrolledWindow *popup;
- GtkRequisition list_requisition;
- gboolean show_vscroll = FALSE, show_hscroll = FALSE;
- gint avail_height, avail_width, min_height, work_height, screen_width;
- gint column_width, row_height, scrollbar_width;
- double x1, y1;
- double wx, wy;
-
- /* This code is practically copied from GtkCombo. */
- popup = GTK_SCROLLED_WINDOW (ecc->popup_scrolled_window);
- popwin = GTK_BIN (ecc->popup_window);
-
- gdk_window_get_origin (canvas->window, x, y);
-
- x1 = e_table_header_col_diff (eti->header, 0, view_col + 1);
- y1 = e_table_item_row_diff (eti, 0, row + 1);
- column_width = e_table_header_col_diff (eti->header, view_col,
- view_col + 1);
- row_height = e_table_item_row_diff (eti, row,
- row + 1);
- gnome_canvas_item_i2w (GNOME_CANVAS_ITEM (eti), &x1, &y1);
-
- gnome_canvas_world_to_window (GNOME_CANVAS (canvas),
- x1,
- y1,
- &wx,
- &wy);
-
- x1 = wx;
- y1 = wy;
-
- *x += x1;
- /* The ETable positions don't include the grid lines, I think, so we add 1. */
- *y += y1 + 1
- - (int)((GnomeCanvas *)canvas)->layout.vadjustment->value
- + ((GnomeCanvas *)canvas)->zoom_yofs;
-
- scrollbar_width = popup->vscrollbar->requisition.width
- + GTK_SCROLLED_WINDOW_CLASS (GTK_OBJECT_GET_CLASS (popup))->scrollbar_spacing;
-
- avail_height = gdk_screen_height () - *y;
-
- /* We'll use the entire screen width if needed, but we save space for
- the vertical scrollbar in case we need to show that. */
- screen_width = gdk_screen_width ();
- avail_width = screen_width - scrollbar_width;
-
- gtk_widget_size_request (ecc->popup_list, &list_requisition);
- min_height = MIN (list_requisition.height,
- popup->vscrollbar->requisition.height);
- if (!GTK_LIST (ecc->popup_list)->children)
- list_requisition.height += E_CELL_COMBO_LIST_EMPTY_HEIGHT;
-
- /* Calculate the desired width. */
- *width = list_requisition.width
- + 2 * popwin->child->style->xthickness
- + 2 * GTK_CONTAINER (popwin->child)->border_width
- + 2 * GTK_CONTAINER (popup)->border_width
- + 2 * GTK_CONTAINER (GTK_BIN (popup)->child)->border_width
- + 2 * GTK_BIN (popup)->child->style->xthickness;
-
- /* Use at least the same width as the column. */
- if (*width < column_width)
- *width = column_width;
-
- /* If it is larger than the available width, use that instead and show
- the horizontal scrollbar. */
- if (*width > avail_width) {
- *width = avail_width;
- show_hscroll = TRUE;
- }
-
- /* Calculate all the borders etc. that we need to add to the height. */
- work_height = (2 * popwin->child->style->ythickness
- + 2 * GTK_CONTAINER (popwin->child)->border_width
- + 2 * GTK_CONTAINER (popup)->border_width
- + 2 * GTK_CONTAINER (GTK_BIN (popup)->child)->border_width
- + 2 * GTK_BIN (popup)->child->style->xthickness);
-
- /* Add on the height of the horizontal scrollbar if we need it. */
- if (show_hscroll)
- work_height += popup->hscrollbar->requisition.height +
- GTK_SCROLLED_WINDOW_CLASS (GTK_OBJECT_GET_CLASS (popup))->scrollbar_spacing;
-
- /* Check if it fits in the available height. */
- if (work_height + list_requisition.height > avail_height) {
- /* It doesn't fit, so we see if we have the minimum space
- needed. */
- if (work_height + min_height > avail_height
- && *y - row_height > avail_height) {
- /* We don't, so we show the popup above the cell
- instead of below it. */
- avail_height = *y - row_height;
- *y -= (work_height + list_requisition.height
- + row_height);
- if (*y < 0)
- *y = 0;
- }
- }
-
- /* Check if we still need the vertical scrollbar. */
- if (work_height + list_requisition.height > avail_height) {
- *width += scrollbar_width;
- show_vscroll = TRUE;
- }
-
- /* We try to line it up with the right edge of the column, but we don't
- want it to go off the edges of the screen. */
- if (*x > screen_width)
- *x = screen_width;
- *x -= *width;
- if (*x < 0)
- *x = 0;
-
- if (show_vscroll)
- *height = avail_height;
- else
- *height = work_height + list_requisition.height;
-}
-
-static void
-e_cell_combo_selection_changed(GtkWidget *popup_list, ECellCombo *ecc)
-{
- if (!GTK_LIST(popup_list)->selection || !GTK_WIDGET_REALIZED(ecc->popup_window))
- return;
-
- e_cell_combo_restart_edit (ecc);
-}
-
-static gint
-e_cell_combo_list_button_press(GtkWidget *popup_list, GdkEvent *event, ECellCombo *ecc)
-{
- g_return_val_if_fail (GTK_IS_LIST(popup_list), FALSE);
-
- e_cell_combo_update_cell (ecc);
- gtk_grab_remove (ecc->popup_window);
- gdk_pointer_ungrab (event->button.time);
- gdk_keyboard_ungrab (event->button.time);
- gtk_widget_hide (ecc->popup_window);
-
- e_cell_popup_set_shown (E_CELL_POPUP (ecc), FALSE);
- d(g_print("%s: popup_shown = FALSE\n", __FUNCTION__));
-
- e_cell_combo_restart_edit (ecc);
-
- return TRUE;
-
-}
-
-/* This handles button press events in the popup window.
- Note that since we have a pointer grab on this window, we also get button
- press events for windows outside the application here, so we hide the popup
- window if that happens. We also get propagated events from child widgets
- which we ignore. */
-static gint
-e_cell_combo_button_press (GtkWidget *popup_window,
- GdkEvent *event,
- ECellCombo *ecc)
-{
- GtkWidget *event_widget;
-
- event_widget = gtk_get_event_widget (event);
-
- /* If the button press was for a widget inside the popup list, but
- not the popup window itself, then we ignore the event and return
- FALSE. Otherwise we will hide the popup.
- Note that since we have a pointer grab on the popup list, button
- presses outside the application will be reported to this window,
- which is why we hide the popup in this case. */
- while (event_widget) {
- event_widget = event_widget->parent;
- if (event_widget == ecc->popup_list)
- return FALSE;
- }
-
- gtk_grab_remove (ecc->popup_window);
- gdk_pointer_ungrab (event->button.time);
- gdk_keyboard_ungrab (event->button.time);
- gtk_widget_hide (ecc->popup_window);
-
- e_cell_popup_set_shown (E_CELL_POPUP (ecc), FALSE);
- d(g_print("%s: popup_shown = FALSE\n", __FUNCTION__));
-
- /* We don't want to update the cell here. Since the list is in browse
- mode there will always be one item selected, so when we popup the
- list one item is selected even if it doesn't match the current text
- in the cell. So if you click outside the popup (which is what has
- happened here) it is better to not update the cell. */
- /*e_cell_combo_update_cell (ecc);*/
- e_cell_combo_restart_edit (ecc);
-
- return TRUE;
-}
-
-
-/* This handles button release events in the popup window. If the button is
- released inside the list, we want to hide the popup window and update the
- cell with the new selection. */
-static gint
-e_cell_combo_button_release (GtkWidget *popup_window,
- GdkEventButton *event,
- ECellCombo *ecc)
-{
- GtkWidget *event_widget;
-
- event_widget = gtk_get_event_widget ((GdkEvent*) event);
-
- /* See if the button was released in the list (or its children). */
- while (event_widget && event_widget != ecc->popup_list)
- event_widget = event_widget->parent;
-
- /* If it wasn't, then we just ignore the event. */
- if (event_widget != ecc->popup_list)
- return FALSE;
-
- /* The button was released inside the list, so we hide the popup and
- update the cell to reflect the new selection. */
- gtk_grab_remove (ecc->popup_window);
- gdk_pointer_ungrab (event->time);
- gdk_keyboard_ungrab (event->time);
- gtk_widget_hide (ecc->popup_window);
-
- e_cell_popup_set_shown (E_CELL_POPUP (ecc), FALSE);
- d(g_print("%s: popup_shown = FALSE\n", __FUNCTION__));
-
- e_cell_combo_update_cell (ecc);
- e_cell_combo_restart_edit (ecc);
-
- return TRUE;
-}
-
-
-/* This handles key press events in the popup window. If the Escape key is
- pressed we hide the popup, and do not change the cell contents. */
-static int
-e_cell_combo_key_press (GtkWidget *popup_window,
- GdkEventKey *event,
- ECellCombo *ecc)
-{
- /* If the Escape key is pressed we hide the popup. */
- if (event->keyval != GDK_Escape
- && event->keyval != GDK_Return
- && event->keyval != GDK_KP_Enter
- && event->keyval != GDK_ISO_Enter
- && event->keyval != GDK_3270_Enter)
- return FALSE;
-
- gtk_grab_remove (ecc->popup_window);
- gdk_pointer_ungrab (event->time);
- gdk_keyboard_ungrab (event->time);
- gtk_widget_hide (ecc->popup_window);
-
- e_cell_popup_set_shown (E_CELL_POPUP (ecc), FALSE);
- d(g_print("%s: popup_shown = FALSE\n", __FUNCTION__));
-
- if (event->keyval != GDK_Escape)
- e_cell_combo_update_cell (ecc);
-
- e_cell_combo_restart_edit (ecc);
-
- return TRUE;
-}
-
-
-static void
-e_cell_combo_update_cell (ECellCombo *ecc)
-{
- ECellPopup *ecp = E_CELL_POPUP (ecc);
- ECellView *ecv = (ECellView*) ecp->popup_cell_view;
- ECellText *ecell_text = E_CELL_TEXT (ecp->child);
- ETableItem *eti = E_TABLE_ITEM (ecv->e_table_item_view);
- ETableCol *ecol;
- GtkList *list = GTK_LIST (ecc->popup_list);
- GtkListItem *listitem;
- gchar *text, *old_text;
-
- /* Return if no item is selected. */
- if (list->selection == NULL)
- return;
-
- /* Get the text of the selected item. */
- listitem = list->selection->data;
- text = g_object_get_data (G_OBJECT (listitem),
- E_CELL_COMBO_UTF8_KEY);
- g_return_if_fail (text != NULL);
-
- /* Compare it with the existing cell contents. */
- ecol = e_table_header_get_column (eti->header, ecp->popup_view_col);
-
- old_text = e_cell_text_get_text (ecell_text, ecv->e_table_model,
- ecol->col_idx, ecp->popup_row);
-
- /* If they are different, update the cell contents. */
- if (old_text && strcmp (old_text, text)) {
- e_cell_text_set_value (ecell_text, ecv->e_table_model,
- ecol->col_idx, ecp->popup_row, text);
- }
-
- e_cell_text_free_text (ecell_text, old_text);
-}
-
-
-static void
-e_cell_combo_restart_edit (ECellCombo *ecc)
-{
- /* This doesn't work. ETable stops the edit straight-away again. */
-#if 0
- ECellView *ecv = (ECellView*) ecc->popup_cell_view;
- ETableItem *eti = E_TABLE_ITEM (ecv->e_table_item_view);
-
- e_table_item_enter_edit (eti, ecc->popup_view_col, ecc->popup_row);
-#endif
-}
-
-
-
diff --git a/widgets/table/e-cell-combo.h b/widgets/table/e-cell-combo.h
deleted file mode 100644
index 23d5ac26a4..0000000000
--- a/widgets/table/e-cell-combo.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cell-combo.h: Combo cell renderer
- * Copyright 2001, Ximian, Inc.
- *
- * Author :
- * Damon Chaplin <damon@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-/*
- * ECellCombo - a subclass of ECellPopup used to support popup lists like a
- * GtkCombo widget. It only supports a basic popup list of strings at present,
- * with no auto-completion. The child ECell of the ECellPopup must be an
- * ECellText or subclass.
- */
-
-#ifndef _E_CELL_COMBO_H_
-#define _E_CELL_COMBO_H_
-
-#include <gal/e-table/e-cell-popup.h>
-
-#define E_CELL_COMBO_TYPE (e_cell_combo_get_type ())
-#define E_CELL_COMBO(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_CELL_COMBO_TYPE, ECellCombo))
-#define E_CELL_COMBO_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_CELL_COMBO_TYPE, ECellComboClass))
-#define E_IS_CELL_COMBO(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_CELL_COMBO_TYPE))
-#define E_IS_CELL_COMBO_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_CELL_COMBO_TYPE))
-
-
-typedef struct {
- ECellPopup parent;
-
- GtkWidget *popup_window;
- GtkWidget *popup_scrolled_window;
- GtkWidget *popup_list;
-} ECellCombo;
-
-typedef struct {
- ECellPopupClass parent_class;
-} ECellComboClass;
-
-
-GType e_cell_combo_get_type (void);
-ECell *e_cell_combo_new (void);
-
-/* These must be UTF-8. */
-void e_cell_combo_set_popdown_strings (ECellCombo *ecc,
- GList *strings);
-
-#endif /* _E_CELL_COMBO_H_ */
diff --git a/widgets/table/e-cell-date.c b/widgets/table/e-cell-date.c
deleted file mode 100644
index 64d9b8132b..0000000000
--- a/widgets/table/e-cell-date.c
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * e-cell-date.c - Date item for e-table.
- * Copyright 2001, Ximian, Inc.
- *
- * Author:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-
-#include "e-cell-date.h"
-
-#include <sys/time.h>
-#include <time.h>
-#include <unistd.h>
-#include <string.h>
-#include <gal/util/e-util.h>
-#include <gal/widgets/e-unicode.h>
-#include <gal/util/e-i18n.h>
-
-#define PARENT_TYPE e_cell_text_get_type ()
-
-static ECellTextClass *parent_class;
-
-static char *
-ecd_get_text(ECellText *cell, ETableModel *model, int col, int row)
-{
- time_t date = GPOINTER_TO_INT (e_table_model_value_at(model, col, row));
- time_t nowdate = time(NULL);
- time_t yesdate;
- struct tm then, now, yesterday;
- char buf[100];
- char *temp;
- gboolean done = FALSE;
-
- if (date == 0) {
- return g_strdup (_("?"));
- }
-
- localtime_r (&date, &then);
- localtime_r (&nowdate, &now);
-
- if (nowdate - date < 60 * 60 * 8 && nowdate > date) {
- e_utf8_strftime_fix_am_pm (buf, 100, _("%l:%M %p"), &then);
- done = TRUE;
- }
-
- if (!done) {
- if (then.tm_mday == now.tm_mday &&
- then.tm_mon == now.tm_mon &&
- then.tm_year == now.tm_year) {
- e_utf8_strftime_fix_am_pm (buf, 100, _("Today %l:%M %p"), &then);
- done = TRUE;
- }
- }
- if (!done) {
- yesdate = nowdate - 60 * 60 * 24;
- localtime_r (&yesdate, &yesterday);
- if (then.tm_mday == yesterday.tm_mday &&
- then.tm_mon == yesterday.tm_mon &&
- then.tm_year == yesterday.tm_year) {
- e_utf8_strftime_fix_am_pm (buf, 100, _("Yesterday %l:%M %p"), &then);
- done = TRUE;
- }
- }
- if (!done) {
- int i;
- for (i = 2; i < 7; i++) {
- yesdate = nowdate - 60 * 60 * 24 * i;
- localtime_r (&yesdate, &yesterday);
- if (then.tm_mday == yesterday.tm_mday &&
- then.tm_mon == yesterday.tm_mon &&
- then.tm_year == yesterday.tm_year) {
- e_utf8_strftime_fix_am_pm (buf, 100, _("%a %l:%M %p"), &then);
- done = TRUE;
- break;
- }
- }
- }
- if (!done) {
- if (then.tm_year == now.tm_year) {
- e_utf8_strftime_fix_am_pm (buf, 100, _("%b %d %l:%M %p"), &then);
- } else {
- e_utf8_strftime_fix_am_pm (buf, 100, _("%b %d %Y"), &then);
- }
- }
- temp = buf;
- while ((temp = strstr (temp, " "))) {
- memmove (temp, temp + 1, strlen (temp));
- }
- temp = e_strdup_strip (buf);
- return temp;
-}
-
-static void
-ecd_free_text(ECellText *cell, char *text)
-{
- g_free(text);
-}
-
-static void
-e_cell_date_class_init (GtkObjectClass *object_class)
-{
- ECellTextClass *ectc = (ECellTextClass *) object_class;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- ectc->get_text = ecd_get_text;
- ectc->free_text = ecd_free_text;
-}
-
-static void
-e_cell_date_init (GtkObject *object)
-{
-}
-
-/**
- * e_cell_date_new:
- * @fontname: font to be used to render on the screen
- * @justify: Justification of the string in the cell.
- *
- * Creates a new ECell renderer that can be used to render dates that
- * that come from the model. The value returned from the model is
- * interpreted as being a time_t.
- *
- * The ECellDate object support a large set of properties that can be
- * configured through the Gtk argument system and allows the user to have
- * a finer control of the way the string is displayed. The arguments supported
- * allow the control of strikeout, bold, color and a date filter.
- *
- * The arguments "strikeout_column", "underline_column", "bold_column"
- * and "color_column" set and return an integer that points to a
- * column in the model that controls these settings. So controlling
- * the way things are rendered is achieved by having special columns
- * in the model that will be used to flag whether the date should be
- * rendered with strikeout, underline, or bolded. In the case of the
- * "color_column" argument, the column in the model is expected to
- * have a string that can be parsed by gdk_color_parse().
- *
- * Returns: an ECell object that can be used to render dates.
- */
-ECell *
-e_cell_date_new (const char *fontname, GtkJustification justify)
-{
- ECellDate *ecd = g_object_new (E_CELL_DATE_TYPE, NULL);
-
- e_cell_text_construct(E_CELL_TEXT(ecd), fontname, justify);
-
- return (ECell *) ecd;
-}
-
-E_MAKE_TYPE(e_cell_date, "ECellDate", ECellDate, e_cell_date_class_init, e_cell_date_init, PARENT_TYPE)
diff --git a/widgets/table/e-cell-date.h b/widgets/table/e-cell-date.h
deleted file mode 100644
index 96d5faa5c3..0000000000
--- a/widgets/table/e-cell-date.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * e-cell-date.h - Date item for e-table.
- * Copyright 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_CELL_DATE_H_
-#define _E_CELL_DATE_H_
-
-#include <gal/e-table/e-cell-text.h>
-
-G_BEGIN_DECLS
-
-#define E_CELL_DATE_TYPE (e_cell_date_get_type ())
-#define E_CELL_DATE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_CELL_DATE_TYPE, ECellDate))
-#define E_CELL_DATE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_CELL_DATE_TYPE, ECellDateClass))
-#define E_IS_CELL_DATE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_CELL_DATE_TYPE))
-#define E_IS_CELL_DATE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_CELL_DATE_TYPE))
-
-typedef struct {
- ECellText base;
-} ECellDate;
-
-typedef struct {
- ECellTextClass parent_class;
-} ECellDateClass;
-
-GType e_cell_date_get_type (void);
-ECell *e_cell_date_new (const char *fontname, GtkJustification justify);
-
-G_END_DECLS
-
-#endif /* _E_CELL_DATE_H_ */
diff --git a/widgets/table/e-cell-float.c b/widgets/table/e-cell-float.c
deleted file mode 100644
index 133be063b3..0000000000
--- a/widgets/table/e-cell-float.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * e-cell-float.c - Float item for e-table.
- * Copyright 2001, CodeFactory AB
- * Copyright 2001, Mikael Hallendal <micke@codefactory.se>
- *
- * Derived from e-cell-number by Chris Lahey <clahey@ximian.com>
- * ECellFloat - Float item for e-table.
- *
- * Author:
- * Mikael Hallendal <micke@codefactory.se>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <sys/time.h>
-#include <unistd.h>
-#include <gal/util/e-util.h>
-#include <gal/util/e-i18n.h>
-#include "e-cell-float.h"
-
-#define PARENT_TYPE e_cell_text_get_type ()
-
-static ECellTextClass *parent_class;
-
-static char *
-ecf_get_text(ECellText *cell, ETableModel *model, int col, int row)
-{
- gfloat *fvalue;
-
- fvalue = e_table_model_value_at (model, col, row);
-
- return e_format_number_float (*fvalue);
-}
-
-static void
-ecf_free_text(ECellText *cell, char *text)
-{
- g_free(text);
-}
-
-static void
-e_cell_float_class_init (GtkObjectClass *object_class)
-{
- ECellTextClass *ectc = (ECellTextClass *) object_class;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- ectc->get_text = ecf_get_text;
- ectc->free_text = ecf_free_text;
-}
-
-static void
-e_cell_float_init (GtkObject *object)
-{
-}
-
-/**
- * e_cell_float_new:
- * @fontname: font to be used to render on the screen
- * @justify: Justification of the string in the cell.
- *
- * Creates a new ECell renderer that can be used to render floats that
- * that come from the model. The value returned from the model is
- * interpreted as being an int.
- *
- * See ECellText for other features.
- *
- * Returns: an ECell object that can be used to render floats.
- */
-ECell *
-e_cell_float_new (const char *fontname, GtkJustification justify)
-{
- ECellFloat *ecn = g_object_new (E_CELL_FLOAT_TYPE, NULL);
-
- e_cell_text_construct(E_CELL_TEXT(ecn), fontname, justify);
-
- return (ECell *) ecn;
-}
-
-E_MAKE_TYPE(e_cell_float, "ECellFloat", ECellFloat, e_cell_float_class_init, e_cell_float_init, PARENT_TYPE)
diff --git a/widgets/table/e-cell-float.h b/widgets/table/e-cell-float.h
deleted file mode 100644
index 36874406b2..0000000000
--- a/widgets/table/e-cell-float.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * e-cell-float.h - Float item for e-table.
- * Copyright 2001, CodeFactory AB
- * Copyright 2001, Mikael Hallendal <micke@codefactory.se>
- *
- * Derived from e-cell-number by Chris Lahey <clahey@ximian.com>
- * ECellFloat - Float item for e-table.
- *
- * Author:
- * Mikael Hallendal <micke@codefactory.se>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_CELL_FLOAT_H_
-#define _E_CELL_FLOAT_H_
-
-#include <gal/e-table/e-cell-text.h>
-
-G_BEGIN_DECLS
-
-#define E_CELL_FLOAT_TYPE (e_cell_float_get_type ())
-#define E_CELL_FLOAT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_CELL_FLOAT_TYPE, ECellFloat))
-#define E_CELL_FLOAT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_CELL_FLOAT_TYPE, ECellFloatClass))
-#define E_IS_CELL_FLOAT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_CELL_FLOAT_TYPE))
-#define E_IS_CELL_FLOAT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_CELL_FLOAT_TYPE))
-
-typedef struct {
- ECellText base;
-} ECellFloat;
-
-typedef struct {
- ECellTextClass parent_class;
-} ECellFloatClass;
-
-GType e_cell_float_get_type (void);
-ECell *e_cell_float_new (const char *fontname, GtkJustification justify);
-
-G_END_DECLS
-
-#endif /* _E_CELL_FLOAT_H_ */
diff --git a/widgets/table/e-cell-number.c b/widgets/table/e-cell-number.c
deleted file mode 100644
index 8c8887df5a..0000000000
--- a/widgets/table/e-cell-number.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * e-cell-number.c - Number item for e-table.
- * Copyright 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <sys/time.h>
-#include <unistd.h>
-#include <gal/util/e-util.h>
-#include <gal/util/e-i18n.h>
-#include "e-cell-number.h"
-
-#define PARENT_TYPE e_cell_text_get_type ()
-
-static ECellTextClass *parent_class;
-
-static char *
-ecn_get_text(ECellText *cell, ETableModel *model, int col, int row)
-{
- return e_format_number(GPOINTER_TO_INT (e_table_model_value_at(model, col, row)));
-}
-
-static void
-ecn_free_text(ECellText *cell, char *text)
-{
- g_free(text);
-}
-
-static void
-e_cell_number_class_init (GtkObjectClass *object_class)
-{
- ECellTextClass *ectc = (ECellTextClass *) object_class;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- ectc->get_text = ecn_get_text;
- ectc->free_text = ecn_free_text;
-}
-
-static void
-e_cell_number_init (GtkObject *object)
-{
-}
-
-/**
- * e_cell_number_new:
- * @fontname: font to be used to render on the screen
- * @justify: Justification of the string in the cell.
- *
- * Creates a new ECell renderer that can be used to render numbers that
- * that come from the model. The value returned from the model is
- * interpreted as being an int.
- *
- * See ECellText for other features.
- *
- * Returns: an ECell object that can be used to render numbers.
- */
-ECell *
-e_cell_number_new (const char *fontname, GtkJustification justify)
-{
- ECellNumber *ecn = g_object_new (E_CELL_NUMBER_TYPE, NULL);
-
- e_cell_text_construct(E_CELL_TEXT(ecn), fontname, justify);
-
- return (ECell *) ecn;
-}
-
-E_MAKE_TYPE(e_cell_number, "ECellNumber", ECellNumber, e_cell_number_class_init, e_cell_number_init, PARENT_TYPE)
diff --git a/widgets/table/e-cell-number.h b/widgets/table/e-cell-number.h
deleted file mode 100644
index 3cce1ec412..0000000000
--- a/widgets/table/e-cell-number.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * e-cell-number.h - Number item for e-table.
- * Copyright 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_CELL_NUMBER_H_
-#define _E_CELL_NUMBER_H_
-
-#include <gal/e-table/e-cell-text.h>
-
-G_BEGIN_DECLS
-
-#define E_CELL_NUMBER_TYPE (e_cell_number_get_type ())
-#define E_CELL_NUMBER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_CELL_NUMBER_TYPE, ECellNumber))
-#define E_CELL_NUMBER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_CELL_NUMBER_TYPE, ECellNumberClass))
-#define E_IS_CELL_NUMBER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_CELL_NUMBER_TYPE))
-#define E_IS_CELL_NUMBER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_CELL_NUMBER_TYPE))
-
-typedef struct {
- ECellText base;
-} ECellNumber;
-
-typedef struct {
- ECellTextClass parent_class;
-} ECellNumberClass;
-
-GType e_cell_number_get_type (void);
-ECell *e_cell_number_new (const char *fontname, GtkJustification justify);
-
-G_END_DECLS
-
-#endif /* _E_CELL_NUMBER_H_ */
diff --git a/widgets/table/e-cell-pixbuf.c b/widgets/table/e-cell-pixbuf.c
deleted file mode 100644
index 50c3b2cc7a..0000000000
--- a/widgets/table/e-cell-pixbuf.c
+++ /dev/null
@@ -1,417 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cell-pixbuf.c - An ECell that displays a GdkPixbuf
- * Copyright 2001, Ximian, Inc.
- *
- * Authors:
- * Vladimir Vukicevic <vladimir@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <stdio.h>
-#include <libgnomecanvas/gnome-canvas.h>
-#include "e-cell-pixbuf.h"
-#include <gal/util/e-i18n.h>
-
-#define PARENT_TYPE E_CELL_TYPE
-static ECellClass *parent_class;
-
-typedef struct _ECellPixbufView ECellPixbufView;
-
-struct _ECellPixbufView {
- ECellView cell_view;
- GnomeCanvas *canvas;
-};
-
-/* Object argument IDs */
-enum {
- PROP_0,
-
- PROP_SELECTED_COLUMN,
- PROP_FOCUSED_COLUMN,
- PROP_UNSELECTED_COLUMN
-};
-
-static int
-gnome_print_pixbuf (GnomePrintContext *pc, GdkPixbuf *pixbuf)
-{
- if (gdk_pixbuf_get_has_alpha (pixbuf))
- return gnome_print_rgbaimage (pc,
- gdk_pixbuf_get_pixels (pixbuf),
- gdk_pixbuf_get_width (pixbuf),
- gdk_pixbuf_get_height (pixbuf),
- gdk_pixbuf_get_rowstride (pixbuf));
- else
- return gnome_print_rgbimage (pc,
- gdk_pixbuf_get_pixels (pixbuf),
- gdk_pixbuf_get_width (pixbuf),
- gdk_pixbuf_get_height (pixbuf),
- gdk_pixbuf_get_rowstride (pixbuf));
-}
-
-/*
- * ECellPixbuf functions
- */
-
-ECell *
-e_cell_pixbuf_new (void)
-{
- ECellPixbuf *ecp;
-
- ecp = g_object_new (E_CELL_PIXBUF_TYPE, NULL);
- e_cell_pixbuf_construct (ecp);
-
- return (ECell *) ecp;
-}
-
-void
-e_cell_pixbuf_construct (ECellPixbuf *ecp)
-{
- /* noop */
- return;
-}
-
-/*
- * ECell methods
- */
-
-static ECellView *
-pixbuf_new_view (ECell *ecell, ETableModel *table_model, void *e_table_item_view)
-{
- ECellPixbufView *pixbuf_view = g_new0 (ECellPixbufView, 1);
- ETableItem *eti = E_TABLE_ITEM (e_table_item_view);
- GnomeCanvas *canvas = GNOME_CANVAS_ITEM (eti)->canvas;
-
- pixbuf_view->cell_view.ecell = ecell;
- pixbuf_view->cell_view.e_table_model = table_model;
- pixbuf_view->cell_view.e_table_item_view = e_table_item_view;
- pixbuf_view->canvas = canvas;
-
- return (ECellView *) pixbuf_view;
-}
-
-static void
-pixbuf_kill_view (ECellView *ecell_view)
-{
- ECellPixbufView *pixbuf_view = (ECellPixbufView *) ecell_view;
-
- g_free (pixbuf_view);
-}
-
-static void
-pixbuf_draw (ECellView *ecell_view, GdkDrawable *drawable,
- int model_col, int view_col, int row, ECellFlags flags,
- int x1, int y1, int x2, int y2)
-{
- GdkPixbuf *cell_pixbuf;
- int real_x, real_y, real_w, real_h;
- int pix_w, pix_h;
- ECellPixbuf *ecp;
-
- cell_pixbuf = NULL;
-
- ecp = E_CELL_PIXBUF (ecell_view->ecell);
-
- if (flags & E_CELL_SELECTED) {
- if (GTK_WIDGET_HAS_FOCUS (GNOME_CANVAS_ITEM (ecell_view->e_table_item_view)->canvas)) {
- if (ecp->focused_column != -1)
- cell_pixbuf = (GdkPixbuf *) e_table_model_value_at (ecell_view->e_table_model,
- ecp->focused_column, row);
- } else {
- if (ecp->selected_column != -1)
- cell_pixbuf = (GdkPixbuf *) e_table_model_value_at (ecell_view->e_table_model,
- ecp->selected_column, row);
- }
- } else {
- if (ecp->unselected_column != -1)
- cell_pixbuf = e_table_model_value_at (ecell_view->e_table_model,
- ecp->unselected_column, row);
- }
-
- if (cell_pixbuf == NULL)
- cell_pixbuf = e_table_model_value_at (ecell_view->e_table_model,
- model_col, row);
- /* we can't make sure we really got a pixbuf since, well, it's a Gdk thing */
-
- if (x2 - x1 == 0)
- return;
-
- if (!cell_pixbuf)
- return;
-
- pix_w = gdk_pixbuf_get_width (cell_pixbuf);
- pix_h = gdk_pixbuf_get_height (cell_pixbuf);
-
- /* We center the pixbuf within our allocated space */
- if (x2 - x1 > pix_w) {
- int diff = (x2 - x1) - pix_w;
- real_x = x1 + diff/2;
- real_w = pix_w;
- } else {
- real_x = x1;
- real_w = x2 - x1;
- }
-
- if (y2 - y1 > pix_h) {
- int diff = (y2 - y1) - pix_h;
- real_y = y1 + diff/2;
- real_h = pix_h;
- } else {
- real_y = y1;
- real_h = y2 - y1;
- }
-
-
- gdk_pixbuf_render_to_drawable_alpha (cell_pixbuf,
- drawable,
- 0, 0,
- real_x, real_y,
- real_w, real_h,
- GDK_PIXBUF_ALPHA_FULL,
- 127,
- GDK_RGB_DITHER_NORMAL,
- 0, 0);
-}
-
-static gint
-pixbuf_event (ECellView *ecell_view, GdkEvent *event,
- int model_col, int view_col, int row,
- ECellFlags flags, ECellActions *actions)
-{
- /* noop */
-
- return FALSE;
-}
-
-static gint
-pixbuf_height (ECellView *ecell_view, int model_col, int view_col, int row)
-{
- GdkPixbuf *pixbuf;
- if (row == -1) {
- if (e_table_model_row_count (ecell_view->e_table_model) > 0) {
- row = 0;
- } else {
- return 6;
- }
- }
-
- pixbuf = (GdkPixbuf *) e_table_model_value_at (ecell_view->e_table_model, model_col, row);
- if (!pixbuf)
- return 0;
-
- /* We give ourselves 3 pixels of padding on either side */
- return gdk_pixbuf_get_height (pixbuf) + 6;
-}
-
-/*
- * ECell::print method
- */
-static void
-pixbuf_print (ECellView *ecell_view, GnomePrintContext *context,
- int model_col, int view_col, int row,
- double width, double height)
-{
- GdkPixbuf *pixbuf;
- int scale;
-
- pixbuf = (GdkPixbuf *) e_table_model_value_at (ecell_view->e_table_model, model_col, row);
- if (pixbuf == NULL)
- return;
- scale = gdk_pixbuf_get_height (pixbuf);
-
- gnome_print_gsave(context);
-
- gnome_print_translate (context, 0, (height - scale) / 2);
- gnome_print_scale (context, scale, scale);
- gnome_print_pixbuf (context, pixbuf);
-
- gnome_print_grestore(context);
-}
-
-static gdouble
-pixbuf_print_height (ECellView *ecell_view, GnomePrintContext *context,
- int model_col, int view_col, int row,
- double width)
-{
- GdkPixbuf *pixbuf;
-
- if (row == -1) {
- if (e_table_model_row_count (ecell_view->e_table_model) > 0) {
- row = 0;
- } else {
- return 6;
- }
- }
-
- pixbuf = (GdkPixbuf *) e_table_model_value_at (ecell_view->e_table_model, model_col, row);
- if (!pixbuf)
- return 0;
-
- /* We give ourselves 3 pixels of padding on either side */
- return gdk_pixbuf_get_height (pixbuf);
-}
-
-static gint
-pixbuf_max_width (ECellView *ecell_view, int model_col, int view_col)
-{
- int pw;
- gint num_rows, i;
- gint max_width = -1;
-
- if (model_col == 0) {
- num_rows = e_table_model_row_count (ecell_view->e_table_model);
-
- for (i = 0; i <= num_rows; i++) {
- GdkPixbuf *pixbuf = (GdkPixbuf *) e_table_model_value_at
- (ecell_view->e_table_model,
- model_col,
- i);
- if (!pixbuf)
- continue;
- pw = gdk_pixbuf_get_width (pixbuf);
- if (max_width < pw)
- max_width = pw;
- }
- } else {
- return -1;
- }
-
- return max_width;
-}
-
-static void
-pixbuf_dispose (GObject *object)
-{
- if (G_OBJECT_CLASS (parent_class)->dispose)
- (* G_OBJECT_CLASS (parent_class)->dispose) (object);
-}
-
-static void
-pixbuf_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- ECellPixbuf *pixbuf;
-
- pixbuf = E_CELL_PIXBUF (object);
-
- switch (prop_id) {
- case PROP_SELECTED_COLUMN:
- pixbuf->selected_column = g_value_get_int (value);
- break;
-
- case PROP_FOCUSED_COLUMN:
- pixbuf->focused_column = g_value_get_int (value);
- break;
-
- case PROP_UNSELECTED_COLUMN:
- pixbuf->unselected_column = g_value_get_int (value);
- break;
-
- default:
- return;
- }
-}
-
-/* Get_arg handler for the pixbuf item */
-static void
-pixbuf_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
- ECellPixbuf *pixbuf;
-
- pixbuf = E_CELL_PIXBUF (object);
-
- switch (prop_id) {
- case PROP_SELECTED_COLUMN:
- g_value_set_int (value, pixbuf->selected_column);
- break;
-
- case PROP_FOCUSED_COLUMN:
- g_value_set_int (value, pixbuf->focused_column);
- break;
-
- case PROP_UNSELECTED_COLUMN:
- g_value_set_int (value, pixbuf->unselected_column);
- break;
-
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-e_cell_pixbuf_init (GtkObject *object)
-{
- ECellPixbuf *ecp = E_CELL_PIXBUF (object);
-
- ecp->selected_column = -1;
- ecp->focused_column = -1;
- ecp->unselected_column = -1;
-}
-
-static void
-e_cell_pixbuf_class_init (GObjectClass *object_class)
-{
- ECellClass *ecc = (ECellClass *) object_class;
-
- object_class->dispose = pixbuf_dispose;
- object_class->set_property = pixbuf_set_property;
- object_class->get_property = pixbuf_get_property;
-
- ecc->new_view = pixbuf_new_view;
- ecc->kill_view = pixbuf_kill_view;
- ecc->draw = pixbuf_draw;
- ecc->event = pixbuf_event;
- ecc->height = pixbuf_height;
- ecc->print = pixbuf_print;
- ecc->print_height = pixbuf_print_height;
- ecc->max_width = pixbuf_max_width;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- g_object_class_install_property (object_class, PROP_SELECTED_COLUMN,
- g_param_spec_int ("selected_column",
- _("Selected Column"),
- /*_( */"XXX blurb" /*)*/,
- 0, G_MAXINT, 0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_FOCUSED_COLUMN,
- g_param_spec_int ("focused_column",
- _("Focused Column"),
- /*_( */"XXX blurb" /*)*/,
- 0, G_MAXINT, 0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_UNSELECTED_COLUMN,
- g_param_spec_int ("unselected_column",
- _("Unselected Column"),
- /*_( */"XXX blurb" /*)*/,
- 0, G_MAXINT, 0,
- G_PARAM_READWRITE));
-}
-
-E_MAKE_TYPE (e_cell_pixbuf,
- "ECellPixbuf",
- ECellPixbuf,
- e_cell_pixbuf_class_init,
- e_cell_pixbuf_init,
- PARENT_TYPE)
diff --git a/widgets/table/e-cell-pixbuf.h b/widgets/table/e-cell-pixbuf.h
deleted file mode 100644
index 2f12521d58..0000000000
--- a/widgets/table/e-cell-pixbuf.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * e-cell-pixbuf.h - An ECell that displays a GdkPixbuf
- * Copyright 2001, Ximian, Inc.
- *
- * Authors:
- * Vladimir Vukicevic <vladimir@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_CELL_PIXBUF_H_
-#define _E_CELL_PIXBUF_H_
-
-#include <gal/e-table/e-table.h>
-
-#define E_CELL_PIXBUF_TYPE (e_cell_pixbuf_get_type ())
-#define E_CELL_PIXBUF(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_CELL_PIXBUF_TYPE, ECellPixbuf))
-#define E_CELL_PIXBUF_CLASS(k) (G_TYPE_CHECK_INSTANCE_CAST_CLASS ((k), E_CELL_PIXBUF_TYPE, ECellPixbufClass))
-#define E_IS_CELL_PIXBUF(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_CELL_PIXBUF_TYPE))
-#define E_IS_CELL_PIXBUF_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_CELL_PIXBUF_TYPE))
-
-typedef struct _ECellPixbuf ECellPixbuf;
-typedef struct _ECellPixbufClass ECellPixbufClass;
-
-struct _ECellPixbuf {
- ECell parent;
-
- int selected_column;
- int focused_column;
- int unselected_column;
-};
-
-struct _ECellPixbufClass {
- ECellClass parent_class;
-};
-
-GType e_cell_pixbuf_get_type (void);
-ECell *e_cell_pixbuf_new (void);
-void e_cell_pixbuf_construct (ECellPixbuf *ecp);
-
-#endif
diff --git a/widgets/table/e-cell-popup.c b/widgets/table/e-cell-popup.c
deleted file mode 100644
index 50943d6004..0000000000
--- a/widgets/table/e-cell-popup.c
+++ /dev/null
@@ -1,519 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cell-popup.c: Popup cell renderer
- * Copyright 2001, Ximian, Inc.
- *
- * Authors:
- * Damon Chaplin <damon@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA. */
-
-/*
- * ECellPopup - an abstract ECell class used to support popup selections like
- * a GtkCombo widget. It contains a child ECell, e.g. an ECellText, but when
- * selected it displays an arrow on the right edge which the user can click to
- * show a popup. Subclasses implement the popup class function to show the
- * popup.
- */
-
-#include <config.h>
-#include <gdk/gdkkeysyms.h>
-#include "gal/util/e-util.h"
-#include "e-table-item.h"
-#include "e-cell-popup.h"
-#include "gal/a11y/e-table/gal-a11y-e-cell-popup.h"
-#include "gal/a11y/e-table/gal-a11y-e-cell-registry.h"
-
-#define E_CELL_POPUP_ARROW_WIDTH 16
-#define E_CELL_POPUP_ARROW_XPAD 3
-#define E_CELL_POPUP_ARROW_YPAD 3
-
-
-static void e_cell_popup_class_init (GtkObjectClass *object_class);
-static void e_cell_popup_init (ECellPopup *ecp);
-static void e_cell_popup_dispose (GObject *object);
-
-
-static ECellView* ecp_new_view (ECell *ecell,
- ETableModel *table_model,
- void *e_table_item_view);
-static void ecp_kill_view (ECellView *ecv);
-static void ecp_realize (ECellView *ecv);
-static void ecp_unrealize (ECellView *ecv);
-static void ecp_draw (ECellView *ecv,
- GdkDrawable *drawable,
- int model_col,
- int view_col,
- int row,
- ECellFlags flags,
- int x1,
- int y1,
- int x2,
- int y2);
-static gint ecp_event (ECellView *ecv,
- GdkEvent *event,
- int model_col,
- int view_col,
- int row,
- ECellFlags flags,
- ECellActions *actions);
-static int ecp_height (ECellView *ecv,
- int model_col,
- int view_col,
- int row);
-static void* ecp_enter_edit (ECellView *ecv,
- int model_col,
- int view_col,
- int row);
-static void ecp_leave_edit (ECellView *ecv,
- int model_col,
- int view_col,
- int row,
- void *edit_context);
-static void ecp_print (ECellView *ecv,
- GnomePrintContext *context,
- int model_col,
- int view_col,
- int row,
- double width,
- double height);
-static gdouble ecp_print_height (ECellView *ecv,
- GnomePrintContext *context,
- int model_col,
- int view_col,
- int row,
- double width);
-static int ecp_max_width (ECellView *ecv,
- int model_col,
- int view_col);
-static void ecp_show_tooltip (ECellView *ecv,
- int model_col,
- int view_col,
- int row,
- int col_width,
- ETableTooltip *tooltip);
-static char *ecp_get_bg_color (ECellView *ecell_view, int row);
-
-static gint e_cell_popup_do_popup (ECellPopupView *ecp_view,
- GdkEvent *event,
- int row,
- int model_col);
-
-static ECellClass *parent_class;
-
-
-E_MAKE_TYPE (e_cell_popup, "ECellPopup", ECellPopup, e_cell_popup_class_init,
- e_cell_popup_init, e_cell_get_type())
-
-
-static void
-e_cell_popup_class_init (GtkObjectClass *object_class)
-{
- ECellClass *ecc = (ECellClass *) object_class;
-
- G_OBJECT_CLASS (object_class)->dispose = e_cell_popup_dispose;
-
- ecc->new_view = ecp_new_view;
- ecc->kill_view = ecp_kill_view;
- ecc->realize = ecp_realize;
- ecc->unrealize = ecp_unrealize;
- ecc->draw = ecp_draw;
- ecc->event = ecp_event;
- ecc->height = ecp_height;
- ecc->enter_edit = ecp_enter_edit;
- ecc->leave_edit = ecp_leave_edit;
- ecc->print = ecp_print;
- ecc->print_height = ecp_print_height;
- ecc->max_width = ecp_max_width;
- ecc->show_tooltip = ecp_show_tooltip;
- ecc->get_bg_color = ecp_get_bg_color;
-
- parent_class = g_type_class_ref (E_CELL_TYPE);
- gal_a11y_e_cell_registry_add_cell_type (NULL,
- E_CELL_POPUP_TYPE,
- gal_a11y_e_cell_popup_new);
-}
-
-
-static void
-e_cell_popup_init (ECellPopup *ecp)
-{
- ecp->popup_shown = FALSE;
- ecp->popup_model = NULL;
-}
-
-
-/**
- * e_cell_popup_new:
- *
- * Creates a new ECellPopup renderer.
- *
- * Returns: an ECellPopup object.
- */
-ECell *
-e_cell_popup_new (void)
-{
- ECellPopup *ecp = g_object_new (E_CELL_POPUP_TYPE, NULL);
-
- return (ECell*) ecp;
-}
-
-
-/*
- * GtkObject::destroy method
- */
-static void
-e_cell_popup_dispose (GObject *object)
-{
- ECellPopup *ecp = E_CELL_POPUP (object);
-
- if (ecp->child)
- g_object_unref (ecp->child);
- ecp->child = NULL;
-
- G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-
-
-/*
- * ECell::new_view method
- */
-static ECellView *
-ecp_new_view (ECell *ecell, ETableModel *table_model, void *e_table_item_view)
-{
- ECellPopup *ecp = E_CELL_POPUP (ecell);
- ECellPopupView *ecp_view;
-
- /* We must have a child ECell before we create any views. */
- g_return_val_if_fail (ecp->child != NULL, NULL);
-
- ecp_view = g_new0 (ECellPopupView, 1);
-
- ecp_view->cell_view.ecell = ecell;
- ecp_view->cell_view.e_table_model = table_model;
- ecp_view->cell_view.e_table_item_view = e_table_item_view;
-
- ecp_view->child_view = e_cell_new_view (ecp->child, table_model,
- e_table_item_view);
-
- return (ECellView*) ecp_view;
-}
-
-
-/*
- * ECell::kill_view method
- */
-static void
-ecp_kill_view (ECellView *ecv)
-{
- ECellPopupView *ecp_view = (ECellPopupView *) ecv;
-
- if (ecp_view->child_view)
- e_cell_kill_view (ecp_view->child_view);
- g_free (ecp_view);
-}
-
-
-/*
- * ECell::realize method
- */
-static void
-ecp_realize (ECellView *ecv)
-{
- ECellPopupView *ecp_view = (ECellPopupView *) ecv;
-
- e_cell_realize (ecp_view->child_view);
-
- if (parent_class->realize)
- (* parent_class->realize) (ecv);
-}
-
-
-/*
- * ECell::unrealize method
- */
-static void
-ecp_unrealize (ECellView *ecv)
-{
- ECellPopupView *ecp_view = (ECellPopupView *) ecv;
-
- e_cell_unrealize (ecp_view->child_view);
-
- if (parent_class->unrealize)
- (* parent_class->unrealize) (ecv);
-}
-
-
-/*
- * ECell::draw method
- */
-static void
-ecp_draw (ECellView *ecv, GdkDrawable *drawable,
- int model_col, int view_col, int row, ECellFlags flags,
- int x1, int y1, int x2, int y2)
-{
- ECellPopup *ecp = E_CELL_POPUP (ecv->ecell);
- ECellPopupView *ecp_view = (ECellPopupView *) ecv;
- GtkWidget *canvas = GTK_WIDGET (GNOME_CANVAS_ITEM (ecv->e_table_item_view)->canvas);
- GtkShadowType shadow;
- GdkRectangle rect;
- gboolean show_popup_arrow;
-
- /* Display the popup arrow if we are the cursor cell, or the popup
- is shown for this cell. */
- show_popup_arrow = e_table_model_is_cell_editable (ecv->e_table_model, model_col, row) &&
- (flags & E_CELL_CURSOR ||
- (ecp->popup_shown && ecp->popup_view_col == view_col
- && ecp->popup_row == row
- && ecp->popup_model == ((ECellView *) ecp_view)->e_table_model));
-
- if (flags & E_CELL_CURSOR)
- ecp->popup_arrow_shown = show_popup_arrow;
-
- if (show_popup_arrow) {
- e_cell_draw (ecp_view->child_view, drawable, model_col,
- view_col, row, flags,
- x1, y1, x2 - E_CELL_POPUP_ARROW_WIDTH, y2);
-
- rect.x = x2 - E_CELL_POPUP_ARROW_WIDTH;
- rect.y = y1 + 1;
- rect.width = E_CELL_POPUP_ARROW_WIDTH;
- rect.height = y2 - y1 - 2;
-
- if (ecp->popup_shown)
- shadow = GTK_SHADOW_IN;
- else
- shadow = GTK_SHADOW_OUT;
-
- gtk_paint_box (canvas->style, drawable,
- GTK_STATE_NORMAL, shadow,
- &rect, canvas, "ecellpopup",
- rect.x, rect.y, rect.width, rect.height);
- gtk_paint_arrow (canvas->style, drawable,
- GTK_STATE_NORMAL, GTK_SHADOW_NONE,
- &rect, canvas, NULL,
- GTK_ARROW_DOWN, TRUE,
- rect.x + E_CELL_POPUP_ARROW_XPAD,
- rect.y + E_CELL_POPUP_ARROW_YPAD,
- rect.width - E_CELL_POPUP_ARROW_XPAD * 2,
- rect.height - E_CELL_POPUP_ARROW_YPAD * 2);
- } else {
- e_cell_draw (ecp_view->child_view, drawable, model_col,
- view_col, row, flags, x1, y1, x2, y2);
- }
-}
-
-
-/*
- * ECell::event method
- */
-static gint
-ecp_event (ECellView *ecv, GdkEvent *event, int model_col, int view_col,
- int row, ECellFlags flags, ECellActions *actions)
-{
- ECellPopupView *ecp_view = (ECellPopupView *) ecv;
- ECellPopup *ecp = E_CELL_POPUP (ecp_view->cell_view.ecell);
- ETableItem *eti = E_TABLE_ITEM (ecv->e_table_item_view);
- int width;
-
- switch (event->type) {
- case GDK_BUTTON_PRESS:
- if (e_table_model_is_cell_editable (ecv->e_table_model, model_col, row) &&
- flags & E_CELL_CURSOR
- && ecp->popup_arrow_shown) {
- width = e_table_header_col_diff (eti->header, view_col,
- view_col + 1);
-
- /* FIXME: The event coords seem to be relative to the
- text within the cell, so we have to add 4. */
- if (event->button.x + 4 >= width - E_CELL_POPUP_ARROW_WIDTH) {
- return e_cell_popup_do_popup (ecp_view, event, row, view_col);
- }
- }
- break;
- case GDK_KEY_PRESS:
- if (e_table_model_is_cell_editable (ecv->e_table_model, model_col, row) &&
- event->key.state & GDK_MOD1_MASK
- && event->key.keyval == GDK_Down) {
- return e_cell_popup_do_popup (ecp_view, event, row, view_col);
- }
- break;
- default:
- break;
- }
-
- return e_cell_event (ecp_view->child_view, event, model_col, view_col,
- row, flags, actions);
-}
-
-
-/*
- * ECell::height method
- */
-static int
-ecp_height (ECellView *ecv, int model_col, int view_col, int row)
-{
- ECellPopupView *ecp_view = (ECellPopupView *) ecv;
-
- return e_cell_height (ecp_view->child_view, model_col, view_col, row);
-}
-
-
-/*
- * ECellView::enter_edit method
- */
-static void *
-ecp_enter_edit (ECellView *ecv, int model_col, int view_col, int row)
-{
- ECellPopupView *ecp_view = (ECellPopupView *) ecv;
-
- return e_cell_enter_edit (ecp_view->child_view, model_col, view_col, row);
-}
-
-
-/*
- * ECellView::leave_edit method
- */
-static void
-ecp_leave_edit (ECellView *ecv, int model_col, int view_col, int row,
- void *edit_context)
-{
- ECellPopupView *ecp_view = (ECellPopupView *) ecv;
-
- e_cell_leave_edit (ecp_view->child_view, model_col, view_col, row,
- edit_context);
-}
-
-
-static void
-ecp_print (ECellView *ecv, GnomePrintContext *context,
- int model_col, int view_col, int row, double width, double height)
-{
- ECellPopupView *ecp_view = (ECellPopupView *) ecv;
-
- e_cell_print (ecp_view->child_view, context, model_col, view_col, row,
- width, height);
-}
-
-
-static gdouble
-ecp_print_height (ECellView *ecv, GnomePrintContext *context,
- int model_col, int view_col, int row,
- double width)
-{
- ECellPopupView *ecp_view = (ECellPopupView *) ecv;
-
- return e_cell_print_height (ecp_view->child_view, context, model_col,
- view_col, row, width);
-}
-
-
-static int
-ecp_max_width (ECellView *ecv,
- int model_col,
- int view_col)
-{
- ECellPopupView *ecp_view = (ECellPopupView *) ecv;
-
- return e_cell_max_width (ecp_view->child_view, model_col, view_col);
-}
-
-
-static void
-ecp_show_tooltip (ECellView *ecv,
- int model_col,
- int view_col,
- int row,
- int col_width,
- ETableTooltip *tooltip)
-{
- ECellPopupView *ecp_view = (ECellPopupView *) ecv;
-
- e_cell_show_tooltip (ecp_view->child_view, model_col, view_col, row,
- col_width, tooltip);
-}
-
-static char *
-ecp_get_bg_color (ECellView *ecell_view, int row)
-{
- ECellPopupView *ecp_view = (ECellPopupView *) ecell_view;
-
- return e_cell_get_bg_color (ecp_view->child_view, row);
-}
-
-
-
-ECell*
-e_cell_popup_get_child (ECellPopup *ecp)
-{
- g_return_val_if_fail (E_IS_CELL_POPUP (ecp), NULL);
-
- return ecp->child;
-}
-
-
-void
-e_cell_popup_set_child (ECellPopup *ecp,
- ECell *child)
-{
- g_return_if_fail (E_IS_CELL_POPUP (ecp));
-
- if (ecp->child)
- g_object_unref (ecp->child);
-
- ecp->child = child;
- g_object_ref (child);
-}
-
-
-static gint
-e_cell_popup_do_popup (ECellPopupView *ecp_view,
- GdkEvent *event,
- int row,
- int view_col)
-{
- ECellPopup *ecp = E_CELL_POPUP (ecp_view->cell_view.ecell);
- gint (*popup_func) (ECellPopup *ecp, GdkEvent *event, int row, int view_col);
-
- ecp->popup_cell_view = ecp_view;
-
- popup_func = E_CELL_POPUP_CLASS (GTK_OBJECT_GET_CLASS (ecp))->popup;
-
- ecp->popup_view_col = view_col;
- ecp->popup_row = row;
- ecp->popup_model = ((ECellView *) ecp_view)->e_table_model;
-
- return popup_func ? popup_func (ecp, event, row, view_col) : FALSE;
-}
-
-/* This redraws the popup cell. Only use this if you know popup_view_col and
- popup_row are valid. */
-void
-e_cell_popup_queue_cell_redraw (ECellPopup *ecp)
-{
- ETableItem *eti = E_TABLE_ITEM (ecp->popup_cell_view->cell_view.e_table_item_view);
-
- e_table_item_redraw_range (eti, ecp->popup_view_col, ecp->popup_row,
- ecp->popup_view_col, ecp->popup_row);
-}
-
-void
-e_cell_popup_set_shown (ECellPopup *ecp,
- gboolean shown)
-{
- ecp->popup_shown = shown;
- e_cell_popup_queue_cell_redraw (ecp);
-}
diff --git a/widgets/table/e-cell-popup.h b/widgets/table/e-cell-popup.h
deleted file mode 100644
index 26a7429127..0000000000
--- a/widgets/table/e-cell-popup.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cell-popup.h: Popup cell renderer
- * Copyright 2001, Ximian, Inc.
- *
- * Authors:
- * Damon Chaplin <damon@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-/*
- * ECellPopup - an ECell used to support popup selections like a GtkCombo
- * widget. It contains a child ECell, e.g. an ECellText, but when selected it
- * displays an arrow on the right edge which the user can click to show a
- * popup. It will support subclassing or signals so that different types of
- * popup can be provided.
- */
-
-#ifndef _E_CELL_POPUP_H_
-#define _E_CELL_POPUP_H_
-
-#include <libgnomecanvas/gnome-canvas.h>
-#include <gal/e-table/e-cell.h>
-
-#define E_CELL_POPUP_TYPE (e_cell_popup_get_type ())
-#define E_CELL_POPUP(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_CELL_POPUP_TYPE, ECellPopup))
-#define E_CELL_POPUP_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_CELL_POPUP_TYPE, ECellPopupClass))
-#define E_IS_CELL_POPUP(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_CELL_POPUP_TYPE))
-#define E_IS_CELL_POPUP_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_CELL_POPUP_TYPE))
-
-typedef struct _ECellPopupView ECellPopupView;
-
-typedef struct {
- ECell parent;
-
- ECell *child;
-
- /* This is TRUE if the popup window is shown for the cell being
- edited. While shown we display the arrow indented. */
- gboolean popup_shown;
-
- /* This is TRUE if the popup arrow is shown for the cell being edited.
- This is needed to stop the first click on the cell from popping up
- the popup window. We only popup the window after we have drawn the
- arrow. */
- gboolean popup_arrow_shown;
-
- /* The view in which the popup is shown. */
- ECellPopupView *popup_cell_view;
-
- gint popup_view_col;
- gint popup_row;
- ETableModel *popup_model;
-} ECellPopup;
-
-
-typedef struct {
- ECellClass parent_class;
-
- /* Virtual function for subclasses to override. */
- gint (*popup) (ECellPopup *ecp, GdkEvent *event, int row, int view_col);
-} ECellPopupClass;
-
-
-struct _ECellPopupView {
- ECellView cell_view;
-
- ECellView *child_view;
-};
-
-
-GType e_cell_popup_get_type (void);
-ECell *e_cell_popup_new (void);
-
-/* Get and set the child ECell. */
-ECell *e_cell_popup_get_child (ECellPopup *ecp);
-void e_cell_popup_set_child (ECellPopup *ecp,
- ECell *child);
-
-void e_cell_popup_set_shown (ECellPopup *ecp,
- gboolean shown);
-void e_cell_popup_queue_cell_redraw (ECellPopup *ecp);
-
-void e_cell_popup_set_shown (ECellPopup *ecp,
- gboolean shown);
-void e_cell_popup_queue_cell_redraw (ECellPopup *ecp);
-
-#endif /* _E_CELL_POPUP_H_ */
diff --git a/widgets/table/e-cell-progress.c b/widgets/table/e-cell-progress.c
deleted file mode 100644
index bf7fdd9951..0000000000
--- a/widgets/table/e-cell-progress.c
+++ /dev/null
@@ -1,456 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cell-progress.c - Progress display cell object.
- * Copyright 1999-2002, Ximian, Inc.
- * Copyright 2001, 2002, Krisztian Pifko <monsta@users.sourceforge.net>
- *
- * Authors:
- * Krisztian Pifko <monsta@users.sourceforge.net>
- *
- * A cell type for displaying progress bars.
- *
- * Derived from ECellToggle of Miguel de Icaza <miguel@ximian.com>.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <string.h>
-
-#include <gtk/gtkenums.h>
-#include <gtk/gtkentry.h>
-#include <gtk/gtkwindow.h>
-#include <gtk/gtksignal.h>
-#include <gdk/gdkkeysyms.h>
-#include <libgnomecanvas/gnome-canvas.h>
-#include "e-cell-progress.h"
-#include "gal/util/e-util.h"
-#include "e-table-item.h"
-
-#define PARENT_TYPE e_cell_get_type ()
-
-typedef struct {
- ECellView cell_view;
- GdkGC *gc;
- GnomeCanvas *canvas;
-} ECellProgressView;
-
-static ECellClass *parent_class;
-
-static void
-eprog_queue_redraw (ECellProgressView *text_view, int view_col, int view_row)
-{
- e_table_item_redraw_range (
- text_view->cell_view.e_table_item_view,
- view_col, view_row, view_col, view_row);
-}
-
-/*
- * ECell::realize method
- */
-static ECellView *
-eprog_new_view (ECell *ecell, ETableModel *table_model, void *e_table_item_view)
-{
- ECellProgressView *progress_view = g_new0 (ECellProgressView, 1);
- ETableItem *eti = E_TABLE_ITEM (e_table_item_view);
- GnomeCanvas *canvas = GNOME_CANVAS_ITEM (eti)->canvas;
-
- progress_view->cell_view.ecell = ecell;
- progress_view->cell_view.e_table_model = table_model;
- progress_view->cell_view.e_table_item_view = e_table_item_view;
- progress_view->canvas = canvas;
-
- return (ECellView *) progress_view;
-}
-
-static void
-eprog_kill_view (ECellView *ecell_view)
-{
- g_free (ecell_view);
-}
-
-static void
-eprog_realize (ECellView *ecell_view)
-{
- ECellProgressView *progress_view = (ECellProgressView *) ecell_view;
-
- progress_view->gc = gdk_gc_new (GTK_WIDGET (progress_view->canvas)->window);
-}
-
-/*
- * ECell::unrealize method
- */
-static void
-eprog_unrealize (ECellView *ecv)
-{
- ECellProgressView *progress_view = (ECellProgressView *) ecv;
-
- gdk_gc_unref (progress_view->gc);
- progress_view->gc = NULL;
-}
-
-static void
-eprog_clear (ECellProgress *progress)
-{
- memset(progress->buffer,0x00,progress->width*progress->height*4);
-}
-
-static void
-eprog_draw_border (ECellProgress *progress, guchar red, guchar green, guchar blue)
-{
- gint i, j, w4, p4, pw4, wpb4, hp1;
-
-/*
- * some speedup
- */
- w4=progress->width*4;
- p4=progress->padding*4;
- pw4=w4*progress->padding;
- wpb4=(progress->width-progress->padding-progress->border)*4;
- hp1=(progress->height-progress->padding-1);
-
- for (i=progress->padding*4;i<(progress->width-progress->padding)*4;i+=4){
- for (j=0;j<progress->border;j++){
- progress->buffer[pw4+j*w4+i]=red;
- progress->buffer[pw4+j*w4+i+1]=green;
- progress->buffer[pw4+j*w4+i+2]=blue;
- progress->buffer[pw4+j*w4+i+3]=255;
- progress->buffer[(progress->height-1-progress->padding)*w4-j*w4+i]=red;
- progress->buffer[(progress->height-1-progress->padding)*w4-j*w4+i+1]=green;
- progress->buffer[(progress->height-1-progress->padding)*w4-j*w4+i+2]=blue;
- progress->buffer[(progress->height-1-progress->padding)*w4-j*w4+i+3]=255;
- }
- }
- for (i=progress->padding+progress->border;i<progress->height-progress->padding-progress->border;i++){
- for (j=0;j<4*progress->border;j+=4){
- progress->buffer[p4+i*w4+j]=red;
- progress->buffer[p4+i*w4+j+1]=green;
- progress->buffer[p4+i*w4+j+2]=blue;
- progress->buffer[p4+i*w4+j+3]=255;
- progress->buffer[i*w4+wpb4+j]=red;
- progress->buffer[i*w4+wpb4+j+1]=green;
- progress->buffer[i*w4+wpb4+j+2]=blue;
- progress->buffer[i*w4+wpb4+j+3]=255;
- }
- }
-}
-
-static void
-eprog_draw_bar (ECellProgress *progress, guchar red, guchar green, guchar blue, gint value)
-{
- gint i, j, w;
-
- w=value*(progress->width-2*(progress->padding+progress->border+1))/progress->max;
- for (i=(progress->padding+progress->border+1)*4;i<(progress->padding+progress->border+1+w)*4;i+=4){
- for (j=0;j<progress->height-2*(progress->padding+progress->border+1);j++){
- progress->buffer[(progress->width*(progress->padding+progress->border+1)*4)+j*progress->width*4+i]=red;
- progress->buffer[(progress->width*(progress->padding+progress->border+1)*4)+j*progress->width*4+i+1]=green;
- progress->buffer[(progress->width*(progress->padding+progress->border+1)*4)+j*progress->width*4+i+2]=blue;
- progress->buffer[(progress->width*(progress->padding+progress->border+1)*4)+j*progress->width*4+i+3]=255;
- }
- }
-}
-
-/*
- * ECell::draw method
- */
-static void
-eprog_draw (ECellView *ecell_view, GdkDrawable *drawable,
- int model_col, int view_col, int row, ECellFlags flags,
- int x1, int y1, int x2, int y2)
-{
- ECellProgress *progress = E_CELL_PROGRESS (ecell_view->ecell);
- gboolean selected;
- GdkPixbuf *image;
- int x, y, width, height;
-
- const int value = GPOINTER_TO_INT (
- e_table_model_value_at (ecell_view->e_table_model, model_col, row));
-
- selected = flags & E_CELL_SELECTED;
-
- if ((value > progress->max)||(value < progress->min)){
- g_warning ("Value from the table model is %d, the states we support are [%d..%d]\n",
- value, progress->min, progress->max);
- return;
- }
-
- image = progress->image;
-
- if ((x2 - x1) < progress->width){
- x = x1;
- width = x2 - x1;
- } else {
- x = x1 + ((x2 - x1) - progress->width) / 2;
- width = progress->width;
- }
-
- if ((y2 - y1) < progress->height){
- y = y1;
- height = y2 - y1;
- } else {
- y = y1 + ((y2 - y1) - progress->height) / 2;
- height = progress->height;
- }
-
- eprog_clear(progress);
-
- eprog_draw_border(progress, progress->red, progress->green, progress->blue);
-
- eprog_draw_bar(progress, progress->red, progress->green, progress->blue, value);
-
- gdk_pixbuf_render_to_drawable_alpha (progress->image, drawable,
- 0, 0,
- x, y,
- progress->width, progress->height,
- GDK_PIXBUF_ALPHA_BILEVEL,
- 128,
- GDK_RGB_DITHER_NORMAL,
- x, y);
-}
-
-static void
-eprog_set_value (ECellProgressView *progress_view, int model_col, int view_col, int row, int value)
-{
- ECell *ecell = progress_view->cell_view.ecell;
- ECellProgress *progress = E_CELL_PROGRESS (ecell);
-
- if (value > progress->max){
- value = progress->max;
- }else if (value < progress->min){
- value = progress->min;
- }
- e_table_model_set_value_at (progress_view->cell_view.e_table_model,
- model_col, row, GINT_TO_POINTER (value));
- eprog_queue_redraw (progress_view, view_col, row);
-}
-
-/*
- * ECell::event method
- */
-static gint
-eprog_event (ECellView *ecell_view, GdkEvent *event, int model_col, int view_col, int row, ECellFlags flags, ECellActions *actions)
-{
- ECellProgressView *progress_view = (ECellProgressView *) ecell_view;
- void *_value = e_table_model_value_at (ecell_view->e_table_model, model_col, row);
- const int value = GPOINTER_TO_INT (_value);
-
-#if 0
- if (!(flags & E_CELL_EDITING))
- return FALSE;
-#endif
-
- switch (event->type){
- case GDK_KEY_PRESS:
- if (event->key.keyval != GDK_space)
- return FALSE;
- /* Fall through */
- case GDK_BUTTON_PRESS:
- if (!e_table_model_is_cell_editable(ecell_view->e_table_model, model_col, row))
- return FALSE;
-
- eprog_set_value (progress_view, model_col, view_col, row, value + 1);
- return TRUE;
-
- default:
- return FALSE;
- }
- return TRUE;
-}
-
-/*
- * ECell::height method
- */
-static int
-eprog_height (ECellView *ecell_view, int model_col, int view_col, int row)
-{
- ECellProgress *progress = E_CELL_PROGRESS (ecell_view->ecell);
-
- return progress->height;
-}
-
-/*
- * ECell::max_width method
- */
-static int
-eprog_max_width (ECellView *ecell_view, int model_col, int view_col)
-{
- ECellProgress *progress = E_CELL_PROGRESS (ecell_view->ecell);
-
- return progress->width;
-}
-
-static void
-eprog_dispose (GObject *object)
-{
- ECellProgress *eprog = E_CELL_PROGRESS (object);
-
- gdk_pixbuf_unref (eprog->image);
- g_free (eprog->image);
- g_free (eprog->buffer);
-
- G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-static void
-e_cell_progress_class_init (GObjectClass *object_class)
-{
- ECellClass *ecc = (ECellClass *) object_class;
-
- object_class->dispose = eprog_dispose;
-
- ecc->new_view = eprog_new_view;
- ecc->kill_view = eprog_kill_view;
- ecc->realize = eprog_realize;
- ecc->unrealize = eprog_unrealize;
- ecc->draw = eprog_draw;
- ecc->event = eprog_event;
- ecc->height = eprog_height;
- ecc->max_width = eprog_max_width;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-}
-
-E_MAKE_TYPE(e_cell_progress, "ECellProgress", ECellProgress, e_cell_progress_class_init, NULL, PARENT_TYPE);
-
-/**
- * e_cell_progress_construct:
- * @eprog: a fresh ECellProgress object
- * @padding: number of pixels used as a padding
- * @border: number of pixels used as a border
- * @min: the minimum value
- * @max: the maximum value
- * @width: the width of the progress bar in pixels
- * @height: the height of the progress bar in pixels
- * @red: the red component of the progress bars rgb color
- * @green: the green component of the progress bars rgb color
- * @blue: the blue component of the progress bars rgb color
- *
- * Constructs the @eprog object with the arguments
- */
-void
-e_cell_progress_construct (ECellProgress *eprog, int padding, int border, int min, int max, int width, int height, guchar red, guchar green, guchar blue)
-{
- eprog->padding = padding;
- eprog->border = border;
- eprog->min = min;
- eprog->max = max;
- eprog->red = red;
- eprog->green = green;
- eprog->blue = blue;
-
- eprog->width = (width<((padding+border)*2+5)) ? ((padding+border)*2+5) : width;
- eprog->height = (height<((padding+border)*2+5)) ? ((padding+border)*2+5) : height;
-
- eprog->buffer=g_new(guchar, eprog->width*eprog->height*4);
-
- eprog_clear(eprog);
- eprog_draw_border(eprog, red, green, blue);
-
- eprog->image = gdk_pixbuf_new_from_data (eprog->buffer,GDK_COLORSPACE_RGB, TRUE, 8, eprog->width, eprog->height, eprog->width*4, NULL, NULL);
-}
-
-/**
- * e_cell_progress_new:
- * @min: the minimum value
- * @max: the maximum value
- * @width: the width of the progress bar in pixels
- * @height: the height of the progress bar in pixels
- *
- * Creates a new ECell renderer that can be used to render progress
- * bars displaying the percentage of the current value between min
- * and max.
- *
- * Returns: an ECell object that can be used to render progress cells.
- */
-ECell *
-e_cell_progress_new (int min, int max, int width, int height)
-{
- ECellProgress *eprog = g_object_new (E_CELL_PROGRESS_TYPE, NULL);
-
- e_cell_progress_construct (eprog, 1, 1, min, max, (width<9) ? 9 : width, (height<9) ? 9 : height, 0x00, 0x00, 0x00);
-
- return (ECell *) eprog;
-}
-
-/**
- * e_cell_progress_set_padding:
- * @eprog: an ECellProgress object
- * @padding: number of pixels used as a padding
- *
- * Sets the padding around the progress bar in the cell.
- */
-void
-e_cell_progress_set_padding (ECellProgress *eprog, int padding)
-{
- eprog->padding = padding;
-
- eprog->width = (eprog->width<((padding+eprog->border)*2+5)) ? ((padding+eprog->border)*2+5) : eprog->width;
- eprog->height = (eprog->height<((padding+eprog->border)*2+5)) ? ((padding+eprog->border)*2+5) : eprog->height;
-
- g_free (eprog->buffer);
- eprog->buffer=g_new (guchar, eprog->width*eprog->height*4);
-
- eprog_clear (eprog);
- eprog_draw_border (eprog, eprog->red, eprog->green, eprog->blue);
-
- eprog->image = gdk_pixbuf_new_from_data (eprog->buffer,GDK_COLORSPACE_RGB, TRUE, 8, eprog->width, eprog->height, eprog->width*4, NULL, NULL);
-}
-
-/**
- * e_cell_progress_set_border:
- * @eprog: an ECellProgress object
- * @border: number of pixels used as a border
- *
- * Sets the border around the progress bar in the cell.
- */
-void
-e_cell_progress_set_border (ECellProgress *eprog, int border)
-{
- eprog->border = border;
-
- eprog->width = (eprog->width<((eprog->padding+border)*2+5)) ? ((eprog->padding+border)*2+5) : eprog->width;
- eprog->height = (eprog->height<((eprog->padding+border)*2+5)) ? ((eprog->padding+border)*2+5) : eprog->height;
-
- g_free (eprog->buffer);
- eprog->buffer=g_new (guchar, eprog->width*eprog->height*4);
-
- eprog_clear (eprog);
- eprog_draw_border (eprog, eprog->red, eprog->green, eprog->blue);
-
- eprog->image = gdk_pixbuf_new_from_data (eprog->buffer,GDK_COLORSPACE_RGB, TRUE, 8, eprog->width, eprog->height, eprog->width*4, NULL, NULL);
-}
-
-/**
- * e_cell_progress_set_color:
- * @eprog: a fresh ECellProgress object
- * @red: the red component of the progress bars rgb color
- * @green: the green component of the progress bars rgb color
- * @blue: the blue component of the progress bars rgb color
- */
-void
-e_cell_progress_set_color (ECellProgress *eprog, guchar red, guchar green, guchar blue)
-{
- eprog->red = red;
- eprog->green = green;
- eprog->blue = blue;
-
- eprog_clear (eprog);
- eprog_draw_border (eprog, red, green, blue);
-}
diff --git a/widgets/table/e-cell-progress.h b/widgets/table/e-cell-progress.h
deleted file mode 100644
index 01a0d0b504..0000000000
--- a/widgets/table/e-cell-progress.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cell-progress.h - Progress display cell object.
- * Copyright 1999-2002, Ximian, Inc.
- * Copyright 2001, 2002, Krisztian Pifko <monsta@users.sourceforge.net>
- *
- * Authors:
- * Krisztian Pifko <monsta@users.sourceforge.net>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_CELL_PROGRESS_H_
-#define _E_CELL_PROGRESS_H_
-
-#include <libgnomecanvas/gnome-canvas.h>
-#include <gdk-pixbuf/gdk-pixbuf.h>
-#include <gal/e-table/e-cell.h>
-
-G_BEGIN_DECLS
-
-#define E_CELL_PROGRESS_TYPE (e_cell_progress_get_type ())
-#define E_CELL_PROGRESS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_CELL_PROGRESS_TYPE, ECellProgress))
-#define E_CELL_PROGRESS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_CELL_PROGRESS_TYPE, ECellProgressClass))
-#define E_IS_CELL_PROGRESS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_CELL_PROGRESS_TYPE))
-#define E_IS_CELL_PROGRESS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_CELL_PROGRESS_TYPE))
-
-typedef struct {
- ECell parent;
-
- int padding;
- int border;
- int min;
- int max;
- guchar red;
- guchar green;
- guchar blue;
-
- guchar *buffer;
- GdkPixbuf *image;
-
- int width;
- int height;
-} ECellProgress;
-
-typedef struct {
- ECellClass parent_class;
-} ECellProgressClass;
-
-GType e_cell_progress_get_type (void);
-ECell *e_cell_progress_new (int min, int max, int width, int height);
-void e_cell_progress_construct (ECellProgress *eprog, int padding, int border,
- int min, int max, int width, int height, guchar red, guchar green, guchar blue);
-void e_cell_progress_set_padding (ECellProgress *eprog, int padding);
-void e_cell_progress_set_border (ECellProgress *eprog, int border);
-void e_cell_progress_set_color (ECellProgress *eprog, guchar red, guchar green, guchar blue);
-
-G_END_DECLS
-
-#endif /* _E_CELL_PROGRESS_H_ */
-
-
diff --git a/widgets/table/e-cell-size.c b/widgets/table/e-cell-size.c
deleted file mode 100644
index 1ba8f6d2e6..0000000000
--- a/widgets/table/e-cell-size.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cell-size.c: Size item for e-table.
- * Copyright 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <sys/time.h>
-#include <unistd.h>
-#include <gal/util/e-util.h>
-#include "e-cell-size.h"
-
-#define PARENT_TYPE e_cell_text_get_type ()
-
-static ECellTextClass *parent_class;
-
-static char *
-ecd_get_text(ECellText *cell, ETableModel *model, int col, int row)
-{
- gint size = GPOINTER_TO_INT(e_table_model_value_at(model, col, row));
- gfloat fsize;
-
- if (size < 1024) {
- return g_strdup_printf ("%d bytes", size);
- } else {
- fsize = ((gfloat) size) / 1024.0;
- if (fsize < 1024.0) {
- return g_strdup_printf ("%d K", (int)fsize);
- } else {
- fsize /= 1024.0;
- return g_strdup_printf ("%.1f MB", fsize);
- }
- }
-}
-
-static void
-ecd_free_text(ECellText *cell, char *text)
-{
- g_free(text);
-}
-
-static void
-e_cell_size_class_init (GtkObjectClass *object_class)
-{
- ECellTextClass *ectc = (ECellTextClass *) object_class;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- ectc->get_text = ecd_get_text;
- ectc->free_text = ecd_free_text;
-}
-
-static void
-e_cell_size_init (GtkObject *object)
-{
-}
-
-/**
- * e_cell_size_new:
- * @fontname: font to be used to render on the screen
- * @justify: Justification of the string in the cell.
- *
- * Creates a new ECell renderer that can be used to render file sizes
- * that that come from the model. The value returned from the model
- * is interpreted as being a time_t.
- *
- * The ECellSize object support a large set of properties that can be
- * configured through the Gtk argument system and allows the user to
- * have a finer control of the way the string is displayed. The
- * arguments supported allow the control of strikeout, underline,
- * bold, color and a size filter.
- *
- * The arguments "strikeout_column", "underline_column", "bold_column"
- * and "color_column" set and return an integer that points to a
- * column in the model that controls these settings. So controlling
- * the way things are rendered is achieved by having special columns
- * in the model that will be used to flag whether the size should be
- * rendered with strikeout, underline, or bolded. In the case of the
- * "color_column" argument, the column in the model is expected to
- * have a string that can be parsed by gdk_color_parse().
- *
- * Returns: an ECell object that can be used to render file sizes. */
-ECell *
-e_cell_size_new (const char *fontname, GtkJustification justify)
-{
- ECellSize *ecd = g_object_new (E_CELL_SIZE_TYPE, NULL);
-
- e_cell_text_construct(E_CELL_TEXT(ecd), fontname, justify);
-
- return (ECell *) ecd;
-}
-
-E_MAKE_TYPE(e_cell_size, "ECellSize", ECellSize, e_cell_size_class_init, e_cell_size_init, PARENT_TYPE)
diff --git a/widgets/table/e-cell-size.h b/widgets/table/e-cell-size.h
deleted file mode 100644
index 744cc00a98..0000000000
--- a/widgets/table/e-cell-size.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cell-size.h: Size item for e-table.
- * Copyright 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-#ifndef _E_CELL_SIZE_H_
-#define _E_CELL_SIZE_H_
-
-#include <gal/e-table/e-cell-text.h>
-
-G_BEGIN_DECLS
-
-#define E_CELL_SIZE_TYPE (e_cell_size_get_type ())
-#define E_CELL_SIZE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_CELL_SIZE_TYPE, ECellSize))
-#define E_CELL_SIZE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_CELL_SIZE_TYPE, ECellSizeClass))
-#define E_IS_CELL_SIZE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_CELL_SIZE_TYPE))
-#define E_IS_CELL_SIZE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_CELL_SIZE_TYPE))
-
-typedef struct {
- ECellText base;
-} ECellSize;
-
-typedef struct {
- ECellTextClass parent_class;
-} ECellSizeClass;
-
-GType e_cell_size_get_type (void);
-ECell *e_cell_size_new (const char *fontname, GtkJustification justify);
-
-G_END_DECLS
-
-#endif /* _E_CELL_SIZE_H_ */
diff --git a/widgets/table/e-cell-spin-button.c b/widgets/table/e-cell-spin-button.c
deleted file mode 100644
index b2af02c44d..0000000000
--- a/widgets/table/e-cell-spin-button.c
+++ /dev/null
@@ -1,670 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cell-spin-button.c: Spin button item for e-table.
- * Copyright 2001, CodeFactory AB
- * Copyright 2001, Mikael Hallendal <micke@codefactory.se>
- *
- * Authors:
- * Mikael Hallendal <micke@codefactory.se>
- *
- * Celltype for drawing a spinbutton in a cell.
- *
- * Used ECellPopup by Damon Chaplin <damon@ximian.com> as base for
- * buttondrawings.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <gtk/gtksignal.h>
-#include <gal/e-table/e-table-item.h>
-#include <gal/e-table/e-table-model.h>
-#include <gal/e-table/e-cell-float.h>
-#include <gal/e-table/e-cell-number.h>
-#include <gal/util/e-util.h>
-#include "e-cell-spin-button.h"
-
-#define E_CELL_SPIN_BUTTON_ARROW_WIDTH 16
-#define PARENT_TYPE e_cell_get_type ()
-
-static void e_cell_spin_button_class_init (GObjectClass *klass);
-static void e_cell_spin_button_init (GtkObject *object);
-
-static void ecsb_dispose (GObject *object);
-
-/* ECell Functions */
-static ECellView * ecsb_new_view (ECell *ecell,
- ETableModel *etm,
- void *eti_view);
-static void ecsb_realize (ECellView *ecv);
-static void ecsb_kill_view (ECellView *ecv);
-static void ecsb_unrealize (ECellView *ecv);
-static void ecsb_draw (ECellView *ecv,
- GdkDrawable *drawable,
- int model_col,
- int view_col,
- int row,
- ECellFlags flags,
- int x1,
- int y1,
- int x2,
- int y2);
-
-static gint ecsb_event (ECellView *ecv,
- GdkEvent *event,
- int model_col,
- int view_col,
- int row,
- ECellFlags flags,
- ECellActions *actions);
-
-static gint ecsb_height (ECellView *ecv,
- int model_col,
- int view_col,
- int row);
-
-static void * ecsb_enter_edit (ECellView *ecv,
- int model_col,
- int view_col,
- int row);
-
-static void ecsb_leave_edit (ECellView *ecv,
- int model_col,
- int view_col,
- int row,
- void *context);
-static void ecsb_focus (ECellView *ecell_view,
- int model_col,
- int view_col,
- int row,
- int x1,
- int y1,
- int x2,
- int y2);
-static void ecsb_unfocus (ECellView *ecell_view);
-
-static void ecsb_show_tooltip (ECellView *ecv,
- int model_col,
- int view_col,
- int row,
- int col_width,
- ETableTooltip *tooltip);
-
-typedef struct {
- ECellView cell_view;
-
- ECellView *child_view;
-} ECellSpinButtonView;
-
-enum {
- STEP,
- LAST_SIGNAL
-};
-
-static guint signals[LAST_SIGNAL] = { 0 };
-static ECell *parent_class;
-
-static void
-e_cell_spin_button_class_init (GObjectClass *klass)
-{
- ECellClass *ecc = (ECellClass *) klass;
- ECellSpinButtonClass *ecsbc = (ECellSpinButtonClass *) klass;
-
- klass->dispose = ecsb_dispose;
-
- ecc->realize = ecsb_realize;
- ecc->unrealize = ecsb_unrealize;
- ecc->new_view = ecsb_new_view;
- ecc->kill_view = ecsb_kill_view;
- ecc->draw = ecsb_draw;
- ecc->event = ecsb_event;
- ecc->height = ecsb_height;
- ecc->enter_edit = ecsb_enter_edit;
- ecc->leave_edit = ecsb_leave_edit;
- ecc->focus = ecsb_focus;
- ecc->unfocus = ecsb_unfocus; ecc->print = NULL;
- ecc->print_height = NULL;
- ecc->max_width = NULL;
- ecc->show_tooltip = ecsb_show_tooltip;
-
- ecsbc->step = NULL;
-
- parent_class = g_type_class_ref (E_CELL_TYPE);
-
- signals[STEP] =
- g_signal_new ("step",
- G_OBJECT_CLASS_TYPE (klass),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ECellSpinButtonClass, step),
- NULL, NULL,
- e_marshal_NONE__POINTER_INT_INT_INT,
- G_TYPE_NONE,
- 4, G_TYPE_POINTER, G_TYPE_INT,
- G_TYPE_INT, G_TYPE_INT);
-}
-
-static void
-e_cell_spin_button_init (GtkObject *object)
-{
- ECellSpinButton *ecsb;
-
- g_return_if_fail (object != NULL);
- g_return_if_fail (M_IS_CELL_SPIN_BUTTON (object));
-
- ecsb = E_CELL_SPIN_BUTTON (object);
-
- ecsb->up_pressed = FALSE;
- ecsb->down_pressed = FALSE;
-}
-
-static ECellView *
-ecsb_new_view (ECell *ecell,
- ETableModel *etm,
- void *eti_view)
-{
- ECellSpinButton *ecsb = E_CELL_SPIN_BUTTON (ecell);
- ECellSpinButtonView *ecsb_view;
-
- g_return_val_if_fail (ecsb->child != NULL, NULL);
-
- ecsb_view = g_new0 (ECellSpinButtonView, 1);
-
- ecsb_view->cell_view.ecell = ecell;
- ecsb_view->cell_view.e_table_model = etm;
- ecsb_view->cell_view.e_table_item_view = eti_view;
-
- ecsb_view->child_view = e_cell_new_view (ecsb->child, etm, eti_view);
-
- return (ECellView *) ecsb_view;
-}
-
-static void
-ecsb_realize (ECellView *ecv)
-{
- ECellSpinButtonView *ecsb_view;
-
- g_return_if_fail (ecv != NULL);
-
- ecsb_view = (ECellSpinButtonView *) ecv;
-
- e_cell_realize (ecsb_view->child_view);
-}
-
-static void
-ecsb_kill_view (ECellView *ecv)
-{
- ECellSpinButtonView *ecsb_view;
-
- g_return_if_fail (ecv != NULL);
-
- ecsb_view = (ECellSpinButtonView *) ecv;
-
- if (ecsb_view->child_view) {
- e_cell_kill_view (ecsb_view->child_view);
- }
-
- g_free (ecsb_view);
-}
-
-static void
-ecsb_unrealize (ECellView *ecv)
-{
- ECellSpinButtonView *ecsb_view;
-
- g_return_if_fail (ecv != NULL);
-
- ecsb_view = (ECellSpinButtonView *) ecv;
-
- e_cell_unrealize (ecsb_view->child_view);
-}
-
-static void
-ecsb_draw (ECellView *ecv,
- GdkDrawable *drawable,
- int model_col,
- int view_col,
- int row,
- ECellFlags flags,
- int x1,
- int y1,
- int x2,
- int y2)
-{
- ECellSpinButton *ecsb;
- ECellSpinButtonView *ecsb_view;
- ETableItem *eti;
- GtkWidget *canvas;
- GtkShadowType shadow = GTK_SHADOW_OUT;
- GdkRectangle rect;
-
- g_return_if_fail (ecv != NULL);
-
- ecsb_view = (ECellSpinButtonView *) ecv;
- ecsb = E_CELL_SPIN_BUTTON (ecsb_view->cell_view.ecell);
-
- eti = E_TABLE_ITEM (ecsb_view->cell_view.e_table_item_view);
- canvas = GTK_WIDGET (GNOME_CANVAS_ITEM (eti)->canvas);
-
- if (eti->editing_col == view_col &&
- eti->editing_row == row) {
-
- /* Draw child (Whats shown under the buttons) */
- e_cell_draw (ecsb_view->child_view,
- drawable, model_col, view_col,
- row, flags,
- x1, y1,
- x2 - E_CELL_SPIN_BUTTON_ARROW_WIDTH, y2);
-
- /* Draw down-arrow */
- rect.x = x2 - E_CELL_SPIN_BUTTON_ARROW_WIDTH;
- rect.y = y1 + (y2 - y1) / 2;
- rect.width = E_CELL_SPIN_BUTTON_ARROW_WIDTH;
- rect.height = (y2 - y1) / 2;
-
- if (ecsb->down_pressed) {
- shadow = GTK_SHADOW_IN;
- } else {
- shadow = GTK_SHADOW_OUT;
- }
-
- gtk_paint_box (canvas->style, drawable,
- GTK_STATE_NORMAL, shadow,
- &rect, canvas, "ecellspinbutton_down",
- rect.x, rect.y, rect.width, rect.height);
-
- gtk_paint_arrow (canvas->style, drawable,
- GTK_STATE_NORMAL, GTK_SHADOW_NONE,
- &rect, canvas, NULL,
- GTK_ARROW_DOWN, TRUE,
- rect.x,
- rect.y,
- rect.width,
- rect.height);
-
- /* Draw up-arrow */
- rect.y = y1;
-
- if (ecsb->up_pressed) {
- shadow = GTK_SHADOW_IN;
- } else {
- shadow = GTK_SHADOW_OUT;
- }
-
- gtk_paint_box (canvas->style, drawable,
- GTK_STATE_NORMAL, shadow,
- &rect, canvas, "ecellspinbutton_up",
- rect.x, rect.y, rect.width, rect.height);
-
- gtk_paint_arrow (canvas->style, drawable,
- GTK_STATE_NORMAL, GTK_SHADOW_NONE,
- &rect, canvas, NULL,
- GTK_ARROW_UP, TRUE,
- rect.x,
- rect.y,
- rect.width,
- rect.height);
- } else {
- /* Draw child */
- e_cell_draw (ecsb_view->child_view,
- drawable, model_col, view_col,
- row, flags,
- x1, y1,
- x2, y2);
- }
-}
-
-static gint
-ecsb_event (ECellView *ecv,
- GdkEvent *event,
- int model_col,
- int view_col,
- int row,
- ECellFlags flags,
- ECellActions *actions)
-{
- ECellSpinButton *ecsb;
- ECellSpinButtonClass *ecsb_class;
- ECellSpinButtonView *ecsb_view;
- ETableItem *eti;
- gint height, width;
-
- g_return_val_if_fail (ecv != NULL, FALSE);
-
- ecsb_view = (ECellSpinButtonView *) ecv;
- ecsb = E_CELL_SPIN_BUTTON (ecsb_view->cell_view.ecell);
- ecsb_class = E_CELL_SPIN_BUTTON_CLASS (GTK_OBJECT_GET_CLASS (ecsb));
- eti = E_TABLE_ITEM (ecsb_view->cell_view.e_table_item_view);
-
- switch (event->type) {
- case GDK_BUTTON_PRESS:
- if (eti->editing_col == view_col &&
- eti->editing_row == row) {
- width = e_table_header_col_diff (eti->header,
- view_col,
- view_col + 1);
- height = e_table_item_row_diff (eti, row, row + 1);
-
- /* Check if inside a button */
- if (event->button.x >= width - E_CELL_SPIN_BUTTON_ARROW_WIDTH) {
- /* Yep, which one? */
- if (event->button.y <= height / 2) {
- ecsb->up_pressed = TRUE;
- g_signal_emit (ecsb,
- signals[STEP], 0,
- ecv,
- STEP_UP,
- view_col,
- row);
- } else {
- ecsb->down_pressed = TRUE;
- g_signal_emit (ecsb,
- signals[STEP], 0,
- ecv,
- STEP_DOWN,
- view_col,
- row);
- }
-
- e_table_item_redraw_range (eti,
- view_col,
- row,
- view_col,
- row);
-
- }
- }
-
- break;
- case GDK_BUTTON_RELEASE:
- ecsb->up_pressed = FALSE;
- ecsb->down_pressed = FALSE;
- e_table_item_redraw_range (eti,
- view_col,
- row,
- view_col,
- row);
- break;
- case GDK_KEY_PRESS:
- break;
- default:
- break;
- }
-
- return e_cell_event (ecsb_view->child_view, event, model_col,
- view_col, row, flags, actions);
-}
-
-static gint
-ecsb_height (ECellView *ecv,
- int model_col,
- int view_col,
- int row)
-{
- ECellSpinButtonView *ecsb_view;
-
- g_return_val_if_fail (ecv != NULL, -1);
-
- ecsb_view = (ECellSpinButtonView *) ecv;
-
- return e_cell_height (ecsb_view->child_view, model_col, view_col, row);
-}
-
-static void *
-ecsb_enter_edit (ECellView *ecv,
- int model_col,
- int view_col,
- int row)
-{
- ECellSpinButtonView *ecsb_view;
-
- g_return_val_if_fail (ecv != NULL, NULL);
-
- ecsb_view = (ECellSpinButtonView *) ecv;
-
- return e_cell_enter_edit (ecsb_view->child_view, model_col,
- view_col, row);
-}
-
-
-static void
-ecsb_leave_edit (ECellView *ecv,
- int model_col,
- int view_col,
- int row,
- void *context)
-{
- ECellSpinButtonView *ecsb_view;
-
- g_return_if_fail (ecv != NULL);
-
- ecsb_view = (ECellSpinButtonView *) ecv;
-
- e_cell_leave_edit (ecsb_view->child_view, model_col, view_col,
- row, context);
-}
-
-static void
-ecsb_focus (ECellView *ecell_view,
- int model_col,
- int view_col,
- int row,
- int x1,
- int y1,
- int x2,
- int y2)
-{
- ECellClass *klass;
- ECellSpinButtonView *ecsb_view;
-
- ecsb_view = (ECellSpinButtonView *) ecell_view;
-
- klass = E_CELL_GET_CLASS (ecell_view->ecell);
-
- if (klass->focus)
- klass->focus (ecell_view, model_col, view_col, row,
- x1, y1, x2, y2);
-}
-
-static void
-ecsb_unfocus (ECellView *ecell_view)
-{
- ECellClass *klass;
- ECellSpinButtonView *ecsb_view;
-
- ecsb_view = (ECellSpinButtonView *) ecell_view;
- klass = E_CELL_GET_CLASS (ecell_view->ecell);
-
- if (klass->unfocus)
- klass->unfocus (ecell_view);
-}
-
-static void
-ecsb_show_tooltip (ECellView *ecv,
- int model_col,
- int view_col,
- int row,
- int col_width,
- ETableTooltip *tooltip)
-{
- ECellSpinButtonView *ecsb_view;
-
- g_return_if_fail (ecv != NULL);
-
- ecsb_view = (ECellSpinButtonView *) ecv;
-
- e_cell_show_tooltip (ecsb_view->child_view, model_col, view_col,
- row, col_width, tooltip);
-}
-
-static void
-ecsb_dispose (GObject *object)
-{
- ECellSpinButton *mcsp;
-
- g_return_if_fail (object != NULL);
- g_return_if_fail (M_IS_CELL_SPIN_BUTTON (object));
-
- mcsp = E_CELL_SPIN_BUTTON (object);
-
- G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-ECell *
-e_cell_spin_button_new (gint min,
- gint max,
- gint step,
- ECell *child_cell)
-{
- ECellSpinButton *ecsb;
-
- ecsb = g_object_new (E_CELL_SPIN_BUTTON_TYPE, NULL);
-
- if (!child_cell) {
- child_cell = e_cell_number_new (NULL,
- GTK_JUSTIFY_LEFT);
-
- g_signal_connect (ecsb, "step",
- G_CALLBACK (e_cell_spin_button_step),
- NULL);
- }
-
- ecsb->child = child_cell;
- ecsb->min.i = min;
- ecsb->max.i = max;
- ecsb->step.i = step;
-
- return E_CELL (ecsb);
-}
-
-ECell *
-e_cell_spin_button_new_float (gfloat min,
- gfloat max,
- gfloat step,
- ECell *child_cell)
-{
- ECellSpinButton *ecsb;
-
- ecsb = g_object_new (E_CELL_SPIN_BUTTON_TYPE, NULL);
-
- if (!child_cell) {
- child_cell = e_cell_float_new (NULL, GTK_JUSTIFY_LEFT);
- g_signal_connect (ecsb, "step",
- G_CALLBACK (e_cell_spin_button_step_float),
- NULL);
- }
-
- ecsb->child = child_cell;
- ecsb->min.f = min;
- ecsb->max.f = max;
- ecsb->step.f = step;
-
- return E_CELL (ecsb);
-}
-
-void
-e_cell_spin_button_step (ECellSpinButton *ecsb,
- ECellView *ecv,
- ECellSpinButtonStep direction,
- gint col,
- gint row)
-{
- ECellSpinButtonView *ecsb_view;
-
- ETableModel *etm;
- gint value;
- gint new_value;
- gchar *str_value;
-
- g_return_if_fail (ecsb != NULL);
- g_return_if_fail (M_IS_CELL_SPIN_BUTTON (ecsb));
- g_return_if_fail (ecv != NULL);
-
- ecsb_view = (ECellSpinButtonView *) ecv;
- etm = ecsb_view->cell_view.e_table_model;
-
- value = GPOINTER_TO_INT (e_table_model_value_at (etm, col, row));
- new_value = value;
-
- switch (direction) {
- case STEP_UP:
- new_value = CLAMP (value + ecsb->step.i,
- ecsb->min.i, ecsb->max.i);
- break;
- case STEP_DOWN:
- new_value = CLAMP (value - ecsb->step.i,
- ecsb->min.i, ecsb->max.i);
- break;
- default:
- break;
- };
-
- str_value = g_strdup_printf ("%d", new_value);
-
- e_table_model_set_value_at (etm, col, row, str_value);
-
- g_free (str_value);
-}
-
-void
-e_cell_spin_button_step_float (ECellSpinButton *ecsb,
- ECellView *ecv,
- ECellSpinButtonStep direction,
- gint col,
- gint row)
-{
- ECellSpinButtonView *ecsb_view;
-
- ETableModel *etm;
- gfloat value;
- gfloat new_value;
- gchar *str_value;
-
- g_return_if_fail (ecsb != NULL);
- g_return_if_fail (M_IS_CELL_SPIN_BUTTON (ecsb));
- g_return_if_fail (ecv != NULL);
-
- ecsb_view = (ECellSpinButtonView *) ecv;
- etm = ecsb_view->cell_view.e_table_model;
-
- value = *(gfloat *) e_table_model_value_at (etm, col, row);
-
- switch (direction) {
- case STEP_UP:
- new_value = CLAMP (value + ecsb->step.f,
- ecsb->min.f, ecsb->max.f);
- break;
- case STEP_DOWN:
- new_value = CLAMP (value - ecsb->step.f,
- ecsb->min.f, ecsb->max.f);
- break;
- default:
- new_value = value;
- break;
- };
-
- str_value = g_strdup_printf ("%f", new_value);
-
- e_table_model_set_value_at (etm, col, row, str_value);
-
- g_free (str_value);
-}
-
-E_MAKE_TYPE (e_cell_spin_button, "ECellSpinButton", ECellSpinButton,
- e_cell_spin_button_class_init, e_cell_spin_button_init,
- PARENT_TYPE)
-
diff --git a/widgets/table/e-cell-spin-button.h b/widgets/table/e-cell-spin-button.h
deleted file mode 100644
index 4326c0429c..0000000000
--- a/widgets/table/e-cell-spin-button.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cell-spin-button.h: Spin button item for e-table.
- * Copyright 2001, CodeFactory AB
- * Copyright 2001, Mikael Hallendal <micke@codefactory.se>
- *
- * Authors:
- * Mikael Hallendal <micke@codefactory.se>
- *
- * Celltype for drawing a spinbutton in a cell.
- *
- * Used ECellPopup by Damon Chaplin <damon@ximian.com> as base for
- * buttondrawings.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef __E_CELL_SPIN_BUTTON_H__
-#define __E_CELL_SPIN_BUTTON_H__
-
-#include <glib.h>
-#include <gtk/gtktypeutils.h>
-#include <gal/e-table/e-cell.h>
-
-#define E_CELL_SPIN_BUTTON_TYPE (e_cell_spin_button_get_type ())
-#define E_CELL_SPIN_BUTTON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_CELL_SPIN_BUTTON_TYPE, ECellSpinButton))
-#define E_CELL_SPIN_BUTTON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_CELL_SPIN_BUTTON_TYPE, ECellSpinButtonClass))
-#define M_IS_CELL_SPIN_BUTTON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_CELL_SPIN_BUTTON_TYPE))
-#define M_IS_CELL_SPIN_BUTTON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_CELL_SPIN_BUTTON_TYPE))
-
-typedef union {
- gint i;
- gfloat f;
-} ECellSpinButtonData;
-
-typedef enum {
- STEP_UP,
- STEP_DOWN
-} ECellSpinButtonStep;
-
-typedef struct {
- ECell parent;
-
- ECell *child;
-
- ECellSpinButtonData min;
- ECellSpinButtonData max;
- ECellSpinButtonData step;
-
- gboolean up_pressed;
- gboolean down_pressed;
-
-} ECellSpinButton;
-
-typedef struct {
- ECellClass parent_class;
-
- /* Functions */
- void (*step) (ECellSpinButton *mcsb,
- ECellView *ecv,
- ECellSpinButtonStep direction,
- gint col,
- gint row);
-} ECellSpinButtonClass;
-
-GType e_cell_spin_button_get_type (void);
-ECell * e_cell_spin_button_new (gint min,
- gint max,
- gint step,
- ECell *child_cell);
-
-ECell * e_cell_spin_button_new_float (gfloat min,
- gfloat max,
- gfloat step,
- ECell *child_cell);
-
-
-void e_cell_spin_button_step (ECellSpinButton *mcsb,
- ECellView *ecv,
- ECellSpinButtonStep direction,
- gint col,
- gint row);
-
-void e_cell_spin_button_step_float (ECellSpinButton *mcsb,
- ECellView *ecv,
- ECellSpinButtonStep direction,
- gint col,
- gint row);
-
-#endif /* __E_CELL_SPIN_BUTTON__ */
-
diff --git a/widgets/table/e-cell-text.c b/widgets/table/e-cell-text.c
deleted file mode 100644
index 00292254e9..0000000000
--- a/widgets/table/e-cell-text.c
+++ /dev/null
@@ -1,2865 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cell-text.c: Text cell renderer.
- * Copyright 1999, 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza <miguel@ximian.com>
- * Chris Lahey <clahey@ximian.com>
- *
- * A lot of code taken from:
- *
- * Text item type for GnomeCanvas widget
- *
- * GnomeCanvas is basically a port of the Tk toolkit's most excellent
- * canvas widget. Tk is copyrighted by the Regents of the University
- * of California, Sun Microsystems, and other parties.
- *
- * Copyright (C) 1998 The Free Software Foundation
- *
- * Author: Federico Mena <federico@nuclecu.unam.mx>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <math.h>
-#include <string.h>
-#include <gdk/gdkx.h> /* for BlackPixel */
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtk.h>
-#include <libgnomecanvas/gnome-canvas.h>
-#include <libgnomecanvas/gnome-canvas-rect-ellipse.h>
-#include "e-cell-text.h"
-#include "gal/util/e-util.h"
-#include "gal/widgets/e-canvas.h"
-#include "gal/widgets/e-unicode.h"
-#include "e-table-item.h"
-#include "gal/util/e-text-event-processor.h"
-#include "gal/e-text/e-text.h"
-#include "gal/util/e-text-event-processor-emacs-like.h"
-#include "gal/util/e-i18n.h"
-#include "e-table-tooltip.h"
-#include "gal/a11y/e-table/gal-a11y-e-cell-registry.h"
-#include "gal/a11y/e-table/gal-a11y-e-cell-text.h"
-
-#define d(x)
-#define DO_SELECTION 1
-#define VIEW_TO_CELL(view) E_CELL_TEXT (((ECellView *)view)->ecell)
-
-#if d(!)0
-#define e_table_item_leave_edit_(x) (e_table_item_leave_edit((x)), g_print ("%s: e_table_item_leave_edit\n", __FUNCTION__))
-#else
-#define e_table_item_leave_edit_(x) (e_table_item_leave_edit((x)))
-#endif
-
-#define ECT_CLASS(c) (E_CELL_TEXT_CLASS(GTK_OBJECT_GET_CLASS ((c))))
-
-/* This defines a line of text */
-struct line {
- char *text; /* Line's text UTF-8, it is a pointer into the text->text string */
- int length; /* Line's length in BYTES */
- int width; /* Line's width in pixels */
- int ellipsis_length; /* Length before adding ellipsis in BYTES */
-};
-
-/* Object argument IDs */
-enum {
- PROP_0,
-
- PROP_STRIKEOUT_COLUMN,
- PROP_UNDERLINE_COLUMN,
- PROP_BOLD_COLUMN,
- PROP_COLOR_COLUMN,
- PROP_EDITABLE,
- PROP_BG_COLOR_COLUMN
-};
-
-
-enum {
- E_SELECTION_PRIMARY,
- E_SELECTION_CLIPBOARD
-};
-
-/* signals */
-enum {
- TEXT_INSERTED,
- TEXT_DELETED,
- LAST_SIGNAL
-};
-
-static guint signals [LAST_SIGNAL] = { 0 };
-
-static GdkAtom clipboard_atom = GDK_NONE;
-
-#define PARENT_TYPE e_cell_get_type ()
-
-#define UTF8_ATOM gdk_atom_intern ("UTF8_STRING", FALSE)
-
-#define TEXT_PAD 4
-
-typedef struct {
- gpointer lines; /* Text split into lines (private field) */
- int num_lines; /* Number of lines of text */
- int max_width;
- int ref_count;
-} ECellTextLineBreaks;
-
-
-typedef struct _CellEdit CellEdit;
-
-typedef struct {
- ECellView cell_view;
- GdkGC *gc;
- GdkCursor *i_cursor;
- GdkBitmap *stipple; /* Stipple for text */
-
- GnomeCanvas *canvas;
-
- /*
- * During editing.
- */
- CellEdit *edit;
-
-
- int xofs, yofs; /* This gets added to the x
- and y for the cell text. */
- double ellipsis_width[2]; /* The width of the ellipsis. */
-
-} ECellTextView;
-
-struct _CellEdit {
-
- ECellTextView *text_view;
-
- int model_col, view_col, row;
- int cell_width;
-
- PangoLayout *layout;
-
- char *text;
-
- char *old_text;
-
- /*
- * Where the editing is taking place
- */
-
- int xofs_edit, yofs_edit; /* Offset because of editing.
- This is negative compared
- to the other offsets. */
-
- /* This needs to be reworked a bit once we get line wrapping. */
- int selection_start; /* Start of selection - IN BYTES */
- int selection_end; /* End of selection - IN BYTES */
- gboolean select_by_word; /* Current selection is by word */
-
- /* This section is for drag scrolling and blinking cursor. */
- /* Cursor handling. */
- gint timeout_id; /* Current timeout id for scrolling */
- GTimer *timer; /* Timer for blinking cursor and scrolling */
-
- gint lastx, lasty; /* Last x and y motion events */
- gint last_state; /* Last state */
- gulong scroll_start; /* Starting time for scroll (microseconds) */
-
- gint show_cursor; /* Is cursor currently shown */
- gboolean button_down; /* Is mouse button 1 down */
-
- ETextEventProcessor *tep; /* Text Event Processor */
-
- GtkWidget *invisible; /* For selection handling */
- gboolean has_selection; /* TRUE if we have the selection */
- gchar *primary_selection; /* Primary selection text */
- gint primary_length; /* Primary selection text length in BYTES */
- gchar *clipboard_selection; /* Clipboard selection text */
- gint clipboard_length; /* Clipboard selection text length in BYTES */
-
- guint pointer_in : 1;
- guint default_cursor_shown : 1;
- GtkIMContext *im_context;
- gboolean need_im_reset;
- gboolean im_context_signals_registered;
-
- guint16 preedit_length; /* length of preedit string, in bytes */
-
- ECellActions actions;
-};
-
-static void e_cell_text_view_command (ETextEventProcessor *tep, ETextEventProcessorCommand *command, gpointer data);
-
-static void e_cell_text_view_get_selection (CellEdit *edit, GdkAtom selection, guint32 time);
-static void e_cell_text_view_supply_selection (CellEdit *edit, guint time, GdkAtom selection, char *data, gint length);
-
-static void _get_tep (CellEdit *edit);
-
-static gint get_position_from_xy (CellEdit *edit, gint x, gint y);
-static gboolean _blink_scroll_timeout (gpointer data);
-
-static void ect_free_color (gchar *color_spec, GdkColor *color, GdkColormap *colormap);
-static GdkColor* e_cell_text_get_color (ECellTextView *cell_view, gchar *color_spec);
-static void e_cell_text_preedit_changed_cb (GtkIMContext *context, ECellTextView *text_view);
-static void e_cell_text_commit_cb (GtkIMContext *context, const gchar *str, ECellTextView *text_view);
-static gboolean e_cell_text_retrieve_surrounding_cb (GtkIMContext *context, ECellTextView *text_view);
-static gboolean e_cell_text_delete_surrounding_cb (GtkIMContext *context, gint offset, gint n_chars, ECellTextView *text_view);
-static void _insert (ECellTextView *text_view, char *string, int value);
-static void _delete_selection (ECellTextView *text_view);
-static PangoAttrList* build_attr_list (ECellTextView *text_view, int row, int text_length);
-
-static ECellClass *parent_class;
-
-char *
-e_cell_text_get_text (ECellText *cell, ETableModel *model, int col, int row)
-{
- if (ECT_CLASS(cell)->get_text)
- return ECT_CLASS(cell)->get_text (cell, model, col, row);
- else
- return NULL;
-}
-
-void
-e_cell_text_free_text (ECellText *cell, char *text)
-{
- if (ECT_CLASS(cell)->free_text)
- ECT_CLASS(cell)->free_text (cell, text);
-}
-
-void
-e_cell_text_set_value (ECellText *cell, ETableModel *model, int col, int row,
- const char *text)
-{
- if (ECT_CLASS(cell)->set_value)
- ECT_CLASS(cell)->set_value (cell, model, col, row, text);
-}
-
-static char *
-ect_real_get_text (ECellText *cell, ETableModel *model, int col, int row)
-{
- return e_table_model_value_at(model, col, row);
-}
-
-static void
-ect_real_free_text (ECellText *cell, char *text)
-{
-}
-
-/* This is the default method for setting the ETableModel value based on
- the text in the ECellText. This simply uses the text as it is - it assumes
- the value in the model is a char*. Subclasses may parse the text into
- data structures to pass to the model. */
-static void
-ect_real_set_value (ECellText *cell, ETableModel *model, int col, int row,
- const char *text)
-{
- e_table_model_set_value_at (model, col, row, text);
-}
-
-static void
-ect_queue_redraw (ECellTextView *text_view, int view_col, int view_row)
-{
- e_table_item_redraw_range (
- text_view->cell_view.e_table_item_view,
- view_col, view_row, view_col, view_row);
-}
-
-/*
- * Shuts down the editing process
- */
-static void
-ect_stop_editing (ECellTextView *text_view, gboolean commit)
-{
- CellEdit *edit = text_view->edit;
- int row, view_col, model_col;
- char *old_text, *text;
-
- if (!edit)
- return;
-
- row = edit->row;
- view_col = edit->view_col;
- model_col = edit->model_col;
-
- old_text = edit->old_text;
- text = edit->text;
- if (edit->invisible)
- gtk_widget_destroy (edit->invisible);
- if (edit->tep)
- g_object_unref (edit->tep);
- if (edit->primary_selection)
- g_free (edit->primary_selection);
- if (edit->clipboard_selection)
- g_free (edit->clipboard_selection);
- if (! edit->default_cursor_shown){
- gdk_window_set_cursor (GTK_WIDGET(text_view->canvas)->window, NULL);
- edit->default_cursor_shown = TRUE;
- }
- if (edit->timeout_id) {
- g_source_remove (edit->timeout_id);
- edit->timeout_id = 0;
- }
- if (edit->timer) {
- g_timer_stop (edit->timer);
- g_timer_destroy (edit->timer);
- edit->timer = NULL;
- }
-
- g_signal_handlers_disconnect_matched (
- edit->im_context,
- G_SIGNAL_MATCH_DATA, 0, 0,
- NULL, NULL, text_view);
-
- if (edit->layout)
- g_object_unref (edit->layout);
-
- g_free (edit);
-
- text_view->edit = NULL;
- if (commit) {
- /*
- * Accept the currently edited text. if it's the same as what's in the cell, do nothing.
- */
- ECellView *ecell_view = (ECellView *) text_view;
- ECellText *ect = (ECellText *) ecell_view->ecell;
-
- if (strcmp (old_text, text)) {
- e_cell_text_set_value (ect, ecell_view->e_table_model,
- model_col, row, text);
- }
- }
- g_free (text);
- g_free (old_text);
-
- ect_queue_redraw (text_view, view_col, row);
-}
-
-/*
- * Cancels the edits
- */
-static void
-ect_cancel_edit (ECellTextView *text_view)
-{
- ect_stop_editing (text_view, FALSE);
- e_table_item_leave_edit_ (text_view->cell_view.e_table_item_view);
-}
-
-/*
- * ECell::new_view method
- */
-static ECellView *
-ect_new_view (ECell *ecell, ETableModel *table_model, void *e_table_item_view)
-{
- ECellTextView *text_view = g_new0 (ECellTextView, 1);
- GnomeCanvas *canvas = GNOME_CANVAS_ITEM (e_table_item_view)->canvas;
-
- text_view->cell_view.ecell = ecell;
- text_view->cell_view.e_table_model = table_model;
- text_view->cell_view.e_table_item_view = e_table_item_view;
-
- text_view->canvas = canvas;
-
- text_view->xofs = 0.0;
- text_view->yofs = 0.0;
-
- return (ECellView *)text_view;
-}
-
-/*
- * ECell::kill_view method
- */
-static void
-ect_kill_view (ECellView *ecv)
-{
- ECellTextView *text_view = (ECellTextView *) ecv;
-
- g_free (text_view);
-}
-
-/*
- * ECell::realize method
- */
-static void
-ect_realize (ECellView *ecell_view)
-{
- ECellTextView *text_view = (ECellTextView *) ecell_view;
-
- text_view->gc = gdk_gc_new (GTK_WIDGET (text_view->canvas)->window);
-
- text_view->i_cursor = gdk_cursor_new (GDK_XTERM);
-
- if (parent_class->realize)
- (* parent_class->realize) (ecell_view);
-}
-
-/*
- * ECell::unrealize method
- */
-static void
-ect_unrealize (ECellView *ecv)
-{
- ECellTextView *text_view = (ECellTextView *) ecv;
- ECellText *ect = (ECellText*) ecv->ecell;
- GdkColormap *colormap;
-
- gdk_gc_unref (text_view->gc);
- text_view->gc = NULL;
-
- if (text_view->edit){
- ect_cancel_edit (text_view);
- }
-
- if (text_view->stipple)
- gdk_bitmap_unref (text_view->stipple);
-
- gdk_cursor_destroy (text_view->i_cursor);
-
- if (ect->colors) {
- colormap = gtk_widget_get_colormap (GTK_WIDGET (text_view->canvas));
- g_hash_table_foreach (ect->colors, (GHFunc) ect_free_color,
- colormap);
- g_hash_table_destroy (ect->colors);
- ect->colors = NULL;
- }
-
- if (parent_class->unrealize)
- (* parent_class->unrealize) (ecv);
-}
-
-static void
-ect_free_color (gchar *color_spec, GdkColor *color, GdkColormap *colormap)
-{
- g_free (color_spec);
-
- /* This frees the color. Note we don't free it if it is the special
- value. */
- if (color != (GdkColor*) 1) {
- gulong pix = color->pixel;
-
- gdk_colors_free (colormap, &pix, 1, 0);
-
- /* This frees the memory for the GdkColor. */
- gdk_color_free (color);
- }
-}
-
-
-static PangoAttrList*
-build_attr_list (ECellTextView *text_view, int row, int text_length)
-{
-
- ECellView *ecell_view = (ECellView *) text_view;
- ECellText *ect = E_CELL_TEXT (ecell_view->ecell);
- PangoAttrList *attrs = pango_attr_list_new ();
- gboolean bold, strikeout, underline;
-
- bold = ect->bold_column >= 0 &&
- row >= 0 &&
- e_table_model_value_at(ecell_view->e_table_model, ect->bold_column, row);
- strikeout = ect->strikeout_column >= 0 &&
- row >= 0 &&
- e_table_model_value_at(ecell_view->e_table_model, ect->strikeout_column, row);
- underline = ect->underline_column >= 0 &&
- row >= 0 &&
- e_table_model_value_at(ecell_view->e_table_model, ect->underline_column, row);
-
- if (bold || strikeout || underline) {
- if (bold) {
- PangoAttribute *attr = pango_attr_weight_new (PANGO_WEIGHT_BOLD);
- attr->start_index = 0;
- attr->end_index = text_length;
-
- pango_attr_list_insert_before (attrs, attr);
- }
- if (strikeout) {
- PangoAttribute *attr = pango_attr_strikethrough_new (TRUE);
- attr->start_index = 0;
- attr->end_index = text_length;
-
- pango_attr_list_insert_before (attrs, attr);
- }
- if (underline) {
- PangoAttribute *attr = pango_attr_underline_new (TRUE);
- attr->start_index = 0;
- attr->end_index = text_length;
-
- pango_attr_list_insert_before (attrs, attr);
- }
- }
- return attrs;
-}
-
-static PangoLayout *
-layout_with_preedit (ECellTextView *text_view, int row, const char *text, gint width)
-{
- CellEdit *edit = text_view->edit;
- PangoAttrList *attrs ;
- PangoLayout *layout;
- GString *tmp_string = g_string_new (NULL);
- PangoAttrList *preedit_attrs = NULL;
- gchar *preedit_string = NULL;
- gint preedit_length = 0;
- gint text_length = strlen (text);
- gint mlen = MIN(edit->selection_start,text_length);
-
-
- gtk_im_context_get_preedit_string (edit->im_context,
- &preedit_string,&preedit_attrs,
- NULL);
- preedit_length = edit->preedit_length = strlen (preedit_string);;
-
- layout = edit->layout;
-
- g_string_prepend_len (tmp_string, text,text_length);
-
- if (preedit_length) {
-
- /* mlen is the text_length in bytes, not chars
- * check whether we are not inserting into
- * the middle of a utf8 character
- */
-
- if (mlen < text_length) {
- if (!g_utf8_validate (text+mlen, -1, NULL)) {
- gchar *tc;
- tc = g_utf8_find_next_char (text+mlen,NULL);
- if (tc) {
- mlen = (gint) (tc - text);
- }
- }
- }
-
- g_string_insert (tmp_string, mlen, preedit_string);
- }
-
- pango_layout_set_text (layout, tmp_string->str, tmp_string->len);
-
- attrs = (PangoAttrList *) build_attr_list (text_view, row, text_length);
-
- if (preedit_length)
- pango_attr_list_splice (attrs, preedit_attrs, mlen, preedit_length);
- pango_layout_set_attributes (layout, attrs);
- g_string_free (tmp_string, TRUE);
- if (preedit_string)
- g_free (preedit_string);
- if (preedit_attrs)
- pango_attr_list_unref (preedit_attrs);
- pango_attr_list_unref (attrs);
- return layout;
-}
-
-static PangoLayout *
-build_layout (ECellTextView *text_view, int row, const char *text, gint width)
-{
- ECellView *ecell_view = (ECellView *) text_view;
- ECellText *ect = E_CELL_TEXT (ecell_view->ecell);
- PangoAttrList *attrs ;
- PangoLayout *layout;
-
- layout = gtk_widget_create_pango_layout (GTK_WIDGET (((GnomeCanvasItem *)ecell_view->e_table_item_view)->canvas), text);
-
- attrs = (PangoAttrList *) build_attr_list (text_view, row, text ? strlen (text) : 0);
-
- pango_layout_set_attributes (layout, attrs);
- pango_attr_list_unref (attrs);
-
- if (text_view->edit || width <= 0)
- return layout;
-
- pango_layout_set_width (layout, width * PANGO_SCALE);
- pango_layout_set_wrap (layout, PANGO_WRAP_CHAR);
-
- if (pango_layout_get_line_count (layout) > 1) {
- PangoLayoutLine *line = pango_layout_get_line (layout, 0);
- gchar *line_text = g_strdup (pango_layout_get_text (layout));
- gchar *last_char = g_utf8_find_prev_char (line_text, line_text + line->length - 1);
- while (last_char && pango_layout_get_line_count (layout) > 1) {
- gchar *new_text;
- last_char = g_utf8_find_prev_char (line_text, last_char);
- if (last_char)
- *last_char = '\0';
- new_text = g_strconcat (line_text, "...", NULL);
- pango_layout_set_text (layout, new_text, -1);
- g_free (new_text);
- }
- g_free (line_text);
- }
-
- switch (ect->justify) {
- case GTK_JUSTIFY_RIGHT:
- pango_layout_set_alignment (layout, PANGO_ALIGN_RIGHT);
- break;
- case GTK_JUSTIFY_CENTER:
- pango_layout_set_alignment (layout, PANGO_ALIGN_CENTER);
- break;
- case GTK_JUSTIFY_LEFT:
- default:
- break;
- }
-
- return layout;
-}
-
-static PangoLayout *
-generate_layout (ECellTextView *text_view, int model_col, int view_col, int row, int width)
-{
- ECellView *ecell_view = (ECellView *) text_view;
- ECellText *ect = E_CELL_TEXT (ecell_view->ecell);
- PangoLayout *layout;
- CellEdit *edit = text_view->edit;
-
- if (edit && edit->layout && edit->model_col == model_col && edit->row == row) {
- g_object_ref (edit->layout);
- return edit->layout;
- }
-
- if (row >= 0) {
- char *temp = e_cell_text_get_text(ect, ecell_view->e_table_model, model_col, row);
- layout = build_layout (text_view, row, temp ? temp : "?", width);
- e_cell_text_free_text(ect, temp);
- } else
- layout = build_layout (text_view, row, "Mumbo Jumbo", width);
-
- return layout;
-}
-
-
-static void
-draw_pango_rectangle (GdkDrawable *drawable, GdkGC *gc, int x1, int y1, PangoRectangle rect)
-{
- int width = rect.width / PANGO_SCALE;
- int height = rect.height / PANGO_SCALE;
- if (width <= 0)
- width = 1;
- if (height <= 0)
- height = 1;
- gdk_draw_rectangle (drawable, gc, TRUE,
- x1 + rect.x / PANGO_SCALE, y1 + rect.y / PANGO_SCALE, width, height);
-}
-
-static gboolean
-show_pango_rectangle (CellEdit *edit, PangoRectangle rect)
-{
- int x1 = rect.x / PANGO_SCALE;
- int x2 = (rect.x + rect.width) / PANGO_SCALE;
-#if 0
- int y1 = rect.y / PANGO_SCALE;
- int y2 = (rect.y + rect.height) / PANGO_SCALE;
-#endif
-
- int new_xofs_edit = edit->xofs_edit;
- int new_yofs_edit = edit->yofs_edit;
-
- if (x1 < new_xofs_edit)
- new_xofs_edit = x1;
- if (2 + x2 - edit->cell_width > new_xofs_edit)
- new_xofs_edit = 2 + x2 - edit->cell_width;
- if (new_xofs_edit < 0)
- new_xofs_edit = 0;
-
-#if 0
- if (y1 < new_yofs_edit)
- new_yofs_edit = y1;
- if (2 + y2 - edit->cell_height > new_yofs_edit)
- new_yofs_edit = 2 + y2 - edit->cell_height;
- if (new_yofs_edit < 0)
- new_yofs_edit = 0;
-#endif
-
- if (new_xofs_edit != edit->xofs_edit ||
- new_yofs_edit != edit->yofs_edit) {
- edit->xofs_edit = new_xofs_edit;
- edit->yofs_edit = new_yofs_edit;
- return TRUE;
- }
-
- return FALSE;
-}
-
-/*
- * ECell::draw method
- */
-static void
-ect_draw (ECellView *ecell_view, GdkDrawable *drawable,
- int model_col, int view_col, int row, ECellFlags flags,
- int x1, int y1, int x2, int y2)
-{
- PangoLayout *layout;
- ECellTextView *text_view = (ECellTextView *) ecell_view;
- ECellText *ect = E_CELL_TEXT (ecell_view->ecell);
- CellEdit *edit = text_view->edit;
- gboolean selected;
- GdkColor *foreground, *cursor_color;
- GtkWidget *canvas = GTK_WIDGET (text_view->canvas);
- GdkRectangle clip_rect;
- int x_origin, y_origin;
-
- selected = flags & E_CELL_SELECTED;
-
- if (selected) {
- if (flags & E_CELL_FOCUSED)
- foreground = &canvas->style->fg [GTK_STATE_SELECTED];
- else
- foreground = &canvas->style->fg [GTK_STATE_ACTIVE];
- cursor_color = foreground;
- } else {
- foreground = &canvas->style->text [GTK_STATE_NORMAL];
- cursor_color = foreground;
-
- if (ect->color_column != -1) {
- char *color_spec;
- GdkColor *cell_foreground;
-
- color_spec = e_table_model_value_at (ecell_view->e_table_model,
- ect->color_column, row);
- cell_foreground = e_cell_text_get_color (text_view,
- color_spec);
- if (cell_foreground)
- foreground = cell_foreground;
- }
- }
-
- gdk_gc_set_foreground (text_view->gc, foreground);
-
- x1 += 4;
- y1 += 1;
- x2 -= 4;
- y2 -= 1;
-
- x_origin = x1 + ect->x + text_view->xofs - (edit ? edit->xofs_edit : 0);
- y_origin = y1 + ect->y + text_view->yofs - (edit ? edit->yofs_edit : 0);
-
- clip_rect.x = x1;
- clip_rect.y = y1;
- clip_rect.width = x2 - x1;
- clip_rect.height = y2 - y1;
-
- gdk_gc_set_clip_rectangle (text_view->gc, &clip_rect);
- /* clip_rect = &rect;*/
-
- layout = generate_layout (text_view, model_col, view_col, row, x2 - x1);
-
- if (edit && edit->view_col == view_col && edit->row == row) {
- layout = layout_with_preedit (text_view, row, edit->text ? edit->text : "?", x2 - x1);
- }
-
- gdk_draw_layout (drawable, text_view->gc,
- x_origin, y_origin,
- layout);
-
- if (edit && edit->view_col == view_col && edit->row == row) {
- if (edit->selection_start != edit->selection_end) {
- int start_index, end_index;
- PangoLayoutLine *line;
- gint *ranges;
- gint n_ranges, i;
- PangoRectangle logical_rect;
- GdkRegion *clip_region = gdk_region_new ();
- GdkRegion *rect_region;
- GdkGC *selection_gc;
- GdkGC *text_gc;
-
- start_index = MIN (edit->selection_start, edit->selection_end);
- end_index = edit->selection_start ^ edit->selection_end ^ start_index;
-
- if (edit->has_selection) {
- selection_gc = canvas->style->base_gc [GTK_STATE_SELECTED];
- text_gc = canvas->style->text_gc[GTK_STATE_SELECTED];
- } else {
- selection_gc = canvas->style->base_gc [GTK_STATE_ACTIVE];
- text_gc = canvas->style->text_gc[GTK_STATE_ACTIVE];
- }
-
- gdk_gc_set_clip_rectangle (selection_gc, &clip_rect);
-
- line = pango_layout_get_lines (layout)->data;
-
- pango_layout_line_get_x_ranges (line, start_index, end_index, &ranges, &n_ranges);
-
- pango_layout_get_extents (layout, NULL, &logical_rect);
-
- for (i=0; i < n_ranges; i++) {
- GdkRectangle sel_rect;
-
- sel_rect.x = x_origin + ranges[2*i] / PANGO_SCALE;
- sel_rect.y = y_origin;
- sel_rect.width = (ranges[2*i + 1] - ranges[2*i]) / PANGO_SCALE;
- sel_rect.height = logical_rect.height / PANGO_SCALE;
-
- gdk_draw_rectangle (drawable, selection_gc, TRUE,
- sel_rect.x, sel_rect.y, sel_rect.width, sel_rect.height);
-
- gdk_region_union_with_rect (clip_region, &sel_rect);
- }
-
- rect_region = gdk_region_rectangle (&clip_rect);
- gdk_region_intersect (clip_region, rect_region);
- gdk_region_destroy (rect_region);
-
- gdk_gc_set_clip_region (text_gc, clip_region);
- gdk_draw_layout (drawable, text_gc,
- x_origin, y_origin,
- layout);
- gdk_gc_set_clip_region (text_gc, NULL);
- gdk_gc_set_clip_region (selection_gc, NULL);
-
- gdk_region_destroy (clip_region);
- g_free (ranges);
- } else {
- if (edit->show_cursor) {
- PangoRectangle strong_pos, weak_pos;
- pango_layout_get_cursor_pos (layout, edit->selection_start + edit->preedit_length, &strong_pos, &weak_pos);
-
- draw_pango_rectangle (drawable, text_view->gc, x_origin, y_origin, strong_pos);
- if (strong_pos.x != weak_pos.x ||
- strong_pos.y != weak_pos.y ||
- strong_pos.width != weak_pos.width ||
- strong_pos.height != weak_pos.height)
- draw_pango_rectangle (drawable, text_view->gc, x_origin, y_origin, weak_pos);
- }
- }
- }
-
- g_object_unref (layout);
-}
-
-/*
- * Get the background color
- */
-static gchar *
-ect_get_bg_color(ECellView *ecell_view, int row)
-{
- ECellText *ect = E_CELL_TEXT (ecell_view->ecell);
- gchar *color_spec;
-
- if (ect->bg_color_column == -1)
- return NULL;
-
- color_spec = e_table_model_value_at (ecell_view->e_table_model,
- ect->bg_color_column, row);
-
- return color_spec;
-}
-
-
-/*
- * Selects the entire string
- */
-
-static void
-ect_edit_select_all (ECellTextView *text_view)
-{
- g_assert (text_view->edit);
-
- text_view->edit->selection_start = 0;
- text_view->edit->selection_end = strlen (text_view->edit->text);
-}
-
-static gboolean
-key_begins_editing (GdkEventKey *event)
-{
- if (event->length == 0)
- return FALSE;
-
- return TRUE;
-}
-
-/*
- * ECell::event method
- */
-static gint
-ect_event (ECellView *ecell_view, GdkEvent *event, int model_col, int view_col, int row, ECellFlags flags, ECellActions *actions)
-{
- ECellTextView *text_view = (ECellTextView *) ecell_view;
- ETextEventProcessorEvent e_tep_event;
- gboolean edit_display = FALSE;
- gint preedit_len;
- CellEdit *edit = text_view->edit;
- GtkWidget *canvas = GTK_WIDGET (text_view->canvas);
- gint return_val = 0;
- d(gboolean press = FALSE);
-
- if (!(flags & E_CELL_EDITING))
- return 0;
-
- if ( edit && !edit->preedit_length && flags & E_CELL_PREEDIT)
- return TRUE;
-
- if (edit && edit->view_col == view_col && edit->row == row) {
- edit_display = TRUE;
- }
-
- e_tep_event.type = event->type;
- switch (event->type) {
- case GDK_FOCUS_CHANGE:
- break;
- case GDK_KEY_PRESS: /* Fall Through */
- if (edit_display) {
- if (edit->im_context &&
- !edit->im_context_signals_registered) {
-
- g_signal_connect (edit->im_context,
- "preedit_changed",
- G_CALLBACK (\
- e_cell_text_preedit_changed_cb),
- text_view);
-
- g_signal_connect (edit->im_context,
- "commit",
- G_CALLBACK (\
- e_cell_text_commit_cb),
- text_view);
-
- g_signal_connect (edit->im_context,
- "retrieve_surrounding",
- G_CALLBACK (\
- e_cell_text_retrieve_surrounding_cb),
- text_view);
-
- g_signal_connect (edit->im_context,
- "delete_surrounding",
- G_CALLBACK (\
- e_cell_text_delete_surrounding_cb),
- text_view);
-
- edit->im_context_signals_registered = TRUE;
- }
-
- edit->show_cursor = FALSE;
-
- } else {
- if (edit->im_context) {
- g_signal_handlers_disconnect_matched (
- edit->im_context,
- G_SIGNAL_MATCH_DATA, 0, 0,
- NULL, NULL, edit);
- edit->im_context_signals_registered = FALSE;
- }
-
- ect_stop_editing (text_view, TRUE);
- if (edit->timeout_id) {
- g_source_remove(edit->timeout_id);
- edit->timeout_id = 0;
- }
- }
- return_val = TRUE;
- /* Fallthrough */
- case GDK_KEY_RELEASE:
- preedit_len = edit->preedit_length;
- if (edit_display && edit->im_context &&
- gtk_im_context_filter_keypress (\
- edit->im_context,
- (GdkEventKey*)event)) {
-
- edit->need_im_reset = TRUE;
- if (preedit_len && flags & E_CELL_PREEDIT)
- return FALSE;
- else
- return TRUE;
- }
-
- if (event->key.keyval == GDK_Escape){
- ect_cancel_edit (text_view);
- return_val = TRUE;
- break;
- }
-
- if ((!edit_display) &&
- e_table_model_is_cell_editable (ecell_view->e_table_model, model_col, row) &&
- key_begins_editing (&event->key)) {
- e_table_item_enter_edit (text_view->cell_view.e_table_item_view, view_col, row);
- ect_edit_select_all (text_view);
- edit = text_view->edit;
- edit_display = TRUE;
- }
- if (edit_display) {
- GdkEventKey key = event->key;
- if (key.keyval == GDK_KP_Enter || key.keyval == GDK_Return){
- e_table_item_leave_edit_ (text_view->cell_view.e_table_item_view);
- } else {
- e_tep_event.key.time = key.time;
- e_tep_event.key.state = key.state;
- e_tep_event.key.keyval = key.keyval;
-
- /* This is probably ugly hack, but we have to handle UTF-8 input somehow */
-#if 0
- e_tep_event.key.length = key.length;
- e_tep_event.key.string = key.string;
-#else
- e_tep_event.key.string = e_utf8_from_gtk_event_key (canvas, key.keyval, key.string);
- if (e_tep_event.key.string != NULL) {
- e_tep_event.key.length = strlen (e_tep_event.key.string);
- } else {
- e_tep_event.key.length = 0;
- }
-#endif
- _get_tep (edit);
- return_val = e_text_event_processor_handle_event (edit->tep, &e_tep_event);
- if (e_tep_event.key.string)
- g_free (e_tep_event.key.string);
- break;
- }
- }
-
- break;
- case GDK_BUTTON_PRESS: /* Fall Through */
- d(press = TRUE);
- case GDK_BUTTON_RELEASE:
- d(g_print ("%s: %s\n", __FUNCTION__, press ? "GDK_BUTTON_PRESS" : "GDK_BUTTON_RELEASE"));
- event->button.x -= 4;
- event->button.y -= 1;
- if ((!edit_display)
- && e_table_model_is_cell_editable (ecell_view->e_table_model, model_col, row)
- && event->type == GDK_BUTTON_RELEASE
- && event->button.button == 1) {
- GdkEventButton button = event->button;
-
- e_table_item_enter_edit (text_view->cell_view.e_table_item_view, view_col, row);
- edit = text_view->edit;
- edit_display = TRUE;
-
- e_tep_event.button.type = GDK_BUTTON_PRESS;
- e_tep_event.button.time = button.time;
- e_tep_event.button.state = button.state;
- e_tep_event.button.button = button.button;
- e_tep_event.button.position = get_position_from_xy (edit, event->button.x, event->button.y);
- _get_tep (edit);
- edit->actions = 0;
- return_val = e_text_event_processor_handle_event (edit->tep,
- &e_tep_event);
- *actions = edit->actions;
- if (event->button.button == 1) {
- if (event->type == GDK_BUTTON_PRESS)
- edit->button_down = TRUE;
- else
- edit->button_down = FALSE;
- }
- edit->lastx = button.x;
- edit->lasty = button.y;
- edit->last_state = button.state;
-
- e_tep_event.button.type = GDK_BUTTON_RELEASE;
- }
- if (edit_display) {
- GdkEventButton button = event->button;
- e_tep_event.button.time = button.time;
- e_tep_event.button.state = button.state;
- e_tep_event.button.button = button.button;
- e_tep_event.button.position = get_position_from_xy (edit, event->button.x, event->button.y);
- _get_tep (edit);
- edit->actions = 0;
- return_val = e_text_event_processor_handle_event (edit->tep,
- &e_tep_event);
- *actions = edit->actions;
- if (event->button.button == 1) {
- if (event->type == GDK_BUTTON_PRESS)
- edit->button_down = TRUE;
- else
- edit->button_down = FALSE;
- }
- edit->lastx = button.x;
- edit->lasty = button.y;
- edit->last_state = button.state;
- }
- break;
- case GDK_MOTION_NOTIFY:
- event->motion.x -= 4;
- event->motion.y -= 1;
- if (edit_display) {
- GdkEventMotion motion = event->motion;
- e_tep_event.motion.time = motion.time;
- e_tep_event.motion.state = motion.state;
- e_tep_event.motion.position = get_position_from_xy (edit, event->motion.x, event->motion.y);
- _get_tep (edit);
- edit->actions = 0;
- return_val = e_text_event_processor_handle_event (edit->tep,
- &e_tep_event);
- *actions = edit->actions;
- edit->lastx = motion.x;
- edit->lasty = motion.y;
- edit->last_state = motion.state;
- }
- break;
- case GDK_ENTER_NOTIFY:
-#if 0
- edit->pointer_in = TRUE;
-#endif
- if (edit_display) {
- if (edit->default_cursor_shown){
- gdk_window_set_cursor (canvas->window, text_view->i_cursor);
- edit->default_cursor_shown = FALSE;
- }
- }
- break;
- case GDK_LEAVE_NOTIFY:
-#if 0
- text_view->pointer_in = FALSE;
-#endif
- if (edit_display) {
- if (! edit->default_cursor_shown){
- gdk_window_set_cursor (canvas->window, NULL);
- edit->default_cursor_shown = TRUE;
- }
- }
- break;
- default:
- break;
- }
-
- return return_val;
-}
-
-/*
- * ECell::height method
- */
-static int
-ect_height (ECellView *ecell_view, int model_col, int view_col, int row)
-{
- ECellTextView *text_view = (ECellTextView *) ecell_view;
- gint height;
- PangoLayout *layout;
-
- layout = generate_layout (text_view, model_col, view_col, row, 0);
- pango_layout_get_pixel_size (layout, NULL, &height);
- g_object_unref (layout);
- return height + 2;
-}
-
-/*
- * ECellView::enter_edit method
- */
-static void *
-ect_enter_edit (ECellView *ecell_view, int model_col, int view_col, int row)
-{
- ECellTextView *text_view = (ECellTextView *) ecell_view;
- CellEdit *edit;
- ECellText *ect = E_CELL_TEXT(ecell_view->ecell);
- char *temp;
-
- edit = g_new0 (CellEdit, 1);
- text_view->edit = edit;
-
- edit->im_context = E_CANVAS (text_view->canvas)->im_context;
- edit->need_im_reset = FALSE;
- edit->im_context_signals_registered = FALSE;
- edit->view_col = -1;
- edit->model_col = -1;
- edit->row = -1;
-
- edit->text_view = text_view;
- edit->model_col = model_col;
- edit->view_col = view_col;
- edit->row = row;
- edit->cell_width = e_table_header_get_column (
- ((ETableItem *)ecell_view->e_table_item_view)->header,
- view_col)->width - 8;
-
- edit->layout = generate_layout (text_view, model_col, view_col, row, edit->cell_width);
-
- edit->xofs_edit = 0.0;
- edit->yofs_edit = 0.0;
-
- edit->selection_start = 0;
- edit->selection_end = 0;
- edit->select_by_word = FALSE;
-
- edit->timeout_id = g_timeout_add (10, _blink_scroll_timeout, text_view);
- edit->timer = g_timer_new ();
- g_timer_elapsed (edit->timer, &(edit->scroll_start));
- g_timer_start (edit->timer);
-
- edit->lastx = 0;
- edit->lasty = 0;
- edit->last_state = 0;
-
- edit->scroll_start = 0;
- edit->show_cursor = TRUE;
- edit->button_down = FALSE;
-
- edit->tep = NULL;
-
- edit->has_selection = FALSE;
-
- edit->invisible = NULL;
- edit->primary_selection = NULL;
- edit->primary_length = 0;
- edit->clipboard_selection = NULL;
- edit->clipboard_length = 0;
-
- edit->pointer_in = FALSE;
- edit->default_cursor_shown = TRUE;
-
- temp = e_cell_text_get_text(ect, ecell_view->e_table_model, model_col, row);
- edit->old_text = g_strdup (temp);
- e_cell_text_free_text(ect, temp);
- edit->text = g_strdup (edit->old_text);
-
-#if 0
- if (edit->pointer_in){
- if (edit->default_cursor_shown){
- gdk_window_set_cursor (GTK_WIDGET(item->canvas)->window, text_view->i_cursor);
- edit->default_cursor_shown = FALSE;
- }
- }
-#endif
- ect_queue_redraw (text_view, view_col, row);
-
- return NULL;
-}
-
-/*
- * ECellView::leave_edit method
- */
-static void
-ect_leave_edit (ECellView *ecell_view, int model_col, int view_col, int row, void *edit_context)
-{
- ECellTextView *text_view = (ECellTextView *) ecell_view;
- CellEdit *edit = text_view->edit;
-
- if (edit){
- ect_stop_editing (text_view, TRUE);
- } else {
- /*
- * We did invoke this leave edit internally
- */
- }
-}
-
-/*
- * ECellView::save_state method
- */
-static void *
-ect_save_state (ECellView *ecell_view, int model_col, int view_col, int row, void *edit_context)
-{
- ECellTextView *text_view = (ECellTextView *) ecell_view;
- CellEdit *edit = text_view->edit;
-
- int *save_state = g_new (int, 2);
-
- save_state[0] = edit->selection_start;
- save_state[1] = edit->selection_end;
- return save_state;
-}
-
-/*
- * ECellView::load_state method
- */
-static void
-ect_load_state (ECellView *ecell_view, int model_col, int view_col, int row, void *edit_context, void *save_state)
-{
- ECellTextView *text_view = (ECellTextView *) ecell_view;
- CellEdit *edit = text_view->edit;
- int length;
- int *selection = save_state;
-
- length = strlen (edit->text);
-
- edit->selection_start = MIN (selection[0], length);
- edit->selection_end = MIN (selection[1], length);
-
- ect_queue_redraw (text_view, view_col, row);
-}
-
-/*
- * ECellView::free_state method
- */
-static void
-ect_free_state (ECellView *ecell_view, int model_col, int view_col, int row, void *save_state)
-{
- g_free (save_state);
-}
-
-#define FONT_NAME "Sans Regular"
-
-static GnomeFont *
-get_font_for_size (double h)
-{
- GnomeFontFace *face;
- GnomeFont *font;
- double asc, desc, size;
-
- face = gnome_font_face_find (FONT_NAME);
-
- asc = gnome_font_face_get_ascender (face);
- desc = abs (gnome_font_face_get_descender (face));
- size = h * 1000 / (asc + desc);
-
- font = gnome_font_find_closest (FONT_NAME, size);
-
- g_object_unref (face);
- return font;
-}
-
-static void
-ect_print (ECellView *ecell_view, GnomePrintContext *context,
- int model_col, int view_col, int row,
- double width, double height)
-{
- GnomeFont *font = get_font_for_size (16);
- char *string;
- ECellText *ect = E_CELL_TEXT(ecell_view->ecell);
- double ty, ly, text_width;
- gboolean strikeout, underline;
-
- string = e_cell_text_get_text(ect, ecell_view->e_table_model, model_col, row);
- gnome_print_gsave(context);
- if (gnome_print_moveto(context, 2, 2) == -1)
- /* FIXME */;
- if (gnome_print_lineto(context, width - 2, 2) == -1)
- /* FIXME */;
- if (gnome_print_lineto(context, width - 2, height - 2) == -1)
- /* FIXME */;
- if (gnome_print_lineto(context, 2, height - 2) == -1)
- /* FIXME */;
- if (gnome_print_lineto(context, 2, 2) == -1)
- /* FIXME */;
- if (gnome_print_clip(context) == -1)
- /* FIXME */;
-
- ty = (height - gnome_font_get_ascender(font) - gnome_font_get_descender(font)) / 2;
- text_width = gnome_font_get_width_utf8 (font, string);
-
- strikeout = ect->strikeout_column >= 0 && row >= 0 &&
- e_table_model_value_at (ecell_view->e_table_model, ect->strikeout_column, row);
- underline = ect->underline_column >= 0 && row >= 0 &&
- e_table_model_value_at(ecell_view->e_table_model, ect->underline_column, row);
-
- if (underline) {
- ly = ty + gnome_font_get_underline_position (font);
- gnome_print_newpath (context);
- gnome_print_moveto (context, 2, ly);
- gnome_print_lineto (context, MIN (2 + text_width, width - 2), ly);
- gnome_print_setlinewidth (context, gnome_font_get_underline_thickness (font));
- gnome_print_stroke (context);
- }
-
- if (strikeout) {
- ly = ty + (gnome_font_get_ascender (font) - gnome_font_get_underline_thickness (font))/ 2.0;
- gnome_print_newpath (context);
- gnome_print_moveto (context, 2, ly);
- gnome_print_lineto (context, MIN (2 + text_width, width - 2), ly);
- gnome_print_setlinewidth (context, gnome_font_get_underline_thickness (font));
- gnome_print_stroke (context);
- }
-
- gnome_print_moveto(context, 2, ty);
- gnome_print_setfont(context, font);
- gnome_print_show(context, string);
- gnome_print_grestore(context);
- e_cell_text_free_text(ect, string);
- g_object_unref (font);
-}
-
-static gdouble
-ect_print_height (ECellView *ecell_view, GnomePrintContext *context,
- int model_col, int view_col, int row,
- double width)
-{
- return 16;
-}
-
-static int
-ect_max_width (ECellView *ecell_view,
- int model_col,
- int view_col)
-{
- /* New ECellText */
- ECellTextView *text_view = (ECellTextView *) ecell_view;
- int row;
- int number_of_rows;
- int max_width = 0;
-
- number_of_rows = e_table_model_row_count (ecell_view->e_table_model);
-
- for (row = 0; row < number_of_rows; row++) {
- PangoLayout *layout = generate_layout (text_view, model_col, view_col, row, 0);
- int width;
-
- pango_layout_get_pixel_size (layout, &width, NULL);
-
- max_width = MAX (max_width, width);
- g_object_unref (layout);
- }
-
- return max_width + 8;
-}
-
-static int
-ect_max_width_by_row (ECellView *ecell_view,
- int model_col,
- int view_col,
- int row)
-{
- /* New ECellText */
- ECellTextView *text_view = (ECellTextView *) ecell_view;
- int width;
- PangoLayout *layout;
-
- if (row >= e_table_model_row_count (ecell_view->e_table_model))
- return 0;
-
- layout = generate_layout (text_view, model_col, view_col, row, 0);
- pango_layout_get_pixel_size (layout, &width, NULL);
- g_object_unref (layout);
-
- return width + 8;
-}
-
-static gint
-tooltip_event (GtkWidget *window,
- GdkEvent *event,
- ETableTooltip *tooltip)
-{
- gint ret_val = FALSE;
-
- switch (event->type) {
- case GDK_LEAVE_NOTIFY:
- e_canvas_hide_tooltip (E_CANVAS(GNOME_CANVAS_ITEM(tooltip->eti)->canvas));
- break;
- case GDK_BUTTON_PRESS:
- case GDK_BUTTON_RELEASE:
- if (event->type == GDK_BUTTON_RELEASE) {
- e_canvas_hide_tooltip (E_CANVAS(GNOME_CANVAS_ITEM(tooltip->eti)->canvas));
- }
-
- event->button.x = tooltip->cx;
- event->button.y = tooltip->cy;
- g_signal_emit_by_name (tooltip->eti, "event",
- event, &ret_val);
- if (!ret_val)
- gtk_propagate_event (GTK_WIDGET(GNOME_CANVAS_ITEM(tooltip->eti)->canvas), event);
- ret_val = TRUE;
- break;
- case GDK_KEY_PRESS:
- e_canvas_hide_tooltip (E_CANVAS(GNOME_CANVAS_ITEM(tooltip->eti)->canvas));
- g_signal_emit_by_name (tooltip->eti, "event",
- event, &ret_val);
- if (!ret_val)
- gtk_propagate_event (GTK_WIDGET(GNOME_CANVAS_ITEM(tooltip->eti)->canvas), event);
- ret_val = TRUE;
- break;
- default:
- break;
- }
-
- return ret_val;
-}
-
-static void
-ect_show_tooltip (ECellView *ecell_view,
- int model_col,
- int view_col,
- int row,
- int col_width,
- ETableTooltip *tooltip)
-{
- ECellTextView *text_view = (ECellTextView *) ecell_view;
- GtkWidget *canvas;
- double i2c[6];
- ArtPoint origin = {0, 0};
- ArtPoint pixel_origin;
- int canvas_x, canvas_y;
- GnomeCanvasItem *tooltip_text;
- double tooltip_width;
- double tooltip_height;
- double tooltip_x;
- double tooltip_y;
- GnomeCanvasItem *rect;
- ECellText *ect = E_CELL_TEXT(ecell_view->ecell);
- GtkWidget *window;
- PangoLayout *layout;
- int width, height;
-
- tooltip->timer = 0;
-
- layout = generate_layout (text_view, model_col, view_col, row, col_width);
-
- pango_layout_get_pixel_size (layout, &width, &height);
- if (width < col_width - 8) {
- return;
- }
-
- gnome_canvas_item_i2c_affine (GNOME_CANVAS_ITEM (tooltip->eti), i2c);
- art_affine_point (&pixel_origin, &origin, i2c);
-
- gdk_window_get_origin (GTK_WIDGET (text_view->canvas)->window,
- &canvas_x, &canvas_y);
- pixel_origin.x += canvas_x;
- pixel_origin.y += canvas_y;
- pixel_origin.x -= (int) gtk_layout_get_hadjustment (GTK_LAYOUT (text_view->canvas))->value;
- pixel_origin.y -= (int) gtk_layout_get_vadjustment (GTK_LAYOUT (text_view->canvas))->value;
-
- window = gtk_window_new (GTK_WINDOW_POPUP);
- gtk_container_set_border_width (GTK_CONTAINER (window), 1);
-
- canvas = e_canvas_new ();
- gtk_container_add (GTK_CONTAINER (window), canvas);
- GTK_WIDGET_UNSET_FLAGS (canvas, GTK_CAN_FOCUS);
- GTK_WIDGET_UNSET_FLAGS (window, GTK_CAN_FOCUS);
-
- rect = gnome_canvas_item_new (gnome_canvas_root (GNOME_CANVAS (canvas)),
- gnome_canvas_rect_get_type (),
- "x1", (double) 0.0,
- "y1", (double) 0.0,
- "x2", (double) width + 4,
- "y2", (double) height,
- "fill_color_gdk", tooltip->background,
- NULL);
-
- tooltip_text = gnome_canvas_item_new (gnome_canvas_root (GNOME_CANVAS (canvas)),
- e_text_get_type (),
- "anchor", GTK_ANCHOR_NW,
- "bold", (gboolean) ect->bold_column >= 0 && e_table_model_value_at(ecell_view->e_table_model, ect->bold_column, row),
- "strikeout", (gboolean) ect->strikeout_column >= 0 && e_table_model_value_at(ecell_view->e_table_model, ect->strikeout_column, row),
- "underline", (gboolean) ect->underline_column >= 0 && e_table_model_value_at(ecell_view->e_table_model, ect->underline_column, row),
- "fill_color_gdk", tooltip->foreground,
- "text", pango_layout_get_text (layout),
- "editable", FALSE,
- "clip_width", (double) width,
- "clip_height", (double) height,
- "clip", TRUE,
- "line_wrap", FALSE,
- "justification", E_CELL_TEXT (text_view->cell_view.ecell)->justify,
- "draw_background", FALSE,
- NULL);
-
- tooltip_width = width;
- tooltip_height = height;
- tooltip_y = tooltip->y;
-
- switch (E_CELL_TEXT (text_view->cell_view.ecell)->justify) {
- case GTK_JUSTIFY_CENTER:
- tooltip_x = - tooltip_width / 2;
- break;
- case GTK_JUSTIFY_RIGHT:
- tooltip_x = tooltip_width / 2;
- break;
- case GTK_JUSTIFY_FILL:
- case GTK_JUSTIFY_LEFT:
- tooltip_x = tooltip->x;
- break;
- }
-
- gnome_canvas_item_move (tooltip_text, 3.0, 1.0);
- gnome_canvas_item_set (rect,
- "x2", (double) tooltip_width + 6,
- "y2", (double) tooltip->row_height + 1,
- NULL);
- gtk_widget_set_usize (window, tooltip_width + 6,
- tooltip->row_height + 1);
- gnome_canvas_set_scroll_region (GNOME_CANVAS (canvas), 0.0, 0.0,
- (double) tooltip_width + 6,
- (double) tooltip_height);
- gtk_widget_show (canvas);
- gtk_widget_realize (window);
- g_signal_connect (window, "event",
- G_CALLBACK (tooltip_event), tooltip);
-
- e_canvas_popup_tooltip (E_CANVAS(text_view->canvas), window, pixel_origin.x + tooltip->x,
- pixel_origin.y + tooltip->y - 1);
-
- return;
-}
-
-/*
- * GtkObject::destroy method
- */
-static void
-ect_finalize (GObject *object)
-{
- ECellText *ect = E_CELL_TEXT (object);
-
- g_free (ect->font_name);
-
- G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-/* Set_arg handler for the text item */
-static void
-ect_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- ECellText *text;
-
- text = E_CELL_TEXT (object);
-
- switch (prop_id) {
- case PROP_STRIKEOUT_COLUMN:
- text->strikeout_column = g_value_get_int (value);
- break;
-
- case PROP_UNDERLINE_COLUMN:
- text->underline_column = g_value_get_int (value);
- break;
-
- case PROP_BOLD_COLUMN:
- text->bold_column = g_value_get_int (value);
- break;
-
- case PROP_COLOR_COLUMN:
- text->color_column = g_value_get_int (value);
- break;
-
- case PROP_EDITABLE:
- text->editable = g_value_get_boolean (value);
- break;
-
- case PROP_BG_COLOR_COLUMN:
- text->bg_color_column = g_value_get_int (value);
- break;
-
- default:
- return;
- }
-}
-
-/* Get_arg handler for the text item */
-static void
-ect_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
- ECellText *text;
-
- text = E_CELL_TEXT (object);
-
- switch (prop_id) {
- case PROP_STRIKEOUT_COLUMN:
- g_value_set_int (value, text->strikeout_column);
- break;
-
- case PROP_UNDERLINE_COLUMN:
- g_value_set_int (value, text->underline_column);
- break;
-
- case PROP_BOLD_COLUMN:
- g_value_set_int (value, text->bold_column);
- break;
-
- case PROP_COLOR_COLUMN:
- g_value_set_int (value, text->color_column);
- break;
-
- case PROP_EDITABLE:
- g_value_set_boolean (value, text->editable);
- break;
-
- case PROP_BG_COLOR_COLUMN:
- g_value_set_int (value, text->bg_color_column);
- break;
-
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static char *ellipsis_default = NULL;
-static gboolean use_ellipsis_default = TRUE;
-
-static void
-e_cell_text_class_init (GObjectClass *object_class)
-{
- ECellClass *ecc = (ECellClass *) object_class;
- ECellTextClass *ectc = (ECellTextClass *) object_class;
- const char *ellipsis_env;
-
- G_OBJECT_CLASS (object_class)->finalize = ect_finalize;
-
- ecc->new_view = ect_new_view;
- ecc->kill_view = ect_kill_view;
- ecc->realize = ect_realize;
- ecc->unrealize = ect_unrealize;
- ecc->draw = ect_draw;
- ecc->event = ect_event;
- ecc->height = ect_height;
- ecc->enter_edit = ect_enter_edit;
- ecc->leave_edit = ect_leave_edit;
- ecc->save_state = ect_save_state;
- ecc->load_state = ect_load_state;
- ecc->free_state = ect_free_state;
- ecc->print = ect_print;
- ecc->print_height = ect_print_height;
- ecc->max_width = ect_max_width;
- ecc->max_width_by_row = ect_max_width_by_row;
- ecc->show_tooltip = ect_show_tooltip;
- ecc->get_bg_color = ect_get_bg_color;
-
- ectc->get_text = ect_real_get_text;
- ectc->free_text = ect_real_free_text;
- ectc->set_value = ect_real_set_value;
-
- object_class->get_property = ect_get_property;
- object_class->set_property = ect_set_property;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- signals [TEXT_INSERTED] =
- g_signal_new ("text_inserted",
- G_TYPE_FROM_CLASS (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (ECellTextClass, text_inserted),
- NULL, NULL,
- e_marshal_VOID__POINTER_INT_INT_INT_INT,
- G_TYPE_NONE, 5,
- G_TYPE_POINTER, G_TYPE_INT, G_TYPE_INT,
- G_TYPE_INT, G_TYPE_INT);
-
- signals [TEXT_DELETED] =
- g_signal_new ("text_deleted",
- G_TYPE_FROM_CLASS (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (ECellTextClass, text_deleted),
- NULL, NULL,
- e_marshal_VOID__POINTER_INT_INT_INT_INT,
- G_TYPE_NONE, 5,
- G_TYPE_POINTER, G_TYPE_INT, G_TYPE_INT,
- G_TYPE_INT, G_TYPE_INT);
-
-
-
- g_object_class_install_property (object_class, PROP_STRIKEOUT_COLUMN,
- g_param_spec_int ("strikeout_column",
- _("Strikeout Column"),
- /*_( */"XXX blurb" /*)*/,
- -1, G_MAXINT, -1,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_UNDERLINE_COLUMN,
- g_param_spec_int ("underline_column",
- _("Underline Column"),
- /*_( */"XXX blurb" /*)*/,
- -1, G_MAXINT, -1,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_BOLD_COLUMN,
- g_param_spec_int ("bold_column",
- _("Bold Column"),
- /*_( */"XXX blurb" /*)*/,
- -1, G_MAXINT, -1,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_COLOR_COLUMN,
- g_param_spec_int ("color_column",
- _("Color Column"),
- /*_( */"XXX blurb" /*)*/,
- -1, G_MAXINT, -1,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_EDITABLE,
- g_param_spec_boolean ("editable",
- _("Editable"),
- /*_( */"XXX blurb" /*)*/,
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_BG_COLOR_COLUMN,
- g_param_spec_int ("bg_color_column",
- _("BG Color Column"),
- /*_( */"XXX blurb" /*)*/,
- -1, G_MAXINT, -1,
- G_PARAM_READWRITE));
-
- if (!clipboard_atom)
- clipboard_atom = gdk_atom_intern ("CLIPBOARD", FALSE);
-
- ellipsis_env = g_getenv ("GAL_ELLIPSIS");
- if (ellipsis_env) {
- if (*ellipsis_env) {
- ellipsis_default = g_strdup (ellipsis_env);
- } else {
- use_ellipsis_default = FALSE;
- }
- }
-
- gal_a11y_e_cell_registry_add_cell_type (NULL, E_CELL_TEXT_TYPE, gal_a11y_e_cell_text_new);
-}
-
-
-/* IM Context Callbacks */
-
-static void
-e_cell_text_preedit_changed_cb (GtkIMContext *context,
- ECellTextView *tv)
-{
- gchar *preedit_string;
- gint cursor_pos;
- CellEdit *edit=tv->edit;
- gtk_im_context_get_preedit_string (edit->im_context, &preedit_string,
- NULL, &cursor_pos);
-
- edit->preedit_length = strlen (preedit_string);
- cursor_pos = CLAMP (cursor_pos, 0, g_utf8_strlen (preedit_string, -1));
- g_free (preedit_string);
- ect_queue_redraw (tv, edit->view_col, edit->row);
-}
-
-static void
-e_cell_text_commit_cb (GtkIMContext *context,
- const gchar *str,
- ECellTextView *tv)
-{
- CellEdit *edit = tv->edit;
- ETextEventProcessorCommand command;
-
- if (g_utf8_validate (str, strlen (str), NULL)) {
- command.action = E_TEP_INSERT;
- command.position = E_TEP_SELECTION;
- command.string = (gchar *)str;
- command.value = strlen(str);
- e_cell_text_view_command (edit->tep, &command, edit);
- }
-
-}
-
-static gboolean
-e_cell_text_retrieve_surrounding_cb (GtkIMContext *context,
- ECellTextView *tv)
-{
- CellEdit *edit = tv->edit;
-
- gtk_im_context_set_surrounding (context,
- edit->text,
- strlen (edit->text),
- MIN (edit->selection_start, edit->selection_end)
- );
-
- return TRUE;
-}
-
-static gboolean
-e_cell_text_delete_surrounding_cb (GtkIMContext *context,
- gint offset,
- gint n_chars,
- ECellTextView *tv)
-{
- int begin_pos, end_pos;
- glong text_len;
- CellEdit *edit = tv->edit;
-
- text_len = g_utf8_strlen (edit->text, -1);
- begin_pos = g_utf8_pointer_to_offset (edit->text,
- edit->text + MIN (edit->selection_start, edit->selection_end));
- begin_pos += offset;
- end_pos = begin_pos + n_chars;
- if(begin_pos < 0 || text_len < begin_pos)
- return FALSE;
- if(end_pos > text_len)
- end_pos = text_len;
- edit->selection_start = g_utf8_offset_to_pointer (edit->text, begin_pos)
- - edit->text;
- edit->selection_end = g_utf8_offset_to_pointer (edit->text, end_pos)
- - edit->text;
-
- _delete_selection (tv);
-
- return TRUE;
-}
-
-static void
-e_cell_text_init (ECellText *ect)
-{
- ect->ellipsis = g_strdup (ellipsis_default);
- ect->use_ellipsis = use_ellipsis_default;
- ect->strikeout_column = -1;
- ect->underline_column = -1;
- ect->bold_column = -1;
- ect->color_column = -1;
- ect->bg_color_column = -1;
- ect->editable = TRUE;
-}
-
-E_MAKE_TYPE(e_cell_text, "ECellText", ECellText, e_cell_text_class_init, e_cell_text_init, PARENT_TYPE)
-
-/**
- * e_cell_text_construct:
- * @cell: The cell to construct
- * @fontname: this param is no longer used, but left here for api stability
- * @justify: Justification of the string in the cell
- *
- * constructs the ECellText. To be used by subclasses and language
- * bindings.
- *
- * Returns: The ECellText.
- */
-ECell *
-e_cell_text_construct (ECellText *cell, const char *fontname, GtkJustification justify)
-{
- if(!cell)
- return E_CELL(NULL);
- if(fontname)
- cell->font_name = g_strdup (fontname);
- cell->justify = justify;
- return E_CELL(cell);
-}
-
-/**
- * e_cell_text_new:
- * @fontname: this param is no longer used, but left here for api stability
- * @justify: Justification of the string in the cell.
- *
- * Creates a new ECell renderer that can be used to render strings that
- * that come from the model. The value returned from the model is
- * interpreted as being a char *.
- *
- * The ECellText object support a large set of properties that can be
- * configured through the Gtk argument system and allows the user to have
- * a finer control of the way the string is displayed. The arguments supported
- * allow the control of strikeout, underline, bold, and color.
- *
- * The arguments "strikeout_column", "underline_column", "bold_column"
- * and "color_column" set and return an integer that points to a
- * column in the model that controls these settings. So controlling
- * the way things are rendered is achieved by having special columns
- * in the model that will be used to flag whether the text should be
- * rendered with strikeout, or bolded. In the case of the
- * "color_column" argument, the column in the model is expected to
- * have a string that can be parsed by gdk_color_parse().
- *
- * Returns: an ECell object that can be used to render strings.
- */
-ECell *
-e_cell_text_new (const char *fontname, GtkJustification justify)
-{
- ECellText *ect = g_object_new (E_CELL_TEXT_TYPE, NULL);
-
- e_cell_text_construct(ect, fontname, justify);
-
- return (ECell *) ect;
-}
-
-
-/* fixme: Handle Font attributes */
-/* position is in BYTES */
-
-static gint
-get_position_from_xy (CellEdit *edit, gint x, gint y)
-{
- int index;
- int trailing;
- const char *text;
-
- PangoLayout *layout = generate_layout (edit->text_view, edit->model_col, edit->view_col, edit->row, edit->cell_width);
- ECellTextView *text_view = edit->text_view;
- ECellText *ect = (ECellText *) ((ECellView *)text_view)->ecell;
-
- x -= (ect->x + text_view->xofs - edit->xofs_edit);
- y -= (ect->y + text_view->yofs - edit->yofs_edit);
-
- pango_layout_xy_to_index (layout, x * PANGO_SCALE, y * PANGO_SCALE, &index, &trailing);
-
- text = pango_layout_get_text (layout);
-
- return g_utf8_offset_to_pointer (text + index, trailing) - text;
-}
-
-#define SCROLL_WAIT_TIME 30000
-
-static gboolean
-_blink_scroll_timeout (gpointer data)
-{
- ECellTextView *text_view = (ECellTextView *) data;
- ECellText *ect = E_CELL_TEXT (((ECellView *)text_view)->ecell);
- CellEdit *edit = text_view->edit;
-
- gulong current_time;
- gboolean scroll = FALSE;
- gboolean redraw = FALSE;
- int width, height;
-
- g_timer_elapsed (edit->timer, &current_time);
-
- if (edit->scroll_start + SCROLL_WAIT_TIME > 1000000) {
- if (current_time > edit->scroll_start - (1000000 - SCROLL_WAIT_TIME) &&
- current_time < edit->scroll_start)
- scroll = TRUE;
- } else {
- if (current_time > edit->scroll_start + SCROLL_WAIT_TIME ||
- current_time < edit->scroll_start)
- scroll = TRUE;
- }
-
- pango_layout_get_pixel_size (edit->layout, &width, &height);
-
- if (scroll && edit->button_down) {
- /* FIXME: Copy this for y. */
- if (edit->lastx - ect->x > edit->cell_width) {
- if (edit->xofs_edit < width - edit->cell_width) {
- edit->xofs_edit += 4;
- if (edit->xofs_edit > width - edit->cell_width + 1)
- edit->xofs_edit = width - edit->cell_width + 1;
- redraw = TRUE;
- }
- }
- if (edit->lastx - ect->x < 0 &&
- edit->xofs_edit > 0) {
- edit->xofs_edit -= 4;
- if (edit->xofs_edit < 0)
- edit->xofs_edit = 0;
- redraw = TRUE;
- }
- if (redraw) {
- ETextEventProcessorEvent e_tep_event;
- e_tep_event.type = GDK_MOTION_NOTIFY;
- e_tep_event.motion.state = edit->last_state;
- e_tep_event.motion.time = 0;
- e_tep_event.motion.position = get_position_from_xy (edit, edit->lastx, edit->lasty);
- _get_tep (edit);
- e_text_event_processor_handle_event (edit->tep,
- &e_tep_event);
- edit->scroll_start = current_time;
- }
- }
-
- if (!((current_time / 500000) % 2)) {
- if (!edit->show_cursor)
- redraw = TRUE;
- edit->show_cursor = TRUE;
- } else {
- if (edit->show_cursor)
- redraw = TRUE;
- edit->show_cursor = FALSE;
- }
- if (redraw){
- ect_queue_redraw (text_view, edit->view_col, edit->row);
- }
- return TRUE;
-}
-
-static int
-next_word (CellEdit *edit, int start)
-{
- char *p;
- int length;
-
- length = strlen (edit->text);
- if (start >= length)
- return length;
-
- p = g_utf8_next_char (edit->text + start);
-
- while (*p && g_unichar_validate (g_utf8_get_char (p))) {
- gunichar unival = g_utf8_get_char (p);
- if (g_unichar_isspace (unival))
- return p - edit->text;
- p = g_utf8_next_char (p);
- }
-
- return p - edit->text;
-}
-
-static int
-_get_position (ECellTextView *text_view, ETextEventProcessorCommand *command)
-{
- int length;
- CellEdit *edit = text_view->edit;
- gchar *p;
- int unival;
- int index;
- int trailing;
-
- switch (command->position) {
-
- case E_TEP_VALUE:
- return command->value;
-
- case E_TEP_SELECTION:
- return edit->selection_end;
-
- case E_TEP_START_OF_BUFFER:
- return 0;
-
- /* fixme: this probably confuses TEP */
-
- case E_TEP_END_OF_BUFFER:
- return strlen (edit->text);
-
- case E_TEP_START_OF_LINE:
-
- if (edit->selection_end < 1) return 0;
-
- p = g_utf8_find_prev_char (edit->text, edit->text + edit->selection_end);
-
- if (p == edit->text) return 0;
-
- p = g_utf8_find_prev_char (edit->text, p);
-
- while (p && p > edit->text) {
- if (*p == '\n') return p - edit->text + 1;
- p = g_utf8_find_prev_char (edit->text, p);
- }
-
- return 0;
-
- case E_TEP_END_OF_LINE:
-
- length = strlen (edit->text);
- if (edit->selection_end >= length) return length;
-
- p = g_utf8_next_char (edit->text + edit->selection_end);
-
- while (*p && g_unichar_validate (g_utf8_get_char (p))) {
- if (*p == '\n') return p - edit->text;
- p = g_utf8_next_char (p);
- }
-
- return p - edit->text;
-
- case E_TEP_FORWARD_CHARACTER:
-
- length = strlen (edit->text);
- if (edit->selection_end >= length) return length;
-
- p = g_utf8_next_char (edit->text + edit->selection_end);
-
- return p - edit->text;
-
- case E_TEP_BACKWARD_CHARACTER:
-
- if (edit->selection_end < 1) return 0;
-
- p = g_utf8_find_prev_char (edit->text, edit->text + edit->selection_end);
-
- if (p == NULL) return 0;
-
- return p - edit->text;
-
- case E_TEP_FORWARD_WORD:
- return next_word (edit, edit->selection_end);
-
- case E_TEP_BACKWARD_WORD:
-
- if (edit->selection_end < 1) return 0;
-
- p = g_utf8_find_prev_char (edit->text, edit->text + edit->selection_end);
-
- if (p == edit->text) return 0;
-
- p = g_utf8_find_prev_char (edit->text, p);
-
- while (p && p > edit->text && g_unichar_validate (g_utf8_get_char (p))) {
- unival = g_utf8_get_char (p);
- if (g_unichar_isspace (unival)) {
- return (g_utf8_next_char (p) - edit->text);
- }
- p = g_utf8_find_prev_char (edit->text, p);
- }
-
- return 0;
-
- case E_TEP_FORWARD_LINE:
- pango_layout_move_cursor_visually (edit->layout,
- TRUE,
- edit->selection_end,
- 0,
- TRUE,
- &index,
- &trailing);
- index = g_utf8_offset_to_pointer (edit->text + index, trailing) - edit->text;
- if (index < 0)
- return 0;
- length = strlen (edit->text);
- if (index >= length)
- return length;
- return index;
- case E_TEP_BACKWARD_LINE:
- pango_layout_move_cursor_visually (edit->layout,
- TRUE,
- edit->selection_end,
- 0,
- TRUE,
- &index,
- &trailing);
-
- index = g_utf8_offset_to_pointer (edit->text + index, trailing) - edit->text;
- if (index < 0)
- return 0;
- length = strlen (edit->text);
- if (index >= length)
- return length;
- return index;
- case E_TEP_FORWARD_PARAGRAPH:
- case E_TEP_BACKWARD_PARAGRAPH:
-
- case E_TEP_FORWARD_PAGE:
- case E_TEP_BACKWARD_PAGE:
- return edit->selection_end;
- default:
- return edit->selection_end;
- }
- g_assert_not_reached ();
- return 0; /* Kill warning */
-}
-
-static void
-_delete_selection (ECellTextView *text_view)
-{
- CellEdit *edit = text_view->edit;
- gint length;
- gchar *sp, *ep;
-
- if (edit->selection_end == edit->selection_start) return;
-
- if (edit->selection_end < edit->selection_start) {
- edit->selection_end ^= edit->selection_start;
- edit->selection_start ^= edit->selection_end;
- edit->selection_end ^= edit->selection_start;
- }
-
- sp = edit->text + edit->selection_start;
- ep = edit->text + edit->selection_end;
- length = strlen (ep) + 1;
-
- memmove (sp, ep, length);
-
- edit->selection_end = edit->selection_start;
-
- g_signal_emit (VIEW_TO_CELL (text_view), signals[TEXT_DELETED], 0, text_view, edit->selection_start, ep-sp, edit->row, edit->model_col);
-}
-
-/* fixme: */
-/* NB! We expect value to be length IN BYTES */
-
-static void
-_insert (ECellTextView *text_view, char *string, int value)
-{
- CellEdit *edit = text_view->edit;
- char *temp;
-
- if (value <= 0) return;
-
- edit->selection_start = MIN (strlen(edit->text), edit->selection_start);
-
- temp = g_new (gchar, strlen (edit->text) + value + 1);
-
- strncpy (temp, edit->text, edit->selection_start);
- strncpy (temp + edit->selection_start, string, value);
- strcpy (temp + edit->selection_start + value, edit->text + edit->selection_end);
-
- g_free (edit->text);
-
- edit->text = temp;
-
- edit->selection_start += value;
- edit->selection_end = edit->selection_start;
-
- g_signal_emit (VIEW_TO_CELL (text_view), signals[TEXT_INSERTED], 0, text_view, edit->selection_end-value, value, edit->row, edit->model_col);
-}
-
-static void
-capitalize (CellEdit *edit, int start, int end, ETextEventProcessorCaps type)
-{
- ECellTextView *text_view = edit->text_view;
-
- gboolean first = TRUE;
- int character_length = g_utf8_strlen (edit->text + start, start - end);
- const char *p = edit->text + start;
- const char *text_end = edit->text + end;
- char *new_text = g_new0 (char, character_length * 6 + 1);
- char *output = new_text;
-
- while (p && *p && p < text_end && g_unichar_validate (g_utf8_get_char (p))) {
- gunichar unival = g_utf8_get_char (p);
- gunichar newval = unival;
-
- switch (type) {
- case E_TEP_CAPS_UPPER:
- newval = g_unichar_toupper (unival);
- break;
- case E_TEP_CAPS_LOWER:
- newval = g_unichar_tolower (unival);
- break;
- case E_TEP_CAPS_TITLE:
- if (g_unichar_isalpha (unival)) {
- if (first)
- newval = g_unichar_totitle (unival);
- else
- newval = g_unichar_tolower (unival);
- first = FALSE;
- } else {
- first = TRUE;
- }
- break;
- }
- g_unichar_to_utf8 (newval, output);
- output = g_utf8_next_char (output);
-
- p = g_utf8_next_char (p);
- }
- *output = 0;
-
- edit->selection_end = end;
- edit->selection_start = start;
- _delete_selection (text_view);
-
- _insert (text_view, new_text, output - new_text);
-
- g_free (new_text);
-}
-
-static void
-e_cell_text_view_command (ETextEventProcessor *tep, ETextEventProcessorCommand *command, gpointer data)
-{
- CellEdit *edit = (CellEdit *) data;
- ECellTextView *text_view = edit->text_view;
- ECellText *ect = E_CELL_TEXT (text_view->cell_view.ecell);
-
- gboolean change = FALSE;
- gboolean redraw = FALSE;
-
- int sel_start, sel_end;
-
- /* If the EText isn't editable, then ignore any commands that would
- modify the text. */
- if (!ect->editable && (command->action == E_TEP_DELETE
- || command->action == E_TEP_INSERT
- || command->action == E_TEP_PASTE
- || command->action == E_TEP_GET_SELECTION))
- return;
-
- switch (command->action) {
- case E_TEP_MOVE:
- edit->selection_start = _get_position (text_view, command);
- edit->selection_end = edit->selection_start;
- if (edit->timer) {
- g_timer_reset (edit->timer);
- }
- redraw = TRUE;
- break;
- case E_TEP_SELECT:
- edit->selection_end = _get_position (text_view, command);
- sel_start = MIN(edit->selection_start, edit->selection_end);
- sel_end = MAX(edit->selection_start, edit->selection_end);
- if (sel_start != sel_end) {
- e_cell_text_view_supply_selection (edit, command->time, GDK_SELECTION_PRIMARY,
- edit->text + sel_start,
- sel_end - sel_start);
- } else if (edit->timer) {
- g_timer_reset (edit->timer);
- }
- redraw = TRUE;
- break;
- case E_TEP_DELETE:
- if (edit->selection_end == edit->selection_start) {
- edit->selection_end = _get_position (text_view, command);
- }
- _delete_selection (text_view);
- if (edit->timer) {
- g_timer_reset (edit->timer);
- }
- redraw = TRUE;
- change = TRUE;
- break;
-
- case E_TEP_INSERT:
- if (!edit->preedit_length && edit->selection_end != edit->selection_start) {
- _delete_selection (text_view);
- }
- _insert (text_view, command->string, command->value);
- if (edit->timer) {
- g_timer_reset (edit->timer);
- }
- redraw = TRUE;
- change = TRUE;
- break;
- case E_TEP_COPY:
- sel_start = MIN(edit->selection_start, edit->selection_end);
- sel_end = MAX(edit->selection_start, edit->selection_end);
- if (sel_start != sel_end) {
- e_cell_text_view_supply_selection (edit, command->time, clipboard_atom,
- edit->text + sel_start,
- sel_end - sel_start);
- }
- if (edit->timer) {
- g_timer_reset (edit->timer);
- }
- break;
- case E_TEP_PASTE:
- e_cell_text_view_get_selection (edit, clipboard_atom, command->time);
- if (edit->timer) {
- g_timer_reset (edit->timer);
- }
- redraw = TRUE;
- change = TRUE;
- break;
- case E_TEP_GET_SELECTION:
- e_cell_text_view_get_selection (edit, GDK_SELECTION_PRIMARY, command->time);
- break;
- case E_TEP_ACTIVATE:
- e_table_item_leave_edit_ (text_view->cell_view.e_table_item_view);
- break;
- case E_TEP_SET_SELECT_BY_WORD:
- edit->select_by_word = command->value;
- break;
- case E_TEP_GRAB:
- edit->actions = E_CELL_GRAB;
- break;
- case E_TEP_UNGRAB:
- edit->actions = E_CELL_UNGRAB;
- break;
- case E_TEP_CAPS:
- if (edit->selection_start == edit->selection_end) {
- capitalize (edit, edit->selection_start, next_word (edit, edit->selection_start), command->value);
- } else {
- int selection_start = MIN (edit->selection_start, edit->selection_end);
- int selection_end = edit->selection_start + edit->selection_end - selection_start; /* Slightly faster than MAX */
- capitalize (edit, selection_start, selection_end, command->value);
- }
- if (edit->timer) {
- g_timer_reset (edit->timer);
- }
- redraw = TRUE;
- change = TRUE;
- break;
- case E_TEP_NOP:
- break;
- }
-
- if (change) {
- if (edit->layout)
- g_object_unref (edit->layout);
- edit->layout = build_layout (text_view, edit->row, edit->text, edit->cell_width);
- }
-
- if (!edit->button_down) {
- PangoRectangle strong_pos, weak_pos;
- pango_layout_get_cursor_pos (edit->layout, edit->selection_end, &strong_pos, &weak_pos);
- if (strong_pos.x != weak_pos.x ||
- strong_pos.y != weak_pos.y ||
- strong_pos.width != weak_pos.width ||
- strong_pos.height != weak_pos.height) {
- if (show_pango_rectangle (edit, weak_pos))
- redraw = TRUE;
- }
- if (show_pango_rectangle (edit, strong_pos)) {
- redraw = TRUE;
- }
- }
-
- if (redraw){
- ect_queue_redraw (text_view, edit->view_col, edit->row);
- }
-}
-
-#ifdef DO_SELECTION
-static void
-_selection_clear_event (GtkInvisible *invisible,
- GdkEventSelection *event,
- CellEdit *edit)
-{
- if (event->selection == GDK_SELECTION_PRIMARY) {
- g_free (edit->primary_selection);
- edit->primary_selection = NULL;
- edit->primary_length = 0;
-
- edit->has_selection = FALSE;
-#if 0
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM(text));
-#endif
-
- } else if (event->selection == clipboard_atom) {
- g_free (edit->clipboard_selection);
- edit->clipboard_selection = NULL;
- edit->clipboard_length = 0;
- }
-}
-
-static void
-_selection_get (GtkInvisible *invisible,
- GtkSelectionData *selection_data,
- guint info,
- guint time_stamp,
- CellEdit *edit)
-{
- switch (info) {
- case E_SELECTION_PRIMARY:
- gtk_selection_data_set (selection_data, UTF8_ATOM,
- 8, edit->primary_selection,
- edit->primary_length);
- break;
- case E_SELECTION_CLIPBOARD:
- gtk_selection_data_set (selection_data, UTF8_ATOM,
- 8, edit->clipboard_selection,
- edit->clipboard_length);
- break;
- }
-}
-
-/* fixme: What happens, if delivered string is not UTF-8? */
-
-static void
-_selection_received (GtkInvisible *invisible,
- GtkSelectionData *selection_data,
- guint time,
- CellEdit *edit)
-{
- if (selection_data->length < 0 ||
- !(selection_data->type == UTF8_ATOM ||
- selection_data->type == GDK_SELECTION_TYPE_STRING)) {
- return;
- } else {
- ETextEventProcessorCommand command;
- command.action = E_TEP_INSERT;
- command.position = E_TEP_SELECTION;
- command.string = selection_data->data;
- command.value = selection_data->length;
- command.time = time;
- e_cell_text_view_command (edit->tep, &command, edit);
- }
-}
-
-static GtkWidget *e_cell_text_view_get_invisible (CellEdit *edit)
-{
- if (edit->invisible == NULL) {
- GtkWidget *invisible = gtk_invisible_new ();
- edit->invisible = invisible;
-
- gtk_selection_add_target (invisible,
- GDK_SELECTION_PRIMARY,
- UTF8_ATOM,
- E_SELECTION_PRIMARY);
- gtk_selection_add_target (invisible,
- clipboard_atom,
- UTF8_ATOM,
- E_SELECTION_CLIPBOARD);
-
- g_signal_connect (invisible, "selection_get",
- G_CALLBACK (_selection_get),
- edit);
- g_signal_connect (invisible, "selection_clear_event",
- G_CALLBACK (_selection_clear_event),
- edit);
- g_signal_connect (invisible, "selection_received",
- G_CALLBACK (_selection_received),
- edit);
- }
- return edit->invisible;
-}
-#endif
-
-static void
-e_cell_text_view_supply_selection (CellEdit *edit, guint time, GdkAtom selection, char *data, gint length)
-{
-#if DO_SELECTION
- gboolean successful;
- GtkWidget *invisible;
-
- invisible = e_cell_text_view_get_invisible (edit);
-
- if (selection == GDK_SELECTION_PRIMARY){
- if (edit->primary_selection) {
- g_free (edit->primary_selection);
- }
- edit->primary_selection = g_strndup (data, length);
- edit->primary_length = length;
- } else if (selection == clipboard_atom) {
- if (edit->clipboard_selection) {
- g_free (edit->clipboard_selection);
- }
- edit->clipboard_selection = g_strndup (data, length);
- edit->clipboard_length = length;
- }
-
- successful = gtk_selection_owner_set (invisible,
- selection,
- time);
-
- if (selection == GDK_SELECTION_PRIMARY)
- edit->has_selection = successful;
-#endif
-}
-
-static void
-e_cell_text_view_get_selection (CellEdit *edit, GdkAtom selection, guint32 time)
-{
-#if DO_SELECTION
- GtkWidget *invisible;
- invisible = e_cell_text_view_get_invisible (edit);
- gtk_selection_convert (invisible,
- selection,
- UTF8_ATOM,
- time);
-#endif
-}
-
-static void
-_get_tep (CellEdit *edit)
-{
- if (!edit->tep) {
- edit->tep = e_text_event_processor_emacs_like_new ();
- g_signal_connect (edit->tep,
- "command",
- G_CALLBACK(e_cell_text_view_command),
- (gpointer) edit);
- }
-}
-
-static GdkColor*
-e_cell_text_get_color (ECellTextView *cell_view, gchar *color_spec)
-{
- ECellText *ect = E_CELL_TEXT (((ECellView*) cell_view)->ecell);
- GdkColormap *colormap;
- GdkColor *color, tmp_color;
-
- /* If the color spec is NULL we use the default color. */
- if (color_spec == NULL)
- return NULL;
-
- /* Create the hash table if we haven't already. */
- if (!ect->colors)
- ect->colors = g_hash_table_new (g_str_hash, g_str_equal);
-
- /* See if we've already allocated the color. Note that we use a
- special value of (GdkColor*) 1 in the hash to indicate that we've
- already tried and failed to allocate the color, so we don't keep
- trying to allocate it. */
- color = g_hash_table_lookup (ect->colors, color_spec);
- if (color == (GdkColor*) 1)
- return NULL;
- if (color)
- return color;
-
- /* Try to parse the color. */
- if (gdk_color_parse (color_spec, &tmp_color)) {
- colormap = gtk_widget_get_colormap (GTK_WIDGET (cell_view->canvas));
-
- /* Try to allocate the color. */
- if (gdk_color_alloc (colormap, &tmp_color))
- color = gdk_color_copy (&tmp_color);
- }
-
- g_hash_table_insert (ect->colors, g_strdup (color_spec),
- color ? color : (GdkColor*) 1);
- return color;
-}
-
-/**
- * e_cell_text_set_selection:
- * @cell_view: the given cell view
- * @col: column of the given cell in the view
- * @row: row of the given cell in the view
- * @start: start offset of the selection
- * @end: end offset of the selection
- *
- * Sets the selection of given text cell.
- * If the current editing cell is not the given cell, this function
- * will return FALSE;
- *
- * If success, the [start, end) part of the text will be selected.
- *
- * This API is most likely to be used by a11y implementations.
- *
- * Returns: whether the action is successful.
- */
-gboolean
-e_cell_text_set_selection (ECellView *cell_view,
- gint col,
- gint row,
- gint start,
- gint end)
-{
- ECellTextView *ectv;
- CellEdit *edit;
- ETextEventProcessorCommand command1, command2;
-
- ectv = (ECellTextView *)cell_view;
- edit = ectv->edit;
- if (!edit)
- return FALSE;
-
- if (edit->view_col != col || edit->row != row)
- return FALSE;
-
- command1.action = E_TEP_MOVE;
- command1.position = E_TEP_VALUE;
- command1.value = start;
- e_cell_text_view_command (edit->tep, &command1, edit);
-
- command2.action = E_TEP_SELECT;
- command2.position = E_TEP_VALUE;
- command2.value = end;
- e_cell_text_view_command (edit->tep, &command2, edit);
-
- return TRUE;
-}
-
-/**
- * e_cell_text_get_selection:
- * @cell_view: the given cell view
- * @col: column of the given cell in the view
- * @row: row of the given cell in the view
- * @start: a pointer to an int value indicates the start offset of the selection
- * @end: a pointer to an int value indicates the end offset of the selection
- *
- * Gets the selection of given text cell.
- * If the current editing cell is not the given cell, this function
- * will return FALSE;
- *
- * This API is most likely to be used by a11y implementations.
- *
- * Returns: whether the action is successful.
- */
-gboolean
-e_cell_text_get_selection (ECellView *cell_view,
- gint col,
- gint row,
- gint *start,
- gint *end)
-{
- ECellTextView *ectv;
- CellEdit *edit;
-
- ectv = (ECellTextView *)cell_view;
- edit = ectv->edit;
- if (!edit)
- return FALSE;
-
- if (edit->view_col != col || edit->row != row)
- return FALSE;
-
- if (start)
- *start = edit->selection_start;
- if (end)
- *end = edit->selection_end;
- return TRUE;
-}
-
-/**
- * e_cell_text_copy_clipboard:
- * @cell_view: the given cell view
- * @col: column of the given cell in the view
- * @row: row of the given cell in the view
- *
- * Copys the selected text to clipboard.
- *
- * This API is most likely to be used by a11y implementations.
- */
-void
-e_cell_text_copy_clipboard (ECellView *cell_view, gint col, gint row)
-{
- ECellTextView *ectv;
- CellEdit *edit;
- ETextEventProcessorCommand command;
-
- ectv = (ECellTextView *)cell_view;
- edit = ectv->edit;
- if (!edit)
- return;
-
- if (edit->view_col != col || edit->row != row)
- return;
-
- command.action = E_TEP_COPY;
- command.time = GDK_CURRENT_TIME;
- e_cell_text_view_command (edit->tep, &command, edit);
-}
-
-/**
- * e_cell_text_paste_clipboard:
- * @cell_view: the given cell view
- * @col: column of the given cell in the view
- * @row: row of the given cell in the view
- *
- * Pastes the text from the clipboardt.
- *
- * This API is most likely to be used by a11y implementations.
- */
-void
-e_cell_text_paste_clipboard (ECellView *cell_view, gint col, gint row)
-{
- ECellTextView *ectv;
- CellEdit *edit;
- ETextEventProcessorCommand command;
-
- ectv = (ECellTextView *)cell_view;
- edit = ectv->edit;
- if (!edit)
- return;
-
- if (edit->view_col != col || edit->row != row)
- return;
-
- command.action = E_TEP_PASTE;
- command.time = GDK_CURRENT_TIME;
- e_cell_text_view_command (edit->tep, &command, edit);
-}
-
-/**
- * e_cell_text_delete_selection:
- * @cell_view: the given cell view
- * @col: column of the given cell in the view
- * @row: row of the given cell in the view
- *
- * Deletes the selected text of the cell.
- *
- * This API is most likely to be used by a11y implementations.
- */
-void
-e_cell_text_delete_selection (ECellView *cell_view, gint col, gint row)
-{
- ECellTextView *ectv;
- CellEdit *edit;
- ETextEventProcessorCommand command;
-
- ectv = (ECellTextView *)cell_view;
- edit = ectv->edit;
- if (!edit)
- return;
-
- if (edit->view_col != col || edit->row != row)
- return;
-
- command.action = E_TEP_DELETE;
- command.position = E_TEP_SELECTION;
- e_cell_text_view_command (edit->tep, &command, edit);
-}
-
-/**
- * e_cell_text_get_text_by_view:
- * @cell_view: the given cell view
- * @col: column of the given cell in the model
- * @row: row of the given cell in the model
- *
- * Get the cell's text directly from CellEdit,
- * during editting this cell, the cell's text value maybe inconsistant
- * with the text got from table_model.
- * The caller should free the text after using it.
- *
- * This API is most likely to be used by a11y implementations.
- */
-char *
-e_cell_text_get_text_by_view (ECellView *cell_view, gint col, gint row)
-{
- ECellTextView *ectv;
- CellEdit *edit;
- gchar *ret, *model_text;
-
- ectv = (ECellTextView *)cell_view;
- edit = ectv->edit;
-
- if (edit && ectv->edit->row == row && ectv->edit->model_col == col) { /* being editted now */
- ret = g_strdup (edit->text);
- } else{
- model_text = e_cell_text_get_text (E_CELL_TEXT (cell_view->ecell),
- cell_view->e_table_model, col, row);
- ret = g_strdup (model_text);
- e_cell_text_free_text (E_CELL_TEXT (cell_view->ecell), model_text);
- }
-
- return ret;
-
-}
diff --git a/widgets/table/e-cell-text.h b/widgets/table/e-cell-text.h
deleted file mode 100644
index 0ef32b9ede..0000000000
--- a/widgets/table/e-cell-text.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cell-text.h: Text cell renderer.
- * Copyright 1999, 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza <miguel@ximian.com>
- * Chris Lahey <clahey@ximian.com>
- *
- * A lot of code taken from:
- *
- * Text item type for GnomeCanvas widget
- *
- * GnomeCanvas is basically a port of the Tk toolkit's most excellent
- * canvas widget. Tk is copyrighted by the Regents of the University
- * of California, Sun Microsystems, and other parties.
- *
- * Copyright (C) 1998 The Free Software Foundation
- *
- * Author: Federico Mena <federico@nuclecu.unam.mx>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_CELL_TEXT_H_
-#define _E_CELL_TEXT_H_
-#include <gtk/gtkmenu.h>
-#include <libgnomecanvas/gnome-canvas.h>
-#include <gal/e-table/e-cell.h>
-
-G_BEGIN_DECLS
-
-#define E_CELL_TEXT_TYPE (e_cell_text_get_type ())
-#define E_CELL_TEXT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_CELL_TEXT_TYPE, ECellText))
-#define E_CELL_TEXT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_CELL_TEXT_TYPE, ECellTextClass))
-#define E_IS_CELL_TEXT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_CELL_TEXT_TYPE))
-#define E_IS_CELL_TEXT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_CELL_TEXT_TYPE))
-
-typedef struct {
- ECell parent;
-
- GtkJustification justify;
- char *font_name;
-
- double x, y; /* Position at anchor */
-
- gulong pixel; /* Fill color */
-
- /* Clip handling */
- char *ellipsis; /* The ellipsis characters. NULL = "...". */
-
- guint use_ellipsis : 1; /* Whether to use the ellipsis. */
- guint editable : 1; /* Whether the text can be edited. */
-
- int strikeout_column;
- int underline_column;
- int bold_column;
-
- /* This column in the ETable should return a string specifying a color,
- either a color name like "red" or a color spec like "rgb:F/0/0".
- See the XParseColor man page for the formats available. */
- int color_column;
- int bg_color_column;
-
- /* This stores the colors we have allocated. */
- GHashTable *colors;
-} ECellText;
-
-typedef struct {
- ECellClass parent_class;
-
- char *(*get_text) (ECellText *cell, ETableModel *model, int col, int row);
- void (*free_text) (ECellText *cell, char *text);
- void (*set_value) (ECellText *cell, ETableModel *model, int col, int row, const char *text);
- /* signal handlers */
- void (*text_inserted) (ECellText *cell, ECellView *cell_view, int pos, int len, int row, int model_col);
- void (*text_deleted) (ECellText *cell, ECellView *cell_view, int pos, int len, int row, int model_col);
-} ECellTextClass;
-
-GType e_cell_text_get_type (void);
-ECell *e_cell_text_new (const char *fontname, GtkJustification justify);
-ECell *e_cell_text_construct(ECellText *cell, const char *fontname, GtkJustification justify);
-
-/* Gets the value from the model and converts it into a string. In ECellText
- itself, the value is assumed to be a char* and so needs no conversion.
- In subclasses the ETableModel value may be a more complicated datatype. */
-char *e_cell_text_get_text (ECellText *cell, ETableModel *model, int col, int row);
-
-/* Frees the value returned by e_cell_text_get_text(). */
-void e_cell_text_free_text (ECellText *cell, char *text);
-
-/* Sets the ETableModel value, based on the given string. */
-void e_cell_text_set_value (ECellText *cell, ETableModel *model, int col, int row, const char *text);
-
-/* Sets the selection of given text cell */
-gboolean e_cell_text_set_selection (ECellView *cell_view, gint col, gint row, gint start, gint end);
-
-/* Gets the selection of given text cell */
-gboolean e_cell_text_get_selection (ECellView *cell_view, gint col, gint row, gint *start, gint *end);
-
-/* Copys the selected text to the clipboard */
-void e_cell_text_copy_clipboard (ECellView *cell_view, gint col, gint row);
-
-/* Pastes the text from the clipboard */
-void e_cell_text_paste_clipboard (ECellView *cell_view, gint col, gint row);
-
-/* Deletes selected text */
-void e_cell_text_delete_selection (ECellView *cell_view, gint col, gint row);
-
-/* get text directly from view, both col and row are model format */
-char *e_cell_text_get_text_by_view (ECellView *cell_view, gint col, gint row);
-
-G_END_DECLS
-
-#endif /* _E_CELL_TEXT_H_ */
-
-
diff --git a/widgets/table/e-cell-toggle.c b/widgets/table/e-cell-toggle.c
deleted file mode 100644
index 34e8a8b76d..0000000000
--- a/widgets/table/e-cell-toggle.c
+++ /dev/null
@@ -1,489 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cell-toggle.c - Multi-state image toggle cell object.
- * Copyright 1999, 2000, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza <miguel@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <gtk/gtkenums.h>
-#include <gtk/gtkentry.h>
-#include <gtk/gtkwindow.h>
-#include <gtk/gtksignal.h>
-#include <gdk/gdkkeysyms.h>
-#include <libgnomecanvas/gnome-canvas.h>
-#include "e-cell-toggle.h"
-#include "gal/util/e-util.h"
-#include "gal/widgets/e-hsv-utils.h"
-#include "e-table-item.h"
-#include "gal/a11y/e-table/gal-a11y-e-cell-toggle.h"
-#include "gal/a11y/e-table/gal-a11y-e-cell-registry.h"
-
-#define PARENT_TYPE e_cell_get_type ()
-
-typedef struct {
- ECellView cell_view;
- GdkGC *gc;
- GnomeCanvas *canvas;
- GdkPixmap **pixmap_cache;
-} ECellToggleView;
-
-static ECellClass *parent_class;
-
-#define CACHE_SEQ_COUNT 6
-
-static int
-gnome_print_pixbuf (GnomePrintContext *pc, GdkPixbuf *pixbuf)
-{
- if (gdk_pixbuf_get_has_alpha (pixbuf))
- return gnome_print_rgbaimage (pc,
- gdk_pixbuf_get_pixels (pixbuf),
- gdk_pixbuf_get_width (pixbuf),
- gdk_pixbuf_get_height (pixbuf),
- gdk_pixbuf_get_rowstride (pixbuf));
- else
- return gnome_print_rgbimage (pc,
- gdk_pixbuf_get_pixels (pixbuf),
- gdk_pixbuf_get_width (pixbuf),
- gdk_pixbuf_get_height (pixbuf),
- gdk_pixbuf_get_rowstride (pixbuf));
-}
-
-/*
- * ECell::realize method
- */
-static ECellView *
-etog_new_view (ECell *ecell, ETableModel *table_model, void *e_table_item_view)
-{
- ECellToggleView *toggle_view = g_new0 (ECellToggleView, 1);
- ETableItem *eti = E_TABLE_ITEM (e_table_item_view);
- GnomeCanvas *canvas = GNOME_CANVAS_ITEM (eti)->canvas;
- ECellToggle *etog = E_CELL_TOGGLE (ecell);
- int i;
-
- toggle_view->cell_view.ecell = ecell;
- toggle_view->cell_view.e_table_model = table_model;
- toggle_view->cell_view.e_table_item_view = e_table_item_view;
- toggle_view->canvas = canvas;
- toggle_view->pixmap_cache = g_new (GdkPixmap *, etog->n_states * CACHE_SEQ_COUNT);
- for (i = 0; i < etog->n_states * CACHE_SEQ_COUNT; i++)
- toggle_view->pixmap_cache[i] = NULL;
-
- return (ECellView *) toggle_view;
-}
-
-static void
-etog_kill_view (ECellView *ecell_view)
-{
- ECellToggle *etog = E_CELL_TOGGLE (ecell_view->ecell);
- ECellToggleView *toggle_view = (ECellToggleView *) ecell_view;
- int i;
-
- for (i = 0; i < etog->n_states * CACHE_SEQ_COUNT; i++)
- if (toggle_view->pixmap_cache[i])
- gdk_pixmap_unref (toggle_view->pixmap_cache[i]);
- g_free (toggle_view->pixmap_cache);
- g_free (ecell_view);
-}
-
-static void
-etog_realize (ECellView *ecell_view)
-{
- ECellToggleView *toggle_view = (ECellToggleView *) ecell_view;
-
- toggle_view->gc = gdk_gc_new (GTK_WIDGET (toggle_view->canvas)->window);
-}
-
-/*
- * ECell::unrealize method
- */
-static void
-etog_unrealize (ECellView *ecv)
-{
- ECellToggleView *toggle_view = (ECellToggleView *) ecv;
-
- gdk_gc_unref (toggle_view->gc);
- toggle_view->gc = NULL;
-}
-
-#define PIXMAP_CACHE(toggle_view, cache_seq, image_seq) ((toggle_view)->pixmap_cache[(cache_seq) * E_CELL_TOGGLE (((ECellView *) (toggle_view))->ecell)->n_states + (image_seq)])
-
-#define RGB_COLOR(color) (((color).red & 0xff00) << 8 | \
- ((color).green & 0xff00) | \
- ((color).blue & 0xff00) >> 8)
-
-static void
-check_cache (ECellToggleView *toggle_view, int image_seq, int cache_seq)
-{
- ECellView *ecell_view = (ECellView *) toggle_view;
- ECellToggle *etog = E_CELL_TOGGLE (ecell_view->ecell);
-
- if (PIXMAP_CACHE (toggle_view, cache_seq, image_seq) == NULL) {
- GdkPixbuf *image = etog->images[image_seq];
- GdkPixbuf *flat;
- GdkColor color;
- int width = gdk_pixbuf_get_width (image);
- int height = gdk_pixbuf_get_height (image);
-
- PIXMAP_CACHE (toggle_view, cache_seq, image_seq) =
- gdk_pixmap_new (toggle_view->canvas->layout.bin_window, width, height,
- gtk_widget_get_visual (GTK_WIDGET (toggle_view->canvas))->depth);
-
-
- switch (cache_seq % 3) {
- case 0:
- color = GTK_WIDGET (toggle_view->canvas)->style->bg [GTK_STATE_SELECTED];
- break;
- case 1:
- color = GTK_WIDGET (toggle_view->canvas)->style->bg [GTK_STATE_ACTIVE];
- break;
- case 2:
- color = GTK_WIDGET (toggle_view->canvas)->style->base [GTK_STATE_NORMAL];
- break;
- }
-
- if (cache_seq >= 3) {
- e_hsv_tweak (&color, 0.0f, 0.0f, -0.07f);
- }
-
- flat = gdk_pixbuf_composite_color_simple (image,
- width, height,
- GDK_INTERP_BILINEAR,
- 255,
- 1,
- RGB_COLOR (color), RGB_COLOR (color));
-
- gdk_pixbuf_render_to_drawable (flat, PIXMAP_CACHE (toggle_view, cache_seq, image_seq),
- toggle_view->gc,
- 0, 0,
- 0, 0,
- width, height,
- GDK_RGB_DITHER_NORMAL,
- 0, 0);
- gdk_pixbuf_unref (flat);
- }
-}
-
-/*
- * ECell::draw method
- */
-static void
-etog_draw (ECellView *ecell_view, GdkDrawable *drawable,
- int model_col, int view_col, int row, ECellFlags flags,
- int x1, int y1, int x2, int y2)
-{
- ECellToggle *toggle = E_CELL_TOGGLE (ecell_view->ecell);
- gboolean selected;
- ECellToggleView *toggle_view = (ECellToggleView *) ecell_view;
- GdkPixmap *pixmap;
- GdkPixbuf *image;
- int x, y, width, height;
- int cache_seq;
-
- const int value = GPOINTER_TO_INT (
- e_table_model_value_at (ecell_view->e_table_model, model_col, row));
-
- selected = flags & E_CELL_SELECTED;
-
- if (value < 0 || value >= toggle->n_states){
- g_warning ("Value from the table model is %d, the states we support are [0..%d)\n",
- value, toggle->n_states);
- return;
- }
-
- if (flags & E_CELL_SELECTED) {
- if (GTK_WIDGET_HAS_FOCUS (toggle_view->canvas))
- cache_seq = 0;
- else
- cache_seq = 1;
- } else
- cache_seq = 2;
-
- if (E_TABLE_ITEM (ecell_view->e_table_item_view)->alternating_row_colors && (row % 2) == 0)
- cache_seq += 3;
-
- check_cache (toggle_view, value, cache_seq);
-
- pixmap = PIXMAP_CACHE (toggle_view, cache_seq, value);
- image = toggle->images[value];
-
- if ((x2 - x1) < gdk_pixbuf_get_width (image)){
- x = x1;
- width = x2 - x1;
- } else {
- x = x1 + ((x2 - x1) - gdk_pixbuf_get_width (image)) / 2;
- width = gdk_pixbuf_get_width (image);
- }
-
- if ((y2 - y1) < gdk_pixbuf_get_height (image)){
- y = y1;
- height = y2 - y1;
- } else {
- y = y1 + ((y2 - y1) - gdk_pixbuf_get_height (image)) / 2;
- height = gdk_pixbuf_get_height (image);
- }
-
- gdk_draw_pixmap (drawable, toggle_view->gc,
- pixmap,
- 0, 0,
- x, y,
- width, height);
-}
-
-static void
-etog_set_value (ECellToggleView *toggle_view, int model_col, int view_col, int row, int value)
-{
- ECell *ecell = toggle_view->cell_view.ecell;
- ECellToggle *toggle = E_CELL_TOGGLE (ecell);
-
- if (value >= toggle->n_states)
- value = 0;
-
- e_table_model_set_value_at (toggle_view->cell_view.e_table_model,
- model_col, row, GINT_TO_POINTER (value));
-}
-
-/*
- * ECell::event method
- */
-static gint
-etog_event (ECellView *ecell_view, GdkEvent *event, int model_col, int view_col, int row, ECellFlags flags, ECellActions *actions)
-{
- ECellToggleView *toggle_view = (ECellToggleView *) ecell_view;
- void *_value = e_table_model_value_at (ecell_view->e_table_model, model_col, row);
- const int value = GPOINTER_TO_INT (_value);
-
-#if 0
- if (!(flags & E_CELL_EDITING))
- return FALSE;
-#endif
-
- switch (event->type){
- case GDK_KEY_PRESS:
- if (event->key.keyval != GDK_space)
- return FALSE;
- /* Fall through */
- case GDK_BUTTON_PRESS:
- if (!e_table_model_is_cell_editable(ecell_view->e_table_model, model_col, row))
- return FALSE;
-
- etog_set_value (toggle_view, model_col, view_col, row, value + 1);
- return TRUE;
-
- default:
- return FALSE;
- }
- return TRUE;
-}
-
-/*
- * ECell::height method
- */
-static int
-etog_height (ECellView *ecell_view, int model_col, int view_col, int row)
-{
- ECellToggle *toggle = E_CELL_TOGGLE (ecell_view->ecell);
-
- return toggle->height;
-}
-
-/*
- * ECell::print method
- */
-static void
-etog_print (ECellView *ecell_view, GnomePrintContext *context,
- int model_col, int view_col, int row,
- double width, double height)
-{
- ECellToggle *toggle = E_CELL_TOGGLE(ecell_view->ecell);
- GdkPixbuf *image;
- const int value = GPOINTER_TO_INT (
- e_table_model_value_at (ecell_view->e_table_model, model_col, row));
-
- if (value >= toggle->n_states){
- g_warning ("Value from the table model is %d, the states we support are [0..%d)\n",
- value, toggle->n_states);
- return;
- }
-
- gnome_print_gsave(context);
-
- image = toggle->images[value];
-
- gnome_print_translate (context, 0, (height - toggle->height) / 2);
- gnome_print_scale (context, toggle->height, toggle->height);
- gnome_print_pixbuf (context, image);
-
- gnome_print_grestore(context);
-}
-
-static gdouble
-etog_print_height (ECellView *ecell_view, GnomePrintContext *context,
- int model_col, int view_col, int row,
- double width)
-{
- ECellToggle *toggle = E_CELL_TOGGLE (ecell_view->ecell);
-
- return toggle->height;
-}
-
-/*
- * ECell::max_width method
- */
-static int
-etog_max_width (ECellView *ecell_view, int model_col, int view_col)
-{
- ECellToggle *toggle = E_CELL_TOGGLE (ecell_view->ecell);
- int max_width = 0;
- int number_of_rows;
- int row;
-
- number_of_rows = e_table_model_row_count (ecell_view->e_table_model);
- for (row = 0; row < number_of_rows; row++) {
- void *value = e_table_model_value_at (ecell_view->e_table_model,
- model_col, row);
- max_width = MAX (max_width, gdk_pixbuf_get_width (toggle->images[GPOINTER_TO_INT (value)]));
- }
-
- return max_width;
-}
-
-static void
-etog_style_set (ECellView *ecell_view, GtkStyle *previous_style)
-{
- ECellToggle *toggle = E_CELL_TOGGLE (ecell_view->ecell);
- ECellToggleView *toggle_view = (ECellToggleView *) ecell_view;
- int i;
-
- for (i = 0; i < toggle->n_states * CACHE_SEQ_COUNT; i++) {
- if (toggle_view->pixmap_cache[i]) {
- gdk_pixmap_unref (toggle_view->pixmap_cache[i]);
- toggle_view->pixmap_cache[i] = NULL;
- }
- }
-}
-
-static void
-etog_finalize (GObject *object)
-{
- ECellToggle *etog = E_CELL_TOGGLE (object);
- int i;
-
- for (i = 0; i < etog->n_states; i++)
- gdk_pixbuf_unref (etog->images [i]);
-
- g_free (etog->images);
-
- etog->images = NULL;
- etog->n_states = 0;
-
- G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-static void
-e_cell_toggle_class_init (GtkObjectClass *object_class)
-{
- ECellClass *ecc = (ECellClass *) object_class;
-
- G_OBJECT_CLASS (object_class)->finalize = etog_finalize;
-
- ecc->new_view = etog_new_view;
- ecc->kill_view = etog_kill_view;
- ecc->realize = etog_realize;
- ecc->unrealize = etog_unrealize;
- ecc->draw = etog_draw;
- ecc->event = etog_event;
- ecc->height = etog_height;
- ecc->print = etog_print;
- ecc->print_height = etog_print_height;
- ecc->max_width = etog_max_width;
- ecc->style_set = etog_style_set;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
- gal_a11y_e_cell_registry_add_cell_type (NULL,
- E_CELL_TOGGLE_TYPE,
- gal_a11y_e_cell_toggle_new);
-}
-
-static void
-e_cell_toggle_init (GtkObject *object)
-{
- ECellToggle *etog = (ECellToggle *) object;
-
- etog->images = NULL;
- etog->n_states = 0;
-}
-
-E_MAKE_TYPE(e_cell_toggle, "ECellToggle", ECellToggle, e_cell_toggle_class_init, e_cell_toggle_init, PARENT_TYPE)
-
-/**
- * e_cell_toggle_construct:
- * @etog: a fresh ECellToggle object
- * @border: number of pixels used as a border
- * @n_states: number of states the toggle will have
- * @images: a collection of @n_states images, one for each state.
- *
- * Constructs the @etog object with the @border, @n_staes, and @images
- * arguments.
- */
-void
-e_cell_toggle_construct (ECellToggle *etog, int border, int n_states, GdkPixbuf **images)
-{
- int max_height = 0;
- int i;
-
- etog->border = border;
- etog->n_states = n_states;
-
- etog->images = g_new (GdkPixbuf *, n_states);
-
- for (i = 0; i < n_states; i++){
- etog->images [i] = images [i];
- gdk_pixbuf_ref (images [i]);
-
- if (gdk_pixbuf_get_height (images [i]) > max_height)
- max_height = gdk_pixbuf_get_height (images [i]);
- }
-
- etog->height = max_height;
-}
-
-/**
- * e_cell_checkbox_new:
- * @border: number of pixels used as a border
- * @n_states: number of states the toggle will have
- * @images: a collection of @n_states images, one for each state.
- *
- * Creates a new ECell renderer that can be used to render toggle
- * buttons with the images specified in @images. The value returned
- * by ETableModel::get_value is typecase into an integer and clamped
- * to the [0..n_states) range. That will select the image rendered.
- *
- * Returns: an ECell object that can be used to render multi-state
- * toggle cells.
- */
-ECell *
-e_cell_toggle_new (int border, int n_states, GdkPixbuf **images)
-{
- ECellToggle *etog = g_object_new (E_CELL_TOGGLE_TYPE, NULL);
-
- e_cell_toggle_construct (etog, border, n_states, images);
-
- return (ECell *) etog;
-}
diff --git a/widgets/table/e-cell-toggle.h b/widgets/table/e-cell-toggle.h
deleted file mode 100644
index 71d9de3883..0000000000
--- a/widgets/table/e-cell-toggle.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cell-toggle.h - Multi-state image toggle cell object.
- * Copyright 1999, 2000, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza <miguel@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_CELL_TOGGLE_H_
-#define _E_CELL_TOGGLE_H_
-
-#include <libgnomecanvas/gnome-canvas.h>
-#include <gdk-pixbuf/gdk-pixbuf.h>
-#include <gal/e-table/e-cell.h>
-
-G_BEGIN_DECLS
-
-#define E_CELL_TOGGLE_TYPE (e_cell_toggle_get_type ())
-#define E_CELL_TOGGLE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_CELL_TOGGLE_TYPE, ECellToggle))
-#define E_CELL_TOGGLE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_CELL_TOGGLE_TYPE, ECellToggleClass))
-#define E_IS_CELL_TOGGLE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_CELL_TOGGLE_TYPE))
-#define E_IS_CELL_TOGGLE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_CELL_TOGGLE_TYPE))
-
-typedef struct {
- ECell parent;
-
- int border;
- int n_states;
- GdkPixbuf **images;
-
- int height;
-} ECellToggle;
-
-typedef struct {
- ECellClass parent_class;
-} ECellToggleClass;
-
-GType e_cell_toggle_get_type (void);
-ECell *e_cell_toggle_new (int border, int n_states, GdkPixbuf **images);
-void e_cell_toggle_construct (ECellToggle *etog, int border,
- int n_states, GdkPixbuf **images);
-
-G_END_DECLS
-
-#endif /* _E_CELL_TOGGLE_H_ */
-
-
diff --git a/widgets/table/e-cell-tree.c b/widgets/table/e-cell-tree.c
deleted file mode 100644
index a0be81e889..0000000000
--- a/widgets/table/e-cell-tree.c
+++ /dev/null
@@ -1,911 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cell-tree.c - Tree cell object.
- * Copyright 1999, 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Toshok <toshok@ximian.com>
- *
- * A majority of code taken from:
- *
- * the ECellText renderer.
- * Copyright 1998, The Free Software Foundation
- * Copyright 1999, 2000, Ximian, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-
-#include <ctype.h>
-#include <math.h>
-#include <stdio.h>
-
-#include <gdk/gdkx.h> /* for BlackPixel */
-#include <gtk/gtkenums.h>
-#include <gtk/gtkentry.h>
-#include <gtk/gtkwindow.h>
-#include <gtk/gtkinvisible.h>
-#include <gtk/gtksignal.h>
-#include <gdk/gdkkeysyms.h>
-#include <libgnomecanvas/gnome-canvas.h>
-
-#include "e-tree-table-adapter.h"
-#include "e-tree.h"
-#include "e-tree-model.h"
-#include "gal/util/e-util.h"
-#include "e-table-item.h"
-#include "e-cell-tree.h"
-
-#include "tree-expanded.xpm"
-#include "tree-unexpanded.xpm"
-
-#include "gal/a11y/e-table/gal-a11y-e-cell-registry.h"
-#include "gal/a11y/e-table/gal-a11y-e-cell-tree.h"
-
-#define PARENT_TYPE e_cell_get_type ()
-
-typedef struct {
- ECellView cell_view;
- ECellView *subcell_view;
- GdkGC *gc;
-
- GnomeCanvas *canvas;
- gboolean retro_look;
- gboolean prelit;
- gint animate_timeout;
-
-} ECellTreeView;
-
-static ECellClass *parent_class;
-
-#define INDENT_AMOUNT 16
-
-ECellView *
-e_cell_tree_view_get_subcell_view (ECellView *ect)
-{
- return ((ECellTreeView *)ect)->subcell_view;
-}
-
-static ETreePath
-e_cell_tree_get_node (ETableModel *table_model, int row)
-{
- return e_table_model_value_at (table_model, -1, row);
-}
-
-static ETreeModel*
-e_cell_tree_get_tree_model (ETableModel *table_model, int row)
-{
- return e_table_model_value_at (table_model, -2, row);
-}
-
-static ETreeTableAdapter *
-e_cell_tree_get_tree_table_adapter (ETableModel *table_model, int row)
-{
- return e_table_model_value_at (table_model, -3, row);
-}
-
-static int
-visible_depth_of_node (ETableModel *model, int row)
-{
- ETreeModel *tree_model = e_cell_tree_get_tree_model(model, row);
- ETreeTableAdapter *adapter = e_cell_tree_get_tree_table_adapter(model, row);
- ETreePath path = e_cell_tree_get_node(model, row);
- return (e_tree_model_node_depth (tree_model, path)
- - (e_tree_table_adapter_root_node_is_visible (adapter) ? 0 : 1));
-}
-
-/* If this is changed to not include the width of the expansion pixmap
- if the path is not expandable, then max_width needs to change as
- well. */
-static gint
-offset_of_node (ETableModel *table_model, int row)
-{
- ETreeModel *tree_model = e_cell_tree_get_tree_model(table_model, row);
- ETreePath path = e_cell_tree_get_node(table_model, row);
-
- if (visible_depth_of_node (table_model, row) > 0 ||
- e_tree_model_node_is_expandable(tree_model, path)) {
- return (visible_depth_of_node(table_model, row) + 1) * INDENT_AMOUNT;
- } else {
- return 0;
- }
-}
-
-/*
- * ECell::new_view method
- */
-static ECellView *
-ect_new_view (ECell *ecell, ETableModel *table_model, void *e_table_item_view)
-{
- ECellTree *ect = E_CELL_TREE (ecell);
- ECellTreeView *tree_view = g_new0 (ECellTreeView, 1);
- GnomeCanvas *canvas = GNOME_CANVAS_ITEM (e_table_item_view)->canvas;
-
- tree_view->cell_view.ecell = ecell;
- tree_view->cell_view.e_table_model = table_model;
- tree_view->cell_view.e_table_item_view = e_table_item_view;
-
- /* create our subcell view */
- tree_view->subcell_view = e_cell_new_view (ect->subcell, table_model, e_table_item_view /* XXX */);
-
- tree_view->canvas = canvas;
-
- return (ECellView *)tree_view;
-}
-
-/*
- * ECell::kill_view method
- */
-static void
-ect_kill_view (ECellView *ecv)
-{
- ECellTreeView *tree_view = (ECellTreeView *) ecv;
-
- /* kill our subcell view */
- e_cell_kill_view (tree_view->subcell_view);
-
- g_free (tree_view);
-}
-
-/*
- * ECell::realize method
- */
-static void
-ect_realize (ECellView *ecell_view)
-{
- ECellTreeView *tree_view = (ECellTreeView *) ecell_view;
-
- /* realize our subcell view */
- e_cell_realize (tree_view->subcell_view);
-
- tree_view->gc = gdk_gc_new (GTK_WIDGET (tree_view->canvas)->window);
-
- gdk_gc_set_line_attributes (tree_view->gc, 1,
- GDK_LINE_ON_OFF_DASH, None, None);
- gdk_gc_set_dashes (tree_view->gc, 0, "\1\1", 2);
-
- if (parent_class->realize)
- (* parent_class->realize) (ecell_view);
-}
-
-/*
- * ECell::unrealize method
- */
-static void
-ect_unrealize (ECellView *ecv)
-{
- ECellTreeView *tree_view = (ECellTreeView *) ecv;
-
- /* unrealize our subcell view. */
- e_cell_unrealize (tree_view->subcell_view);
-
- gdk_gc_unref (tree_view->gc);
- tree_view->gc = NULL;
-
- if (parent_class->unrealize)
- (* parent_class->unrealize) (ecv);
-}
-
-static void
-draw_retro_expander (ECellTreeView *ectv, GdkDrawable *drawable, gboolean expanded, GdkRectangle *rect)
-{
- GdkPixbuf *image;
- int image_width, image_height;
- ECellTree *ect = E_CELL_TREE(ectv->cell_view.ecell);
-
- image = expanded ? ect->open_pixbuf : ect->closed_pixbuf;
-
- image_width = gdk_pixbuf_get_width(image);
- image_height = gdk_pixbuf_get_height(image);
-
- gdk_pixbuf_render_to_drawable_alpha (image,
- drawable,
- rect->x, rect->y,
- rect->width - image_width / 2,
- rect->height - image_height / 2,
- image_width, image_height,
- GDK_PIXBUF_ALPHA_BILEVEL,
- 128,
- GDK_RGB_DITHER_NORMAL,
- image_width, 0);
-}
-
-static void
-draw_expander (ECellTreeView *ectv, GdkDrawable *drawable, GtkExpanderStyle expander_style, GtkStateType state, GdkRectangle *rect)
-{
- GtkWidget *tree = GTK_WIDGET (ectv->canvas)->parent;
- gint exp_size;
- gtk_widget_style_get (tree, "expander_size", &exp_size, NULL);
-
- gtk_paint_expander (tree->style, drawable, state, rect, tree, "treeview", rect->x + rect->width - exp_size / 2, rect->y + rect->height / 2, expander_style);
-}
-
-/*
- * ECell::draw method
- */
-static void
-ect_draw (ECellView *ecell_view, GdkDrawable *drawable,
- int model_col, int view_col, int row, ECellFlags flags,
- int x1, int y1, int x2, int y2)
-{
- ECellTreeView *tree_view = (ECellTreeView *)ecell_view;
- ETreeModel *tree_model = e_cell_tree_get_tree_model(ecell_view->e_table_model, row);
- ETreeTableAdapter *tree_table_adapter = e_cell_tree_get_tree_table_adapter(ecell_view->e_table_model, row);
- ETreePath node;
- GdkRectangle rect, *clip_rect = NULL;
- GtkWidget *canvas = GTK_WIDGET (tree_view->canvas);
- GdkGC *fg_gc = canvas->style->fg_gc[GTK_STATE_ACTIVE];
- GdkColor *foreground;
- gboolean selected;
-
- int offset, subcell_offset;
-
- selected = flags & E_CELL_SELECTED;
-
- /* only draw the tree effects if we're the active sort */
- if (/* XXX */ TRUE) {
- GdkPixbuf *node_image;
- int node_image_width = 0, node_image_height = 0;
- ETreePath parent_node;
- ETree *tree = E_TREE (canvas->parent);
-
- gtk_widget_style_get (GTK_WIDGET (tree),
- "retro_look", &tree_view->retro_look,
- NULL);
- tree_view->prelit = FALSE;
-
- node = e_cell_tree_get_node (ecell_view->e_table_model, row);
-
- offset = offset_of_node (ecell_view->e_table_model, row);
- subcell_offset = offset;
-
- node_image = e_tree_model_icon_at (tree_model, node);
-
- if (node_image) {
- node_image_width = gdk_pixbuf_get_width (node_image);
- node_image_height = gdk_pixbuf_get_height (node_image);
- }
-
- /*
- * Be a nice citizen: clip to the region we are supposed to draw on
- */
- rect.x = x1;
- rect.y = y1;
- rect.width = subcell_offset + node_image_width;
- rect.height = y2 - y1;
-
- gdk_gc_set_clip_rectangle (tree_view->gc, &rect);
- gdk_gc_set_clip_rectangle (fg_gc, &rect);
- clip_rect = &rect;
-
- if (selected) {
- foreground = &canvas->style->text [GTK_STATE_SELECTED];
- } else {
- foreground = &canvas->style->text [GTK_STATE_NORMAL];
- }
-
- gdk_gc_set_foreground (tree_view->gc, foreground);
-
- /* draw our lines */
- if (tree_view->retro_look && E_CELL_TREE(tree_view->cell_view.ecell)->draw_lines) {
-
- int depth;
-
- if (visible_depth_of_node (ecell_view->e_table_model, row) > 0
- || e_tree_model_node_get_children (tree_model, node, NULL) > 0)
- gdk_draw_line (drawable, tree_view->gc,
- rect.x + offset - INDENT_AMOUNT / 2 + 1,
- rect.y + rect.height / 2,
- rect.x + offset,
- rect.y + rect.height / 2);
-
- if (visible_depth_of_node (ecell_view->e_table_model, row) != 0) {
- gdk_draw_line (drawable, tree_view->gc,
- rect.x + offset - INDENT_AMOUNT / 2,
- rect.y,
- rect.x + offset - INDENT_AMOUNT / 2,
- (e_tree_table_adapter_node_get_next (tree_table_adapter, node)
- ? rect.y + rect.height
- : rect.y + rect.height / 2));
- }
-
- /* now traverse back up to the root of the tree, checking at
- each level if the node has siblings, and drawing the
- correct vertical pipe for it's configuration. */
- parent_node = e_tree_model_node_get_parent (tree_model, node);
- offset -= INDENT_AMOUNT;
- depth = visible_depth_of_node (ecell_view->e_table_model, row) - 1;
- while (parent_node && depth != 0) {
- if (e_tree_table_adapter_node_get_next(tree_table_adapter, parent_node)) {
- gdk_draw_line (drawable, tree_view->gc,
- rect.x + offset - INDENT_AMOUNT / 2,
- rect.y,
- rect.x + offset - INDENT_AMOUNT / 2,
- rect.y + rect.height);
- }
- parent_node = e_tree_model_node_get_parent (tree_model, parent_node);
- depth --;
- offset -= INDENT_AMOUNT;
- }
- }
-
- /* now draw our icon if we're expandable */
- if (e_tree_model_node_is_expandable (tree_model, node)) {
- gboolean expanded = e_tree_table_adapter_node_is_expanded (tree_table_adapter, node);
- GdkRectangle r;
- if (tree_view->retro_look) {
- r.x = 0;
- r.y = 0;
- r.width = x1 + subcell_offset - INDENT_AMOUNT / 2,
- r.height = y1 + (y2 - y1) / 2,
- draw_retro_expander (tree_view, drawable, expanded, &r);
- } else {
- r = rect;
- r.width -= node_image_width + 2;
- draw_expander (tree_view, drawable, expanded ? GTK_EXPANDER_EXPANDED : GTK_EXPANDER_COLLAPSED, GTK_STATE_NORMAL, &r);
- }
- }
-
- if (node_image) {
- gdk_pixbuf_render_to_drawable_alpha (node_image,
- drawable,
- 0, 0,
- x1 + subcell_offset,
- y1 + (y2 - y1) / 2 - node_image_height / 2,
- node_image_width, node_image_height,
- GDK_PIXBUF_ALPHA_BILEVEL,
- 128,
- GDK_RGB_DITHER_NORMAL,
- node_image_width, 0);
- subcell_offset += node_image_width;
- }
- }
-
- /* Now cause our subcell to draw its contents, shifted by
- subcell_offset pixels */
- e_cell_draw (tree_view->subcell_view, drawable,
- model_col, view_col, row, flags,
- x1 + subcell_offset, y1, x2, y2);
-
- if (clip_rect) {
- gdk_gc_set_clip_rectangle (tree_view->gc, NULL);
- gdk_gc_set_clip_rectangle (fg_gc, NULL);
- }
-}
-
-static void
-adjust_event_position (GdkEvent *event, gint offset)
-{
- switch (event->type) {
- case GDK_BUTTON_PRESS:
- case GDK_BUTTON_RELEASE:
- case GDK_2BUTTON_PRESS:
- case GDK_3BUTTON_PRESS:
- event->button.x += offset;
- break;
- case GDK_MOTION_NOTIFY:
- event->motion.x += offset;
- break;
- default:
- break;
- }
-}
-
-static gboolean
-event_in_expander (GdkEvent *event, gint offset, gint height)
-{
- switch (event->type) {
- case GDK_BUTTON_PRESS:
- return (event->button.x > (offset - INDENT_AMOUNT) && event->button.x < offset);
- case GDK_MOTION_NOTIFY:
- return (event->motion.x > (offset - INDENT_AMOUNT) && event->motion.x < offset &&
- event->motion.y > 2 && event->motion.y < (height - 2));
- default:
- break;
- }
-
- return FALSE;
-}
-
-/*
- * ECell::height method
- */
-static int
-ect_height (ECellView *ecell_view, int model_col, int view_col, int row)
-{
- ECellTreeView *tree_view = (ECellTreeView *) ecell_view;
-
- return (((e_cell_height (tree_view->subcell_view, model_col, view_col, row)) + 1) / 2) * 2;
-}
-
-typedef struct {
- ECellTreeView *ectv;
- ETreeTableAdapter *etta;
- ETreePath node;
- gboolean expanded;
- gboolean finish;
- GdkRectangle area;
-} animate_closure_t;
-
-static gboolean
-animate_expander (gpointer data)
-{
- animate_closure_t *closure = (animate_closure_t *) data;
-
- if (closure->finish) {
- e_tree_table_adapter_node_set_expanded (closure->etta, closure->node, !closure->expanded);
- closure->ectv->animate_timeout = 0;
- g_free (data);
- return FALSE;
- }
-
- draw_expander (closure->ectv, GTK_LAYOUT (closure->ectv->canvas)->bin_window,
- closure->expanded ? GTK_EXPANDER_SEMI_COLLAPSED : GTK_EXPANDER_SEMI_EXPANDED,
- GTK_STATE_NORMAL, &closure->area);
- closure->finish = TRUE;
-
- return TRUE;
-}
-
-/*
- * ECell::event method
- */
-static gint
-ect_event (ECellView *ecell_view, GdkEvent *event, int model_col, int view_col, int row, ECellFlags flags, ECellActions *actions)
-{
- ECellTreeView *tree_view = (ECellTreeView *) ecell_view;
- ETreeModel *tree_model = e_cell_tree_get_tree_model (ecell_view->e_table_model, row);
- ETreeTableAdapter *etta = e_cell_tree_get_tree_table_adapter(ecell_view->e_table_model, row);
- ETreePath node = e_cell_tree_get_node (ecell_view->e_table_model, row);
- int offset = offset_of_node (ecell_view->e_table_model, row);
- gint result;
-
- switch (event->type) {
- case GDK_BUTTON_PRESS:
-
- if (event_in_expander (event, offset, 0)) {
- if (e_tree_model_node_is_expandable (tree_model, node)) {
- gboolean expanded = e_tree_table_adapter_node_is_expanded(etta, node);
- if (tree_view->retro_look)
- e_tree_table_adapter_node_set_expanded (etta, node, !expanded);
- else {
- gint tmp_row = row;
- GdkRectangle area;
- animate_closure_t *closure = g_new0 (animate_closure_t, 1);
- e_table_item_get_cell_geometry (tree_view->cell_view.e_table_item_view,
- &tmp_row, &view_col, &area.x, &area.y, NULL, &area.height);
- area.width = offset - 2;
- draw_expander (tree_view, GTK_LAYOUT (tree_view->canvas)->bin_window,
- expanded ? GTK_EXPANDER_SEMI_EXPANDED : GTK_EXPANDER_SEMI_COLLAPSED,
- GTK_STATE_NORMAL, &area);
- closure->ectv = tree_view;
- closure->etta = etta;
- closure->node = node;
- closure->expanded = expanded;
- closure->area = area;
- tree_view->animate_timeout = g_timeout_add (50, animate_expander, closure);
- }
- return TRUE;
- }
- }
- else if (event->button.x < (offset - INDENT_AMOUNT))
- return FALSE;
- break;
-
- case GDK_MOTION_NOTIFY:
-
- if (!tree_view->retro_look && e_tree_model_node_is_expandable (tree_model, node)) {
- gint height = ect_height (ecell_view, model_col, view_col, row);
- GdkRectangle area;
- gboolean in_expander = event_in_expander (event, offset, height);
-
- if (tree_view->prelit ^ in_expander) {
- gint tmp_row = row;
- e_table_item_get_cell_geometry (tree_view->cell_view.e_table_item_view,
- &tmp_row, &view_col, &area.x, &area.y, NULL, &area.height);
- area.width = offset - 2;
- draw_expander (tree_view, GTK_LAYOUT (tree_view->canvas)->bin_window,
- e_tree_table_adapter_node_is_expanded (etta, node) ? GTK_EXPANDER_EXPANDED : GTK_EXPANDER_COLLAPSED,
- in_expander ? GTK_STATE_PRELIGHT : GTK_STATE_NORMAL, &area);
- tree_view->prelit = in_expander;
- return TRUE;
- }
-
- }
- break;
-
- case GDK_LEAVE_NOTIFY:
-
- if (tree_view->prelit) {
- gint tmp_row = row;
- GdkRectangle area;
- e_table_item_get_cell_geometry (tree_view->cell_view.e_table_item_view,
- &tmp_row, &view_col, &area.x, &area.y, NULL, &area.height);
- area.width = offset - 2;
- draw_expander (tree_view, GTK_LAYOUT (tree_view->canvas)->bin_window,
- e_tree_table_adapter_node_is_expanded (etta, node) ? GTK_EXPANDER_EXPANDED : GTK_EXPANDER_COLLAPSED,
- GTK_STATE_NORMAL, &area);
- tree_view->prelit = FALSE;
- }
- return TRUE;
-
- default:
- break;
- }
-
- adjust_event_position (event, -offset);
- result = e_cell_event(tree_view->subcell_view, event, model_col, view_col, row, flags, actions);
- adjust_event_position (event, offset);
-
- return result;
-}
-
-/*
- * ECell::max_width method
- */
-static int
-ect_max_width (ECellView *ecell_view, int model_col, int view_col)
-{
- ECellTreeView *tree_view = (ECellTreeView *) ecell_view;
- int row;
- int number_of_rows;
- int max_width = 0;
- int width = 0;
- int subcell_max_width = 0;
- gboolean per_row = e_cell_max_width_by_row_implemented (tree_view->subcell_view);
-
- number_of_rows = e_table_model_row_count (ecell_view->e_table_model);
-
- if (!per_row)
- subcell_max_width = e_cell_max_width (tree_view->subcell_view, model_col, view_col);
-
- for (row = 0; row < number_of_rows; row++) {
- ETreeModel *tree_model = e_cell_tree_get_tree_model(ecell_view->e_table_model, row);
- ETreePath node;
- GdkPixbuf *node_image;
- int node_image_width = 0, node_image_height = 0;
-
- int offset, subcell_offset;
-#if 0
- gboolean expanded, expandable;
- ETreeTableAdapter *tree_table_adapter = e_cell_tree_get_tree_table_adapter(ecell_view->e_table_model, row);
-#endif
-
- node = e_cell_tree_get_node (ecell_view->e_table_model, row);
-
- offset = offset_of_node (ecell_view->e_table_model, row);
- subcell_offset = offset;
-
- node_image = e_tree_model_icon_at (tree_model, node);
-
- if (node_image) {
- node_image_width = gdk_pixbuf_get_width (node_image);
- node_image_height = gdk_pixbuf_get_height (node_image);
- }
-
- width = subcell_offset + node_image_width;
-
- if (per_row)
- width += e_cell_max_width_by_row (tree_view->subcell_view, model_col, view_col, row);
- else
- width += subcell_max_width;
-
-#if 0
- expandable = e_tree_model_node_is_expandable (tree_model, node);
- expanded = e_tree_table_adapter_node_is_expanded (tree_table_adapter, node);
-
- /* This is unnecessary since this is already handled
- by the offset_of_node function. If that changes,
- this will have to change too. */
-
- if (expandable) {
- GdkPixbuf *image;
-
- image = (expanded
- ? E_CELL_TREE(tree_view->cell_view.ecell)->open_pixbuf
- : E_CELL_TREE(tree_view->cell_view.ecell)->closed_pixbuf);
-
- width += gdk_pixbuf_get_width(image);
- }
-#endif
-
- max_width = MAX (max_width, width);
- }
-
- return max_width;
-}
-
-/*
- * ECellView::show_tooltip method
- */
-static void
-ect_show_tooltip (ECellView *ecell_view, int model_col, int view_col, int row,
- int col_width, ETableTooltip *tooltip)
-{
- ECellTreeView *tree_view = (ECellTreeView *) ecell_view;
- ETreeModel *tree_model = e_cell_tree_get_tree_model (ecell_view->e_table_model, row);
- ETreePath node = e_cell_tree_get_node (ecell_view->e_table_model, row);
- int offset = offset_of_node (ecell_view->e_table_model, row);
- GdkPixbuf *node_image;
-
- node_image = e_tree_model_icon_at (tree_model, node);
- if (node_image)
- offset += gdk_pixbuf_get_width (node_image);
-
- tooltip->x += offset;
- e_cell_show_tooltip (tree_view->subcell_view, model_col, view_col, row, col_width - offset, tooltip);
-}
-
-/*
- * ECellView::get_bg_color method
- */
-static char *
-ect_get_bg_color (ECellView *ecell_view, int row)
-{
- ECellTreeView *tree_view = (ECellTreeView *) ecell_view;
-
- return e_cell_get_bg_color (tree_view->subcell_view, row);
-}
-
-/*
- * ECellView::enter_edit method
- */
-static void *
-ect_enter_edit (ECellView *ecell_view, int model_col, int view_col, int row)
-{
- /* just defer to our subcell's view */
- ECellTreeView *tree_view = (ECellTreeView *) ecell_view;
-
- return e_cell_enter_edit (tree_view->subcell_view, model_col, view_col, row);
-}
-
-/*
- * ECellView::leave_edit method
- */
-static void
-ect_leave_edit (ECellView *ecell_view, int model_col, int view_col, int row, void *edit_context)
-{
- /* just defer to our subcell's view */
- ECellTreeView *tree_view = (ECellTreeView *) ecell_view;
-
- e_cell_leave_edit (tree_view->subcell_view, model_col, view_col, row, edit_context);
-}
-
-static void
-ect_print (ECellView *ecell_view, GnomePrintContext *context,
- int model_col, int view_col, int row,
- double width, double height)
-{
- ECellTreeView *tree_view = (ECellTreeView *) ecell_view;
-
- if (/* XXX only if we're the active sort */ TRUE) {
- ETreeModel *tree_model = e_cell_tree_get_tree_model (ecell_view->e_table_model, row);
- ETreeTableAdapter *tree_table_adapter = e_cell_tree_get_tree_table_adapter(ecell_view->e_table_model, row);
- ETreePath node = e_cell_tree_get_node (ecell_view->e_table_model, row);
- int offset = offset_of_node (ecell_view->e_table_model, row);
- int subcell_offset = offset;
- gboolean expandable = e_tree_model_node_is_expandable (tree_model, node);
- gboolean expanded = e_tree_table_adapter_node_is_expanded (tree_table_adapter, node);
-
- /* draw our lines */
- if (E_CELL_TREE(tree_view->cell_view.ecell)->draw_lines) {
- int depth;
-
- if (!e_tree_model_node_is_root (tree_model, node)
- || e_tree_model_node_get_children (tree_model, node, NULL) > 0) {
- gnome_print_moveto (context,
- offset - INDENT_AMOUNT / 2,
- height / 2);
-
- gnome_print_lineto (context,
- offset,
- height / 2);
- }
-
- if (visible_depth_of_node (ecell_view->e_table_model, row) != 0) {
- gnome_print_moveto (context,
- offset - INDENT_AMOUNT / 2,
- height);
- gnome_print_lineto (context,
- offset - INDENT_AMOUNT / 2,
- (e_tree_table_adapter_node_get_next (tree_table_adapter, node)
- ? 0
- : height / 2));
- }
-
- /* now traverse back up to the root of the tree, checking at
- each level if the node has siblings, and drawing the
- correct vertical pipe for it's configuration. */
- node = e_tree_model_node_get_parent (tree_model, node);
- depth = visible_depth_of_node (ecell_view->e_table_model, row) - 1;
- offset -= INDENT_AMOUNT;
- while (node && depth != 0) {
- if (e_tree_table_adapter_node_get_next(tree_table_adapter, node)) {
- gnome_print_moveto (context,
- offset - INDENT_AMOUNT / 2,
- height);
- gnome_print_lineto (context,
- offset - INDENT_AMOUNT / 2,
- 0);
- }
- node = e_tree_model_node_get_parent (tree_model, node);
- depth --;
- offset -= INDENT_AMOUNT;
- }
- }
-
- /* now draw our icon if we're expandable */
- if (expandable) {
- double image_matrix [6] = {16, 0, 0, 16, 0, 0};
- GdkPixbuf *image = (expanded
- ? E_CELL_TREE(tree_view->cell_view.ecell)->open_pixbuf
- : E_CELL_TREE(tree_view->cell_view.ecell)->closed_pixbuf);
- int image_width, image_height, image_rowstride;
- guchar *image_pixels;
-
- image_width = gdk_pixbuf_get_width(image);
- image_height = gdk_pixbuf_get_height(image);
- image_pixels = gdk_pixbuf_get_pixels(image);
- image_rowstride = gdk_pixbuf_get_rowstride(image);
-
- image_matrix [4] = subcell_offset - INDENT_AMOUNT / 2 - image_width / 2;
- image_matrix [5] = height / 2 - image_height / 2;
-
- gnome_print_gsave (context);
- gnome_print_concat (context, image_matrix);
-
- gnome_print_rgbaimage (context, image_pixels, image_width, image_height, image_rowstride);
- gnome_print_grestore (context);
- }
-
- gnome_print_stroke (context);
-
- if (gnome_print_translate(context, subcell_offset, 0) == -1)
- /* FIXME */;
- width -= subcell_offset;
- }
-
-
- e_cell_print (tree_view->subcell_view, context, model_col, view_col, row, width, height);
-}
-
-static gdouble
-ect_print_height (ECellView *ecell_view, GnomePrintContext *context,
- int model_col, int view_col, int row,
- double width)
-{
- return 12; /* XXX */
-}
-
-/*
- * GObject::dispose method
- */
-static void
-ect_dispose (GObject *object)
-{
- ECellTree *ect = E_CELL_TREE (object);
-
- /* destroy our subcell */
- if (ect->subcell)
- g_object_unref (ect->subcell);
- ect->subcell = NULL;
-
- if (ect->open_pixbuf)
- gdk_pixbuf_unref (ect->open_pixbuf);
- ect->open_pixbuf = NULL;
-
- if (ect->closed_pixbuf)
- gdk_pixbuf_unref (ect->closed_pixbuf);
- ect->closed_pixbuf = NULL;
-
- G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-static void
-e_cell_tree_class_init (GObjectClass *object_class)
-{
- ECellClass *ecc = (ECellClass *) object_class;
-
- object_class->dispose = ect_dispose;
-
- ecc->new_view = ect_new_view;
- ecc->kill_view = ect_kill_view;
- ecc->realize = ect_realize;
- ecc->unrealize = ect_unrealize;
- ecc->draw = ect_draw;
- ecc->event = ect_event;
- ecc->height = ect_height;
- ecc->enter_edit = ect_enter_edit;
- ecc->leave_edit = ect_leave_edit;
- ecc->print = ect_print;
- ecc->print_height = ect_print_height;
- ecc->max_width = ect_max_width;
- ecc->show_tooltip = ect_show_tooltip;
- ecc->get_bg_color = ect_get_bg_color;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- gal_a11y_e_cell_registry_add_cell_type (NULL, E_CELL_TREE_TYPE, gal_a11y_e_cell_tree_new);
-}
-
-E_MAKE_TYPE(e_cell_tree, "ECellTree", ECellTree, e_cell_tree_class_init, NULL, PARENT_TYPE)
-
-/**
- * e_cell_tree_construct:
- * @ect: the ECellTree we're constructing.
- * @open_pixbuf: pixbuf to be used instead of the '-' icon.
- * @closed_pixbuf: pixbuf to be used instead of the '+' icon.
- * @draw_lines: whether or not to draw the lines between parents/children/siblings.
- * @subcell: the ECell to render to the right of the tree effects.
- *
- * Constructs an ECellTree. used by subclasses that need to
- * initialize a nested ECellTree. See e_cell_tree_new() for more info.
- *
- **/
-void
-e_cell_tree_construct (ECellTree *ect,
- GdkPixbuf *open_pixbuf,
- GdkPixbuf *closed_pixbuf,
- gboolean draw_lines,
- ECell *subcell)
-{
- ect->subcell = subcell;
- if (subcell) {
- g_object_ref (subcell);
- gtk_object_sink (GTK_OBJECT (subcell));
- }
- if (open_pixbuf)
- ect->open_pixbuf = open_pixbuf;
- else
- ect->open_pixbuf = gdk_pixbuf_new_from_xpm_data ((const char **)tree_expanded_xpm);
- if (closed_pixbuf)
- ect->closed_pixbuf = closed_pixbuf;
- else
- ect->closed_pixbuf = gdk_pixbuf_new_from_xpm_data ((const char **)tree_unexpanded_xpm);
-
- ect->draw_lines = draw_lines;
-}
-
-
-/**
- * e_cell_tree_new:
- * @open_pixbuf: pixbuf to be used instead of the '-' icon.
- * @closed_pixbuf: pixbuf to be used instead of the '+' icon.
- * @draw_lines: whether or not to draw the lines between parents/children/siblings.
- * @subcell: the ECell to render to the right of the tree effects.
- *
- * Creates a new ECell renderer that can be used to render tree
- * effects that come from an ETreeModel. Various assumptions are made
- * as to the fact that the ETableModel the ETable this cell is
- * associated with is in fact an ETreeModel. The cell uses special
- * columns to get at structural information (needed to draw the
- * lines/icons.
- *
- * Return value: an ECell object that can be used to render trees.
- **/
-ECell *
-e_cell_tree_new (GdkPixbuf *open_pixbuf,
- GdkPixbuf *closed_pixbuf,
- gboolean draw_lines,
- ECell *subcell)
-{
- ECellTree *ect = g_object_new (E_CELL_TREE_TYPE, NULL);
-
- e_cell_tree_construct (ect, open_pixbuf, closed_pixbuf, draw_lines, subcell);
-
- return (ECell *) ect;
-}
-
diff --git a/widgets/table/e-cell-tree.h b/widgets/table/e-cell-tree.h
deleted file mode 100644
index dfdd6f0191..0000000000
--- a/widgets/table/e-cell-tree.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cell-tree.h - Tree cell object.
- * Copyright 1999, 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Toshok <toshok@ximian.com>
- *
- * A majority of code taken from:
- *
- * the ECellText renderer.
- * Copyright 1998, The Free Software Foundation
- * Copyright 1999, 2000, Ximian, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_CELL_TREE_H_
-#define _E_CELL_TREE_H_
-
-#include <libgnomecanvas/gnome-canvas.h>
-#include <gal/e-table/e-cell.h>
-
-G_BEGIN_DECLS
-
-#define E_CELL_TREE_TYPE (e_cell_tree_get_type ())
-#define E_CELL_TREE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_CELL_TREE_TYPE, ECellTree))
-#define E_CELL_TREE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_CELL_TREE_TYPE, ECellTreeClass))
-#define E_IS_CELL_TREE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_CELL_TREE_TYPE))
-#define E_IS_CELL_TREE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_CELL_TREE_TYPE))
-
-
-typedef struct {
- ECell parent;
-
- gboolean draw_lines;
-
- GdkPixbuf *open_pixbuf;
- GdkPixbuf *closed_pixbuf;
-
- ECell *subcell;
-} ECellTree;
-
-typedef struct {
- ECellClass parent_class;
-} ECellTreeClass;
-
-GType e_cell_tree_get_type (void);
-ECell *e_cell_tree_new (GdkPixbuf *open_pixbuf,
- GdkPixbuf *closed_pixbuf,
- gboolean draw_lines,
- ECell *subcell);
-void e_cell_tree_construct (ECellTree *ect,
- GdkPixbuf *open_pixbuf,
- GdkPixbuf *closed_pixbuf,
- gboolean draw_lines,
- ECell *subcell);
-
-ECellView *e_cell_tree_view_get_subcell_view (ECellView *ect);
-
-G_END_DECLS
-
-#endif /* _E_CELL_TREE_H_ */
-
-
diff --git a/widgets/table/e-cell-vbox.c b/widgets/table/e-cell-vbox.c
deleted file mode 100644
index ee18694742..0000000000
--- a/widgets/table/e-cell-vbox.c
+++ /dev/null
@@ -1,486 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cell-vbox.c - Vbox cell object.
- * Copyright 1999, 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Toshok <toshok@ximian.com>
- * Chris Lahey <clahey@ximian.com>
- *
- * A majority of code taken from:
- *
- * the ECellText renderer.
- * Copyright 1999, 2000, Ximian, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-
-#include <ctype.h>
-#include <math.h>
-#include <stdio.h>
-
-#include <gdk/gdkx.h> /* for BlackPixel */
-#include <gtk/gtkenums.h>
-#include <gtk/gtkentry.h>
-#include <gtk/gtkwindow.h>
-#include <gtk/gtkinvisible.h>
-#include <gtk/gtksignal.h>
-#include <gdk/gdkkeysyms.h>
-
-#include "gal/util/e-util.h"
-#include "gal/a11y/e-table/gal-a11y-e-cell-registry.h"
-#include "gal/a11y/e-table/gal-a11y-e-cell-vbox.h"
-#include "e-table-item.h"
-#include "e-cell-vbox.h"
-
-#define PARENT_TYPE e_cell_get_type ()
-
-static ECellClass *parent_class;
-
-#define INDENT_AMOUNT 16
-
-/*
- * ECell::new_view method
- */
-static ECellView *
-ecv_new_view (ECell *ecell, ETableModel *table_model, void *e_table_item_view)
-{
- ECellVbox *ecv = E_CELL_VBOX (ecell);
- ECellVboxView *vbox_view = g_new0 (ECellVboxView, 1);
- int i;
-
- vbox_view->cell_view.ecell = ecell;
- vbox_view->cell_view.e_table_model = table_model;
- vbox_view->cell_view.e_table_item_view = e_table_item_view;
-
- /* create our subcell view */
- vbox_view->subcell_view_count = ecv->subcell_count;
- vbox_view->subcell_views = g_new (ECellView *, vbox_view->subcell_view_count);
- vbox_view->model_cols = g_new (int, vbox_view->subcell_view_count);
-
- for (i = 0; i < vbox_view->subcell_view_count; i++) {
- vbox_view->subcell_views[i] = e_cell_new_view (ecv->subcells[i], table_model, e_table_item_view /* XXX */);
- vbox_view->model_cols[i] = ecv->model_cols[i];
- }
-
- return (ECellView *)vbox_view;
-}
-
-/*
- * ECell::kill_view method
- */
-static void
-ecv_kill_view (ECellView *ecv)
-{
- ECellVboxView *vbox_view = (ECellVboxView *) ecv;
- int i;
-
- /* kill our subcell view */
- for (i = 0; i < vbox_view->subcell_view_count; i++)
- e_cell_kill_view (vbox_view->subcell_views[i]);
-
- g_free (vbox_view->model_cols);
- g_free (vbox_view->subcell_views);
- g_free (vbox_view);
-}
-
-/*
- * ECell::realize method
- */
-static void
-ecv_realize (ECellView *ecell_view)
-{
- ECellVboxView *vbox_view = (ECellVboxView *) ecell_view;
- int i;
-
- /* realize our subcell view */
- for (i = 0; i < vbox_view->subcell_view_count; i++)
- e_cell_realize (vbox_view->subcell_views[i]);
-
- if (parent_class->realize)
- (* parent_class->realize) (ecell_view);
-}
-
-/*
- * ECell::unrealize method
- */
-static void
-ecv_unrealize (ECellView *ecv)
-{
- ECellVboxView *vbox_view = (ECellVboxView *) ecv;
- int i;
-
- /* unrealize our subcell view. */
- for (i = 0; i < vbox_view->subcell_view_count; i++)
- e_cell_unrealize (vbox_view->subcell_views[i]);
-
- if (parent_class->unrealize)
- (* parent_class->unrealize) (ecv);
-}
-
-/*
- * ECell::draw method
- */
-static void
-ecv_draw (ECellView *ecell_view, GdkDrawable *drawable,
- int model_col, int view_col, int row, ECellFlags flags,
- int x1, int y1, int x2, int y2)
-{
- ECellVboxView *vbox_view = (ECellVboxView *)ecell_view;
-
- int subcell_offset = 0;
- int i;
-
- for (i = 0; i < vbox_view->subcell_view_count; i++) {
- /* Now cause our subcells to draw their contents,
- shifted by subcell_offset pixels */
- int height = e_cell_height (vbox_view->subcell_views[i], vbox_view->model_cols[i], view_col, row);
- e_cell_draw (vbox_view->subcell_views[i], drawable,
- vbox_view->model_cols[i], view_col, row, flags,
- x1, y1 + subcell_offset, x2, y1 + subcell_offset + height);
-
- subcell_offset += e_cell_height (vbox_view->subcell_views[i], vbox_view->model_cols[i], view_col, row);
- }
-}
-
-/*
- * ECell::event method
- */
-static gint
-ecv_event (ECellView *ecell_view, GdkEvent *event, int model_col, int view_col, int row, ECellFlags flags, ECellActions *actions)
-{
- ECellVboxView *vbox_view = (ECellVboxView *)ecell_view;
- int y = 0;
- int i;
- int subcell_offset = 0;
-
- switch (event->type) {
- case GDK_BUTTON_PRESS:
- case GDK_BUTTON_RELEASE:
- case GDK_2BUTTON_PRESS:
- case GDK_3BUTTON_PRESS:
- y = event->button.y;
- break;
- case GDK_MOTION_NOTIFY:
- y = event->motion.y;
- break;
- default:
- /* nada */
- break;
- }
-
-
- for (i = 0; i < vbox_view->subcell_view_count; i++) {
- int height = e_cell_height (vbox_view->subcell_views[i], vbox_view->model_cols[i], view_col, row);
- if (y < subcell_offset + height)
- return e_cell_event(vbox_view->subcell_views[i], event, vbox_view->model_cols[i], view_col, row, flags, actions);
- subcell_offset += height;
- }
- return 0;
-}
-
-/*
- * ECell::height method
- */
-static int
-ecv_height (ECellView *ecell_view, int model_col, int view_col, int row)
-{
- ECellVboxView *vbox_view = (ECellVboxView *)ecell_view;
- int height = 0;
- int i;
-
- for (i = 0; i < vbox_view->subcell_view_count; i++) {
- height += e_cell_height (vbox_view->subcell_views[i], vbox_view->model_cols[i], view_col, row);
- }
- return height;
-}
-
-/*
- * ECell::max_width method
- */
-static int
-ecv_max_width (ECellView *ecell_view, int model_col, int view_col)
-{
- ECellVboxView *vbox_view = (ECellVboxView *)ecell_view;
- int max_width = 0;
- int i;
-
- for (i = 0; i < vbox_view->subcell_view_count; i++) {
- int width = e_cell_max_width (vbox_view->subcell_views[i], vbox_view->model_cols[i], view_col);
- max_width = MAX(width, max_width);
- }
-
- return max_width;
-}
-
-#if 0
-/*
- * ECellView::show_tooltip method
- */
-static void
-ecv_show_tooltip (ECellView *ecell_view, int model_col, int view_col, int row,
- int col_width, ETableTooltip *tooltip)
-{
- ECellVboxView *vbox_view = (ECellVboxView *) ecell_view;
- EVboxModel *vbox_model = e_cell_vbox_get_vbox_model (ecell_view->e_table_model, row);
- EVboxPath node = e_cell_vbox_get_node (ecell_view->e_table_model, row);
- int offset = offset_of_node (ecell_view->e_table_model, row);
- GdkPixbuf *node_image;
-
- node_image = e_vbox_model_icon_at (vbox_model, node);
- if (node_image)
- offset += gdk_pixbuf_get_width (node_image);
-
- tooltip->x += offset;
- e_cell_show_tooltip (vbox_view->subcell_view, model_col, view_col, row, col_width - offset, tooltip);
-}
-
-/*
- * ECellView::get_bg_color method
- */
-static char *
-ecv_get_bg_color (ECellView *ecell_view, int row)
-{
- ECellVboxView *vbox_view = (ECellVboxView *) ecell_view;
-
- return e_cell_get_bg_color (vbox_view->subcell_views[0], row);
-}
-
-/*
- * ECellView::enter_edit method
- */
-static void *
-ecv_enter_edit (ECellView *ecell_view, int model_col, int view_col, int row)
-{
- /* just defer to our subcell's view */
- ECellVboxView *vbox_view = (ECellVboxView *) ecell_view;
-
- return e_cell_enter_edit (vbox_view->subcell_view, model_col, view_col, row);
-}
-
-/*
- * ECellView::leave_edit method
- */
-static void
-ecv_leave_edit (ECellView *ecell_view, int model_col, int view_col, int row, void *edit_context)
-{
- /* just defer to our subcell's view */
- ECellVboxView *vbox_view = (ECellVboxView *) ecell_view;
-
- e_cell_leave_edit (vbox_view->subcell_view, model_col, view_col, row, edit_context);
-}
-
-static void
-ecv_print (ECellView *ecell_view, GnomePrintContext *context,
- int model_col, int view_col, int row,
- double width, double height)
-{
- ECellVboxView *vbox_view = (ECellVboxView *) ecell_view;
-
- if (/* XXX only if we're the active sort */ TRUE) {
- EVboxModel *vbox_model = e_cell_vbox_get_vbox_model (ecell_view->e_table_model, row);
- EVboxTableAdapter *vbox_table_adapter = e_cell_vbox_get_vbox_table_adapter(ecell_view->e_table_model, row);
- EVboxPath node = e_cell_vbox_get_node (ecell_view->e_table_model, row);
- int offset = offset_of_node (ecell_view->e_table_model, row);
- int subcell_offset = offset;
- gboolean expandable = e_vbox_model_node_is_expandable (vbox_model, node);
- gboolean expanded = e_vbox_table_adapter_node_is_expanded (vbox_table_adapter, node);
-
- /* draw our lines */
- if (E_CELL_VBOX(vbox_view->cell_view.ecell)->draw_lines) {
- int depth;
-
- if (!e_vbox_model_node_is_root (vbox_model, node)
- || e_vbox_model_node_get_children (vbox_model, node, NULL) > 0) {
- gnome_print_moveto (context,
- offset - INDENT_AMOUNT / 2,
- height / 2);
-
- gnome_print_lineto (context,
- offset,
- height / 2);
- }
-
- if (visible_depth_of_node (ecell_view->e_table_model, row) != 0) {
- gnome_print_moveto (context,
- offset - INDENT_AMOUNT / 2,
- height);
- gnome_print_lineto (context,
- offset - INDENT_AMOUNT / 2,
- (e_vbox_model_node_get_next (vbox_model, node)
- ? 0
- : height / 2));
- }
-
- /* now traverse back up to the root of the vbox, checking at
- each level if the node has siblings, and drawing the
- correct vertical pipe for it's configuration. */
- node = e_vbox_model_node_get_parent (vbox_model, node);
- depth = visible_depth_of_node (ecell_view->e_table_model, row) - 1;
- offset -= INDENT_AMOUNT;
- while (node && depth != 0) {
- if (e_vbox_model_node_get_next(vbox_model, node)) {
- gnome_print_moveto (context,
- offset - INDENT_AMOUNT / 2,
- height);
- gnome_print_lineto (context,
- offset - INDENT_AMOUNT / 2,
- 0);
- }
- node = e_vbox_model_node_get_parent (vbox_model, node);
- depth --;
- offset -= INDENT_AMOUNT;
- }
- }
-
- /* now draw our icon if we're expandable */
- if (expandable) {
- double image_matrix [6] = {16, 0, 0, 16, 0, 0};
- GdkPixbuf *image = (expanded
- ? E_CELL_VBOX(vbox_view->cell_view.ecell)->open_pixbuf
- : E_CELL_VBOX(vbox_view->cell_view.ecell)->closed_pixbuf);
- int image_width, image_height, image_rowstride;
- guchar *image_pixels;
-
- image_width = gdk_pixbuf_get_width(image);
- image_height = gdk_pixbuf_get_height(image);
- image_pixels = gdk_pixbuf_get_pixels(image);
- image_rowstride = gdk_pixbuf_get_rowstride(image);
-
- image_matrix [4] = subcell_offset - INDENT_AMOUNT / 2 - image_width / 2;
- image_matrix [5] = height / 2 - image_height / 2;
-
- gnome_print_gsave (context);
- gnome_print_concat (context, image_matrix);
-
- gnome_print_rgbaimage (context, image_pixels, image_width, image_height, image_rowstride);
- gnome_print_grestore (context);
- }
-
- gnome_print_stroke (context);
-
- if (gnome_print_translate(context, subcell_offset, 0) == -1)
- /* FIXME */;
- width -= subcell_offset;
- }
-
-
- e_cell_print (vbox_view->subcell_view, context, model_col, view_col, row, width, height);
-}
-
-static gdouble
-ecv_print_height (ECellView *ecell_view, GnomePrintContext *context,
- int model_col, int view_col, int row,
- double width)
-{
- return 12; /* XXX */
-}
-#endif
-
-/*
- * GObject::dispose method
- */
-static void
-ecv_dispose (GObject *object)
-{
- ECellVbox *ecv = E_CELL_VBOX (object);
- int i;
-
- /* destroy our subcell */
- for (i = 0; i < ecv->subcell_count; i++)
- if (ecv->subcells[i])
- g_object_unref (ecv->subcells[i]);
- g_free (ecv->subcells);
- ecv->subcells = NULL;
- ecv->subcell_count = 0;
-
- G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-static void
-e_cell_vbox_class_init (GObjectClass *object_class)
-{
- ECellClass *ecc = (ECellClass *) object_class;
-
- object_class->dispose = ecv_dispose;
-
- ecc->new_view = ecv_new_view;
- ecc->kill_view = ecv_kill_view;
- ecc->realize = ecv_realize;
- ecc->unrealize = ecv_unrealize;
- ecc->draw = ecv_draw;
- ecc->event = ecv_event;
- ecc->height = ecv_height;
-#if 0
- ecc->enter_edit = ecv_enter_edit;
- ecc->leave_edit = ecv_leave_edit;
- ecc->print = ecv_print;
- ecc->print_height = ecv_print_height;
-#endif
- ecc->max_width = ecv_max_width;
-#if 0
- ecc->show_tooltip = ecv_show_tooltip;
- ecc->get_bg_color = ecv_get_bg_color;
-#endif
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- gal_a11y_e_cell_registry_add_cell_type (NULL, E_CELL_VBOX_TYPE, gal_a11y_e_cell_vbox_new);
-}
-
-static void
-e_cell_vbox_init (GtkObject *object)
-{
- ECellVbox *ecv = E_CELL_VBOX (object);
-
- ecv->subcells = NULL;
- ecv->subcell_count = 0;
-}
-
-E_MAKE_TYPE(e_cell_vbox, "ECellVbox", ECellVbox, e_cell_vbox_class_init, e_cell_vbox_init, PARENT_TYPE);
-
-/**
- * e_cell_vbox_new:
- *
- * Creates a new ECell renderer that can be used to render multiple
- * child cells.
- *
- * Return value: an ECell object that can be used to render multiple
- * child cells.
- **/
-ECell *
-e_cell_vbox_new (void)
-{
- ECellVbox *ecv = g_object_new (E_CELL_VBOX_TYPE, NULL);
-
- return (ECell *) ecv;
-}
-
-void
-e_cell_vbox_append (ECellVbox *vbox, ECell *subcell, int model_col)
-{
- vbox->subcell_count ++;
-
- vbox->subcells = g_renew (ECell *, vbox->subcells, vbox->subcell_count);
- vbox->model_cols = g_renew (int, vbox->model_cols, vbox->subcell_count);
-
- vbox->subcells[vbox->subcell_count - 1] = subcell;
- vbox->model_cols[vbox->subcell_count - 1] = model_col;
-
- if (subcell)
- g_object_ref (subcell);
-}
diff --git a/widgets/table/e-cell-vbox.h b/widgets/table/e-cell-vbox.h
deleted file mode 100644
index f08e106128..0000000000
--- a/widgets/table/e-cell-vbox.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cell-vbox.h - Vbox cell object.
- * Copyright 1999 - 2002, Ximian, Inc.
- *
- * Authors:
- * Chris Toshok <toshok@ximian.com>
- * Chris Lahey <clahey@ximina.com
- *
- * A majority of code taken from:
- *
- * the ECellText renderer.
- * Copyright 1999, 2000, Ximian, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_CELL_VBOX_H_
-#define _E_CELL_VBOX_H_
-
-#include <libgnomecanvas/gnome-canvas.h>
-#include <gal/e-table/e-cell.h>
-
-G_BEGIN_DECLS
-
-#define E_CELL_VBOX_TYPE (e_cell_vbox_get_type ())
-#define E_CELL_VBOX(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_CELL_VBOX_TYPE, ECellVbox))
-#define E_CELL_VBOX_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_CELL_VBOX_TYPE, ECellVboxClass))
-#define E_IS_CELL_VBOX(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_CELL_VBOX_TYPE))
-#define E_IS_CELL_VBOX_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_CELL_VBOX_TYPE))
-
-typedef struct {
- ECell parent;
-
- int subcell_count;
- ECell **subcells;
- int *model_cols;
-} ECellVbox;
-
-typedef struct {
- ECellView cell_view;
- int subcell_view_count;
- ECellView **subcell_views;
- int *model_cols;
-} ECellVboxView;
-
-typedef struct {
- ECellClass parent_class;
-} ECellVboxClass;
-
-GType e_cell_vbox_get_type (void);
-ECell *e_cell_vbox_new (void);
-void e_cell_vbox_append (ECellVbox *vbox,
- ECell *subcell,
- int model_col);
-
-
-G_END_DECLS
-
-#endif /* _E_CELL_VBOX_H_ */
diff --git a/widgets/table/e-cell.c b/widgets/table/e-cell.c
deleted file mode 100644
index 8deeaa654c..0000000000
--- a/widgets/table/e-cell.c
+++ /dev/null
@@ -1,499 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cell.c - base class for cell renderers in e-table
- * Copyright 1999, 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza <miguel@ximian.com>
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include "e-cell.h"
-#include "gal/util/e-util.h"
-
-#define PARENT_TYPE GTK_TYPE_OBJECT
-
-#define ECVIEW_EC_CLASS(v) (E_CELL_GET_CLASS (v->ecell))
-
-static ECellView *
-ec_new_view (ECell *ecell, ETableModel *table_model, void *e_table_item_view)
-{
- return NULL;
-}
-
-static void
-ec_realize (ECellView *e_cell)
-{
-}
-
-static void
-ec_kill_view (ECellView *ecell_view)
-{
-}
-
-static void
-ec_unrealize (ECellView *e_cell)
-{
-}
-
-static void
-ec_draw (ECellView *ecell_view, GdkDrawable *drawable,
- int model_col, int view_col, int row, ECellFlags flags,
- int x1, int y1, int x2, int y2)
-{
- g_error ("e-cell-draw invoked\n");
-}
-
-static gint
-ec_event (ECellView *ecell_view, GdkEvent *event, int model_col, int view_col, int row, ECellFlags flags, ECellActions *actions)
-{
- g_error ("e-cell-event invoked\n");
- return 0;
-}
-
-static gint
-ec_height (ECellView *ecell_view, int model_col, int view_col, int row)
-{
- g_error ("e-cell-height invoked\n");
- return 0;
-}
-
-static void
-ec_focus (ECellView *ecell_view, int model_col, int view_col, int row, int x1, int y1, int x2, int y2)
-{
- ecell_view->focus_col = view_col;
- ecell_view->focus_row = row;
- ecell_view->focus_x1 = x1;
- ecell_view->focus_y1 = y1;
- ecell_view->focus_x2 = x2;
- ecell_view->focus_y2 = y2;
-}
-
-static void
-ec_unfocus (ECellView *ecell_view)
-{
- ecell_view->focus_col = -1;
- ecell_view->focus_row = -1;
- ecell_view->focus_x1 = -1;
- ecell_view->focus_y1 = -1;
- ecell_view->focus_x2 = -1;
- ecell_view->focus_y2 = -1;
-}
-
-static void *
-ec_enter_edit (ECellView *ecell_view, int model_col, int view_col, int row)
-{
- return NULL;
-}
-
-static void
-ec_leave_edit (ECellView *ecell_view, int model_col, int view_col, int row, void *context)
-{
-}
-
-static void *
-ec_save_state (ECellView *ecell_view, int model_col, int view_col, int row, void *context)
-{
- return NULL;
-}
-
-static void
-ec_load_state (ECellView *ecell_view, int model_col, int view_col, int row, void *context, void *save_state)
-{
-}
-
-static void
-ec_free_state (ECellView *ecell_view, int model_col, int view_col, int row, void *save_state)
-{
-}
-
-static void
-ec_show_tooltip (ECellView *ecell_view, int model_col, int view_col, int row, int col_width, ETableTooltip *tooltip)
-{
- /* Do nothing */
-}
-
-static void
-e_cell_class_init (GtkObjectClass *object_class)
-{
- ECellClass *ecc = (ECellClass *) object_class;
-
- ecc->realize = ec_realize;
- ecc->unrealize = ec_unrealize;
- ecc->new_view = ec_new_view;
- ecc->kill_view = ec_kill_view;
- ecc->draw = ec_draw;
- ecc->event = ec_event;
- ecc->focus = ec_focus;
- ecc->unfocus = ec_unfocus;
- ecc->height = ec_height;
- ecc->enter_edit = ec_enter_edit;
- ecc->leave_edit = ec_leave_edit;
- ecc->save_state = ec_save_state;
- ecc->load_state = ec_load_state;
- ecc->free_state = ec_free_state;
- ecc->print = NULL;
- ecc->print_height = NULL;
- ecc->max_width = NULL;
- ecc->max_width_by_row = NULL;
- ecc->show_tooltip = ec_show_tooltip;
-}
-
-static void
-e_cell_init (GtkObject *object)
-{
-}
-
-E_MAKE_TYPE(e_cell, "ECell", ECell, e_cell_class_init, e_cell_init, PARENT_TYPE)
-
-/**
- * e_cell_event:
- * @ecell_view: The ECellView where the event will be dispatched
- * @event: The GdkEvent.
- * @model_col: the column in the model
- * @view_col: the column in the view
- * @row: the row
- * @flags: flags about the current state
- * @actions: A second return value in case the cell wants to take some action (specifically grabbing & ungrabbing)
- *
- * Dispatches the event @event to the @ecell_view for.
- *
- * Returns: processing state from the GdkEvent handling.
- */
-gint
-e_cell_event (ECellView *ecell_view, GdkEvent *event, int model_col, int view_col, int row, ECellFlags flags, ECellActions *actions)
-{
- return ECVIEW_EC_CLASS(ecell_view)->event (
- ecell_view, event, model_col, view_col, row, flags, actions);
-}
-
-/**
- * e_cell_new_view:
- * @ecell: the Ecell that will create the new view
- * @table_model: the table model the ecell is bound to
- * @e_table_item_view: An ETableItem object (the CanvasItem that reprensents the view of the table)
- *
- * ECell renderers new to be bound to a table_model and to the actual view
- * during their life time to actually render the data. This method is invoked
- * by the ETableItem canvas item to instatiate a new view of the ECell.
- *
- * This is invoked when the ETableModel is attached to the ETableItem (a CanvasItem
- * that can render ETableModels in the screen).
- *
- * Returns: a new ECellView for this @ecell on the @table_model displayed on the @e_table_item_view.
- */
-ECellView *
-e_cell_new_view (ECell *ecell, ETableModel *table_model, void *e_table_item_view)
-{
- return E_CELL_GET_CLASS (ecell)->new_view (
- ecell, table_model, e_table_item_view);
-}
-
-/**
- * e_cell_realize:
- * @ecell_view: The ECellView to be realized.
- *
- * This function is invoked to give a chance to the ECellView to allocate
- * any resources it needs from Gdk, equivalent to the GtkWidget::realize
- * signal.
- */
-void
-e_cell_realize (ECellView *ecell_view)
-{
- ECVIEW_EC_CLASS(ecell_view)->realize (ecell_view);
-}
-
-/**
- * e_cell_kill_view:
- * @ecell_view: view to be destroyed.
- *
- * This method it used to destroy a view of an ECell renderer
- */
-void
-e_cell_kill_view (ECellView *ecell_view)
-{
- ECVIEW_EC_CLASS(ecell_view)->kill_view (ecell_view);
-}
-
-/**
- * e_cell_unrealize:
- * @ecell_view: The ECellView to be unrealized.
- *
- * This function is invoked to give a chance to the ECellView to
- * release any resources it allocated during the realize method,
- * equivalent to the GtkWidget::unrealize signal.
- */
-void
-e_cell_unrealize (ECellView *ecell_view)
-{
- ECVIEW_EC_CLASS(ecell_view)->unrealize (ecell_view);
-}
-
-/**
- * e_cell_draw:
- * @ecell_view: the ECellView to redraw
- * @drawable: draw desination
- * @model_col: the column in the model being drawn.
- * @view_col: the column in the view being drawn (what the model maps to).
- * @row: the row being drawn
- * @flags: rendering flags.
- * @x1: boudary for the rendering
- * @y1: boudary for the rendering
- * @x2: boudary for the rendering
- * @y2: boudary for the rendering
- *
- * This instructs the ECellView to render itself into the drawable. The
- * region to be drawn in given by (x1,y1)-(x2,y2).
- *
- * The most important flags are %E_CELL_SELECTED and %E_CELL_FOCUSED, other
- * flags include alignments and justifications.
- */
-void
-e_cell_draw (ECellView *ecell_view, GdkDrawable *drawable,
- int model_col, int view_col, int row, ECellFlags flags,
- int x1, int y1, int x2, int y2)
-{
- g_return_if_fail (ecell_view != NULL);
- g_return_if_fail (row >= 0);
- g_return_if_fail (row < e_table_model_row_count(ecell_view->e_table_model));
-
- ECVIEW_EC_CLASS(ecell_view)->draw (ecell_view, drawable, model_col, view_col, row, flags, x1, y1, x2, y2);
-}
-
-/**
- * e_cell_print:
- * @ecell_view: the ECellView to redraw
- * @context: The GnomePrintContext where we output our printed data.
- * @model_col: the column in the model being drawn.
- * @view_col: the column in the view being drawn (what the model maps to).
- * @row: the row being drawn
- * @width: width
- * @height: height
- *
- * FIXME:
- */
-void
-e_cell_print (ECellView *ecell_view, GnomePrintContext *context,
- int model_col, int view_col, int row,
- double width, double height)
-{
- if (ECVIEW_EC_CLASS(ecell_view)->print)
- ECVIEW_EC_CLASS(ecell_view)->print (ecell_view, context, model_col, view_col, row, width, height);
-}
-
-/**
- * e_cell_print:
- *
- * FIXME:
- */
-gdouble
-e_cell_print_height (ECellView *ecell_view, GnomePrintContext *context,
- int model_col, int view_col, int row,
- double width)
-{
- if (ECVIEW_EC_CLASS(ecell_view)->print_height)
- return ECVIEW_EC_CLASS(ecell_view)->print_height
- (ecell_view, context, model_col, view_col, row, width);
- else
- return 0.0;
-}
-
-/**
- * e_cell_height:
- * @ecell_view: the ECellView.
- * @model_col: the column in the model
- * @view_col: the column in the view.
- * @row: the row to me measured
- *
- * Returns: the height of the cell at @model_col, @row rendered at
- * @view_col, @row.
- */
-int
-e_cell_height (ECellView *ecell_view, int model_col, int view_col, int row)
-{
- return ECVIEW_EC_CLASS(ecell_view)->height (ecell_view, model_col, view_col, row);
-}
-
-/**
- * e_cell_enter_edit:
- * @ecell_view: the ECellView that will enter editing
- * @model_col: the column in the model
- * @view_col: the column in the view
- * @row: the row
- *
- * Notifies the ECellView that it is about to enter editing mode for
- * @model_col, @row rendered at @view_col, @row.
- */
-void *
-e_cell_enter_edit (ECellView *ecell_view, int model_col, int view_col, int row)
-{
- return ECVIEW_EC_CLASS(ecell_view)->enter_edit (ecell_view, model_col, view_col, row);
-}
-
-/**
- * e_cell_leave_edit:
- * @ecell_view: the ECellView that will leave editing
- * @model_col: the column in the model
- * @view_col: the column in the view
- * @row: the row
- * @edit_context: the editing context
- *
- * Notifies the ECellView that editing is finished at @model_col, @row
- * rendered at @view_col, @row.
- */
-void
-e_cell_leave_edit (ECellView *ecell_view, int model_col, int view_col, int row, void *edit_context)
-{
- ECVIEW_EC_CLASS(ecell_view)->leave_edit (ecell_view, model_col, view_col, row, edit_context);
-}
-
-/**
- * e_cell_save_state:
- * @ecell_view: the ECellView to save
- * @model_col: the column in the model
- * @view_col: the column in the view
- * @row: the row
- * @edit_context: the editing context
- *
- * Returns: The save state.
- *
- * Requests that the ECellView return a void * representing the state
- * of the ECell. This is primarily intended for things like selection
- * or scrolling.
- */
-void *
-e_cell_save_state (ECellView *ecell_view, int model_col, int view_col, int row, void *edit_context)
-{
- if (ECVIEW_EC_CLASS(ecell_view)->save_state)
- return ECVIEW_EC_CLASS(ecell_view)->save_state (ecell_view, model_col, view_col, row, edit_context);
- else
- return NULL;
-}
-
-/**
- * e_cell_load_state:
- * @ecell_view: the ECellView to load
- * @model_col: the column in the model
- * @view_col: the column in the view
- * @row: the row
- * @edit_context: the editing context
- * @save_state: the save state to load from
- *
- * Requests that the ECellView load from the given save state.
- */
-void
-e_cell_load_state (ECellView *ecell_view, int model_col, int view_col, int row, void *edit_context, void *save_state)
-{
- if (ECVIEW_EC_CLASS(ecell_view)->load_state)
- ECVIEW_EC_CLASS(ecell_view)->load_state (ecell_view, model_col, view_col, row, edit_context, save_state);
-}
-
-/**
- * e_cell_load_state:
- * @ecell_view: the ECellView
- * @model_col: the column in the model
- * @view_col: the column in the view
- * @row: the row
- * @edit_context: the editing context
- * @save_state: the save state to free
- *
- * Requests that the ECellView free the given save state.
- */
-void
-e_cell_free_state (ECellView *ecell_view, int model_col, int view_col, int row, void *save_state)
-{
- if (ECVIEW_EC_CLASS(ecell_view)->free_state)
- ECVIEW_EC_CLASS(ecell_view)->free_state (ecell_view, model_col, view_col, row, save_state);
-}
-
-/**
- * e_cell_max_width:
- * @ecell_view: the ECellView that will leave editing
- * @model_col: the column in the model
- * @view_col: the column in the view.
- *
- * Returns: the maximum width for the ECellview at @model_col which
- * is being rendered as @view_col
- */
-int
-e_cell_max_width (ECellView *ecell_view, int model_col, int view_col)
-{
- return ECVIEW_EC_CLASS(ecell_view)->max_width
- (ecell_view, model_col, view_col);
-}
-
-/**
- * e_cell_max_width_by_row:
- * @ecell_view: the ECellView that we are curious about
- * @model_col: the column in the model
- * @view_col: the column in the view.
- * @row: The row in the model.
- *
- * Returns: the maximum width for the ECellview at @model_col which
- * is being rendered as @view_col for the data in @row.
- */
-int
-e_cell_max_width_by_row (ECellView *ecell_view, int model_col, int view_col, int row)
-{
- if (ECVIEW_EC_CLASS(ecell_view)->max_width_by_row)
- return ECVIEW_EC_CLASS(ecell_view)->max_width_by_row
- (ecell_view, model_col, view_col, row);
- else
- return e_cell_max_width (ecell_view, model_col, view_col);
-}
-
-/**
- * e_cell_max_width_by_row_implemented:
- * @ecell_view: the ECellView that we are curious about
- * @model_col: the column in the model
- * @view_col: the column in the view.
- * @row: The row in the model.
- *
- * Returns: the maximum width for the ECellview at @model_col which
- * is being rendered as @view_col for the data in @row.
- */
-gboolean
-e_cell_max_width_by_row_implemented (ECellView *ecell_view)
-{
- return (ECVIEW_EC_CLASS(ecell_view)->max_width_by_row != NULL);
-}
-
-void
-e_cell_show_tooltip (ECellView *ecell_view, int model_col, int view_col,
- int row, int col_width, ETableTooltip *tooltip)
-{
- ECVIEW_EC_CLASS(ecell_view)->show_tooltip
- (ecell_view, model_col, view_col, row, col_width, tooltip);
-}
-
-gchar *
-e_cell_get_bg_color(ECellView *ecell_view, int row)
-{
- if (ECVIEW_EC_CLASS(ecell_view)->get_bg_color)
- return ECVIEW_EC_CLASS(ecell_view)->get_bg_color (ecell_view, row);
- else
- return NULL;
-}
-
-void
-e_cell_style_set(ECellView *ecell_view, GtkStyle *previous_style)
-{
- if (ECVIEW_EC_CLASS(ecell_view)->style_set)
- ECVIEW_EC_CLASS(ecell_view)->style_set (ecell_view, previous_style);
-}
-
diff --git a/widgets/table/e-cell.h b/widgets/table/e-cell.h
deleted file mode 100644
index 2ba74c01f5..0000000000
--- a/widgets/table/e-cell.h
+++ /dev/null
@@ -1,224 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-cell.h
- * Copyright 1999, 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza <miguel@ximian.com>
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_CELL_H_
-#define _E_CELL_H_
-
-#include <gdk/gdktypes.h>
-#include <libgnomeprint/gnome-print.h>
-#include <libgnomeprint/gnome-font.h>
-#include <gal/e-table/e-table-model.h>
-#include <gal/e-table/e-table-tooltip.h>
-
-G_BEGIN_DECLS
-
-#define E_CELL_TYPE (e_cell_get_type ())
-#define E_CELL(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_CELL_TYPE, ECell))
-#define E_CELL_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_CELL_TYPE, ECellClass))
-#define E_CELL_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), E_CELL_TYPE, ECellClass))
-#define E_IS_CELL(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_CELL_TYPE))
-#define E_IS_CELL_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_CELL_TYPE))
-
-typedef gboolean (*ETableSearchFunc) (gconstpointer haystack,
- const char *needle);
-
-typedef enum {
- E_CELL_SELECTED = 1 << 0,
-
- E_CELL_JUSTIFICATION = 3 << 1,
- E_CELL_JUSTIFY_CENTER = 0 << 1,
- E_CELL_JUSTIFY_LEFT = 1 << 1,
- E_CELL_JUSTIFY_RIGHT = 2 << 1,
- E_CELL_JUSTIFY_FILL = 3 << 1,
-
- E_CELL_ALIGN_LEFT = 1 << 1,
- E_CELL_ALIGN_RIGHT = 1 << 2,
-
- E_CELL_FOCUSED = 1 << 3,
-
- E_CELL_EDITING = 1 << 4,
-
- E_CELL_CURSOR = 1 << 5,
-
- E_CELL_PREEDIT = 1 << 6
-} ECellFlags;
-
-typedef enum {
- E_CELL_GRAB = 1 << 0,
- E_CELL_UNGRAB = 1 << 1
-} ECellActions;
-
-typedef struct {
- GtkObject object;
-} ECell;
-
-typedef struct {
- ECell *ecell;
- ETableModel *e_table_model;
- void *e_table_item_view;
-
- gint focus_x1, focus_y1, focus_x2, focus_y2;
- gint focus_col, focus_row;
-} ECellView;
-
-#define E_CELL_IS_FOCUSED(ecell_view) (ecell_view->focus_x1 != -1)
-
-typedef struct {
- GtkObjectClass parent_class;
-
- ECellView *(*new_view) (ECell *ecell, ETableModel *table_model, void *e_table_item_view);
- void (*kill_view) (ECellView *ecell_view);
-
- void (*realize) (ECellView *ecell_view);
- void (*unrealize) (ECellView *ecell_view);
-
- void (*draw) (ECellView *ecell_view, GdkDrawable *drawable,
- int model_col, int view_col, int row,
- ECellFlags flags, int x1, int y1, int x2, int y2);
- gint (*event) (ECellView *ecell_view, GdkEvent *event, int model_col, int view_col, int row, ECellFlags flags, ECellActions *actions);
- void (*focus) (ECellView *ecell_view, int model_col, int view_col,
- int row, int x1, int y1, int x2, int y2);
- void (*unfocus) (ECellView *ecell_view);
- int (*height) (ECellView *ecell_view, int model_col, int view_col, int row);
-
- void *(*enter_edit) (ECellView *ecell_view, int model_col, int view_col, int row);
- void (*leave_edit) (ECellView *ecell_view, int model_col, int view_col, int row, void *context);
- void *(*save_state) (ECellView *ecell_view, int model_col, int view_col, int row, void *context);
- void (*load_state) (ECellView *ecell_view, int model_col, int view_col, int row, void *context, void *save_state);
- void (*free_state) (ECellView *ecell_view, int model_col, int view_col, int row, void *save_state);
- void (*print) (ECellView *ecell_view, GnomePrintContext *context,
- int model_col, int view_col, int row,
- gdouble width, gdouble height);
- gdouble (*print_height) (ECellView *ecell_view, GnomePrintContext *context,
- int model_col, int view_col, int row, gdouble width);
- int (*max_width) (ECellView *ecell_view, int model_col, int view_col);
- int (*max_width_by_row) (ECellView *ecell_view, int model_col, int view_col, int row);
- void (*show_tooltip) (ECellView *ecell_view, int model_col, int view_col, int row, int col_width, ETableTooltip *tooltip);
- gchar *(*get_bg_color) (ECellView *ecell_view, int row);
-
- void (*style_set) (ECellView *ecell_view, GtkStyle *previous_style);
-} ECellClass;
-
-GType e_cell_get_type (void);
-
-/* View creation methods. */
-ECellView *e_cell_new_view (ECell *ecell,
- ETableModel *table_model,
- void *e_table_item_view);
-void e_cell_kill_view (ECellView *ecell_view);
-
-/* Cell View methods. */
-gint e_cell_event (ECellView *ecell_view,
- GdkEvent *event,
- int model_col,
- int view_col,
- int row,
- ECellFlags flags,
- ECellActions *actions);
-void e_cell_realize (ECellView *ecell_view);
-void e_cell_unrealize (ECellView *ecell_view);
-void e_cell_draw (ECellView *ecell_view,
- GdkDrawable *drawable,
- int model_col,
- int view_col,
- int row,
- ECellFlags flags,
- int x1,
- int y1,
- int x2,
- int y2);
-void e_cell_print (ECellView *ecell_view,
- GnomePrintContext *context,
- int model_col,
- int view_col,
- int row,
- double width,
- double height);
-gdouble e_cell_print_height (ECellView *ecell_view,
- GnomePrintContext *context,
- int model_col,
- int view_col,
- int row,
- gdouble width);
-int e_cell_max_width (ECellView *ecell_view,
- int model_col,
- int view_col);
-int e_cell_max_width_by_row (ECellView *ecell_view,
- int model_col,
- int view_col,
- int row);
-gboolean e_cell_max_width_by_row_implemented (ECellView *ecell_view);
-void e_cell_show_tooltip (ECellView *ecell_view,
- int model_col,
- int view_col,
- int row,
- int col_width,
- ETableTooltip *tooltip);
-gchar *e_cell_get_bg_color (ECellView *ecell_view,
- int row);
-void e_cell_style_set (ECellView *ecell_view,
- GtkStyle *previous_style);
-
-void e_cell_focus (ECellView *ecell_view,
- int model_col,
- int view_col,
- int row,
- int x1,
- int y1,
- int x2,
- int y2);
-void e_cell_unfocus (ECellView *ecell_view);
-int e_cell_height (ECellView *ecell_view,
- int model_col,
- int view_col,
- int row);
-void *e_cell_enter_edit (ECellView *ecell_view,
- int model_col,
- int view_col,
- int row);
-void e_cell_leave_edit (ECellView *ecell_view,
- int model_col,
- int view_col,
- int row,
- void *edit_context);
-void *e_cell_save_state (ECellView *ecell_view,
- int model_col,
- int view_col,
- int row,
- void *edit_context);
-void e_cell_load_state (ECellView *ecell_view,
- int model_col,
- int view_col,
- int row,
- void *edit_context,
- void *state);
-void e_cell_free_state (ECellView *ecell_view,
- int model_col,
- int view_col,
- int row,
- void *state);
-
-G_END_DECLS
-
-#endif /* _E_CELL_H_ */
diff --git a/widgets/table/e-table-click-to-add.c b/widgets/table/e-table-click-to-add.c
deleted file mode 100644
index 544cbcbd86..0000000000
--- a/widgets/table/e-table-click-to-add.c
+++ /dev/null
@@ -1,601 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-click-to-add.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtksignal.h>
-#include <libgnomecanvas/gnome-canvas.h>
-#include <libgnomecanvas/gnome-canvas-util.h>
-#include <libgnomecanvas/gnome-canvas-rect-ellipse.h>
-#include <gdk-pixbuf/gdk-pixbuf.h>
-#include <atk/atkregistry.h>
-#include <atk/atkutil.h>
-#include <atk/atkgobjectaccessible.h>
-#include "e-table-header.h"
-#include "e-table-click-to-add.h"
-#include "e-table-defines.h"
-#include "e-table-one.h"
-#include "gal/e-text/e-text.h"
-#include "gal/widgets/e-canvas.h"
-#include "gal/widgets/e-canvas-utils.h"
-#include "gal/util/e-util.h"
-#include "gal/util/e-i18n.h"
-#include "gal/util/e-marshal.h"
-#include "gal/a11y/e-table/gal-a11y-e-table-click-to-add.h"
-
-enum {
- CURSOR_CHANGE,
- STYLE_SET,
- LAST_SIGNAL
-};
-
-static guint etcta_signals [LAST_SIGNAL] = { 0 };
-
-#define PARENT_OBJECT_TYPE gnome_canvas_group_get_type ()
-
-#define ELEMENTS(x) (sizeof (x) / sizeof (x[0]))
-
-static GnomeCanvasGroupClass *etcta_parent_class;
-
-enum {
- PROP_0,
- PROP_HEADER,
- PROP_MODEL,
- PROP_MESSAGE,
- PROP_WIDTH,
- PROP_HEIGHT
-};
-
-static void
-etcta_cursor_change (GtkObject *object, gint row, gint col, ETableClickToAdd *etcta)
-{
- g_signal_emit (etcta,
- etcta_signals [CURSOR_CHANGE], 0,
- row, col);
-}
-
-static void
-etcta_style_set (ETableClickToAdd *etcta, GtkStyle *previous_style)
-{
- GtkWidget *widget = GTK_WIDGET(GNOME_CANVAS_ITEM(etcta)->canvas);
-
- if (etcta->rect) {
- gnome_canvas_item_set (etcta->rect,
- "outline_color_gdk", &widget->style->fg[GTK_STATE_NORMAL],
- "fill_color_gdk", &widget->style->bg[GTK_STATE_NORMAL],
- NULL );
-
- }
-
- if (etcta->text)
- gnome_canvas_item_set (etcta->text,
- "fill_color_gdk", &widget->style->text[GTK_STATE_NORMAL],
- NULL);
-
-}
-
-static void
-etcta_add_table_header (ETableClickToAdd *etcta, ETableHeader *header)
-{
- etcta->eth = header;
- if (etcta->eth)
- g_object_ref (etcta->eth);
- if (etcta->row)
- gnome_canvas_item_set(GNOME_CANVAS_ITEM(etcta->row),
- "ETableHeader", header,
- NULL);
-}
-
-static void
-etcta_drop_table_header (ETableClickToAdd *etcta)
-{
- if (!etcta->eth)
- return;
-
- g_object_unref (etcta->eth);
- etcta->eth = NULL;
-}
-
-static void
-etcta_add_one (ETableClickToAdd *etcta, ETableModel *one)
-{
- etcta->one = one;
- if (etcta->one)
- g_object_ref (etcta->one);
- if (etcta->row)
- gnome_canvas_item_set(GNOME_CANVAS_ITEM(etcta->row),
- "ETableModel", one,
- NULL);
- g_object_set(etcta->selection,
- "model", one,
- NULL);
-}
-
-static void
-etcta_drop_one (ETableClickToAdd *etcta)
-{
- if (!etcta->one)
- return;
- g_object_unref (etcta->one);
- etcta->one = NULL;
- g_object_set(etcta->selection,
- "model", NULL,
- NULL);
-}
-
-static void
-etcta_add_model (ETableClickToAdd *etcta, ETableModel *model)
-{
- etcta->model = model;
- if (etcta->model)
- g_object_ref (etcta->model);
-}
-
-static void
-etcta_drop_model (ETableClickToAdd *etcta)
-{
- etcta_drop_one (etcta);
- if (!etcta->model)
- return;
- g_object_unref (etcta->model);
- etcta->model = NULL;
-}
-
-static void
-etcta_add_message (ETableClickToAdd *etcta, char *message)
-{
- etcta->message = g_strdup(message);
-}
-
-static void
-etcta_drop_message (ETableClickToAdd *etcta)
-{
- g_free(etcta->message);
- etcta->message = NULL;
-}
-
-
-static void
-etcta_dispose (GObject *object)
-{
- ETableClickToAdd *etcta = E_TABLE_CLICK_TO_ADD (object);
-
- etcta_drop_table_header (etcta);
- etcta_drop_model (etcta);
- etcta_drop_message (etcta);
- if (etcta->selection)
- g_object_unref (etcta->selection);
- etcta->selection = NULL;
-
- if (G_OBJECT_CLASS (etcta_parent_class)->dispose)
- (*G_OBJECT_CLASS (etcta_parent_class)->dispose) (object);
-}
-
-static void
-etcta_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
-{
- GnomeCanvasItem *item;
- ETableClickToAdd *etcta;
-
- item = GNOME_CANVAS_ITEM (object);
- etcta = E_TABLE_CLICK_TO_ADD (object);
-
- switch (prop_id){
- case PROP_HEADER:
- etcta_drop_table_header (etcta);
- etcta_add_table_header (etcta, E_TABLE_HEADER(g_value_get_object (value)));
- break;
- case PROP_MODEL:
- etcta_drop_model (etcta);
- etcta_add_model (etcta, E_TABLE_MODEL(g_value_get_object (value)));
- break;
- case PROP_MESSAGE:
- etcta_drop_message (etcta);
- etcta_add_message (etcta, (char*)g_value_get_string (value));
- break;
- case PROP_WIDTH:
- etcta->width = g_value_get_double (value);
- if (etcta->row)
- gnome_canvas_item_set(etcta->row,
- "minimum_width", etcta->width,
- NULL);
- if (etcta->text)
- gnome_canvas_item_set(etcta->text,
- "width", etcta->width - 4,
- NULL);
- if (etcta->rect)
- gnome_canvas_item_set(etcta->rect,
- "x2", etcta->width - 1,
- NULL);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- return;
-
- }
- gnome_canvas_item_request_update(item);
-}
-
-static void
-create_rect_and_text (ETableClickToAdd *etcta)
-{
- GtkWidget *widget = GTK_WIDGET (GNOME_CANVAS_ITEM(etcta)->canvas);
-
- if (!etcta->rect)
- etcta->rect = gnome_canvas_item_new(GNOME_CANVAS_GROUP(etcta),
- gnome_canvas_rect_get_type(),
- "x1", (double) 0,
- "y1", (double) 0,
- "x2", (double) etcta->width - 1,
- "y2", (double) etcta->height - 1,
- "outline_color_gdk", &widget->style->fg[GTK_STATE_NORMAL],
- "fill_color_gdk", &widget->style->bg[GTK_STATE_NORMAL],
- NULL);
-
- if (!etcta->text)
- etcta->text = gnome_canvas_item_new(GNOME_CANVAS_GROUP(etcta),
- e_text_get_type(),
- "text", etcta->message ? etcta->message : "",
- "anchor", GTK_ANCHOR_NW,
- "width", etcta->width - 4,
- "draw_background", FALSE,
- "fill_color_gdk", &widget->style->text[GTK_STATE_NORMAL],
- NULL);
-}
-
-static void
-etcta_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
- ETableClickToAdd *etcta;
-
- etcta = E_TABLE_CLICK_TO_ADD (object);
-
- switch (prop_id){
- case PROP_HEADER:
- g_value_set_object (value, etcta->eth);
- break;
- case PROP_MODEL:
- g_value_set_object (value, etcta->model);
- break;
- case PROP_MESSAGE:
- g_value_set_string (value, g_strdup(etcta->message));
- break;
- case PROP_WIDTH:
- g_value_set_double (value, etcta->width);
- break;
- case PROP_HEIGHT:
- g_value_set_double (value, etcta->height);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-etcta_realize (GnomeCanvasItem *item)
-{
- ETableClickToAdd *etcta = E_TABLE_CLICK_TO_ADD (item);
-
- create_rect_and_text (etcta);
- e_canvas_item_move_absolute (etcta->text, 2, 2);
-
- if (GNOME_CANVAS_ITEM_CLASS (etcta_parent_class)->realize)
- (*GNOME_CANVAS_ITEM_CLASS (etcta_parent_class)->realize)(item);
-
- e_canvas_item_request_reflow (item);
-}
-
-static void
-etcta_unrealize (GnomeCanvasItem *item)
-{
- if (GNOME_CANVAS_ITEM_CLASS (etcta_parent_class)->unrealize)
- (*GNOME_CANVAS_ITEM_CLASS (etcta_parent_class)->unrealize)(item);
-}
-
-static void finish_editing (ETableClickToAdd *etcta);
-
-static int
-item_key_press (ETableItem *item, int row, int col, GdkEvent *event, ETableClickToAdd *etcta)
-{
- switch (event->key.keyval) {
- case GDK_Return:
- case GDK_KP_Enter:
- case GDK_ISO_Enter:
- case GDK_3270_Enter:
- finish_editing(etcta);
- return TRUE;
- }
- return FALSE;
-}
-
-static void
-set_initial_selection (ETableClickToAdd *etcta)
-{
- e_selection_model_do_something (E_SELECTION_MODEL(etcta->selection),
- 0, e_table_header_prioritized_column (etcta->eth),
- 0);
-}
-
-static void
-finish_editing (ETableClickToAdd *etcta)
-{
- if (etcta->row) {
- ETableModel *one;
-
- e_table_item_leave_edit (E_TABLE_ITEM (etcta->row));
- e_table_one_commit(E_TABLE_ONE(etcta->one));
- etcta_drop_one (etcta);
- gtk_object_destroy(GTK_OBJECT (etcta->row));
- etcta->row = NULL;
-
- one = e_table_one_new(etcta->model);
- etcta_add_one (etcta, one);
- g_object_unref (one);
-
- e_selection_model_clear(E_SELECTION_MODEL(etcta->selection));
-
- etcta->row = gnome_canvas_item_new(GNOME_CANVAS_GROUP(etcta),
- e_table_item_get_type(),
- "ETableHeader", etcta->eth,
- "ETableModel", etcta->one,
- "minimum_width", etcta->width,
- "horizontal_draw_grid", TRUE,
- "vertical_draw_grid", TRUE,
- "selection_model", etcta->selection,
- "cursor_mode", E_CURSOR_SPREADSHEET,
- NULL);
-
- g_signal_connect(etcta->row, "key_press",
- G_CALLBACK(item_key_press), etcta);
-
- set_initial_selection (etcta);
- }
-}
-
-/*
- * Handles the events on the ETableClickToAdd, particularly it creates the ETableItem and passes in some events.
- */
-static int
-etcta_event (GnomeCanvasItem *item, GdkEvent *e)
-{
- ETableClickToAdd *etcta = E_TABLE_CLICK_TO_ADD (item);
-
- switch (e->type){
- case GDK_FOCUS_CHANGE:
- if (!e->focus_change.in)
- return TRUE;
-
- case GDK_BUTTON_PRESS:
- if (etcta->text) {
- gtk_object_destroy(GTK_OBJECT (etcta->text));
- etcta->text = NULL;
- }
- if (etcta->rect) {
- gtk_object_destroy(GTK_OBJECT (etcta->rect));
- etcta->rect = NULL;
- }
- if (!etcta->row) {
- ETableModel *one;
-
- one = e_table_one_new(etcta->model);
- etcta_add_one (etcta, one);
- g_object_unref (one);
-
- e_selection_model_clear(E_SELECTION_MODEL(etcta->selection));
-
- etcta->row = gnome_canvas_item_new(GNOME_CANVAS_GROUP(item),
- e_table_item_get_type(),
- "ETableHeader", etcta->eth,
- "ETableModel", etcta->one,
- "minimum_width", etcta->width,
- "horizontal_draw_grid", TRUE,
- "vertical_draw_grid", TRUE,
- "selection_model", etcta->selection,
- "cursor_mode", E_CURSOR_SPREADSHEET,
- NULL);
-
- g_signal_connect(etcta->row, "key_press",
- G_CALLBACK (item_key_press), etcta);
-
- e_canvas_item_grab_focus (GNOME_CANVAS_ITEM(etcta->row), TRUE);
-
- set_initial_selection (etcta);
- }
- break;
-
- case GDK_KEY_PRESS:
- switch (e->key.keyval) {
- case GDK_Tab:
- case GDK_KP_Tab:
- case GDK_ISO_Left_Tab:
- finish_editing (etcta);
- break;
- default:
- return FALSE;
- break;
- }
- break;
-
- default:
- return FALSE;
- }
- return TRUE;
-}
-
-static void
-etcta_reflow (GnomeCanvasItem *item, int flags)
-{
- ETableClickToAdd *etcta = E_TABLE_CLICK_TO_ADD (item);
-
- double old_height = etcta->height;
-
- if (etcta->text) {
- g_object_get(etcta->text,
- "height", &etcta->height,
- NULL);
- etcta->height += 6;
- }
- if (etcta->row) {
- g_object_get(etcta->row,
- "height", &etcta->height,
- NULL);
- }
-
- if (etcta->rect) {
- g_object_set(etcta->rect,
- "y2", etcta->height - 1,
- NULL);
- }
-
- if (old_height != etcta->height)
- e_canvas_item_request_parent_reflow(item);
-}
-
-static void
-etcta_class_init (ETableClickToAddClass *klass)
-{
- GnomeCanvasItemClass *item_class = GNOME_CANVAS_ITEM_CLASS(klass);
- GObjectClass *object_class = G_OBJECT_CLASS(klass);
-
- etcta_parent_class = g_type_class_ref (PARENT_OBJECT_TYPE);
-
- klass->cursor_change = NULL;
- klass->style_set = etcta_style_set;
-
- object_class->dispose = etcta_dispose;
- object_class->set_property = etcta_set_property;
- object_class->get_property = etcta_get_property;
-
- item_class->realize = etcta_realize;
- item_class->unrealize = etcta_unrealize;
- item_class->event = etcta_event;
-
- g_object_class_install_property (object_class, PROP_HEADER,
- g_param_spec_object ("header",
- _("Header"),
- /*_( */"XXX blurb" /*)*/,
- E_TABLE_HEADER_TYPE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_MODEL,
- g_param_spec_object ("model",
- _("Model"),
- /*_( */"XXX blurb" /*)*/,
- E_TABLE_MODEL_TYPE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_MESSAGE,
- g_param_spec_string ("message",
- _("Message"),
- /*_( */"XXX blurb" /*)*/,
- NULL,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_WIDTH,
- g_param_spec_double ("width",
- _("Width"),
- /*_( */"XXX blurb" /*)*/,
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE | G_PARAM_LAX_VALIDATION));
-
- g_object_class_install_property (object_class, PROP_HEIGHT,
- g_param_spec_double ("height",
- _("Height"),
- /*_( */"XXX blurb" /*)*/,
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READABLE | G_PARAM_LAX_VALIDATION));
-
- etcta_signals [CURSOR_CHANGE] =
- g_signal_new ("cursor_change",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableClickToAddClass, cursor_change),
- NULL, NULL,
- e_marshal_VOID__INT_INT,
- G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT);
-
- etcta_signals [STYLE_SET] =
- g_signal_new ("style_set",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableClickToAddClass, style_set),
- NULL, NULL,
- e_marshal_NONE__OBJECT,
- G_TYPE_NONE, 1, GTK_TYPE_STYLE);
-
- gal_a11y_e_table_click_to_add_init ();
-}
-
-static void
-etcta_init (GnomeCanvasItem *item)
-{
- ETableClickToAdd *etcta = E_TABLE_CLICK_TO_ADD (item);
- AtkObject *a11y;
-
- etcta->one = NULL;
- etcta->model = NULL;
- etcta->eth = NULL;
-
- etcta->message = NULL;
-
- etcta->row = NULL;
- etcta->text = NULL;
- etcta->rect = NULL;
-
- etcta->selection = e_table_selection_model_new();
- g_signal_connect(etcta->selection, "cursor_changed",
- G_CALLBACK (etcta_cursor_change), etcta);
-
- e_canvas_item_set_reflow_callback(item, etcta_reflow);
-
- /* create its a11y object at this time if accessibility is enabled*/
- if (atk_get_root () != NULL) {
- a11y = atk_gobject_accessible_for_object (G_OBJECT (etcta));
- atk_object_set_name (a11y, _("click to add"));
- }
-}
-
-E_MAKE_TYPE(e_table_click_to_add, "ETableClickToAdd", ETableClickToAdd, etcta_class_init, etcta_init, PARENT_OBJECT_TYPE)
-
-
-/* The colors in this need to be themefied. */
-/**
- * e_table_click_to_add_commit:
- * @etcta: The %ETableClickToAdd to commit.
- *
- * This routine commits the current thing being edited and returns to
- * just displaying the click to add message.
- **/
-void
-e_table_click_to_add_commit (ETableClickToAdd *etcta)
-{
- if (etcta->row) {
- e_table_one_commit(E_TABLE_ONE(etcta->one));
- etcta_drop_one (etcta);
- gtk_object_destroy(GTK_OBJECT (etcta->row));
- etcta->row = NULL;
- }
- create_rect_and_text (etcta);
- e_canvas_item_move_absolute (etcta->text, 3, 3);
-}
diff --git a/widgets/table/e-table-click-to-add.h b/widgets/table/e-table-click-to-add.h
deleted file mode 100644
index 42ffd42d07..0000000000
--- a/widgets/table/e-table-click-to-add.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-click-to-add.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_CLICK_TO_ADD_H_
-#define _E_TABLE_CLICK_TO_ADD_H_
-
-#include <libxml/tree.h>
-#include <libgnomecanvas/gnome-canvas.h>
-#include <gal/e-table/e-table-header.h>
-#include <gal/e-table/e-table-sort-info.h>
-#include <gal/e-table/e-table-item.h>
-#include <gal/e-table/e-table-selection-model.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_CLICK_TO_ADD_TYPE (e_table_click_to_add_get_type ())
-#define E_TABLE_CLICK_TO_ADD(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_CLICK_TO_ADD_TYPE, ETableClickToAdd))
-#define E_TABLE_CLICK_TO_ADD_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_CLICK_TO_ADD_TYPE, ETableClickToAddClass))
-#define E_IS_TABLE_CLICK_TO_ADD(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_CLICK_TO_ADD_TYPE))
-#define E_IS_TABLE_CLICK_TO_ADD_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_CLICK_TO_ADD_TYPE))
-
-typedef struct {
- GnomeCanvasGroup parent;
-
- ETableModel *one; /* The ETableOne. */
-
- ETableModel *model; /* The backend model. */
- ETableHeader *eth; /* This is just to give to the ETableItem. */
-
- char *message;
-
- GnomeCanvasItem *row; /* If row is NULL, we're sitting with no data and a "Click here" message. */
- GnomeCanvasItem *text; /* If text is NULL, row shouldn't be. */
- GnomeCanvasItem *rect; /* What the heck. Why not. */
-
- gdouble width;
- gdouble height;
-
- ETableSelectionModel *selection;
-} ETableClickToAdd;
-
-typedef struct {
- GnomeCanvasGroupClass parent_class;
-
- /*
- * signals
- */
- void (*cursor_change) (ETableClickToAdd *etcta, gint row, gint col);
- void (*style_set) (ETableClickToAdd *etcta, GtkStyle *previous_style);
-} ETableClickToAddClass;
-
-GType e_table_click_to_add_get_type (void);
-
-void e_table_click_to_add_commit (ETableClickToAdd *etcta);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_CLICK_TO_ADD_H_ */
diff --git a/widgets/table/e-table-col-dnd.h b/widgets/table/e-table-col-dnd.h
deleted file mode 100644
index d31c94ed26..0000000000
--- a/widgets/table/e-table-col-dnd.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-col-dnd.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_COL_DND_H_
-#define _E_TABLE_COL_DND_H_
-
-#include <glib.h>
-
-G_BEGIN_DECLS
-
-#define TARGET_ETABLE_COL_TYPE "application/x-etable-column-header"
-
-enum {
- TARGET_ETABLE_COL_HEADER
-};
-
-G_END_DECLS
-
-#endif /* _E_TABLE_COL_DND_H_ */
diff --git a/widgets/table/e-table-col.c b/widgets/table/e-table-col.c
deleted file mode 100644
index 9acc0ba4fd..0000000000
--- a/widgets/table/e-table-col.c
+++ /dev/null
@@ -1,236 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-col.c
- * Copyright 1999, 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza <miguel@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include "e-table-col.h"
-#include "gal/util/e-util.h"
-#include "gal/util/e-i18n.h"
-
-static GObjectClass *parent_class;
-
-enum {
- PROP_0,
- PROP_COMPARE_COL,
-};
-
-static void
-etc_dispose (GObject *object)
-{
- ETableCol *etc = E_TABLE_COL (object);
-
- if (etc->ecell)
- g_object_unref (etc->ecell);
- etc->ecell = NULL;
-
- if (etc->pixbuf)
- gdk_pixbuf_unref (etc->pixbuf);
- etc->pixbuf = NULL;
-
- if (etc->text)
- g_free (etc->text);
- etc->text = NULL;
-
- parent_class->dispose (object);
-}
-
-static void
-etc_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
-{
- ETableCol *etc = E_TABLE_COL (object);
-
- switch (prop_id) {
- case PROP_COMPARE_COL:
- etc->compare_col = g_value_get_int (value);
- break;
- default:
- break;
- }
-}
-
-static void
-etc_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
- ETableCol *etc = E_TABLE_COL (object);
-
- switch (prop_id) {
- case PROP_COMPARE_COL:
- g_value_set_int (value, etc->compare_col);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-e_table_col_class_init (GObjectClass *object_class)
-{
- parent_class = g_type_class_peek_parent (object_class);
-
- object_class->dispose = etc_dispose;
- object_class->set_property = etc_set_property;
- object_class->get_property = etc_get_property;
-
- g_object_class_install_property (object_class, PROP_COMPARE_COL,
- g_param_spec_int ("compare_col",
- _( "Width" ),
- "Width",
- 0, G_MAXINT, 0,
- G_PARAM_READWRITE));
-}
-
-static void
-e_table_col_init (ETableCol *etc)
-{
- etc->width = 0;
- etc->sortable = 1;
- etc->groupable = 1;
- etc->justification = GTK_JUSTIFY_LEFT;
- etc->priority = 0;
-}
-
-E_MAKE_TYPE(e_table_col, "ETableCol", ETableCol, e_table_col_class_init, e_table_col_init, G_TYPE_OBJECT)
-
-/**
- * e_table_col_new:
- * @col_idx: the column we represent in the model
- * @text: a title for this column
- * @expansion: FIXME
- * @min_width: minimum width in pixels for this column
- * @ecell: the renderer to be used for this column
- * @compare: comparision function for the elements stored in this column
- * @resizable: whether the column can be resized interactively by the user
- * @priority: FIXME
- *
- * The ETableCol represents a column to be used inside an ETable. The
- * ETableCol objects are inserted inside an ETableHeader (which is just a collection
- * of ETableCols). The ETableHeader is the definition of the order in which
- * columns are shown to the user.
- *
- * The @text argument is the the text that will be shown as a header to the
- * user. @col_idx reflects where the data for this ETableCol object will
- * be fetch from an ETableModel. So even if the user changes the order
- * of the columns being viewed (the ETableCols in the ETableHeader), the
- * column will always point to the same column inside the ETableModel.
- *
- * The @ecell argument is an ECell object that needs to know how to render the
- * data in the ETableModel for this specific row.
- *
- * Returns: the newly created ETableCol object.
- */
-ETableCol *
-e_table_col_new (int col_idx, const char *text, double expansion, int min_width,
- ECell *ecell, GCompareFunc compare, gboolean resizable, gboolean disabled, int priority)
-{
- ETableCol *etc;
-
- g_return_val_if_fail (expansion >= 0, NULL);
- g_return_val_if_fail (min_width >= 0, NULL);
- g_return_val_if_fail (ecell != NULL, NULL);
- g_return_val_if_fail (compare != NULL, NULL);
- g_return_val_if_fail (text != NULL, NULL);
-
- etc = g_object_new (E_TABLE_COL_TYPE, NULL);
-
- etc->is_pixbuf = FALSE;
-
- etc->col_idx = col_idx;
- etc->compare_col = col_idx;
- etc->text = g_strdup (text);
- etc->pixbuf = NULL;
- etc->expansion = expansion;
- etc->min_width = min_width;
- etc->ecell = ecell;
- etc->compare = compare;
- etc->disabled = disabled;
- etc->priority = priority;
-
- etc->selected = 0;
- etc->resizable = resizable;
-
- g_object_ref (etc->ecell);
-
- return etc;
-}
-
-/**
- * e_table_col_new_with_pixbuf:
- * @col_idx: the column we represent in the model
- * @pixbuf: the image to be used for the header
- * @expansion: FIXME
- * @min_width: minimum width in pixels for this column
- * @ecell: the renderer to be used for this column
- * @compare: comparision function for the elements stored in this column
- * @resizable: whether the column can be resized interactively by the user
- *
- * The ETableCol represents a column to be used inside an ETable. The
- * ETableCol objects are inserted inside an ETableHeader (which is just a collection
- * of ETableCols). The ETableHeader is the definition of the order in which
- * columns are shown to the user.
- *
- * The @text argument is the the text that will be shown as a header to the
- * user. @col_idx reflects where the data for this ETableCol object will
- * be fetch from an ETableModel. So even if the user changes the order
- * of the columns being viewed (the ETableCols in the ETableHeader), the
- * column will always point to the same column inside the ETableModel.
- *
- * The @ecell argument is an ECell object that needs to know how to render the
- * data in the ETableModel for this specific row.
- *
- * Returns: the newly created ETableCol object.
- */
-ETableCol *
-e_table_col_new_with_pixbuf (int col_idx, const char *text, GdkPixbuf *pixbuf, double expansion, int min_width,
- ECell *ecell, GCompareFunc compare, gboolean resizable, gboolean disabled, int priority)
-{
- ETableCol *etc;
-
- g_return_val_if_fail (expansion >= 0, NULL);
- g_return_val_if_fail (min_width >= 0, NULL);
- g_return_val_if_fail (ecell != NULL, NULL);
- g_return_val_if_fail (compare != NULL, NULL);
- g_return_val_if_fail (pixbuf != NULL, NULL);
-
- etc = g_object_new (E_TABLE_COL_TYPE, NULL);
-
- etc->is_pixbuf = TRUE;
-
- etc->col_idx = col_idx;
- etc->compare_col = col_idx;
- etc->text = g_strdup(text);
- etc->pixbuf = pixbuf;
- etc->expansion = expansion;
- etc->min_width = min_width;
- etc->ecell = ecell;
- etc->compare = compare;
- etc->disabled = disabled;
- etc->priority = priority;
-
- etc->selected = 0;
- etc->resizable = resizable;
-
- g_object_ref (etc->ecell);
- gdk_pixbuf_ref (etc->pixbuf);
-
- return etc;
-}
diff --git a/widgets/table/e-table-col.h b/widgets/table/e-table-col.h
deleted file mode 100644
index 8f2369c76a..0000000000
--- a/widgets/table/e-table-col.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-col.h
- * Copyright 1999, 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza <miguel@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_COL_H_
-#define _E_TABLE_COL_H_
-
-#include <gdk-pixbuf/gdk-pixbuf.h>
-#include <gal/e-table/e-cell.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_COL_TYPE (e_table_col_get_type ())
-#define E_TABLE_COL(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_COL_TYPE, ETableCol))
-#define E_TABLE_COL_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_COL_TYPE, ETableColClass))
-#define E_IS_TABLE_COL(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_COL_TYPE))
-#define E_IS_TABLE_COL_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_COL_TYPE))
-#define E_TABLE_COL_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), E_TABLE_COL_TYPE, ETableColClass))
-
-typedef enum {
- E_TABLE_COL_ARROW_NONE = 0,
- E_TABLE_COL_ARROW_UP,
- E_TABLE_COL_ARROW_DOWN
-} ETableColArrow;
-
-/*
- * Information about a single column
- */
-typedef struct {
- GObject base;
- char *text;
- GdkPixbuf *pixbuf;
- int min_width;
- int width;
- double expansion;
- short x;
- GCompareFunc compare;
- ETableSearchFunc search;
- unsigned int is_pixbuf:1;
- unsigned int selected:1;
- unsigned int resizable:1;
- unsigned int disabled:1;
- unsigned int sortable:1;
- unsigned int groupable:1;
- int col_idx;
- int compare_col;
- int priority;
-
- GtkJustification justification;
-
- ECell *ecell;
-} ETableCol;
-
-typedef struct {
- GObjectClass parent_class;
-} ETableColClass;
-
-GType e_table_col_get_type (void);
-ETableCol *e_table_col_new (int col_idx,
- const char *text,
- double expansion,
- int min_width,
- ECell *ecell,
- GCompareFunc compare,
- gboolean resizable,
- gboolean disabled,
- int priority);
-ETableCol *e_table_col_new_with_pixbuf (int col_idx,
- const char *text,
- GdkPixbuf *pixbuf,
- double expansion,
- int min_width,
- ECell *ecell,
- GCompareFunc compare,
- gboolean resizable,
- gboolean disabled,
- int priority);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_COL_H_ */
-
diff --git a/widgets/table/e-table-column-specification.c b/widgets/table/e-table-column-specification.c
deleted file mode 100644
index 2e992414d5..0000000000
--- a/widgets/table/e-table-column-specification.c
+++ /dev/null
@@ -1,150 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-column-specification.c - Savable specification of a column.
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <stdlib.h>
-#include <libxml/parser.h>
-#include <libxml/xmlmemory.h>
-#include "gal/util/e-xml-utils.h"
-#include "gal/util/e-util.h"
-#include "e-table-column-specification.h"
-
-static GObjectClass *etcs_parent_class;
-
-static void
-free_strings (ETableColumnSpecification *etcs)
-{
- g_free(etcs->title);
- etcs->title = NULL;
- g_free(etcs->pixbuf);
- etcs->pixbuf = NULL;
- g_free(etcs->cell);
- etcs->cell = NULL;
- g_free(etcs->compare);
- etcs->compare = NULL;
- g_free(etcs->search);
- etcs->search = NULL;
-}
-
-static void
-etcs_finalize (GObject *object)
-{
- ETableColumnSpecification *etcs = E_TABLE_COLUMN_SPECIFICATION (object);
-
- free_strings(etcs);
-
- etcs_parent_class->finalize (object);
-}
-
-static void
-etcs_class_init (GObjectClass *klass)
-{
- etcs_parent_class = g_type_class_peek_parent (klass);
-
- klass->finalize = etcs_finalize;
-}
-
-static void
-etcs_init (ETableColumnSpecification *specification)
-{
- specification->model_col = 0;
- specification->compare_col = 0;
- specification->title = g_strdup("");
- specification->pixbuf = NULL;
-
- specification->expansion = 0;
- specification->minimum_width = 0;
- specification->resizable = FALSE;
- specification->disabled = FALSE;
-
- specification->cell = NULL;
- specification->compare = NULL;
- specification->search = NULL;
- specification->priority = 0;
-}
-
-E_MAKE_TYPE(e_table_column_specification, "ETableColumnSpecification", ETableColumnSpecification, etcs_class_init, etcs_init, G_TYPE_OBJECT)
-
-ETableColumnSpecification *
-e_table_column_specification_new (void)
-{
- ETableColumnSpecification *etcs = g_object_new (E_TABLE_COLUMN_SPECIFICATION_TYPE, NULL);
-
- return (ETableColumnSpecification *) etcs;
-}
-
-void
-e_table_column_specification_load_from_node (ETableColumnSpecification *etcs,
- const xmlNode *node)
-{
- free_strings(etcs);
-
- etcs->model_col = e_xml_get_integer_prop_by_name (node, "model_col");
- etcs->compare_col = e_xml_get_integer_prop_by_name_with_default (node, "compare_col", etcs->model_col);
- etcs->title = e_xml_get_string_prop_by_name (node, "_title");
- etcs->pixbuf = e_xml_get_string_prop_by_name (node, "pixbuf");
-
- etcs->expansion = e_xml_get_double_prop_by_name (node, "expansion");
- etcs->minimum_width = e_xml_get_integer_prop_by_name (node, "minimum_width");
- etcs->resizable = e_xml_get_bool_prop_by_name (node, "resizable");
- etcs->disabled = e_xml_get_bool_prop_by_name (node, "disabled");
-
- etcs->cell = e_xml_get_string_prop_by_name (node, "cell");
- etcs->compare = e_xml_get_string_prop_by_name (node, "compare");
- etcs->search = e_xml_get_string_prop_by_name (node, "search");
- etcs->priority = e_xml_get_integer_prop_by_name_with_default (node, "priority", 0);
-
- if (etcs->title == NULL)
- etcs->title = g_strdup("");
-}
-
-xmlNode *
-e_table_column_specification_save_to_node (ETableColumnSpecification *specification,
- xmlNode *parent)
-{
- xmlNode *node;
- if (parent)
- node = xmlNewChild(parent, NULL, "ETableColumn", NULL);
- else
- node = xmlNewNode(NULL, "ETableColumn");
-
- e_xml_set_integer_prop_by_name(node, "model_col", specification->model_col);
- if (specification->compare_col != specification->model_col)
- e_xml_set_integer_prop_by_name(node, "compare_col", specification->compare_col);
- e_xml_set_string_prop_by_name(node, "_title", specification->title);
- e_xml_set_string_prop_by_name(node, "pixbuf", specification->pixbuf);
-
- e_xml_set_double_prop_by_name(node, "expansion", specification->expansion);
- e_xml_set_integer_prop_by_name(node, "minimum_width", specification->minimum_width);
- e_xml_set_bool_prop_by_name(node, "resizable", specification->resizable);
- e_xml_set_bool_prop_by_name(node, "disabled", specification->disabled);
-
- e_xml_set_string_prop_by_name(node, "cell", specification->cell);
- e_xml_set_string_prop_by_name(node, "compare", specification->compare);
- e_xml_set_string_prop_by_name(node, "search", specification->search);
- if (specification->priority != 0)
- e_xml_set_integer_prop_by_name (node, "priority", specification->priority);
-
- return node;
-}
-
diff --git a/widgets/table/e-table-column-specification.h b/widgets/table/e-table-column-specification.h
deleted file mode 100644
index 6bf5623398..0000000000
--- a/widgets/table/e-table-column-specification.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-column-specification.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_COLUMN_SPECIFICATION_H_
-#define _E_TABLE_COLUMN_SPECIFICATION_H_
-
-#include <glib.h>
-#include <glib-object.h>
-#include <libxml/tree.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_COLUMN_SPECIFICATION_TYPE (e_table_column_specification_get_type ())
-#define E_TABLE_COLUMN_SPECIFICATION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_COLUMN_SPECIFICATION_TYPE, ETableColumnSpecification))
-#define E_TABLE_COLUMN_SPECIFICATION_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_COLUMN_SPECIFICATION_TYPE, ETableColumnSpecificationClass))
-#define E_IS_TABLE_COLUMN_SPECIFICATION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_COLUMN_SPECIFICATION_TYPE))
-#define E_IS_TABLE_COLUMN_SPECIFICATION_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_COLUMN_SPECIFICATION_TYPE))
-#define E_TABLE_COLUMN_SPECIFICATION_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), E_TABLE_COLUMN_SPECIFICATION_TYPE, ETableColumnSpecificationClass))
-
-typedef struct {
- GObject base;
- int model_col;
- int compare_col;
- char *title;
- char *pixbuf;
-
- double expansion;
- int minimum_width;
- guint resizable : 1;
- guint disabled : 1;
-
- char *cell;
- char *compare;
- char *search;
- int priority;
-} ETableColumnSpecification;
-
-typedef struct {
- GObjectClass parent_class;
-} ETableColumnSpecificationClass;
-
-GType e_table_column_specification_get_type (void);
-
-ETableColumnSpecification *e_table_column_specification_new (void);
-
-void e_table_column_specification_load_from_node (ETableColumnSpecification *state,
- const xmlNode *node);
-xmlNode *e_table_column_specification_save_to_node (ETableColumnSpecification *state,
- xmlNode *parent);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_COLUMN_SPECIFICATION_H_ */
diff --git a/widgets/table/e-table-column.c b/widgets/table/e-table-column.c
deleted file mode 100644
index 514a25e74e..0000000000
--- a/widgets/table/e-table-column.c
+++ /dev/null
@@ -1,291 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-column.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include "e-table-column.h"
-
-enum {
- STRUCTURE_CHANGE,
- DIMENSION_CHANGE,
- LAST_SIGNAL
-};
-
-static guint etc_signals [LAST_SIGNAL] = { 0, };
-
-#define PARENT_CLASS GTK_TYPE_OBJECT
-static GtkObjectClass *e_table_column_parent_class;
-
-static void
-e_table_column_finalize (GObject *object)
-{
- ETableColumn *etc = E_TABLE_COLUMN (object);
- const int cols = etc->col_count;
-
- /*
- * Destroy listeners
- */
- for (l = etc->listeners; l; l = l->next)
- g_free (l->data);
- g_slist_free (etc->listeners);
- etc->listeners = NULL;
-
- /*
- * Destroy columns
- */
- for (i = 0; i < cols; i++)
- e_table_column_remove (etc, i);
-
- G_OBJECT_CLASS (e_table_column_parent_class)->finalize (object);
-}
-
-static void
-e_table_column_class_init (GtkObjectClass *object_class)
-{
- G_OBJECT_CLASS (object_class)->finalize = e_table_column_finalize;
-
- e_table_column_parent_class = g_type_class_ref (PARENT_CLASS);
-
- etc_signals [STRUCTURE_CHANGE] =
- g_signal_new ("structure_change",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableColumn, structure_change),
- NULL, NULL,
- e_marshal_NONE__NONE,
- G_TYPE_NONE, 0);
- etc_signals [DIMENSION_CHANGE] =
- g_signal_new ("dimension_change",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableColumn, dimension_change),
- e_marshal_NONE__INT,
- G_TYPE_NONE, 1, G_TYPE_INT);
-}
-
-E_MAKE_TYPE (e_table_column,
- "ETableColumn",
- ETableColumn,
- e_table_column_class_init,
- NULL,
- PARENT_TYPE);
-
-static void
-etc_do_insert (ETableColumn *etc, int pos, ETableCol *val)
-{
- memcpy (&etc->columns [pos+1], &etc->columns [pos],
- sizeof (ETableCol *) * (etc->col_count - pos));
- etc->columns [pos] = val;
-}
-
-void
-e_table_column_add_column (ETableColumn *etc, ETableCol *tc, int pos)
-{
- ETableCol **new_ptr;
-
- g_return_if_fail (etc != NULL);
- g_return_if_fail (E_IS_TABLE_COLUMN (etc));
- g_return_if_fail (tc != NULL);
- g_return_if_fail (pos >= 0 && pos < etc->col_count);
-
- if (pos == -1)
- pos = etc->col_count;
- etc->columns = g_realloc (etc->columns, sizeof (ETableCol *) * (etc->col_count + 1));
- etc_do_insert (etc, pos, tc);
- etc->col_count++;
-
- g_signal_emit (etc, etc_signals [STRUCTURE_CHANGE], 0);
-}
-
-ETableCol *
-e_table_column_get_column (ETableColumn *etc, int column)
-{
- g_return_val_if_fail (etc != NULL, NULL);
- g_return_val_if_fail (E_IS_TABLE_COLUMN (etc), NULL);
-
- if (column < 0)
- return NULL;
-
- if (column >= etc->col_count)
- return NULL;
-
- return etc->columns [column];
-}
-
-int
-e_table_column_count (ETableColumn *etc)
-{
- g_return_val_if_fail (etc != NULL, 0);
- g_return_val_if_fail (E_IS_TABLE_COLUMN (etc), 0);
-
- return etc->col_count;
-}
-
-int
-e_table_column_index (ETableColumn *etc, const char *identifier)
-{
- int i;
-
- g_return_val_if_fail (etc != NULL, 0);
- g_return_val_if_fail (E_IS_TABLE_COLUMN (etc), 0);
- g_return_val_if_fail (identifier != NULL, 0);
-
- for (i = 0; i < etc->col_count; i++){
- ETableCol *tc = etc->columns [i];
-
- if (strcmp (i->id, identifier) == 0)
- return i;
- }
-
- return -1;
-}
-
-int
-e_table_column_get_index_at (ETableColumn *etc, int x_offset)
-{
- int i, total;
-
- g_return_val_if_fail (etc != NULL, 0);
- g_return_val_if_fail (E_IS_TABLE_COLUMN (etc), 0);
- g_return_val_if_fail (identifier != NULL, 0);
-
- total = 0;
- for (i = 0; i < etc->col_count; i++){
- total += etc->columns [i]->width;
-
- if (x_offset < total)
- return i;
- }
-
- return -1;
-}
-
-ETableCol **
-e_table_column_get_columns (ETableColumn *etc)
-{
- ETableCol **ret;
- int i;
-
- g_return_val_if_fail (etc != NULL, 0);
- g_return_val_if_fail (E_IS_TABLE_COLUMN (etc), 0);
-
- ret = g_new (ETableCol *, etc->col_count + 1);
- memcpy (ret, etc->columns, sizeof (ETableCol *) * etc->col_count);
- ret [etc->col_count] = NULL;
-
- return ret;
-}
-
-gboolean
-e_table_column_selection_ok (ETableColumn *etc)
-{
- g_return_val_if_fail (etc != NULL, FALSE);
- g_return_val_if_fail (E_IS_TABLE_COLUMN (etc), FALSE);
-
- return etc->selectable;
-}
-
-int
-ve_table_column_get_selected (ETableColumn *etc)
-{
- int i;
- int selected = 0;
-
- g_return_val_if_fail (etc != NULL, 0);
- g_return_val_if_fail (E_IS_TABLE_COLUMN (etc), 0);
-
- for (i = 0; i < etc->col_count; i++){
- if (etc->columns [i]->selected)
- selected++;
- }
-
- return selected;
-}
-
-int
-e_table_column_total_width (ETableColumn *etc)
-{
- int total;
-
- g_return_val_if_fail (etc != NULL, 0);
- g_return_val_if_fail (E_IS_TABLE_COLUMN (etc), 0);
-
- total = 0;
- for (i = 0; i < etc->col_count; i++)
- total += etc->columns [i].width;
-
- return total;
-}
-
-static void
-etc_do_remove (ETableColumn *etc, int idx)
-{
- memcpy (&etc->columns [idx], &etc->columns [idx+1],
- sizeof (ETableCol *) * etc->col_count - idx);
- etc->col_count--;
-}
-
-void
-e_table_column_move (ETableColumn *etc, int source_index, int target_index)
-{
- g_return_if_fail (etc != NULL);
- g_return_if_fail (E_IS_TABLE_COLUMN (etc));
- g_return_if_fail (source_index >= 0);
- g_return_if_fail (target_index >= 0);
- g_return_if_fail (source_index < etc->col_count);
- g_return_if_fail (target_index < etc->col_count);
-
- old = etc->columns [source_index];
- etc_do_remove (etc, source_index);
- etc_do_insert (etc, target_index, old);
- g_signal_emit (etc, etc_signals [STRUCTURE_CHANGE], 0);
-}
-
-void
-e_table_column_remove (ETableColumn *etc, int idx)
-{
- g_return_if_fail (etc != NULL);
- g_return_if_fail (E_IS_TABLE_COLUMN (etc));
- g_return_if_fail (idx >= 0);
- g_return_if_fail (idx < etc->col_count);
-
- etc_do_remove (etc, idx);
- g_signal_emit (etc, etc_signals [STRUCTURE_CHANGE], 0);
-}
-
-void
-e_table_column_set_selection (ETableColumn *etc, gboolean allow_selection);
-{
-}
-
-void
-e_table_column_set_size (ETableColumn *etc, int idx, int size)
-{
- g_return_if_fail (etc != NULL);
- g_return_if_fail (E_IS_TABLE_COLUMN (etc));
- g_return_if_fail (idx >= 0);
- g_return_if_fail (idx < etc->col_count);
- g_return_if_fail (size > 0);
-
- etc->columns [idx]->width = size;
- g_signal_emit (etc, etc_signals [SIZE_CHANGE], 0, idx);
-}
diff --git a/widgets/table/e-table-config-field.c b/widgets/table/e-table-config-field.c
deleted file mode 100644
index 7c23e10046..0000000000
--- a/widgets/table/e-table-config-field.c
+++ /dev/null
@@ -1,300 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-config-field.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <stdlib.h>
-#include <gtk/gtk.h>
-#include <gtk/gtkbox.h>
-#include "gal/util/e-util.h"
-#include "gal/util/e-i18n.h"
-#include "e-table-config-field.h"
-
-#define PARENT_TYPE (gtk_vbox_get_type())
-
-static GtkVBoxClass *etcf_parent_class;
-
-static void
-etcf_dispose (GObject *object)
-{
- ETableConfigField *etcf = E_TABLE_CONFIG_FIELD (object);
-
- if (etct->spec)
- g_object_unref (etcf->spec);
- etct->spec = NULL;
-
- if (etct->sort_info)
- g_object_unref (etcf->sort_info);
- etct->sort_info = NULL;
-
- G_OBJECT_CLASS (etcf_parent_class)->dispose (object);
-}
-
-static void
-etcf_class_init (GObjectClass *klass)
-{
- etcf_parent_class = g_type_class_ref (PARENT_TYPE);
-
- klass->dispose = etcf_dispose;
-}
-
-static void
-etcf_init (ETableConfigField *etcf)
-{
- etcf->spec = NULL;
- etcf->sort_info = NULL;
-
- etcf->combo = NULL;
- etcf->radio_ascending = NULL;
- etcf->radio_descending = NULL;
- etcf->child_fields = NULL;
-}
-
-E_MAKE_TYPE(e_table_config_field, "ETableConfigField", ETableConfigField, etcf_class_init, etcf_init, PARENT_TYPE)
-
-ETableConfigField *
-e_table_config_field_new (ETableSpecification *spec,
- ETableSortInfo *sort_info,
- gboolean grouping)
-{
- ETableConfigField *etcf = g_object_new (E_TABLE_CONFIG_FIELD_TYPE, NULL);
-
- e_table_config_field_construct (etcf, spec, sort_info, grouping);
-
- return (ETableConfigField *) etcf;
-}
-
-inline static int
-etcf_get_count (ETableConfigField *etcf)
-{
- if (etcf->grouping)
- return e_table_sort_info_grouping_get_count(etcf->sort_info);
- else
- return e_table_sort_info_sorting_get_count(etcf->sort_info);
-}
-
-inline static ETableSortColumn
-etcf_get_nth (ETableConfigField *etcf)
-{
- if (etcf->grouping)
- return e_table_sort_info_grouping_get_nth(etcf->sort_info, etcf->n);
- else
- return e_table_sort_info_sorting_get_nth(etcf->sort_info, etcf->n);
-}
-
-inline static void
-etcf_set_nth (ETableConfigField *etcf, ETableSortColumn column)
-{
- if (etcf->grouping)
- e_table_sort_info_grouping_set_nth(etcf->sort_info, etcf->n, column);
- else
- e_table_sort_info_sorting_set_nth(etcf->sort_info, etcf->n, column);
-}
-
-inline static void
-etcf_truncate (ETableConfigField *etcf)
-{
- if (etcf->grouping)
- e_table_sort_info_grouping_truncate(etcf->sort_info, etcf->n);
- else
- e_table_sort_info_sorting_truncate(etcf->sort_info, etcf->n);
-}
-
-static void
-etcf_set_sensitivity(ETableConfigField *etcf)
-{
- int count = etcf_get_count(etcf);
-
- if (etcf->n >= count) {
- gtk_widget_set_sensitive(etcf->radio_ascending, FALSE);
- gtk_widget_set_sensitive(etcf->radio_descending, FALSE);
- if (etcf->child_fields)
- gtk_widget_set_sensitive(etcf->child_fields, FALSE);
- } else {
- gtk_widget_set_sensitive(etcf->radio_ascending, TRUE);
- gtk_widget_set_sensitive(etcf->radio_descending, TRUE);
- if (etcf->child_fields)
- gtk_widget_set_sensitive(etcf->child_fields, TRUE);
- }
-}
-
-static void
-toggled(GtkWidget *widget, ETableConfigField *etcf)
-{
- int count;
-
- count = etcf_get_count(etcf);
- if (count > etcf->n) {
- ETableSortColumn sort_column;
-
- sort_column = etcf_get_nth(etcf);
- sort_column.ascending = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(etcf->radio_ascending));
- etcf_set_nth(etcf, sort_column);
- }
-}
-
-static void
-changed(GtkWidget *widget, ETableConfigField *etcf)
-{
- ETableColumnSpecification **column;
- gchar *text;
-
- text = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(etcf->combo)->entry));
- for (column = etcf->spec->columns; *column; column++) {
- if (!strcmp((*column)->title_, text)) {
- ETableSortColumn sort_column;
-
- sort_column.ascending = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(etcf->radio_ascending));
- sort_column.column = (*column)->model_col;
-
- etcf_set_nth(etcf, sort_column);
- etcf_set_sensitivity(etcf);
- return;
- }
- }
- etcf_truncate(etcf);
- etcf_set_sensitivity(etcf);
-}
-
-static void
-etcf_setup(ETableConfigField *etcf)
-{
- int count;
- GList *list = NULL;
- ETableColumnSpecification **column;
- ETableColumnSpecification *chosen_column = NULL;
- int model_col = -1;
-
- etcf_set_sensitivity(etcf);
-
- count = etcf_get_count(etcf);
-
- if (count > etcf->n) {
- ETableSortColumn sort_column;
-
- sort_column = etcf_get_nth(etcf);
- model_col = sort_column.column;
- if (sort_column.ascending)
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(etcf->radio_ascending), TRUE);
- else
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(etcf->radio_descending), TRUE);
- }
-
- for (column = etcf->spec->columns; *column; column++) {
- list = g_list_prepend(list, (*column)->title_);
- if (count > etcf->n && chosen_column == NULL && (*column)->model_col == model_col) {
- chosen_column = *column;
- }
- }
- list = g_list_reverse(list);
- list = g_list_prepend(list, "None");
-
- gtk_combo_set_popdown_strings(GTK_COMBO(etcf->combo), list);
- g_list_free(list);
-
- if (chosen_column) {
- gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(etcf->combo)->entry), chosen_column->title_);
- } else {
- gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(etcf->combo)->entry), "None");
- }
-
- g_signal_connect(GTK_COMBO(etcf->combo)->entry, "changed",
- G_CALLBACK (changed), etcf);
- g_signal_connect(etcf->radio_ascending, "toggled",
- G_CALLBACK (toggled), etcf);
- g_signal_connect(etcf->radio_descending, "toggled",
- G_CALLBACK (toggled), etcf);
-}
-
-static ETableConfigField *
-e_table_config_field_construct_nth (ETableConfigField *etcf,
- ETableSpecification *spec,
- ETableSortInfo *sort_info,
- gboolean grouping,
- int n)
-{
- GtkWidget *frame;
- GtkWidget *internal_hbox;
- GtkWidget *internal_vbox1;
- GtkWidget *internal_vbox2;
-
- etcf->spec = spec;
- g_object_ref (spec);
-
- etcf->sort_info = sort_info;
- g_object_ref (sort_info);
-
- etcf->grouping = grouping;
- etcf->n = n;
-
- gtk_box_set_spacing(GTK_BOX(etcf), 6);
-
- frame = gtk_frame_new(n > 0 ? _("Then By") : (grouping ? _("Group By") : _("Sort By")));
- gtk_box_pack_start(GTK_BOX(etcf), frame, FALSE, FALSE, 0);
-
- internal_hbox = gtk_hbox_new(FALSE, 6);
- gtk_container_add(GTK_CONTAINER(frame), internal_hbox);
- gtk_container_set_border_width(GTK_CONTAINER(internal_hbox), 6);
-
- internal_vbox1 = gtk_vbox_new(FALSE, 6);
- gtk_box_pack_start(GTK_BOX(internal_hbox), internal_vbox1, FALSE, FALSE, 0);
-
- etcf->combo = gtk_combo_new();
- gtk_box_pack_start(GTK_BOX(internal_vbox1), etcf->combo, FALSE, FALSE, 0);
-
- internal_vbox2 = gtk_vbox_new(FALSE, 6);
- gtk_box_pack_start(GTK_BOX(internal_hbox), internal_vbox2, FALSE, FALSE, 0);
-
- etcf->radio_ascending = gtk_radio_button_new_with_label (NULL, _("Ascending"));
- gtk_box_pack_start(GTK_BOX(internal_vbox2), etcf->radio_ascending, FALSE, FALSE, 0);
-
- etcf->radio_descending = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON(etcf->radio_ascending), _("Descending"));
- gtk_box_pack_start(GTK_BOX(internal_vbox2), etcf->radio_descending, FALSE, FALSE, 0);
-
- if (n < 3) {
- etcf->child_fields = GTK_WIDGET(g_object_new (E_TABLE_CONFIG_FIELD_TYPE, NULL));
- e_table_config_field_construct_nth(E_TABLE_CONFIG_FIELD(etcf->child_fields), spec, sort_info, grouping, n + 1);
- gtk_box_pack_start(GTK_BOX(etcf), etcf->child_fields, FALSE, FALSE, 0);
- gtk_widget_show(etcf->child_fields);
- } else
- etcf->child_fields = NULL;
-
- etcf_setup(etcf);
-
- gtk_widget_show(etcf->radio_descending);
- gtk_widget_show(etcf->radio_ascending);
- gtk_widget_show(internal_vbox2);
- gtk_widget_show(etcf->combo);
- gtk_widget_show(internal_vbox1);
- gtk_widget_show(internal_hbox);
- gtk_widget_show(frame);
- return etcf;
-}
-
-ETableConfigField *
-e_table_config_field_construct (ETableConfigField *etcf,
- ETableSpecification *spec,
- ETableSortInfo *sort_info,
- gboolean grouping)
-{
- return e_table_config_field_construct_nth(etcf, spec, sort_info, grouping, 0);
-}
diff --git a/widgets/table/e-table-config-field.h b/widgets/table/e-table-config-field.h
deleted file mode 100644
index bb8f540c4a..0000000000
--- a/widgets/table/e-table-config-field.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-config-field.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_CONFIG_FIELD_H_
-#define _E_TABLE_CONFIG_FIELD_H_
-
-#include <gtk/gtkvbox.h>
-#include <gal/e-table/e-table-sort-info.h>
-#include <gal/e-table/e-table-specification.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_CONFIG_FIELD_TYPE (e_table_config_field_get_type ())
-#define E_TABLE_CONFIG_FIELD(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_CONFIG_FIELD_TYPE, ETableConfigField))
-#define E_TABLE_CONFIG_FIELD_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_CONFIG_FIELD_TYPE, ETableConfigFieldClass))
-#define E_IS_TABLE_CONFIG_FIELD(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_CONFIG_FIELD_TYPE))
-#define E_IS_TABLE_CONFIG_FIELD_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_CONFIG_FIELD_TYPE))
-
-typedef struct {
- GtkVBox base;
-
- ETableSpecification *spec;
- ETableSortInfo *sort_info;
- guint grouping : 1;
- int n;
-
- GtkWidget *combo;
- GtkWidget *radio_ascending;
- GtkWidget *radio_descending;
-
- GtkWidget *child_fields;
-} ETableConfigField;
-
-typedef struct {
- GtkVBoxClass parent_class;
-} ETableConfigFieldClass;
-
-GType e_table_config_field_get_type (void);
-ETableConfigField *e_table_config_field_new (ETableSpecification *spec,
- ETableSortInfo *sort_info,
- gboolean grouping);
-ETableConfigField *e_table_config_field_construct (ETableConfigField *field,
- ETableSpecification *spec,
- ETableSortInfo *sort_info,
- gboolean grouping);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_CONFIG_FIELD_H_ */
diff --git a/widgets/table/e-table-config-no-group.glade b/widgets/table/e-table-config-no-group.glade
deleted file mode 100644
index 0fff43fd37..0000000000
--- a/widgets/table/e-table-config-no-group.glade
+++ /dev/null
@@ -1,2114 +0,0 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
-<glade-interface>
-<requires lib="gnome"/>
-
-<widget class="GtkDialog" id="dialog-show-fields">
- <property name="title" translatable="yes">Show Fields</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_NONE</property>
- <property name="modal">False</property>
- <property name="resizable">True</property>
- <property name="destroy_with_parent">False</property>
- <property name="decorated">True</property>
- <property name="skip_taskbar_hint">False</property>
- <property name="skip_pager_hint">False</property>
- <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <property name="has_separator">True</property>
-
- <child internal-child="vbox">
- <widget class="GtkVBox" id="dialog-vbox3">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">8</property>
-
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="dialog-action_area3">
- <property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
-
- <child>
- <widget class="GtkButton" id="button22">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-cancel</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-6</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="button20">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-ok</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-5</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox2">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkTable" id="table2">
- <property name="visible">True</property>
- <property name="n_rows">1</property>
- <property name="n_columns">5</property>
- <property name="homogeneous">True</property>
- <property name="row_spacing">6</property>
- <property name="column_spacing">6</property>
-
- <child>
- <widget class="GtkLabel" id="label-available">
- <property name="visible">True</property>
- <property name="label" translatable="yes">A_vailable Fields:</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="mnemonic_widget">custom-available</property>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">2</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label-displayed">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Sh_ow these fields in order:</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="mnemonic_widget">custom-shown</property>
- </widget>
- <packing>
- <property name="left_attach">3</property>
- <property name="right_attach">5</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkTable" id="table3">
- <property name="visible">True</property>
- <property name="n_rows">1</property>
- <property name="n_columns">5</property>
- <property name="homogeneous">True</property>
- <property name="row_spacing">6</property>
- <property name="column_spacing">6</property>
-
- <child>
- <widget class="GtkVBox" id="vbox4">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="Custom" id="custom-available">
- <property name="visible">True</property>
- <property name="creation_function">e_table_proxy_etable_available_new</property>
- <property name="int1">0</property>
- <property name="int2">0</property>
- <property name="last_modification_time">Thu, 21 Feb 2002 05:42:43 GMT</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">2</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox5">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="Custom" id="custom-shown">
- <property name="visible">True</property>
- <property name="creation_function">e_table_proxy_etable_shown_new</property>
- <property name="int1">0</property>
- <property name="int2">0</property>
- <property name="last_modification_time">Thu, 21 Feb 2002 15:52:40 GMT</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox4">
- <property name="visible">True</property>
- <property name="homogeneous">True</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkButton" id="button-up">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Move _Up</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button-down">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Move _Down</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">3</property>
- <property name="right_attach">5</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox6">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkButton" id="button-add">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Add -&gt;</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button-remove">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">&lt;- _Remove</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <placeholder/>
- </child>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
-
-<widget class="GtkDialog" id="dialog-group-by">
- <property name="title" translatable="yes">Group</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_NONE</property>
- <property name="modal">False</property>
- <property name="resizable">True</property>
- <property name="destroy_with_parent">False</property>
- <property name="decorated">True</property>
- <property name="skip_taskbar_hint">False</property>
- <property name="skip_pager_hint">False</property>
- <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <property name="has_separator">True</property>
-
- <child internal-child="vbox">
- <widget class="GtkVBox" id="dialog-vbox4">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">8</property>
-
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="dialog-action_area4">
- <property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
-
- <child>
- <widget class="GtkButton" id="button39">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Clear All</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">0</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="button42">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-cancel</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-6</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="button41">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-ok</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-5</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox24">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox13">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkFrame" id="frame-group-1">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkHBox" id="hbox5">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkVBox" id="vbox7">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="Custom" id="group-combo-1">
- <property name="visible">True</property>
- <property name="creation_function">e_table_proxy_gtk_combo_text_new</property>
- <property name="int1">0</property>
- <property name="int2">0</property>
- <property name="last_modification_time">Fri, 19 Jan 2001 04:52:09 GMT</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="checkbutton-group-1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Show field in View</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox8">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-ascending-group-1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Ascending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-descending-group-1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Descending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">radiobutton-ascending-group-1</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label1">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Group Items By</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label8">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label9">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label10">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox14">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkLabel" id="label11">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame-group-2">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkHBox" id="hbox6">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkVBox" id="vbox9">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="Custom" id="group-combo-2">
- <property name="visible">True</property>
- <property name="creation_function">e_table_proxy_gtk_combo_text_new</property>
- <property name="int1">0</property>
- <property name="int2">0</property>
- <property name="last_modification_time">Fri, 19 Jan 2001 04:52:14 GMT</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="checkbutton-group-2">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Show field in View</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox10">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-ascending-group-2">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Ascending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-descending-group-2">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Descending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">radiobutton-ascending-group-2</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label12">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Then By</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label19">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label18">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox15">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkLabel" id="label13">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label12">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame-group-3">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkHBox" id="hbox7">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkVBox" id="vbox11">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="Custom" id="group-combo-3">
- <property name="visible">True</property>
- <property name="creation_function">e_table_proxy_gtk_combo_text_new</property>
- <property name="int1">0</property>
- <property name="int2">0</property>
- <property name="last_modification_time">Fri, 19 Jan 2001 04:52:18 GMT</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="checkbutton-group-3">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Show field in View</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox12">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-ascending-group-3">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Ascending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-descending-group-3">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Descending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">radiobutton-ascending-group-3</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label20">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Then By</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label17">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox16">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkLabel" id="label14">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label16">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label15">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame-group-4">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkHBox" id="hbox8">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkVBox" id="vbox13">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="Custom" id="group-combo-4">
- <property name="visible">True</property>
- <property name="creation_function">e_table_proxy_gtk_combo_text_new</property>
- <property name="int1">0</property>
- <property name="int2">0</property>
- <property name="last_modification_time">Fri, 19 Jan 2001 04:52:21 GMT</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="checkbutton-group-4">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Show field in View</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox14">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-ascending-group-4">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Ascending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-descending-group-4">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Descending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">radiobutton-ascending-group-4</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label21">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Then By</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
-
-<widget class="GtkDialog" id="dialog-sort">
- <property name="title" translatable="yes">Sort</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_NONE</property>
- <property name="modal">False</property>
- <property name="resizable">True</property>
- <property name="destroy_with_parent">False</property>
- <property name="decorated">True</property>
- <property name="skip_taskbar_hint">False</property>
- <property name="skip_pager_hint">False</property>
- <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <property name="has_separator">True</property>
-
- <child internal-child="vbox">
- <widget class="GtkVBox" id="vbox15">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">8</property>
-
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="hbuttonbox1">
- <property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
-
- <child>
- <widget class="GtkButton" id="button43">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Clear All</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">0</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="button45">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-cancel</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-6</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="button44">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="has_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-ok</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-5</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkTable" id="table5">
- <property name="visible">True</property>
- <property name="n_rows">4</property>
- <property name="n_columns">1</property>
- <property name="homogeneous">False</property>
- <property name="row_spacing">6</property>
- <property name="column_spacing">6</property>
-
- <child>
- <widget class="GtkFrame" id="frame-sort-4">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkHBox" id="hbox9">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment1">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">1</property>
- <property name="yscale">0</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">0</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="Custom" id="sort-combo-4">
- <property name="visible">True</property>
- <property name="creation_function">e_table_proxy_gtk_combo_text_new</property>
- <property name="int1">0</property>
- <property name="int2">0</property>
- <property name="last_modification_time">Tue, 16 Jan 2001 08:33:52 GMT</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox17">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-ascending-sort-4">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Ascending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-descending-sort-4">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Descending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">radiobutton-ascending-sort-4</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label22">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Then By</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame-sort-3">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkHBox" id="hbox10">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment2">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">1</property>
- <property name="yscale">0</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">0</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="Custom" id="sort-combo-3">
- <property name="visible">True</property>
- <property name="creation_function">e_table_proxy_gtk_combo_text_new</property>
- <property name="int1">0</property>
- <property name="int2">0</property>
- <property name="last_modification_time">Tue, 16 Jan 2001 05:22:22 GMT</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox19">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-ascending-sort-3">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Ascending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-descending-sort-3">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Descending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">radiobutton-ascending-sort-3</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label23">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Then By</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame-sort-2">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkHBox" id="hbox11">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment3">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">1</property>
- <property name="yscale">0</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">0</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="Custom" id="sort-combo-2">
- <property name="visible">True</property>
- <property name="creation_function">e_table_proxy_gtk_combo_text_new</property>
- <property name="int1">0</property>
- <property name="int2">0</property>
- <property name="last_modification_time">Tue, 16 Jan 2001 05:22:15 GMT</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox21">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-ascending-sort-2">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Ascending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-descending-sort-2">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Descending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">radiobutton-ascending-sort-2</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label24">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Then By</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame-sort-1">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkHBox" id="hbox12">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment4">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">1</property>
- <property name="yscale">0</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">0</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="Custom" id="sort-combo-1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="has_focus">True</property>
- <property name="creation_function">e_table_proxy_gtk_combo_text_new</property>
- <property name="int1">0</property>
- <property name="int2">0</property>
- <property name="last_modification_time">Tue, 16 Jan 2001 05:22:00 GMT</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox23">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-ascending-sort-1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Ascending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-descending-sort-1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Descending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">radiobutton-ascending-sort-1</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label25">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Sort Items By</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
-
-<widget class="GtkDialog" id="e-table-config">
- <property name="title" translatable="yes">dialog1</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
- <property name="modal">True</property>
- <property name="resizable">False</property>
- <property name="destroy_with_parent">False</property>
- <property name="decorated">True</property>
- <property name="skip_taskbar_hint">False</property>
- <property name="skip_pager_hint">False</property>
- <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <property name="has_separator">True</property>
-
- <child internal-child="vbox">
- <widget class="GtkVBox" id="dialog-vbox5">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="dialog-action_area5">
- <property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
-
- <child>
- <widget class="GtkButton" id="cancelbutton1">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-cancel</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-6</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="applybutton1">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-apply</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-10</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="okbutton1">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-ok</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-5</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="top-frame">
- <property name="border_width">2</property>
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkTable" id="table1">
- <property name="border_width">2</property>
- <property name="visible">True</property>
- <property name="n_rows">2</property>
- <property name="n_columns">3</property>
- <property name="homogeneous">False</property>
- <property name="row_spacing">2</property>
- <property name="column_spacing">4</property>
-
- <child>
- <widget class="GtkButton" id="button-sort">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Sort...</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_sort_clicked"/>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label-sort">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">True</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label4">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">fill</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label21">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="x_options">fill</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label-fields">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">True</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button-fields">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Fields Shown...</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_sort_clicked"/>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label26">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Description</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
-
-</glade-interface>
diff --git a/widgets/table/e-table-config.c b/widgets/table/e-table-config.c
deleted file mode 100644
index 4e40c150fd..0000000000
--- a/widgets/table/e-table-config.c
+++ /dev/null
@@ -1,1225 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-config.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Miguel de Icaza <miguel@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-/*
- * FIXME:
- * Sort Dialog: when text is selected, the toggle button switches state.
- * Make Clear all work.
- */
-
-#include <config.h>
-
-#include "e-table-config.h"
-
-#include <stdlib.h>
-#include <string.h>
-#include <gtk/gtkdialog.h>
-#include <gtk/gtkentry.h>
-#include <gtk/gtklabel.h>
-#include <gtk/gtktogglebutton.h>
-#include <libgnomeui/gnome-propertybox.h>
-#include <glade/glade.h>
-#include "gal/util/e-util.h"
-#include "gal/util/e-i18n.h"
-#include "gal/widgets/e-unicode.h"
-
-#include <e-table-scrolled.h>
-#include <e-table-without.h>
-#include <e-table-memory-store.h>
-
-
-static GObjectClass *config_parent_class;
-
-enum {
- CHANGED,
- LAST_SIGNAL
-};
-
-enum {
- PROP_0,
- PROP_STATE,
-};
-
-static guint e_table_config_signals [LAST_SIGNAL] = { 0, };
-
-static void
-config_finalize (GObject *object)
-{
- ETableConfig *config = E_TABLE_CONFIG (object);
-
- if (config->state)
- g_object_unref (config->state);
- config->state = NULL;
-
- if (config->source_state)
- g_object_unref (config->source_state);
- config->source_state = NULL;
-
- if (config->source_spec)
- g_object_unref (config->source_spec);
- config->source_spec = NULL;
-
- g_free (config->header);
- config->header = NULL;
-
- g_slist_free (config->column_names);
- config->column_names = NULL;
-
- g_free (config->domain);
- config->domain = NULL;
-
- config_parent_class->finalize (object);
-}
-
-static void
-e_table_config_changed (ETableConfig *config, ETableState *state)
-{
- g_return_if_fail (E_IS_TABLE_CONFIG (config));
-
- g_signal_emit(G_OBJECT(config), e_table_config_signals [CHANGED], 0, state);
-}
-
-static void
-config_dialog_changed (ETableConfig *config)
-{
- /* enable the apply/ok buttons */
- gtk_dialog_set_response_sensitive (GTK_DIALOG (config->dialog_toplevel),
- GTK_RESPONSE_APPLY, TRUE);
- gtk_dialog_set_response_sensitive (GTK_DIALOG (config->dialog_toplevel),
- GTK_RESPONSE_OK, TRUE);
-}
-
-static void
-config_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
- ETableConfig *config = E_TABLE_CONFIG (object);
-
- switch (prop_id) {
- case PROP_STATE:
- g_value_set_object (value, config->state);
- break;
- default:
- break;
- }
-}
-
-static void
-config_class_init (GObjectClass *object_class)
-{
- ETableConfigClass *klass = E_TABLE_CONFIG_CLASS(object_class);
-
- config_parent_class = g_type_class_peek_parent (klass);
-
- klass->changed = NULL;
-
- object_class->finalize = config_finalize;
- object_class->get_property = config_get_property;
-
- e_table_config_signals [CHANGED] =
- g_signal_new ("changed",
- E_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableConfigClass, changed),
- (GSignalAccumulator) NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- g_object_class_install_property (object_class, PROP_STATE,
- g_param_spec_object ("state",
- _("State"),
- /*_( */"XXX blurb" /*)*/,
- E_TABLE_STATE_TYPE,
- G_PARAM_READABLE));
-
- glade_init ();
-}
-
-static ETableColumnSpecification *
-find_column_in_spec (ETableSpecification *spec, int model_col)
-{
- ETableColumnSpecification **column;
-
- for (column = spec->columns; *column; column++){
- if ((*column)->disabled)
- continue;
- if ((*column)->model_col != model_col)
- continue;
-
- return *column;
- }
-
- return NULL;
-}
-
-static int
-find_model_column_by_name (ETableSpecification *spec, const char *s)
-{
- ETableColumnSpecification **column;
-
- for (column = spec->columns; *column; column++){
-
- if ((*column)->disabled)
- continue;
- if (g_strcasecmp ((*column)->title, s) == 0)
- return (*column)->model_col;
- }
- return -1;
-}
-
-static void
-update_sort_and_group_config_dialog (ETableConfig *config, gboolean is_sort)
-{
- ETableConfigSortWidgets *widgets;
- int count, i;
-
- if (is_sort){
- count = e_table_sort_info_sorting_get_count (
- config->temp_state->sort_info);
- widgets = &config->sort [0];
- } else {
- count = e_table_sort_info_grouping_get_count (
- config->temp_state->sort_info);
- widgets = &config->group [0];
- }
-
- for (i = 0; i < 4; i++){
- gboolean sensitive = (i <= count);
- char *text = "";
-
- gtk_widget_set_sensitive (widgets [i].frames, sensitive);
-
- /*
- * Sorting is set, auto select the text
- */
- g_signal_handler_block (
- widgets [i].radio_ascending,
- widgets [i].toggled_id);
- g_signal_handler_block (
- widgets [i].combo->entry,
- widgets [i].changed_id);
-
- if (i < count){
- GtkToggleButton *a, *d;
- ETableSortColumn col =
- is_sort
- ? e_table_sort_info_sorting_get_nth (
- config->temp_state->sort_info,
- i)
- : e_table_sort_info_grouping_get_nth (
- config->temp_state->sort_info,
- i);
-
- ETableColumnSpecification *column =
- find_column_in_spec (config->source_spec, col.column);
-
- if (!column){
- /*
- * This is a bug in the programmer
- * stuff, but by the time we arrive
- * here, the user has been given a
- * warning
- */
- continue;
- }
-
- text = dgettext (config->domain, column->title);
-
- /*
- * Update radio buttons
- */
- a = GTK_TOGGLE_BUTTON (
- widgets [i].radio_ascending);
- d = GTK_TOGGLE_BUTTON (
- widgets [i].radio_descending);
-
- gtk_toggle_button_set_active (col.ascending ? a:d, 1);
- } else {
- GtkToggleButton *t;
-
- t = GTK_TOGGLE_BUTTON (
- widgets [i].radio_ascending);
-
- if (is_sort)
- g_assert (widgets [i].radio_ascending != config->group [i].radio_ascending);
- else
- g_assert (widgets [i].radio_ascending != config->sort [i].radio_ascending);
- gtk_toggle_button_set_active (t, 1);
- }
-
- /* Set the text */
- gal_combo_text_set_text (widgets [i].combo, text);
-
- g_signal_handler_unblock (
- widgets [i].radio_ascending,
- widgets [i].toggled_id);
- g_signal_handler_unblock (
- widgets [i].combo->entry,
- widgets [i].changed_id);
- }
-}
-
-static void
-config_sort_info_update (ETableConfig *config)
-{
- ETableSortInfo *info = config->state->sort_info;
- GString *res;
- int count, i;
-
- count = e_table_sort_info_sorting_get_count (info);
- res = g_string_new ("");
-
- for (i = 0; i < count; i++) {
- ETableSortColumn col = e_table_sort_info_sorting_get_nth (info, i);
- ETableColumnSpecification *column;
-
- column = find_column_in_spec (config->source_spec, col.column);
- if (!column){
- g_warning ("Could not find column model in specification");
- continue;
- }
-
- g_string_append (res, dgettext (config->domain, (column)->title));
- g_string_append_c (res, ' ');
- g_string_append (
- res,
- col.ascending ?
- _("(Ascending)") : _("(Descending)"));
-
- if ((i + 1) != count)
- g_string_append (res, ", ");
- }
-
- if (res->str [0] == 0)
- g_string_append (res, _("Not sorted"));
-
- gtk_label_set_text (GTK_LABEL(config->sort_label), res->str);
-
- g_string_free (res, TRUE);
-}
-
-static void
-config_group_info_update (ETableConfig *config)
-{
- ETableSortInfo *info = config->state->sort_info;
- GString *res;
- int count, i;
-
- if (!e_table_sort_info_get_can_group (info))
- return;
-
- count = e_table_sort_info_grouping_get_count (info);
- res = g_string_new ("");
-
- for (i = 0; i < count; i++) {
- ETableSortColumn col = e_table_sort_info_grouping_get_nth (info, i);
- ETableColumnSpecification *column;
-
- column = find_column_in_spec (config->source_spec, col.column);
- if (!column){
- g_warning ("Could not find model column in specification");
- continue;
- }
-
- g_string_append (res, dgettext (config->domain, (column)->title));
- g_string_append_c (res, ' ');
- g_string_append (
- res,
- col.ascending ?
- _("(Ascending)") : _("(Descending)"));
-
- if ((i+1) != count)
- g_string_append (res, ", ");
- }
- if (res->str [0] == 0)
- g_string_append (res, _("No grouping"));
-
- gtk_label_set_text (GTK_LABEL (config->group_label), res->str);
- g_string_free (res, TRUE);
-}
-
-static void
-setup_fields (ETableConfig *config)
-{
- int i;
-
- e_table_model_freeze (config->available_model);
- e_table_model_freeze (config->shown_model);
- e_table_without_show_all (config->available_model);
- e_table_subset_variable_clear (config->shown_model);
-
- if (config->temp_state) {
- for (i = 0; i < config->temp_state->col_count; i++) {
- gint j, idx;
- for (j = 0, idx = 0; j < config->temp_state->columns[i]; j++)
- if (!config->source_spec->columns[j]->disabled)
- idx++;
-
- e_table_subset_variable_add (config->shown_model, idx);
- e_table_without_hide (config->available_model, GINT_TO_POINTER(idx));
- }
- }
- e_table_model_thaw (config->available_model);
- e_table_model_thaw (config->shown_model);
-}
-
-static void
-config_fields_info_update (ETableConfig *config)
-{
- ETableColumnSpecification **column;
- GString *res = g_string_new ("");
- int i;
-
- for (i = 0; i < config->state->col_count; i++){
- for (column = config->source_spec->columns; *column; column++){
-
- if ((*column)->disabled)
- continue;
-
- if (config->state->columns [i] != (*column)->model_col)
- continue;
-
- g_string_append (res, dgettext (config->domain, (*column)->title));
- if (column [1])
- g_string_append (res, ", ");
- }
- }
-
- gtk_label_set_text (GTK_LABEL (config->fields_label), res->str);
- g_string_free (res, TRUE);
-}
-
-static void
-do_sort_and_group_config_dialog (ETableConfig *config, gboolean is_sort)
-{
- GtkDialog *dialog;
- int response, running = 1;
-
- config->temp_state = e_table_state_duplicate (config->state);
-
- update_sort_and_group_config_dialog (config, is_sort);
-
- gtk_widget_grab_focus (GTK_WIDGET (
- is_sort
- ? config->sort [0].combo
- : config->group [0].combo));
-
-
- if (is_sort)
- dialog = GTK_DIALOG (config->dialog_sort);
- else
- dialog = GTK_DIALOG (config->dialog_group_by);
-
- gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (config->dialog_toplevel));
-
- do {
- response = gtk_dialog_run (dialog);
- switch (response){
- case 0: /* clear fields */
- if (is_sort){
- e_table_sort_info_sorting_truncate (
- config->temp_state->sort_info, 0);
- } else {
- e_table_sort_info_grouping_truncate (
- config->temp_state->sort_info, 0);
- }
- update_sort_and_group_config_dialog (config, is_sort);
- break;
-
- case GTK_RESPONSE_OK:
- g_object_unref (config->state);
- config->state = config->temp_state;
- config->temp_state = 0;
- running = 0;
- config_dialog_changed (config);
- break;
-
- case GTK_RESPONSE_DELETE_EVENT:
- case GTK_RESPONSE_CANCEL:
- g_object_unref (config->temp_state);
- config->temp_state = 0;
- running = 0;
- break;
- }
-
- } while (running);
- gtk_widget_hide (GTK_WIDGET (dialog));
-
- if (is_sort)
- config_sort_info_update (config);
- else
- config_group_info_update (config);
-}
-
-static void
-do_fields_config_dialog (ETableConfig *config)
-{
- int response, running = 1;
-
- gtk_widget_ensure_style (config->dialog_show_fields);
- gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (config->dialog_show_fields)->vbox), 0);
- gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (config->dialog_show_fields)->action_area), 12);
-
- config->temp_state = e_table_state_duplicate (config->state);
-
- setup_fields (config);
-
- gtk_window_set_transient_for (GTK_WINDOW (config->dialog_show_fields),
- GTK_WINDOW (config->dialog_toplevel));
-
- do {
- response = gtk_dialog_run (GTK_DIALOG(config->dialog_show_fields));
- switch (response){
- case GTK_RESPONSE_OK:
- g_object_unref (config->state);
- config->state = config->temp_state;
- config->temp_state = 0;
- running = 0;
- config_dialog_changed (config);
- break;
-
- case GTK_RESPONSE_DELETE_EVENT:
- case GTK_RESPONSE_CANCEL:
- g_object_unref (config->temp_state);
- config->temp_state = 0;
- running = 0;
- break;
- }
-
- } while (running);
- gtk_widget_hide (GTK_WIDGET (config->dialog_show_fields));
-
- config_fields_info_update (config);
-}
-
-
-ETableMemoryStoreColumnInfo store_columns[] = {
- E_TABLE_MEMORY_STORE_STRING,
- E_TABLE_MEMORY_STORE_INTEGER,
- E_TABLE_MEMORY_STORE_TERMINATOR
-};
-
-static ETableModel *global_store; /* Glade better not be reentrant any time soon. */
-
-static void
-create_global_store (ETableConfig *config)
-{
- int i;
-
- global_store = e_table_memory_store_new (store_columns);
- for (i = 0; config->source_spec->columns[i]; i++) {
-
- char *text;
-
- if (config->source_spec->columns[i]->disabled)
- continue;
-
- text = g_strdup (dgettext (config->domain, config->source_spec->columns[i]->title));
- e_table_memory_store_insert_adopt (E_TABLE_MEMORY_STORE (global_store), -1, NULL, text, i);
- }
-}
-
-char *spec = "<ETableSpecification gettext-domain=\"" E_I18N_DOMAIN "\" no-headers=\"true\" cursor-mode=\"line\" "
- " draw-grid=\"false\" draw-focus=\"true\" selection-mode=\"browse\">"
- "<ETableColumn model_col= \"0\" _title=\"Name\" minimum_width=\"30\" resizable=\"true\" cell=\"string\" compare=\"string\"/>"
- "<ETableState> <column source=\"0\"/>"
- "<grouping/>"
- "</ETableState>"
- "</ETableSpecification>";
-
-GtkWidget *e_table_proxy_etable_shown_new (void);
-
-GtkWidget *
-e_table_proxy_etable_shown_new (void)
-{
- ETableModel *model = NULL;
-
- model = e_table_subset_variable_new (global_store);
-
- return e_table_scrolled_new (model, NULL, spec, NULL);
-}
-
-GtkWidget *e_table_proxy_etable_available_new (void);
-
-GtkWidget *
-e_table_proxy_etable_available_new (void)
-{
- ETableModel *model;
-
- model = e_table_without_new (global_store,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL);
-
- e_table_without_show_all (E_TABLE_WITHOUT (model));
-
- return e_table_scrolled_new (model, NULL, spec, NULL);
-}
-
-static void
-config_button_fields (GtkWidget *widget, ETableConfig *config)
-{
- do_fields_config_dialog (config);
-}
-
-static void
-config_button_sort (GtkWidget *widget, ETableConfig *config)
-{
- do_sort_and_group_config_dialog (config, TRUE);
-}
-
-static void
-config_button_group (GtkWidget *widget, ETableConfig *config)
-{
- do_sort_and_group_config_dialog (config, FALSE);
-}
-
-static void
-dialog_destroyed (gpointer data, GObject *where_object_was)
-{
- ETableConfig *config = data;
- g_object_unref (config);
-}
-
-static void
-dialog_response (GtkWidget *dialog, int response_id, ETableConfig *config)
-{
- if (response_id == GTK_RESPONSE_APPLY
- || response_id == GTK_RESPONSE_OK) {
- e_table_config_changed (config, config->state);
- }
-
- if (response_id == GTK_RESPONSE_CANCEL
- || response_id == GTK_RESPONSE_OK) {
- gtk_widget_destroy (dialog);
- }
-}
-
-/*
- * Invoked by the Glade auto-connect code
- */
-GtkWidget *e_table_proxy_gtk_combo_text_new (void);
-GtkWidget *
-e_table_proxy_gtk_combo_text_new (void)
-{
- return gal_combo_text_new (TRUE);
-}
-
-#if 0
-static GtkWidget *
-configure_dialog (GladeXML *gui, const char *widget_name, ETableConfig *config)
-{
- GtkWidget *w;
-
- w = glade_xml_get_widget (gui, widget_name);
-
- return w;
-}
-#endif
-
-static void
-connect_button (ETableConfig *config, GladeXML *gui, const char *widget_name, GCallback cback)
-{
- GtkWidget *button = glade_xml_get_widget (gui, widget_name);
-
- if (button) {
- g_signal_connect (G_OBJECT (button), "clicked",
- cback, config);
- }
-}
-
-static gint
-get_source_model_col_index (ETableConfig *config, gint idx)
-{
- gint visible_index;
- ETableModel *src_model = E_TABLE_SUBSET (config->available_model)->source;
-
- visible_index = e_table_subset_view_to_model_row (E_TABLE_SUBSET (config->available_model), idx);
-
- return GPOINTER_TO_INT (e_table_model_value_at (src_model, 1, visible_index));
-}
-
-static void
-sort_entry_changed (GtkEntry *entry, ETableConfigSortWidgets *sort)
-{
- ETableConfig *config = sort->e_table_config;
- ETableSortInfo *sort_info = config->temp_state->sort_info;
- ETableConfigSortWidgets *base = &config->sort[0];
- int idx = sort - base;
-
- const char *s = gtk_entry_get_text (entry);
-
- if (s && s [0] && g_hash_table_lookup (sort->combo->elements, s)){
- ETableSortColumn c;
- int col;
-
- col = find_model_column_by_name (config->source_spec, s);
- if (col == -1){
- g_warning ("sort: This should not happen (%s)", s);
- return;
- }
-
- c.ascending = GTK_TOGGLE_BUTTON (
- config->sort [idx].radio_ascending)->active;
- c.column = col;
- e_table_sort_info_sorting_set_nth (sort_info, idx, c);
-
- update_sort_and_group_config_dialog (config, TRUE);
- } else {
- e_table_sort_info_sorting_truncate (sort_info, idx);
- update_sort_and_group_config_dialog (config, TRUE);
- }
-}
-
-static void
-sort_ascending_toggled (GtkToggleButton *t, ETableConfigSortWidgets *sort)
-{
- ETableConfig *config = sort->e_table_config;
- ETableSortInfo *si = config->temp_state->sort_info;
- ETableConfigSortWidgets *base = &config->sort[0];
- int idx = sort - base;
- ETableSortColumn c;
-
- c = e_table_sort_info_sorting_get_nth (si, idx);
- c.ascending = t->active;
- e_table_sort_info_sorting_set_nth (si, idx, c);
-}
-
-static void
-configure_sort_dialog (ETableConfig *config, GladeXML *gui)
-{
- GSList *l;
- int i;
-
- for (i = 0; i < 4; i++){
- char buffer [80];
-
- snprintf (buffer, sizeof (buffer), "sort-combo-%d", i + 1);
- config->sort [i].combo = GAL_COMBO_TEXT (
- glade_xml_get_widget (gui, buffer));
- gtk_widget_show (GTK_WIDGET (config->sort [i].combo));
- gal_combo_text_add_item (config->sort [i].combo, "", "");
-
- snprintf (buffer, sizeof (buffer), "frame-sort-%d", i + 1);
- config->sort [i].frames =
- glade_xml_get_widget (gui, buffer);
-
- snprintf (
- buffer, sizeof (buffer),
- "radiobutton-ascending-sort-%d", i+1);
- config->sort [i].radio_ascending = glade_xml_get_widget (
- gui, buffer);
-
- snprintf (
- buffer, sizeof (buffer),
- "radiobutton-descending-sort-%d", i+1);
- config->sort [i].radio_descending = glade_xml_get_widget (
- gui, buffer);
-
- config->sort [i].e_table_config = config;
- }
-
- for (l = config->column_names; l; l = l->next){
- char *label = l->data;
-
- for (i = 0; i < 4; i++){
- gal_combo_text_add_item (config->sort [i].combo,
- dgettext (config->domain, label), label);
- }
- }
-
- /*
- * After we have runtime modified things, signal connect
- */
- for (i = 0; i < 4; i++){
- config->sort [i].changed_id = g_signal_connect (
- config->sort [i].combo->entry,
- "changed", G_CALLBACK (sort_entry_changed),
- &config->sort [i]);
-
- config->sort [i].toggled_id = g_signal_connect (
- config->sort [i].radio_ascending,
- "toggled", G_CALLBACK (sort_ascending_toggled),
- &config->sort [i]);
- }
-}
-
-static void
-group_entry_changed (GtkEntry *entry, ETableConfigSortWidgets *group)
-{
- ETableConfig *config = group->e_table_config;
- ETableSortInfo *sort_info = config->temp_state->sort_info;
- ETableConfigSortWidgets *base = &config->group[0];
- int idx = group - base;
- const char *s = gtk_entry_get_text (entry);
-
- if (s && s [0] && g_hash_table_lookup (group->combo->elements, s)){
- ETableSortColumn c;
- int col;
-
- col = find_model_column_by_name (config->source_spec, s);
- if (col == -1){
- g_warning ("grouping: this should not happen, %s", s);
- return;
- }
-
- c.ascending = GTK_TOGGLE_BUTTON (
- config->group [idx].radio_ascending)->active;
- c.column = col;
- e_table_sort_info_grouping_set_nth (sort_info, idx, c);
-
- update_sort_and_group_config_dialog (config, FALSE);
- } else {
- e_table_sort_info_grouping_truncate (sort_info, idx);
- update_sort_and_group_config_dialog (config, FALSE);
- }
-}
-
-static void
-group_ascending_toggled (GtkToggleButton *t, ETableConfigSortWidgets *group)
-{
- ETableConfig *config = group->e_table_config;
- ETableSortInfo *si = config->temp_state->sort_info;
- ETableConfigSortWidgets *base = &config->group[0];
- int idx = group - base;
- ETableSortColumn c;
-
- c = e_table_sort_info_grouping_get_nth (si, idx);
- c.ascending = t->active;
- e_table_sort_info_grouping_set_nth (si, idx, c);
-}
-
-static void
-configure_group_dialog (ETableConfig *config, GladeXML *gui)
-{
- GSList *l;
- int i;
-
- for (i = 0; i < 4; i++){
- char buffer [80];
-
- snprintf (buffer, sizeof (buffer), "group-combo-%d", i + 1);
- config->group [i].combo = GAL_COMBO_TEXT (
- glade_xml_get_widget (gui, buffer));
- gtk_widget_show (GTK_WIDGET (config->group [i].combo));
-
- gal_combo_text_add_item (config->group [i].combo, "", "");
-
- snprintf (buffer, sizeof (buffer), "frame-group-%d", i + 1);
- config->group [i].frames =
- glade_xml_get_widget (gui, buffer);
-
- snprintf (
- buffer, sizeof (buffer),
- "radiobutton-ascending-group-%d", i+1);
- config->group [i].radio_ascending = glade_xml_get_widget (
- gui, buffer);
-
- snprintf (
- buffer, sizeof (buffer),
- "radiobutton-descending-group-%d", i+1);
- config->group [i].radio_descending = glade_xml_get_widget (
- gui, buffer);
-
- snprintf (
- buffer, sizeof (buffer),
- "checkbutton-group-%d", i+1);
- config->group [i].view_check = glade_xml_get_widget (
- gui, buffer);
-
- config->group [i].e_table_config = config;
- }
-
-
- for (l = config->column_names; l; l = l->next){
- char *label = l->data;
-
- for (i = 0; i < 4; i++){
- gal_combo_text_add_item (
- config->group [i].combo,
- dgettext (config->domain, label), label);
- }
- }
-
- /*
- * After we have runtime modified things, signal connect
- */
- for (i = 0; i < 4; i++){
- config->group [i].changed_id = g_signal_connect (
- config->group [i].combo->entry,
- "changed", G_CALLBACK (group_entry_changed),
- &config->group [i]);
-
- config->group [i].toggled_id = g_signal_connect (
- config->group [i].radio_ascending,
- "toggled", G_CALLBACK (group_ascending_toggled),
- &config->group [i]);
- }
-}
-
-static void
-add_column (int model_row, gpointer closure)
-{
- GList **columns = closure;
- *columns = g_list_prepend (*columns, GINT_TO_POINTER (model_row));
-}
-
-static void
-config_button_add (GtkWidget *widget, ETableConfig *config)
-{
- GList *columns = NULL;
- GList *column;
- int count;
- int i;
-
- e_table_selected_row_foreach (config->available, add_column, &columns);
- columns = g_list_reverse (columns);
-
- count = g_list_length (columns);
-
- config->temp_state->columns = g_renew (int, config->temp_state->columns, config->temp_state->col_count + count);
- config->temp_state->expansions = g_renew (double, config->temp_state->expansions, config->temp_state->col_count + count);
- i = config->temp_state->col_count;
- for (column = columns; column; column = column->next) {
- config->temp_state->columns[i] = get_source_model_col_index (config, GPOINTER_TO_INT (column->data));
- config->temp_state->expansions[i] = config->source_spec->columns[config->temp_state->columns[i]]->expansion;
- i++;
- }
- config->temp_state->col_count += count;
-
- g_list_free (columns);
-
- setup_fields (config);
-}
-
-static void
-config_button_remove (GtkWidget *widget, ETableConfig *config)
-{
- GList *columns = NULL;
- GList *column;
-
- e_table_selected_row_foreach (config->shown, add_column, &columns);
-
- for (column = columns; column; column = column->next) {
- int row = GPOINTER_TO_INT (column->data);
-
- memmove (config->temp_state->columns + row, config->temp_state->columns + row + 1, sizeof (int) * (config->temp_state->col_count - row - 1));
- memmove (config->temp_state->expansions + row, config->temp_state->expansions + row + 1, sizeof (double) * (config->temp_state->col_count - row - 1));
- config->temp_state->col_count --;
- }
- config->temp_state->columns = g_renew (int, config->temp_state->columns, config->temp_state->col_count);
- config->temp_state->expansions = g_renew (double, config->temp_state->expansions, config->temp_state->col_count);
-
- g_list_free (columns);
-
- setup_fields (config);
-}
-
-static void
-config_button_up (GtkWidget *widget, ETableConfig *config)
-{
- GList *columns = NULL;
- GList *column;
- int *new_shown;
- double *new_expansions;
- int next_col;
- double next_expansion;
- int i;
-
- e_table_selected_row_foreach (config->shown, add_column, &columns);
-
- /* if no columns left, just return */
- if (columns == NULL)
- return;
-
- columns = g_list_reverse (columns);
-
- new_shown = g_new (int, config->temp_state->col_count);
- new_expansions = g_new (double, config->temp_state->col_count);
-
- column = columns;
-
- next_col = config->temp_state->columns[0];
- next_expansion = config->temp_state->expansions[0];
-
- for (i = 1; i < config->temp_state->col_count; i++) {
- if (column && (GPOINTER_TO_INT (column->data) == i)) {
- new_expansions[i - 1] = config->temp_state->expansions[i];
- new_shown[i - 1] = config->temp_state->columns[i];
- column = column->next;
- } else {
- new_shown[i - 1] = next_col;
- next_col = config->temp_state->columns[i];
-
- new_expansions[i - 1] = next_expansion;
- next_expansion = config->temp_state->expansions[i];
- }
- }
-
- new_shown[i - 1] = next_col;
- new_expansions[i - 1] = next_expansion;
-
- g_free (config->temp_state->columns);
- g_free (config->temp_state->expansions);
-
- config->temp_state->columns = new_shown;
- config->temp_state->expansions = new_expansions;
-
- g_list_free (columns);
-
- setup_fields (config);
-}
-
-static void
-config_button_down (GtkWidget *widget, ETableConfig *config)
-{
- GList *columns = NULL;
- GList *column;
- int *new_shown;
- double *new_expansions;
- int next_col;
- double next_expansion;
- int i;
-
- e_table_selected_row_foreach (config->shown, add_column, &columns);
-
- /* if no columns left, just return */
- if (columns == NULL)
- return;
-
-
- new_shown = g_new (int, config->temp_state->col_count);
- new_expansions = g_new (double, config->temp_state->col_count);
-
- column = columns;
-
- next_col = config->temp_state->columns[config->temp_state->col_count - 1];
- next_expansion = config->temp_state->expansions[config->temp_state->col_count - 1];
-
- for (i = config->temp_state->col_count - 1; i > 0; i--) {
- if (column && (GPOINTER_TO_INT (column->data) == i - 1)) {
- new_expansions[i] = config->temp_state->expansions[i - 1];
- new_shown[i] = config->temp_state->columns[i - 1];
- column = column->next;
- } else {
- new_shown[i] = next_col;
- next_col = config->temp_state->columns[i - 1];
-
- new_expansions[i] = next_expansion;
- next_expansion = config->temp_state->expansions[i - 1];
- }
- }
-
- new_shown[0] = next_col;
- new_expansions[0] = next_expansion;
-
- g_free (config->temp_state->columns);
- g_free (config->temp_state->expansions);
-
- config->temp_state->columns = new_shown;
- config->temp_state->expansions = new_expansions;
-
- g_list_free (columns);
-
- setup_fields (config);
-}
-
-static void
-configure_fields_dialog (ETableConfig *config, GladeXML *gui)
-{
- GtkWidget *scrolled;
-
- scrolled = glade_xml_get_widget (gui, "custom-available");
- config->available = e_table_scrolled_get_table (E_TABLE_SCROLLED (scrolled));
- g_object_get (config->available,
- "model", &config->available_model,
- NULL);
- gtk_widget_show_all (scrolled);
-
- scrolled = glade_xml_get_widget (gui, "custom-shown");
- config->shown = e_table_scrolled_get_table (E_TABLE_SCROLLED (scrolled));
- g_object_get (config->shown,
- "model", &config->shown_model,
- NULL);
- gtk_widget_show_all (scrolled);
-
- connect_button (config, gui, "button-add", G_CALLBACK (config_button_add));
- connect_button (config, gui, "button-remove", G_CALLBACK (config_button_remove));
- connect_button (config, gui, "button-up", G_CALLBACK (config_button_up));
- connect_button (config, gui, "button-down", G_CALLBACK (config_button_down));
-
- setup_fields (config);
-}
-
-static void
-setup_gui (ETableConfig *config)
-{
- GladeXML *gui;
-
- create_global_store (config);
-
- if (e_table_sort_info_get_can_group (config->state->sort_info)) {
- gui = glade_xml_new (ETABLE_GLADEDIR "/e-table-config.glade", NULL, E_I18N_DOMAIN);
- } else {
- gui = glade_xml_new (ETABLE_GLADEDIR "/e-table-config-no-group.glade", NULL, E_I18N_DOMAIN);
- }
-
- g_object_unref (global_store);
-
- config->dialog_toplevel = glade_xml_get_widget (
- gui, "e-table-config");
-
- if (config->header)
- gtk_window_set_title (GTK_WINDOW (config->dialog_toplevel), config->header);
-
- config->dialog_show_fields = glade_xml_get_widget (
- gui, "dialog-show-fields");
- config->dialog_group_by = glade_xml_get_widget (
- gui, "dialog-group-by");
- config->dialog_sort = glade_xml_get_widget (
- gui, "dialog-sort");
-
- config->sort_label = glade_xml_get_widget (
- gui, "label-sort");
- config->group_label = glade_xml_get_widget (
- gui, "label-group");
- config->fields_label = glade_xml_get_widget (
- gui, "label-fields");
-
- connect_button (config, gui, "button-sort", G_CALLBACK (config_button_sort));
- connect_button (config, gui, "button-group", G_CALLBACK (config_button_group));
- connect_button (config, gui, "button-fields", G_CALLBACK (config_button_fields));
-
- configure_sort_dialog (config, gui);
- configure_group_dialog (config, gui);
- configure_fields_dialog (config, gui);
-
- g_object_weak_ref (G_OBJECT (config->dialog_toplevel),
- dialog_destroyed, config);
-
- g_signal_connect (config->dialog_toplevel, "response",
- G_CALLBACK (dialog_response), config);
-
- g_object_unref (gui);
-}
-
-static void
-config_init (ETableConfig *config)
-{
- config->domain = NULL;
-}
-
-ETableConfig *
-e_table_config_construct (ETableConfig *config,
- const char *header,
- ETableSpecification *spec,
- ETableState *state,
- GtkWindow *parent_window)
-{
- ETableColumnSpecification **column;
-
- g_return_val_if_fail (config != NULL, NULL);
- g_return_val_if_fail (header != NULL, NULL);
- g_return_val_if_fail (spec != NULL, NULL);
- g_return_val_if_fail (state != NULL, NULL);
-
- config->source_spec = spec;
- config->source_state = state;
- config->header = g_strdup (header);
-
- g_object_ref (config->source_spec);
- g_object_ref (config->source_state);
-
- config->state = e_table_state_duplicate (state);
-
- config->domain = g_strdup (spec->domain);
-
- for (column = config->source_spec->columns; *column; column++){
- char *label = (*column)->title;
-
- if ((*column)->disabled)
- continue;
-
- config->column_names = g_slist_append (
- config->column_names, label);
- }
-
- setup_gui (config);
-
- gtk_window_set_transient_for (GTK_WINDOW (config->dialog_toplevel),
- parent_window);
-
- config_sort_info_update (config);
- config_group_info_update (config);
- config_fields_info_update (config);
-
- return E_TABLE_CONFIG (config);
-}
-
-/**
- * e_table_config_new:
- * @header: The title of the dialog for the ETableConfig.
- * @spec: The specification for the columns to allow.
- * @state: The current state of the configuration.
- *
- * Creates a new ETable config object.
- *
- * Returns: The config object.
- */
-ETableConfig *
-e_table_config_new (const char *header,
- ETableSpecification *spec,
- ETableState *state,
- GtkWindow *parent_window)
-{
- ETableConfig *config = g_object_new (E_TABLE_CONFIG_TYPE, NULL);
-
- if (e_table_config_construct (config, header, spec, state, parent_window) == NULL){
- g_object_unref (config);
- return NULL;
- }
-
- gtk_widget_ensure_style (config->dialog_toplevel);
- gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (config->dialog_toplevel)->vbox), 0);
- gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (config->dialog_toplevel)->action_area), 12);
-
- gtk_dialog_set_response_sensitive (GTK_DIALOG (config->dialog_toplevel),
- GTK_RESPONSE_APPLY, FALSE);
- gtk_widget_show (config->dialog_toplevel);
-
- return E_TABLE_CONFIG (config);
-}
-
-/**
- * e_table_config_raise:
- * @config: The ETableConfig object.
- *
- * Raises the dialog associated with this ETableConfig object.
- */
-void
-e_table_config_raise (ETableConfig *config)
-{
- gdk_window_raise (GTK_WIDGET (config->dialog_toplevel)->window);
-}
-
-E_MAKE_TYPE(e_table_config, "ETableConfig", ETableConfig, config_class_init, config_init, G_TYPE_OBJECT)
diff --git a/widgets/table/e-table-config.glade b/widgets/table/e-table-config.glade
deleted file mode 100644
index 718c89e7ae..0000000000
--- a/widgets/table/e-table-config.glade
+++ /dev/null
@@ -1,2183 +0,0 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
-<glade-interface>
-<requires lib="gnome"/>
-
-<widget class="GtkDialog" id="dialog-show-fields">
- <property name="title" translatable="yes">Show Fields</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_NONE</property>
- <property name="modal">True</property>
- <property name="resizable">True</property>
- <property name="destroy_with_parent">False</property>
- <property name="decorated">True</property>
- <property name="skip_taskbar_hint">False</property>
- <property name="skip_pager_hint">False</property>
- <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <property name="has_separator">True</property>
-
- <child internal-child="vbox">
- <widget class="GtkVBox" id="dialog-vbox3">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">8</property>
-
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="dialog-action_area3">
- <property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
-
- <child>
- <widget class="GtkButton" id="button22">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-cancel</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-6</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="button20">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-ok</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-5</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox2">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkTable" id="table2">
- <property name="visible">True</property>
- <property name="n_rows">1</property>
- <property name="n_columns">5</property>
- <property name="homogeneous">True</property>
- <property name="row_spacing">6</property>
- <property name="column_spacing">6</property>
-
- <child>
- <widget class="GtkLabel" id="label-available">
- <property name="visible">True</property>
- <property name="label" translatable="yes">A_vailable Fields:</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="mnemonic_widget">custom-available</property>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">2</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label-displayed">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Show these fields in order:</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="mnemonic_widget">custom-shown</property>
- </widget>
- <packing>
- <property name="left_attach">3</property>
- <property name="right_attach">5</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkTable" id="table3">
- <property name="visible">True</property>
- <property name="n_rows">1</property>
- <property name="n_columns">5</property>
- <property name="homogeneous">True</property>
- <property name="row_spacing">6</property>
- <property name="column_spacing">6</property>
-
- <child>
- <widget class="GtkVBox" id="vbox4">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="Custom" id="custom-available">
- <property name="visible">True</property>
- <property name="creation_function">e_table_proxy_etable_available_new</property>
- <property name="int1">0</property>
- <property name="int2">0</property>
- <property name="last_modification_time">Thu, 21 Feb 2002 16:09:53 GMT</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">2</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox5">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="Custom" id="custom-shown">
- <property name="visible">True</property>
- <property name="creation_function">e_table_proxy_etable_shown_new</property>
- <property name="int1">0</property>
- <property name="int2">0</property>
- <property name="last_modification_time">Thu, 21 Feb 2002 16:09:58 GMT</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox4">
- <property name="visible">True</property>
- <property name="homogeneous">True</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkButton" id="button-up">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Move _Up</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button-down">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Move _Down</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">3</property>
- <property name="right_attach">5</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox6">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkButton" id="button-add">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Add -&gt;</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button-remove">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">&lt;- _Remove</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <placeholder/>
- </child>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
-
-<widget class="GtkDialog" id="dialog-group-by">
- <property name="title" translatable="yes">Group</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_NONE</property>
- <property name="modal">True</property>
- <property name="resizable">True</property>
- <property name="destroy_with_parent">False</property>
- <property name="decorated">True</property>
- <property name="skip_taskbar_hint">False</property>
- <property name="skip_pager_hint">False</property>
- <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <property name="has_separator">True</property>
-
- <child internal-child="vbox">
- <widget class="GtkVBox" id="dialog-vbox4">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">8</property>
-
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="dialog-action_area4">
- <property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
-
- <child>
- <widget class="GtkButton" id="button39">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Clear All</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">0</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="button42">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-cancel</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-6</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="button41">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-ok</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-5</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox24">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox13">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkFrame" id="frame-group-1">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkHBox" id="hbox5">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkVBox" id="vbox7">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="Custom" id="group-combo-1">
- <property name="visible">True</property>
- <property name="creation_function">e_table_proxy_gtk_combo_text_new</property>
- <property name="int1">0</property>
- <property name="int2">0</property>
- <property name="last_modification_time">Fri, 19 Jan 2001 04:52:09 GMT</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="checkbutton-group-1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Show field in View</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox8">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-ascending-group-1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Ascending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-descending-group-1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Descending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">radiobutton-ascending-group-1</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label1">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Group Items By</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label8">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label9">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label10">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox14">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkLabel" id="label11">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame-group-2">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkHBox" id="hbox6">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkVBox" id="vbox9">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="Custom" id="group-combo-2">
- <property name="visible">True</property>
- <property name="creation_function">e_table_proxy_gtk_combo_text_new</property>
- <property name="int1">0</property>
- <property name="int2">0</property>
- <property name="last_modification_time">Fri, 19 Jan 2001 04:52:14 GMT</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="checkbutton-group-2">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Show field in View</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox10">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-ascending-group-2">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Ascending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-descending-group-2">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Descending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">radiobutton-ascending-group-2</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label12">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Then By</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label19">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label18">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox15">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkLabel" id="label13">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label12">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame-group-3">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkHBox" id="hbox7">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkVBox" id="vbox11">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="Custom" id="group-combo-3">
- <property name="visible">True</property>
- <property name="creation_function">e_table_proxy_gtk_combo_text_new</property>
- <property name="int1">0</property>
- <property name="int2">0</property>
- <property name="last_modification_time">Fri, 19 Jan 2001 04:52:18 GMT</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="checkbutton-group-3">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Show field in View</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox12">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-ascending-group-3">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Ascending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-descending-group-3">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Descending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">radiobutton-ascending-group-3</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label20">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Then By</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label17">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox16">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkLabel" id="label14">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label16">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label15">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame-group-4">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkHBox" id="hbox8">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkVBox" id="vbox13">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="Custom" id="group-combo-4">
- <property name="visible">True</property>
- <property name="creation_function">e_table_proxy_gtk_combo_text_new</property>
- <property name="int1">0</property>
- <property name="int2">0</property>
- <property name="last_modification_time">Fri, 19 Jan 2001 04:52:21 GMT</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="checkbutton-group-4">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Show field in View</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox14">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-ascending-group-4">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Ascending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-descending-group-4">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Descending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">radiobutton-ascending-group-4</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label21">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Then By</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
-
-<widget class="GtkDialog" id="dialog-sort">
- <property name="title" translatable="yes">Sort</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_NONE</property>
- <property name="modal">True</property>
- <property name="resizable">True</property>
- <property name="destroy_with_parent">False</property>
- <property name="decorated">True</property>
- <property name="skip_taskbar_hint">False</property>
- <property name="skip_pager_hint">False</property>
- <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <property name="has_separator">True</property>
-
- <child internal-child="vbox">
- <widget class="GtkVBox" id="vbox15">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">8</property>
-
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="hbuttonbox1">
- <property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
-
- <child>
- <widget class="GtkButton" id="button43">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Clear All</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">0</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="button45">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-cancel</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-6</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="button44">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="has_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-ok</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-5</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkTable" id="table5">
- <property name="visible">True</property>
- <property name="n_rows">4</property>
- <property name="n_columns">1</property>
- <property name="homogeneous">False</property>
- <property name="row_spacing">6</property>
- <property name="column_spacing">6</property>
-
- <child>
- <widget class="GtkFrame" id="frame-sort-4">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkHBox" id="hbox9">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment1">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">1</property>
- <property name="yscale">0</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">0</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="Custom" id="sort-combo-4">
- <property name="visible">True</property>
- <property name="creation_function">e_table_proxy_gtk_combo_text_new</property>
- <property name="int1">0</property>
- <property name="int2">0</property>
- <property name="last_modification_time">Tue, 16 Jan 2001 08:33:52 GMT</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox17">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-ascending-sort-4">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Ascending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-descending-sort-4">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Descending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">radiobutton-ascending-sort-4</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label22">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Then By</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame-sort-3">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkHBox" id="hbox10">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment2">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">1</property>
- <property name="yscale">0</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">0</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="Custom" id="sort-combo-3">
- <property name="visible">True</property>
- <property name="creation_function">e_table_proxy_gtk_combo_text_new</property>
- <property name="int1">0</property>
- <property name="int2">0</property>
- <property name="last_modification_time">Tue, 16 Jan 2001 05:22:22 GMT</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox19">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-ascending-sort-3">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Ascending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-descending-sort-3">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Descending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">radiobutton-ascending-sort-3</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label23">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Then By</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame-sort-2">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkHBox" id="hbox11">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment3">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">1</property>
- <property name="yscale">0</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">0</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="Custom" id="sort-combo-2">
- <property name="visible">True</property>
- <property name="creation_function">e_table_proxy_gtk_combo_text_new</property>
- <property name="int1">0</property>
- <property name="int2">0</property>
- <property name="last_modification_time">Tue, 16 Jan 2001 05:22:15 GMT</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox21">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-ascending-sort-2">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Ascending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-descending-sort-2">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Descending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">radiobutton-ascending-sort-2</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label24">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Then By</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame-sort-1">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkHBox" id="hbox12">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment4">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">1</property>
- <property name="yscale">0</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">0</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="Custom" id="sort-combo-1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="has_focus">True</property>
- <property name="creation_function">e_table_proxy_gtk_combo_text_new</property>
- <property name="int1">0</property>
- <property name="int2">0</property>
- <property name="last_modification_time">Tue, 16 Jan 2001 05:22:00 GMT</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox23">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-ascending-sort-1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Ascending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton-descending-sort-1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Descending</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">radiobutton-ascending-sort-1</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label25">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Sort Items By</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
-
-<widget class="GtkDialog" id="e-table-config">
- <property name="title" translatable="yes">dialog1</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
- <property name="modal">True</property>
- <property name="resizable">False</property>
- <property name="destroy_with_parent">False</property>
- <property name="decorated">True</property>
- <property name="skip_taskbar_hint">False</property>
- <property name="skip_pager_hint">False</property>
- <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <property name="has_separator">True</property>
-
- <child internal-child="vbox">
- <widget class="GtkVBox" id="dialog-vbox6">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="dialog-action_area6">
- <property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
-
- <child>
- <widget class="GtkButton" id="cancelbutton2">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-cancel</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-6</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="applybutton2">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-apply</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-10</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="okbutton2">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-ok</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-5</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="top-frame">
- <property name="border_width">2</property>
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkTable" id="table1">
- <property name="border_width">2</property>
- <property name="visible">True</property>
- <property name="n_rows">3</property>
- <property name="n_columns">3</property>
- <property name="homogeneous">False</property>
- <property name="row_spacing">2</property>
- <property name="column_spacing">4</property>
-
- <child>
- <widget class="GtkButton" id="button-sort">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Sort...</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_sort_clicked"/>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button-group">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Group By...</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_group_by_clicked"/>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label-sort">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">True</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button-fields">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Fields Shown...</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_group_by_clicked"/>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label-fields">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">True</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label3">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">fill</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label4">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">fill</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label22">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="x_options">fill</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label-group">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">True</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label26">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Description</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
-
-</glade-interface>
diff --git a/widgets/table/e-table-config.h b/widgets/table/e-table-config.h
deleted file mode 100644
index cad376b955..0000000000
--- a/widgets/table/e-table-config.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-config.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Miguel de Icaza <miguel@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_CONFIG_H_
-#define _E_TABLE_CONFIG_H_
-
-#include <gal/e-table/e-table-sort-info.h>
-#include <gal/e-table/e-table-specification.h>
-#include <gal/widgets/gal-combo-text.h>
-#include <gal/e-table/e-table-without.h>
-#include <gal/e-table/e-table-subset-variable.h>
-#include <gal/e-table/e-table.h>
-#include <gtk/gtkwindow.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_CONFIG_TYPE (e_table_config_get_type ())
-#define E_TABLE_CONFIG(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_CONFIG_TYPE, ETableConfig))
-#define E_TABLE_CONFIG_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_CONFIG_TYPE, ETableConfigClass))
-#define E_IS_TABLE_CONFIG(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_CONFIG_TYPE))
-#define E_IS_TABLE_CONFIG_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_CONFIG_TYPE))
-#define E_TABLE_CONFIG_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), E_TABLE_CONFIG_TYPE, ETableConfigClass))
-
-typedef struct {
- GalComboText *combo;
- GtkWidget *frames;
- GtkWidget *radio_ascending;
- GtkWidget *radio_descending;
- GtkWidget *view_check; /* Only for group dialog */
- guint changed_id, toggled_id;
- void *e_table_config;
-} ETableConfigSortWidgets;
-
-
-typedef struct {
- GObject parent;
-
- char *header;
-
- /*
- * Our various dialog boxes
- */
- GtkWidget *dialog_toplevel;
- GtkWidget *dialog_show_fields;
- GtkWidget *dialog_group_by;
- GtkWidget *dialog_sort;
-
- /*
- * The state we manipulate
- */
- ETableSpecification *source_spec;
- ETableState *source_state, *state, *temp_state;
-
- GtkWidget *sort_label;
- GtkWidget *group_label;
- GtkWidget *fields_label;
-
- ETableConfigSortWidgets sort [4];
- ETableConfigSortWidgets group [4];
-
- ETable *available;
- ETableWithout *available_model;
- ETable *shown;
- ETableSubsetVariable *shown_model;
- char *domain;
-
- /*
- * List of valid column names
- */
- GSList *column_names;
-} ETableConfig;
-
-typedef struct {
- GObjectClass parent_class;
-
- /* Signals */
- void (*changed) (ETableConfig *config);
-} ETableConfigClass;
-
-GType e_table_config_get_type (void);
-ETableConfig *e_table_config_new (const char *header,
- ETableSpecification *spec,
- ETableState *state,
- GtkWindow *parent_window);
-ETableConfig *e_table_config_construct (ETableConfig *etco,
- const char *header,
- ETableSpecification *spec,
- ETableState *state,
- GtkWindow *parent_window);
-void e_table_config_raise (ETableConfig *config);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_CONFIG_H */
diff --git a/widgets/table/e-table-defines.h b/widgets/table/e-table-defines.h
deleted file mode 100644
index 34585789d4..0000000000
--- a/widgets/table/e-table-defines.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-defines.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef __E_TABLE_DEFINES__
-#define __E_TABLE_DEFINES__ 1
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define BUTTON_HEIGHT 10
-#define BUTTON_PADDING 2
-#define GROUP_INDENT (BUTTON_HEIGHT + (BUTTON_PADDING * 2))
-
-/* Padding around the contents of a header button */
-#define HEADER_PADDING 1
-
-#define MIN_ARROW_SIZE 10
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif
diff --git a/widgets/table/e-table-example-1.c b/widgets/table/e-table-example-1.c
deleted file mode 100644
index 37ac85770f..0000000000
--- a/widgets/table/e-table-example-1.c
+++ /dev/null
@@ -1,308 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-example-1.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-/* This code is GPL. */
-#include <stdio.h>
-#include <string.h>
-#include <gdk-pixbuf/gdk-pixbuf.h>
-
-#include "gal/e-util/e-cursors.h"
-#include "e-table-simple.h"
-#include "e-table-header.h"
-#include "e-table-header-item.h"
-#include "e-table-item.h"
-#include "e-cell-text.h"
-#include "e-cell-checkbox.h"
-#include "e-table.h"
-
-#include "table-test.h"
-
-/*
- * One way in which we make it simpler to build an ETableModel is through
- * the ETableSimple class. Instead of creating your own ETableModel
- * class, you simply create a new object of the ETableSimple class. You
- * give it a bunch of functions that act as callbacks.
- *
- * You also get to pass a void * to ETableSimple and it gets passed to
- * your callbacks. This would be for having multiple models of the same
- * type. This is just an example though, so we statically define all the
- * data and ignore the void *data parameter.
- *
- * In our example we will be creating a table model with 6 columns and 10
- * rows. This corresponds to having 6 different types of information and
- * 10 different sets of data in our database.
- *
- * The headers will be hard coded, as will be the example data.
- *
- */
-
-/*
- * There are two different meanings to the word "column". The first is
- * the model column. A model column corresponds to a specific type of
- * data. This is very much like the usage in a database table where a
- * column is a field in the database.
- *
- * The second type of column is a view column. A view column
- * corresponds to a visually displayed column. Each view column
- * corresponds to a specific model column, though a model column may
- * have any number of view columns associated with it, from zero to
- * greater than one.
- *
- * Also, a view column doesn't necessarily depend on only one model
- * column. In some cases, the view column renderer can be given a
- * reference to another column to get extra information about its
- * display.
-*/
-
-#define ROWS 10
-#define COLS 4
-
-#define IMPORTANCE_COLUMN 4
-#define COLOR_COLUMN 5
-
-/*
- * Here we define the initial layout of the table. This is an xml
- * format that allows you to change the initial ordering of the
- * columns or to do sorting or grouping initially. This specification
- * shows all 5 columns, but moves the importance column nearer to the
- * front. It also sorts by the "Full Name" column (ascending.)
- * Sorting and grouping take the model column as their arguments
- * (sorting is specified by the "column" argument to the leaf elemnt.
- */
-
-#define INITIAL_SPEC "<ETableSpecification> \
- <columns-shown> \
- <column> 0 </column> \
- <column> 4 </column> \
- <column> 1 </column> \
- <column> 2 </column> \
- <column> 3 </column> \
- </columns-shown> \
- <grouping> <leaf column=\"1\" ascending=\"true\"/> </grouping> \
-</ETableSpecification>"
-
-char *headers [COLS] = {
- "Email",
- "Full Name",
- "Address",
- "Phone"
-};
-
-/*
- * Virtual Column list:
- * 0 Email
- * 1 Full Name
- * 2 Address
- * 3 Phone
- */
-
-char *table_data [ROWS] [COLS];
-
-/*
- * ETableSimple callbacks
- * These are the callbacks that define the behavior of our custom model.
- */
-
-/*
- * Since our model is a constant size, we can just return its size in
- * the column and row count fields.
- */
-
-/* This function returns the number of columns in our ETableModel. */
-static int
-my_col_count (ETableModel *etc, void *data)
-{
- return COLS;
-}
-
-/* This function returns the number of rows in our ETableModel. */
-static int
-my_row_count (ETableModel *etc, void *data)
-{
- return ROWS;
-}
-
-/* This function returns the value at a particular point in our ETableModel. */
-static void *
-my_value_at (ETableModel *etc, int col, int row, void *data)
-{
- return (void *) table_data [row] [col];
-}
-
-/* This function sets the value at a particular point in our ETableModel. */
-static void
-my_set_value_at (ETableModel *etc, int col, int row, const void *val, void *data)
-{
- g_free (table_data [row] [col]);
- table_data [row] [col] = g_strdup (val);
-}
-
-/* This function returns whether a particular cell is editable. */
-static gboolean
-my_is_cell_editable (ETableModel *etc, int col, int row, void *data)
-{
- return TRUE;
-}
-
-/* This function duplicates the value passed to it. */
-static void *
-my_duplicate_value (ETableModel *etc, int col, const void *value, void *data)
-{
- return g_strdup (value);
-}
-
-/* This function frees the value passed to it. */
-static void
-my_free_value (ETableModel *etc, int col, void *value, void *data)
-{
- g_free (value);
-}
-
-/* This function creates an empty value. */
-static void *
-my_initialize_value (ETableModel *etc, int col, void *data)
-{
- return g_strdup ("");
-}
-
-/* This function reports if a value is empty. */
-static gboolean
-my_value_is_empty (ETableModel *etc, int col, const void *value, void *data)
-{
- return !(value && *(char *)value);
-}
-
-/* This function reports if a value is empty. */
-static char *
-my_value_to_string (ETableModel *etc, int col, const void *value, void *data)
-{
- return g_strdup(value);
-}
-
-/* We create a window containing our new table. */
-static void
-create_table (void)
-{
- GtkWidget *e_table, *window, *frame;
- ECell *cell_left_just;
- ETableHeader *e_table_header;
- int i, j;
- ETableModel *e_table_model = NULL;
-
- /* First we fill in the simple data. */
- for (i = 0; i < ROWS; i++){
- for (j = 0; j < COLS; j++)
- table_data [i] [j] = g_strdup ("");
- }
- /* Next we create our model. This uses the functions we defined
- earlier. */
- e_table_model = e_table_simple_new (
- my_col_count, my_row_count, my_value_at,
- my_set_value_at, my_is_cell_editable,
- my_duplicate_value, my_free_value,
- my_initialize_value, my_value_is_empty,
- my_value_to_string,
- NULL);
- /*
- * Next we create a header. The ETableHeader is used in two
- * different way. The first is the full_header. This is the
- * list of possible columns in the view. The second use is
- * completely internal. Many of the ETableHeader functions are
- * for that purpose. The only functions we really need are
- * e_table_header_new and e_table_header_add_col.
- *
- * First we create the header.
- */
- e_table_header = e_table_header_new ();
-
- /*
- * Next we have to build renderers for all of the columns.
- * Since all our columns are text columns, we can simply use
- * the same renderer over and over again. If we had different
- * types of columns, we could use a different renderer for
- * each column.
- */
- cell_left_just = e_cell_text_new (e_table_model, NULL, GTK_JUSTIFY_LEFT);
-
- /*
- * Next we create a column object for each view column and add
- * them to the header. We don't create a column object for
- * the importance column since it will not be shown.
- */
- for (i = 0; i < COLS; i++) {
- /* Create the column. */
- ETableCol *ecol = e_table_col_new (
- i, headers [i],
- 1.0, 20, cell_left_just,
- g_str_compare, TRUE);
- /* Add it to the header. */
- e_table_header_add_column (e_table_header, ecol, i);
- }
-
- /*
- * Here we create a window for our new table. This window
- * will get shown and the person will be able to test their
- * item.
- */
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-
- /* This frame is simply to get a bevel around our table. */
- frame = gtk_frame_new (NULL);
-
- /*
- * Here we create the table. We give it the three pieces of
- * the table we've created, the header, the model, and the
- * initial layout. It does the rest.
- */
- e_table = e_table_new (e_table_header, e_table_model, INITIAL_SPEC);
-
- /* Build the gtk widget hierarchy. */
- gtk_container_add (GTK_CONTAINER (frame), e_table);
- gtk_container_add (GTK_CONTAINER (window), frame);
-
- /* Size the initial window. */
- gtk_widget_set_usize (window, 200, 200);
-
- /* Show it all. */
- gtk_widget_show_all (window);
-}
-
-/* This is the main function which just initializes gnome and call our create_table function */
-
-int
-main (int argc, char *argv [])
-{
- gnome_init ("TableExample", "TableExample", argc, argv);
- e_cursors_init ();
-
- gtk_widget_push_visual (gdk_rgb_get_visual ());
- gtk_widget_push_colormap (gdk_rgb_get_cmap ());
-
- create_table ();
-
- gtk_main ();
-
- e_cursors_shutdown ();
- return 0;
-}
-
diff --git a/widgets/table/e-table-example-2.c b/widgets/table/e-table-example-2.c
deleted file mode 100644
index 2321e4e7dd..0000000000
--- a/widgets/table/e-table-example-2.c
+++ /dev/null
@@ -1,349 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-example-2.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <gdk-pixbuf/gdk-pixbuf.h>
-
-#include "gal/e-util/e-cursors.h"
-#include "e-table-simple.h"
-#include "e-table-header.h"
-#include "e-table-header-item.h"
-#include "e-table-item.h"
-#include "e-cell-text.h"
-#include "e-cell-checkbox.h"
-#include "e-table.h"
-
-#include "table-test.h"
-
-/*
-One way in which we make it simpler to build an ETableModel is through
-the ETableSimple class. Instead of creating your own ETableModel
-class, you simply create a new object of the ETableSimple class. You
-give it a bunch of functions that act as callbacks.
-
-You also get to pass a void * to ETableSimple and it gets passed to
-your callbacks. This would be for having multiple models of the same
-type. This is just an example though, so we statically define all the
-data and ignore the void *data parameter.
-
-In our example we will be creating a table model with 6 columns and 10
-rows. This corresponds to having 6 different types of information and
-10 different sets of data in our database.
-
-The headers will be hard coded, as will be the example data.
-
-*/
-
-/*
- There are two different meanings to the word "column". The first is
- the model column. A model column corresponds to a specific type of
- data. This is very much like the usage in a database table where a
- column is a field in the database.
-
- The second type of column is a view column. A view column
- corresponds to a visually displayed column. Each view column
- corresponds to a specific model column, though a model column may
- have any number of view columns associated with it, from zero to
- greater than one.
-
- Also, a view column doesn't necessarily depend on only one model
- column. In some cases, the view column renderer can be given a
- reference to another column to get extra information about its
- display.
-*/
-
-#define ROWS 10
-#define VIEW_COLS 4
-#define PHYSICAL_COLS 5
-#define VIRTUAL_COLS 6
-
-#define IMPORTANCE_COLUMN 4
-#define COLOR_COLUMN 5
-
-/* Here we define the initial layout of the table. This is an xml
- format that allows you to change the initial ordering of the
- columns or to do sorting or grouping initially. This specification
- shows all 5 columns, but moves the importance column nearer to the
- front. It also sorts by the "Full Name" column (ascending.)
- Sorting and grouping take the model column as their arguments
- (sorting is specified by the "column" argument to the leaf elemnt. */
-#define INITIAL_SPEC "<ETableSpecification> \
- <columns-shown> \
- <column> 0 </column> \
- <column> 4 </column> \
- <column> 1 </column> \
- <column> 2 </column> \
- <column> 3 </column> \
- </columns-shown> \
- <grouping> <leaf column=\"1\" ascending=\"true\"/> </grouping> \
-</ETableSpecification>"
-
-char *headers[VIEW_COLS] = {
- "Email",
- "Full Name",
- "Address",
- "Phone"
-};
-
-/* Virtual Column list:
- 0 Full Name
- 1 Email
- 2 Address
- 3 Phone
- 4 Importance field. This field will be a boolean. It also has a
- special header, so doesn't appear in the headers list.
- 5 Color field. This column is also not displayed. It is also
- not stored in the database. It's calculated based on the
- Importance field.
-*/
-
-char *table_data[ROWS][VIEW_COLS];
-gboolean importance_data[ROWS];
-
-/*
- * ETableSimple callbacks
- * These are the callbacks that define the behavior of our custom model.
- */
-
-/* Since our model is a constant size, we can just return its size in
- the column and row count fields. */
-
-static GdkColor *color1;
-static GdkColor *color2;
-
-static int
-my_col_count (ETableModel *etc, void *data)
-{
- return VIRTUAL_COLS;
-}
-
-static int
-my_row_count (ETableModel *etc, void *data)
-{
- return ROWS;
-}
-
-static void *
-my_value_at (ETableModel *etc, int col, int row, void *data)
-{
- if (col == COLOR_COLUMN){
- if (importance_data[row]){
- return color1;
- } else {
- return color2;
- }
- } else if (col == IMPORTANCE_COLUMN){
- return (gpointer) importance_data[row];
- } else {
- return (void *) table_data [row][col];
- }
-}
-
-static void
-my_set_value_at (ETableModel *etc, int col, int row, const void *val, void *data)
-{
- if (col == COLOR_COLUMN){
- } else if (col == IMPORTANCE_COLUMN){
- importance_data[row] = (gboolean) val;
- } else {
- g_free (table_data [row][col]);
- table_data [row][col] = g_strdup (val);
- }
-}
-
-static gboolean
-my_is_cell_editable (ETableModel *etc, int col, int row, void *data)
-{
- if (col == IMPORTANCE_COLUMN)
- return FALSE;
- else
- return TRUE;
-}
-
-static void *
-my_duplicate_value (ETableModel *etc, int col, const void *value, void *data)
-{
- if (col == COLOR_COLUMN){
- return (void *) value;
- } else if (col == IMPORTANCE_COLUMN){
- return (void *) value;
- } else {
- return g_strdup (value);
- }
-}
-
-static void
-my_free_value (ETableModel *etc, int col, void *value, void *data)
-{
- if (col == COLOR_COLUMN){
- } else if (col == IMPORTANCE_COLUMN){
- } else {
- g_free (value);
- }
-}
-
-static void *
-my_initialize_value (ETableModel *etc, int col, void *data)
-{
- if (col == COLOR_COLUMN){
- return NULL;
- } else if (col == IMPORTANCE_COLUMN){
- return NULL;
- } else {
- return g_strdup ("");
- }
-}
-
-static gboolean
-my_value_is_empty (ETableModel *etc, int col, const void *value, void *data)
-{
- if (col == COLOR_COLUMN){
- return value == NULL;
- } else if (col == IMPORTANCE_COLUMN){
- return value == NULL;
- } else {
- return !(value && *(char *)value);
- }
-}
-
-static char *
-my_value_to_string (ETableModel *etc, int col, const void *value, void *data)
-{
- if (col == COLOR_COLUMN){
- return g_strdup_printf("%d", (int) value);
- } else if (col == IMPORTANCE_COLUMN){
- return g_strdup_printf("%d", (int) value);
- } else {
- return g_strdup(value);
- }
-}
-
-/* We create a window containing our new table. */
-static void
-create_table ()
-{
- GtkWidget *e_table, *window, *frame;
- ECell *cell_left_just;
- ECell *cell_checkbox;
- ETableHeader *e_table_header;
- int i, j;
- ETableModel *e_table_model = NULL;
- ETableCol *ecol;
- GdkPixbuf *pixbuf;
-
- /* First we fill in the simple data. */
- for (i = 0; i < ROWS; i++){
- for (j = 0; j < VIEW_COLS; j++){
- table_data[i][j] = g_strdup ("");
- }
- importance_data[i] = FALSE;
- }
- /* Next we create our model. This uses the functions we defined
- earlier. */
- e_table_model = e_table_simple_new (
- my_col_count, my_row_count, my_value_at,
- my_set_value_at, my_is_cell_editable,
- my_duplicate_value, my_free_value,
- my_initialize_value, my_value_is_empty,
- my_value_to_string,
- NULL);
- /*
- Next we create a header. The ETableHeader is used in two
- different way. The first is the full_header. This is the
- list of possible columns in the view. The second use is
- completely internal. Many of the ETableHeader functions are
- for that purpose. The only functions we really need are
- e_table_header_new and e_table_header_add_col.
-
- First we create the header. */
- e_table_header = e_table_header_new ();
-
- /* Next we have to build renderers for all of the columns.
- Since all our columns are text columns, we can simply use
- the same renderer over and over again. If we had different
- types of columns, we could use a different renderer for
- each column. */
- cell_left_just = e_cell_text_new (e_table_model, NULL, GTK_JUSTIFY_LEFT);
-
- /* Next we create a column object for each view column and add
- them to the header. We don't create a column object for
- the importance column since it will not be shown. */
- for (i = 0; i < VIEW_COLS; i++){
- /* Create the column. */
- ETableCol *ecol = e_table_col_new (
- i, headers [i],
- 1.0, 20, cell_left_just,
- g_str_compare, TRUE);
- /* Add it to the header. */
- e_table_header_add_column (e_table_header, ecol, i);
- }
-
- /* Next we add a special column for the check box. */
-
- cell_checkbox = e_cell_checkbox_new ();
- pixbuf = gdk_pixbuf_new_from_file ("clip.png");
- ecol = e_table_col_new_with_pixbuf (i, pixbuf, 0.0, 18, cell_checkbox, g_int_compare, TRUE);
- e_table_header_add_column (e_table_header, ecol, i);
-
- /*
- * Setup GUI
- */
- /* Here we create a window for our new table. This window
- will get shown and the person will be able to test their
- item. */
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- /* This frame is simply to get a bevel around our table. */
- frame = gtk_frame_new (NULL);
- /* Here we create the table. We give it the three pieces of
- the table we've created, the header, the model, and the
- initial layout. It does the rest. */
- e_table = e_table_new (e_table_header, e_table_model, INITIAL_SPEC);
-
- /* Build the gtk widget hierarchy. */
- gtk_container_add (GTK_CONTAINER (frame), e_table);
- gtk_container_add (GTK_CONTAINER (window), frame);
-
- /* Size the initial window. */
- gtk_widget_set_usize (window, 200, 200);
- /* Show it all. */
- gtk_widget_show_all (window);
-}
-
-
-
-int
-main (int argc, char *argv [])
-{
- gnome_init ("TableExample", "TableExample", argc, argv);
- e_cursors_init ();
-
- gtk_widget_push_colormap (gdk_rgb_get_cmap ());
-
- create_table ();
-
- gtk_main ();
-
- e_cursors_shutdown ();
- return 0;
-}
diff --git a/widgets/table/e-table-extras.c b/widgets/table/e-table-extras.c
deleted file mode 100644
index 81947a6e94..0000000000
--- a/widgets/table/e-table-extras.c
+++ /dev/null
@@ -1,292 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-extras.c - Set of hash table sort of thingies.
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <stdlib.h>
-#include <gtk/gtksignal.h>
-#include "gal/util/e-util.h"
-#include "gal/e-table/e-cell-text.h"
-#include "gal/e-table/e-cell-checkbox.h"
-#include "gal/e-table/e-cell-date.h"
-#include "gal/e-table/e-cell-number.h"
-#include "gal/e-table/e-cell-pixbuf.h"
-#include "gal/e-table/e-cell-size.h"
-#include "gal/e-table/e-cell-tree.h"
-#include "e-table-extras.h"
-#include <string.h>
-
-static GObjectClass *ete_parent_class;
-
-static void
-cell_hash_free(gchar *key,
- ECell *cell,
- gpointer user_data)
-{
- g_free(key);
- if (cell)
- g_object_unref(cell);
-}
-
-static void
-pixbuf_hash_free(gchar *key,
- GdkPixbuf *pixbuf,
- gpointer user_data)
-{
- g_free(key);
- if (pixbuf)
- gdk_pixbuf_unref(pixbuf);
-}
-
-static void
-ete_finalize (GObject *object)
-{
- ETableExtras *ete = E_TABLE_EXTRAS (object);
-
- if (ete->cells) {
- g_hash_table_foreach (ete->cells, (GHFunc) cell_hash_free, NULL);
- g_hash_table_destroy (ete->cells);
- }
-
- if (ete->compares) {
- g_hash_table_foreach (ete->compares, (GHFunc) g_free, NULL);
- g_hash_table_destroy (ete->compares);
- }
-
- if (ete->searches) {
- g_hash_table_foreach (ete->searches, (GHFunc) g_free, NULL);
- g_hash_table_destroy (ete->searches);
- }
-
- if (ete->pixbufs) {
- g_hash_table_foreach (ete->pixbufs, (GHFunc) pixbuf_hash_free, NULL);
- g_hash_table_destroy (ete->pixbufs);
- }
-
- ete->cells = NULL;
- ete->compares = NULL;
- ete->searches = NULL;
- ete->pixbufs = NULL;
-
- ete_parent_class->finalize (object);
-}
-
-static void
-ete_class_init (GObjectClass *klass)
-{
- ete_parent_class = g_type_class_peek_parent (klass);
-
- klass->finalize = ete_finalize;
-}
-
-static gint
-e_strint_compare(gconstpointer data1, gconstpointer data2)
-{
- int int1 = atoi(data1);
- int int2 = atoi(data2);
-
- return g_int_compare(GINT_TO_POINTER(int1), GINT_TO_POINTER(int2));
-}
-
-/* UTF-8 strncasecmp - not optimized */
-
-static gint
-g_utf8_strncasecmp (const gchar *s1,
- const gchar *s2,
- guint n)
-{
- gunichar c1, c2;
-
- g_return_val_if_fail (s1 != NULL && g_utf8_validate (s1, -1, NULL), 0);
- g_return_val_if_fail (s2 != NULL && g_utf8_validate (s2, -1, NULL), 0);
-
- while (n && *s1 && *s2)
- {
-
- n -= 1;
-
- c1 = g_unichar_tolower (g_utf8_get_char (s1));
- c2 = g_unichar_tolower (g_utf8_get_char (s2));
-
- /* Collation is locale-dependent, so this totally fails to do the right thing. */
- if (c1 != c2)
- return c1 < c2 ? -1 : 1;
-
- s1 = g_utf8_next_char (s1);
- s2 = g_utf8_next_char (s2);
- }
-
- if (n == 0 || (*s1 == '\0' && *s2 == '\0'))
- return 0;
-
- return *s1 ? 1 : -1;
-}
-
-static gboolean
-e_string_search(gconstpointer haystack, const char *needle)
-{
- int length;
- if (haystack == NULL)
- return FALSE;
-
- length = g_utf8_strlen (needle, -1);
- if (g_utf8_strncasecmp (haystack, needle, length) == 0)
- return TRUE;
- else
- return FALSE;
-}
-
-static void
-ete_init (ETableExtras *extras)
-{
- extras->cells = g_hash_table_new(g_str_hash, g_str_equal);
- extras->compares = g_hash_table_new(g_str_hash, g_str_equal);
- extras->searches = g_hash_table_new(g_str_hash, g_str_equal);
- extras->pixbufs = g_hash_table_new(g_str_hash, g_str_equal);
-
- e_table_extras_add_compare(extras, "string", g_str_compare);
- e_table_extras_add_compare(extras, "collate", g_collate_compare);
- e_table_extras_add_compare(extras, "integer", g_int_compare);
- e_table_extras_add_compare(extras, "string-integer", e_strint_compare);
-
- e_table_extras_add_search(extras, "string", e_string_search);
-
- e_table_extras_add_cell(extras, "checkbox", e_cell_checkbox_new());
- e_table_extras_add_cell(extras, "date", e_cell_date_new (NULL, GTK_JUSTIFY_LEFT));
- e_table_extras_add_cell(extras, "number", e_cell_number_new (NULL, GTK_JUSTIFY_RIGHT));
- e_table_extras_add_cell(extras, "pixbuf", e_cell_pixbuf_new ());
- e_table_extras_add_cell(extras, "size", e_cell_size_new (NULL, GTK_JUSTIFY_RIGHT));
- e_table_extras_add_cell(extras, "string", e_cell_text_new (NULL, GTK_JUSTIFY_LEFT));
- e_table_extras_add_cell(extras, "tree-string", e_cell_tree_new (NULL, NULL, TRUE, e_cell_text_new (NULL, GTK_JUSTIFY_LEFT)));
-}
-
-E_MAKE_TYPE(e_table_extras, "ETableExtras", ETableExtras, ete_class_init, ete_init, G_TYPE_OBJECT)
-
-ETableExtras *
-e_table_extras_new (void)
-{
- ETableExtras *ete = g_object_new (E_TABLE_EXTRAS_TYPE, NULL);
-
- return (ETableExtras *) ete;
-}
-
-void
-e_table_extras_add_cell (ETableExtras *extras,
- char *id,
- ECell *cell)
-{
- gchar *old_key;
- ECell *old_cell;
-
- if (g_hash_table_lookup_extended (extras->cells, id, (gpointer *)&old_key, (gpointer *)&old_cell)) {
- g_hash_table_remove (extras->cells, old_key);
- g_free (old_key);
- if (old_cell)
- g_object_unref (old_cell);
- }
-
- if (cell) {
- g_object_ref (cell);
- gtk_object_sink (GTK_OBJECT (cell));
- }
- g_hash_table_insert (extras->cells, g_strdup(id), cell);
-}
-
-ECell *
-e_table_extras_get_cell (ETableExtras *extras,
- char *id)
-{
- return g_hash_table_lookup(extras->cells, id);
-}
-
-void
-e_table_extras_add_compare (ETableExtras *extras,
- char *id,
- GCompareFunc compare)
-{
- gchar *old_key;
- GCompareFunc old_compare;
-
- if (g_hash_table_lookup_extended (extras->compares, id, (gpointer *)&old_key, (gpointer *)&old_compare)) {
- g_hash_table_remove (extras->compares, old_key);
- g_free (old_key);
- }
-
- g_hash_table_insert(extras->compares, g_strdup(id), (gpointer) compare);
-}
-
-GCompareFunc
-e_table_extras_get_compare (ETableExtras *extras,
- char *id)
-{
- return (GCompareFunc) g_hash_table_lookup(extras->compares, id);
-}
-
-void
-e_table_extras_add_search (ETableExtras *extras,
- char *id,
- ETableSearchFunc search)
-{
- gchar *old_key;
- ETableSearchFunc old_search;
-
- if (g_hash_table_lookup_extended (extras->searches, id, (gpointer *)&old_key, (gpointer *)&old_search)) {
- g_hash_table_remove (extras->searches, old_key);
- g_free (old_key);
- }
-
- g_hash_table_insert(extras->searches, g_strdup(id), search);
-}
-
-ETableSearchFunc
-e_table_extras_get_search (ETableExtras *extras,
- char *id)
-{
- return g_hash_table_lookup(extras->searches, id);
-}
-
-void
-e_table_extras_add_pixbuf (ETableExtras *extras,
- char *id,
- GdkPixbuf *pixbuf)
-{
- gchar *old_key;
- GdkPixbuf *old_pixbuf;
-
- if (g_hash_table_lookup_extended (extras->pixbufs, id, (gpointer *)&old_key, (gpointer *)&old_pixbuf)) {
- g_hash_table_remove (extras->cells, old_key);
- g_free (old_key);
- if (old_pixbuf)
- gdk_pixbuf_unref (old_pixbuf);
- }
-
- if (pixbuf)
- gdk_pixbuf_ref(pixbuf);
- g_hash_table_insert (extras->pixbufs, g_strdup(id), pixbuf);
-}
-
-GdkPixbuf *
-e_table_extras_get_pixbuf (ETableExtras *extras,
- char *id)
-{
- return g_hash_table_lookup(extras->pixbufs, id);
-}
diff --git a/widgets/table/e-table-extras.h b/widgets/table/e-table-extras.h
deleted file mode 100644
index bd478e0bd8..0000000000
--- a/widgets/table/e-table-extras.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-extras.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_EXTRAS_H_
-#define _E_TABLE_EXTRAS_H_
-
-#include <glib-object.h>
-#include <gal/e-table/e-cell.h>
-#include <gdk-pixbuf/gdk-pixbuf.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_EXTRAS_TYPE (e_table_extras_get_type ())
-#define E_TABLE_EXTRAS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_EXTRAS_TYPE, ETableExtras))
-#define E_TABLE_EXTRAS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_EXTRAS_TYPE, ETableExtrasClass))
-#define E_IS_TABLE_EXTRAS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_EXTRAS_TYPE))
-#define E_IS_TABLE_EXTRAS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_EXTRAS_TYPE))
-#define E_TABLE_EXTRAS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), E_TABLE_EXTRAS_TYPE, ETableExtrasClass))
-
-typedef struct {
- GObject base;
-
- GHashTable *cells;
- GHashTable *compares;
- GHashTable *pixbufs;
- GHashTable *searches;
-} ETableExtras;
-
-typedef struct {
- GObjectClass parent_class;
-} ETableExtrasClass;
-
-GType e_table_extras_get_type (void);
-ETableExtras *e_table_extras_new (void);
-
-void e_table_extras_add_cell (ETableExtras *extras,
- char *id,
- ECell *cell);
-ECell *e_table_extras_get_cell (ETableExtras *extras,
- char *id);
-
-void e_table_extras_add_compare (ETableExtras *extras,
- char *id,
- GCompareFunc compare);
-GCompareFunc e_table_extras_get_compare (ETableExtras *extras,
- char *id);
-
-void e_table_extras_add_search (ETableExtras *extras,
- char *id,
- ETableSearchFunc search);
-ETableSearchFunc e_table_extras_get_search (ETableExtras *extras,
- char *id);
-
-void e_table_extras_add_pixbuf (ETableExtras *extras,
- char *id,
- GdkPixbuf *pixbuf);
-GdkPixbuf *e_table_extras_get_pixbuf (ETableExtras *extras,
- char *id);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_EXTRAS_H_ */
diff --git a/widgets/table/e-table-field-chooser-dialog.c b/widgets/table/e-table-field-chooser-dialog.c
deleted file mode 100644
index d7e725fd12..0000000000
--- a/widgets/table/e-table-field-chooser-dialog.c
+++ /dev/null
@@ -1,224 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-field-chooser-dialog.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include "e-table-field-chooser-dialog.h"
-#include "gal/util/e-i18n.h"
-#include "gal/util/e-util.h"
-#include <gtk/gtkstock.h>
-
-static void e_table_field_chooser_dialog_init (ETableFieldChooserDialog *card);
-static void e_table_field_chooser_dialog_class_init (ETableFieldChooserDialogClass *klass);
-static void e_table_field_chooser_dialog_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void e_table_field_chooser_dialog_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
-static void e_table_field_chooser_dialog_dispose (GObject *object);
-static void e_table_field_chooser_dialog_response (GtkDialog *dialog, gint id);
-
-#define PARENT_TYPE GTK_TYPE_DIALOG
-static GtkDialogClass *parent_class = NULL;
-
-/* The arguments we take */
-enum {
- PROP_0,
- PROP_DND_CODE,
- PROP_FULL_HEADER,
- PROP_HEADER
-};
-
-E_MAKE_TYPE (e_table_field_chooser_dialog,
- "ETableFieldChooserDialog",
- ETableFieldChooserDialog,
- e_table_field_chooser_dialog_class_init,
- e_table_field_chooser_dialog_init,
- PARENT_TYPE);
-
-static void
-e_table_field_chooser_dialog_class_init (ETableFieldChooserDialogClass *klass)
-{
- GObjectClass *object_class;
- GtkDialogClass *dialog_class;
-
- object_class = (GObjectClass*) klass;
- dialog_class = GTK_DIALOG_CLASS (klass);
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class->dispose = e_table_field_chooser_dialog_dispose;
- object_class->set_property = e_table_field_chooser_dialog_set_property;
- object_class->get_property = e_table_field_chooser_dialog_get_property;
-
- dialog_class->response = e_table_field_chooser_dialog_response;
-
- g_object_class_install_property (object_class, PROP_DND_CODE,
- g_param_spec_string ("dnd_code",
- _("DnD code"),
- /*_( */"XXX blurb" /*)*/,
- NULL,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_FULL_HEADER,
- g_param_spec_object ("full_header",
- _("Full Header"),
- /*_( */"XXX blurb" /*)*/,
- E_TABLE_HEADER_TYPE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_HEADER,
- g_param_spec_object ("header",
- _("Header"),
- /*_( */"XXX blurb" /*)*/,
- E_TABLE_HEADER_TYPE,
- G_PARAM_READWRITE));
-}
-
-static void
-e_table_field_chooser_dialog_init (ETableFieldChooserDialog *e_table_field_chooser_dialog)
-{
- GtkWidget *widget;
-
- e_table_field_chooser_dialog->etfc = NULL;
- e_table_field_chooser_dialog->dnd_code = g_strdup("");
- e_table_field_chooser_dialog->full_header = NULL;
- e_table_field_chooser_dialog->header = NULL;
-
- gtk_dialog_add_button(GTK_DIALOG(e_table_field_chooser_dialog),
- GTK_STOCK_CLOSE, GTK_RESPONSE_OK);
-
- gtk_window_set_policy(GTK_WINDOW(e_table_field_chooser_dialog), FALSE, TRUE, FALSE);
-
- widget = e_table_field_chooser_new();
- e_table_field_chooser_dialog->etfc = E_TABLE_FIELD_CHOOSER(widget);
-
- g_object_set(widget,
- "dnd_code", e_table_field_chooser_dialog->dnd_code,
- "full_header", e_table_field_chooser_dialog->full_header,
- "header", e_table_field_chooser_dialog->header,
- NULL);
-
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(e_table_field_chooser_dialog)->vbox),
- widget, TRUE, TRUE, 0);
-
- gtk_widget_show(GTK_WIDGET(widget));
-
- gtk_window_set_title (GTK_WINDOW (e_table_field_chooser_dialog), _("Add a column..."));
-}
-
-GtkWidget*
-e_table_field_chooser_dialog_new (void)
-{
- GtkWidget *widget = g_object_new (E_TABLE_FIELD_CHOOSER_DIALOG_TYPE, NULL);
- return widget;
-}
-
-static void
-e_table_field_chooser_dialog_dispose (GObject *object)
-{
- ETableFieldChooserDialog *etfcd = E_TABLE_FIELD_CHOOSER_DIALOG (object);
-
- if (etfcd->dnd_code)
- g_free (etfcd->dnd_code);
- etfcd->dnd_code = NULL;
-
- if (etfcd->full_header)
- g_object_unref (etfcd->full_header);
- etfcd->full_header = NULL;
-
- if (etfcd->header)
- g_object_unref (etfcd->header);
- etfcd->header = NULL;
-
- G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-static void
-e_table_field_chooser_dialog_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
-{
- ETableFieldChooserDialog *etfcd = E_TABLE_FIELD_CHOOSER_DIALOG(object);
- switch (prop_id){
- case PROP_DND_CODE:
- g_free(etfcd->dnd_code);
- etfcd->dnd_code = g_strdup(g_value_get_string (value));
- if (etfcd->etfc)
- g_object_set(etfcd->etfc,
- "dnd_code", etfcd->dnd_code,
- NULL);
- break;
- case PROP_FULL_HEADER:
- if (etfcd->full_header)
- g_object_unref (etfcd->full_header);
- if (g_value_get_object (value))
- etfcd->full_header = E_TABLE_HEADER(g_value_get_object (value));
- else
- etfcd->full_header = NULL;
- if (etfcd->full_header)
- g_object_ref (etfcd->full_header);
- if (etfcd->etfc)
- g_object_set(etfcd->etfc,
- "full_header", etfcd->full_header,
- NULL);
- break;
- case PROP_HEADER:
- if (etfcd->header)
- g_object_unref (etfcd->header);
- if (g_value_get_object (value))
- etfcd->header = E_TABLE_HEADER(g_value_get_object (value));
- else
- etfcd->header = NULL;
- if (etfcd->header)
- g_object_ref (etfcd->header);
- if (etfcd->etfc)
- g_object_set(etfcd->etfc,
- "header", etfcd->header,
- NULL);
- break;
- default:
- break;
- }
-}
-
-static void
-e_table_field_chooser_dialog_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
- ETableFieldChooserDialog *etfcd = E_TABLE_FIELD_CHOOSER_DIALOG(object);
- switch (prop_id) {
- case PROP_DND_CODE:
- g_value_set_string (value, g_strdup (etfcd->dnd_code));
- break;
- case PROP_FULL_HEADER:
- g_value_set_object (value, etfcd->full_header);
- break;
- case PROP_HEADER:
- g_value_set_object (value, etfcd->header);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-e_table_field_chooser_dialog_response (GtkDialog *dialog, int id)
-{
- if (id == GTK_RESPONSE_OK)
- gtk_widget_destroy (GTK_WIDGET (dialog));
-}
diff --git a/widgets/table/e-table-field-chooser-dialog.h b/widgets/table/e-table-field-chooser-dialog.h
deleted file mode 100644
index 83fd5d3738..0000000000
--- a/widgets/table/e-table-field-chooser-dialog.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-field-chooser-dialog.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef __E_TABLE_FIELD_CHOOSER_DIALOG_H__
-#define __E_TABLE_FIELD_CHOOSER_DIALOG_H__
-
-#include <gtk/gtkdialog.h>
-#include <gal/e-table/e-table-field-chooser.h>
-#include <gal/e-table/e-table-header.h>
-
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
-
-/* ETableFieldChooserDialog - A dialog displaying information about a contact.
- *
- * The following arguments are available:
- *
- * name type read/write description
- * --------------------------------------------------------------------------------
- */
-
-#define E_TABLE_FIELD_CHOOSER_DIALOG_TYPE (e_table_field_chooser_dialog_get_type ())
-#define E_TABLE_FIELD_CHOOSER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TABLE_FIELD_CHOOSER_DIALOG_TYPE, ETableFieldChooserDialog))
-#define E_TABLE_FIELD_CHOOSER_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_TABLE_FIELD_CHOOSER_DIALOG_TYPE, ETableFieldChooserDialogClass))
-#define E_IS_TABLE_FIELD_CHOOSER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_TABLE_FIELD_CHOOSER_DIALOG_TYPE))
-#define E_IS_TABLE_FIELD_CHOOSER_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), E_TABLE_FIELD_CHOOSER_DIALOG_TYPE))
-
-
-typedef struct _ETableFieldChooserDialog ETableFieldChooserDialog;
-typedef struct _ETableFieldChooserDialogClass ETableFieldChooserDialogClass;
-
-struct _ETableFieldChooserDialog
-{
- GtkDialog parent;
-
- /* item specific fields */
- ETableFieldChooser *etfc;
- gchar *dnd_code;
- ETableHeader *full_header;
- ETableHeader *header;
-};
-
-struct _ETableFieldChooserDialogClass
-{
- GtkDialogClass parent_class;
-};
-
-
-GtkWidget *e_table_field_chooser_dialog_new(void);
-GType e_table_field_chooser_dialog_get_type (void);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* __E_TABLE_FIELD_CHOOSER_DIALOG_H__ */
diff --git a/widgets/table/e-table-field-chooser-item.c b/widgets/table/e-table-field-chooser-item.c
deleted file mode 100644
index cfc73fc102..0000000000
--- a/widgets/table/e-table-field-chooser-item.c
+++ /dev/null
@@ -1,711 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-field-chooser-item.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <string.h>
-#include <gtk/gtksignal.h>
-#include <gtk/gtkdnd.h>
-#include <libgnomecanvas/gnome-canvas.h>
-#include <libgnomecanvas/gnome-canvas-util.h>
-#include <libgnomecanvas/gnome-canvas-polygon.h>
-#include <libgnomecanvas/gnome-canvas-rect-ellipse.h>
-#include <gdk-pixbuf/gdk-pixbuf.h>
-
-#include "gal/util/e-i18n.h"
-#include "gal/util/e-util.h"
-#include "gal/util/e-xml-utils.h"
-#include "gal/widgets/e-canvas.h"
-
-#include "e-table-header.h"
-#include "e-table-col-dnd.h"
-#include "e-table-defines.h"
-#include "e-table-header-utils.h"
-
-#include "e-table-field-chooser-item.h"
-
-#define d(x)
-
-#if 0
-enum {
- BUTTON_PRESSED,
- LAST_SIGNAL
-};
-
-static guint etfci_signals [LAST_SIGNAL] = { 0, };
-#endif
-
-#define PARENT_OBJECT_TYPE gnome_canvas_item_get_type ()
-
-#define ELEMENTS(x) (sizeof (x) / sizeof (x[0]))
-
-static GnomeCanvasItemClass *etfci_parent_class;
-
-static void etfci_drop_table_header (ETableFieldChooserItem *etfci);
-static void etfci_drop_full_header (ETableFieldChooserItem *etfci);
-
-enum {
- PROP_0,
- PROP_FULL_HEADER,
- PROP_HEADER,
- PROP_DND_CODE,
- PROP_WIDTH,
- PROP_HEIGHT
-};
-
-static void
-etfci_dispose (GObject *object)
-{
- ETableFieldChooserItem *etfci = E_TABLE_FIELD_CHOOSER_ITEM (object);
-
- etfci_drop_table_header (etfci);
- etfci_drop_full_header (etfci);
-
- if (etfci->combined_header)
- g_object_unref (etfci->combined_header);
- etfci->combined_header = NULL;
-
- if (etfci->font)
- gdk_font_unref(etfci->font);
- etfci->font = NULL;
-
- if (G_OBJECT_CLASS (etfci_parent_class)->dispose)
- (*G_OBJECT_CLASS (etfci_parent_class)->dispose) (object);
-}
-
-static gint
-etfci_find_button (ETableFieldChooserItem *etfci, double loc)
-{
- int i;
- int count;
- double height = 0;
- GtkStyle *style;
-
- style = GTK_WIDGET (GNOME_CANVAS_ITEM (etfci)->canvas)->style;
-
- count = e_table_header_count(etfci->combined_header);
- for (i = 0; i < count; i++) {
- ETableCol *ecol;
-
- ecol = e_table_header_get_column (etfci->combined_header, i);
- if (ecol->disabled)
- continue;
- height += e_table_header_compute_height (ecol, GTK_WIDGET (GNOME_CANVAS_ITEM (etfci)->canvas));
- if (height > loc)
- return i;
- }
- return MAX(0, count - 1);
-}
-
-static void
-etfci_rebuild_combined (ETableFieldChooserItem *etfci)
-{
- int count;
- GHashTable *hash;
- int i;
-
- if (etfci->combined_header != NULL)
- g_object_unref (etfci->combined_header);
-
- etfci->combined_header = e_table_header_new ();
-
- hash = g_hash_table_new (NULL, NULL);
-
- count = e_table_header_count (etfci->header);
- for (i = 0; i < count; i++) {
- ETableCol *ecol = e_table_header_get_column (etfci->header, i);
- if (ecol->disabled)
- continue;
- g_hash_table_insert (hash, GINT_TO_POINTER (ecol->col_idx), GINT_TO_POINTER (1));
- }
-
- count = e_table_header_count (etfci->full_header);
- for (i = 0; i < count; i++) {
- ETableCol *ecol = e_table_header_get_column (etfci->full_header, i);
- if (ecol->disabled)
- continue;
- if (! (GPOINTER_TO_INT (g_hash_table_lookup (hash, GINT_TO_POINTER (ecol->col_idx)))))
- e_table_header_add_column (etfci->combined_header, ecol, -1);
- }
-
- g_hash_table_destroy (hash);
-}
-
-static void
-etfci_reflow (GnomeCanvasItem *item, gint flags)
-{
- ETableFieldChooserItem *etfci = E_TABLE_FIELD_CHOOSER_ITEM (item);
- double old_height;
- int i;
- int count;
- double height = 0;
- GtkStyle *style;
-
- etfci_rebuild_combined (etfci);
-
- style = GTK_WIDGET (GNOME_CANVAS_ITEM (etfci)->canvas)->style;
-
- old_height = etfci->height;
-
- count = e_table_header_count(etfci->combined_header);
- for (i = 0; i < count; i++) {
- ETableCol *ecol;
-
- ecol = e_table_header_get_column (etfci->combined_header, i);
- if (ecol->disabled)
- continue;
- height += e_table_header_compute_height (ecol, GTK_WIDGET (GNOME_CANVAS_ITEM (etfci)->canvas));
- }
-
- etfci->height = height;
-
- if (old_height != etfci->height)
- e_canvas_item_request_parent_reflow(item);
-
- gnome_canvas_item_request_update(item);
-}
-
-static void
-etfci_update (GnomeCanvasItem *item, double *affine, ArtSVP *clip_path, int flags)
-{
- ETableFieldChooserItem *etfci = E_TABLE_FIELD_CHOOSER_ITEM (item);
- double i2c [6];
- ArtPoint c1, c2, i1, i2;
-
- if (GNOME_CANVAS_ITEM_CLASS (etfci_parent_class)->update)
- (*GNOME_CANVAS_ITEM_CLASS (etfci_parent_class)->update)(item, affine, clip_path, flags);
-
- i1.x = i1.y = 0;
- i2.x = etfci->width;
- i2.y = etfci->height;
-
- gnome_canvas_item_i2c_affine (item, i2c);
- art_affine_point (&c1, &i1, i2c);
- art_affine_point (&c2, &i2, i2c);
-
- if (item->x1 != c1.x ||
- item->y1 != c1.y ||
- item->x2 != c2.x ||
- item->y2 != c2.y)
- {
- gnome_canvas_request_redraw (item->canvas, item->x1, item->y1, item->x2, item->y2);
- item->x1 = c1.x;
- item->y1 = c1.y;
- item->x2 = c2.x;
- item->y2 = c2.y;
-#ifndef NO_WARNINGS
-#warning Group Child bounds !?
-#endif
-#if 0
- gnome_canvas_group_child_bounds (GNOME_CANVAS_GROUP (item->parent), item);
-#endif
- }
- gnome_canvas_request_redraw (item->canvas, item->x1, item->y1, item->x2, item->y2);
-}
-
-static void
-etfci_font_load (ETableFieldChooserItem *etfci)
-{
- if (etfci->font)
- gdk_font_unref (etfci->font);
-
- etfci->font = gtk_style_get_font (GTK_WIDGET(GNOME_CANVAS_ITEM(etfci)->canvas)->style);
- gdk_font_ref(etfci->font);
-}
-
-static void
-etfci_drop_full_header (ETableFieldChooserItem *etfci)
-{
- GObject *header;
-
- if (!etfci->full_header)
- return;
-
- header = G_OBJECT (etfci->full_header);
- if (etfci->full_header_structure_change_id)
- g_signal_handler_disconnect (header, etfci->full_header_structure_change_id);
- if (etfci->full_header_dimension_change_id)
- g_signal_handler_disconnect (header, etfci->full_header_dimension_change_id);
- etfci->full_header_structure_change_id = 0;
- etfci->full_header_dimension_change_id = 0;
-
- if (header)
- g_object_unref (header);
- etfci->full_header = NULL;
- etfci->height = 0;
- e_canvas_item_request_reflow(GNOME_CANVAS_ITEM(etfci));
-}
-
-static void
-full_header_structure_changed (ETableHeader *header, ETableFieldChooserItem *etfci)
-{
- e_canvas_item_request_reflow(GNOME_CANVAS_ITEM(etfci));
-}
-
-static void
-full_header_dimension_changed (ETableHeader *header, int col, ETableFieldChooserItem *etfci)
-{
- e_canvas_item_request_reflow(GNOME_CANVAS_ITEM(etfci));
-}
-
-static void
-etfci_add_full_header (ETableFieldChooserItem *etfci, ETableHeader *header)
-{
- etfci->full_header = header;
- g_object_ref (etfci->full_header);
-
- etfci->full_header_structure_change_id = g_signal_connect (
- header, "structure_change",
- G_CALLBACK(full_header_structure_changed), etfci);
- etfci->full_header_dimension_change_id = g_signal_connect (
- header, "dimension_change",
- G_CALLBACK(full_header_dimension_changed), etfci);
- e_canvas_item_request_reflow(GNOME_CANVAS_ITEM(etfci));
-}
-
-static void
-etfci_drop_table_header (ETableFieldChooserItem *etfci)
-{
- GObject *header;
-
- if (!etfci->header)
- return;
-
- header = G_OBJECT (etfci->header);
- if (etfci->table_header_structure_change_id)
- g_signal_handler_disconnect (header, etfci->table_header_structure_change_id);
- if (etfci->table_header_dimension_change_id)
- g_signal_handler_disconnect (header, etfci->table_header_dimension_change_id);
- etfci->table_header_structure_change_id = 0;
- etfci->table_header_dimension_change_id = 0;
-
- if (header)
- g_object_unref (header);
- etfci->header = NULL;
- etfci->height = 0;
- e_canvas_item_request_reflow(GNOME_CANVAS_ITEM(etfci));
-}
-
-static void
-table_header_structure_changed (ETableHeader *header, ETableFieldChooserItem *etfci)
-{
- e_canvas_item_request_reflow(GNOME_CANVAS_ITEM(etfci));
-}
-
-static void
-table_header_dimension_changed (ETableHeader *header, int col, ETableFieldChooserItem *etfci)
-{
- e_canvas_item_request_reflow(GNOME_CANVAS_ITEM(etfci));
-}
-
-static void
-etfci_add_table_header (ETableFieldChooserItem *etfci, ETableHeader *header)
-{
- etfci->header = header;
- g_object_ref (etfci->header);
-
- etfci->table_header_structure_change_id = g_signal_connect (
- header, "structure_change",
- G_CALLBACK(table_header_structure_changed), etfci);
- etfci->table_header_dimension_change_id = g_signal_connect (
- header, "dimension_change",
- G_CALLBACK(table_header_dimension_changed), etfci);
- e_canvas_item_request_reflow(GNOME_CANVAS_ITEM(etfci));
-}
-
-static void
-etfci_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
-{
- GnomeCanvasItem *item;
- ETableFieldChooserItem *etfci;
-
- item = GNOME_CANVAS_ITEM (object);
- etfci = E_TABLE_FIELD_CHOOSER_ITEM (object);
-
- switch (prop_id){
- case PROP_FULL_HEADER:
- etfci_drop_full_header (etfci);
- if (g_value_get_object (value))
- etfci_add_full_header (etfci, E_TABLE_HEADER(g_value_get_object (value)));
- break;
-
- case PROP_HEADER:
- etfci_drop_table_header (etfci);
- if (g_value_get_object (value))
- etfci_add_table_header (etfci, E_TABLE_HEADER(g_value_get_object (value)));
- break;
-
- case PROP_DND_CODE:
- g_free(etfci->dnd_code);
- etfci->dnd_code = g_strdup(g_value_get_string (value));
- break;
-
- case PROP_WIDTH:
- etfci->width = g_value_get_double (value);
- gnome_canvas_item_request_update(item);
- break;
- }
-}
-
-static void
-etfci_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
- GnomeCanvasItem *item;
- ETableFieldChooserItem *etfci;
-
- item = GNOME_CANVAS_ITEM (object);
- etfci = E_TABLE_FIELD_CHOOSER_ITEM (object);
-
- switch (prop_id){
-
- case PROP_DND_CODE:
- g_value_set_string (value, g_strdup (etfci->dnd_code));
- break;
- case PROP_WIDTH:
- g_value_set_double (value, etfci->width);
- break;
- case PROP_HEIGHT:
- g_value_set_double (value, etfci->height);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-etfci_drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
- GtkSelectionData *selection_data,
- guint info,
- guint time,
- ETableFieldChooserItem *etfci)
-{
- if (etfci->drag_col != -1) {
- gchar *string = g_strdup_printf("%d", etfci->drag_col);
- gtk_selection_data_set(selection_data,
- GDK_SELECTION_TYPE_STRING,
- sizeof(string[0]),
- string,
- strlen(string));
- g_free(string);
- }
-}
-
-static void
-etfci_drag_end (GtkWidget *canvas,
- GdkDragContext *context,
- ETableFieldChooserItem *etfci)
-{
- etfci->drag_col = -1;
-}
-
-static void
-etfci_realize (GnomeCanvasItem *item)
-{
- ETableFieldChooserItem *etfci = E_TABLE_FIELD_CHOOSER_ITEM (item);
- GdkWindow *window;
-
- if (GNOME_CANVAS_ITEM_CLASS (etfci_parent_class)-> realize)
- (*GNOME_CANVAS_ITEM_CLASS (etfci_parent_class)->realize)(item);
-
- window = GTK_WIDGET (item->canvas)->window;
-
- if (!etfci->font)
- etfci_font_load (etfci);
-
- etfci->drag_end_id = g_signal_connect (
- item->canvas, "drag_end",
- G_CALLBACK (etfci_drag_end), etfci);
- etfci->drag_data_get_id = g_signal_connect (
- item->canvas, "drag_data_get",
- G_CALLBACK (etfci_drag_data_get), etfci);
- e_canvas_item_request_reflow(GNOME_CANVAS_ITEM(etfci));
-}
-
-static void
-etfci_unrealize (GnomeCanvasItem *item)
-{
- ETableFieldChooserItem *etfci = E_TABLE_FIELD_CHOOSER_ITEM (item);
-
- if (etfci->font)
- gdk_font_unref (etfci->font);
- etfci->font = NULL;
-
- g_signal_handler_disconnect (item->canvas, etfci->drag_end_id);
- etfci->drag_end_id = 0;
- g_signal_handler_disconnect (item->canvas, etfci->drag_data_get_id);
- etfci->drag_data_get_id = 0;
-
- if (GNOME_CANVAS_ITEM_CLASS (etfci_parent_class)->unrealize)
- (*GNOME_CANVAS_ITEM_CLASS (etfci_parent_class)->unrealize)(item);
-}
-
-static void
-etfci_draw (GnomeCanvasItem *item, GdkDrawable *drawable, int x, int y, int width, int height)
-{
- ETableFieldChooserItem *etfci = E_TABLE_FIELD_CHOOSER_ITEM (item);
- GnomeCanvas *canvas = item->canvas;
- int rows;
- int y1, y2;
- int row;
- GtkStyle *style;
- GtkStateType state;
-
- if (etfci->combined_header == NULL)
- return;
-
- rows = e_table_header_count (etfci->combined_header);
-
- style = GTK_WIDGET (canvas)->style;
- state = GTK_WIDGET_STATE (canvas);
-
- y1 = y2 = 0;
- for (row = 0; row < rows; row++, y1 = y2){
- ETableCol *ecol;
-
- ecol = e_table_header_get_column (etfci->combined_header, row);
-
- if (ecol->disabled)
- continue;
-
- y2 += e_table_header_compute_height (ecol, GTK_WIDGET (canvas));
-
- if (y1 > (y + height))
- break;
-
- if (y2 < y)
- continue;
-
- e_table_header_draw_button (drawable, ecol,
- style, state,
- GTK_WIDGET (canvas),
- -x, y1 - y,
- width, height,
- etfci->width, y2 - y1,
- E_TABLE_COL_ARROW_NONE);
- }
-}
-
-static double
-etfci_point (GnomeCanvasItem *item, double x, double y, int cx, int cy,
- GnomeCanvasItem **actual_item)
-{
- *actual_item = item;
- return 0.0;
-}
-
-static gboolean
-etfci_maybe_start_drag (ETableFieldChooserItem *etfci, int x, int y)
-{
- if (!etfci->maybe_drag)
- return FALSE;
-
- if (MAX (abs (etfci->click_x - x),
- abs (etfci->click_y - y)) <= 3)
- return FALSE;
-
- return TRUE;
-}
-
-static void
-etfci_start_drag (ETableFieldChooserItem *etfci, GdkEvent *event, double x, double y)
-{
- GtkWidget *widget = GTK_WIDGET (GNOME_CANVAS_ITEM (etfci)->canvas);
- GtkTargetList *list;
- GdkDragContext *context;
- ETableCol *ecol;
- GdkPixmap *pixmap;
- int drag_col;
- int button_height;
-
- GtkTargetEntry etfci_drag_types [] = {
- { TARGET_ETABLE_COL_TYPE, 0, TARGET_ETABLE_COL_HEADER },
- };
-
- if (etfci->combined_header == NULL)
- return;
-
- drag_col = etfci_find_button(etfci, y);
-
- if (drag_col < 0 || drag_col > e_table_header_count(etfci->combined_header))
- return;
-
- ecol = e_table_header_get_column (etfci->combined_header, drag_col);
-
- if (ecol->disabled)
- return;
-
- etfci->drag_col = ecol->col_idx;
-
- etfci_drag_types[0].target = g_strdup_printf("%s-%s", etfci_drag_types[0].target, etfci->dnd_code);
- d(g_print ("etfci - %s\n", etfci_drag_types[0].target));
- list = gtk_target_list_new (etfci_drag_types, ELEMENTS (etfci_drag_types));
- context = gtk_drag_begin (widget, list, GDK_ACTION_MOVE, 1, event);
- g_free(etfci_drag_types[0].target);
-
- button_height = e_table_header_compute_height (ecol, widget);
- pixmap = gdk_pixmap_new (widget->window, etfci->width, button_height, -1);
-
- e_table_header_draw_button (pixmap, ecol,
- widget->style, GTK_WIDGET_STATE (widget),
- widget,
- 0, 0,
- etfci->width, button_height,
- etfci->width, button_height,
- E_TABLE_COL_ARROW_NONE);
-
- gtk_drag_set_icon_pixmap (context,
- gdk_window_get_colormap (widget->window),
- pixmap,
- NULL,
- etfci->width / 2,
- button_height / 2);
- gdk_pixmap_unref (pixmap);
- etfci->maybe_drag = FALSE;
-}
-
-/*
- * Handles the events on the ETableFieldChooserItem
- */
-static int
-etfci_event (GnomeCanvasItem *item, GdkEvent *e)
-{
- ETableFieldChooserItem *etfci = E_TABLE_FIELD_CHOOSER_ITEM (item);
- GnomeCanvas *canvas = item->canvas;
- int x, y;
-
- switch (e->type){
- case GDK_MOTION_NOTIFY:
- gnome_canvas_w2c (canvas, e->motion.x, e->motion.y, &x, &y);
-
- if (etfci_maybe_start_drag (etfci, x, y))
- etfci_start_drag (etfci, e, x, y);
- break;
-
- case GDK_BUTTON_PRESS:
- gnome_canvas_w2c (canvas, e->button.x, e->button.y, &x, &y);
-
- if (e->button.button == 1){
- etfci->click_x = x;
- etfci->click_y = y;
- etfci->maybe_drag = TRUE;
- }
- break;
-
- case GDK_BUTTON_RELEASE: {
- etfci->maybe_drag = FALSE;
- break;
- }
-
- default:
- return FALSE;
- }
- return TRUE;
-}
-
-static void
-etfci_class_init (GObjectClass *object_class)
-{
- GnomeCanvasItemClass *item_class = (GnomeCanvasItemClass *) object_class;
-
- etfci_parent_class = g_type_class_ref (PARENT_OBJECT_TYPE);
-
- object_class->dispose = etfci_dispose;
- object_class->set_property = etfci_set_property;
- object_class->get_property = etfci_get_property;
-
- item_class->update = etfci_update;
- item_class->realize = etfci_realize;
- item_class->unrealize = etfci_unrealize;
- item_class->draw = etfci_draw;
- item_class->point = etfci_point;
- item_class->event = etfci_event;
-
- g_object_class_install_property (object_class, PROP_DND_CODE,
- g_param_spec_string ("dnd_code",
- _("DnD code"),
- /*_( */"XXX blurb" /*)*/,
- NULL,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_FULL_HEADER,
- g_param_spec_object ("full_header",
- _("Full Header"),
- /*_( */"XXX blurb" /*)*/,
- E_TABLE_HEADER_TYPE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_HEADER,
- g_param_spec_object ("header",
- _("Header"),
- /*_( */"XXX blurb" /*)*/,
- E_TABLE_HEADER_TYPE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_WIDTH,
- g_param_spec_double ("width",
- _("Width"),
- /*_( */"XXX blurb" /*)*/,
- 0, G_MAXDOUBLE, 0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_HEIGHT,
- g_param_spec_double ("height",
- _("Height"),
- /*_( */"XXX blurb" /*)*/,
- 0, G_MAXDOUBLE, 0,
- G_PARAM_READABLE));
-}
-
-static void
-etfci_init (GnomeCanvasItem *item)
-{
- ETableFieldChooserItem *etfci = E_TABLE_FIELD_CHOOSER_ITEM (item);
-
- etfci->full_header = NULL;
- etfci->header = NULL;
- etfci->combined_header = NULL;
-
- etfci->height = etfci->width = 0;
-
- etfci->font = NULL;
-
- etfci->full_header_structure_change_id = 0;
- etfci->full_header_dimension_change_id = 0;
- etfci->table_header_structure_change_id = 0;
- etfci->table_header_dimension_change_id = 0;
-
- etfci->dnd_code = NULL;
-
- etfci->maybe_drag = 0;
- etfci->drag_end_id = 0;
-
- e_canvas_item_set_reflow_callback(item, etfci_reflow);
-}
-
-E_MAKE_TYPE (e_table_field_chooser_item,
- "ETableFieldChooserItem",
- ETableFieldChooserItem,
- etfci_class_init,
- etfci_init,
- PARENT_OBJECT_TYPE);
diff --git a/widgets/table/e-table-field-chooser-item.h b/widgets/table/e-table-field-chooser-item.h
deleted file mode 100644
index 2ed37d37f1..0000000000
--- a/widgets/table/e-table-field-chooser-item.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-field-chooser-item.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_FIELD_CHOOSER_ITEM_H_
-#define _E_TABLE_FIELD_CHOOSER_ITEM_H_
-
-#include <libgnomecanvas/gnome-canvas.h>
-#include <libxml/tree.h>
-#include <gal/e-table/e-table-header.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_FIELD_CHOOSER_ITEM_TYPE (e_table_field_chooser_item_get_type ())
-#define E_TABLE_FIELD_CHOOSER_ITEM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_FIELD_CHOOSER_ITEM_TYPE, ETableFieldChooserItem))
-#define E_TABLE_FIELD_CHOOSER_ITEM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_FIELD_CHOOSER_ITEM_TYPE, ETableFieldChooserItemClass))
-#define E_IS_TABLE_FIELD_CHOOSER_ITEM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_FIELD_CHOOSER_ITEM_TYPE))
-#define E_IS_TABLE_FIELD_CHOOSER_ITEM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_FIELD_CHOOSER_ITEM_TYPE))
-
-typedef struct {
- GnomeCanvasItem parent;
- ETableHeader *full_header;
- ETableHeader *header;
- ETableHeader *combined_header;
-
- double height, width;
-
- GdkFont *font;
-
- /*
- * Ids
- */
- int full_header_structure_change_id, full_header_dimension_change_id;
- int table_header_structure_change_id, table_header_dimension_change_id;
-
- gchar *dnd_code;
-
- /*
- * For dragging columns
- */
- guint maybe_drag:1;
- int click_x, click_y;
- int drag_col;
- guint drag_data_get_id;
- guint drag_end_id;
-} ETableFieldChooserItem;
-
-typedef struct {
- GnomeCanvasItemClass parent_class;
-} ETableFieldChooserItemClass;
-
-GType e_table_field_chooser_item_get_type (void);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_FIELD_CHOOSER_ITEM_H_ */
diff --git a/widgets/table/e-table-field-chooser.c b/widgets/table/e-table-field-chooser.c
deleted file mode 100644
index 25b94b2aca..0000000000
--- a/widgets/table/e-table-field-chooser.c
+++ /dev/null
@@ -1,302 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-field-chooser.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <gtk/gtksignal.h>
-#include <gtk/gtk.h>
-#include <gtk/gtkbox.h>
-#include <libgnomecanvas/gnome-canvas-rect-ellipse.h>
-#include "e-table-field-chooser.h"
-#include "e-table-field-chooser-item.h"
-#include <gal/util/e-i18n.h>
-#include <gal/util/e-util.h>
-
-static void e_table_field_chooser_init (ETableFieldChooser *card);
-static void e_table_field_chooser_class_init (ETableFieldChooserClass *klass);
-static void e_table_field_chooser_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void e_table_field_chooser_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
-static void e_table_field_chooser_dispose (GObject *object);
-
-#define PARENT_TYPE GTK_TYPE_VBOX
-static GtkVBoxClass *parent_class = NULL;
-
-/* The arguments we take */
-enum {
- PROP_0,
- PROP_FULL_HEADER,
- PROP_HEADER,
- PROP_DND_CODE
-};
-
-E_MAKE_TYPE (e_table_field_chooser,
- "ETableFieldChooser",
- ETableFieldChooser,
- e_table_field_chooser_class_init,
- e_table_field_chooser_init,
- PARENT_TYPE);
-
-static void
-e_table_field_chooser_class_init (ETableFieldChooserClass *klass)
-{
- GObjectClass *object_class;
- GtkVBoxClass *vbox_class;
-
- object_class = (GObjectClass*) klass;
- vbox_class = (GtkVBoxClass *) klass;
-
- glade_init();
-
- parent_class = g_type_class_ref (GTK_TYPE_VBOX);
-
- object_class->set_property = e_table_field_chooser_set_property;
- object_class->get_property = e_table_field_chooser_get_property;
- object_class->dispose = e_table_field_chooser_dispose;
-
- g_object_class_install_property (object_class, PROP_DND_CODE,
- g_param_spec_string ("dnd_code",
- _("DnD code"),
- /*_( */"XXX blurb" /*)*/,
- NULL,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_FULL_HEADER,
- g_param_spec_object ("full_header",
- _("Full Header"),
- /*_( */"XXX blurb" /*)*/,
- E_TABLE_HEADER_TYPE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_HEADER,
- g_param_spec_object ("header",
- _("Header"),
- /*_( */"XXX blurb" /*)*/,
- E_TABLE_HEADER_TYPE,
- G_PARAM_READWRITE));
-}
-
-static void
-ensure_nonzero_step_increments (ETableFieldChooser *etfc)
-{
- GtkAdjustment *va, *ha;
-
- va = gtk_layout_get_vadjustment (GTK_LAYOUT (etfc->canvas));
- ha = gtk_layout_get_hadjustment (GTK_LAYOUT (etfc->canvas));
-
- /*
- it looks pretty complicated to get height of column header
- so use 16 pixels which should be OK
- */
- if (va)
- va->step_increment = 16.0;
- if (ha)
- ha->step_increment = 16.0;
-}
-
-static void allocate_callback(GtkWidget *canvas, GtkAllocation *allocation, ETableFieldChooser *etfc)
-{
- double height;
- etfc->last_alloc = *allocation;
- gnome_canvas_item_set( etfc->item,
- "width", (double) allocation->width,
- NULL );
- g_object_get(etfc->item,
- "height", &height,
- NULL);
- height = MAX(height, allocation->height);
- gnome_canvas_set_scroll_region(GNOME_CANVAS( etfc->canvas ), 0, 0, allocation->width - 1, height - 1);
- gnome_canvas_item_set( etfc->rect,
- "x2", (double) allocation->width,
- "y2", (double) height,
- NULL );
- ensure_nonzero_step_increments (etfc);
-}
-
-static void resize(GnomeCanvas *canvas, ETableFieldChooser *etfc)
-{
- double height;
- g_object_get(etfc->item,
- "height", &height,
- NULL);
-
- height = MAX(height, etfc->last_alloc.height);
-
- gnome_canvas_set_scroll_region (GNOME_CANVAS(etfc->canvas), 0, 0, etfc->last_alloc.width - 1, height - 1);
- gnome_canvas_item_set( etfc->rect,
- "x2", (double) etfc->last_alloc.width,
- "y2", (double) height,
- NULL );
- ensure_nonzero_step_increments (etfc);
-}
-
-static void
-e_table_field_chooser_init (ETableFieldChooser *etfc)
-{
- GladeXML *gui;
- GtkWidget *widget;
-
- gui = glade_xml_new (ETABLE_GLADEDIR "/e-table-field-chooser.glade", NULL, E_I18N_DOMAIN);
- etfc->gui = gui;
-
- widget = glade_xml_get_widget(gui, "vbox-top");
- if (!widget) {
- return;
- }
- gtk_widget_reparent(widget,
- GTK_WIDGET(etfc));
-
- gtk_widget_push_colormap (gdk_rgb_get_cmap ());
-
- etfc->canvas = GNOME_CANVAS(glade_xml_get_widget(gui, "canvas-buttons"));
-
- etfc->rect = gnome_canvas_item_new(gnome_canvas_root( GNOME_CANVAS( etfc->canvas ) ),
- gnome_canvas_rect_get_type(),
- "x1", (double) 0,
- "y1", (double) 0,
- "x2", (double) 100,
- "y2", (double) 100,
- "fill_color", "white",
- NULL );
-
- etfc->item = gnome_canvas_item_new(gnome_canvas_root(etfc->canvas),
- e_table_field_chooser_item_get_type(),
- "width", (double) 100,
- "full_header", etfc->full_header,
- "header", etfc->header,
- "dnd_code", etfc->dnd_code,
- NULL );
-
- g_signal_connect( etfc->canvas, "reflow",
- G_CALLBACK ( resize ),
- etfc);
-
- gnome_canvas_set_scroll_region ( GNOME_CANVAS( etfc->canvas ),
- 0, 0,
- 100, 100 );
-
- /* Connect the signals */
- g_signal_connect (etfc->canvas, "size_allocate",
- G_CALLBACK (allocate_callback),
- etfc);
-
- gtk_widget_pop_colormap ();
- gtk_widget_show_all(widget);
-}
-
-static void
-e_table_field_chooser_dispose (GObject *object)
-{
- ETableFieldChooser *etfc = E_TABLE_FIELD_CHOOSER(object);
-
- g_free (etfc->dnd_code);
- etfc->dnd_code = NULL;
-
- if (etfc->full_header)
- g_object_unref (etfc->full_header);
- etfc->full_header = NULL;
-
- if (etfc->header)
- g_object_unref (etfc->header);
- etfc->header = NULL;
-
- if (etfc->gui)
- g_object_unref (etfc->gui);
- etfc->gui = NULL;
-
- if (G_OBJECT_CLASS (parent_class)->dispose)
- (* G_OBJECT_CLASS (parent_class)->dispose) (object);
-}
-
-GtkWidget*
-e_table_field_chooser_new (void)
-{
- GtkWidget *widget = GTK_WIDGET (g_object_new (E_TABLE_FIELD_CHOOSER_TYPE, NULL));
- return widget;
-}
-
-static void
-e_table_field_chooser_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
-{
- ETableFieldChooser *etfc = E_TABLE_FIELD_CHOOSER(object);
-
- switch (prop_id){
- case PROP_DND_CODE:
- g_free(etfc->dnd_code);
- etfc->dnd_code = g_strdup(g_value_get_string(value));
- if (etfc->item)
- g_object_set(etfc->item,
- "dnd_code", etfc->dnd_code,
- NULL);
- break;
- case PROP_FULL_HEADER:
- if (etfc->full_header)
- g_object_unref (etfc->full_header);
- if (g_value_get_object (value))
- etfc->full_header = E_TABLE_HEADER(g_value_get_object (value));
- else
- etfc->full_header = NULL;
- if (etfc->full_header)
- g_object_ref (etfc->full_header);
- if (etfc->item)
- g_object_set(etfc->item,
- "full_header", etfc->full_header,
- NULL);
- break;
- case PROP_HEADER:
- if (etfc->header)
- g_object_unref (etfc->header);
- if (g_value_get_object (value))
- etfc->header = E_TABLE_HEADER(g_value_get_object (value));
- else
- etfc->header = NULL;
- if (etfc->header)
- g_object_ref (etfc->header);
- if (etfc->item)
- g_object_set(etfc->item,
- "header", etfc->header,
- NULL);
- break;
- default:
- break;
- }
-}
-
-static void
-e_table_field_chooser_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
- ETableFieldChooser *etfc = E_TABLE_FIELD_CHOOSER(object);
-
- switch (prop_id) {
- case PROP_DND_CODE:
- g_value_set_string (value, g_strdup (etfc->dnd_code));
- break;
- case PROP_FULL_HEADER:
- g_value_set_object (value, etfc->full_header);
- break;
- case PROP_HEADER:
- g_value_set_object (value, etfc->header);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
diff --git a/widgets/table/e-table-field-chooser.glade b/widgets/table/e-table-field-chooser.glade
deleted file mode 100644
index f46a8dbd52..0000000000
--- a/widgets/table/e-table-field-chooser.glade
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd" >
-
-<glade-interface>
- <widget class="GtkDialog" id="dialog-field-chooser">
- <property name="visible">no</property>
- <property name="title" translatable="yes">Field Chooser</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="modal">no</property>
- <property name="allow_shrink">no</property>
- <property name="allow_grow">yes</property>
- <property name="window-position">GTK_WIN_POS_NONE</property>
-
- <child internal-child="vbox">
- <widget class="GtkVBox" id="dialog-vbox1">
- <property name="homogeneous">no</property>
- <property name="spacing">8</property>
- <property name="visible">yes</property>
-
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="dialog-action_area1">
- <property name="layout_style">GTK_BUTTONBOX_END</property>
- <property name="spacing">8</property>
- <property name="visible">yes</property>
-
- <child>
- <widget class="GtkButton" id="button3">
- <property name="can_default">yes</property>
- <property name="can_focus">yes</property>
- <property name="visible">yes</property>
- <property name="label">gtk-close</property>
- <property name="use_stock">yes</property>
- <property name="use_underline">yes</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">no</property>
- <property name="fill">yes</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox-top">
- <property name="homogeneous">no</property>
- <property name="spacing">4</property>
- <property name="visible">yes</property>
-
- <child>
- <widget class="GtkLabel" id="label1">
- <property name="label" translatable="yes">To add a column to your table, drag it into
-the location in which you want it to appear.</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">no</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="visible">yes</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">no</property>
- <property name="fill">no</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow1">
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="width-request">200</property>
- <property name="height-request">200</property>
- <property name="visible">yes</property>
-
- <child>
- <widget class="Custom" id="canvas-buttons">
- <property name="creation_function">e_canvas_new</property>
- <property name="int1">0</property>
- <property name="int2">0</property>
- <property name="last_modification_time">Thu, 08 Jun 2000 07:27:33 GMT</property>
- <property name="visible">yes</property>
- </widget>
- </child>
-
- <child internal-child="hscrollbar">
- <widget class="GtkHScrollbar" id="convertwidget1">
- <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
- <property name="visible">yes</property>
- </widget>
- </child>
-
- <child internal-child="vscrollbar">
- <widget class="GtkVScrollbar" id="convertwidget2">
- <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
- <property name="visible">yes</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">yes</property>
- <property name="fill">yes</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">yes</property>
- <property name="fill">yes</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">4</property>
- <property name="expand">yes</property>
- <property name="fill">yes</property>
- </packing>
- </child>
- </widget>
-</glade-interface>
diff --git a/widgets/table/e-table-field-chooser.h b/widgets/table/e-table-field-chooser.h
deleted file mode 100644
index 65efeeedbe..0000000000
--- a/widgets/table/e-table-field-chooser.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-field-chooser.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef __E_TABLE_FIELD_CHOOSER_H__
-#define __E_TABLE_FIELD_CHOOSER_H__
-
-#include <glade/glade.h>
-#include <gtk/gtkvbox.h>
-#include <gal/e-table/e-table-header.h>
-
-G_BEGIN_DECLS
-
-/* ETableFieldChooser - A dialog displaying information about a contact.
- *
- * The following arguments are available:
- *
- * name type read/write description
- * --------------------------------------------------------------------------------
- */
-
-#define E_TABLE_FIELD_CHOOSER_TYPE (e_table_field_chooser_get_type ())
-#define E_TABLE_FIELD_CHOOSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TABLE_FIELD_CHOOSER_TYPE, ETableFieldChooser))
-#define E_TABLE_FIELD_CHOOSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_TABLE_FIELD_CHOOSER_TYPE, ETableFieldChooserClass))
-#define E_IS_TABLE_FIELD_CHOOSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_TABLE_FIELD_CHOOSER_TYPE))
-#define E_IS_TABLE_FIELD_CHOOSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), E_TABLE_FIELD_CHOOSER_TYPE))
-
-
-typedef struct _ETableFieldChooser ETableFieldChooser;
-typedef struct _ETableFieldChooserClass ETableFieldChooserClass;
-
-struct _ETableFieldChooser
-{
- GtkVBox parent;
-
- /* item specific fields */
- GladeXML *gui;
- GnomeCanvas *canvas;
- GnomeCanvasItem *item;
-
- GnomeCanvasItem *rect;
- GtkAllocation last_alloc;
-
- gchar *dnd_code;
- ETableHeader *full_header;
- ETableHeader *header;
-};
-
-struct _ETableFieldChooserClass
-{
- GtkVBoxClass parent_class;
-};
-
-
-GtkWidget *e_table_field_chooser_new(void);
-GType e_table_field_chooser_get_type (void);
-
-G_END_DECLS
-
-#endif /* __E_TABLE_FIELD_CHOOSER_H__ */
diff --git a/widgets/table/e-table-group-container.c b/widgets/table/e-table-group-container.c
deleted file mode 100644
index 2fc0617e8f..0000000000
--- a/widgets/table/e-table-group-container.c
+++ /dev/null
@@ -1,1503 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-group-container.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtksignal.h>
-#include <libgnome/libgnome.h>
-#include <libgnomecanvas/gnome-canvas-rect-ellipse.h>
-#include "e-table-group-container.h"
-#include "e-table-group-leaf.h"
-#include "e-table-item.h"
-#include "gal/util/e-util.h"
-#include "gal/widgets/e-canvas.h"
-#include "gal/widgets/e-canvas-utils.h"
-#include "gal/widgets/e-unicode.h"
-#include "gal/e-text/e-text.h"
-#include "e-table-defines.h"
-
-#define TITLE_HEIGHT 16
-
-#define PARENT_TYPE e_table_group_get_type ()
-
-static GnomeCanvasGroupClass *etgc_parent_class;
-
-/* The arguments we take */
-enum {
- PROP_0,
- PROP_HEIGHT,
- PROP_WIDTH,
- PROP_MINIMUM_WIDTH,
- PROP_FROZEN,
- PROP_TABLE_ALTERNATING_ROW_COLORS,
- PROP_TABLE_HORIZONTAL_DRAW_GRID,
- PROP_TABLE_VERTICAL_DRAW_GRID,
- PROP_TABLE_DRAW_FOCUS,
- PROP_CURSOR_MODE,
- PROP_SELECTION_MODEL,
- PROP_LENGTH_THRESHOLD,
- PROP_UNIFORM_ROW_HEIGHT
-};
-
-static EPrintable *
-etgc_get_printable (ETableGroup *etg);
-
-
-static void
-e_table_group_container_child_node_free (ETableGroupContainer *etgc,
- ETableGroupContainerChildNode *child_node)
-{
- ETableGroup *etg = E_TABLE_GROUP (etgc);
- ETableGroup *child = child_node->child;
-
- gtk_object_destroy (GTK_OBJECT (child));
- e_table_model_free_value (etg->model, etgc->ecol->col_idx,
- child_node->key);
- g_free(child_node->string);
- gtk_object_destroy (GTK_OBJECT (child_node->text));
- gtk_object_destroy (GTK_OBJECT (child_node->rect));
-}
-
-static void
-e_table_group_container_list_free (ETableGroupContainer *etgc)
-{
- ETableGroupContainerChildNode *child_node;
- GList *list;
-
- for (list = etgc->children; list; list = g_list_next (list)) {
- child_node = (ETableGroupContainerChildNode *) list->data;
- e_table_group_container_child_node_free (etgc, child_node);
- }
-
- g_list_free (etgc->children);
- etgc->children = NULL;
-}
-
-static void
-etgc_dispose (GObject *object)
-{
- ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER (object);
-
- if (etgc->children)
- e_table_group_container_list_free (etgc);
-
- if (etgc->font)
- gdk_font_unref (etgc->font);
- etgc->font = NULL;
-
- if (etgc->ecol)
- g_object_unref (etgc->ecol);
- etgc->ecol = NULL;
-
- if (etgc->sort_info)
- g_object_unref (etgc->sort_info);
- etgc->sort_info = NULL;
-
- if (etgc->selection_model)
- g_object_unref (etgc->selection_model);
- etgc->selection_model = NULL;
-
- if (etgc->rect)
- gtk_object_destroy (GTK_OBJECT(etgc->rect));
- etgc->rect = NULL;
-
- G_OBJECT_CLASS (etgc_parent_class)->dispose (object);
-}
-
-/**
- * e_table_group_container_construct
- * @parent: The %GnomeCanvasGroup to create a child of.
- * @etgc: The %ETableGroupContainer.
- * @full_header: The full header of the %ETable.
- * @header: The current header of the %ETable.
- * @model: The %ETableModel of the %ETable.
- * @sort_info: The %ETableSortInfo of the %ETable.
- * @n: Which grouping level this is (Starts at 0 and sends n + 1 to any child %ETableGroups.
- *
- * This routine constructs the new %ETableGroupContainer.
- */
-void
-e_table_group_container_construct (GnomeCanvasGroup *parent, ETableGroupContainer *etgc,
- ETableHeader *full_header,
- ETableHeader *header,
- ETableModel *model, ETableSortInfo *sort_info, int n)
-{
- ETableCol *col;
- ETableSortColumn column = e_table_sort_info_grouping_get_nth(sort_info, n);
-
- col = e_table_header_get_column_by_col_idx(full_header, column.column);
- if (col == NULL)
- col = e_table_header_get_column (full_header, e_table_header_count (full_header) - 1);
-
- e_table_group_construct (parent, E_TABLE_GROUP (etgc), full_header, header, model);
- etgc->ecol = col;
- g_object_ref (etgc->ecol);
- etgc->sort_info = sort_info;
- g_object_ref (etgc->sort_info);
- etgc->n = n;
- etgc->ascending = column.ascending;
-
- etgc->font = gtk_style_get_font (GTK_WIDGET (GNOME_CANVAS_ITEM (etgc)->canvas)->style);
-
- gdk_font_ref (etgc->font);
-
- etgc->open = TRUE;
-}
-
-/**
- * e_table_group_container_new
- * @parent: The %GnomeCanvasGroup to create a child of.
- * @full_header: The full header of the %ETable.
- * @header: The current header of the %ETable.
- * @model: The %ETableModel of the %ETable.
- * @sort_info: The %ETableSortInfo of the %ETable.
- * @n: Which grouping level this is (Starts at 0 and sends n + 1 to any child %ETableGroups.
- *
- * %ETableGroupContainer is an %ETableGroup which groups by the nth
- * grouping of the %ETableSortInfo. It creates %ETableGroups as
- * children.
- *
- * Returns: The new %ETableGroupContainer.
- */
-ETableGroup *
-e_table_group_container_new (GnomeCanvasGroup *parent, ETableHeader *full_header,
- ETableHeader *header,
- ETableModel *model, ETableSortInfo *sort_info, int n)
-{
- ETableGroupContainer *etgc;
-
- g_return_val_if_fail (parent != NULL, NULL);
-
- etgc = g_object_new (E_TABLE_GROUP_CONTAINER_TYPE, NULL);
-
- e_table_group_container_construct (parent, etgc, full_header, header,
- model, sort_info, n);
- return E_TABLE_GROUP (etgc);
-}
-
-
-static int
-etgc_event (GnomeCanvasItem *item, GdkEvent *event)
-{
- ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER(item);
- gboolean return_val = TRUE;
- gboolean change_focus = FALSE;
- gboolean use_col = FALSE;
- gint start_col = 0;
- gint old_col;
- EFocus direction = E_FOCUS_START;
-
- switch (event->type) {
- case GDK_KEY_PRESS:
- if (event->key.keyval == GDK_Tab ||
- event->key.keyval == GDK_KP_Tab ||
- event->key.keyval == GDK_ISO_Left_Tab) {
- change_focus = TRUE;
- use_col = TRUE;
- start_col = (event->key.state & GDK_SHIFT_MASK) ? -1 : 0;
- direction = (event->key.state & GDK_SHIFT_MASK) ? E_FOCUS_END : E_FOCUS_START;
- } else if (event->key.keyval == GDK_Left ||
- event->key.keyval == GDK_KP_Left) {
- change_focus = TRUE;
- use_col = TRUE;
- start_col = -1;
- direction = E_FOCUS_END;
- } else if (event->key.keyval == GDK_Right ||
- event->key.keyval == GDK_KP_Right) {
- change_focus = TRUE;
- use_col = TRUE;
- start_col = 0;
- direction = E_FOCUS_START;
- } else if (event->key.keyval == GDK_Down ||
- event->key.keyval == GDK_KP_Down) {
- change_focus = TRUE;
- use_col = FALSE;
- direction = E_FOCUS_START;
- } else if (event->key.keyval == GDK_Up ||
- event->key.keyval == GDK_KP_Up) {
- change_focus = TRUE;
- use_col = FALSE;
- direction = E_FOCUS_END;
- } else if (event->key.keyval == GDK_Return ||
- event->key.keyval == GDK_KP_Enter) {
- change_focus = TRUE;
- use_col = FALSE;
- direction = E_FOCUS_START;
- }
- if (change_focus){
- GList *list;
- for (list = etgc->children; list; list = list->next) {
- ETableGroupContainerChildNode *child_node;
- ETableGroup *child;
-
- child_node = (ETableGroupContainerChildNode *)list->data;
- child = child_node->child;
-
- if (e_table_group_get_focus (child)) {
- old_col = e_table_group_get_focus_column (child);
- if (old_col == -1)
- old_col = 0;
- if (start_col == -1)
- start_col = e_table_header_count (e_table_group_get_header (child)) - 1;
-
- if (direction == E_FOCUS_END)
- list = list->prev;
- else
- list = list->next;
-
- if (list) {
- child_node = (ETableGroupContainerChildNode *)list->data;
- child = child_node->child;
- if (use_col)
- e_table_group_set_focus (child, direction, start_col);
- else
- e_table_group_set_focus (child, direction, old_col);
- return 1;
- } else {
- return 0;
- }
- }
- }
- if (direction == E_FOCUS_END)
- list = g_list_last(etgc->children);
- else
- list = etgc->children;
- if (list) {
- ETableGroupContainerChildNode *child_node;
- ETableGroup *child;
-
- child_node = (ETableGroupContainerChildNode *)list->data;
- child = child_node->child;
-
- if (start_col == -1)
- start_col = e_table_header_count (e_table_group_get_header (child)) - 1;
-
- e_table_group_set_focus (child, direction, start_col);
- return 1;
- }
- }
- return_val = FALSE;
- break;
- default:
- return_val = FALSE;
- break;
- }
- if (return_val == FALSE) {
- if (GNOME_CANVAS_ITEM_CLASS(etgc_parent_class)->event)
- return GNOME_CANVAS_ITEM_CLASS (etgc_parent_class)->event (item, event);
- }
- return return_val;
-
-}
-
-/* Realize handler for the text item */
-static void
-etgc_realize (GnomeCanvasItem *item)
-{
- ETableGroupContainer *etgc;
-
- if (GNOME_CANVAS_ITEM_CLASS (etgc_parent_class)->realize)
- (* GNOME_CANVAS_ITEM_CLASS (etgc_parent_class)->realize) (item);
-
- etgc = E_TABLE_GROUP_CONTAINER (item);
-
- e_canvas_item_request_reflow (GNOME_CANVAS_ITEM (etgc));
-}
-
-/* Unrealize handler for the etgc item */
-static void
-etgc_unrealize (GnomeCanvasItem *item)
-{
- ETableGroupContainer *etgc;
-
- etgc = E_TABLE_GROUP_CONTAINER (item);
-
- if (GNOME_CANVAS_ITEM_CLASS (etgc_parent_class)->unrealize)
- (* GNOME_CANVAS_ITEM_CLASS (etgc_parent_class)->unrealize) (item);
-}
-
-static void
-compute_text (ETableGroupContainer *etgc, ETableGroupContainerChildNode *child_node)
-{
- gchar *text;
-
- if (etgc->ecol->text) {
- text = g_strdup_printf ((child_node->count == 1)
- ? _("%s : %s (%d item)")
- : _("%s : %s (%d items)"),
- etgc->ecol->text, child_node->string,
- (gint) child_node->count);
- } else {
- text = g_strdup_printf ((child_node->count == 1)
- ? _("%s (%d item)")
- : _("%s (%d items)"),
- child_node->string,
- (gint) child_node->count);
- }
- gnome_canvas_item_set (child_node->text,
- "text", text,
- NULL);
- g_free (text);
-}
-
-static void
-child_cursor_change (ETableGroup *etg, int row,
- ETableGroupContainer *etgc)
-{
- e_table_group_cursor_change (E_TABLE_GROUP (etgc), row);
-}
-
-static void
-child_cursor_activated (ETableGroup *etg, int row,
- ETableGroupContainer *etgc)
-{
- e_table_group_cursor_activated (E_TABLE_GROUP (etgc), row);
-}
-
-static void
-child_double_click (ETableGroup *etg, int row, int col, GdkEvent *event,
- ETableGroupContainer *etgc)
-{
- e_table_group_double_click (E_TABLE_GROUP (etgc), row, col, event);
-}
-
-static gint
-child_right_click (ETableGroup *etg, int row, int col, GdkEvent *event,
- ETableGroupContainer *etgc)
-{
- return e_table_group_right_click (E_TABLE_GROUP (etgc), row, col, event);
-}
-
-static gint
-child_click (ETableGroup *etg, int row, int col, GdkEvent *event,
- ETableGroupContainer *etgc)
-{
- return e_table_group_click (E_TABLE_GROUP (etgc), row, col, event);
-}
-
-static gint
-child_key_press (ETableGroup *etg, int row, int col, GdkEvent *event,
- ETableGroupContainer *etgc)
-{
- return e_table_group_key_press (E_TABLE_GROUP (etgc), row, col, event);
-}
-
-static gint
-child_start_drag (ETableGroup *etg, int row, int col, GdkEvent *event,
- ETableGroupContainer *etgc)
-{
- return e_table_group_start_drag (E_TABLE_GROUP (etgc), row, col, event);
-}
-
-static ETableGroupContainerChildNode *
-create_child_node (ETableGroupContainer *etgc, void *val)
-{
- ETableGroup *child;
- ETableGroupContainerChildNode *child_node;
- ETableGroup *etg = E_TABLE_GROUP(etgc);
-
- child_node = g_new (ETableGroupContainerChildNode, 1);
- child_node->rect = gnome_canvas_item_new (GNOME_CANVAS_GROUP (etgc),
- gnome_canvas_rect_get_type (),
- "fill_color", "grey70",
- "outline_color", "grey50",
- NULL);
- child_node->text = gnome_canvas_item_new (GNOME_CANVAS_GROUP (etgc),
- e_text_get_type (),
- "anchor", GTK_ANCHOR_SW,
- "fill_color", "black",
- "draw_background", FALSE,
- NULL);
- child = e_table_group_new (GNOME_CANVAS_GROUP (etgc), etg->full_header,
- etg->header, etg->model, etgc->sort_info, etgc->n + 1);
- gnome_canvas_item_set(GNOME_CANVAS_ITEM(child),
- "alternating_row_colors", etgc->alternating_row_colors,
- "horizontal_draw_grid", etgc->horizontal_draw_grid,
- "vertical_draw_grid", etgc->vertical_draw_grid,
- "drawfocus", etgc->draw_focus,
- "cursor_mode", etgc->cursor_mode,
- "selection_model", etgc->selection_model,
- "length_threshold", etgc->length_threshold,
- "uniform_row_height", etgc->uniform_row_height,
- "minimum_width", etgc->minimum_width - GROUP_INDENT,
- NULL);
-
- g_signal_connect (child, "cursor_change",
- G_CALLBACK (child_cursor_change), etgc);
- g_signal_connect (child, "cursor_activated",
- G_CALLBACK (child_cursor_activated), etgc);
- g_signal_connect (child, "double_click",
- G_CALLBACK (child_double_click), etgc);
- g_signal_connect (child, "right_click",
- G_CALLBACK (child_right_click), etgc);
- g_signal_connect (child, "click",
- G_CALLBACK (child_click), etgc);
- g_signal_connect (child, "key_press",
- G_CALLBACK (child_key_press), etgc);
- g_signal_connect (child, "start_drag",
- G_CALLBACK (child_start_drag), etgc);
- child_node->child = child;
- child_node->key = e_table_model_duplicate_value (etg->model, etgc->ecol->col_idx, val);
- child_node->string = e_table_model_value_to_string (etg->model, etgc->ecol->col_idx, val);
- child_node->count = 0;
-
- return child_node;
-}
-
-static void
-etgc_add (ETableGroup *etg, gint row)
-{
- ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER (etg);
- void *val = e_table_model_value_at (etg->model, etgc->ecol->col_idx, row);
- GCompareFunc comp = etgc->ecol->compare;
- GList *list = etgc->children;
- ETableGroup *child;
- ETableGroupContainerChildNode *child_node;
- int i = 0;
-
- for (; list; list = g_list_next (list), i++){
- int comp_val;
-
- child_node = list->data;
- comp_val = (*comp)(child_node->key, val);
- if (comp_val == 0) {
- child = child_node->child;
- child_node->count ++;
- e_table_group_add (child, row);
- compute_text (etgc, child_node);
- return;
- }
- if ((comp_val > 0 && etgc->ascending) ||
- (comp_val < 0 && (!etgc->ascending)))
- break;
- }
- child_node = create_child_node (etgc, val);
- child = child_node->child;
- child_node->count = 1;
- e_table_group_add (child, row);
-
- if (list)
- etgc->children = g_list_insert (etgc->children, child_node, i);
- else
- etgc->children = g_list_append (etgc->children, child_node);
-
- compute_text (etgc, child_node);
- e_canvas_item_request_reflow (GNOME_CANVAS_ITEM (etgc));
-}
-
-static void
-etgc_add_array (ETableGroup *etg, const int *array, int count)
-{
- int i;
- ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER (etg);
- void *lastval = 0;
- int laststart = 0;
- GCompareFunc comp = etgc->ecol->compare;
- ETableGroupContainerChildNode *child_node;
- ETableGroup *child;
-
- if (count <= 0)
- return;
-
- e_table_group_container_list_free (etgc);
- etgc->children = NULL;
-
- lastval = e_table_model_value_at (etg->model, etgc->ecol->col_idx, array[0]);
-
- for (i = 1; i < count; i++) {
- void *val = e_table_model_value_at (etg->model, etgc->ecol->col_idx, array[i]);
- int comp_val;
-
- comp_val = (*comp)(lastval, val);
- if (comp_val != 0) {
- child_node = create_child_node(etgc, lastval);
- child = child_node->child;
-
- e_table_group_add_array(child, array + laststart, i - laststart);
- child_node->count = i - laststart;
-
- etgc->children = g_list_append (etgc->children, child_node);
- compute_text (etgc, child_node);
- laststart = i;
- lastval = val;
- }
- }
-
- child_node = create_child_node(etgc, lastval);
- child = child_node->child;
-
- e_table_group_add_array(child, array + laststart, i - laststart);
- child_node->count = i - laststart;
-
- etgc->children = g_list_append (etgc->children, child_node);
- compute_text (etgc, child_node);
-
- e_canvas_item_request_reflow (GNOME_CANVAS_ITEM (etgc));
-}
-
-static void
-etgc_add_all (ETableGroup *etg)
-{
- ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER (etg);
- ESorter *sorter = etgc->selection_model->sorter;
- int *array;
- int count;
-
- e_sorter_get_sorted_to_model_array(sorter, &array, &count);
-
- etgc_add_array(etg, array, count);
-}
-
-static gboolean
-etgc_remove (ETableGroup *etg, gint row)
-{
- ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER(etg);
- GList *list;
-
- for (list = etgc->children ; list; list = g_list_next (list)) {
- ETableGroupContainerChildNode *child_node = list->data;
- ETableGroup *child = child_node->child;
-
- if (e_table_group_remove (child, row)) {
- child_node->count --;
- if (child_node->count == 0) {
- e_table_group_container_child_node_free (etgc, child_node);
- etgc->children = g_list_remove (etgc->children, child_node);
- g_free (child_node);
- } else
- compute_text (etgc, child_node);
-
- e_canvas_item_request_reflow (GNOME_CANVAS_ITEM (etgc));
-
- return TRUE;
- }
- }
- return FALSE;
-}
-
-static int
-etgc_row_count (ETableGroup *etg)
-{
- ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER(etg);
- GList *list;
- gint count = 0;
- for (list = etgc->children; list; list = g_list_next(list)) {
- ETableGroup *group = ((ETableGroupContainerChildNode *)list->data)->child;
- gint this_count = e_table_group_row_count(group);
- count += this_count;
- }
- return count;
-}
-
-static void
-etgc_increment (ETableGroup *etg, gint position, gint amount)
-{
- ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER(etg);
- GList *list = etgc->children;
-
- for (list = etgc->children ; list; list = g_list_next (list))
- e_table_group_increment (((ETableGroupContainerChildNode *)list->data)->child,
- position, amount);
-}
-
-static void
-etgc_decrement (ETableGroup *etg, gint position, gint amount)
-{
- ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER(etg);
- GList *list = etgc->children;
-
- for (list = etgc->children ; list; list = g_list_next (list))
- e_table_group_decrement (((ETableGroupContainerChildNode *)list->data)->child,
- position, amount);
-}
-
-static void
-etgc_set_focus (ETableGroup *etg, EFocus direction, gint view_col)
-{
- ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER(etg);
- if (etgc->children) {
- if (direction == E_FOCUS_END)
- e_table_group_set_focus (((ETableGroupContainerChildNode *)g_list_last (etgc->children)->data)->child,
- direction, view_col);
- else
- e_table_group_set_focus (((ETableGroupContainerChildNode *)etgc->children->data)->child,
- direction, view_col);
- }
-}
-
-static gint
-etgc_get_focus_column (ETableGroup *etg)
-{
- ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER(etg);
- if (etgc->children) {
- GList *list;
- for (list = etgc->children; list; list = list->next) {
- ETableGroupContainerChildNode *child_node = (ETableGroupContainerChildNode *)list->data;
- ETableGroup *child = child_node->child;
- if (e_table_group_get_focus (child)) {
- return e_table_group_get_focus_column (child);
- }
- }
- }
- return 0;
-}
-
-static void
-etgc_compute_location (ETableGroup *etg, int *x, int *y, int *row, int *col)
-{
- ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER(etg);
-
- if (row)
- *row = -1;
- if (col)
- *col = -1;
-
- *x -= GROUP_INDENT;
- *y -= TITLE_HEIGHT;
-
- if (*x >= 0 && *y >= 0 && etgc->children) {
- GList *list;
- for (list = etgc->children; list; list = list->next) {
- ETableGroupContainerChildNode *child_node = (ETableGroupContainerChildNode *)list->data;
- ETableGroup *child = child_node->child;
-
- e_table_group_compute_location (child, x, y, row, col);
- if ((*row != -1) && (*col != -1))
- return;
- }
- }
-}
-
-static void
-etgc_get_cell_geometry (ETableGroup *etg, int *row, int *col, int *x, int *y, int *width, int *height)
-{
- ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER(etg);
-
- int ypos;
-
- ypos = 0;
-
- if (etgc->children) {
- GList *list;
- for (list = etgc->children; list; list = list->next) {
- ETableGroupContainerChildNode *child_node = (ETableGroupContainerChildNode *)list->data;
- ETableGroup *child = child_node->child;
- int thisy;
-
- e_table_group_get_cell_geometry (child, row, col, x, &thisy, width, height);
- ypos += thisy;
- if ((*row == -1) || (*col == -1)) {
- ypos += TITLE_HEIGHT;
- *x += GROUP_INDENT;
- *y = ypos;
- return;
- }
- }
- }
-}
-
-static void etgc_thaw (ETableGroup *etg)
-{
- e_canvas_item_request_reflow (GNOME_CANVAS_ITEM(etg));
-}
-
-static void
-etgc_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
-{
- ETableGroup *etg = E_TABLE_GROUP (object);
- ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER (object);
- GList *list;
-
- switch (prop_id) {
- case PROP_FROZEN:
- if (g_value_get_boolean (value))
- etg->frozen = TRUE;
- else {
- etg->frozen = FALSE;
- etgc_thaw (etg);
- }
- break;
- case PROP_MINIMUM_WIDTH:
- case PROP_WIDTH:
- etgc->minimum_width = g_value_get_double (value);
-
- for (list = etgc->children; list; list = g_list_next (list)) {
- ETableGroupContainerChildNode *child_node = (ETableGroupContainerChildNode *)list->data;
- g_object_set (child_node->child,
- "minimum_width", etgc->minimum_width - GROUP_INDENT,
- NULL);
- }
- break;
- case PROP_LENGTH_THRESHOLD:
- etgc->length_threshold = g_value_get_int (value);
- for (list = etgc->children; list; list = g_list_next (list)) {
- ETableGroupContainerChildNode *child_node = (ETableGroupContainerChildNode *)list->data;
- g_object_set (child_node->child,
- "length_threshold", etgc->length_threshold,
- NULL);
- }
- break;
- case PROP_UNIFORM_ROW_HEIGHT:
- etgc->uniform_row_height = g_value_get_boolean (value);
- for (list = etgc->children; list; list = g_list_next (list)) {
- ETableGroupContainerChildNode *child_node = (ETableGroupContainerChildNode *)list->data;
- g_object_set (child_node->child,
- "uniform_row_height", etgc->uniform_row_height,
- NULL);
- }
- break;
-
- case PROP_SELECTION_MODEL:
- if (etgc->selection_model)
- g_object_unref (etgc->selection_model);
- etgc->selection_model = E_SELECTION_MODEL(g_value_get_object (value));
- if (etgc->selection_model)
- g_object_ref (etgc->selection_model);
- for (list = etgc->children; list; list = g_list_next (list)) {
- ETableGroupContainerChildNode *child_node = (ETableGroupContainerChildNode *)list->data;
- g_object_set (child_node->child,
- "selection_model", etgc->selection_model,
- NULL);
- }
- break;
-
- case PROP_TABLE_ALTERNATING_ROW_COLORS:
- etgc->alternating_row_colors = g_value_get_boolean (value);
- for (list = etgc->children; list; list = g_list_next (list)) {
- ETableGroupContainerChildNode *child_node = (ETableGroupContainerChildNode *)list->data;
- g_object_set (child_node->child,
- "alternating_row_colors", etgc->alternating_row_colors,
- NULL);
- }
- break;
-
- case PROP_TABLE_HORIZONTAL_DRAW_GRID:
- etgc->horizontal_draw_grid = g_value_get_boolean (value);
- for (list = etgc->children; list; list = g_list_next (list)) {
- ETableGroupContainerChildNode *child_node = (ETableGroupContainerChildNode *)list->data;
- g_object_set (child_node->child,
- "horizontal_draw_grid", etgc->horizontal_draw_grid,
- NULL);
- }
- break;
-
- case PROP_TABLE_VERTICAL_DRAW_GRID:
- etgc->vertical_draw_grid = g_value_get_boolean (value);
- for (list = etgc->children; list; list = g_list_next (list)) {
- ETableGroupContainerChildNode *child_node = (ETableGroupContainerChildNode *)list->data;
- g_object_set (child_node->child,
- "vertical_draw_grid", etgc->vertical_draw_grid,
- NULL);
- }
- break;
-
- case PROP_TABLE_DRAW_FOCUS:
- etgc->draw_focus = g_value_get_boolean (value);
- for (list = etgc->children; list; list = g_list_next (list)) {
- ETableGroupContainerChildNode *child_node = (ETableGroupContainerChildNode *)list->data;
- g_object_set (child_node->child,
- "drawfocus", etgc->draw_focus,
- NULL);
- }
- break;
-
- case PROP_CURSOR_MODE:
- etgc->cursor_mode = g_value_get_int (value);
- for (list = etgc->children; list; list = g_list_next (list)) {
- ETableGroupContainerChildNode *child_node = (ETableGroupContainerChildNode *)list->data;
- g_object_set (child_node->child,
- "cursor_mode", etgc->cursor_mode,
- NULL);
- }
- break;
- default:
- break;
- }
-}
-
-static void
-etgc_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
- ETableGroup *etg = E_TABLE_GROUP (object);
- ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER (object);
-
- switch (prop_id) {
- case PROP_FROZEN:
- g_value_set_boolean (value, etg->frozen);
- break;
- case PROP_HEIGHT:
- g_value_set_double (value, etgc->height);
- break;
- case PROP_WIDTH:
- g_value_set_double (value, etgc->width);
- break;
- case PROP_MINIMUM_WIDTH:
- g_value_set_double (value, etgc->minimum_width);
- break;
- case PROP_UNIFORM_ROW_HEIGHT:
- g_value_set_boolean (value, etgc->uniform_row_height);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-etgc_class_init (GObjectClass *object_class)
-{
- GnomeCanvasItemClass *item_class = (GnomeCanvasItemClass *) object_class;
- ETableGroupClass *e_group_class = E_TABLE_GROUP_CLASS(object_class);
-
- object_class->dispose = etgc_dispose;
- object_class->set_property = etgc_set_property;
- object_class->get_property = etgc_get_property;
-
- item_class->event = etgc_event;
- item_class->realize = etgc_realize;
- item_class->unrealize = etgc_unrealize;
-
- etgc_parent_class = g_type_class_ref (PARENT_TYPE);
-
- e_group_class->add = etgc_add;
- e_group_class->add_array = etgc_add_array;
- e_group_class->add_all = etgc_add_all;
- e_group_class->remove = etgc_remove;
- e_group_class->increment = etgc_increment;
- e_group_class->decrement = etgc_decrement;
- e_group_class->row_count = etgc_row_count;
- e_group_class->set_focus = etgc_set_focus;
- e_group_class->get_focus_column = etgc_get_focus_column;
- e_group_class->get_printable = etgc_get_printable;
- e_group_class->compute_location = etgc_compute_location;
- e_group_class->get_cell_geometry = etgc_get_cell_geometry;
-
- g_object_class_install_property (object_class, PROP_TABLE_ALTERNATING_ROW_COLORS,
- g_param_spec_boolean ("alternating_row_colors",
- _( "Alternating Row Colors" ),
- _( "Alternating Row Colors" ),
- FALSE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_TABLE_HORIZONTAL_DRAW_GRID,
- g_param_spec_boolean ("horizontal_draw_grid",
- _( "Horizontal Draw Grid" ),
- _( "Horizontal Draw Grid" ),
- FALSE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_TABLE_VERTICAL_DRAW_GRID,
- g_param_spec_boolean ("vertical_draw_grid",
- _( "Vertical Draw Grid" ),
- _( "Vertical Draw Grid" ),
- FALSE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_TABLE_DRAW_FOCUS,
- g_param_spec_boolean ("drawfocus",
- _( "Draw focus" ),
- _( "Draw focus" ),
- FALSE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_CURSOR_MODE,
- g_param_spec_int ("cursor_mode",
- _( "Cursor mode" ),
- _( "Cursor mode" ),
- E_CURSOR_LINE, E_CURSOR_SPREADSHEET, E_CURSOR_LINE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_SELECTION_MODEL,
- g_param_spec_object ("selection_model",
- _( "Selection model" ),
- _( "Selection model" ),
- E_SELECTION_MODEL_TYPE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_LENGTH_THRESHOLD,
- g_param_spec_int ("length_threshold",
- _( "Length Threshold" ),
- _( "Length Threshold" ),
- -1, G_MAXINT, 0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_UNIFORM_ROW_HEIGHT,
- g_param_spec_boolean ("uniform_row_height",
- _( "Uniform row height" ),
- _( "Uniform row height" ),
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_FROZEN,
- g_param_spec_boolean ("frozen",
- _( "Frozen" ),
- _( "Frozen" ),
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_HEIGHT,
- g_param_spec_double ("height",
- _( "Height" ),
- _( "Height" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_WIDTH,
- g_param_spec_double ("width",
- _( "Width" ),
- _( "Width" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_MINIMUM_WIDTH,
- g_param_spec_double ("minimum_width",
- _( "Minimum width" ),
- _( "Minimum Width" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
-}
-
-static void
-etgc_reflow (GnomeCanvasItem *item, gint flags)
-{
- ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER(item);
- gboolean frozen;
-
- g_object_get (etgc,
- "frozen", &frozen,
- NULL);
-
- if (frozen)
- return;
-
-
- if (GTK_OBJECT_FLAGS(etgc)& GNOME_CANVAS_ITEM_REALIZED){
- gdouble running_height = 0;
- gdouble running_width = 0;
- gdouble old_height;
- gdouble old_width;
-
- old_height = etgc->height;
- old_width = etgc->width;
- if (etgc->children == NULL){
- } else {
- GList *list;
- gdouble extra_height = 0;
- gdouble item_height = 0;
- gdouble item_width = 0;
-
- if (etgc->font)
- extra_height += etgc->font->ascent + etgc->font->descent + BUTTON_PADDING * 2;
-
- extra_height = MAX(extra_height, BUTTON_HEIGHT + BUTTON_PADDING * 2);
-
- running_height = extra_height;
-
- for ( list = etgc->children; list; list = g_list_next (list)){
- ETableGroupContainerChildNode *child_node = (ETableGroupContainerChildNode *) list->data;
- ETableGroup *child = child_node->child;
-
- g_object_get (child,
- "width", &item_width,
- NULL);
-
- if (item_width > running_width)
- running_width = item_width;
- }
- for ( list = etgc->children; list; list = g_list_next (list)){
- ETableGroupContainerChildNode *child_node = (ETableGroupContainerChildNode *) list->data;
- ETableGroup *child = child_node->child;
- g_object_get (child,
- "height", &item_height,
- NULL);
-
- e_canvas_item_move_absolute (GNOME_CANVAS_ITEM(child_node->text),
- GROUP_INDENT,
- running_height - BUTTON_PADDING);
-
- e_canvas_item_move_absolute (GNOME_CANVAS_ITEM(child),
- GROUP_INDENT,
- running_height);
-
- gnome_canvas_item_set (GNOME_CANVAS_ITEM(child_node->rect),
- "x1", (double) 0,
- "x2", (double) running_width + GROUP_INDENT,
- "y1", (double) running_height - extra_height,
- "y2", (double) running_height + item_height,
- NULL);
-
- running_height += item_height + extra_height;
- }
- running_height -= extra_height;
- }
- if (running_height != old_height || running_width != old_width) {
- etgc->height = running_height;
- etgc->width = running_width;
- e_canvas_item_request_parent_reflow (item);
- }
- }
-}
-
-static void
-etgc_init (GtkObject *object)
-{
- ETableGroupContainer *container = E_TABLE_GROUP_CONTAINER(object);
- container->children = FALSE;
-
- e_canvas_item_set_reflow_callback (GNOME_CANVAS_ITEM(object), etgc_reflow);
-
- container->alternating_row_colors = 1;
- container->horizontal_draw_grid = 1;
- container->vertical_draw_grid = 1;
- container->draw_focus = 1;
- container->cursor_mode = E_CURSOR_SIMPLE;
- container->length_threshold = -1;
- container->selection_model = NULL;
- container->uniform_row_height = FALSE;
-}
-
-E_MAKE_TYPE (e_table_group_container, "ETableGroupContainer", ETableGroupContainer, etgc_class_init, etgc_init, PARENT_TYPE)
-
-void
-e_table_group_apply_to_leafs (ETableGroup *etg, ETableGroupLeafFn fn, void *closure)
-{
- if (E_IS_TABLE_GROUP_CONTAINER (etg)){
- ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER (etg);
- GList *list = etgc->children;
-
- /* Protect from unrefs in the callback functions */
- g_object_ref (etg);
-
- for (list = etgc->children; list; list = list->next){
- ETableGroupContainerChildNode *child_node = list->data;
-
- e_table_group_apply_to_leafs (child_node->child, fn, closure);
- }
-
- g_object_unref (etg);
- } else if (E_IS_TABLE_GROUP_LEAF (etg)){
- (*fn) (E_TABLE_GROUP_LEAF (etg)->item, closure);
- } else {
- g_error ("Unknown ETableGroup found: %s",
- g_type_name (G_TYPE_FROM_INSTANCE (etg)));
- }
-}
-
-
-typedef struct {
- ETableGroupContainer *etgc;
- GList *child;
- EPrintable *child_printable;
-} ETGCPrintContext;
-
-#if 0
-#define CHECK(x) if((x) == -1) return -1;
-
-static gint
-gp_draw_rect (GnomePrintContext *context, gdouble x, gdouble y, gdouble width, gdouble height, gdouble r, gdouble g, gdouble b)
-{
- CHECK(gnome_print_moveto(context, x, y));
- CHECK(gnome_print_lineto(context, x + width, y));
- CHECK(gnome_print_lineto(context, x + width, y - height));
- CHECK(gnome_print_lineto(context, x, y - height));
- CHECK(gnome_print_lineto(context, x, y));
- return gnome_print_fill(context);
-}
-#endif
-
-#define CHECK(x) if((x) == -1) return -1;
-
-static gint
-gp_draw_rect (GnomePrintContext *context, gdouble x, gdouble y, gdouble width, gdouble height)
-{
- CHECK(gnome_print_moveto(context, x, y));
- CHECK(gnome_print_lineto(context, x + width, y));
- CHECK(gnome_print_lineto(context, x + width, y - height));
- CHECK(gnome_print_lineto(context, x, y - height));
- CHECK(gnome_print_lineto(context, x, y));
- return gnome_print_fill(context);
-}
-
-#define TEXT_HEIGHT (12)
-#define TEXT_AREA_HEIGHT (TEXT_HEIGHT + 4)
-
-static void
-e_table_group_container_print_page (EPrintable *ep,
- GnomePrintContext *context,
- gdouble width,
- gdouble height,
- gboolean quantize,
- ETGCPrintContext *groupcontext)
-{
- gdouble yd = height;
- gdouble child_height;
- ETableGroupContainerChildNode *child_node;
- GList *child;
- EPrintable *child_printable;
- gchar *string;
- GnomeFont *font = gnome_font_find ("Helvetica", TEXT_HEIGHT);
-
- child_printable = groupcontext->child_printable;
- child = groupcontext->child;
-
- if (child_printable) {
- if (child)
- child_node = child->data;
- else
- child_node = NULL;
- g_object_ref (child_printable);
- } else {
- if (!child) {
- return;
- } else {
- child_node = child->data;
- child_printable = e_table_group_get_printable(child_node->child);
- if (child_printable)
- g_object_ref (child_printable);
- e_printable_reset(child_printable);
- }
- }
-
- while (1) {
- child_height = e_printable_height(child_printable, context, width - 36, yd - TEXT_AREA_HEIGHT, quantize);
-
- if (gnome_print_gsave(context) == -1)
- /* FIXME */;
- if (gnome_print_moveto(context, 0, yd - child_height - TEXT_AREA_HEIGHT) == -1)
- /* FIXME */;
- if (gnome_print_lineto(context, 36, yd - child_height - TEXT_AREA_HEIGHT) == -1)
- /* FIXME */;
- if (gnome_print_lineto(context, 36, yd - TEXT_AREA_HEIGHT) == -1)
- /* FIXME */;
- if (gnome_print_lineto(context, width, yd - TEXT_AREA_HEIGHT) == -1)
- /* FIXME */;
- if (gnome_print_lineto(context, width, yd) == -1)
- /* FIXME */;
- if (gnome_print_lineto(context, 0, yd) == -1)
- /* FIXME */;
- if (gnome_print_lineto(context, 0, yd - child_height - TEXT_AREA_HEIGHT) == -1)
- /* FIXME */;
- if (gnome_print_setrgbcolor(context, .7, .7, .7) == -1)
- /* FIXME */;
- if (gnome_print_fill(context) == -1)
- /* FIXME */;
- if (gnome_print_grestore(context) == -1)
- /* FIXME */;
-
- if (gnome_print_gsave(context) == -1)
- /* FIXME */;
- if (gnome_print_moveto(context, 0, yd - TEXT_AREA_HEIGHT) == -1)
- /* FIXME */;
- if (gnome_print_lineto(context, width, yd - TEXT_AREA_HEIGHT) == -1)
- /* FIXME */;
- if (gnome_print_lineto(context, width, yd) == -1)
- /* FIXME */;
- if (gnome_print_lineto(context, 0, yd) == -1)
- /* FIXME */;
- if (gnome_print_lineto(context, 0, yd - TEXT_AREA_HEIGHT) == -1)
- /* FIXME */;
- if (gnome_print_clip(context) == -1)
- /* FIXME */;
-
- if (gnome_print_moveto(context, 2, yd - (TEXT_AREA_HEIGHT + gnome_font_get_ascender(font) - gnome_font_get_descender(font)) / 2) == -1)
- /* FIXME */;
- if (gnome_print_setfont(context, font))
- /* FIXME */;
- if (groupcontext->etgc->ecol->text)
- string = g_strdup_printf ("%s : %s (%d item%s)",
- groupcontext->etgc->ecol->text,
- child_node->string,
- (gint) child_node->count,
- child_node->count == 1 ? "" : "s");
- else
- string = g_strdup_printf ("%s (%d item%s)",
- child_node->string,
- (gint) child_node->count,
- child_node->count == 1 ? "" : "s");
- if (gnome_print_show(context, string))
- /* FIXME */;
- g_free(string);
- if (gnome_print_grestore(context) == -1)
- /* FIXME */;
-
- if (gnome_print_gsave(context) == -1)
- /* FIXME */;
- if (gnome_print_translate(context, 36, yd - TEXT_AREA_HEIGHT - child_height) == -1)
- /* FIXME */;
- if (gnome_print_moveto(context, 0, 0) == -1)
- /* FIXME */;
- if (gnome_print_lineto(context, width - 36, 0) == -1)
- /* FIXME */;
- if (gnome_print_lineto(context, width - 36, child_height) == -1)
- /* FIXME */;
- if (gnome_print_lineto(context, 0, child_height) == -1)
- /* FIXME */;
- if (gnome_print_lineto(context, 0, 0) == -1)
- /* FIXME */;
- if (gnome_print_clip(context) == -1)
- /* FIXME */;
- e_printable_print_page(child_printable, context, width - 36, child_height, quantize);
- if (gnome_print_grestore(context) == -1)
- /* FIXME */;
-
- gp_draw_rect(context, 0, yd - child_height - TEXT_AREA_HEIGHT + 1, width, 1);
- gp_draw_rect(context, width - 1, yd, 1, yd - child_height - TEXT_AREA_HEIGHT);
- gp_draw_rect(context, 0, yd, 1, yd - child_height - TEXT_AREA_HEIGHT);
-
- yd -= child_height + TEXT_AREA_HEIGHT;
-
- if (e_printable_data_left(child_printable))
- break;
-
- child = child->next;
- if (!child) {
- child_printable = NULL;
- break;
- }
-
- child_node = child->data;
- if (child_printable)
- g_object_unref (child_printable);
- child_printable = e_table_group_get_printable(child_node->child);
- if (child_printable)
- g_object_ref (child_printable);
- e_printable_reset(child_printable);
- }
-
- gp_draw_rect(context, 0, height, width, 1);
-
- if (groupcontext->child_printable)
- g_object_unref (groupcontext->child_printable);
- groupcontext->child_printable = child_printable;
- groupcontext->child = child;
-
-}
-
-static gboolean
-e_table_group_container_data_left (EPrintable *ep,
- ETGCPrintContext *groupcontext)
-{
- g_signal_stop_emission_by_name(ep, "data_left");
- return groupcontext->child != NULL;
-}
-
-static void
-e_table_group_container_reset (EPrintable *ep,
- ETGCPrintContext *groupcontext)
-{
- groupcontext->child = groupcontext->etgc->children;
- if (groupcontext->child_printable)
- g_object_unref (groupcontext->child_printable);
- groupcontext->child_printable = NULL;
-}
-
-static gdouble
-e_table_group_container_height (EPrintable *ep,
- GnomePrintContext *context,
- gdouble width,
- gdouble max_height,
- gboolean quantize,
- ETGCPrintContext *groupcontext)
-{
- gdouble height = 0;
- gdouble child_height;
- gdouble yd = max_height;
- ETableGroupContainerChildNode *child_node;
- GList *child;
- EPrintable *child_printable;
-
- child_printable = groupcontext->child_printable;
- child = groupcontext->child;
-
- if (child_printable)
- g_object_ref (child_printable);
- else {
- if (!child) {
- g_signal_stop_emission_by_name(ep, "height");
- return 0;
- } else {
- child_node = child->data;
- child_printable = e_table_group_get_printable(child_node->child);
- if (child_printable)
- g_object_ref (child_printable);
- e_printable_reset(child_printable);
- }
- }
-
- if (yd != -1 && yd < TEXT_AREA_HEIGHT)
- return 0;
-
- while (1) {
- child_height = e_printable_height(child_printable, context, width - 36, yd - (yd == -1 ? 0 : TEXT_AREA_HEIGHT), quantize);
-
- height += child_height + TEXT_AREA_HEIGHT;
-
- if (yd != -1) {
- if (!e_printable_will_fit(child_printable, context, width - 36, yd - (yd == -1 ? 0 : TEXT_AREA_HEIGHT), quantize)) {
- break;
- }
-
- yd -= child_height + TEXT_AREA_HEIGHT;
- }
-
- child = child->next;
- if (!child) {
- break;
- }
-
- child_node = child->data;
- if (child_printable)
- g_object_unref (child_printable);
- child_printable = e_table_group_get_printable(child_node->child);
- if (child_printable)
- g_object_ref (child_printable);
- e_printable_reset(child_printable);
- }
- if (child_printable)
- g_object_unref (child_printable);
- g_signal_stop_emission_by_name(ep, "height");
- return height;
-}
-
-static gboolean
-e_table_group_container_will_fit (EPrintable *ep,
- GnomePrintContext *context,
- gdouble width,
- gdouble max_height,
- gboolean quantize,
- ETGCPrintContext *groupcontext)
-{
- gboolean will_fit = TRUE;
- gdouble child_height;
- gdouble yd = max_height;
- ETableGroupContainerChildNode *child_node;
- GList *child;
- EPrintable *child_printable;
-
- child_printable = groupcontext->child_printable;
- child = groupcontext->child;
-
- if (child_printable)
- g_object_ref (child_printable);
- else {
- if (!child) {
- g_signal_stop_emission_by_name(ep, "will_fit");
- return will_fit;
- } else {
- child_node = child->data;
- child_printable = e_table_group_get_printable(child_node->child);
- if (child_printable)
- g_object_ref (child_printable);
- e_printable_reset(child_printable);
- }
- }
-
- if (yd != -1 && yd < TEXT_AREA_HEIGHT)
- will_fit = FALSE;
- else {
- while (1) {
- child_height = e_printable_height(child_printable, context, width - 36, yd - (yd == -1 ? 0 : TEXT_AREA_HEIGHT), quantize);
-
- if (yd != -1) {
- if (!e_printable_will_fit(child_printable, context, width - 36, yd - (yd == -1 ? 0 : TEXT_AREA_HEIGHT), quantize)) {
- will_fit = FALSE;
- break;
- }
-
- yd -= child_height + TEXT_AREA_HEIGHT;
- }
-
- child = child->next;
- if (!child) {
- break;
- }
-
- child_node = child->data;
- if (child_printable)
- g_object_unref (child_printable);
- child_printable = e_table_group_get_printable(child_node->child);
- if (child_printable)
- g_object_ref (child_printable);
- e_printable_reset(child_printable);
- }
- }
-
- if (child_printable)
- g_object_unref (child_printable);
-
- g_signal_stop_emission_by_name(ep, "will_fit");
- return will_fit;
-}
-
-static void
-e_table_group_container_printable_destroy (gpointer data,
- GObject *where_object_was)
-
-{
- ETGCPrintContext *groupcontext = data;
-
- g_object_unref (groupcontext->etgc);
- if (groupcontext->child_printable)
- g_object_ref (groupcontext->child_printable);
- g_free(groupcontext);
-}
-
-static EPrintable *
-etgc_get_printable (ETableGroup *etg)
-{
- ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER(etg);
- EPrintable *printable = e_printable_new();
- ETGCPrintContext *groupcontext;
-
- groupcontext = g_new(ETGCPrintContext, 1);
- groupcontext->etgc = etgc;
- g_object_ref (etgc);
- groupcontext->child = etgc->children;
- groupcontext->child_printable = NULL;
-
- g_signal_connect (printable,
- "print_page",
- G_CALLBACK(e_table_group_container_print_page),
- groupcontext);
- g_signal_connect (printable,
- "data_left",
- G_CALLBACK(e_table_group_container_data_left),
- groupcontext);
- g_signal_connect (printable,
- "reset",
- G_CALLBACK(e_table_group_container_reset),
- groupcontext);
- g_signal_connect (printable,
- "height",
- G_CALLBACK(e_table_group_container_height),
- groupcontext);
- g_signal_connect (printable,
- "will_fit",
- G_CALLBACK(e_table_group_container_will_fit),
- groupcontext);
- g_object_weak_ref (G_OBJECT (printable),
- e_table_group_container_printable_destroy,
- groupcontext);
-
- return printable;
-}
diff --git a/widgets/table/e-table-group-container.h b/widgets/table/e-table-group-container.h
deleted file mode 100644
index d1809e48fd..0000000000
--- a/widgets/table/e-table-group-container.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-group-container.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_GROUP_CONTAINER_H_
-#define _E_TABLE_GROUP_CONTAINER_H_
-
-#include <libgnomecanvas/gnome-canvas.h>
-#include <gal/e-table/e-table-model.h>
-#include <gal/e-table/e-table-header.h>
-#include <gal/e-table/e-table-group.h>
-#include <gal/e-table/e-table-item.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_GROUP_CONTAINER_TYPE (e_table_group_container_get_type ())
-#define E_TABLE_GROUP_CONTAINER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_GROUP_CONTAINER_TYPE, ETableGroupContainer))
-#define E_TABLE_GROUP_CONTAINER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_GROUP_CONTAINER_TYPE, ETableGroupContainerClass))
-#define E_IS_TABLE_GROUP_CONTAINER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_GROUP_CONTAINER_TYPE))
-#define E_IS_TABLE_GROUP_CONTAINER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_GROUP_CONTAINER_TYPE))
-
-typedef struct {
- ETableGroup group;
-
- /*
- * The ETableCol used to group this set
- */
- ETableCol *ecol;
- gint ascending;
-
- /*
- * List of ETableGroups we stack
- */
- GList *children;
-
- /*
- * The canvas rectangle that contains the children
- */
- GnomeCanvasItem *rect;
-
- GdkFont *font;
-
- gdouble width, height, minimum_width;
-
- ETableSortInfo *sort_info;
- int n;
- int length_threshold;
-
- ESelectionModel *selection_model;
-
- guint alternating_row_colors : 1;
- guint horizontal_draw_grid : 1;
- guint vertical_draw_grid : 1;
- guint draw_focus : 1;
- guint uniform_row_height : 1;
- ECursorMode cursor_mode;
-
- /*
- * State: the ETableGroup is open or closed
- */
- guint open:1;
-} ETableGroupContainer;
-
-typedef struct {
- ETableGroupClass parent_class;
-} ETableGroupContainerClass;
-
-typedef struct {
- ETableGroup *child;
- void *key;
- char *string;
- GnomeCanvasItem *text;
- GnomeCanvasItem *rect;
- gint count;
-} ETableGroupContainerChildNode;
-
-
-ETableGroup *e_table_group_container_new (GnomeCanvasGroup *parent, ETableHeader *full_header, ETableHeader *header,
- ETableModel *model, ETableSortInfo *sort_info, int n);
-void e_table_group_container_construct (GnomeCanvasGroup *parent, ETableGroupContainer *etgc,
- ETableHeader *full_header,
- ETableHeader *header,
- ETableModel *model, ETableSortInfo *sort_info, int n);
-
-GType e_table_group_container_get_type (void);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_GROUP_CONTAINER_H_ */
diff --git a/widgets/table/e-table-group-leaf.c b/widgets/table/e-table-group-leaf.c
deleted file mode 100644
index 083345ed74..0000000000
--- a/widgets/table/e-table-group-leaf.c
+++ /dev/null
@@ -1,686 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-group-leaf.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <gtk/gtksignal.h>
-#include <libgnomecanvas/gnome-canvas-rect-ellipse.h>
-#include "e-table-group-leaf.h"
-#include "e-table-item.h"
-#include "e-table-sorted-variable.h"
-#include "e-table-sorted.h"
-#include "gal/util/e-util.h"
-#include "gal/util/e-i18n.h"
-#include "gal/widgets/e-canvas.h"
-
-#define PARENT_TYPE e_table_group_get_type ()
-
-static GnomeCanvasGroupClass *etgl_parent_class;
-
-/* The arguments we take */
-enum {
- PROP_0,
- PROP_HEIGHT,
- PROP_WIDTH,
- PROP_MINIMUM_WIDTH,
- PROP_FROZEN,
- PROP_TABLE_ALTERNATING_ROW_COLORS,
- PROP_TABLE_HORIZONTAL_DRAW_GRID,
- PROP_TABLE_VERTICAL_DRAW_GRID,
- PROP_TABLE_DRAW_FOCUS,
- PROP_CURSOR_MODE,
- PROP_LENGTH_THRESHOLD,
- PROP_SELECTION_MODEL,
- PROP_UNIFORM_ROW_HEIGHT
-};
-
-static void
-etgl_dispose (GObject *object)
-{
- ETableGroupLeaf *etgl = E_TABLE_GROUP_LEAF(object);
-
- if (etgl->ets) {
- g_object_unref (etgl->ets);
- etgl->ets = NULL;
- }
-
- if (etgl->item) {
- if (etgl->etgl_cursor_change_id != 0)
- g_signal_handler_disconnect (etgl->item,
- etgl->etgl_cursor_change_id);
- if (etgl->etgl_cursor_activated_id != 0)
- g_signal_handler_disconnect (etgl->item,
- etgl->etgl_cursor_activated_id);
- if (etgl->etgl_double_click_id != 0)
- g_signal_handler_disconnect (etgl->item,
- etgl->etgl_double_click_id);
- if (etgl->etgl_right_click_id != 0)
- g_signal_handler_disconnect (etgl->item,
- etgl->etgl_right_click_id);
- if (etgl->etgl_click_id != 0)
- g_signal_handler_disconnect (etgl->item,
- etgl->etgl_click_id);
- if (etgl->etgl_key_press_id != 0)
- g_signal_handler_disconnect (etgl->item,
- etgl->etgl_key_press_id);
- if (etgl->etgl_start_drag_id != 0)
- g_signal_handler_disconnect (etgl->item,
- etgl->etgl_start_drag_id);
-
- etgl->etgl_cursor_change_id = 0;
- etgl->etgl_cursor_activated_id = 0;
- etgl->etgl_double_click_id = 0;
- etgl->etgl_right_click_id = 0;
- etgl->etgl_click_id = 0;
- etgl->etgl_key_press_id = 0;
- etgl->etgl_start_drag_id = 0;
-
- gtk_object_destroy (GTK_OBJECT(etgl->item));
- etgl->item = NULL;
- }
-
- if (etgl->selection_model) {
- g_object_unref (etgl->selection_model);
- etgl->selection_model = NULL;
- }
-
- if (G_OBJECT_CLASS (etgl_parent_class)->dispose)
- G_OBJECT_CLASS (etgl_parent_class)->dispose (object);
-}
-
-static void
-e_table_group_leaf_construct (GnomeCanvasGroup *parent,
- ETableGroupLeaf *etgl,
- ETableHeader *full_header,
- ETableHeader *header,
- ETableModel *model,
- ETableSortInfo *sort_info)
-{
- etgl->is_grouped = e_table_sort_info_grouping_get_count(sort_info) > 0 ? TRUE : FALSE;
-
- if (etgl->is_grouped)
- etgl->ets = E_TABLE_SUBSET(e_table_sorted_variable_new (model,
- full_header,
- sort_info));
- else
- etgl->ets = E_TABLE_SUBSET(e_table_sorted_new (model,
- full_header,
- sort_info));
-
- e_table_group_construct (parent, E_TABLE_GROUP (etgl), full_header, header, model);
-}
-
-/**
- * e_table_group_leaf_new
- * @parent: The %GnomeCanvasGroup to create a child of.
- * @full_header: The full header of the %ETable.
- * @header: The current header of the %ETable.
- * @model: The %ETableModel of the %ETable.
- * @sort_info: The %ETableSortInfo of the %ETable.
- *
- * %ETableGroupLeaf is an %ETableGroup which simply contains an
- * %ETableItem.
- *
- * Returns: The new %ETableGroupLeaf.
- */
-ETableGroup *
-e_table_group_leaf_new (GnomeCanvasGroup *parent,
- ETableHeader *full_header,
- ETableHeader *header,
- ETableModel *model,
- ETableSortInfo *sort_info)
-{
- ETableGroupLeaf *etgl;
-
- g_return_val_if_fail (parent != NULL, NULL);
-
- etgl = g_object_new (E_TABLE_GROUP_LEAF_TYPE, NULL);
-
- e_table_group_leaf_construct (parent, etgl, full_header,
- header, model, sort_info);
- return E_TABLE_GROUP (etgl);
-}
-
-static void
-etgl_cursor_change (GtkObject *object, gint row, ETableGroupLeaf *etgl)
-{
- if (row < E_TABLE_SUBSET(etgl->ets)->n_map)
- e_table_group_cursor_change (E_TABLE_GROUP(etgl),
- E_TABLE_SUBSET(etgl->ets)->map_table[row]);
-}
-
-static void
-etgl_cursor_activated (GtkObject *object, gint view_row, ETableGroupLeaf *etgl)
-{
- if (view_row < E_TABLE_SUBSET(etgl->ets)->n_map)
- e_table_group_cursor_activated (E_TABLE_GROUP(etgl),
- E_TABLE_SUBSET(etgl->ets)->map_table[view_row]);
-}
-
-static void
-etgl_double_click (GtkObject *object, gint model_row, gint model_col, GdkEvent *event,
- ETableGroupLeaf *etgl)
-{
- e_table_group_double_click (E_TABLE_GROUP(etgl), model_row, model_col, event);
-}
-
-static gint
-etgl_key_press (GtkObject *object, gint row, gint col, GdkEvent *event, ETableGroupLeaf *etgl)
-{
- if (row < E_TABLE_SUBSET(etgl->ets)->n_map && row >= 0)
- return e_table_group_key_press (E_TABLE_GROUP(etgl),
- E_TABLE_SUBSET(etgl->ets)->map_table[row],
- col,
- event);
- else
- return 0;
-}
-
-static gint
-etgl_start_drag (GtkObject *object, gint model_row, gint model_col, GdkEvent *event,
- ETableGroupLeaf *etgl)
-{
- return e_table_group_start_drag (E_TABLE_GROUP(etgl), model_row, model_col, event);
-}
-
-static gint
-etgl_right_click (GtkObject *object, gint view_row, gint model_col, GdkEvent *event,
- ETableGroupLeaf *etgl)
-{
- if (view_row < E_TABLE_SUBSET(etgl->ets)->n_map)
- return e_table_group_right_click (E_TABLE_GROUP(etgl),
- E_TABLE_SUBSET(etgl->ets)->map_table[view_row],
- model_col,
- event);
- else
- return 0;
-}
-
-static gint
-etgl_click (GtkObject *object, gint row, gint col, GdkEvent *event, ETableGroupLeaf *etgl)
-{
- if (row < E_TABLE_SUBSET(etgl->ets)->n_map)
- return e_table_group_click (E_TABLE_GROUP(etgl),
- E_TABLE_SUBSET(etgl->ets)->map_table[row],
- col,
- event);
- else
- return 0;
-}
-
-static void
-etgl_reflow (GnomeCanvasItem *item, gint flags)
-{
- ETableGroupLeaf *leaf = E_TABLE_GROUP_LEAF(item);
-
- g_object_get(leaf->item,
- "height", &leaf->height,
- NULL);
- g_object_get(leaf->item,
- "width", &leaf->width,
- NULL);
-
- e_canvas_item_request_parent_reflow (item);
-}
-
-static void
-etgl_realize (GnomeCanvasItem *item)
-{
- ETableGroupLeaf *etgl = E_TABLE_GROUP_LEAF(item);
-
- if (GNOME_CANVAS_ITEM_CLASS (etgl_parent_class)->realize)
- GNOME_CANVAS_ITEM_CLASS (etgl_parent_class)->realize (item);
-
- etgl->item = E_TABLE_ITEM(gnome_canvas_item_new (
- GNOME_CANVAS_GROUP(etgl),
- e_table_item_get_type (),
- "ETableHeader", E_TABLE_GROUP(etgl)->header,
- "ETableModel", etgl->ets,
- "alternating_row_colors", etgl->alternating_row_colors,
- "horizontal_draw_grid", etgl->horizontal_draw_grid,
- "vertical_draw_grid", etgl->vertical_draw_grid,
- "drawfocus", etgl->draw_focus,
- "cursor_mode", etgl->cursor_mode,
- "minimum_width", etgl->minimum_width,
- "length_threshold", etgl->length_threshold,
- "selection_model", etgl->selection_model,
- "uniform_row_height", etgl->uniform_row_height,
- NULL));
-
- etgl->etgl_cursor_change_id = g_signal_connect (etgl->item,
- "cursor_change",
- G_CALLBACK(etgl_cursor_change),
- etgl);
- etgl->etgl_cursor_activated_id = g_signal_connect (etgl->item,
- "cursor_activated",
- G_CALLBACK(etgl_cursor_activated),
- etgl);
- etgl->etgl_double_click_id = g_signal_connect (etgl->item,
- "double_click",
- G_CALLBACK(etgl_double_click),
- etgl);
-
- etgl->etgl_right_click_id = g_signal_connect (etgl->item,
- "right_click",
- G_CALLBACK(etgl_right_click),
- etgl);
- etgl->etgl_click_id = g_signal_connect (etgl->item,
- "click",
- G_CALLBACK(etgl_click),
- etgl);
- etgl->etgl_key_press_id = g_signal_connect (etgl->item,
- "key_press",
- G_CALLBACK(etgl_key_press),
- etgl);
- etgl->etgl_start_drag_id = g_signal_connect (etgl->item,
- "start_drag",
- G_CALLBACK(etgl_start_drag),
- etgl);
-
- e_canvas_item_request_reflow(item);
-}
-
-static void
-etgl_add (ETableGroup *etg, gint row)
-{
- ETableGroupLeaf *etgl = E_TABLE_GROUP_LEAF (etg);
-
- if (E_IS_TABLE_SUBSET_VARIABLE(etgl->ets)) {
- e_table_subset_variable_add (E_TABLE_SUBSET_VARIABLE(etgl->ets), row);
- }
-}
-
-static void
-etgl_add_array (ETableGroup *etg, const gint *array, gint count)
-{
- ETableGroupLeaf *etgl = E_TABLE_GROUP_LEAF (etg);
-
- if (E_IS_TABLE_SUBSET_VARIABLE(etgl->ets)) {
- e_table_subset_variable_add_array (E_TABLE_SUBSET_VARIABLE(etgl->ets), array, count);
- }
-}
-
-static void
-etgl_add_all (ETableGroup *etg)
-{
- ETableGroupLeaf *etgl = E_TABLE_GROUP_LEAF (etg);
-
- if (E_IS_TABLE_SUBSET_VARIABLE(etgl->ets)) {
- e_table_subset_variable_add_all (E_TABLE_SUBSET_VARIABLE(etgl->ets));
- }
-}
-
-static gboolean
-etgl_remove (ETableGroup *etg, gint row)
-{
- ETableGroupLeaf *etgl = E_TABLE_GROUP_LEAF (etg);
-
- if (E_IS_TABLE_SUBSET_VARIABLE(etgl->ets)) {
- return e_table_subset_variable_remove (E_TABLE_SUBSET_VARIABLE(etgl->ets), row);
- }
- return FALSE;
-}
-
-static void
-etgl_increment (ETableGroup *etg, gint position, gint amount)
-{
- ETableGroupLeaf *etgl = E_TABLE_GROUP_LEAF (etg);
-
- if (E_IS_TABLE_SUBSET_VARIABLE(etgl->ets)) {
- e_table_subset_variable_increment (E_TABLE_SUBSET_VARIABLE(etgl->ets), position, amount);
- }
-}
-
-static void
-etgl_decrement (ETableGroup *etg, gint position, gint amount)
-{
- ETableGroupLeaf *etgl = E_TABLE_GROUP_LEAF (etg);
-
- if (E_IS_TABLE_SUBSET_VARIABLE(etgl->ets)) {
- e_table_subset_variable_decrement (E_TABLE_SUBSET_VARIABLE(etgl->ets), position, amount);
- }
-}
-
-static int
-etgl_row_count (ETableGroup *etg)
-{
- ETableGroupLeaf *etgl = E_TABLE_GROUP_LEAF (etg);
-
- return e_table_model_row_count(E_TABLE_MODEL(etgl->ets));
-}
-
-static void
-etgl_set_focus (ETableGroup *etg, EFocus direction, gint view_col)
-{
- ETableGroupLeaf *etgl = E_TABLE_GROUP_LEAF (etg);
-
- if (direction == E_FOCUS_END) {
- e_table_item_set_cursor (etgl->item, view_col, e_table_model_row_count(E_TABLE_MODEL(etgl->ets)) - 1);
- } else {
- e_table_item_set_cursor (etgl->item, view_col, 0);
- }
-}
-
-static gint
-etgl_get_focus_column (ETableGroup *etg)
-{
- ETableGroupLeaf *etgl = E_TABLE_GROUP_LEAF (etg);
-
- return e_table_item_get_focused_column (etgl->item);
-}
-
-static EPrintable *
-etgl_get_printable (ETableGroup *etg)
-{
- ETableGroupLeaf *etgl = E_TABLE_GROUP_LEAF (etg);
-
- return e_table_item_get_printable (etgl->item);
-}
-
-static void
-etgl_compute_location (ETableGroup *etg, int *x, int *y, int *row, int *col)
-{
- ETableGroupLeaf *etgl = E_TABLE_GROUP_LEAF (etg);
-
- e_table_item_compute_location (etgl->item, x, y, row, col);
-}
-
-static void
-etgl_get_cell_geometry (ETableGroup *etg, int *row, int *col, int *x, int *y, int *width, int *height)
-{
- ETableGroupLeaf *etgl = E_TABLE_GROUP_LEAF (etg);
-
- e_table_item_get_cell_geometry (etgl->item, row, col, x, y, width, height);
-}
-
-static void
-etgl_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
-{
- ETableGroup *etg = E_TABLE_GROUP (object);
- ETableGroupLeaf *etgl = E_TABLE_GROUP_LEAF (object);
-
- switch (prop_id) {
- case PROP_FROZEN:
- etg->frozen = g_value_get_boolean (value);
- break;
- case PROP_MINIMUM_WIDTH:
- case PROP_WIDTH:
- etgl->minimum_width = g_value_get_double (value);
- if (etgl->item) {
- gnome_canvas_item_set (GNOME_CANVAS_ITEM(etgl->item),
- "minimum_width", etgl->minimum_width,
- NULL);
- }
- break;
- case PROP_LENGTH_THRESHOLD:
- etgl->length_threshold = g_value_get_int (value);
- if (etgl->item) {
- gnome_canvas_item_set (GNOME_CANVAS_ITEM(etgl->item),
- "length_threshold", etgl->length_threshold,
- NULL);
- }
- break;
- case PROP_SELECTION_MODEL:
- if (etgl->selection_model)
- g_object_unref(etgl->selection_model);
- etgl->selection_model = E_SELECTION_MODEL(g_value_get_object (value));
- if (etgl->selection_model) {
- g_object_ref(etgl->selection_model);
- }
- if (etgl->item) {
- gnome_canvas_item_set (GNOME_CANVAS_ITEM(etgl->item),
- "selection_model", etgl->selection_model,
- NULL);
- }
- break;
-
- case PROP_UNIFORM_ROW_HEIGHT:
- etgl->uniform_row_height = g_value_get_boolean (value);
- if (etgl->item) {
- gnome_canvas_item_set (GNOME_CANVAS_ITEM(etgl->item),
- "uniform_row_height", etgl->uniform_row_height,
- NULL);
- }
- break;
-
- case PROP_TABLE_ALTERNATING_ROW_COLORS:
- etgl->alternating_row_colors = g_value_get_boolean (value);
- if (etgl->item) {
- gnome_canvas_item_set (GNOME_CANVAS_ITEM(etgl->item),
- "alternating_row_colors", etgl->alternating_row_colors,
- NULL);
- }
- break;
-
- case PROP_TABLE_HORIZONTAL_DRAW_GRID:
- etgl->horizontal_draw_grid = g_value_get_boolean (value);
- if (etgl->item) {
- gnome_canvas_item_set (GNOME_CANVAS_ITEM(etgl->item),
- "horizontal_draw_grid", etgl->horizontal_draw_grid,
- NULL);
- }
- break;
-
- case PROP_TABLE_VERTICAL_DRAW_GRID:
- etgl->vertical_draw_grid = g_value_get_boolean (value);
- if (etgl->item) {
- gnome_canvas_item_set (GNOME_CANVAS_ITEM(etgl->item),
- "vertical_draw_grid", etgl->vertical_draw_grid,
- NULL);
- }
- break;
-
- case PROP_TABLE_DRAW_FOCUS:
- etgl->draw_focus = g_value_get_boolean (value);
- if (etgl->item) {
- gnome_canvas_item_set (GNOME_CANVAS_ITEM(etgl->item),
- "drawfocus", etgl->draw_focus,
- NULL);
- }
- break;
-
- case PROP_CURSOR_MODE:
- etgl->cursor_mode = g_value_get_int (value);
- if (etgl->item) {
- gnome_canvas_item_set (GNOME_CANVAS_ITEM(etgl->item),
- "cursor_mode", etgl->cursor_mode,
- NULL);
- }
- break;
- default:
- break;
- }
-}
-
-static void
-etgl_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
- ETableGroup *etg = E_TABLE_GROUP (object);
- ETableGroupLeaf *etgl = E_TABLE_GROUP_LEAF (object);
-
- switch (prop_id) {
- case PROP_FROZEN:
- g_value_set_boolean (value, etg->frozen);
- break;
- case PROP_HEIGHT:
- g_value_set_double (value, etgl->height);
- break;
- case PROP_WIDTH:
- g_value_set_double (value, etgl->width);
- break;
- case PROP_MINIMUM_WIDTH:
- g_value_set_double (value, etgl->minimum_width);
- break;
- case PROP_UNIFORM_ROW_HEIGHT:
- g_value_set_boolean (value, etgl->uniform_row_height);
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-etgl_class_init (GObjectClass *object_class)
-{
- GnomeCanvasItemClass *item_class = (GnomeCanvasItemClass *) object_class;
- ETableGroupClass *e_group_class = E_TABLE_GROUP_CLASS(object_class);
-
- object_class->dispose = etgl_dispose;
- object_class->set_property = etgl_set_property;
- object_class->get_property = etgl_get_property;
-
- item_class->realize = etgl_realize;
-
- etgl_parent_class = g_type_class_ref (PARENT_TYPE);
-
- e_group_class->add = etgl_add;
- e_group_class->add_array = etgl_add_array;
- e_group_class->add_all = etgl_add_all;
- e_group_class->remove = etgl_remove;
- e_group_class->increment = etgl_increment;
- e_group_class->decrement = etgl_decrement;
- e_group_class->row_count = etgl_row_count;
- e_group_class->set_focus = etgl_set_focus;
- e_group_class->get_focus_column = etgl_get_focus_column;
- e_group_class->get_printable = etgl_get_printable;
- e_group_class->compute_location = etgl_compute_location;
- e_group_class->get_cell_geometry = etgl_get_cell_geometry;
-
- g_object_class_install_property (object_class, PROP_TABLE_ALTERNATING_ROW_COLORS,
- g_param_spec_boolean ("alternating_row_colors",
- _( "Alternating Row Colors" ),
- _( "Alternating Row Colors" ),
- FALSE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_TABLE_HORIZONTAL_DRAW_GRID,
- g_param_spec_boolean ("horizontal_draw_grid",
- _( "Horizontal Draw Grid" ),
- _( "Horizontal Draw Grid" ),
- FALSE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_TABLE_VERTICAL_DRAW_GRID,
- g_param_spec_boolean ("vertical_draw_grid",
- _( "Vertical Draw Grid" ),
- _( "Vertical Draw Grid" ),
- FALSE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_TABLE_DRAW_FOCUS,
- g_param_spec_boolean ("drawfocus",
- _( "Draw focus" ),
- _( "Draw focus" ),
- FALSE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_CURSOR_MODE,
- g_param_spec_int ("cursor_mode",
- _( "Cursor mode" ),
- _( "Cursor mode" ),
- E_CURSOR_LINE, E_CURSOR_SPREADSHEET, E_CURSOR_LINE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_LENGTH_THRESHOLD,
- g_param_spec_int ("length_threshold",
- _( "Length Threshold" ),
- _( "Length Threshold" ),
- -1, G_MAXINT, 0,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_SELECTION_MODEL,
- g_param_spec_object ("selection_model",
- _( "Selection model" ),
- _( "Selection model" ),
- E_SELECTION_MODEL_TYPE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_HEIGHT,
- g_param_spec_double ("height",
- _( "Height" ),
- _( "Height" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READABLE));
-
- g_object_class_install_property (object_class, PROP_WIDTH,
- g_param_spec_double ("width",
- _( "Width" ),
- _( "Width" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_MINIMUM_WIDTH,
- g_param_spec_double ("minimum_width",
- _( "Minimum width" ),
- _( "Minimum Width" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_FROZEN,
- g_param_spec_boolean ("frozen",
- _( "Frozen" ),
- _( "Frozen" ),
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_UNIFORM_ROW_HEIGHT,
- g_param_spec_boolean ("uniform_row_height",
- _( "Uniform row height" ),
- _( "Uniform row height" ),
- FALSE,
- G_PARAM_READWRITE));
-}
-
-static void
-etgl_init (GtkObject *object)
-{
- ETableGroupLeaf *etgl = E_TABLE_GROUP_LEAF (object);
-
- etgl->width = 1;
- etgl->height = 1;
- etgl->minimum_width = 0;
-
- etgl->ets = NULL;
- etgl->item = NULL;
-
- etgl->etgl_cursor_change_id = 0;
- etgl->etgl_cursor_activated_id = 0;
- etgl->etgl_double_click_id = 0;
- etgl->etgl_right_click_id = 0;
- etgl->etgl_click_id = 0;
- etgl->etgl_key_press_id = 0;
- etgl->etgl_start_drag_id = 0;
-
- etgl->alternating_row_colors = 1;
- etgl->horizontal_draw_grid = 1;
- etgl->vertical_draw_grid = 1;
- etgl->draw_focus = 1;
- etgl->cursor_mode = E_CURSOR_SIMPLE;
- etgl->length_threshold = -1;
-
- etgl->selection_model = NULL;
- etgl->uniform_row_height = FALSE;
-
- e_canvas_item_set_reflow_callback (GNOME_CANVAS_ITEM(object), etgl_reflow);
-}
-
-E_MAKE_TYPE (e_table_group_leaf, "ETableGroupLeaf", ETableGroupLeaf, etgl_class_init, etgl_init, PARENT_TYPE)
diff --git a/widgets/table/e-table-group-leaf.h b/widgets/table/e-table-group-leaf.h
deleted file mode 100644
index 74fdfd8c03..0000000000
--- a/widgets/table/e-table-group-leaf.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-group-leaf.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_GROUP_LEAF_H_
-#define _E_TABLE_GROUP_LEAF_H_
-
-#include <libgnomecanvas/gnome-canvas.h>
-#include <gal/e-table/e-table-group.h>
-#include <gal/e-table/e-table-subset.h>
-#include <gal/e-table/e-table-item.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_GROUP_LEAF_TYPE (e_table_group_leaf_get_type ())
-#define E_TABLE_GROUP_LEAF(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_GROUP_LEAF_TYPE, ETableGroupLeaf))
-#define E_TABLE_GROUP_LEAF_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_GROUP_LEAF_TYPE, ETableGroupLeafClass))
-#define E_IS_TABLE_GROUP_LEAF(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_GROUP_LEAF_TYPE))
-#define E_IS_TABLE_GROUP_LEAF_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_GROUP_LEAF_TYPE))
-
-typedef struct {
- ETableGroup group;
-
- /*
- * Item.
- */
- ETableItem *item;
-
- gdouble height;
- gdouble width;
- gdouble minimum_width;
-
- int length_threshold;
-
- ETableSubset *ets;
- guint is_grouped : 1;
-
- guint alternating_row_colors : 1;
- guint horizontal_draw_grid : 1;
- guint vertical_draw_grid : 1;
- guint draw_focus : 1;
- guint uniform_row_height : 1;
- ECursorMode cursor_mode;
-
- int etgl_cursor_change_id;
- int etgl_cursor_activated_id;
- int etgl_double_click_id;
- int etgl_right_click_id;
- int etgl_click_id;
- int etgl_key_press_id;
- int etgl_start_drag_id;
-
- ESelectionModel *selection_model;
-} ETableGroupLeaf;
-
-typedef struct {
- ETableGroupClass parent_class;
-} ETableGroupLeafClass;
-
-ETableGroup *e_table_group_leaf_new (GnomeCanvasGroup *parent,
- ETableHeader *full_header,
- ETableHeader *header,
- ETableModel *model,
- ETableSortInfo *sort_info);
-GType e_table_group_leaf_get_type (void);
-
-
-G_END_DECLS
-
-#endif /* _E_TABLE_GROUP_LEAF_H_ */
-
diff --git a/widgets/table/e-table-group.c b/widgets/table/e-table-group.c
deleted file mode 100644
index 5bc8841cb4..0000000000
--- a/widgets/table/e-table-group.c
+++ /dev/null
@@ -1,712 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-group.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <gtk/gtksignal.h>
-#include <libgnomecanvas/gnome-canvas-rect-ellipse.h>
-#include "e-table-group.h"
-#include "e-table-group-container.h"
-#include "e-table-group-leaf.h"
-#include "e-table-item.h"
-#include "gal/util/e-util.h"
-
-#define PARENT_TYPE gnome_canvas_group_get_type ()
-
-#define ETG_CLASS(e) (E_TABLE_GROUP_CLASS(GTK_OBJECT_GET_CLASS(e)))
-
-static GnomeCanvasGroupClass *etg_parent_class;
-
-enum {
- CURSOR_CHANGE,
- CURSOR_ACTIVATED,
- DOUBLE_CLICK,
- RIGHT_CLICK,
- CLICK,
- KEY_PRESS,
- START_DRAG,
- LAST_SIGNAL
-};
-
-static guint etg_signals [LAST_SIGNAL] = { 0, };
-
-static gboolean etg_get_focus (ETableGroup *etg);
-
-static void
-etg_dispose (GObject *object)
-{
- ETableGroup *etg = E_TABLE_GROUP(object);
-
- if (etg->header) {
- g_object_unref (etg->header);
- etg->header = NULL;
- }
-
- if (etg->full_header) {
- g_object_unref (etg->full_header);
- etg->full_header = NULL;
- }
-
- if (etg->model) {
- g_object_unref (etg->model);
- etg->model = NULL;
- }
-
- if (G_OBJECT_CLASS (etg_parent_class)->dispose)
- G_OBJECT_CLASS (etg_parent_class)->dispose (object);
-}
-
-/**
- * e_table_group_new
- * @parent: The %GnomeCanvasGroup to create a child of.
- * @full_header: The full header of the %ETable.
- * @header: The current header of the %ETable.
- * @model: The %ETableModel of the %ETable.
- * @sort_info: The %ETableSortInfo of the %ETable.
- * @n: The grouping information object to group by.
- *
- * %ETableGroup is a collection of rows of an %ETable. It's a
- * %GnomeCanvasItem. There are two different forms. If n < the
- * number of groupings in the given %ETableSortInfo, then the
- * %ETableGroup will need to contain other %ETableGroups, thus it
- * creates an %ETableGroupContainer. Otherwise, it will just contain
- * an %ETableItem, and thus it creates an %ETableGroupLeaf.
- *
- * Returns: The new %ETableGroup.
- */
-ETableGroup *
-e_table_group_new (GnomeCanvasGroup *parent,
- ETableHeader *full_header,
- ETableHeader *header,
- ETableModel *model,
- ETableSortInfo *sort_info,
- int n)
-{
- g_return_val_if_fail (model != NULL, NULL);
-
- if (n < e_table_sort_info_grouping_get_count(sort_info)) {
- return e_table_group_container_new (parent, full_header, header, model, sort_info, n);
- } else {
- return e_table_group_leaf_new (parent, full_header, header, model, sort_info);
- }
- return NULL;
-}
-
-/**
- * e_table_group_construct
- * @parent: The %GnomeCanvasGroup to create a child of.
- * @etg: The %ETableGroup to construct.
- * @full_header: The full header of the %ETable.
- * @header: The current header of the %ETable.
- * @model: The %ETableModel of the %ETable.
- *
- * This routine does the base construction of the %ETableGroup.
- */
-void
-e_table_group_construct (GnomeCanvasGroup *parent,
- ETableGroup *etg,
- ETableHeader *full_header,
- ETableHeader *header,
- ETableModel *model)
-{
- etg->full_header = full_header;
- g_object_ref (etg->full_header);
- etg->header = header;
- g_object_ref (etg->header);
- etg->model = model;
- g_object_ref (etg->model);
- g_object_set (G_OBJECT (etg),
- "parent", parent,
- NULL);
-}
-
-/**
- * e_table_group_add
- * @etg: The %ETableGroup to add a row to
- * @row: The row to add.
- *
- * This routine adds the given row from the %ETableModel to this set
- * of rows.
- */
-void
-e_table_group_add (ETableGroup *etg,
- gint row)
-{
- g_return_if_fail (etg != NULL);
- g_return_if_fail (E_IS_TABLE_GROUP (etg));
-
- g_assert (ETG_CLASS (etg)->add != NULL);
- ETG_CLASS (etg)->add (etg, row);
-}
-
-/**
- * e_table_group_add_array
- * @etg: The %ETableGroup to add to
- * @array: The array to add.
- * @count: The number of times to add
- *
- * This routine adds all the rows in the array to this set of rows.
- * It assumes that the array is already sorted properly.
- */
-void
-e_table_group_add_array (ETableGroup *etg,
- const int *array,
- int count)
-{
- g_return_if_fail (etg != NULL);
- g_return_if_fail (E_IS_TABLE_GROUP (etg));
-
- g_assert (ETG_CLASS (etg)->add_array != NULL);
- ETG_CLASS (etg)->add_array (etg, array, count);
-}
-
-/**
- * e_table_group_add_all
- * @etg: The %ETableGroup to add to
- *
- * This routine adds all the rows from the %ETableModel to this set
- * of rows.
- */
-void
-e_table_group_add_all (ETableGroup *etg)
-{
- g_return_if_fail (etg != NULL);
- g_return_if_fail (E_IS_TABLE_GROUP (etg));
-
- g_assert (ETG_CLASS (etg)->add_all != NULL);
- ETG_CLASS (etg)->add_all (etg);
-}
-
-/**
- * e_table_group_remove
- * @etg: The %ETableGroup to remove a row from
- * @row: The row to remove.
- *
- * This routine removes the given row from the %ETableModel from this
- * set of rows.
- *
- * Returns: TRUE if the row was deleted and FALSE if the row was not
- * found.
- */
-gboolean
-e_table_group_remove (ETableGroup *etg,
- gint row)
-{
- g_return_val_if_fail (etg != NULL, FALSE);
- g_return_val_if_fail (E_IS_TABLE_GROUP (etg), FALSE);
-
- g_assert (ETG_CLASS (etg)->remove != NULL);
- return ETG_CLASS (etg)->remove (etg, row);
-}
-
-/**
- * e_table_group_increment
- * @etg: The %ETableGroup to increment
- * @position: The position to increment from
- * @amount: The amount to increment.
- *
- * This routine adds amount to all rows greater than or equal to
- * position. This is to handle when a row gets inserted into the
- * model.
- */
-void
-e_table_group_increment (ETableGroup *etg,
- gint position,
- gint amount)
-{
- g_return_if_fail (etg != NULL);
- g_return_if_fail (E_IS_TABLE_GROUP (etg));
-
- g_assert (ETG_CLASS (etg)->increment != NULL);
- ETG_CLASS (etg)->increment (etg, position, amount);
-}
-
-/**
- * e_table_group_increment
- * @etg: The %ETableGroup to decrement
- * @position: The position to decrement from
- * @amount: The amount to decrement
- *
- * This routine removes amount from all rows greater than or equal to
- * position. This is to handle when a row gets deleted from the
- * model.
- */
-void
-e_table_group_decrement (ETableGroup *etg,
- gint position,
- gint amount)
-{
- g_return_if_fail (etg != NULL);
- g_return_if_fail (E_IS_TABLE_GROUP (etg));
-
- g_assert (ETG_CLASS (etg)->decrement != NULL);
- ETG_CLASS (etg)->decrement (etg, position, amount);
-}
-
-/**
- * e_table_group_increment
- * @etg: The %ETableGroup to count
- *
- * This routine calculates the number of rows shown in this group.
- *
- * Returns: The number of rows.
- */
-gint
-e_table_group_row_count (ETableGroup *etg)
-{
- g_return_val_if_fail (etg != NULL, 0);
- g_return_val_if_fail (E_IS_TABLE_GROUP (etg), -1);
-
- g_assert (ETG_CLASS (etg)->row_count != NULL);
- return ETG_CLASS (etg)->row_count (etg);
-}
-
-/**
- * e_table_group_set_focus
- * @etg: The %ETableGroup to set
- * @direction: The direction the focus is coming from.
- * @view_col: The column to set the focus in.
- *
- * Sets the focus to this widget. Places the focus in the view column
- * coming from direction direction.
- */
-void
-e_table_group_set_focus (ETableGroup *etg,
- EFocus direction,
- gint view_col)
-{
- g_return_if_fail (etg != NULL);
- g_return_if_fail (E_IS_TABLE_GROUP (etg));
-
- g_assert (ETG_CLASS (etg)->set_focus != NULL);
- ETG_CLASS (etg)->set_focus (etg, direction, view_col);
-}
-
-/**
- * e_table_group_get_focus
- * @etg: The %ETableGroup to check
- *
- * Calculates if this group has the focus.
- *
- * Returns: TRUE if this group has the focus.
- */
-gboolean
-e_table_group_get_focus (ETableGroup *etg)
-{
- g_return_val_if_fail (etg != NULL, FALSE);
- g_return_val_if_fail (E_IS_TABLE_GROUP (etg), FALSE);
-
- g_assert (ETG_CLASS (etg)->get_focus != NULL);
- return ETG_CLASS (etg)->get_focus (etg);
-}
-
-/**
- * e_table_group_get_focus_column
- * @etg: The %ETableGroup to check
- *
- * Calculates which column in this group has the focus.
- *
- * Returns: The column index (view column).
- */
-gint
-e_table_group_get_focus_column (ETableGroup *etg)
-{
- g_return_val_if_fail (etg != NULL, FALSE);
- g_return_val_if_fail (E_IS_TABLE_GROUP (etg), -1);
-
- g_assert (ETG_CLASS (etg)->get_focus_column != NULL);
- return ETG_CLASS (etg)->get_focus_column (etg);
-}
-
-/**
- * e_table_group_get_printable
- * @etg: %ETableGroup which will be printed
- *
- * This routine creates and returns an %EPrintable that can be used to
- * print the given %ETableGroup.
- *
- * Returns: The %EPrintable.
- */
-EPrintable *
-e_table_group_get_printable (ETableGroup *etg)
-{
- g_return_val_if_fail (etg != NULL, NULL);
- g_return_val_if_fail (E_IS_TABLE_GROUP (etg), NULL);
-
- g_assert (ETG_CLASS (etg)->get_printable != NULL);
- return ETG_CLASS (etg)->get_printable (etg);
-}
-
-/**
- * e_table_group_compute_location
- * @eti: %ETableGroup to look in.
- * @x: A pointer to the x location to find in the %ETableGroup.
- * @y: A pointer to the y location to find in the %ETableGroup.
- * @row: A pointer to the location to store the found row in.
- * @col: A pointer to the location to store the found col in.
- *
- * This routine locates the pixel location (*x, *y) in the
- * %ETableGroup. If that location is in the %ETableGroup, *row and
- * *col are set to the view row and column where it was found. If
- * that location is not in the %ETableGroup, the height of the
- * %ETableGroup is removed from the value y points to.
- */
-void
-e_table_group_compute_location (ETableGroup *etg, int *x, int *y, int *row, int *col)
-{
- g_return_if_fail (etg != NULL);
- g_return_if_fail (E_IS_TABLE_GROUP (etg));
-
- g_assert (ETG_CLASS (etg)->compute_location != NULL);
- ETG_CLASS (etg)->compute_location (etg, x, y, row, col);
-}
-
-/**
- * e_table_group_get_position
- * @eti: %ETableGroup to look in.
- * @x: A pointer to the location to store the found x location in.
- * @y: A pointer to the location to store the found y location in.
- * @row: A pointer to the row number to find.
- * @col: A pointer to the col number to find.
- *
- * This routine finds the view cell (row, col) in the #ETableGroup.
- * If that location is in the #ETableGroup *@x and *@y are set to the
- * upper left hand corner of the cell found. If that location is not
- * in the #ETableGroup, the number of rows in the #ETableGroup is
- * removed from the value row points to.
- */
-void
-e_table_group_get_cell_geometry (ETableGroup *etg,
- int *row,
- int *col,
- int *x,
- int *y,
- int *width,
- int *height)
-{
- g_return_if_fail (etg != NULL);
- g_return_if_fail (E_IS_TABLE_GROUP (etg));
-
- g_assert (ETG_CLASS (etg)->get_cell_geometry != NULL);
- ETG_CLASS (etg)->get_cell_geometry (etg, row, col, x, y, width, height);
-}
-
-/**
- * e_table_group_cursor_change
- * @eti: %ETableGroup to emit the signal on
- * @row: The new cursor row (model row)
- *
- * This routine emits the "cursor_change" signal.
- */
-void
-e_table_group_cursor_change (ETableGroup *e_table_group, gint row)
-{
- g_return_if_fail (e_table_group != NULL);
- g_return_if_fail (E_IS_TABLE_GROUP (e_table_group));
-
- g_signal_emit (e_table_group,
- etg_signals [CURSOR_CHANGE], 0,
- row);
-}
-
-/**
- * e_table_group_cursor_activated
- * @eti: %ETableGroup to emit the signal on
- * @row: The cursor row (model row)
- *
- * This routine emits the "cursor_activated" signal.
- */
-void
-e_table_group_cursor_activated (ETableGroup *e_table_group, gint row)
-{
- g_return_if_fail (e_table_group != NULL);
- g_return_if_fail (E_IS_TABLE_GROUP (e_table_group));
-
- g_signal_emit (e_table_group,
- etg_signals [CURSOR_ACTIVATED], 0,
- row);
-}
-
-/**
- * e_table_group_double_click
- * @eti: %ETableGroup to emit the signal on
- * @row: The row clicked on (model row)
- * @col: The col clicked on (model col)
- * @event: The event that caused this signal
- *
- * This routine emits the "double_click" signal.
- */
-void
-e_table_group_double_click (ETableGroup *e_table_group, gint row, gint col, GdkEvent *event)
-{
- g_return_if_fail (e_table_group != NULL);
- g_return_if_fail (E_IS_TABLE_GROUP (e_table_group));
-
- g_signal_emit (e_table_group,
- etg_signals [DOUBLE_CLICK], 0,
- row, col, event);
-}
-
-/**
- * e_table_group_right_click
- * @eti: %ETableGroup to emit the signal on
- * @row: The row clicked on (model row)
- * @col: The col clicked on (model col)
- * @event: The event that caused this signal
- *
- * This routine emits the "right_click" signal.
- */
-gint
-e_table_group_right_click (ETableGroup *e_table_group, gint row, gint col, GdkEvent *event)
-{
- gint return_val = 0;
-
- g_return_val_if_fail (e_table_group != NULL, 0);
- g_return_val_if_fail (E_IS_TABLE_GROUP (e_table_group), 0);
-
- g_signal_emit (e_table_group,
- etg_signals [RIGHT_CLICK], 0,
- row, col, event, &return_val);
-
- return return_val;
-}
-
-/**
- * e_table_group_click
- * @eti: %ETableGroup to emit the signal on
- * @row: The row clicked on (model row)
- * @col: The col clicked on (model col)
- * @event: The event that caused this signal
- *
- * This routine emits the "click" signal.
- */
-gint
-e_table_group_click (ETableGroup *e_table_group, gint row, gint col, GdkEvent *event)
-{
- gint return_val = 0;
-
- g_return_val_if_fail (e_table_group != NULL, 0);
- g_return_val_if_fail (E_IS_TABLE_GROUP (e_table_group), 0);
-
- g_signal_emit (e_table_group,
- etg_signals [CLICK], 0,
- row, col, event, &return_val);
-
- return return_val;
-}
-
-/**
- * e_table_group_key_press
- * @eti: %ETableGroup to emit the signal on
- * @row: The cursor row (model row)
- * @col: The cursor col (model col)
- * @event: The event that caused this signal
- *
- * This routine emits the "key_press" signal.
- */
-gint
-e_table_group_key_press (ETableGroup *e_table_group, gint row, gint col, GdkEvent *event)
-{
- gint return_val = 0;
-
- g_return_val_if_fail (e_table_group != NULL, 0);
- g_return_val_if_fail (E_IS_TABLE_GROUP (e_table_group), 0);
-
- g_signal_emit (e_table_group,
- etg_signals [KEY_PRESS], 0,
- row, col, event, &return_val);
-
- return return_val;
-}
-
-/**
- * e_table_group_start_drag
- * @eti: %ETableGroup to emit the signal on
- * @row: The cursor row (model row)
- * @col: The cursor col (model col)
- * @event: The event that caused this signal
- *
- * This routine emits the "start_drag" signal.
- */
-gint
-e_table_group_start_drag (ETableGroup *e_table_group, gint row, gint col, GdkEvent *event)
-{
- gint return_val = 0;
-
- g_return_val_if_fail (e_table_group != NULL, 0);
- g_return_val_if_fail (E_IS_TABLE_GROUP (e_table_group), 0);
-
- g_signal_emit (e_table_group,
- etg_signals [START_DRAG], 0,
- row, col, event, &return_val);
-
- return return_val;
-}
-
-/**
- * e_table_group_get_header
- * @eti: %ETableGroup to check
- *
- * This routine returns the %ETableGroup's header.
- *
- * Returns: The %ETableHeader.
- */
-ETableHeader *
-e_table_group_get_header (ETableGroup *etg)
-{
- g_return_val_if_fail (etg != NULL, NULL);
- g_return_val_if_fail (E_IS_TABLE_GROUP (etg), NULL);
-
- return etg->header;
-}
-
-static int
-etg_event (GnomeCanvasItem *item, GdkEvent *event)
-{
- ETableGroup *etg = E_TABLE_GROUP (item);
- gboolean return_val = TRUE;
-
- switch (event->type) {
-
- case GDK_FOCUS_CHANGE:
- etg->has_focus = event->focus_change.in;
- return_val = FALSE;
-
- default:
- return_val = FALSE;
- }
- if (return_val == FALSE){
- if (GNOME_CANVAS_ITEM_CLASS(etg_parent_class)->event)
- return GNOME_CANVAS_ITEM_CLASS(etg_parent_class)->event (item, event);
- }
- return return_val;
-
-}
-
-static gboolean
-etg_get_focus (ETableGroup *etg)
-{
- return etg->has_focus;
-}
-
-static void
-etg_class_init (GObjectClass *object_class)
-{
- GnomeCanvasItemClass *item_class = (GnomeCanvasItemClass *) object_class;
- ETableGroupClass *klass = (ETableGroupClass *) object_class;
-
- object_class->dispose = etg_dispose;
-
- item_class->event = etg_event;
-
- klass->cursor_change = NULL;
- klass->cursor_activated = NULL;
- klass->double_click = NULL;
- klass->right_click = NULL;
- klass->click = NULL;
- klass->key_press = NULL;
- klass->start_drag = NULL;
-
- klass->add = NULL;
- klass->add_array = NULL;
- klass->add_all = NULL;
- klass->remove = NULL;
- klass->row_count = NULL;
- klass->increment = NULL;
- klass->decrement = NULL;
- klass->set_focus = NULL;
- klass->get_focus = etg_get_focus;
- klass->get_printable = NULL;
- klass->compute_location = NULL;
- klass->get_cell_geometry = NULL;
-
- etg_parent_class = g_type_class_ref (PARENT_TYPE);
-
- etg_signals [CURSOR_CHANGE] =
- g_signal_new ("cursor_change",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableGroupClass, cursor_change),
- NULL, NULL,
- e_marshal_NONE__INT,
- G_TYPE_NONE, 1, G_TYPE_INT);
-
- etg_signals [CURSOR_ACTIVATED] =
- g_signal_new ("cursor_activated",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableGroupClass, cursor_activated),
- NULL, NULL,
- e_marshal_NONE__INT,
- G_TYPE_NONE, 1, G_TYPE_INT);
-
- etg_signals [DOUBLE_CLICK] =
- g_signal_new ("double_click",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableGroupClass, double_click),
- NULL, NULL,
- e_marshal_NONE__INT_INT_BOXED,
- G_TYPE_NONE, 3, G_TYPE_INT,
- G_TYPE_INT, GDK_TYPE_EVENT);
-
- etg_signals [RIGHT_CLICK] =
- g_signal_new ("right_click",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableGroupClass, right_click),
- NULL, NULL,
- e_marshal_INT__INT_INT_BOXED,
- G_TYPE_INT, 3, G_TYPE_INT, G_TYPE_INT, GDK_TYPE_EVENT);
-
- etg_signals [CLICK] =
- g_signal_new ("click",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableGroupClass, click),
- NULL, NULL,
- e_marshal_INT__INT_INT_BOXED,
- G_TYPE_INT, 3, G_TYPE_INT,
- G_TYPE_INT, GDK_TYPE_EVENT);
-
- etg_signals [KEY_PRESS] =
- g_signal_new ("key_press",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableGroupClass, key_press),
- NULL, NULL,
- e_marshal_INT__INT_INT_BOXED,
- G_TYPE_INT, 3, G_TYPE_INT,
- G_TYPE_INT, GDK_TYPE_EVENT);
-
- etg_signals [START_DRAG] =
- g_signal_new ("start_drag",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableGroupClass, start_drag),
- NULL, NULL,
- e_marshal_INT__INT_INT_BOXED,
- G_TYPE_INT, 3, G_TYPE_INT,
- G_TYPE_INT, GDK_TYPE_EVENT);
-}
-
-E_MAKE_TYPE (e_table_group, "ETableGroup", ETableGroup, etg_class_init, NULL, PARENT_TYPE)
diff --git a/widgets/table/e-table-group.h b/widgets/table/e-table-group.h
deleted file mode 100644
index 2ecd34efe1..0000000000
--- a/widgets/table/e-table-group.h
+++ /dev/null
@@ -1,178 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-group.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_GROUP_H_
-#define _E_TABLE_GROUP_H_
-
-#include <libgnomecanvas/gnome-canvas.h>
-#include <gal/e-table/e-table-model.h>
-#include <gal/e-table/e-table-header.h>
-#include <gal/e-table/e-table-sort-info.h>
-#include <gal/e-table/e-table-defines.h>
-#include <gal/util/e-util.h>
-#include <gal/widgets/e-printable.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_GROUP_TYPE (e_table_group_get_type ())
-#define E_TABLE_GROUP(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_GROUP_TYPE, ETableGroup))
-#define E_TABLE_GROUP_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_GROUP_TYPE, ETableGroupClass))
-#define E_IS_TABLE_GROUP(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_GROUP_TYPE))
-#define E_IS_TABLE_GROUP_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_GROUP_TYPE))
-
-typedef struct {
- GnomeCanvasGroup group;
-
- /*
- * The full header.
- */
- ETableHeader *full_header;
- ETableHeader *header;
-
- /*
- * The model we pull data from.
- */
- ETableModel *model;
-
- /*
- * Whether we should add indentation and open/close markers,
- * or if we just act as containers of subtables.
- */
- guint transparent : 1;
-
- guint has_focus : 1;
-
- guint frozen : 1;
-} ETableGroup;
-
-typedef struct {
- GnomeCanvasGroupClass parent_class;
-
- /* Signals */
- void (*cursor_change) (ETableGroup *etg, int row);
- void (*cursor_activated) (ETableGroup *etg, int row);
- void (*double_click) (ETableGroup *etg, int row, int col, GdkEvent *event);
- gint (*right_click) (ETableGroup *etg, int row, int col, GdkEvent *event);
- gint (*click) (ETableGroup *etg, int row, int col, GdkEvent *event);
- gint (*key_press) (ETableGroup *etg, int row, int col, GdkEvent *event);
- gint (*start_drag) (ETableGroup *etg, int row, int col, GdkEvent *event);
-
- /* Virtual functions. */
- void (*add) (ETableGroup *etg, gint row);
- void (*add_array) (ETableGroup *etg, const int *array, int count);
- void (*add_all) (ETableGroup *etg);
- gboolean (*remove) (ETableGroup *etg, gint row);
- gint (*row_count) (ETableGroup *etg);
- void (*increment) (ETableGroup *etg, gint position, gint amount);
- void (*decrement) (ETableGroup *etg, gint position, gint amount);
- void (*set_focus) (ETableGroup *etg, EFocus direction, gint view_col);
- gboolean (*get_focus) (ETableGroup *etg);
- gint (*get_focus_column) (ETableGroup *etg);
- EPrintable *(*get_printable) (ETableGroup *etg);
- void (*compute_location) (ETableGroup *etg, int *x, int *y, int *row, int *col);
- void (*get_cell_geometry) (ETableGroup *etg, int *row, int *col, int *x, int *y, int *width, int *height);
-
-} ETableGroupClass;
-
-/* Virtual functions */
-void e_table_group_add (ETableGroup *etg,
- gint row);
-void e_table_group_add_array (ETableGroup *etg,
- const int *array,
- int count);
-void e_table_group_add_all (ETableGroup *etg);
-gboolean e_table_group_remove (ETableGroup *etg,
- gint row);
-void e_table_group_increment (ETableGroup *etg,
- gint position,
- gint amount);
-void e_table_group_decrement (ETableGroup *etg,
- gint position,
- gint amount);
-gint e_table_group_row_count (ETableGroup *etg);
-void e_table_group_set_focus (ETableGroup *etg,
- EFocus direction,
- gint view_col);
-gboolean e_table_group_get_focus (ETableGroup *etg);
-gint e_table_group_get_focus_column (ETableGroup *etg);
-ETableHeader *e_table_group_get_header (ETableGroup *etg);
-EPrintable *e_table_group_get_printable (ETableGroup *etg);
-void e_table_group_compute_location (ETableGroup *etg,
- int *x,
- int *y,
- int *row,
- int *col);
-void e_table_group_get_cell_geometry (ETableGroup *etg,
- int *row,
- int *col,
- int *x,
- int *y,
- int *width,
- int *height);
-ETableGroup *e_table_group_new (GnomeCanvasGroup *parent,
- ETableHeader *full_header,
- ETableHeader *header,
- ETableModel *model,
- ETableSortInfo *sort_info,
- int n);
-void e_table_group_construct (GnomeCanvasGroup *parent,
- ETableGroup *etg,
- ETableHeader *full_header,
- ETableHeader *header,
- ETableModel *model);
-
-/* For emitting the signals */
-void e_table_group_cursor_change (ETableGroup *etg,
- gint row);
-void e_table_group_cursor_activated (ETableGroup *etg,
- gint row);
-void e_table_group_double_click (ETableGroup *etg,
- gint row,
- gint col,
- GdkEvent *event);
-gint e_table_group_right_click (ETableGroup *etg,
- gint row,
- gint col,
- GdkEvent *event);
-gint e_table_group_click (ETableGroup *etg,
- gint row,
- gint col,
- GdkEvent *event);
-gint e_table_group_key_press (ETableGroup *etg,
- gint row,
- gint col,
- GdkEvent *event);
-gint e_table_group_start_drag (ETableGroup *etg,
- gint row,
- gint col,
- GdkEvent *event);
-GType e_table_group_get_type (void);
-
-typedef void (*ETableGroupLeafFn) (void *e_table_item, void *closure);
-void e_table_group_apply_to_leafs (ETableGroup *etg,
- ETableGroupLeafFn fn,
- void *closure);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_GROUP_H_ */
diff --git a/widgets/table/e-table-header-item.c b/widgets/table/e-table-header-item.c
deleted file mode 100644
index 265d29fed0..0000000000
--- a/widgets/table/e-table-header-item.c
+++ /dev/null
@@ -1,1910 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-header-item.c
- * Copyright 1999, 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Miguel de Icaza (miguel@gnu.org)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-
-#include "e-table-header-item.h"
-
-#include <string.h>
-#include <gtk/gtksignal.h>
-#include <gtk/gtkdnd.h>
-#include <gtk/gtkimage.h>
-#include <libgnomecanvas/gnome-canvas.h>
-#include <libgnomecanvas/gnome-canvas-util.h>
-#include <libgnomecanvas/gnome-canvas-polygon.h>
-#include <libgnomecanvas/gnome-canvas-rect-ellipse.h>
-#include <gdk-pixbuf/gdk-pixbuf.h>
-#include <gdk/gdkkeysyms.h>
-#include "gal/widgets/e-cursors.h"
-#include "gal/util/e-i18n.h"
-#include "gal/util/e-util.h"
-#include "gal/util/e-xml-utils.h"
-#include "gal/util/e-marshal.h"
-#include "gal/widgets/e-canvas.h"
-#include "gal/widgets/e-popup-menu.h"
-#include "gal/widgets/e-gui-utils.h"
-#include "e-table-header.h"
-#include "e-table-header-utils.h"
-#include "e-table-col-dnd.h"
-#include "e-table-defines.h"
-#include "e-table-field-chooser-dialog.h"
-#include "e-table-config.h"
-#include "e-table.h"
-
-#include "add-col.xpm"
-#include "remove-col.xpm"
-#include "arrow-up.xpm"
-#include "arrow-down.xpm"
-
-enum {
- BUTTON_PRESSED,
- LAST_SIGNAL
-};
-
-static guint ethi_signals [LAST_SIGNAL] = { 0, };
-
-#define ARROW_DOWN_HEIGHT 16
-#define ARROW_PTR 7
-
-/* Defines the tolerance for proximity of the column division to the cursor position */
-#define TOLERANCE 4
-
-#define ETHI_RESIZING(x) ((x)->resize_col != -1)
-
-#define PARENT_OBJECT_TYPE gnome_canvas_item_get_type ()
-
-#define ELEMENTS(x) (sizeof (x) / sizeof (x[0]))
-#define d(x)
-
-static GnomeCanvasItemClass *ethi_parent_class;
-
-static void ethi_drop_table_header (ETableHeaderItem *ethi);
-
-/*
- * They display the arrows for the drop location.
- */
-
-static GtkWidget *arrow_up, *arrow_down;
-
-/*
- * DnD icons
- */
-static GdkColormap *dnd_colormap;
-static GdkPixmap *remove_col_pixmap, *remove_col_mask;
-static GdkPixmap *add_col_pixmap, *add_col_mask;
-
-enum {
- PROP_0,
- PROP_TABLE_HEADER,
- PROP_FULL_HEADER,
- PROP_DND_CODE,
- PROP_TABLE_FONTSET,
- PROP_SORT_INFO,
- PROP_TABLE,
- PROP_TREE
-};
-
-enum {
- ET_SCROLL_UP = 1 << 0,
- ET_SCROLL_DOWN = 1 << 1,
- ET_SCROLL_LEFT = 1 << 2,
- ET_SCROLL_RIGHT = 1 << 3
-};
-
-static void scroll_off (ETableHeaderItem *ethi);
-static void scroll_on (ETableHeaderItem *ethi, guint scroll_direction);
-
-static void
-ethi_dispose (GObject *object){
- ETableHeaderItem *ethi = E_TABLE_HEADER_ITEM (object);
-
- ethi_drop_table_header (ethi);
-
- scroll_off (ethi);
-
- if (ethi->dnd_code) {
- g_free (ethi->dnd_code);
- ethi->dnd_code = NULL;
- }
-
- if (ethi->sort_info) {
- if (ethi->sort_info_changed_id)
- g_signal_handler_disconnect (ethi->sort_info, ethi->sort_info_changed_id);
- if (ethi->group_info_changed_id)
- g_signal_handler_disconnect (ethi->sort_info, ethi->group_info_changed_id);
- g_object_unref (ethi->sort_info);
- ethi->sort_info = NULL;
- }
-
- if (ethi->full_header)
- g_object_unref (ethi->full_header);
- ethi->full_header = NULL;
-
-
- if (ethi->etfcd)
- g_object_remove_weak_pointer (G_OBJECT (ethi->etfcd), (gpointer *)&ethi->etfcd);
-
-
- if (ethi->config)
- g_object_unref (ethi->config);
- ethi->config = NULL;
-
- if (G_OBJECT_CLASS (ethi_parent_class)->dispose)
- (*G_OBJECT_CLASS (ethi_parent_class)->dispose) (object);
-}
-
-static int
-e_table_header_item_get_height (ETableHeaderItem *ethi)
-{
- ETableHeader *eth;
- int numcols, col;
- int maxheight;
- GtkStyle *style;
-
- g_return_val_if_fail (ethi != NULL, 0);
- g_return_val_if_fail (E_IS_TABLE_HEADER_ITEM (ethi), 0);
-
- eth = ethi->eth;
- numcols = e_table_header_count (eth);
-
- maxheight = 0;
-
- style = GTK_WIDGET (GNOME_CANVAS_ITEM (ethi)->canvas)->style;
-
- for (col = 0; col < numcols; col++) {
- ETableCol *ecol = e_table_header_get_column (eth, col);
- int height;
-
- height = e_table_header_compute_height (ecol,
- GTK_WIDGET (GNOME_CANVAS_ITEM (ethi)->canvas));
-
- if (height > maxheight)
- maxheight = height;
- }
-
- return maxheight;
-}
-
-static void
-ethi_update (GnomeCanvasItem *item, double *affine, ArtSVP *clip_path, int flags)
-{
- ETableHeaderItem *ethi = E_TABLE_HEADER_ITEM (item);
-
- double i2c [6];
- ArtPoint c1, c2, i1, i2;
-
- if (GNOME_CANVAS_ITEM_CLASS (ethi_parent_class)->update)
- (*GNOME_CANVAS_ITEM_CLASS (ethi_parent_class)->update)(item, affine, clip_path, flags);
-
- if (ethi->sort_info)
- ethi->group_indent_width = e_table_sort_info_grouping_get_count(ethi->sort_info) * GROUP_INDENT;
- else
- ethi->group_indent_width = 0;
-
- ethi->width = e_table_header_total_width (ethi->eth) + ethi->group_indent_width;
-
- i1.x = i1.y = 0;
- i2.x = ethi->width;
- i2.y = ethi->height;
-
- gnome_canvas_item_i2c_affine (item, i2c);
- art_affine_point (&c1, &i1, i2c);
- art_affine_point (&c2, &i2, i2c);
-
- if (item->x1 != c1.x ||
- item->y1 != c1.y ||
- item->x2 != c2.x ||
- item->y2 != c2.y)
- {
- gnome_canvas_request_redraw (item->canvas, item->x1, item->y1, item->x2, item->y2);
- item->x1 = c1.x;
- item->y1 = c1.y;
- item->x2 = c2.x;
- item->y2 = c2.y;
-#ifndef NO_WARNINGS
-#warning FOO BAA
-#endif
-#if 0
- gnome_canvas_group_child_bounds (GNOME_CANVAS_GROUP (item->parent), item);
-#endif
- }
- gnome_canvas_request_redraw (item->canvas, item->x1, item->y1, item->x2, item->y2);
-}
-
-static void
-ethi_font_set (ETableHeaderItem *ethi, GdkFont *font)
-{
- if (ethi->font)
- gdk_font_unref (ethi->font);
-
- ethi->font = font;
- gdk_font_ref (font);
-
- ethi->height = e_table_header_item_get_height (ethi);
- e_canvas_item_request_reflow(GNOME_CANVAS_ITEM(ethi));
-}
-
-static void
-ethi_font_load (ETableHeaderItem *ethi, const char *fontname)
-{
- GdkFont *font = NULL;
-
- if (fontname != NULL)
- font = gdk_fontset_load (fontname);
-
- if (font == NULL) {
- font = gtk_style_get_font (GTK_WIDGET (GNOME_CANVAS_ITEM (ethi)->canvas)->style);
- gdk_font_ref (font);
- }
-
- ethi_font_set (ethi, font);
- gdk_font_unref (font);
-}
-
-static void
-ethi_drop_table_header (ETableHeaderItem *ethi)
-{
- GObject *header;
-
- if (!ethi->eth)
- return;
-
- header = G_OBJECT (ethi->eth);
- g_signal_handler_disconnect (header, ethi->structure_change_id);
- g_signal_handler_disconnect (header, ethi->dimension_change_id);
-
- g_object_unref (header);
- ethi->eth = NULL;
- ethi->width = 0;
-}
-
-static void
-structure_changed (ETableHeader *header, ETableHeaderItem *ethi)
-{
- gnome_canvas_item_request_update(GNOME_CANVAS_ITEM(ethi));
-}
-
-static void
-dimension_changed (ETableHeader *header, int col, ETableHeaderItem *ethi)
-{
- gnome_canvas_item_request_update(GNOME_CANVAS_ITEM(ethi));
-}
-
-static void
-ethi_add_table_header (ETableHeaderItem *ethi, ETableHeader *header)
-{
- ethi->eth = header;
- g_object_ref (ethi->eth);
-
- ethi->height = e_table_header_item_get_height (ethi);
-
- ethi->structure_change_id = g_signal_connect (
- header, "structure_change",
- G_CALLBACK (structure_changed), ethi);
- ethi->dimension_change_id = g_signal_connect (
- header, "dimension_change",
- G_CALLBACK (dimension_changed), ethi);
- e_canvas_item_request_reflow(GNOME_CANVAS_ITEM(ethi));
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM(ethi));
-}
-
-static void
-ethi_sort_info_changed (ETableSortInfo *sort_info, ETableHeaderItem *ethi)
-{
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM(ethi));
-}
-
-static void
-ethi_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- GnomeCanvasItem *item;
- ETableHeaderItem *ethi;
-
- item = GNOME_CANVAS_ITEM (object);
- ethi = E_TABLE_HEADER_ITEM (object);
-
- switch (prop_id){
- case PROP_TABLE_HEADER:
- ethi_drop_table_header (ethi);
- ethi_add_table_header (ethi, E_TABLE_HEADER(g_value_get_object (value)));
- break;
-
- case PROP_FULL_HEADER:
- if (ethi->full_header)
- g_object_unref(ethi->full_header);
- ethi->full_header = E_TABLE_HEADER(g_value_get_object (value));
- if (ethi->full_header)
- g_object_ref(ethi->full_header);
- break;
-
- case PROP_DND_CODE:
- g_free(ethi->dnd_code);
- ethi->dnd_code = g_strdup (g_value_get_string (value));
- break;
-
- case PROP_TABLE_FONTSET:
- ethi_font_load (ethi, g_value_get_string (value));
- break;
-
- case PROP_SORT_INFO:
- if (ethi->sort_info){
- if (ethi->sort_info_changed_id)
- g_signal_handler_disconnect (
- ethi->sort_info,
- ethi->sort_info_changed_id);
-
- if (ethi->group_info_changed_id)
- g_signal_handler_disconnect (
- ethi->sort_info,
- ethi->group_info_changed_id);
- g_object_unref (ethi->sort_info);
- }
- ethi->sort_info = g_value_get_object (value);
- g_object_ref (ethi->sort_info);
- ethi->sort_info_changed_id =
- g_signal_connect (
- ethi->sort_info, "sort_info_changed",
- G_CALLBACK (ethi_sort_info_changed), ethi);
- ethi->group_info_changed_id =
- g_signal_connect (
- ethi->sort_info, "group_info_changed",
- G_CALLBACK(ethi_sort_info_changed), ethi);
- break;
- case PROP_TABLE:
- if (g_value_get_object (value))
- ethi->table = E_TABLE(g_value_get_object (value));
- else
- ethi->table = NULL;
- break;
- case PROP_TREE:
- if (g_value_get_object (value))
- ethi->tree = E_TREE(g_value_get_object (value));
- else
- ethi->tree = NULL;
- break;
- }
- gnome_canvas_item_request_update(item);
-}
-
-static void
-ethi_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
- ETableHeaderItem *ethi;
-
- ethi = E_TABLE_HEADER_ITEM (object);
-
- switch (prop_id){
- case PROP_FULL_HEADER:
- g_value_set_object (value, ethi->full_header);
- break;
- case PROP_DND_CODE:
- g_value_set_string (value, g_strdup (ethi->dnd_code));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static int
-ethi_find_col_by_x (ETableHeaderItem *ethi, int x)
-{
- const int cols = e_table_header_count (ethi->eth);
- int x1 = 0;
- int col;
-
- d(g_print ("%s:%d: x = %d, x1 = %d\n", __FUNCTION__, __LINE__, x, x1));
-
- x1 += ethi->group_indent_width;
-
- if (x < x1) {
- d(g_print ("%s:%d: Returning 0\n", __FUNCTION__, __LINE__));
- return 0;
- }
-
- for (col = 0; col < cols; col++){
- ETableCol *ecol = e_table_header_get_column (ethi->eth, col);
-
- if ((x >= x1) && (x <= x1 + ecol->width)) {
- d(g_print ("%s:%d: Returning %d\n", __FUNCTION__, __LINE__, col));
- return col;
- }
-
- x1 += ecol->width;
- }
- d(g_print ("%s:%d: Returning %d\n", __FUNCTION__, __LINE__, cols - 1));
- return cols - 1;
-}
-
-static int
-ethi_find_col_by_x_nearest (ETableHeaderItem *ethi, int x)
-{
- const int cols = e_table_header_count (ethi->eth);
- int x1 = 0;
- int col;
-
- x1 += ethi->group_indent_width;
-
- if (x < x1)
- return 0;
-
- for (col = 0; col < cols; col++){
- ETableCol *ecol = e_table_header_get_column (ethi->eth, col);
-
- x1 += (ecol->width / 2);
-
- if (x <= x1)
- return col;
-
- x1 += (ecol->width + 1) / 2;
- }
- return col;
-}
-
-static void
-ethi_remove_drop_marker (ETableHeaderItem *ethi)
-{
- if (ethi->drag_mark == -1)
- return;
-
- gtk_widget_hide (arrow_up);
- gtk_widget_hide (arrow_down);
-
- ethi->drag_mark = -1;
-}
-
-static GtkWidget *
-make_shaped_window_from_xpm (const char **xpm)
-{
- GdkPixbuf *pixbuf;
- GdkPixmap *pixmap;
- GdkBitmap *bitmap;
- GtkWidget *win, *pix;
-
- pixbuf = gdk_pixbuf_new_from_xpm_data (xpm);
- gdk_pixbuf_render_pixmap_and_mask (pixbuf, &pixmap, &bitmap, 128);
- gdk_pixbuf_unref (pixbuf);
-
- gtk_widget_push_colormap (gdk_rgb_get_cmap ());
- win = gtk_window_new (GTK_WINDOW_POPUP);
-
- pix = gtk_image_new_from_pixmap (pixmap, bitmap);
- gtk_widget_realize (win);
- gtk_container_add (GTK_CONTAINER (win), pix);
- gtk_widget_shape_combine_mask (win, bitmap, 0, 0);
- gtk_widget_pop_colormap ();
-
- gdk_pixmap_unref (pixmap);
- gdk_bitmap_unref (bitmap);
-
- return win;
-}
-
-static void
-ethi_add_drop_marker (ETableHeaderItem *ethi, int col, gboolean recreate)
-{
- int rx, ry;
- int x;
-
- if (!recreate && ethi->drag_mark == col)
- return;
-
- ethi->drag_mark = col;
-
- x = e_table_header_col_diff (ethi->eth, 0, col);
- if (col > 0)
- x += ethi->group_indent_width;
-
- if (!arrow_up){
- arrow_up = make_shaped_window_from_xpm (arrow_up_xpm);
- arrow_down = make_shaped_window_from_xpm (arrow_down_xpm);
- }
-
- gdk_window_get_origin (
- GTK_WIDGET (GNOME_CANVAS_ITEM (ethi)->canvas)->window,
- &rx, &ry);
-
- rx -= gtk_layout_get_hadjustment (GTK_LAYOUT (GNOME_CANVAS_ITEM (ethi)->canvas))->value;
- ry -= gtk_layout_get_vadjustment (GTK_LAYOUT (GNOME_CANVAS_ITEM (ethi)->canvas))->value;
-
- gtk_widget_set_uposition (arrow_down, rx + x - ARROW_PTR, ry - ARROW_DOWN_HEIGHT);
- gtk_widget_show_all (arrow_down);
-
- gtk_widget_set_uposition (arrow_up, rx + x - ARROW_PTR, ry + ethi->height);
- gtk_widget_show_all (arrow_up);
-}
-
-#define gray50_width 2
-#define gray50_height 2
-static char gray50_bits [] = {
- 0x02, 0x01, };
-
-static void
-ethi_add_destroy_marker (ETableHeaderItem *ethi)
-{
- double x1;
-
- if (ethi->remove_item)
- gtk_object_destroy (GTK_OBJECT (ethi->remove_item));
-
- if (!ethi->stipple)
- ethi->stipple = gdk_bitmap_create_from_data (
- NULL, gray50_bits, gray50_width, gray50_height);
-
- x1 = (double) e_table_header_col_diff (ethi->eth, 0, ethi->drag_col);
- if (ethi->drag_col > 0)
- x1 += ethi->group_indent_width;
-
- ethi->remove_item = gnome_canvas_item_new (
- GNOME_CANVAS_GROUP (GNOME_CANVAS_ITEM (ethi)->canvas->root),
- gnome_canvas_rect_get_type (),
- "x1", x1 + 1,
- "y1", (double) 1,
- "x2", (double) x1 + e_table_header_col_diff (
- ethi->eth, ethi->drag_col, ethi->drag_col+1) - 2,
-
- "y2", (double) ethi->height - 2,
- "fill_color", "red",
- "fill_stipple", ethi->stipple,
- NULL);
-}
-
-static void
-ethi_remove_destroy_marker (ETableHeaderItem *ethi)
-{
- if (!ethi->remove_item)
- return;
-
- gtk_object_destroy (GTK_OBJECT (ethi->remove_item));
- ethi->remove_item = NULL;
-}
-
-#if 0
-static gboolean
-moved (ETableHeaderItem *ethi, guint col, guint model_col)
-{
- if (col == -1)
- return TRUE;
- ecol = e_table_header_get_column (ethi->eth, col);
- if (ecol->col_idx == model_col)
- return FALSE;
- if (col > 0) {
- ecol = e_table_header_get_column (ethi->eth, col - 1);
- if (ecol->col_idx == model_col)
- return FALSE;
- }
- return TRUE;
-}
-#endif
-
-static void
-do_drag_motion(ETableHeaderItem *ethi,
- GdkDragContext *context,
- gint x,
- gint y,
- guint time,
- gboolean recreate)
-{
- d(g_print("In do_drag_motion\n"));
- d(g_print("x = %d, y = %d, ethi->width = %d, ethi->height = %d\n", x, y, ethi->width, ethi->height));
-
- if ((x >= 0) && (x <= (ethi->width)) &&
- (y >= 0) && (y <= (ethi->height))){
- int col;
- d(g_print("In header\n"));
-
- col = ethi_find_col_by_x_nearest (ethi, x);
-
- if (ethi->drag_col != -1 && (col == ethi->drag_col || col == ethi->drag_col + 1)) {
- if (ethi->drag_col != -1)
- ethi_remove_destroy_marker (ethi);
-
- ethi_remove_drop_marker (ethi);
- gdk_drag_status (context, context->suggested_action, time);
- }
- else if (col != -1){
- if (ethi->drag_col != -1)
- ethi_remove_destroy_marker (ethi);
-
- ethi_add_drop_marker (ethi, col, recreate);
- gdk_drag_status (context, context->suggested_action, time);
- } else {
- ethi_remove_drop_marker (ethi);
- if (ethi->drag_col != -1)
- ethi_add_destroy_marker (ethi);
- }
- } else {
- ethi_remove_drop_marker (ethi);
- if (ethi->drag_col != -1)
- ethi_add_destroy_marker (ethi);
- }
-}
-
-static gboolean
-scroll_timeout (gpointer data)
-{
- ETableHeaderItem *ethi = data;
- int dx = 0;
- GtkAdjustment *h, *v;
- double value;
-
- if (ethi->scroll_direction & ET_SCROLL_RIGHT)
- dx += 20;
- if (ethi->scroll_direction & ET_SCROLL_LEFT)
- dx -= 20;
-
- h = GTK_LAYOUT(GNOME_CANVAS_ITEM (ethi)->canvas)->hadjustment;
- v = GTK_LAYOUT(GNOME_CANVAS_ITEM (ethi)->canvas)->vadjustment;
-
- value = h->value;
-
- gtk_adjustment_set_value(h, CLAMP(h->value + dx, h->lower, h->upper - h->page_size));
-
- if (h->value != value)
- do_drag_motion(ethi,
- ethi->last_drop_context,
- ethi->last_drop_x + h->value,
- ethi->last_drop_y + v->value,
- ethi->last_drop_time,
- TRUE);
-
- return TRUE;
-}
-
-static void
-scroll_on (ETableHeaderItem *ethi, guint scroll_direction)
-{
- if (ethi->scroll_idle_id == 0 || scroll_direction != ethi->scroll_direction) {
- if (ethi->scroll_idle_id != 0)
- g_source_remove (ethi->scroll_idle_id);
- ethi->scroll_direction = scroll_direction;
- ethi->scroll_idle_id = g_timeout_add (100, scroll_timeout, ethi);
- }
-}
-
-static void
-scroll_off (ETableHeaderItem *ethi)
-{
- if (ethi->scroll_idle_id) {
- g_source_remove (ethi->scroll_idle_id);
- ethi->scroll_idle_id = 0;
- }
-}
-
-static void
-context_destroyed (gpointer data)
-{
- ETableHeaderItem *ethi = data;
-
- ethi->last_drop_x = 0;
- ethi->last_drop_y = 0;
- ethi->last_drop_time = 0;
- ethi->last_drop_context = NULL;
- scroll_off (ethi);
-
- g_object_unref (ethi);
-}
-
-static void
-context_connect (ETableHeaderItem *ethi, GdkDragContext *context)
-{
- if (g_dataset_get_data (context, "e-table-header-item") == NULL) {
- g_object_ref (ethi);
- g_dataset_set_data_full (context, "e-table-header-item", ethi, context_destroyed);
- }
-}
-
-static gboolean
-ethi_drag_motion (GtkWidget *widget, GdkDragContext *context,
- gint x, gint y, guint time,
- ETableHeaderItem *ethi)
-{
- char *droptype, *headertype;
- guint direction = 0;
-
- gdk_drag_status (context, 0, time);
-
- droptype = gdk_atom_name (GDK_POINTER_TO_ATOM (context->targets->data));
- headertype = g_strdup_printf ("%s-%s", TARGET_ETABLE_COL_TYPE,
- ethi->dnd_code);
-
- if (strcmp (droptype, headertype) != 0) {
- g_free (headertype);
- return FALSE;
- }
-
- g_free (headertype);
-
- d(g_print ("y = %d, widget->allocation.y = %d, GTK_LAYOUT (widget)->vadjustment->value = %f\n", y, widget->allocation.y, GTK_LAYOUT (widget)->vadjustment->value));
-
- if (x < 20)
- direction |= ET_SCROLL_LEFT;
- if (x > widget->allocation.width - 20)
- direction |= ET_SCROLL_RIGHT;
-
- ethi->last_drop_x = x;
- ethi->last_drop_y = y;
- ethi->last_drop_time = time;
- ethi->last_drop_context = context;
- context_connect (ethi, context);
-
- do_drag_motion (ethi,
- context,
- x + GTK_LAYOUT(widget)->hadjustment->value,
- y + GTK_LAYOUT(widget)->vadjustment->value,
- time,
- FALSE);
-
- if (direction != 0)
- scroll_on (ethi, direction);
- else
- scroll_off (ethi);
-
- return TRUE;
-}
-
-static void
-ethi_drag_end (GtkWidget *canvas, GdkDragContext *context, ETableHeaderItem *ethi)
-{
- if (context->action == 0) {
- e_table_header_remove (ethi->eth, ethi->drag_col);
- gnome_canvas_item_request_update(GNOME_CANVAS_ITEM(ethi));
- }
- ethi_remove_drop_marker (ethi);
- ethi_remove_destroy_marker (ethi);
- ethi->drag_col = -1;
- scroll_off (ethi);
-}
-
-static void
-ethi_drag_data_received (GtkWidget *canvas,
- GdkDragContext *drag_context,
- gint x,
- gint y,
- GtkSelectionData *data,
- guint info,
- guint time,
- ETableHeaderItem *ethi)
-{
- int found = FALSE;
- int count;
- int column;
- int drop_col;
- int i;
-
- if (data->data) {
- count = e_table_header_count(ethi->eth);
- column = atoi(data->data);
- drop_col = ethi->drop_col;
- ethi->drop_col = -1;
-
- if (column >= 0) {
- for (i = 0; i < count; i++) {
- ETableCol *ecol = e_table_header_get_column (ethi->eth, i);
- if (ecol->col_idx == column) {
- e_table_header_move(ethi->eth, i, drop_col);
- found = TRUE;
- break;
- }
- }
- if (!found) {
- count = e_table_header_count(ethi->full_header);
- for (i = 0; i < count; i++) {
- ETableCol *ecol = e_table_header_get_column (ethi->full_header, i);
- if (ecol->col_idx == column) {
- e_table_header_add_column (ethi->eth, ecol, drop_col);
- break;
- }
- }
- }
- }
- }
- ethi_remove_drop_marker (ethi);
- gnome_canvas_item_request_update(GNOME_CANVAS_ITEM(ethi));
-}
-
-static void
-ethi_drag_data_get (GtkWidget *canvas,
- GdkDragContext *context,
- GtkSelectionData *selection_data,
- guint info,
- guint time,
- ETableHeaderItem *ethi)
-{
- if (ethi->drag_col != -1) {
- ETableCol *ecol = e_table_header_get_column (ethi->eth, ethi->drag_col);
-
- gchar *string = g_strdup_printf("%d", ecol->col_idx);
- gtk_selection_data_set(selection_data,
- GDK_SELECTION_TYPE_STRING,
- sizeof(string[0]),
- string,
- strlen(string));
- g_free(string);
- }
-}
-
-static gboolean
-ethi_drag_drop (GtkWidget *canvas,
- GdkDragContext *context,
- gint x,
- gint y,
- guint time,
- ETableHeaderItem *ethi)
-{
- gboolean successful = FALSE;
-
- if ((x >= 0) && (x <= (ethi->width)) &&
- (y >= 0) && (y <= (ethi->height))){
- int col;
-
- col = ethi_find_col_by_x_nearest (ethi, x);
-
- ethi_add_drop_marker (ethi, col, FALSE);
-
- ethi->drop_col = col;
-
- if (col != -1) {
- char *target = g_strdup_printf ("%s-%s", TARGET_ETABLE_COL_TYPE, ethi->dnd_code);
- d(g_print ("ethi - %s\n", target));
- gtk_drag_get_data (canvas, context, gdk_atom_intern(target, FALSE), time);
- g_free (target);
- }
- }
- gtk_drag_finish (context, successful, successful, time);
- scroll_off (ethi);
- return successful;
-}
-
-static void
-ethi_drag_leave (GtkWidget *widget, GdkDragContext *context, guint time, ETableHeaderItem *ethi)
-{
- ethi_remove_drop_marker (ethi);
- if (ethi->drag_col != -1)
- ethi_add_destroy_marker (ethi);
-}
-
-static void
-ethi_realize (GnomeCanvasItem *item)
-{
- ETableHeaderItem *ethi = E_TABLE_HEADER_ITEM (item);
- GdkWindow *window;
- GtkTargetEntry ethi_drop_types [] = {
- { TARGET_ETABLE_COL_TYPE, 0, TARGET_ETABLE_COL_HEADER },
- };
-
-
- if (GNOME_CANVAS_ITEM_CLASS (ethi_parent_class)-> realize)
- (*GNOME_CANVAS_ITEM_CLASS (ethi_parent_class)->realize)(item);
-
- window = GTK_WIDGET (item->canvas)->window;
-
- if (!ethi->font)
- ethi_font_set (ethi, gtk_style_get_font (GTK_WIDGET (item->canvas)->style));
-
- /*
- * Now, configure DnD
- */
- ethi_drop_types[0].target = g_strdup_printf("%s-%s", ethi_drop_types[0].target, ethi->dnd_code);
- gtk_drag_dest_set (GTK_WIDGET (item->canvas), 0,
- ethi_drop_types, ELEMENTS (ethi_drop_types),
- GDK_ACTION_MOVE);
- g_free(ethi_drop_types[0].target);
-
- /* Drop signals */
- ethi->drag_motion_id = g_signal_connect (item->canvas, "drag_motion",
- G_CALLBACK (ethi_drag_motion), ethi);
- ethi->drag_leave_id = g_signal_connect (item->canvas, "drag_leave",
- G_CALLBACK (ethi_drag_leave), ethi);
- ethi->drag_drop_id = g_signal_connect (item->canvas, "drag_drop",
- G_CALLBACK (ethi_drag_drop), ethi);
- ethi->drag_data_received_id = g_signal_connect (item->canvas, "drag_data_received",
- G_CALLBACK (ethi_drag_data_received), ethi);
-
- /* Drag signals */
- ethi->drag_end_id = g_signal_connect (item->canvas, "drag_end",
- G_CALLBACK (ethi_drag_end), ethi);
- ethi->drag_data_get_id = g_signal_connect (item->canvas, "drag_data_get",
- G_CALLBACK (ethi_drag_data_get), ethi);
-
-}
-
-static void
-ethi_unrealize (GnomeCanvasItem *item)
-{
- ETableHeaderItem *ethi = E_TABLE_HEADER_ITEM (item);
-
- gdk_font_unref (ethi->font);
-
- g_signal_handler_disconnect (item->canvas, ethi->drag_motion_id);
- g_signal_handler_disconnect (item->canvas, ethi->drag_leave_id);
- g_signal_handler_disconnect (item->canvas, ethi->drag_drop_id);
- g_signal_handler_disconnect (item->canvas, ethi->drag_data_received_id);
-
- g_signal_handler_disconnect (item->canvas, ethi->drag_end_id);
- g_signal_handler_disconnect (item->canvas, ethi->drag_data_get_id);
-
- gtk_drag_dest_unset (GTK_WIDGET (item->canvas));
-
- if (ethi->stipple){
- gdk_bitmap_unref (ethi->stipple);
- ethi->stipple = NULL;
- }
-
- if (GNOME_CANVAS_ITEM_CLASS (ethi_parent_class)->unrealize)
- (*GNOME_CANVAS_ITEM_CLASS (ethi_parent_class)->unrealize)(item);
-}
-
-static void
-ethi_draw (GnomeCanvasItem *item, GdkDrawable *drawable, int x, int y, int width, int height)
-{
- ETableHeaderItem *ethi = E_TABLE_HEADER_ITEM (item);
- GnomeCanvas *canvas = item->canvas;
- const int cols = e_table_header_count (ethi->eth);
- int x1, x2;
- int col;
- GHashTable *arrows = g_hash_table_new (NULL, NULL);
-
-
- if (ethi->sort_info) {
- int length = e_table_sort_info_grouping_get_count(ethi->sort_info);
- int i;
- for (i = 0; i < length; i++) {
- ETableSortColumn column = e_table_sort_info_grouping_get_nth(ethi->sort_info, i);
- g_hash_table_insert (arrows,
- GINT_TO_POINTER (column.column),
- GINT_TO_POINTER (column.ascending ?
- E_TABLE_COL_ARROW_DOWN :
- E_TABLE_COL_ARROW_UP));
- }
- length = e_table_sort_info_sorting_get_count(ethi->sort_info);
- for (i = 0; i < length; i++) {
- ETableSortColumn column = e_table_sort_info_sorting_get_nth(ethi->sort_info, i);
- g_hash_table_insert (arrows,
- GINT_TO_POINTER (column.column),
- GINT_TO_POINTER (column.ascending ?
- E_TABLE_COL_ARROW_DOWN :
- E_TABLE_COL_ARROW_UP));
- }
- }
-
- ethi->width = e_table_header_total_width (ethi->eth) + ethi->group_indent_width;
- x1 = x2 = 0;
- x2 += ethi->group_indent_width;
- for (col = 0; col < cols; col++, x1 = x2){
- ETableCol *ecol = e_table_header_get_column (ethi->eth, col);
- int col_width;
-
- col_width = ecol->width;
-
- x2 += col_width;
-
- if (x1 > (x + width))
- break;
-
- if (x2 < x)
- continue;
-
- if (x2 <= x1)
- continue;
-
- e_table_header_draw_button (drawable, ecol,
- GTK_WIDGET (canvas)->style,
- GTK_WIDGET_STATE (canvas),
- GTK_WIDGET (canvas),
- x1 - x, -y,
- width, height,
- x2 - x1, ethi->height,
- (ETableColArrow) g_hash_table_lookup (
- arrows, GINT_TO_POINTER (ecol->col_idx)));
- }
-
- g_hash_table_destroy (arrows);
-}
-
-static double
-ethi_point (GnomeCanvasItem *item, double x, double y, int cx, int cy,
- GnomeCanvasItem **actual_item)
-{
- *actual_item = item;
- return 0.0;
-}
-
-/*
- * is_pointer_on_division:
- *
- * Returns whether @pos is a column header division; If @the_total is not NULL,
- * then the actual position is returned here. If @return_ecol is not NULL,
- * then the ETableCol that actually contains this point is returned here
- */
-static gboolean
-is_pointer_on_division (ETableHeaderItem *ethi, int pos, int *the_total, int *return_col)
-{
- const int cols = e_table_header_count (ethi->eth);
- int col, total;
-
- total = 0;
- for (col = 0; col < cols; col++){
- ETableCol *ecol = e_table_header_get_column (ethi->eth, col);
-
- if (col == 0)
- total += ethi->group_indent_width;
-
- total += ecol->width;
-
- if ((total - TOLERANCE < pos)&& (pos < total + TOLERANCE)){
- if (return_col)
- *return_col = col;
- if (the_total)
- *the_total = total;
-
- return TRUE;
- }
- if (return_col)
- *return_col = col;
-
- if (total > pos + TOLERANCE)
- return FALSE;
- }
-
- return FALSE;
-}
-
-#define convert(c,sx,sy,x,y) gnome_canvas_w2c (c,sx,sy,x,y)
-
-static void
-set_cursor (ETableHeaderItem *ethi, int pos)
-{
- int col;
- GtkWidget *canvas = GTK_WIDGET (GNOME_CANVAS_ITEM (ethi)->canvas);
- gboolean resizable = FALSE;
-
- /* We might be invoked before we are realized */
- if (!canvas->window)
- return;
-
- if (is_pointer_on_division (ethi, pos, NULL, &col)) {
- int last_col = ethi->eth->col_count - 1;
- ETableCol *ecol = e_table_header_get_column (ethi->eth, col);
-
- /* Last column is not resizable */
- if (ecol->resizable && col != last_col) {
- int c = col + 1;
-
- /* Column is not resizable if all columns after it
- are also not resizable */
- for (; c <= last_col; c++){
- ETableCol *ecol2;
-
- ecol2 = e_table_header_get_column (ethi->eth, c);
- if (ecol2->resizable) {
- resizable = TRUE;
- break;
- }
- }
- }
- }
-
- if (resizable)
- e_cursor_set (canvas->window, E_CURSOR_SIZE_X);
- else
- gdk_window_set_cursor (canvas->window, NULL);
- /* e_cursor_set (canvas->window, E_CURSOR_ARROW);*/
-}
-
-static void
-ethi_end_resize (ETableHeaderItem *ethi)
-{
- ethi->resize_col = -1;
- ethi->resize_guide = GINT_TO_POINTER (0);
-
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM(ethi));
-}
-
-static gboolean
-ethi_maybe_start_drag (ETableHeaderItem *ethi, GdkEventMotion *event)
-{
- if (!ethi->maybe_drag)
- return FALSE;
-
- if (ethi->eth->col_count < 2) {
- ethi->maybe_drag = FALSE;
- return FALSE;
- }
-
- if (MAX (abs (ethi->click_x - event->x),
- abs (ethi->click_y - event->y)) <= 3)
- return FALSE;
-
- return TRUE;
-}
-
-static void
-ethi_start_drag (ETableHeaderItem *ethi, GdkEvent *event)
-{
- GtkWidget *widget = GTK_WIDGET (GNOME_CANVAS_ITEM (ethi)->canvas);
- GtkTargetList *list;
- GdkDragContext *context;
- ETableCol *ecol;
- int col_width;
- GdkPixmap *pixmap;
- int group_indent = 0;
- GHashTable *arrows = g_hash_table_new (NULL, NULL);
-
- GtkTargetEntry ethi_drag_types [] = {
- { TARGET_ETABLE_COL_TYPE, 0, TARGET_ETABLE_COL_HEADER },
- };
-
- ethi->drag_col = ethi_find_col_by_x (ethi, event->motion.x);
-
- if (ethi->drag_col == -1)
- return;
-
- if (ethi->sort_info) {
- int length = e_table_sort_info_grouping_get_count(ethi->sort_info);
- int i;
- for (i = 0; i < length; i++) {
- ETableSortColumn column =
- e_table_sort_info_grouping_get_nth(
- ethi->sort_info, i);
- group_indent ++;
- g_hash_table_insert (
- arrows,
- GINT_TO_POINTER (column.column),
- GINT_TO_POINTER (column.ascending ?
- E_TABLE_COL_ARROW_DOWN :
- E_TABLE_COL_ARROW_UP));
- }
- length = e_table_sort_info_sorting_get_count(ethi->sort_info);
- for (i = 0; i < length; i++) {
- ETableSortColumn column =
- e_table_sort_info_sorting_get_nth (
- ethi->sort_info, i);
-
- g_hash_table_insert (
- arrows,
- GINT_TO_POINTER (column.column),
- GINT_TO_POINTER (column.ascending ?
- E_TABLE_COL_ARROW_DOWN :
- E_TABLE_COL_ARROW_UP));
- }
- }
-
- ethi_drag_types[0].target = g_strdup_printf(
- "%s-%s", ethi_drag_types[0].target, ethi->dnd_code);
- list = gtk_target_list_new (
- ethi_drag_types, ELEMENTS (ethi_drag_types));
- context = gtk_drag_begin (widget, list, GDK_ACTION_MOVE, 1, event);
- g_free(ethi_drag_types[0].target);
-
- ecol = e_table_header_get_column (ethi->eth, ethi->drag_col);
- col_width = ecol->width;
- pixmap = gdk_pixmap_new (widget->window, col_width, ethi->height, -1);
-
- e_table_header_draw_button (
- pixmap, ecol,
- widget->style,
- GTK_WIDGET_STATE (widget),
- widget,
- 0, 0,
- col_width, ethi->height,
- col_width, ethi->height,
- (ETableColArrow) g_hash_table_lookup (
- arrows, GINT_TO_POINTER (ecol->col_idx)));
- gtk_drag_set_icon_pixmap (
- context,
- gdk_window_get_colormap (widget->window),
- pixmap,
- NULL,
- col_width / 2,
- ethi->height / 2);
- gdk_pixmap_unref (pixmap);
-
- ethi->maybe_drag = FALSE;
- g_hash_table_destroy (arrows);
-}
-
-typedef struct {
- ETableHeaderItem *ethi;
- int col;
-} EthiHeaderInfo;
-
-static void
-ethi_popup_sort_ascending(GtkWidget *widget, EthiHeaderInfo *info)
-{
- ETableCol *col;
- int model_col;
- int length;
- int i;
- int found = FALSE;
- ETableHeaderItem *ethi = info->ethi;
-
- col = e_table_header_get_column (ethi->eth, info->col);
- model_col = col->col_idx;
-
- length = e_table_sort_info_grouping_get_count(ethi->sort_info);
- for (i = 0; i < length; i++) {
- ETableSortColumn column = e_table_sort_info_grouping_get_nth (
- ethi->sort_info, i);
-
- if (model_col == column.column){
- column.ascending = 1;
- e_table_sort_info_grouping_set_nth (
- ethi->sort_info, i, column);
- found = 1;
- break;
- }
- }
- if (!found) {
- length = e_table_sort_info_sorting_get_count (
- ethi->sort_info);
- for (i = 0; i < length; i++) {
- ETableSortColumn column =
- e_table_sort_info_sorting_get_nth(
- ethi->sort_info, i);
- if (model_col == column.column){
- column.ascending = 1;
- e_table_sort_info_sorting_set_nth (
- ethi->sort_info, i, column);
- found = 1;
- break;
- }
- }
- }
- if (!found) {
- ETableSortColumn column;
- column.column = model_col;
- column.ascending = 1;
- length = e_table_sort_info_sorting_get_count(ethi->sort_info);
- if (length == 0)
- length++;
- e_table_sort_info_sorting_set_nth(ethi->sort_info, length - 1, column);
- }
-}
-
-static void
-ethi_popup_sort_descending(GtkWidget *widget, EthiHeaderInfo *info)
-{
- ETableCol *col;
- int model_col;
- int length;
- int i;
- int found = FALSE;
- ETableHeaderItem *ethi = info->ethi;
-
- col = e_table_header_get_column (ethi->eth, info->col);
- model_col = col->col_idx;
-
- length = e_table_sort_info_grouping_get_count(ethi->sort_info);
- for (i = 0; i < length; i++) {
- ETableSortColumn column = e_table_sort_info_grouping_get_nth(
- ethi->sort_info, i);
- if (model_col == column.column){
- column.ascending = 0;
- e_table_sort_info_grouping_set_nth(
- ethi->sort_info, i, column);
- found = 1;
- break;
- }
- }
- if (!found) {
- length = e_table_sort_info_sorting_get_count (ethi->sort_info);
- for (i = 0; i < length; i++) {
- ETableSortColumn column =
- e_table_sort_info_sorting_get_nth(
- ethi->sort_info, i);
-
- if (model_col == column.column){
- column.ascending = 0;
- e_table_sort_info_sorting_set_nth (
- ethi->sort_info, i, column);
- found = 1;
- break;
- }
- }
- }
- if (!found) {
- ETableSortColumn column;
- column.column = model_col;
- column.ascending = 0;
- length = e_table_sort_info_sorting_get_count (ethi->sort_info);
- if (length == 0)
- length++;
- e_table_sort_info_sorting_set_nth (
- ethi->sort_info, length - 1, column);
- }
-}
-
-static void
-ethi_popup_unsort(GtkWidget *widget, EthiHeaderInfo *info)
-{
- ETableHeaderItem *ethi = info->ethi;
-
- e_table_sort_info_grouping_truncate(ethi->sort_info, 0);
- e_table_sort_info_sorting_truncate(ethi->sort_info, 0);
-}
-
-static void
-ethi_popup_group_field(GtkWidget *widget, EthiHeaderInfo *info)
-{
- ETableCol *col;
- int model_col;
- ETableHeaderItem *ethi = info->ethi;
- ETableSortColumn column;
-
- col = e_table_header_get_column (ethi->eth, info->col);
- model_col = col->col_idx;
-
- column.column = model_col;
- column.ascending = 1;
- e_table_sort_info_grouping_set_nth(ethi->sort_info, 0, column);
- e_table_sort_info_grouping_truncate(ethi->sort_info, 1);
-}
-
-static void
-ethi_popup_group_box(GtkWidget *widget, EthiHeaderInfo *info)
-{
-}
-
-static void
-ethi_popup_remove_column(GtkWidget *widget, EthiHeaderInfo *info)
-{
- e_table_header_remove(info->ethi->eth, info->col);
-}
-
-static void
-ethi_popup_field_chooser(GtkWidget *widget, EthiHeaderInfo *info)
-{
- if (info->ethi->etfcd) {
- gtk_window_present (GTK_WINDOW (info->ethi->etfcd));
-
- return;
- }
-
- info->ethi->etfcd = e_table_field_chooser_dialog_new();
- g_object_add_weak_pointer (G_OBJECT (info->ethi->etfcd), (gpointer *)&info->ethi->etfcd);
-
- g_object_set(info->ethi->etfcd,
- "full_header", info->ethi->full_header,
- "header", info->ethi->eth,
- "dnd_code", info->ethi->dnd_code,
- NULL);
-
- gtk_widget_show(info->ethi->etfcd);
-}
-
-static void
-ethi_popup_alignment(GtkWidget *widget, EthiHeaderInfo *info)
-{
-}
-
-static void
-ethi_popup_best_fit(GtkWidget *widget, EthiHeaderInfo *info)
-{
- ETableHeaderItem *ethi = info->ethi;
- int width;
-
- g_signal_emit_by_name (ethi->eth,
- "request_width",
- info->col, &width);
- /* Add 10 to stop it from "..."ing */
- e_table_header_set_size (ethi->eth, info->col, width + 10);
-
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM(ethi));
-
-}
-
-static void
-ethi_popup_format_columns(GtkWidget *widget, EthiHeaderInfo *info)
-{
-}
-
-static void
-config_destroyed (gpointer data, GObject *where_object_was)
-{
- ETableHeaderItem *ethi = data;
- ethi->config = NULL;
-}
-
-static void
-apply_changes (ETableConfig *config, ETableHeaderItem *ethi)
-{
- char *state = e_table_state_save_to_string (config->state);
-
- if (ethi->table)
- e_table_set_state (ethi->table, state);
- if (ethi->tree)
- e_tree_set_state (ethi->tree, state);
- g_free (state);
-
- gtk_dialog_set_response_sensitive (GTK_DIALOG (config->dialog_toplevel),
- GTK_RESPONSE_APPLY, FALSE);
-}
-
-static void
-ethi_popup_customize_view(GtkWidget *widget, EthiHeaderInfo *info)
-{
- ETableHeaderItem *ethi = info->ethi;
- ETableState *state;
- ETableSpecification *spec;
-
- if (ethi->config)
- e_table_config_raise (E_TABLE_CONFIG (ethi->config));
- else {
- if (ethi->table) {
- state = e_table_get_state_object(ethi->table);
- spec = ethi->table->spec;
- } else if (ethi->tree) {
- state = e_tree_get_state_object(ethi->tree);
- spec = e_tree_get_spec (ethi->tree);
- } else
- return;
-
- ethi->config = e_table_config_new (
- _("Customize Current View"),
- spec, state, GTK_WINDOW (gtk_widget_get_toplevel (widget)));
- g_object_weak_ref (G_OBJECT (ethi->config),
- config_destroyed, ethi);
- g_signal_connect (
- ethi->config, "changed",
- G_CALLBACK (apply_changes), ethi);
- }
-}
-
-static void
-free_popup_info (GtkWidget *w, EthiHeaderInfo *info)
-{
- g_free (info);
-}
-
-/* Bit 1 is always disabled. */
-/* Bit 2 is disabled if not "sortable". */
-/* Bit 4 is disabled if we don't have a pointer to our table object. */
-static EPopupMenu ethi_context_menu [] = {
- E_POPUP_ITEM (N_("Sort Ascending"), G_CALLBACK(ethi_popup_sort_ascending), 2),
- E_POPUP_ITEM (N_("Sort Descending"), G_CALLBACK(ethi_popup_sort_descending), 2),
- E_POPUP_ITEM (N_("Unsort"), G_CALLBACK(ethi_popup_unsort), 0),
- E_POPUP_SEPARATOR,
- E_POPUP_ITEM (N_("Group By This Field"), G_CALLBACK(ethi_popup_group_field), 16),
- E_POPUP_ITEM (N_("Group By Box"), G_CALLBACK(ethi_popup_group_box), 128),
- E_POPUP_SEPARATOR,
- E_POPUP_ITEM (N_("Remove This Column"), G_CALLBACK(ethi_popup_remove_column), 8),
- E_POPUP_ITEM (N_("Add a Column..."), G_CALLBACK(ethi_popup_field_chooser), 0),
- E_POPUP_SEPARATOR,
- E_POPUP_ITEM (N_("Alignment"), G_CALLBACK(ethi_popup_alignment), 128),
- E_POPUP_ITEM (N_("Best Fit"), G_CALLBACK(ethi_popup_best_fit), 2),
- E_POPUP_ITEM (N_("Format Columns..."), G_CALLBACK(ethi_popup_format_columns), 128),
- E_POPUP_SEPARATOR,
- E_POPUP_ITEM (N_("Customize Current View..."), G_CALLBACK(ethi_popup_customize_view), 4),
- E_POPUP_TERMINATOR
-};
-
-static void
-ethi_header_context_menu (ETableHeaderItem *ethi, GdkEventButton *event)
-{
- EthiHeaderInfo *info = g_new(EthiHeaderInfo, 1);
- ETableCol *col;
- GtkMenu *popup;
- info->ethi = ethi;
- info->col = ethi_find_col_by_x (ethi, event->x);
- col = e_table_header_get_column (ethi->eth, info->col);
-
- popup = e_popup_menu_create_with_domain (ethi_context_menu,
- 1 +
- (col->sortable ? 0 : 2) +
- ((ethi->table || ethi->tree) ? 0 : 4) +
- ((e_table_header_count (ethi->eth) > 1) ? 0 : 8),
- ((e_table_sort_info_get_can_group (ethi->sort_info)) ? 0 : 16) +
- 128, info, E_I18N_DOMAIN);
- g_object_ref (popup);
- gtk_object_sink (GTK_OBJECT (popup));
- g_signal_connect (popup, "selection-done",
- G_CALLBACK (free_popup_info), info);
- e_popup_menu (popup, (GdkEvent *) event);
-}
-
-static void
-ethi_button_pressed (ETableHeaderItem *ethi, GdkEventButton *event)
-{
- g_signal_emit (ethi,
- ethi_signals [BUTTON_PRESSED], 0, event);
-}
-
-static void
-ethi_change_sort_state (ETableHeaderItem *ethi, ETableCol *col)
-{
- int model_col;
- int length;
- int i;
- int found = FALSE;
-
- if (col == NULL)
- return;
-
- model_col = col->col_idx;
-
- length = e_table_sort_info_grouping_get_count(ethi->sort_info);
- for (i = 0; i < length; i++) {
- ETableSortColumn column = e_table_sort_info_grouping_get_nth(ethi->sort_info, i);
- if (model_col == column.column){
- int ascending = column.ascending;
- ascending = ! ascending;
- column.ascending = ascending;
- e_table_sort_info_grouping_set_nth(ethi->sort_info, i, column);
- found = 1;
- break;
- }
- }
-
- if (!col->sortable)
- return;
-
- if (!found) {
- length = e_table_sort_info_sorting_get_count(ethi->sort_info);
- for (i = 0; i < length; i++) {
- ETableSortColumn column = e_table_sort_info_sorting_get_nth(ethi->sort_info, i);
-
- if (model_col == column.column){
- int ascending = column.ascending;
-
- if (ascending == 0){
- /*
- * This means the user has clicked twice
- * already, lets kill sorting now.
- */
- e_table_sort_info_sorting_truncate (ethi->sort_info, i);
- } else {
- ascending = !ascending;
- column.ascending = ascending;
- e_table_sort_info_sorting_set_nth(ethi->sort_info, i, column);
- }
- found = 1;
- break;
- }
- }
- }
-
- if (!found) {
- ETableSortColumn column;
- column.column = model_col;
- column.ascending = 1;
- length = e_table_sort_info_sorting_get_count(ethi->sort_info);
- if (length == 0)
- length++;
- e_table_sort_info_sorting_set_nth(ethi->sort_info, length - 1, column);
- }
-}
-
-/*
- * Handles the events on the ETableHeaderItem, particularly it handles resizing
- */
-static int
-ethi_event (GnomeCanvasItem *item, GdkEvent *e)
-{
- ETableHeaderItem *ethi = E_TABLE_HEADER_ITEM (item);
- GnomeCanvas *canvas = item->canvas;
- const gboolean resizing = ETHI_RESIZING (ethi);
- int x, y, start, col;
- int was_maybe_drag = 0;
-
- switch (e->type){
- case GDK_ENTER_NOTIFY:
- convert (canvas, e->crossing.x, e->crossing.y, &x, &y);
- set_cursor (ethi, x);
- break;
-
- case GDK_LEAVE_NOTIFY:
- gdk_window_set_cursor (GTK_WIDGET (canvas)->window, NULL);
- /* e_cursor_set (GTK_WIDGET (canvas)->window, E_CURSOR_ARROW);*/
- break;
-
- case GDK_MOTION_NOTIFY:
-
- convert (canvas, e->motion.x, e->motion.y, &x, &y);
- if (resizing){
- int new_width;
-
- if (ethi->resize_guide == NULL){
- /* Quick hack until I actually bind the views */
- ethi->resize_guide = GINT_TO_POINTER (1);
-
- gnome_canvas_item_grab (item,
- GDK_POINTER_MOTION_MASK |
- GDK_BUTTON_RELEASE_MASK,
- e_cursor_get (E_CURSOR_SIZE_X),
- e->button.time);
- }
-
- new_width = x - ethi->resize_start_pos;
-
- e_table_header_set_size (ethi->eth, ethi->resize_col, new_width);
-
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM(ethi));
- } else if (ethi_maybe_start_drag (ethi, &e->motion)){
- ethi_start_drag (ethi, e);
- } else
- set_cursor (ethi, x);
- break;
-
- case GDK_BUTTON_PRESS:
- if (e->button.button > 3)
- return FALSE;
-
- convert (canvas, e->button.x, e->button.y, &x, &y);
-
- if (is_pointer_on_division (ethi, x, &start, &col) && e->button.button == 1){
- ETableCol *ecol;
-
- /*
- * Record the important bits.
- *
- * By setting resize_pos to a non -1 value,
- * we know that we are being resized (used in the
- * other event handlers).
- */
- ecol = e_table_header_get_column (ethi->eth, col);
-
- if (!ecol->resizable)
- break;
- ethi->resize_col = col;
- ethi->resize_start_pos = start - ecol->width;
- ethi->resize_min_width = ecol->min_width;
- } else {
- if (e->button.button == 1){
- ethi->click_x = e->button.x;
- ethi->click_y = e->button.y;
- ethi->maybe_drag = TRUE;
- is_pointer_on_division (ethi, x, &start, &col);
- ethi->selected_col = col;
- e_canvas_item_grab_focus (item, TRUE);
- } else if (e->button.button == 3){
- ethi_header_context_menu (ethi, &e->button);
- } else
- ethi_button_pressed (ethi, &e->button);
- }
- break;
-
- case GDK_2BUTTON_PRESS:
- if (!resizing)
- break;
-
- if (e->button.button != 1)
- break;
- else {
- int width = 0;
- g_signal_emit_by_name (ethi->eth,
- "request_width",
- (int)ethi->resize_col, &width);
- /* Add 10 to stop it from "..."ing */
- e_table_header_set_size (ethi->eth, ethi->resize_col, width + 10);
-
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM(ethi));
- ethi->maybe_drag = FALSE;
- }
- break;
-
- case GDK_BUTTON_RELEASE: {
- gboolean needs_ungrab = FALSE;
-
- was_maybe_drag = ethi->maybe_drag;
-
- ethi->maybe_drag = FALSE;
-
- if (ethi->resize_col != -1){
- needs_ungrab = (ethi->resize_guide != NULL);
- ethi_end_resize (ethi);
- } else if (was_maybe_drag && ethi->sort_info) {
- ETableCol *col;
-
- col = e_table_header_get_column (ethi->eth, ethi_find_col_by_x (ethi, e->button.x));
- ethi_change_sort_state (ethi, col);
- }
-
- if (needs_ungrab)
- gnome_canvas_item_ungrab (item, e->button.time);
-
- break;
- }
- case GDK_KEY_PRESS:
- if ((e->key.keyval == GDK_F10) && (e->key.state & GDK_SHIFT_MASK)) {
- EthiHeaderInfo *info = g_new(EthiHeaderInfo, 1);
- ETableCol *col;
- GtkMenu *popup;
-
- info->ethi = ethi;
- info->col = ethi->selected_col;
- col = e_table_header_get_column (ethi->eth, info->col);
-
- popup = e_popup_menu_create_with_domain (ethi_context_menu,
- 1 +
- (col->sortable ? 0 : 2) +
- ((ethi->table || ethi->tree) ? 0 : 4) +
- ((e_table_header_count (ethi->eth) > 1) ? 0 : 8),
- ((e_table_sort_info_get_can_group (ethi->sort_info)) ? 0 : 16) +
- 128, info, E_I18N_DOMAIN);
- g_object_ref (popup);
- gtk_object_sink (GTK_OBJECT (popup));
- g_signal_connect (popup, "selection-done",
- G_CALLBACK (free_popup_info), info);
- e_popup_menu (popup, NULL);
- } else if (e->key.keyval == GDK_space) {
- ETableCol *col;
-
- col = e_table_header_get_column (ethi->eth, ethi->selected_col);
- ethi_change_sort_state (ethi, col);
- } else if ((e->key.keyval == GDK_Right) || (e->key.keyval == GDK_KP_Right)) {
- ETableCol *col;
-
- if ((ethi->selected_col < 0) || (ethi->selected_col >= ethi->eth->col_count - 1))
- ethi->selected_col = 0;
- else
- ethi->selected_col++;
- col = e_table_header_get_column (ethi->eth, ethi->selected_col);
- ethi_change_sort_state (ethi, col);
- } else if ((e->key.keyval == GDK_Left) || (e->key.keyval == GDK_KP_Left)) {
- ETableCol *col;
-
- if ((ethi->selected_col <= 0) || (ethi->selected_col >= ethi->eth->col_count))
- ethi->selected_col = ethi->eth->col_count - 1;
- else
- ethi->selected_col--;
- col = e_table_header_get_column (ethi->eth, ethi->selected_col);
- ethi_change_sort_state (ethi, col);
- }
- break;
-
- default:
- return FALSE;
- }
- return TRUE;
-}
-
-static void
-ethi_class_init (GObjectClass *object_class)
-{
- GnomeCanvasItemClass *item_class = (GnomeCanvasItemClass *) object_class;
-
- ethi_parent_class = g_type_class_ref (PARENT_OBJECT_TYPE);
-
- object_class->dispose = ethi_dispose;
- object_class->set_property = ethi_set_property;
- object_class->get_property = ethi_get_property;
-
- item_class->update = ethi_update;
- item_class->realize = ethi_realize;
- item_class->unrealize = ethi_unrealize;
- item_class->draw = ethi_draw;
- item_class->point = ethi_point;
- item_class->event = ethi_event;
-
- g_object_class_install_property (object_class, PROP_DND_CODE,
- g_param_spec_string ("dnd_code",
- _("DnD code"),
- /*_( */"XXX blurb" /*)*/,
- NULL,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_TABLE_FONTSET,
- g_param_spec_string ("fontset",
- _("Fontset"),
- /*_( */"XXX blurb" /*)*/,
- NULL,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_FULL_HEADER,
- g_param_spec_object ("full_header",
- _("Full Header"),
- /*_( */"XXX blurb" /*)*/,
- E_TABLE_HEADER_TYPE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_TABLE_HEADER,
- g_param_spec_object ("ETableHeader",
- _("Header"),
- /*_( */"XXX blurb" /*)*/,
- E_TABLE_HEADER_TYPE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_SORT_INFO,
- g_param_spec_object ("sort_info",
- _("Sort Info"),
- /*_( */"XXX blurb" /*)*/,
- E_TABLE_SORT_INFO_TYPE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_TABLE,
- g_param_spec_object ("table",
- _("Table"),
- /*_( */"XXX blurb" /*)*/,
- E_TABLE_TYPE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_TREE,
- g_param_spec_object ("tree",
- _("Tree"),
- /*_( */"XXX blurb" /*)*/,
- E_TREE_TYPE,
- G_PARAM_WRITABLE));
-
- /*
- * Create our pixmaps for DnD
- */
- dnd_colormap = gtk_widget_get_default_colormap ();
- remove_col_pixmap = gdk_pixmap_colormap_create_from_xpm_d (
- NULL, dnd_colormap,
- &remove_col_mask, NULL, remove_col_xpm);
-
- add_col_pixmap = gdk_pixmap_colormap_create_from_xpm_d (
- NULL, dnd_colormap,
- &add_col_mask, NULL, add_col_xpm);
-
- ethi_signals [BUTTON_PRESSED] =
- g_signal_new ("button_pressed",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableHeaderItemClass, button_pressed),
- NULL, NULL,
- e_marshal_NONE__BOXED,
- G_TYPE_NONE, 1, GDK_TYPE_EVENT);
-}
-
-static void
-ethi_init (GnomeCanvasItem *item)
-{
- ETableHeaderItem *ethi = E_TABLE_HEADER_ITEM (item);
-
- ethi->resize_col = -1;
-
- item->x1 = 0;
- item->y1 = 0;
- item->x2 = 0;
- item->y2 = 0;
-
- ethi->drag_col = -1;
- ethi->drag_mark = -1;
-
- ethi->sort_info = NULL;
-
- ethi->sort_info_changed_id = 0;
- ethi->group_info_changed_id = 0;
-
- ethi->group_indent_width = 0;
- ethi->table = NULL;
- ethi->tree = NULL;
-
- ethi->selected_col = 0;
-}
-
-E_MAKE_TYPE (e_table_header_item,
- "ETableHeaderItem",
- ETableHeaderItem,
- ethi_class_init,
- ethi_init,
- PARENT_OBJECT_TYPE)
diff --git a/widgets/table/e-table-header-item.h b/widgets/table/e-table-header-item.h
deleted file mode 100644
index d1e539888c..0000000000
--- a/widgets/table/e-table-header-item.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-header-item.h
- * Copyright 1999, 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Miguel de Icaza (miguel@gnu.org)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_HEADER_ITEM_H_
-#define _E_TABLE_HEADER_ITEM_H_
-
-#include <gal/e-table/e-table.h>
-#include <gal/e-table/e-tree.h>
-#include <libgnomecanvas/gnome-canvas.h>
-#include <libxml/tree.h>
-#include <gal/e-table/e-table-header.h>
-#include <gal/e-table/e-table-sort-info.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_HEADER_ITEM_TYPE (e_table_header_item_get_type ())
-#define E_TABLE_HEADER_ITEM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_HEADER_ITEM_TYPE, ETableHeaderItem))
-#define E_TABLE_HEADER_ITEM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_HEADER_ITEM_TYPE, ETableHeaderItemClass))
-#define E_IS_TABLE_HEADER_ITEM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_HEADER_ITEM_TYPE))
-#define E_IS_TABLE_HEADER_ITEM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_HEADER_ITEM_TYPE))
-
-typedef struct {
- GnomeCanvasItem parent;
- ETableHeader *eth;
-
- GdkCursor *change_cursor;
-
- short height, width;
- GdkFont *font;
-
- /*
- * Used during resizing; Could be shorts
- */
- int resize_col;
- int resize_start_pos;
- int resize_min_width;
-
- GtkObject *resize_guide;
-
- int group_indent_width;
-
- /*
- * Ids
- */
- int structure_change_id, dimension_change_id;
-
- /*
- * For dragging columns
- */
- guint maybe_drag:1;
- guint dnd_ready:1;
- int click_x, click_y;
- int drag_col, drop_col, drag_mark;
- guint drag_motion_id, drag_end_id, drag_leave_id, drag_drop_id, drag_data_received_id, drag_data_get_id;
- guint sort_info_changed_id, group_info_changed_id;
- GnomeCanvasItem *remove_item;
- GdkBitmap *stipple;
-
- gchar *dnd_code;
-
- /*
- * For column sorting info
- */
- ETableSortInfo *sort_info;
-
- guint scroll_direction : 4;
- int last_drop_x;
- int last_drop_y;
- int last_drop_time;
- GdkDragContext *last_drop_context;
- int scroll_idle_id;
-
- /* For adding fields. */
- ETableHeader *full_header;
- ETable *table;
- ETree *tree;
- GtkWidget *etfcd;
- void *config;
-
- /* For keyboard navigation*/
- int selected_col;
-
-} ETableHeaderItem;
-
-typedef struct {
- GnomeCanvasItemClass parent_class;
-
- /*
- * signals
- */
- void (*button_pressed) (ETableHeaderItem *ethi, GdkEventButton *button);
-} ETableHeaderItemClass;
-
-GType e_table_header_item_get_type (void);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_HEADER_ITEM_H_ */
diff --git a/widgets/table/e-table-header-utils.c b/widgets/table/e-table-header-utils.c
deleted file mode 100644
index cf99e8ecba..0000000000
--- a/widgets/table/e-table-header-utils.c
+++ /dev/null
@@ -1,480 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-header-utils.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Miguel de Icaza <miguel@ximian.com>
- * Federico Mena-Quintero <federico@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "e-table-header-utils.h"
-
-#include <string.h> /* strlen() */
-#include <glib.h>
-#include <gtk/gtkbutton.h>
-#include <gtk/gtkwindow.h>
-#include "e-table-defines.h"
-#include <gal/widgets/e-unicode.h>
-
-
-
-static PangoLayout*
-build_header_layout (GtkWidget *widget, const char *str)
-{
- PangoLayout *layout;
-
- layout = gtk_widget_create_pango_layout (widget, str);
-
-#ifdef FROB_FONT_DESC
- {
- PangoFontDescription *desc;
- desc = pango_font_description_copy (gtk_widget_get_style (widget)->font_desc);
- pango_font_description_set_size (desc,
- pango_font_description_get_size (desc) * 1.2);
-
- pango_font_description_set_weight (desc, PANGO_WEIGHT_BOLD);
- pango_layout_set_font_description (layout, desc);
-
- pango_font_description_free (desc);
- }
-#endif
-
- return layout;
-}
-
-/**
- * e_table_header_compute_height:
- * @ecol: Table column description.
- * @widget: The widget from which to build the PangoLayout.
- *
- * Computes the minimum height required for a table header button.
- *
- * Return value: The height of the button, in pixels.
- **/
-double
-e_table_header_compute_height (ETableCol *ecol, GtkWidget *widget)
-{
- int ythick;
- int height;
- PangoLayout *layout;
-
- g_return_val_if_fail (ecol != NULL, -1);
- g_return_val_if_fail (E_IS_TABLE_COL (ecol), -1);
- g_return_val_if_fail (GTK_IS_WIDGET (widget), -1);
-
- ythick = gtk_widget_get_style (widget)->ythickness;
-
- layout = build_header_layout (widget, ecol->text);
-
- pango_layout_get_pixel_size (layout, NULL, &height);
-
- if (ecol->is_pixbuf) {
- g_assert (ecol->pixbuf != NULL);
- height = MAX (height, gdk_pixbuf_get_height (ecol->pixbuf));
- }
-
- height = MAX (height, MIN_ARROW_SIZE);
-
- height += 2 * (ythick + HEADER_PADDING);
-
- g_object_unref (layout);
-
- return height;
-}
-
-double
-e_table_header_width_extras (GtkStyle *style)
-{
- g_return_val_if_fail (style != NULL, -1);
-
- return 2 * (style->xthickness + HEADER_PADDING);
-}
-
-/* Creates a pixmap that is a composite of a background color and the upper-left
- * corner rectangle of a pixbuf.
- */
-static GdkPixmap *
-make_composite_pixmap (GdkDrawable *drawable, GdkGC *gc,
- GdkPixbuf *pixbuf, GdkColor *bg, int width, int height,
- int dither_xofs, int dither_yofs)
-{
- int pwidth, pheight;
- GdkPixmap *pixmap;
- GdkPixbuf *tmp;
- int color;
-
- pwidth = gdk_pixbuf_get_width (pixbuf);
- pheight = gdk_pixbuf_get_height (pixbuf);
- g_assert (width <= pwidth && height <= pheight);
-
- color = ((bg->red & 0xff00) << 8) | (bg->green & 0xff00) | ((bg->blue & 0xff00) >> 8);
-
- if (width >= pwidth && height >= pheight) {
- tmp = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, width, height);
- if (!tmp)
- return NULL;
-
- gdk_pixbuf_composite_color (pixbuf, tmp,
- 0, 0,
- width, height,
- 0, 0,
- 1.0, 1.0,
- GDK_INTERP_NEAREST,
- 255,
- 0, 0,
- 16,
- color, color);
- } else {
- int x, y, rowstride;
- GdkPixbuf *fade;
- guchar *pixels;
-
- /* Do a nice fade of the pixbuf down and to the right */
-
- fade = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, width, height);
- if (!fade)
- return NULL;
-
- gdk_pixbuf_copy_area (pixbuf,
- 0, 0,
- width, height,
- fade,
- 0, 0);
-
- rowstride = gdk_pixbuf_get_rowstride (fade);
- pixels = gdk_pixbuf_get_pixels (fade);
-
- for (y = 0; y < height; y++) {
- guchar *p;
- int yfactor;
-
- p = pixels + y * rowstride;
-
- if (height < pheight)
- yfactor = height - y;
- else
- yfactor = height;
-
- for (x = 0; x < width; x++) {
- int xfactor;
-
- if (width < pwidth)
- xfactor = width - x;
- else
- xfactor = width;
-
- p[3] = ((int) p[3] * xfactor * yfactor / (width * height));
- p += 4;
- }
- }
-
- tmp = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, width, height);
- if (!tmp) {
- gdk_pixbuf_unref (fade);
- return NULL;
- }
-
- gdk_pixbuf_composite_color (fade, tmp,
- 0, 0,
- width, height,
- 0, 0,
- 1.0, 1.0,
- GDK_INTERP_NEAREST,
- 255,
- 0, 0,
- 16,
- color, color);
-
- gdk_pixbuf_unref (fade);
- }
-
- pixmap = gdk_pixmap_new (drawable, width, height, gdk_rgb_get_visual ()->depth);
- gdk_draw_rgb_image_dithalign (pixmap, gc,
- 0, 0,
- width, height,
- GDK_RGB_DITHER_NORMAL,
- gdk_pixbuf_get_pixels (tmp),
- gdk_pixbuf_get_rowstride (tmp),
- dither_xofs, dither_yofs);
- gdk_pixbuf_unref (tmp);
-
- return pixmap;
-}
-
-/* Default width of the elision arrow in pixels */
-#define ARROW_WIDTH 4
-
-/**
- * e_table_draw_elided_string:
- * @drawable: Destination drawable.
- * @font: Font for the text.
- * @gc: GC to use for drawing.
- * @x: X insertion point for the string.
- * @y: Y insertion point for the string's baseline.
- * @layout: the PangoLayout to draw.
- * @str: the string we're drawing, passed in so we can change the layout if it needs eliding.
- * @max_width: Maximum width in which the string must fit.
- * @center: Whether to center the string in the available area if it does fit.
- *
- * Draws a string, possibly trimming it so that it fits inside the specified
- * maximum width. If it does not fit, an elision indicator is drawn after the
- * last character that does fit.
- **/
-static void
-e_table_draw_elided_string (GdkDrawable *drawable, GdkGC *gc, GtkWidget *widget,
- int x, int y, PangoLayout *layout, char *str,
- int max_width, gboolean center)
-{
- int width;
- int height;
- int index;
- GSList *lines;
- PangoLayoutLine *line;
-
- g_return_if_fail (drawable != NULL);
- g_return_if_fail (gc != NULL);
- g_return_if_fail (layout != NULL);
- g_return_if_fail (max_width >= 0);
-
- pango_layout_get_pixel_size (layout, &width, &height);
-
- gdk_gc_set_clip_rectangle (gc, NULL);
-
- if (width <= max_width) {
- int xpos;
-
- if (center)
- xpos = x + (max_width - width) / 2;
- else
- xpos = x;
-
- gdk_draw_layout (drawable, gc,
- xpos, y,
- layout);
- } else {
- int arrow_width;
- int i;
-
- if (max_width < ARROW_WIDTH + 1)
- arrow_width = max_width - 1;
- else
- arrow_width = ARROW_WIDTH;
-
-
- lines = pango_layout_get_lines (layout);
- line = lines->data;
-
- if (!pango_layout_line_x_to_index (line,
- (max_width - arrow_width) * PANGO_SCALE,
- &index,
- NULL)) {
- g_warning ("pango_layout_line_x_to_index returned false");
- return;
- }
-
- pango_layout_set_text (layout, str, index);
-
- gdk_draw_layout (drawable, gc, x, y, layout);
-
- for (i = 0; i < arrow_width; i++) {
- int h;
-
- h = 2 * i + 1;
-
- gdk_draw_line (drawable, gc,
- x + max_width - i,
- y + height / 2 - i,
- x + max_width - i,
- y + height / 2 + i + 1);
- }
- }
-}
-
-static GtkWidget *g_label;
-
-/**
- * e_table_header_draw_button:
- * @drawable: Destination drawable.
- * @ecol: Table column for the header information.
- * @style: Style to use for drawing the button.
- * @state: State of the table widget.
- * @widget: The table widget.
- * @x: Leftmost coordinate of the button.
- * @y: Topmost coordinate of the button.
- * @width: Width of the region to draw.
- * @height: Height of the region to draw.
- * @button_width: Width for the complete button.
- * @button_height: Height for the complete button.
- * @arrow: Arrow type to use as a sort indicator.
- *
- * Draws a button suitable for a table header.
- **/
-void
-e_table_header_draw_button (GdkDrawable *drawable, ETableCol *ecol,
- GtkStyle *style, GtkStateType state,
- GtkWidget *widget,
- int x, int y, int width, int height,
- int button_width, int button_height,
- ETableColArrow arrow)
-{
- int xthick, ythick;
- int inner_x, inner_y;
- int inner_width, inner_height;
- GdkGC *gc;
- PangoLayout *layout;
-
- g_return_if_fail (drawable != NULL);
- g_return_if_fail (ecol != NULL);
- g_return_if_fail (E_IS_TABLE_COL (ecol));
- g_return_if_fail (style != NULL);
- g_return_if_fail (widget != NULL);
- g_return_if_fail (GTK_IS_WIDGET (widget));
- g_return_if_fail (button_width > 0 && button_height > 0);
-
- if (g_label == NULL) {
- GtkWidget *button = gtk_button_new_with_label("Hi");
- GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- g_label = GTK_BIN(button)->child;
- gtk_container_add (GTK_CONTAINER (window), button);
- gtk_widget_ensure_style (window);
- gtk_widget_ensure_style (button);
- gtk_widget_ensure_style (g_label);
- }
-
- gc = g_label->style->fg_gc[state];
-
- gdk_gc_set_clip_rectangle (gc, NULL);
-
- xthick = style->xthickness;
- ythick = style->ythickness;
-
- /* Button bevel */
-
- gtk_paint_box (style, drawable, state, GTK_SHADOW_OUT,
- NULL, widget, "button",
- x, y, button_width, button_height);
-
- /* Inside area */
-
- inner_width = button_width - 2 * (xthick + HEADER_PADDING);
- inner_height = button_height - 2 * (ythick + HEADER_PADDING);
-
- if (inner_width < 1 || inner_height < 1)
- return; /* nothing fits */
-
- inner_x = x + xthick + HEADER_PADDING;
- inner_y = y + ythick + HEADER_PADDING;
-
- /* Arrow */
-
- switch (arrow) {
- case E_TABLE_COL_ARROW_NONE:
- break;
-
- case E_TABLE_COL_ARROW_UP:
- case E_TABLE_COL_ARROW_DOWN: {
- int arrow_width, arrow_height;
-
- arrow_width = MIN (MIN_ARROW_SIZE, inner_width);
- arrow_height = MIN (MIN_ARROW_SIZE, inner_height);
-
- gtk_paint_arrow (style, drawable, state,
- GTK_SHADOW_NONE, NULL, widget, "header",
- (arrow == E_TABLE_COL_ARROW_UP) ? GTK_ARROW_UP : GTK_ARROW_DOWN,
- TRUE,
- inner_x + inner_width - arrow_width,
- inner_y + (inner_height - arrow_height) / 2,
- arrow_width, arrow_height);
-
- inner_width -= arrow_width + HEADER_PADDING;
- break;
- }
-
- default:
- g_assert_not_reached ();
- return;
- }
-
- if (inner_width < 1)
- return; /* nothing else fits */
-
- layout = build_header_layout (widget, ecol->text);
-
- /* Pixbuf or label */
- if (ecol->is_pixbuf) {
- int pwidth, pheight;
- int clip_width, clip_height;
- int xpos;
- GdkPixmap *pixmap;
-
- g_assert (ecol->pixbuf != NULL);
-
- pwidth = gdk_pixbuf_get_width (ecol->pixbuf);
- pheight = gdk_pixbuf_get_height (ecol->pixbuf);
-
- clip_width = MIN (pwidth, inner_width);
- clip_height = MIN (pheight, inner_height);
-
- xpos = inner_x;
-
- if (inner_width - pwidth > 11) {
- int width;
- int ypos;
-
- pango_layout_get_pixel_size (layout, &width, NULL);
-
- if (width < inner_width - (pwidth + 1)) {
- xpos = inner_x + (inner_width - width - (pwidth + 1)) / 2;
- }
-
- ypos = inner_y;
-
- e_table_draw_elided_string (drawable, gc, widget,
- xpos + pwidth + 1, ypos,
- layout, ecol->text, inner_width - (xpos - inner_x), FALSE);
- }
-
- pixmap = make_composite_pixmap (drawable, gc,
- ecol->pixbuf, &style->bg[state],
- clip_width, clip_height,
- xpos,
- inner_y + (inner_height - clip_height) / 2);
-
- gdk_gc_set_clip_rectangle (gc, NULL);
-
- if (pixmap) {
- gdk_draw_pixmap (drawable, gc, pixmap,
- 0, 0,
- xpos,
- inner_y + (inner_height - clip_height) / 2,
- clip_width, clip_height);
- gdk_pixmap_unref (pixmap);
- }
- } else {
- e_table_draw_elided_string (drawable, gc, widget,
- inner_x, inner_y,
- layout, ecol->text, inner_width, TRUE);
- }
-
- g_object_unref (layout);
-}
diff --git a/widgets/table/e-table-header-utils.h b/widgets/table/e-table-header-utils.h
deleted file mode 100644
index 38defa9261..0000000000
--- a/widgets/table/e-table-header-utils.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-header-utils.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Miguel de Icaza <miguel@ximian.com>
- * Federico Mena-Quintero <federico@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef E_TABLE_HEADER_UTILS_H
-#define E_TABLE_HEADER_UTILS_H
-
-#include <gal/e-table/e-table-col.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-double e_table_header_compute_height (ETableCol *ecol,
- GtkWidget *widget);
-double e_table_header_width_extras (GtkStyle *style);
-void e_table_header_draw_button (GdkDrawable *drawable,
- ETableCol *ecol,
- GtkStyle *style,
- GtkStateType state,
- GtkWidget *widget,
- int x,
- int y,
- int width,
- int height,
- int button_width,
- int button_height,
- ETableColArrow arrow);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif
diff --git a/widgets/table/e-table-header.c b/widgets/table/e-table-header.c
deleted file mode 100644
index d810d61bd1..0000000000
--- a/widgets/table/e-table-header.c
+++ /dev/null
@@ -1,952 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-header.c
- * Copyright 1999, 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Miguel de Icaza <miguel@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <string.h>
-#include <glib-object.h>
-#include <gtk/gtkimage.h>
-#include <gal/util/e-util.h>
-#include "e-table-header.h"
-#include "e-table-defines.h"
-#include "gal/util/e-util.h"
-
-/* The arguments we take */
-enum {
- PROP_0,
- PROP_SORT_INFO,
- PROP_WIDTH,
- PROP_WIDTH_EXTRAS
-};
-
-enum {
- STRUCTURE_CHANGE,
- DIMENSION_CHANGE,
- EXPANSION_CHANGE,
- REQUEST_WIDTH,
- LAST_SIGNAL
-};
-
-static void eth_set_size (ETableHeader *eth, int idx, int size);
-static void eth_calc_widths (ETableHeader *eth);
-
-static guint eth_signals [LAST_SIGNAL] = { 0, };
-
-static GObjectClass *e_table_header_parent_class;
-
-struct two_ints {
- int column;
- int width;
-};
-
-static void
-eth_set_width (ETableHeader *eth, int width)
-{
- eth->width = width;
-}
-
-static void
-dequeue (ETableHeader *eth, int *column, int *width)
-{
- GSList *head;
- struct two_ints *store;
- head = eth->change_queue;
- eth->change_queue = eth->change_queue->next;
- if (!eth->change_queue)
- eth->change_tail = NULL;
- store = head->data;
- g_slist_free_1(head);
- if (column)
- *column = store->column;
- if (width)
- *width = store->width;
- g_free(store);
-}
-
-static gboolean
-dequeue_idle (ETableHeader *eth)
-{
- int column, width;
-
- dequeue (eth, &column, &width);
- while (eth->change_queue && ((struct two_ints *) eth->change_queue->data)->column == column)
- dequeue (eth, &column, &width);
-
- if (column == -1)
- eth_set_width (eth, width);
- else if (column < eth->col_count)
- eth_set_size (eth, column, width);
- if (eth->change_queue)
- return TRUE;
- else {
- eth_calc_widths (eth);
- eth->idle = 0;
- return FALSE;
- }
-}
-
-static void
-enqueue (ETableHeader *eth, int column, int width)
-{
- struct two_ints *store;
- store = g_new(struct two_ints, 1);
- store->column = column;
- store->width = width;
-
- eth->change_tail = g_slist_last(g_slist_append(eth->change_tail, store));
- if (!eth->change_queue)
- eth->change_queue = eth->change_tail;
-
- if (!eth->idle) {
- eth->idle = g_idle_add_full(G_PRIORITY_LOW, (GSourceFunc) dequeue_idle, eth, NULL);
- }
-}
-
-void
-e_table_header_set_size (ETableHeader *eth, int idx, int size)
-{
- g_return_if_fail (eth != NULL);
- g_return_if_fail (E_IS_TABLE_HEADER (eth));
-
- enqueue (eth, idx, size);
-}
-
-static void
-eth_do_remove (ETableHeader *eth, int idx, gboolean do_unref)
-{
- if (do_unref)
- g_object_unref (eth->columns [idx]);
-
- memmove (&eth->columns [idx], &eth->columns [idx+1],
- sizeof (ETableCol *) * (eth->col_count - idx - 1));
- eth->col_count--;
-}
-
-static void
-eth_finalize (GObject *object)
-{
- ETableHeader *eth = E_TABLE_HEADER (object);
- const int cols = eth->col_count;
- int i;
-
- if (eth->sort_info) {
- if (eth->sort_info_group_change_id)
- g_signal_handler_disconnect(G_OBJECT(eth->sort_info),
- eth->sort_info_group_change_id);
- g_object_unref(eth->sort_info);
- eth->sort_info = NULL;
- }
-
- if (eth->idle)
- g_source_remove(eth->idle);
- eth->idle = 0;
-
- if (eth->change_queue) {
- g_slist_foreach(eth->change_queue, (GFunc) g_free, NULL);
- g_slist_free(eth->change_queue);
- eth->change_queue = NULL;
- }
-
- /*
- * Destroy columns
- */
- for (i = cols - 1; i >= 0; i--){
- eth_do_remove (eth, i, TRUE);
- }
- g_free (eth->columns);
-
- eth->col_count = 0;
- eth->columns = NULL;
-
- if (e_table_header_parent_class->finalize)
- e_table_header_parent_class->finalize (object);
-}
-
-static void
-eth_group_info_changed(ETableSortInfo *info, ETableHeader *eth)
-{
- enqueue(eth, -1, eth->nominal_width);
-}
-
-static void
-eth_set_property (GObject *object, guint prop_id, const GValue *val, GParamSpec *pspec)
-{
- ETableHeader *eth = E_TABLE_HEADER (object);
-
- switch (prop_id) {
- case PROP_WIDTH:
- eth->nominal_width = g_value_get_double (val);
- enqueue(eth, -1, eth->nominal_width);
- break;
- case PROP_WIDTH_EXTRAS:
- eth->width_extras = g_value_get_double (val);
- enqueue(eth, -1, eth->nominal_width);
- break;
- case PROP_SORT_INFO:
- if (eth->sort_info) {
- if (eth->sort_info_group_change_id)
- g_signal_handler_disconnect(G_OBJECT(eth->sort_info), eth->sort_info_group_change_id);
- g_object_unref (eth->sort_info);
- }
- eth->sort_info = E_TABLE_SORT_INFO(g_value_get_object (val));
- if (eth->sort_info) {
- g_object_ref(eth->sort_info);
- eth->sort_info_group_change_id
- = g_signal_connect(G_OBJECT(eth->sort_info), "group_info_changed",
- G_CALLBACK(eth_group_info_changed), eth);
- }
- enqueue(eth, -1, eth->nominal_width);
- break;
- default:
- break;
- }
-}
-
-static void
-eth_get_property (GObject *object, guint prop_id, GValue *val, GParamSpec *pspec)
-{
- ETableHeader *eth = E_TABLE_HEADER (object);
-
- switch (prop_id) {
- case PROP_SORT_INFO:
- g_value_set_object (val, G_OBJECT(eth->sort_info));
- break;
- case PROP_WIDTH:
- g_value_set_double (val, eth->nominal_width);
- break;
- case PROP_WIDTH_EXTRAS:
- g_value_set_double (val, eth->width_extras);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-e_table_header_class_init (GObjectClass *object_class)
-{
- ETableHeaderClass *klass = E_TABLE_HEADER_CLASS (object_class);
-
- object_class->finalize = eth_finalize;
- object_class->set_property = eth_set_property;
- object_class->get_property = eth_get_property;
-
- e_table_header_parent_class = g_type_class_peek_parent (object_class);
-
- g_object_class_install_property (
- object_class, PROP_WIDTH,
- g_param_spec_double ("width", "Width", "Width",
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (
- object_class, PROP_WIDTH_EXTRAS,
- g_param_spec_double ("width_extras", "Width of Extras", "Width of Extras",
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (
- object_class, PROP_SORT_INFO,
- g_param_spec_object ("sort_info", "Sort Info", "Sort Info",
- E_TABLE_SORT_INFO_TYPE,
- G_PARAM_READWRITE));
-
- eth_signals [STRUCTURE_CHANGE] =
- g_signal_new ("structure_change",
- E_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableHeaderClass, structure_change),
- (GSignalAccumulator) NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
- eth_signals [DIMENSION_CHANGE] =
- g_signal_new ("dimension_change",
- E_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableHeaderClass, dimension_change),
- (GSignalAccumulator) NULL, NULL,
- g_cclosure_marshal_VOID__INT,
- G_TYPE_NONE, 1, G_TYPE_INT);
- eth_signals [EXPANSION_CHANGE] =
- g_signal_new ("expansion_change",
- E_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableHeaderClass, expansion_change),
- (GSignalAccumulator) NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
- eth_signals [REQUEST_WIDTH] =
- g_signal_new ("request_width",
- E_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableHeaderClass, request_width),
- (GSignalAccumulator) NULL, NULL,
- e_marshal_INT__INT,
- G_TYPE_INT, 1, G_TYPE_INT);
-
- klass->structure_change = NULL;
- klass->dimension_change = NULL;
- klass->expansion_change = NULL;
- klass->request_width = NULL;
-}
-
-static void
-e_table_header_init (ETableHeader *eth)
-{
- eth->col_count = 0;
- eth->width = 0;
-
- eth->sort_info = NULL;
- eth->sort_info_group_change_id = 0;
-
- eth->columns = NULL;
-
- eth->change_queue = NULL;
- eth->change_tail = NULL;
-
- eth->width_extras = 0;
-}
-
-/**
- * e_table_header_new:
- *
- * Returns: A new @ETableHeader object.
- */
-ETableHeader *
-e_table_header_new (void)
-{
-
- return (ETableHeader *) g_object_new (E_TABLE_HEADER_TYPE, NULL);
-}
-
-static void
-eth_update_offsets (ETableHeader *eth)
-{
- int i;
- int x = 0;
-
- for (i = 0; i < eth->col_count; i++){
- ETableCol *etc = eth->columns [i];
-
- etc->x = x;
- x += etc->width;
- }
-}
-
-static void
-eth_do_insert (ETableHeader *eth, int pos, ETableCol *val)
-{
- memmove (&eth->columns [pos+1], &eth->columns [pos],
- sizeof (ETableCol *) * (eth->col_count - pos));
- eth->columns [pos] = val;
- eth->col_count ++;
-}
-
-/**
- * e_table_header_add_column:
- * @eth: the table header to add the column to.
- * @tc: the ETableCol definition
- * @pos: position where the ETableCol will go.
- *
- * This function adds the @tc ETableCol definition into the @eth ETableHeader
- * at position @pos. This is the way you add new ETableCols to the
- * ETableHeader. The header will assume ownership of the @tc; you should not
- * unref it after you add it.
- *
- * This function will emit the "structure_change" signal on the @eth object.
- * The ETableCol is assumed
- */
-void
-e_table_header_add_column (ETableHeader *eth, ETableCol *tc, int pos)
-{
- g_return_if_fail (eth != NULL);
- g_return_if_fail (E_IS_TABLE_HEADER (eth));
- g_return_if_fail (tc != NULL);
- g_return_if_fail (E_IS_TABLE_COL (tc));
- g_return_if_fail (pos >= -1 && pos <= eth->col_count);
-
- if (pos == -1)
- pos = eth->col_count;
- eth->columns = g_realloc (eth->columns, sizeof (ETableCol *) * (eth->col_count + 1));
-
- /*
- * We are the primary owners of the column
- */
- g_object_ref (tc);
-
- eth_do_insert (eth, pos, tc);
-
- enqueue(eth, -1, eth->nominal_width);
- g_signal_emit (G_OBJECT (eth), eth_signals [STRUCTURE_CHANGE], 0);
-}
-
-/**
- * e_table_header_get_column:
- * @eth: the ETableHeader to query
- * @column: the column inside the @eth.
- *
- * Returns: The ETableCol at @column in the @eth object
- */
-ETableCol *
-e_table_header_get_column (ETableHeader *eth, int column)
-{
- g_return_val_if_fail (eth != NULL, NULL);
- g_return_val_if_fail (E_IS_TABLE_HEADER (eth), NULL);
-
- if (column < 0)
- return NULL;
-
- if (column >= eth->col_count)
- return NULL;
-
- return eth->columns [column];
-}
-
-/**
- * e_table_header_get_column_by_col_id:
- * @eth: the ETableHeader to query
- * @col_id: the col_id to search for.
- *
- * Returns: The ETableCol with col_idx = @col_idx in the @eth object
- */
-ETableCol *
-e_table_header_get_column_by_col_idx (ETableHeader *eth, int col_idx)
-{
- int i;
- g_return_val_if_fail (eth != NULL, NULL);
- g_return_val_if_fail (E_IS_TABLE_HEADER (eth), NULL);
-
- for (i = 0; i < eth->col_count; i++) {
- if (eth->columns[i]->col_idx == col_idx) {
- return eth->columns [i];
- }
- }
-
- return NULL;
-}
-
-/**
- * e_table_header_count:
- * @eth: the ETableHeader to query
- *
- * Returns: the number of columns in this ETableHeader.
- */
-int
-e_table_header_count (ETableHeader *eth)
-{
- g_return_val_if_fail (eth != NULL, 0);
- g_return_val_if_fail (E_IS_TABLE_HEADER (eth), 0);
-
- return eth->col_count;
-}
-
-/**
- * e_table_header_index:
- * @eth: the ETableHeader to query
- * @col: the column to fetch.
- *
- * ETableHeaders contain the visual list of columns that the user will
- * view. The visible columns will typically map to different columns
- * in the ETableModel (because the user reordered the data for
- * example).
- *
- * Returns: the column in the model that the @col column
- * in the ETableHeader points to. */
-int
-e_table_header_index (ETableHeader *eth, int col)
-{
- g_return_val_if_fail (eth != NULL, -1);
- g_return_val_if_fail (E_IS_TABLE_HEADER (eth), -1);
- g_return_val_if_fail (col >= 0 && col < eth->col_count, -1);
-
- return eth->columns [col]->col_idx;
-}
-
-/**
- * e_table_header_get_index_at:
- * @eth: the ETableHeader to query
- * @x_offset: a pixel count from the beginning of the ETableHeader
- *
- * This will return the ETableHeader column that would contain
- * the @x_offset pixel.
- *
- * Returns: the column that contains pixel @x_offset, or -1
- * if no column inside this ETableHeader contains that pixel.
- */
-int
-e_table_header_get_index_at (ETableHeader *eth, int x_offset)
-{
- int i, total;
-
- g_return_val_if_fail (eth != NULL, 0);
- g_return_val_if_fail (E_IS_TABLE_HEADER (eth), 0);
-
- total = 0;
- for (i = 0; i < eth->col_count; i++){
- total += eth->columns [i]->width;
-
- if (x_offset < total)
- return i;
- }
-
- return -1;
-}
-
-/**
- * e_table_header_get_columns:
- * @eth: The ETableHeader to query
- *
- * Returns: A NULL terminated array of the ETableCols
- * contained in the ETableHeader @eth. Note that every
- * returned ETableCol in the array has been referenced, to release
- * this information you need to g_free the buffer returned
- * and you need to g_object_unref every element returned
- */
-ETableCol **
-e_table_header_get_columns (ETableHeader *eth)
-{
- ETableCol **ret;
- int i;
-
- g_return_val_if_fail (eth != NULL, 0);
- g_return_val_if_fail (E_IS_TABLE_HEADER (eth), 0);
-
- ret = g_new (ETableCol *, eth->col_count + 1);
- memcpy (ret, eth->columns, sizeof (ETableCol *) * eth->col_count);
- ret [eth->col_count] = NULL;
-
- for (i = 0; i < eth->col_count; i++) {
- g_object_ref(ret[i]);
- }
-
- return ret;
-}
-
-/**
- * e_table_header_get_selected:
- * @eth: The ETableHeader to query
- *
- * Returns: The number of selected columns in the @eth object.
- */
-int
-e_table_header_get_selected (ETableHeader *eth)
-{
- int i;
- int selected = 0;
-
- g_return_val_if_fail (eth != NULL, 0);
- g_return_val_if_fail (E_IS_TABLE_HEADER (eth), 0);
-
- for (i = 0; i < eth->col_count; i++){
- if (eth->columns [i]->selected)
- selected++;
- }
-
- return selected;
-}
-
-/**
- * e_table_header_total_width:
- * @eth: The ETableHeader to query
- *
- * Returns: the number of pixels used by the @eth object
- * when rendered on screen
- */
-int
-e_table_header_total_width (ETableHeader *eth)
-{
- int total, i;
-
- g_return_val_if_fail (eth != NULL, 0);
- g_return_val_if_fail (E_IS_TABLE_HEADER (eth), 0);
-
- total = 0;
- for (i = 0; i < eth->col_count; i++)
- total += eth->columns [i]->width;
-
- return total;
-}
-
-/**
- * e_table_header_min_width:
- * @eth: The ETableHeader to query
- *
- * Returns: the minimum number of pixels required by the @eth object.
- **/
-int
-e_table_header_min_width (ETableHeader *eth)
-{
- int total, i;
-
- g_return_val_if_fail (eth != NULL, 0);
- g_return_val_if_fail (E_IS_TABLE_HEADER (eth), 0);
-
- total = 0;
- for (i = 0; i < eth->col_count; i++)
- total += eth->columns [i]->min_width;
-
- return total;
-}
-
-/**
- * e_table_header_move:
- * @eth: The ETableHeader to operate on.
- * @source_index: the source column to move.
- * @target_index: the target location for the column
- *
- * This function moves the column @source_index to @target_index
- * inside the @eth ETableHeader. The signals "dimension_change"
- * and "structure_change" will be emmited
- */
-void
-e_table_header_move (ETableHeader *eth, int source_index, int target_index)
-{
- ETableCol *old;
-
- g_return_if_fail (eth != NULL);
- g_return_if_fail (E_IS_TABLE_HEADER (eth));
- g_return_if_fail (source_index >= 0);
- g_return_if_fail (target_index >= 0);
- g_return_if_fail (source_index < eth->col_count);
- g_return_if_fail (target_index < eth->col_count + 1); /* Can be moved beyond the last item. */
-
- if (source_index < target_index)
- target_index --;
-
- old = eth->columns [source_index];
- eth_do_remove (eth, source_index, FALSE);
- eth_do_insert (eth, target_index, old);
- eth_update_offsets (eth);
-
- g_signal_emit (G_OBJECT (eth), eth_signals [DIMENSION_CHANGE], 0, eth->width);
- g_signal_emit (G_OBJECT (eth), eth_signals [STRUCTURE_CHANGE], 0);
-}
-
-/**
- * e_table_header_remove:
- * @eth: The ETableHeader to operate on.
- * @idx: the index to the column to be removed.
- *
- * Removes the column at @idx position in the ETableHeader @eth.
- * This emmits the "structure_change" signal on the @eth object.
- */
-void
-e_table_header_remove (ETableHeader *eth, int idx)
-{
- g_return_if_fail (eth != NULL);
- g_return_if_fail (E_IS_TABLE_HEADER (eth));
- g_return_if_fail (idx >= 0);
- g_return_if_fail (idx < eth->col_count);
-
- eth_do_remove (eth, idx, TRUE);
- enqueue(eth, -1, eth->nominal_width);
- g_signal_emit (G_OBJECT (eth), eth_signals [STRUCTURE_CHANGE], 0);
-}
-
-/*
- * FIXME: deprecated?
- */
-void
-e_table_header_set_selection (ETableHeader *eth, gboolean allow_selection)
-{
- g_return_if_fail (eth != NULL);
- g_return_if_fail (E_IS_TABLE_HEADER (eth));
-}
-
-static void
-eth_set_size (ETableHeader *eth, int idx, int size)
-{
- double expansion;
- double old_expansion;
- int min_width;
- int left_width;
- int total_extra;
- int expandable_count;
- int usable_width;
- int i;
- g_return_if_fail (eth != NULL);
- g_return_if_fail (E_IS_TABLE_HEADER (eth));
- g_return_if_fail (idx >= 0);
- g_return_if_fail (idx < eth->col_count);
-
- /* If this column is not resizable, don't do anything. */
- if (!eth->columns[idx]->resizable)
- return;
-
- expansion = 0;
- min_width = 0;
- left_width = 0;
- expandable_count = -1;
-
- /* Calculate usable area. */
- for (i = 0; i < idx; i++) {
- left_width += eth->columns[i]->width;
- }
- /* - 1 to account for the last pixel border. */
- usable_width = eth->width - left_width - 1;
-
- if (eth->sort_info)
- usable_width -= e_table_sort_info_grouping_get_count(eth->sort_info) * GROUP_INDENT;
-
- /* Calculate minimum_width of stuff on the right as well as
- * total usable expansion on the right.
- */
- for (; i < eth->col_count; i++) {
- min_width += eth->columns[i]->min_width + eth->width_extras;
- if (eth->columns[i]->resizable) {
- expansion += eth->columns[i]->expansion;
- expandable_count ++;
- }
- }
- /* If there's no room for anything, don't change. */
- if (expansion == 0)
- return;
-
- /* (1) If none of the columns to the right are expandable, use
- * all the expansion space in this column.
- */
- if(expandable_count == 0) {
- eth->columns[idx]->expansion = expansion;
- for (i = idx + 1; i < eth->col_count; i++) {
- eth->columns[i]->expansion = 0;
- }
-
- g_signal_emit (G_OBJECT (eth), eth_signals [EXPANSION_CHANGE], 0);
- return;
- }
-
- total_extra = usable_width - min_width;
- /* If there's no extra space, set all expansions to 0. */
- if (total_extra <= 0) {
- for (i = idx; i < eth->col_count; i++) {
- eth->columns[i]->expansion = 0;
- }
- g_signal_emit (G_OBJECT (eth), eth_signals [EXPANSION_CHANGE], 0);
- return;
- }
-
- /* If you try to resize smaller than the minimum width, it
- * uses the minimum. */
- if (size < eth->columns[idx]->min_width + eth->width_extras)
- size = eth->columns[idx]->min_width + eth->width_extras;
-
- /* If all the extra space will be used up in this column, use
- * all the expansion and set all others to 0.
- */
- if (size >= total_extra + eth->columns[idx]->min_width + eth->width_extras) {
- eth->columns[idx]->expansion = expansion;
- for (i = idx + 1; i < eth->col_count; i++) {
- eth->columns[i]->expansion = 0;
- }
- g_signal_emit (G_OBJECT (eth), eth_signals [EXPANSION_CHANGE], 0);
- return;
- }
-
- /* The old_expansion used by columns to the right. */
- old_expansion = expansion;
- old_expansion -= eth->columns[idx]->expansion;
- /* Set the new expansion so that it will generate the desired size. */
- eth->columns[idx]->expansion = expansion * (((double)(size - (eth->columns[idx]->min_width + eth->width_extras)))/((double)total_extra));
- /* The expansion left for the columns on the right. */
- expansion -= eth->columns[idx]->expansion;
-
- /* (2) If the old columns to the right didn't have any
- * expansion before, expand them evenly. old_expansion > 0 by
- * expansion = SUM(i=idx to col_count -1,
- * columns[i]->min_width) - columns[idx]->min_width) =
- * SUM(non-negatives).
- */
- if (old_expansion == 0) {
- for (i = idx + 1; i < eth->col_count; i++) {
- if (eth->columns[idx]->resizable) {
- /* expandable_count != 0 by (1) */
- eth->columns[i]->expansion = expansion / expandable_count;
- }
- }
- g_signal_emit (G_OBJECT (eth), eth_signals [EXPANSION_CHANGE], 0);
- return;
- }
-
- /* Remove from total_extra the amount used for this column. */
- total_extra -= size - (eth->columns[idx]->min_width + eth->width_extras);
- for (i = idx + 1; i < eth->col_count; i++) {
- if (eth->columns[idx]->resizable) {
- /* old_expansion != 0 by (2) */
- eth->columns[i]->expansion *= expansion / old_expansion;
- }
- }
- g_signal_emit (G_OBJECT (eth), eth_signals [EXPANSION_CHANGE], 0);
-}
-
-/**
- * e_table_header_col_diff:
- * @eth: the ETableHeader to query.
- * @start_col: the starting column
- * @end_col: the ending column.
- *
- * Computes the number of pixels between the columns @start_col and
- * @end_col.
- *
- * Returns: the number of pixels between @start_col and @end_col on the
- * @eth ETableHeader object
- */
-int
-e_table_header_col_diff (ETableHeader *eth, int start_col, int end_col)
-{
- int total, col;
-
- g_return_val_if_fail (eth != NULL, 0);
- g_return_val_if_fail (E_IS_TABLE_HEADER (eth), 0);
-
- if (start_col < 0)
- start_col = 0;
- if (end_col > eth->col_count)
- end_col = eth->col_count;
-
- total = 0;
- for (col = start_col; col < end_col; col++){
-
- total += eth->columns [col]->width;
- }
-
- return total;
-}
-
-static void
-eth_calc_widths (ETableHeader *eth)
-{
- int i;
- int extra;
- double expansion;
- int last_position = 0;
- double next_position = 0;
- int last_resizable = -1;
- int *widths;
- gboolean changed;
-
- widths = g_new (int, eth->col_count);
-
- /* - 1 to account for the last pixel border. */
- extra = eth->width - 1;
- expansion = 0;
- for (i = 0; i < eth->col_count; i++) {
- extra -= eth->columns[i]->min_width + eth->width_extras;
- if (eth->columns[i]->resizable && eth->columns[i]->expansion > 0)
- last_resizable = i;
- expansion += eth->columns[i]->resizable ? eth->columns[i]->expansion : 0;
- widths[i] = eth->columns[i]->min_width + eth->width_extras;
- }
- if (eth->sort_info)
- extra -= e_table_sort_info_grouping_get_count(eth->sort_info) * GROUP_INDENT;
- if (expansion != 0 && extra > 0) {
- for (i = 0; i < last_resizable; i++) {
- next_position += extra * (eth->columns[i]->resizable ? eth->columns[i]->expansion : 0)/expansion;
- widths[i] += next_position - last_position;
- last_position = next_position;
- }
- widths[i] += extra - last_position;
- }
-
- changed = FALSE;
-
- for (i = 0; i < eth->col_count; i++) {
- if (eth->columns[i]->width != widths[i]) {
- changed = TRUE;
- eth->columns[i]->width = widths[i];
- }
- }
- g_free (widths);
- if (changed)
- g_signal_emit (G_OBJECT (eth), eth_signals [DIMENSION_CHANGE], 0, eth->width);
- eth_update_offsets (eth);
-}
-
-void
-e_table_header_update_horizontal (ETableHeader *eth)
-{
- int i;
- int cols;
-
- cols = eth->col_count;
-
- for (i = 0; i < cols; i++) {
- int width = 0;
-
- g_signal_emit_by_name (G_OBJECT (eth),
- "request_width",
- i, &width);
- eth->columns[i]->min_width = width + 10;
- eth->columns[i]->expansion = 1;
- }
- enqueue(eth, -1, eth->nominal_width);
- g_signal_emit (G_OBJECT (eth), eth_signals [EXPANSION_CHANGE], 0);
-}
-
-E_MAKE_TYPE(e_table_header, "ETableHeader", ETableHeader, e_table_header_class_init, e_table_header_init, G_TYPE_OBJECT)
-
-int
-e_table_header_prioritized_column (ETableHeader *eth)
-{
- int best_model_col = 0;
- int best_priority;
- int i;
- int count;
-
- count = e_table_header_count (eth);
- if (count == 0)
- return -1;
- best_priority = e_table_header_get_column (eth, 0)->priority;
- best_model_col = e_table_header_get_column (eth, 0)->col_idx;
- for (i = 1; i < count; i++) {
- int priority = e_table_header_get_column (eth, i)->priority;
- if (priority > best_priority) {
- best_priority = priority;
- best_model_col = e_table_header_get_column (eth, i)->col_idx;
- }
- }
- return best_model_col;
-}
-
-ETableCol *
-e_table_header_prioritized_column_selected (ETableHeader *eth, ETableColCheckFunc check_func, gpointer user_data)
-{
- ETableCol *best_col = NULL;
- int best_priority = G_MININT;
- int i;
- int count;
-
- count = e_table_header_count (eth);
- if (count == 0)
- return NULL;
- for (i = 1; i < count; i++) {
- ETableCol *col = e_table_header_get_column (eth, i);
- if (col) {
- if ((best_col == NULL || col->priority > best_priority) && check_func (col, user_data)) {
- best_priority = col->priority;
- best_col = col;
- }
- }
- }
- return best_col;
-}
diff --git a/widgets/table/e-table-header.h b/widgets/table/e-table-header.h
deleted file mode 100644
index 3a9ae6a0bf..0000000000
--- a/widgets/table/e-table-header.h
+++ /dev/null
@@ -1,120 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-header.h
- * Copyright 1999, 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Miguel de Icaza <miguel@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_COLUMN_H_
-#define _E_TABLE_COLUMN_H_
-
-#include <glib-object.h>
-#include <gdk/gdk.h>
-#include <gal/e-table/e-table-sort-info.h>
-#include <gal/e-table/e-table-col.h>
-
-G_BEGIN_DECLS
-
-typedef struct _ETableHeader ETableHeader;
-
-#define E_TABLE_HEADER_TYPE (e_table_header_get_type ())
-#define E_TABLE_HEADER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_HEADER_TYPE, ETableHeader))
-#define E_TABLE_HEADER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_HEADER_TYPE, ETableHeaderClass))
-#define E_IS_TABLE_HEADER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_HEADER_TYPE))
-#define E_IS_TABLE_HEADER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_HEADER_TYPE))
-#define E_TABLE_HEADER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), E_TABLE_HEADER_TYPE, ETableHeaderClass))
-
-typedef gboolean (*ETableColCheckFunc) (ETableCol *col, gpointer user_data);
-
-/*
- * A Columnar header.
- */
-struct _ETableHeader {
- GObject base;
-
- int col_count;
- int width;
- int nominal_width;
- int width_extras;
-
- ETableSortInfo *sort_info;
- int sort_info_group_change_id;
-
- ETableCol **columns;
-
- GSList *change_queue, *change_tail;
- gint idle;
-};
-
-typedef struct {
- GObjectClass parent_class;
-
- void (*structure_change) (ETableHeader *eth);
- void (*dimension_change) (ETableHeader *eth, int width);
- void (*expansion_change) (ETableHeader *eth);
- int (*request_width) (ETableHeader *eth, int col);
-} ETableHeaderClass;
-
-GType e_table_header_get_type (void);
-ETableHeader *e_table_header_new (void);
-
-void e_table_header_add_column (ETableHeader *eth,
- ETableCol *tc,
- int pos);
-ETableCol *e_table_header_get_column (ETableHeader *eth,
- int column);
-ETableCol *e_table_header_get_column_by_col_idx (ETableHeader *eth,
- int col_idx);
-int e_table_header_count (ETableHeader *eth);
-int e_table_header_index (ETableHeader *eth,
- int col);
-int e_table_header_get_index_at (ETableHeader *eth,
- int x_offset);
-ETableCol **e_table_header_get_columns (ETableHeader *eth);
-int e_table_header_get_selected (ETableHeader *eth);
-
-int e_table_header_total_width (ETableHeader *eth);
-int e_table_header_min_width (ETableHeader *eth);
-void e_table_header_move (ETableHeader *eth,
- int source_index,
- int target_index);
-void e_table_header_remove (ETableHeader *eth,
- int idx);
-void e_table_header_set_size (ETableHeader *eth,
- int idx,
- int size);
-void e_table_header_set_selection (ETableHeader *eth,
- gboolean allow_selection);
-int e_table_header_col_diff (ETableHeader *eth,
- int start_col,
- int end_col);
-
-void e_table_header_calc_widths (ETableHeader *eth);
-GList *e_table_header_get_selected_indexes (ETableHeader *eth);
-void e_table_header_update_horizontal (ETableHeader *eth);
-int e_table_header_prioritized_column (ETableHeader *eth);
-ETableCol *e_table_header_prioritized_column_selected (ETableHeader *eth,
- ETableColCheckFunc check_func,
- gpointer user_data);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_HEADER_H_ */
-
diff --git a/widgets/table/e-table-item.c b/widgets/table/e-table-item.c
deleted file mode 100644
index 33798cc716..0000000000
--- a/widgets/table/e-table-item.c
+++ /dev/null
@@ -1,3735 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-item.c
- * Copyright 1999, 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Miguel de Icaza <miguel@gnu.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-/*
- * TODO:
- * Add a border to the thing, so that focusing works properly.
- */
-#include <config.h>
-
-#include "e-table-item.h"
-
-#include <X11/Xlib.h>
-
-#include <math.h>
-#include <stdio.h>
-#include <gtk/gtksignal.h>
-#include <gtk/gtkmain.h>
-#include <gdk/gdkkeysyms.h>
-#include "e-table-subset.h"
-#include "e-cell.h"
-#include "gal/a11y/e-table/gal-a11y-e-table-item-factory.h"
-#include "gal/widgets/e-hsv-utils.h"
-#include "gal/widgets/e-canvas.h"
-#include "gal/widgets/e-canvas-utils.h"
-#include "gal/util/e-util.h"
-#include "gal/a11y/e-table/gal-a11y-e-table-item.h"
-#include "gal/util/e-i18n.h"
-#include <string.h>
-#include <stdlib.h>
-#include <atk/atk.h>
-
-#define PARENT_OBJECT_TYPE gnome_canvas_item_get_type ()
-
-#define FOCUSED_BORDER 2
-
-#define d(x)
-
-#if d(!)0
-#define e_table_item_leave_edit_(x) (e_table_item_leave_edit((x)), g_print ("%s: e_table_item_leave_edit\n", __FUNCTION__))
-#else
-#define e_table_item_leave_edit_(x) (e_table_item_leave_edit((x)))
-#endif
-
-static void eti_check_cursor_bounds (ETableItem *eti);
-static void eti_cancel_drag_due_to_model_change (ETableItem *eti);
-
-/* FIXME: Do an analysis of which cell functions are needed before
- realize and make sure that all of them are doable by all the cells
- and that all of the others are only done after realization. */
-
-static GnomeCanvasItemClass *eti_parent_class;
-
-enum {
- CURSOR_CHANGE,
- CURSOR_ACTIVATED,
- DOUBLE_CLICK,
- RIGHT_CLICK,
- CLICK,
- KEY_PRESS,
- START_DRAG,
- STYLE_SET,
- SELECTION_MODEL_REMOVED,
- SELECTION_MODEL_ADDED,
- LAST_SIGNAL
-};
-
-static guint eti_signals [LAST_SIGNAL] = { 0, };
-
-enum {
- PROP_0,
- PROP_TABLE_HEADER,
- PROP_TABLE_MODEL,
- PROP_SELECTION_MODEL,
- PROP_TABLE_ALTERNATING_ROW_COLORS,
- PROP_TABLE_HORIZONTAL_DRAW_GRID,
- PROP_TABLE_VERTICAL_DRAW_GRID,
- PROP_TABLE_DRAW_FOCUS,
- PROP_CURSOR_MODE,
- PROP_LENGTH_THRESHOLD,
- PROP_CURSOR_ROW,
- PROP_UNIFORM_ROW_HEIGHT,
-
- PROP_MINIMUM_WIDTH,
- PROP_WIDTH,
- PROP_HEIGHT
-};
-
-#define DOUBLE_CLICK_TIME 250
-#define TRIPLE_CLICK_TIME 500
-
-
-static int eti_get_height (ETableItem *eti);
-static int eti_row_height (ETableItem *eti, int row);
-static void e_table_item_focus (ETableItem *eti, int col, int row, GdkModifierType state);
-static void eti_cursor_change (ESelectionModel *selection, int row, int col, ETableItem *eti);
-static void eti_cursor_activated (ESelectionModel *selection, int row, int col, ETableItem *eti);
-static void eti_selection_change (ESelectionModel *selection, ETableItem *eti);
-static void eti_selection_row_change (ESelectionModel *selection, int row, ETableItem *eti);
-static void e_table_item_redraw_row (ETableItem *eti, int row);
-
-#define ETI_SINGLE_ROW_HEIGHT(eti) ((eti)->uniform_row_height_cache != -1 ? (eti)->uniform_row_height_cache : eti_row_height((eti), -1))
-#define ETI_MULTIPLE_ROW_HEIGHT(eti,row) ((eti)->height_cache && (eti)->height_cache[(row)] != -1 ? (eti)->height_cache[(row)] : eti_row_height((eti),(row)))
-#define ETI_ROW_HEIGHT(eti,row) ((eti)->uniform_row_height ? ETI_SINGLE_ROW_HEIGHT ((eti)) : ETI_MULTIPLE_ROW_HEIGHT((eti),(row)))
-
-inline static gint
-model_to_view_row(ETableItem *eti, int row)
-{
- int i;
- if (row == -1)
- return -1;
- if (eti->uses_source_model) {
- ETableSubset *etss = E_TABLE_SUBSET(eti->table_model);
- if (eti->row_guess >= 0 && eti->row_guess < etss->n_map) {
- if (etss->map_table[eti->row_guess] == row) {
- return eti->row_guess;
- }
- }
- for (i = 0; i < etss->n_map; i++) {
- if (etss->map_table[i] == row)
- return i;
- }
- return -1;
- } else
- return row;
-}
-
-inline static gint
-view_to_model_row(ETableItem *eti, int row)
-{
- if (eti->uses_source_model) {
- ETableSubset *etss = E_TABLE_SUBSET(eti->table_model);
- if (row >= 0 && row < etss->n_map) {
- eti->row_guess = row;
- return etss->map_table[row];
- } else
- return -1;
- } else
- return row;
-}
-
-inline static gint
-model_to_view_col(ETableItem *eti, int col)
-{
- int i;
- if (col == -1)
- return -1;
- for (i = 0; i < eti->cols; i++) {
- ETableCol *ecol = e_table_header_get_column (eti->header, i);
- if (ecol->col_idx == col)
- return i;
- }
- return -1;
-}
-
-inline static gint
-view_to_model_col(ETableItem *eti, int col)
-{
- ETableCol *ecol = e_table_header_get_column (eti->header, col);
- return ecol ? ecol->col_idx : -1;
-}
-
-static void
-grab_cancelled (ECanvas *canvas, GnomeCanvasItem *item, gpointer data)
-{
- ETableItem *eti = data;
-
- eti->grab_cancelled = TRUE;
-}
-
-inline static void
-eti_grab (ETableItem *eti, guint32 time)
-{
- GnomeCanvasItem *item = GNOME_CANVAS_ITEM (eti);
- d(g_print ("%s: time: %d\n", __FUNCTION__, time));
- if (eti->grabbed_count == 0) {
- eti->gtk_grabbed = FALSE;
- eti->grab_cancelled = FALSE;
- if (e_canvas_item_grab(E_CANVAS (item->canvas),
- item,
- GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK
- | GDK_POINTER_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK,
- NULL, time,
- grab_cancelled,
- eti) != GrabSuccess) {
- d(g_print ("%s: gtk_grab_add\n", __FUNCTION__));
- gtk_grab_add (GTK_WIDGET (item->canvas));
- eti->gtk_grabbed = TRUE;
- }
- }
- eti->grabbed_count ++;
-}
-
-inline static void
-eti_ungrab (ETableItem *eti, guint32 time)
-{
- GnomeCanvasItem *item = GNOME_CANVAS_ITEM (eti);
- d(g_print ("%s: time: %d\n", __FUNCTION__, time));
- eti->grabbed_count --;
- if (eti->grabbed_count == 0) {
- if (eti->grab_cancelled) {
- eti->grab_cancelled = FALSE;
- } else {
- if (eti->gtk_grabbed) {
- d(g_print ("%s: gtk_grab_remove\n", __FUNCTION__));
- gtk_grab_remove (GTK_WIDGET (item->canvas));
- eti->gtk_grabbed = FALSE;
- }
- gnome_canvas_item_ungrab(item, time);
- eti->grabbed_col = -1;
- eti->grabbed_row = -1;
- }
- }
-}
-
-inline static gboolean
-eti_editing (ETableItem *eti)
-{
- d(g_print("%s: %s\n", __FUNCTION__, (eti->editing_col == -1) ? "false":"true"));
-
- if (eti->editing_col == -1)
- return FALSE;
- else
- return TRUE;
-}
-
-inline static GdkColor *
-eti_get_cell_background_color (ETableItem *eti, int row, int col, gboolean selected, gboolean *allocatedp)
-{
- ECellView *ecell_view = eti->cell_views [col];
- GtkWidget *canvas = GTK_WIDGET(GNOME_CANVAS_ITEM(eti)->canvas);
- GdkColor *background, bg;
- gchar *color_spec = NULL;
- gboolean allocated = FALSE;
-
- if (selected){
- if (GTK_WIDGET_HAS_FOCUS(canvas))
- background = &canvas->style->bg [GTK_STATE_SELECTED];
- else
- background = &canvas->style->bg [GTK_STATE_ACTIVE];
- } else {
- background = &canvas->style->base [GTK_STATE_NORMAL];
- }
-
- color_spec = e_cell_get_bg_color (ecell_view, row);
-
- if (color_spec != NULL) {
- if (gdk_color_parse (color_spec, &bg)) {
- background = gdk_color_copy (&bg);
- gdk_colormap_alloc_color (gtk_widget_get_colormap (GTK_WIDGET (canvas)), background,
- FALSE, TRUE);
- allocated = TRUE;
- }
- }
-
- if (eti->alternating_row_colors) {
- if (row % 2) {
-
- } else {
- if (!allocated) {
- background = gdk_color_copy (background);
- allocated = TRUE;
- }
- e_hsv_tweak (background, 0.0f, 0.0f, -0.07f);
- gdk_colormap_alloc_color (gtk_widget_get_colormap (GTK_WIDGET (canvas)), background,
- FALSE, TRUE);
- }
- }
- if (allocatedp)
- *allocatedp = allocated;
-
- return background;
-}
-
-inline static GdkColor *
-eti_get_cell_foreground_color (ETableItem *eti, int row, int col, gboolean selected, gboolean *allocated)
-{
- GtkWidget *canvas = GTK_WIDGET(GNOME_CANVAS_ITEM(eti)->canvas);
- GdkColor *foreground;
-
- if (allocated)
- *allocated = FALSE;
-
- if (selected){
- if (GTK_WIDGET_HAS_FOCUS (canvas))
- foreground = &canvas->style->fg [GTK_STATE_SELECTED];
- else
- foreground = &canvas->style->fg [GTK_STATE_ACTIVE];
- } else {
- foreground = &canvas->style->text [GTK_STATE_NORMAL];
- }
-
- return foreground;
-}
-
-static void
-eti_free_save_state (ETableItem *eti)
-{
- if (eti->save_row == -1 ||
- !eti->cell_views_realized)
- return;
-
- e_cell_free_state (eti->cell_views [eti->save_col], view_to_model_col(eti, eti->save_col),
- eti->save_col, eti->save_row, eti->save_state);
- eti->save_row = -1;
- eti->save_col = -1;
- eti->save_state = NULL;
-}
-
-/*
- * During realization, we have to invoke the per-ecell realize routine
- * (On our current setup, we have one e-cell per column.
- *
- * We might want to optimize this to only realize the unique e-cells:
- * ie, a strings-only table, uses the same e-cell for every column, and
- * we might want to avoid realizing each e-cell.
- */
-static void
-eti_realize_cell_views (ETableItem *eti)
-{
- int i;
-
- if (eti->cell_views_realized)
- return;
-
- if (!(GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED))
- return;
-
- for (i = 0; i < eti->n_cells; i++)
- e_cell_realize (eti->cell_views [i]);
- eti->cell_views_realized = 1;
-}
-
-static void
-eti_attach_cell_views (ETableItem *eti)
-{
- int i;
-
- g_assert (eti->header);
- g_assert (eti->table_model);
-
- /* this is just c&p from model pre change, but it fixes things */
- eti_cancel_drag_due_to_model_change (eti);
- eti_check_cursor_bounds (eti);
- if (eti_editing (eti))
- e_table_item_leave_edit_(eti);
- eti->motion_row = -1;
- eti->motion_col = -1;
-
- /*
- * Now realize the various ECells
- */
- eti->n_cells = eti->cols;
- eti->cell_views = g_new (ECellView *, eti->n_cells);
-
- for (i = 0; i < eti->n_cells; i++){
- ETableCol *ecol = e_table_header_get_column (eti->header, i);
-
- eti->cell_views [i] = e_cell_new_view (ecol->ecell, eti->table_model, eti);
- }
-
- eti->needs_compute_height = 1;
- e_canvas_item_request_reflow (GNOME_CANVAS_ITEM (eti));
- eti->needs_redraw = 1;
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM (eti));
-}
-
-/*
- * During unrealization: we invoke every e-cell (one per column in the current
- * setup) to dispose all X resources allocated
- */
-static void
-eti_unrealize_cell_views (ETableItem *eti)
-{
- int i;
-
- if (eti->cell_views_realized == 0)
- return;
-
- eti_free_save_state (eti);
-
- for (i = 0; i < eti->n_cells; i++)
- e_cell_unrealize (eti->cell_views [i]);
- eti->cell_views_realized = 0;
-}
-
-static void
-eti_detach_cell_views (ETableItem *eti)
-{
- int i;
-
- eti_free_save_state (eti);
-
- for (i = 0; i < eti->n_cells; i++){
- e_cell_kill_view (eti->cell_views [i]);
- eti->cell_views [i] = NULL;
- }
-
- g_free (eti->cell_views);
- eti->cell_views = NULL;
- eti->n_cells = 0;
-}
-
-static void
-eti_bounds (GnomeCanvasItem *item, double *x1, double *y1, double *x2, double *y2)
-{
- double i2c [6];
- ArtPoint c1, c2, i1, i2;
- ETableItem *eti = E_TABLE_ITEM (item);
-
- /* Wrong BBox's are the source of redraw nightmares */
-
- gnome_canvas_item_i2c_affine (GNOME_CANVAS_ITEM (eti), i2c);
-
- i1.x = eti->x1;
- i1.y = eti->y1;
- i2.x = eti->x1 + eti->width;
- i2.y = eti->y1 + eti->height;
- art_affine_point (&c1, &i1, i2c);
- art_affine_point (&c2, &i2, i2c);
-
- *x1 = c1.x;
- *y1 = c1.y;
- *x2 = c2.x + 1;
- *y2 = c2.y + 1;
-}
-
-static void
-eti_reflow (GnomeCanvasItem *item, gint flags)
-{
- ETableItem *eti = E_TABLE_ITEM (item);
-
- if (eti->needs_compute_height) {
- int new_height = eti_get_height (eti);
-
- if (new_height != eti->height) {
- eti->height = new_height;
- e_canvas_item_request_parent_reflow (GNOME_CANVAS_ITEM (eti));
- eti->needs_redraw = 1;
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM (eti));
- }
- eti->needs_compute_height = 0;
- }
- if (eti->needs_compute_width) {
- int new_width = e_table_header_total_width(eti->header);
- if (new_width != eti->width) {
- eti->width = new_width;
- e_canvas_item_request_parent_reflow (GNOME_CANVAS_ITEM (eti));
- eti->needs_redraw = 1;
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM (eti));
- }
- eti->needs_compute_width = 0;
- }
-}
-
-/*
- * GnomeCanvasItem::update method
- */
-static void
-eti_update (GnomeCanvasItem *item, double *affine, ArtSVP *clip_path, int flags)
-{
- ArtPoint o1, o2;
- ETableItem *eti = E_TABLE_ITEM (item);
-
- if (GNOME_CANVAS_ITEM_CLASS (eti_parent_class)->update)
- (*GNOME_CANVAS_ITEM_CLASS (eti_parent_class)->update)(item, affine, clip_path, flags);
-
- o1.x = item->x1;
- o1.y = item->y1;
- o2.x = item->x2;
- o2.y = item->y2;
-
- eti_bounds (item, &item->x1, &item->y1, &item->x2, &item->y2);
- if (item->x1 != o1.x ||
- item->y1 != o1.y ||
- item->x2 != o2.x ||
- item->y2 != o2.y) {
- gnome_canvas_request_redraw (item->canvas, o1.x, o1.y, o2.x, o2.y);
- eti->needs_redraw = 1;
- }
-
- if (eti->needs_redraw) {
- gnome_canvas_request_redraw (item->canvas, item->x1, item->y1,
- item->x2, item->y2);
- eti->needs_redraw = 0;
- }
-}
-
-/*
- * eti_remove_table_model:
- *
- * Invoked to release the table model associated with this ETableItem
- */
-static void
-eti_remove_table_model (ETableItem *eti)
-{
- if (!eti->table_model)
- return;
-
- g_signal_handler_disconnect (G_OBJECT (eti->table_model),
- eti->table_model_pre_change_id);
- g_signal_handler_disconnect (G_OBJECT (eti->table_model),
- eti->table_model_no_change_id);
- g_signal_handler_disconnect (G_OBJECT (eti->table_model),
- eti->table_model_change_id);
- g_signal_handler_disconnect (G_OBJECT (eti->table_model),
- eti->table_model_row_change_id);
- g_signal_handler_disconnect (G_OBJECT (eti->table_model),
- eti->table_model_cell_change_id);
- g_signal_handler_disconnect (G_OBJECT (eti->table_model),
- eti->table_model_rows_inserted_id);
- g_signal_handler_disconnect (G_OBJECT (eti->table_model),
- eti->table_model_rows_deleted_id);
- g_object_unref (eti->table_model);
- if (eti->source_model)
- g_object_unref (eti->source_model);
-
- eti->table_model_pre_change_id = 0;
- eti->table_model_no_change_id = 0;
- eti->table_model_change_id = 0;
- eti->table_model_row_change_id = 0;
- eti->table_model_cell_change_id = 0;
- eti->table_model_rows_inserted_id = 0;
- eti->table_model_rows_deleted_id = 0;
- eti->table_model = NULL;
- eti->source_model = NULL;
- eti->uses_source_model = 0;
-}
-
-/*
- * eti_remove_table_model:
- *
- * Invoked to release the table model associated with this ETableItem
- */
-static void
-eti_remove_selection_model (ETableItem *eti)
-{
- if (!eti->selection)
- return;
-
- g_signal_handler_disconnect (eti->selection,
- eti->selection_change_id);
- g_signal_handler_disconnect (eti->selection,
- eti->selection_row_change_id);
- g_signal_handler_disconnect (eti->selection,
- eti->cursor_change_id);
- g_signal_handler_disconnect (eti->selection,
- eti->cursor_activated_id);
- g_object_unref (eti->selection);
-
- eti->selection_change_id = 0;
- eti->selection_row_change_id = 0;
- eti->cursor_activated_id = 0;
- eti->selection = NULL;
-}
-
-/*
- * eti_remove_header_model:
- *
- * Invoked to release the header model associated with this ETableItem
- */
-static void
-eti_remove_header_model (ETableItem *eti)
-{
- if (!eti->header)
- return;
-
- g_signal_handler_disconnect (G_OBJECT (eti->header),
- eti->header_structure_change_id);
- g_signal_handler_disconnect (G_OBJECT (eti->header),
- eti->header_dim_change_id);
- g_signal_handler_disconnect (G_OBJECT (eti->header),
- eti->header_request_width_id);
-
- if (eti->cell_views){
- eti_unrealize_cell_views (eti);
- eti_detach_cell_views (eti);
- }
- g_object_unref (eti->header);
-
-
- eti->header_structure_change_id = 0;
- eti->header_dim_change_id = 0;
- eti->header_request_width_id = 0;
- eti->header = NULL;
-}
-
-/*
- * eti_row_height_real:
- *
- * Returns the height used by row @row. This does not include the one-pixel
- * used as a separator between rows
- */
-static int
-eti_row_height_real (ETableItem *eti, int row)
-{
- const int cols = e_table_header_count (eti->header);
- int col;
- int h, max_h;
-
- g_assert (cols == 0 || eti->cell_views);
-
- max_h = 0;
-
- for (col = 0; col < cols; col++){
- h = e_cell_height (eti->cell_views [col], view_to_model_col(eti, col), col, row);
-
- if (h > max_h)
- max_h = h;
- }
- return max_h;
-}
-
-static void
-confirm_height_cache (ETableItem *eti)
-{
- int i;
-
- if (eti->uniform_row_height || eti->height_cache)
- return;
- eti->height_cache = g_new(int, eti->rows);
- for (i = 0; i < eti->rows; i++) {
- eti->height_cache[i] = -1;
- }
-}
-
-static gboolean
-height_cache_idle(ETableItem *eti)
-{
- int changed = 0;
- int i;
- confirm_height_cache(eti);
- for (i = eti->height_cache_idle_count; i < eti->rows; i++) {
- if (eti->height_cache[i] == -1) {
- eti_row_height(eti, i);
- changed ++;
- if (changed >= 20)
- break;
- }
- }
- if (changed >= 20) {
- eti->height_cache_idle_count = i;
- return TRUE;
- }
- eti->height_cache_idle_id = 0;
- return FALSE;
-}
-
-static void
-free_height_cache (ETableItem *eti)
-{
- if (GNOME_CANVAS_ITEM_REALIZED & GTK_OBJECT_FLAGS (eti)) {
- if (eti->height_cache)
- g_free (eti->height_cache);
- eti->height_cache = NULL;
- eti->height_cache_idle_count = 0;
- eti->uniform_row_height_cache = -1;
-
- if (eti->uniform_row_height && eti->height_cache_idle_id != 0) {
- g_source_remove(eti->height_cache_idle_id);
- eti->height_cache_idle_id = 0;
- }
-
- if ((!eti->uniform_row_height) && eti->height_cache_idle_id == 0)
- eti->height_cache_idle_id = g_idle_add_full(G_PRIORITY_LOW, (GSourceFunc) height_cache_idle, eti, NULL);
- }
-}
-
-static void
-calculate_height_cache (ETableItem *eti)
-{
- free_height_cache(eti);
- confirm_height_cache(eti);
-}
-
-
-/*
- * eti_row_height:
- *
- * Returns the height used by row @row. This does not include the one-pixel
- * used as a separator between rows
- */
-static int
-eti_row_height (ETableItem *eti, int row)
-{
- if (eti->uniform_row_height) {
- eti->uniform_row_height_cache = eti_row_height_real (eti, -1);
- return eti->uniform_row_height_cache;
- } else {
- if (!eti->height_cache) {
- calculate_height_cache (eti);
- }
- if (eti->height_cache[row] == -1) {
- eti->height_cache[row] = eti_row_height_real(eti, row);
- if (row > 0 &&
- eti->length_threshold != -1 &&
- eti->rows > eti->length_threshold &&
- eti->height_cache[row] != eti_row_height(eti, 0)) {
- eti->needs_compute_height = 1;
- e_canvas_item_request_reflow(GNOME_CANVAS_ITEM(eti));
- }
- }
- return eti->height_cache[row];
- }
-}
-
-/*
- * eti_get_height:
- *
- * Returns the height of the ETableItem.
- *
- * The ETableItem might compute the whole height by asking every row its
- * size. There is a special mode (designed to work when there are too
- * many rows in the table that performing the previous step could take
- * too long) set by the ETableItem->length_threshold that would determine
- * when the height is computed by using the first row as the size for
- * every other row in the ETableItem.
- */
-static int
-eti_get_height (ETableItem *eti)
-{
- const int rows = eti->rows;
- int height_extra = eti->horizontal_draw_grid ? 1 : 0;
-
- if (rows == 0)
- return 0;
-
- if (eti->uniform_row_height) {
- int row_height = eti_row_height(eti, -1);
- return ((row_height + height_extra) * rows + height_extra);
- } else {
- int height;
- int row;
- if (eti->length_threshold != -1){
- if (rows > eti->length_threshold){
- int row_height = eti_row_height(eti, 0);
- if (eti->height_cache) {
- height = 0;
- for (row = 0; row < rows; row++) {
- if (eti->height_cache[row] == -1) {
- height += (row_height + height_extra) * (rows - row);
- break;
- }
- else
- height += eti->height_cache[row] + height_extra;
- }
- } else
- height = (eti_row_height (eti, 0) + height_extra) * rows;
-
- /*
- * 1 pixel at the top
- */
- return height + height_extra;
- }
- }
-
- height = height_extra;
- for (row = 0; row < rows; row++)
- height += eti_row_height (eti, row) + height_extra;
-
- return height;
- }
-}
-
-static void
-eti_item_region_redraw (ETableItem *eti, int x0, int y0, int x1, int y1)
-{
- GnomeCanvasItem *item = GNOME_CANVAS_ITEM (eti);
- ArtDRect rect;
- double i2c [6];
-
- rect.x0 = x0;
- rect.y0 = y0;
- rect.x1 = x1;
- rect.y1 = y1;
-
- gnome_canvas_item_i2c_affine (item, i2c);
- art_drect_affine_transform (&rect, &rect, i2c);
-
- gnome_canvas_request_redraw (item->canvas, rect.x0, rect.y0, rect.x1, rect.y1);
-}
-
-/*
- * Computes the distance between @start_row and @end_row in pixels
- */
-int
-e_table_item_row_diff (ETableItem *eti, int start_row, int end_row)
-{
- int height_extra = eti->horizontal_draw_grid ? 1 : 0;
-
- if (start_row < 0)
- start_row = 0;
- if (end_row > eti->rows)
- end_row = eti->rows;
-
- if (eti->uniform_row_height) {
- return ((end_row - start_row) * (eti_row_height(eti, -1) + height_extra));
- } else {
- int row, total;
- total = 0;
- for (row = start_row; row < end_row; row++)
- total += eti_row_height (eti, row) + height_extra;
-
- return total;
- }
-}
-
-static void
-eti_get_region (ETableItem *eti,
- int start_col, int start_row,
- int end_col, int end_row,
- int *x1p, int *y1p,
- int *x2p, int *y2p)
-{
- int x1, y1, x2, y2;
-
- x1 = e_table_header_col_diff (eti->header, 0, start_col);
- y1 = e_table_item_row_diff (eti, 0, start_row);
- x2 = x1 + e_table_header_col_diff (eti->header, start_col, end_col + 1);
- y2 = y1 + e_table_item_row_diff (eti, start_row, end_row + 1);
- if (x1p)
- *x1p = x1;
- if (y1p)
- *y1p = y1;
- if (x2p)
- *x2p = x2;
- if (y2p)
- *y2p = y2;
-}
-
-/*
- * eti_request_region_redraw:
- *
- * Request a canvas redraw on the range (start_col, start_row) to (end_col, end_row).
- * This is inclusive (ie, you can use: 0,0-0,0 to redraw the first cell).
- *
- * The @border argument is a number of pixels around the region that should also be queued
- * for redraw. This is typically used by the focus routines to queue a redraw for the
- * border as well.
- */
-static void
-eti_request_region_redraw (ETableItem *eti,
- int start_col, int start_row,
- int end_col, int end_row, int border)
-{
- int x1, y1, x2, y2;
-
- if (eti->rows > 0) {
-
- eti_get_region (eti,
- start_col, start_row,
- end_col, end_row,
- &x1, &y1, &x2, &y2);
-
- eti_item_region_redraw (eti, eti->x1 + x1 - border,
- eti->y1 + y1 - border,
- eti->x1 + x2 + 1 + border,
- eti->y1 + y2 + 1 + border);
- }
-}
-
-/*
- * eti_request_region_show
- *
- * Request a canvas show on the range (start_col, start_row) to (end_col, end_row).
- * This is inclusive (ie, you can use: 0,0-0,0 to show the first cell).
- */
-static void
-eti_request_region_show (ETableItem *eti,
- int start_col, int start_row,
- int end_col, int end_row, int delay)
-{
- int x1, y1, x2, y2;
-
- eti_get_region (eti,
- start_col, start_row,
- end_col, end_row,
- &x1, &y1, &x2, &y2);
-
- if (delay)
- e_canvas_item_show_area_delayed(GNOME_CANVAS_ITEM(eti), x1, y1, x2, y2, delay);
- else
- e_canvas_item_show_area(GNOME_CANVAS_ITEM(eti), x1, y1, x2, y2);
-}
-
-static void
-eti_show_cursor (ETableItem *eti, int delay)
-{
- int cursor_row;
-
- if (!((GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED) && eti->cell_views_realized))
- return;
-
- if (eti->frozen_count > 0) {
- eti->queue_show_cursor = TRUE;
- return;
- }
-
-#if 0
- g_object_get(eti->selection,
- "cursor_row", &cursor_row,
- NULL);
-#else
- cursor_row = e_selection_model_cursor_row (eti->selection);
-#endif
-
- d(g_print ("%s: cursor row: %d\n", __FUNCTION__, cursor_row));
-
- if (cursor_row != -1) {
- cursor_row = model_to_view_row (eti, cursor_row);
- eti_request_region_show (eti,
- 0, cursor_row, eti->cols - 1, cursor_row,
- delay);
- }
-}
-
-static void
-eti_check_cursor_on_screen (ETableItem *eti)
-{
- if (eti->cursor_x1 == -1 ||
- eti->cursor_y1 == -1 ||
- eti->cursor_x2 == -1 ||
- eti->cursor_y2 == -1)
- return;
-
- eti->cursor_on_screen = e_canvas_item_area_shown (GNOME_CANVAS_ITEM(eti),
- eti->cursor_x1,
- eti->cursor_y1,
- eti->cursor_x2,
- eti->cursor_y2);
-
- d(g_print ("%s: cursor on screen: %s\n", __FUNCTION__, eti->cursor_on_screen ? "TRUE" : "FALSE"));
-}
-
-static void
-eti_check_cursor_bounds (ETableItem *eti)
-{
- int x1, y1, x2, y2;
- int cursor_row;
-
- if (!((GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED) && eti->cell_views_realized))
- return;
-
- if (eti->frozen_count > 0) {
- return;
- }
-
- if (!((GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED) && eti->cell_views_realized))
- return;
-
- if (eti->frozen_count > 0) {
- return;
- }
-
- g_object_get(eti->selection,
- "cursor_row", &cursor_row,
- NULL);
-
- if (cursor_row == -1) {
- eti->cursor_x1 = -1;
- eti->cursor_y1 = -1;
- eti->cursor_x2 = -1;
- eti->cursor_y2 = -1;
- eti->cursor_on_screen = TRUE;
- return;
- }
-
- d(g_print ("%s: model cursor row: %d\n", __FUNCTION__, cursor_row));
-
- cursor_row = model_to_view_row (eti, cursor_row);
-
- d(g_print ("%s: cursor row: %d\n", __FUNCTION__, cursor_row));
-
- eti_get_region (eti,
- 0, cursor_row, eti->cols - 1, cursor_row,
- &x1, &y1, &x2, &y2);
- eti->cursor_x1 = x1;
- eti->cursor_y1 = y1;
- eti->cursor_x2 = x2;
- eti->cursor_y2 = y2;
- eti->cursor_on_screen = e_canvas_item_area_shown (GNOME_CANVAS_ITEM(eti), x1, y1, x2, y2);
-
- d(g_print ("%s: cursor on screen: %s\n", __FUNCTION__, eti->cursor_on_screen ? "TRUE" : "FALSE"));
-}
-
-static void
-eti_maybe_show_cursor(ETableItem *eti, int delay)
-{
- d(g_print ("%s: cursor on screen: %s\n", __FUNCTION__, eti->cursor_on_screen ? "TRUE" : "FALSE"));
- if (eti->cursor_on_screen)
- eti_show_cursor (eti, delay);
- eti_check_cursor_bounds (eti);
-}
-
-static gboolean
-eti_idle_show_cursor_cb (gpointer data)
-{
- ETableItem *eti = data;
-
- if (eti->selection) {
- eti_show_cursor (eti, 0);
- eti_check_cursor_bounds (eti);
- }
-
- eti->cursor_idle_id = 0;
- g_object_unref (eti);
- return FALSE;
-}
-
-static void
-eti_idle_maybe_show_cursor(ETableItem *eti)
-{
- d(g_print ("%s: cursor on screen: %s\n", __FUNCTION__, eti->cursor_on_screen ? "TRUE" : "FALSE"));
- if (eti->cursor_on_screen) {
- g_object_ref (eti);
- if (!eti->cursor_idle_id)
- eti->cursor_idle_id = g_idle_add (eti_idle_show_cursor_cb, eti);
- }
-}
-
-static void
-eti_cancel_drag_due_to_model_change (ETableItem *eti)
-{
- if (eti->maybe_in_drag) {
- eti->maybe_in_drag = FALSE;
- if (!eti->maybe_did_something)
- e_selection_model_do_something(E_SELECTION_MODEL (eti->selection), eti->drag_row, eti->drag_col, eti->drag_state);
- }
- if (eti->in_drag) {
- eti->in_drag = FALSE;
- }
-}
-
-static void
-eti_freeze (ETableItem *eti)
-{
- eti->frozen_count ++;
- d(g_print ("%s: %d\n", __FUNCTION__, eti->frozen_count));
-}
-
-static void
-eti_unfreeze (ETableItem *eti)
-{
- g_return_if_fail (eti->frozen_count > 0);
- eti->frozen_count --;
- d(g_print ("%s: %d\n", __FUNCTION__, eti->frozen_count));
- if (eti->frozen_count == 0 && eti->queue_show_cursor) {
- eti_show_cursor (eti, 0);
- eti_check_cursor_bounds (eti);
- eti->queue_show_cursor = FALSE;
- }
-}
-
-/*
- * Callback routine: invoked before the ETableModel suffers a change
- */
-static void
-eti_table_model_pre_change (ETableModel *table_model, ETableItem *eti)
-{
- eti_cancel_drag_due_to_model_change (eti);
- eti_check_cursor_bounds (eti);
- if (eti_editing (eti))
- e_table_item_leave_edit_(eti);
- eti->motion_row = -1;
- eti->motion_col = -1;
- eti_freeze (eti);
-}
-
-/*
- * Callback routine: invoked when the ETableModel has not suffered a change
- */
-static void
-eti_table_model_no_change (ETableModel *table_model, ETableItem *eti)
-{
- eti_unfreeze (eti);
-}
-
-/*
- * Callback routine: invoked when the ETableModel has suffered a change
- */
-
-static void
-eti_table_model_changed (ETableModel *table_model, ETableItem *eti)
-{
- if (!(GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED)) {
- eti_unfreeze (eti);
- return;
- }
-
- eti->rows = e_table_model_row_count (eti->table_model);
-
- free_height_cache(eti);
-
- eti_unfreeze (eti);
-
- eti->needs_compute_height = 1;
- e_canvas_item_request_reflow (GNOME_CANVAS_ITEM (eti));
- eti->needs_redraw = 1;
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM (eti));
-
- eti_idle_maybe_show_cursor(eti);
-}
-
-static void
-eti_table_model_row_changed (ETableModel *table_model, int row, ETableItem *eti)
-{
- if (!(GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED)) {
- eti_unfreeze (eti);
- return;
- }
-
- if ((!eti->uniform_row_height) && eti->height_cache && eti->height_cache[row] != -1 && eti_row_height_real(eti, row) != eti->height_cache[row]) {
- eti_table_model_changed (table_model, eti);
- return;
- }
-
- eti_unfreeze (eti);
-
- e_table_item_redraw_row (eti, row);
-}
-
-static void
-eti_table_model_cell_changed (ETableModel *table_model, int col, int row, ETableItem *eti)
-{
- if (!(GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED)) {
- eti_unfreeze (eti);
- return;
- }
-
- if ((!eti->uniform_row_height) && eti->height_cache && eti->height_cache[row] != -1 && eti_row_height_real(eti, row) != eti->height_cache[row]) {
- eti_table_model_changed (table_model, eti);
- return;
- }
-
- eti_unfreeze (eti);
-
- e_table_item_redraw_row (eti, row);
-}
-
-static void
-eti_table_model_rows_inserted (ETableModel *table_model, int row, int count, ETableItem *eti)
-{
- if (!(GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED)) {
- eti_unfreeze (eti);
- return;
- }
- eti->rows = e_table_model_row_count (eti->table_model);
-
- if (eti->height_cache) {
- int i;
- eti->height_cache = g_renew(int, eti->height_cache, eti->rows);
- memmove(eti->height_cache + row + count, eti->height_cache + row, (eti->rows - count - row) * sizeof(int));
- for (i = row; i < row + count; i++)
- eti->height_cache[i] = -1;
- }
-
- eti_unfreeze (eti);
-
- eti_idle_maybe_show_cursor(eti);
-
- eti->needs_compute_height = 1;
- e_canvas_item_request_reflow (GNOME_CANVAS_ITEM (eti));
- eti->needs_redraw = 1;
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM (eti));
-}
-
-static void
-eti_table_model_rows_deleted (ETableModel *table_model, int row, int count, ETableItem *eti)
-{
- if (!(GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED)) {
- eti_unfreeze (eti);
- return;
- }
-
- eti->rows = e_table_model_row_count (eti->table_model);
-
- if (eti->height_cache && (eti->rows > row)) {
- memmove(eti->height_cache + row, eti->height_cache + row + count, (eti->rows - row) * sizeof(int));
- }
-
- eti_unfreeze (eti);
-
- eti_idle_maybe_show_cursor(eti);
-
- eti->needs_compute_height = 1;
- e_canvas_item_request_reflow (GNOME_CANVAS_ITEM (eti));
- eti->needs_redraw = 1;
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM (eti));
-}
-
-/**
- * e_table_item_redraw_range
- * @eti: %ETableItem which will be redrawn
- * @start_col: The first col to redraw.
- * @start_row: The first row to redraw.
- * @end_col: The last col to redraw.
- * @end_row: The last row to redraw.
- *
- * This routine redraws the given %ETableItem in the range given. The
- * range is inclusive at both ends.
- */
-void
-e_table_item_redraw_range (ETableItem *eti,
- int start_col, int start_row,
- int end_col, int end_row)
-{
- int border;
- int cursor_col, cursor_row;
-
- g_return_if_fail (eti != NULL);
- g_return_if_fail (E_IS_TABLE_ITEM (eti));
-
- g_object_get(eti->selection,
- "cursor_col", &cursor_col,
- "cursor_row", &cursor_row,
- NULL);
-
- if ((start_col == cursor_col) ||
- (end_col == cursor_col) ||
- (view_to_model_row(eti, start_row) == cursor_row) ||
- (view_to_model_row(eti, end_row) == cursor_row))
- border = 2;
- else
- border = 0;
-
- eti_request_region_redraw(eti, start_col, start_row, end_col, end_row, border);
-}
-
-static void
-e_table_item_redraw_row (ETableItem *eti,
- int row)
-{
- if (row != -1)
- e_table_item_redraw_range (eti, 0, row, eti->cols - 1, row);
-}
-
-static void
-eti_add_table_model (ETableItem *eti, ETableModel *table_model)
-{
- g_assert (eti->table_model == NULL);
-
- eti->table_model = table_model;
- g_object_ref (eti->table_model);
-
- eti->table_model_pre_change_id = g_signal_connect (
- G_OBJECT (table_model), "model_pre_change",
- G_CALLBACK (eti_table_model_pre_change), eti);
-
- eti->table_model_no_change_id = g_signal_connect (
- G_OBJECT (table_model), "model_no_change",
- G_CALLBACK (eti_table_model_no_change), eti);
-
- eti->table_model_change_id = g_signal_connect (
- G_OBJECT (table_model), "model_changed",
- G_CALLBACK (eti_table_model_changed), eti);
-
- eti->table_model_row_change_id = g_signal_connect (
- G_OBJECT (table_model), "model_row_changed",
- G_CALLBACK (eti_table_model_row_changed), eti);
-
- eti->table_model_cell_change_id = g_signal_connect (
- G_OBJECT (table_model), "model_cell_changed",
- G_CALLBACK (eti_table_model_cell_changed), eti);
-
- eti->table_model_rows_inserted_id = g_signal_connect (
- G_OBJECT (table_model), "model_rows_inserted",
- G_CALLBACK (eti_table_model_rows_inserted), eti);
-
- eti->table_model_rows_deleted_id = g_signal_connect (
- G_OBJECT (table_model), "model_rows_deleted",
- G_CALLBACK (eti_table_model_rows_deleted), eti);
-
- if (eti->header) {
- eti_detach_cell_views (eti);
- eti_attach_cell_views (eti);
- }
-
- if (E_IS_TABLE_SUBSET(table_model)) {
- eti->uses_source_model = 1;
- eti->source_model = E_TABLE_SUBSET(table_model)->source;
- if (eti->source_model)
- g_object_ref(eti->source_model);
- }
-
- eti_freeze (eti);
-
- eti_table_model_changed (table_model, eti);
-}
-
-static void
-eti_add_selection_model (ETableItem *eti, ESelectionModel *selection)
-{
- g_assert (eti->selection == NULL);
-
- eti->selection = selection;
- g_object_ref (eti->selection);
-
- eti->selection_change_id = g_signal_connect (
- selection, "selection_changed",
- G_CALLBACK (eti_selection_change), eti);
-
- eti->selection_row_change_id = g_signal_connect (
- selection, "selection_row_changed",
- G_CALLBACK (eti_selection_row_change), eti);
-
- eti->cursor_change_id = g_signal_connect (
- selection, "cursor_changed",
- G_CALLBACK (eti_cursor_change), eti);
-
- eti->cursor_activated_id = g_signal_connect (
- selection, "cursor_activated",
- G_CALLBACK (eti_cursor_activated), eti);
-
- eti_selection_change(selection, eti);
- g_signal_emit_by_name (G_OBJECT(eti),
- "selection_model_added", eti->selection);
-}
-
-static void
-eti_header_dim_changed (ETableHeader *eth, int col, ETableItem *eti)
-{
- eti->needs_compute_width = 1;
- e_canvas_item_request_reflow (GNOME_CANVAS_ITEM (eti));
- eti->needs_redraw = 1;
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM (eti));
-}
-
-static void
-eti_header_structure_changed (ETableHeader *eth, ETableItem *eti)
-{
- eti->cols = e_table_header_count (eti->header);
-
- /*
- * There should be at least one column
- * BUT: then you can't remove all columns from a header and add new ones.
- */
- /*g_assert (eti->cols != 0);*/
-
- if (eti->cell_views){
- eti_unrealize_cell_views (eti);
- eti_detach_cell_views (eti);
- eti_attach_cell_views (eti);
- eti_realize_cell_views (eti);
- } else {
- if (eti->table_model) {
- eti_attach_cell_views (eti);
- eti_realize_cell_views (eti);
- }
- }
- eti->needs_compute_width = 1;
- e_canvas_item_request_reflow (GNOME_CANVAS_ITEM (eti));
- eti->needs_redraw = 1;
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM (eti));
-}
-
-static int
-eti_request_column_width (ETableHeader *eth, int col, ETableItem *eti)
-{
- int width = 0;
-
- if (eti->cell_views && eti->cell_views_realized) {
- width = e_cell_max_width (eti->cell_views[col], view_to_model_col(eti, col), col);
- }
-
- return width;
-}
-
-static void
-eti_add_header_model (ETableItem *eti, ETableHeader *header)
-{
- g_assert (eti->header == NULL);
-
- eti->header = header;
- g_object_ref (header);
-
- eti_header_structure_changed (header, eti);
-
- eti->header_dim_change_id = g_signal_connect (
- G_OBJECT (header), "dimension_change",
- G_CALLBACK (eti_header_dim_changed), eti);
-
- eti->header_structure_change_id = g_signal_connect (
- G_OBJECT (header), "structure_change",
- G_CALLBACK (eti_header_structure_changed), eti);
-
- eti->header_request_width_id = g_signal_connect
- (G_OBJECT (header), "request_width",
- G_CALLBACK (eti_request_column_width), eti);
-}
-
-/*
- * GObject::dispose method
- */
-static void
-eti_dispose (GObject *object)
-{
- ETableItem *eti = E_TABLE_ITEM (object);
-
- eti_remove_header_model (eti);
- eti_remove_table_model (eti);
- eti_remove_selection_model (eti);
-
- if (eti->height_cache_idle_id) {
- g_source_remove(eti->height_cache_idle_id);
- eti->height_cache_idle_id = 0;
- }
- eti->height_cache_idle_count = 0;
-
- if (eti->cursor_idle_id) {
- g_source_remove(eti->cursor_idle_id);
- eti->cursor_idle_id = 0;
- }
-
- if (eti->height_cache)
- g_free (eti->height_cache);
- eti->height_cache = NULL;
-
- e_canvas_hide_tooltip (E_CANVAS(GNOME_CANVAS_ITEM(eti)->canvas));
- if (eti->tooltip) {
- if (eti->tooltip->background)
- gdk_color_free (eti->tooltip->background);
- eti->tooltip->background = NULL;
-
- if (eti->tooltip->foreground)
- gdk_color_free (eti->tooltip->foreground);
- eti->tooltip->foreground = NULL;
-
- if (eti->tooltip->timer) {
- gtk_timeout_remove (eti->tooltip->timer);
- eti->tooltip->timer = 0;
- }
- g_free (eti->tooltip);
- eti->tooltip = NULL;
- }
-
- if (G_OBJECT_CLASS (eti_parent_class)->dispose)
- (*G_OBJECT_CLASS (eti_parent_class)->dispose) (object);
-}
-
-static void
-eti_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
-{
- GnomeCanvasItem *item;
- ETableItem *eti;
- int cursor_col;
-
- item = GNOME_CANVAS_ITEM (object);
- eti = E_TABLE_ITEM (object);
-
- switch (prop_id){
- case PROP_TABLE_HEADER:
- eti_remove_header_model (eti);
- eti_add_header_model (eti, E_TABLE_HEADER(g_value_get_object (value)));
- break;
-
- case PROP_TABLE_MODEL:
- eti_remove_table_model (eti);
- eti_add_table_model (eti, E_TABLE_MODEL(g_value_get_object (value)));
- break;
-
- case PROP_SELECTION_MODEL:
- g_signal_emit_by_name (G_OBJECT(eti),
- "selection_model_removed", eti->selection);
- eti_remove_selection_model (eti);
- if (g_value_get_object (value))
- eti_add_selection_model (eti, E_SELECTION_MODEL(g_value_get_object(value)));
- break;
-
- case PROP_LENGTH_THRESHOLD:
- eti->length_threshold = g_value_get_int (value);
- break;
-
- case PROP_TABLE_ALTERNATING_ROW_COLORS:
- eti->alternating_row_colors = g_value_get_boolean (value);
- break;
-
- case PROP_TABLE_HORIZONTAL_DRAW_GRID:
- eti->horizontal_draw_grid = g_value_get_boolean (value);
- break;
-
- case PROP_TABLE_VERTICAL_DRAW_GRID:
- eti->vertical_draw_grid = g_value_get_boolean (value);
- break;
-
- case PROP_TABLE_DRAW_FOCUS:
- eti->draw_focus = g_value_get_boolean (value);
- break;
-
- case PROP_CURSOR_MODE:
- eti->cursor_mode = g_value_get_int (value);
- break;
-
- case PROP_MINIMUM_WIDTH:
- case PROP_WIDTH:
- if ((eti->minimum_width == eti->width && g_value_get_double(value) > eti->width) ||
- g_value_get_double(value) < eti->width) {
- eti->needs_compute_width = 1;
- e_canvas_item_request_reflow (GNOME_CANVAS_ITEM(eti));
- }
- eti->minimum_width = g_value_get_double (value);
- break;
- case PROP_CURSOR_ROW:
- g_object_get(eti->selection,
- "cursor_col", &cursor_col,
- NULL);
-
- e_table_item_focus (eti, cursor_col != -1 ? cursor_col : 0, view_to_model_row(eti, g_value_get_int (value)), 0);
- break;
- case PROP_UNIFORM_ROW_HEIGHT:
- if (eti->uniform_row_height != g_value_get_boolean (value)) {
- eti->uniform_row_height = g_value_get_boolean (value);
- if (GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED) {
- free_height_cache(eti);
- eti->needs_compute_height = 1;
- e_canvas_item_request_reflow (GNOME_CANVAS_ITEM (eti));
- eti->needs_redraw = 1;
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM (eti));
- }
- }
- break;
- }
- eti->needs_redraw = 1;
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM(eti));
-}
-
-static void
-eti_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
- GnomeCanvasItem *item;
- ETableItem *eti;
- int row;
-
- item = GNOME_CANVAS_ITEM (object);
- eti = E_TABLE_ITEM (object);
-
- switch (prop_id){
- case PROP_WIDTH:
- g_value_set_double (value, eti->width);
- break;
- case PROP_HEIGHT:
- g_value_set_double (value, eti->height);
- break;
- case PROP_MINIMUM_WIDTH:
- g_value_set_double (value, eti->minimum_width);
- break;
- case PROP_CURSOR_ROW:
- g_object_get(eti->selection,
- "cursor_row", &row,
- NULL);
- g_value_set_int (value, model_to_view_row(eti, row));
- break;
- case PROP_UNIFORM_ROW_HEIGHT:
- g_value_set_boolean (value, eti->uniform_row_height);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-eti_init (GnomeCanvasItem *item)
-{
- ETableItem *eti = E_TABLE_ITEM (item);
-
- eti->motion_row = -1;
- eti->motion_col = -1;
- eti->editing_col = -1;
- eti->editing_row = -1;
- eti->height = 0;
- eti->width = 0;
- eti->minimum_width = 0;
-
- eti->save_col = -1;
- eti->save_row = -1;
- eti->save_state = NULL;
-
- eti->click_count = 0;
-
- eti->height_cache = NULL;
- eti->height_cache_idle_id = 0;
- eti->height_cache_idle_count = 0;
-
- eti->length_threshold = -1;
- eti->uniform_row_height = FALSE;
-
- eti->uses_source_model = 0;
- eti->source_model = NULL;
-
- eti->row_guess = -1;
- eti->cursor_mode = E_CURSOR_SIMPLE;
-
- eti->selection_change_id = 0;
- eti->selection_row_change_id = 0;
- eti->cursor_change_id = 0;
- eti->cursor_activated_id = 0;
- eti->selection = NULL;
-
- eti->old_cursor_row = -1;
-
- eti->needs_redraw = 0;
- eti->needs_compute_height = 0;
-
- eti->in_key_press = 0;
-
- eti->tooltip = g_new0 (ETableTooltip, 1);
- eti->tooltip->timer = 0;
- eti->tooltip->eti = GNOME_CANVAS_ITEM (eti);
- eti->tooltip->background = NULL;
- eti->tooltip->foreground = NULL;
-
- eti->maybe_did_something = TRUE;
-
- eti->grabbed_count = 0;
- eti->gtk_grabbed = 0;
-
- eti->in_drag = 0;
- eti->maybe_in_drag = 0;
- eti->grabbed = 0;
-
- eti->grabbed_col = -1;
- eti->grabbed_row = -1;
-
- eti->cursor_on_screen = FALSE;
- eti->cursor_x1 = -1;
- eti->cursor_y1 = -1;
- eti->cursor_x2 = -1;
- eti->cursor_y2 = -1;
-
- eti->rows = -1;
- eti->cols = -1;
-
- eti->frozen_count = 0;
- eti->queue_show_cursor = FALSE;
-
- e_canvas_item_set_reflow_callback (GNOME_CANVAS_ITEM (eti), eti_reflow);
-}
-
-#define gray50_width 2
-#define gray50_height 2
-static const char gray50_bits[] = {
- 0x02, 0x01, };
-
-static void
-adjustment_changed (GtkAdjustment *adjustment, ETableItem *eti)
-{
- eti_check_cursor_on_screen (eti);
-}
-
-static void
-eti_realize (GnomeCanvasItem *item)
-{
- ETableItem *eti = E_TABLE_ITEM (item);
- GtkWidget *canvas_widget = GTK_WIDGET (item->canvas);
- GdkWindow *window;
-
- if (GNOME_CANVAS_ITEM_CLASS (eti_parent_class)->realize)
- (*GNOME_CANVAS_ITEM_CLASS (eti_parent_class)->realize)(item);
-
-
- eti->rows = e_table_model_row_count (eti->table_model);
-
- /*
- * Gdk Resource allocation
- */
- window = canvas_widget->window;
-
- eti->fill_gc = gdk_gc_new (window);
-
- eti->grid_gc = gdk_gc_new (window);
- gdk_gc_set_foreground (eti->grid_gc, &canvas_widget->style->dark [GTK_STATE_NORMAL]);
- eti->focus_gc = gdk_gc_new (window);
- gdk_gc_set_foreground (eti->focus_gc, &canvas_widget->style->bg [GTK_STATE_NORMAL]);
- gdk_gc_set_background (eti->focus_gc, &canvas_widget->style->fg [GTK_STATE_NORMAL]);
- eti->stipple = gdk_bitmap_create_from_data (NULL, gray50_bits, gray50_width, gray50_height);
- gdk_gc_set_ts_origin (eti->focus_gc, 0, 0);
- gdk_gc_set_stipple (eti->focus_gc, eti->stipple);
- gdk_gc_set_fill (eti->focus_gc, GDK_OPAQUE_STIPPLED);
-
- eti->hadjustment_change_id =
- g_signal_connect (gtk_layout_get_hadjustment(GTK_LAYOUT(item->canvas)), "changed",
- G_CALLBACK (adjustment_changed), eti);
- eti->hadjustment_value_change_id =
- g_signal_connect (gtk_layout_get_hadjustment(GTK_LAYOUT(item->canvas)), "value_changed",
- G_CALLBACK (adjustment_changed), eti);
- eti->vadjustment_change_id =
- g_signal_connect (gtk_layout_get_vadjustment(GTK_LAYOUT(item->canvas)), "changed",
- G_CALLBACK (adjustment_changed), eti);
- eti->vadjustment_value_change_id =
- g_signal_connect (gtk_layout_get_vadjustment(GTK_LAYOUT(item->canvas)), "value_changed",
- G_CALLBACK (adjustment_changed), eti);
-
- if (eti->cell_views == NULL)
- eti_attach_cell_views (eti);
-
- eti_realize_cell_views (eti);
-
- free_height_cache(eti);
-
- if (item->canvas->focused_item == NULL && eti->selection) {
- int row;
-
- row = e_selection_model_cursor_row (E_SELECTION_MODEL (eti->selection));
- row = model_to_view_row(eti, row);
- if (row != -1) {
- e_canvas_item_grab_focus (item, FALSE);
- eti_show_cursor (eti, 0);
- eti_check_cursor_bounds (eti);
- }
- }
-
- eti->needs_compute_height = 1;
- eti->needs_compute_width = 1;
- e_canvas_item_request_reflow (GNOME_CANVAS_ITEM (eti));
- eti->needs_redraw = 1;
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM (eti));
-}
-
-static void
-eti_unrealize (GnomeCanvasItem *item)
-{
- ETableItem *eti = E_TABLE_ITEM (item);
-
- if (eti->grabbed_count > 0) {
- d(g_print ("%s: eti_ungrab\n", __FUNCTION__));
- eti_ungrab (eti, -1);
- }
-
- if (eti_editing (eti))
- e_table_item_leave_edit_(eti);
-
- if (eti->height_cache_idle_id) {
- g_source_remove(eti->height_cache_idle_id);
- eti->height_cache_idle_id = 0;
- }
-
- if (eti->height_cache)
- g_free (eti->height_cache);
- eti->height_cache = NULL;
- eti->height_cache_idle_count = 0;
-
- e_canvas_hide_tooltip (E_CANVAS(GNOME_CANVAS_ITEM(eti)->canvas));
- if (eti->tooltip) {
- if (eti->tooltip->background) {
- gdk_color_free (eti->tooltip->background);
- eti->tooltip->background = NULL;
- }
- if (eti->tooltip->foreground) {
- gdk_color_free (eti->tooltip->foreground);
- eti->tooltip->foreground = NULL;
- }
- if (eti->tooltip->timer) {
- gtk_timeout_remove (eti->tooltip->timer);
- eti->tooltip->timer = 0;
- }
- }
-
- gdk_gc_unref (eti->fill_gc);
- eti->fill_gc = NULL;
- gdk_gc_unref (eti->grid_gc);
- eti->grid_gc = NULL;
- gdk_gc_unref (eti->focus_gc);
- eti->focus_gc = NULL;
- gdk_bitmap_unref (eti->stipple);
- eti->stipple = NULL;
-
- eti_unrealize_cell_views (eti);
-
- eti->height = 0;
-
- g_signal_handler_disconnect(gtk_layout_get_hadjustment(GTK_LAYOUT(item->canvas)),
- eti->hadjustment_change_id);
- g_signal_handler_disconnect(gtk_layout_get_hadjustment(GTK_LAYOUT(item->canvas)),
- eti->hadjustment_value_change_id);
- g_signal_handler_disconnect(gtk_layout_get_vadjustment(GTK_LAYOUT(item->canvas)),
- eti->vadjustment_change_id);
- g_signal_handler_disconnect(gtk_layout_get_vadjustment(GTK_LAYOUT(item->canvas)),
- eti->vadjustment_value_change_id);
-
- if (GNOME_CANVAS_ITEM_CLASS (eti_parent_class)->unrealize)
- (*GNOME_CANVAS_ITEM_CLASS (eti_parent_class)->unrealize)(item);
-}
-
-
-
-static void
-eti_draw (GnomeCanvasItem *item, GdkDrawable *drawable, int x, int y, int width, int height)
-{
- ETableItem *eti = E_TABLE_ITEM (item);
- const int rows = eti->rows;
- const int cols = eti->cols;
- int row, col;
- int first_col, last_col, x_offset;
- int first_row, last_row, y_offset, yd;
- int x1, x2;
- int f_x1, f_x2, f_y1, f_y2;
- gboolean f_found;
- double i2c [6];
- ArtPoint eti_base, eti_base_item, lower_right;
- GtkWidget *canvas = GTK_WIDGET(item->canvas);
- int height_extra = eti->horizontal_draw_grid ? 1 : 0;
-
- /*
- * Find out our real position after grouping
- */
- gnome_canvas_item_i2c_affine (item, i2c);
- eti_base_item.x = eti->x1;
- eti_base_item.y = eti->y1;
- art_affine_point (&eti_base, &eti_base_item, i2c);
-
- eti_base_item.x = eti->x1 + eti->width;
- eti_base_item.y = eti->y1 + eti->height;
- art_affine_point (&lower_right, &eti_base_item, i2c);
-
- /*
- * First column to draw, last column to draw
- */
- first_col = -1;
- last_col = x_offset = 0;
- x1 = x2 = floor (eti_base.x);
- for (col = 0; col < cols; col++, x1 = x2){
- ETableCol *ecol = e_table_header_get_column (eti->header, col);
-
- x2 = x1 + ecol->width;
-
- if (x1 > (x + width))
- break;
- if (x2 < x)
- continue;
- if (first_col == -1){
- x_offset = x1 - x;
- first_col = col;
- }
- }
- last_col = col;
-
- /*
- * Nothing to paint
- */
- if (first_col == -1)
- return;
-
- /*
- * Compute row span.
- */
- if (eti->uniform_row_height) {
- first_row = (y - floor (eti_base.y) - height_extra) / (eti_row_height (eti, -1) + height_extra);
- last_row = (y + height - floor (eti_base.y) ) / (eti_row_height (eti, -1) + height_extra) + 1;
- if (first_row > last_row)
- return;
- y_offset = floor (eti_base.y) - y + height_extra + first_row * (eti_row_height (eti, -1) + height_extra);
- if (first_row < 0)
- first_row = 0;
- if (last_row > eti->rows)
- last_row = eti->rows;
- } else {
- int y1, y2;
-
- y_offset = 0;
- first_row = -1;
-
- y1 = y2 = floor (eti_base.y) + height_extra;
- for (row = 0; row < rows; row++, y1 = y2){
-
- y2 += ETI_ROW_HEIGHT (eti, row) + height_extra;
-
- if (y1 > y + height)
- break;
-
- if (y2 < y)
- continue;
-
- if (first_row == -1){
- y_offset = y1 - y;
- first_row = row;
- }
- }
- last_row = row;
-
- if (first_row == -1)
- return;
- }
-
- if (first_row == -1)
- return;
-
- /*
- * Draw cells
- */
- yd = y_offset;
- f_x1 = f_x2 = f_y1 = f_y2 = -1;
- f_found = FALSE;
-
- if (eti->horizontal_draw_grid && first_row == 0){
- gdk_draw_line (
- drawable, eti->grid_gc,
- eti_base.x - x, yd, eti_base.x + eti->width - x, yd);
- }
-
- yd += height_extra;
-
- for (row = first_row; row < last_row; row++){
- int xd, height;
- gboolean selected;
- gint cursor_col, cursor_row;
-
- height = ETI_ROW_HEIGHT (eti, row);
-
- xd = x_offset;
-/* printf ("paint: %d %d\n", yd, yd + height); */
-
- selected = e_selection_model_is_row_selected(E_SELECTION_MODEL (eti->selection), view_to_model_row(eti,row));
-
- g_object_get(eti->selection,
- "cursor_col", &cursor_col,
- "cursor_row", &cursor_row,
- NULL);
-
- for (col = first_col; col < last_col; col++){
- ETableCol *ecol = e_table_header_get_column (eti->header, col);
- ECellView *ecell_view = eti->cell_views [col];
- gboolean col_selected = selected;
- gboolean cursor = FALSE;
- ECellFlags flags;
- gboolean free_background;
- GdkColor *background;
-
- switch (eti->cursor_mode) {
- case E_CURSOR_SIMPLE:
- case E_CURSOR_SPREADSHEET:
- if (cursor_col == ecol->col_idx && cursor_row == view_to_model_row(eti, row)) {
- col_selected = !col_selected;
- cursor = TRUE;
- }
- break;
- case E_CURSOR_LINE:
- /* Nothing */
- break;
- }
-
- background = eti_get_cell_background_color (eti, row, col, col_selected, &free_background);
-
- gdk_gc_set_foreground (eti->fill_gc, background);
- gdk_draw_rectangle (drawable, eti->fill_gc, TRUE,
- xd, yd, ecol->width, height);
-
- if (free_background)
- gdk_color_free (background);
-
- flags = col_selected ? E_CELL_SELECTED : 0;
- flags |= GTK_WIDGET_HAS_FOCUS(canvas) ? E_CELL_FOCUSED : 0;
- flags |= cursor ? E_CELL_CURSOR : 0;
-
- switch (ecol->justification) {
- case GTK_JUSTIFY_LEFT:
- flags |= E_CELL_JUSTIFY_LEFT;
- break;
- case GTK_JUSTIFY_RIGHT:
- flags |= E_CELL_JUSTIFY_RIGHT;
- break;
- case GTK_JUSTIFY_CENTER:
- flags |= E_CELL_JUSTIFY_CENTER;
- break;
- case GTK_JUSTIFY_FILL:
- flags |= E_CELL_JUSTIFY_FILL;
- break;
- }
-
- e_cell_draw (ecell_view, drawable, ecol->col_idx, col, row, flags,
- xd, yd, xd + ecol->width, yd + height);
-
- if (!f_found) {
- switch (eti->cursor_mode) {
- case E_CURSOR_LINE:
- if (view_to_model_row(eti, row) == cursor_row) {
- f_x1 = floor (eti_base.x) - x;
- f_x2 = floor (lower_right.x) - x;
- f_y1 = yd;
- f_y2 = yd + height;
- f_found = TRUE;
- }
- break;
- case E_CURSOR_SIMPLE:
- case E_CURSOR_SPREADSHEET:
- if (view_to_model_col(eti, col) == cursor_col && view_to_model_row(eti, row) == cursor_row) {
- f_x1 = xd;
- f_x2 = xd + ecol->width;
- f_y1 = yd;
- f_y2 = yd + height;
- f_found = TRUE;
- }
- break;
- }
- }
-
- xd += ecol->width;
- }
- yd += height;
-
- if (eti->horizontal_draw_grid) {
- gdk_draw_line (
- drawable, eti->grid_gc,
- eti_base.x - x, yd, eti_base.x + eti->width - x, yd);
-
- yd++;
- }
- }
-
- if (eti->vertical_draw_grid){
- int xd = x_offset;
-
- for (col = first_col; col <= last_col; col++){
- ETableCol *ecol = e_table_header_get_column (eti->header, col);
-
- gdk_draw_line (
- drawable, eti->grid_gc,
- xd, y_offset, xd, yd - 1);
-
- /*
- * This looks wierd, but it is to draw the last line
- */
- if (ecol)
- xd += ecol->width;
- }
- }
-
- /*
- * Draw focus
- */
- if (eti->draw_focus && f_found) {
- gdk_gc_set_ts_origin (eti->focus_gc, f_x1, f_y1);
- gdk_draw_rectangle (drawable, eti->focus_gc, FALSE,
- f_x1, f_y1, f_x2 - f_x1 - 1, f_y2 - f_y1 - 1);
- }
-}
-
-static double
-eti_point (GnomeCanvasItem *item, double x, double y, int cx, int cy,
- GnomeCanvasItem **actual_item)
-{
- *actual_item = item;
-
- return 0.0;
-}
-
-static gboolean
-find_cell (ETableItem *eti, double x, double y, int *view_col_res, int *view_row_res, double *x1_res, double *y1_res)
-{
- const int cols = eti->cols;
- const int rows = eti->rows;
- gdouble x1, y1, x2, y2;
- int col, row;
-
- int height_extra = eti->horizontal_draw_grid ? 1 : 0;
-
- /* FIXME: this routine is inneficient, fix later */
-
- if (eti->grabbed_col >= 0 && eti->grabbed_row >= 0) {
- *view_col_res = eti->grabbed_col;
- *view_row_res = eti->grabbed_row;
- *x1_res = x - eti->x1 - e_table_header_col_diff (eti->header, 0, eti->grabbed_col);
- *y1_res = y - eti->y1 - e_table_item_row_diff (eti, 0, eti->grabbed_row);
- return TRUE;
- }
-
- if (cols == 0 || rows == 0)
- return FALSE;
-
- x -= eti->x1;
- y -= eti->y1;
-
- x1 = 0;
- for (col = 0; col < cols - 1; col++, x1 = x2){
- ETableCol *ecol = e_table_header_get_column (eti->header, col);
-
- if (x < x1)
- return FALSE;
-
- x2 = x1 + ecol->width;
-
- if (x <= x2)
- break;
- }
-
- if (eti->uniform_row_height) {
- if (y < height_extra)
- return FALSE;
- row = (y - height_extra) / (eti_row_height (eti, -1) + height_extra);
- y1 = row * (eti_row_height (eti, -1) + height_extra) + height_extra;
- if (row >= eti->rows)
- return FALSE;
- } else {
- y1 = y2 = height_extra;
- if (y < height_extra)
- return FALSE;
- for (row = 0; row < rows - 1; row++, y1 = y2){
- y2 += ETI_ROW_HEIGHT (eti, row) + height_extra;
-
- if (y <= y2)
- break;
- }
- }
- *view_col_res = col;
- if (x1_res)
- *x1_res = x - x1;
- *view_row_res = row;
- if (y1_res)
- *y1_res = y - y1;
- return TRUE;
-}
-
-static void
-eti_cursor_move (ETableItem *eti, gint row, gint column)
-{
- e_table_item_leave_edit_(eti);
- e_table_item_focus (eti, view_to_model_col(eti, column), view_to_model_row(eti, row), 0);
-}
-
-static void
-eti_cursor_move_left (ETableItem *eti)
-{
- int cursor_col, cursor_row;
- g_object_get(eti->selection,
- "cursor_col", &cursor_col,
- "cursor_row", &cursor_row,
- NULL);
-
- eti_cursor_move (eti, model_to_view_row(eti, cursor_row), model_to_view_col(eti, cursor_col) - 1);
-}
-
-static void
-eti_cursor_move_right (ETableItem *eti)
-{
- int cursor_col, cursor_row;
- g_object_get(eti->selection,
- "cursor_col", &cursor_col,
- "cursor_row", &cursor_row,
- NULL);
-
- eti_cursor_move (eti, model_to_view_row(eti, cursor_row), model_to_view_col(eti, cursor_col) + 1);
-}
-
-#ifdef DO_TOOLTIPS
-static int
-_do_tooltip (ETableItem *eti)
-{
- ECellView *ecell_view;
- gboolean free_color;
- ETableCol *ecol;
- gboolean selected;
- int cursor_row, cursor_col;
-
- e_canvas_hide_tooltip (E_CANVAS(GNOME_CANVAS_ITEM(eti)->canvas));
-
- if (eti_editing (eti))
- return FALSE;
-
- ecell_view = eti->cell_views[eti->tooltip->col];
-
- eti->tooltip->x = e_table_header_col_diff (eti->header, 0, eti->tooltip->col);
-
- eti->tooltip->y = e_table_item_row_diff (eti, 0, eti->tooltip->row);
- eti->tooltip->row_height = ETI_ROW_HEIGHT (eti, eti->tooltip->row);
-
- selected = e_selection_model_is_row_selected(E_SELECTION_MODEL (eti->selection), view_to_model_row(eti,eti->tooltip->row));
-
- if (eti->tooltip->foreground)
- gdk_color_free (eti->tooltip->foreground);
- if (eti->tooltip->background)
- gdk_color_free (eti->tooltip->background);
-
- switch (eti->cursor_mode) {
- case E_CURSOR_SIMPLE:
- case E_CURSOR_SPREADSHEET:
- ecol = e_table_header_get_column (eti->header, eti->tooltip->col);
-
- g_object_get(eti->selection,
- "cursor_row", &cursor_row,
- "cursor_col", &cursor_col,
- NULL);
-
- if (cursor_col == ecol->col_idx && cursor_row == view_to_model_row(eti, eti->tooltip->row))
- selected = !selected;
- break;
- case E_CURSOR_LINE:
- /* Nothing */
- break;
- }
-
- eti->tooltip->background = eti_get_cell_background_color (eti, eti->tooltip->row, eti->tooltip->col, selected, &free_color);
- if (!free_color)
- eti->tooltip->background = gdk_color_copy(eti->tooltip->background);
-
- eti->tooltip->foreground = eti_get_cell_foreground_color (eti, eti->tooltip->row, eti->tooltip->col, selected, &free_color);
- if (!free_color)
- eti->tooltip->foreground = gdk_color_copy(eti->tooltip->foreground);
-
- e_cell_show_tooltip (ecell_view,
- view_to_model_col (eti, eti->tooltip->col),
- eti->tooltip->col,
- eti->tooltip->row,
- eti->header->columns[eti->tooltip->col]->width,
- eti->tooltip);
- return FALSE;
-}
-#endif
-
-static gint
-eti_e_cell_event (ETableItem *item, ECellView *ecell_view, GdkEvent *event, int time, int model_col, int view_col, int row, ECellFlags flags)
-{
- ECellActions actions = 0;
- gint ret_val;
-
- ret_val = e_cell_event (ecell_view, event, model_col, view_col, row, flags, &actions);
-
- if (actions & E_CELL_GRAB) {
- d(g_print ("%s: eti_grab\n", __FUNCTION__));
- eti_grab (item, time);
- item->grabbed_col = view_col;
- item->grabbed_row = row;
- }
-
- if (actions & E_CELL_UNGRAB) {
- d(g_print ("%s: eti_ungrab\n", __FUNCTION__));
- eti_ungrab (item, time);
- item->grabbed_col = -1;
- item->grabbed_row = -1;
- }
-
- return ret_val;
-}
-
-/* FIXME: cursor */
-static int
-eti_event (GnomeCanvasItem *item, GdkEvent *e)
-{
- ETableItem *eti = E_TABLE_ITEM (item);
- ECellView *ecell_view;
- gint return_val = TRUE;
-#if d(!)0
- gboolean leave = FALSE;
-#endif
-
- if (!eti->header)
- return FALSE;
-
- switch (e->type){
- case GDK_BUTTON_PRESS: {
- double x1, y1;
- double realx, realy;
- GdkEventButton button;
- int col, row;
- gint cursor_row, cursor_col;
- gint new_cursor_row, new_cursor_col;
- ECellFlags flags = 0;
-
- d(g_print("%s: GDK_BUTTON_PRESS received, button %d\n", __FUNCTION__, e->button.button));
-
- if (eti->tooltip->timer) {
- gtk_timeout_remove (eti->tooltip->timer);
- eti->tooltip->timer = 0;
- }
-
- switch (e->button.button) {
- case 1: /* Fall through. */
- case 2:
- e_canvas_item_grab_focus(GNOME_CANVAS_ITEM(eti), TRUE);
- gnome_canvas_item_w2i (item, &e->button.x, &e->button.y);
-
- realx = e->button.x;
- realy = e->button.y;
-
- if (!find_cell (eti, realx, realy, &col, &row, &x1, &y1)) {
- if (eti_editing (eti))
- e_table_item_leave_edit_(eti);
- return TRUE;
- }
-
- ecell_view = eti->cell_views [col];
- button = *(GdkEventButton *)e;
- button.x = x1;
- button.y = y1;
-
- g_object_get(eti->selection,
- "cursor_row", &cursor_row,
- "cursor_col", &cursor_col,
- NULL);
-
- if (cursor_col == view_to_model_col (eti, col) && cursor_row == view_to_model_row(eti, row)) {
- flags = E_CELL_CURSOR;
- } else {
- flags = 0;
- }
-
- return_val = eti_e_cell_event (eti, ecell_view, (GdkEvent *) &button, button.time, view_to_model_col(eti, col), col, row, flags);
- if (return_val)
- return TRUE;
-
- g_signal_emit (eti, eti_signals [CLICK], 0,
- row, view_to_model_col(eti, col), &button, &return_val);
-
- if (return_val) {
- eti->click_count = 0;
- return TRUE;
- }
-
- g_object_get(eti->selection,
- "cursor_row", &cursor_row,
- "cursor_col", &cursor_col,
- NULL);
-
- eti->maybe_did_something =
- e_selection_model_maybe_do_something(E_SELECTION_MODEL (eti->selection), view_to_model_row(eti, row), view_to_model_col(eti, col), button.state);
- g_object_get(eti->selection,
- "cursor_row", &new_cursor_row,
- "cursor_col", &new_cursor_col,
- NULL);
-
- if (cursor_row != new_cursor_row || cursor_col != new_cursor_col) {
- eti->click_count = 1;
- } else {
- eti->click_count ++;
- eti->row_guess = row;
-
- if ((!eti_editing(eti)) && e_table_model_is_cell_editable(eti->table_model, cursor_col, row)) {
- e_table_item_enter_edit (eti, col, row);
- }
-
- /*
- * Adjust the event positions
- */
-
- if (eti_editing (eti)) {
- return_val = eti_e_cell_event (eti, ecell_view, (GdkEvent *) &button, button.time,
- view_to_model_col(eti, col), col, row, E_CELL_EDITING | E_CELL_CURSOR);
- if (return_val)
- return TRUE;
- }
- }
-
- if (e->button.button == 1) {
- return_val = TRUE;
-
- eti->maybe_in_drag = TRUE;
- eti->drag_row = new_cursor_row;
- eti->drag_col = new_cursor_col;
- eti->drag_x = realx;
- eti->drag_y = realy;
- eti->drag_state = e->button.state;
- eti->grabbed = TRUE;
- d(g_print ("%s: eti_grab\n", __FUNCTION__));
- eti_grab (eti, e->button.time);
- }
-
- break;
- case 3:
- e_canvas_item_grab_focus(GNOME_CANVAS_ITEM(eti), TRUE);
- gnome_canvas_item_w2i (item, &e->button.x, &e->button.y);
- if (!find_cell (eti, e->button.x, e->button.y, &col, &row, &x1, &y1))
- return TRUE;
-
- e_selection_model_right_click_down(E_SELECTION_MODEL (eti->selection), view_to_model_row(eti, row), view_to_model_col(eti, col), 0);
-
- g_signal_emit (eti, eti_signals [RIGHT_CLICK], 0,
- row, view_to_model_col(eti, col), e, &return_val);
- if (!return_val)
- e_selection_model_right_click_up(E_SELECTION_MODEL (eti->selection));
- break;
- case 4:
- case 5:
- return FALSE;
- break;
-
- }
- break;
- }
-
- case GDK_BUTTON_RELEASE: {
- double x1, y1;
- int col, row;
- gint cursor_row, cursor_col;
-
- d(g_print("%s: GDK_BUTTON_RELEASE received, button %d\n", __FUNCTION__, e->button.button));
-
- if (eti->grabbed_count > 0) {
- d(g_print ("%s: eti_ungrab\n", __FUNCTION__));
- eti_ungrab (eti, e->button.time);
- }
-
- if (e->button.button == 1) {
- if (eti->maybe_in_drag) {
- eti->maybe_in_drag = FALSE;
- if (!eti->maybe_did_something)
- e_selection_model_do_something(E_SELECTION_MODEL (eti->selection), eti->drag_row, eti->drag_col, eti->drag_state);
- }
- if (eti->in_drag) {
- eti->in_drag = FALSE;
- }
- }
-
- if (eti->tooltip->timer) {
- gtk_timeout_remove (eti->tooltip->timer);
- eti->tooltip->timer = 0;
- }
- e_canvas_hide_tooltip (E_CANVAS(GNOME_CANVAS_ITEM(eti)->canvas));
- switch (e->button.button) {
- case 1: /* Fall through. */
- case 2:
-
- gnome_canvas_item_w2i (item, &e->button.x, &e->button.y);
-#if d(!)0
- {
- gboolean cell_found = find_cell (eti, e->button.x, e->button.y, &col, &row, &x1, &y1);
- g_print("%s: find_cell(%f, %f) = %s(%d, %d, %f, %f)\n", __FUNCTION__, e->button.x, e->button.y,
- cell_found?"true":"false", col, row, x1, y1);
- }
-#endif
-
- if (!find_cell (eti, e->button.x, e->button.y, &col, &row, &x1, &y1))
- return TRUE;
-
- g_object_get(eti->selection,
- "cursor_row", &cursor_row,
- "cursor_col", &cursor_col,
- NULL);
-
-
- d(g_print("%s: GDK_BUTTON_RELEASE received, button %d, line: %d\n"
- "eti_editing: %s, row:%d:%d, col:%d:%d\n", __FUNCTION__, e->button.button, __LINE__,
- eti_editing(eti)?"true":"false", cursor_row, view_to_model_row(eti, row), cursor_col, view_to_model_col(eti, col)));
-
- if (eti_editing (eti) && cursor_row == view_to_model_row(eti, row) && cursor_col == view_to_model_col(eti, col)){
-
- d(g_print("%s: GDK_BUTTON_RELEASE received, button %d, line: %d\n", __FUNCTION__, e->button.button, __LINE__))
-;
-
- ecell_view = eti->cell_views [col];
-
- /*
- * Adjust the event positions
- */
- e->button.x = x1;
- e->button.y = y1;
-
- return_val = eti_e_cell_event (eti, ecell_view, e, e->button.time,
- view_to_model_col(eti, col), col, row, E_CELL_EDITING | E_CELL_CURSOR);
- }
- break;
- case 3:
- e_selection_model_right_click_up(E_SELECTION_MODEL (eti->selection));
- return_val = TRUE;
- break;
- case 4:
- case 5:
- return FALSE;
- break;
-
- }
- break;
- }
-
- case GDK_2BUTTON_PRESS: {
- int model_col, model_row;
-#if 0
- double x1, y1;
-#endif
-
- d(g_print("%s: GDK_2BUTTON_PRESS received, button %d\n", __FUNCTION__, e->button.button));
-
- if (e->button.button == 5 ||
- e->button.button == 4)
- return FALSE;
-
- /*
- * click_count is so that if you click on two
- * different rows we don't send a double click signal.
- */
-
- if (eti->click_count >= 2) {
-
- gnome_canvas_item_w2i (item, &e->button.x, &e->button.y);
-
-#if 0
- if (!find_cell (eti, e->button.x, e->button.y, &current_col, &current_row, &x1, &y1))
- return TRUE;
-#endif
-
- g_object_get(eti->selection,
- "cursor_row", &model_row,
- "cursor_col", &model_col,
- NULL);
-
- e->button.x -= e_table_header_col_diff (eti->header, 0, model_to_view_col (eti, model_col));
- e->button.y -= e_table_item_row_diff (eti, 0, model_to_view_row (eti, model_row));
-
- if (e->button.button == 1) {
- if (eti->maybe_in_drag) {
- eti->maybe_in_drag = FALSE;
- if (!eti->maybe_did_something)
- e_selection_model_do_something(E_SELECTION_MODEL (eti->selection), eti->drag_row, eti->drag_col, eti->drag_state);
- }
- if (eti->in_drag) {
- eti->in_drag = FALSE;
- }
- if (eti_editing (eti))
- e_table_item_leave_edit_ (eti);
-
- }
-
- if (eti->grabbed_count > 0) {
- d(g_print ("%s: eti_ungrab\n", __FUNCTION__));
- eti_ungrab (eti, e->button.time);
- }
-
- if (model_row != -1 && model_col != -1) {
- g_signal_emit (eti, eti_signals [DOUBLE_CLICK], 0,
- model_row, model_col, e);
- }
- }
- break;
- }
- case GDK_MOTION_NOTIFY: {
- int col, row, flags;
- double x1, y1;
- gint cursor_col, cursor_row;
-
- gnome_canvas_item_w2i (item, &e->motion.x, &e->motion.y);
-
- if (eti->maybe_in_drag) {
- if (abs (e->motion.x - eti->drag_x) >= 3 ||
- abs (e->motion.y - eti->drag_y) >= 3) {
- gint drag_handled;
-
- eti->maybe_in_drag = 0;
- g_signal_emit (eti, eti_signals [START_DRAG], 0,
- eti->drag_row, eti->drag_col, e, &drag_handled);
- if (drag_handled)
- eti->in_drag = 1;
- else
- eti->in_drag = 0;
- }
- }
-
- if (!find_cell (eti, e->motion.x, e->motion.y, &col, &row, &x1, &y1))
- return TRUE;
-
- if (eti->motion_row != -1 && eti->motion_col != -1 &&
- (row != eti->motion_row || col != eti->motion_col)) {
- GdkEvent *cross = gdk_event_new (GDK_LEAVE_NOTIFY);
- cross->crossing.time = e->motion.time;
- return_val = eti_e_cell_event (eti, eti->cell_views [eti->motion_col],
- cross, cross->crossing.time,
- view_to_model_col(eti, eti->motion_col),
- eti->motion_col, eti->motion_row, 0);
- }
-
- eti->motion_row = row;
- eti->motion_col = col;
-
- g_object_get(eti->selection,
- "cursor_row", &cursor_row,
- "cursor_col", &cursor_col,
- NULL);
-
- e_canvas_hide_tooltip (E_CANVAS(GNOME_CANVAS_ITEM(eti)->canvas));
-
-#ifdef DO_TOOLTIPS
- if (!g_getenv ("GAL_DONT_DO_TOOLTIPS")) {
- if (eti->tooltip->timer)
- gtk_timeout_remove (eti->tooltip->timer);
- eti->tooltip->col = col;
- eti->tooltip->row = row;
- eti->tooltip->cx = e->motion.x;
- eti->tooltip->cy = e->motion.y;
- eti->tooltip->timer = gtk_timeout_add (100, (GSourceFunc)_do_tooltip, eti);
- }
-#endif
-
- flags = 0;
- if (cursor_row == view_to_model_row(eti, row) && cursor_col == view_to_model_col(eti, col)){
- flags = E_CELL_EDITING | E_CELL_CURSOR;
- }
-
- ecell_view = eti->cell_views [col];
-
- /*
- * Adjust the event positions
- */
- e->motion.x = x1;
- e->motion.y = y1;
-
- return_val = eti_e_cell_event (eti, ecell_view, e, e->motion.time,
- view_to_model_col(eti, col), col, row, flags);
- break;
- }
-
- case GDK_KEY_PRESS: {
- gint cursor_row, cursor_col;
- gint handled = TRUE;
-
- d(g_print("%s: GDK_KEY_PRESS received, keyval: %d\n", __FUNCTION__, (int) e->key.keyval));
-
- g_object_get(eti->selection,
- "cursor_row", &cursor_row,
- "cursor_col", &cursor_col,
- NULL);
-
- if (eti->tooltip->timer) {
- gtk_timeout_remove (eti->tooltip->timer);
- eti->tooltip->timer = 0;
- }
- e_canvas_hide_tooltip (E_CANVAS(GNOME_CANVAS_ITEM(eti)->canvas));
-
- if (cursor_row == -1 && cursor_col == -1)
- return FALSE;
-
- eti->in_key_press = TRUE;
-
- switch (e->key.keyval){
- case GDK_Left:
- case GDK_KP_Left:
- if (eti_editing (eti)) {
- handled = FALSE;
- break;
- }
-
- g_signal_emit (eti, eti_signals [KEY_PRESS], 0,
- model_to_view_row(eti, cursor_row), cursor_col, e, &return_val);
- if ((!return_val) && eti->cursor_mode != E_CURSOR_LINE && cursor_col != view_to_model_col(eti, 0))
- eti_cursor_move_left (eti);
- return_val = 1;
- break;
-
- case GDK_Right:
- case GDK_KP_Right:
- if (eti_editing (eti)) {
- handled = FALSE;
- break;
- }
-
- g_signal_emit (eti, eti_signals [KEY_PRESS], 0,
- model_to_view_row(eti, cursor_row), cursor_col, e, &return_val);
- if ((!return_val) && eti->cursor_mode != E_CURSOR_LINE && cursor_col != view_to_model_col(eti, eti->cols - 1))
- eti_cursor_move_right (eti);
- return_val = 1;
- break;
-
- case GDK_Up:
- case GDK_KP_Up:
- case GDK_Down:
- case GDK_KP_Down:
- if ((e->key.state & GDK_MOD1_MASK)
- && ((e->key.keyval == GDK_Down ) || (e->key.keyval == GDK_KP_Down))) {
- gint view_col = model_to_view_col(eti, cursor_col);
- if ((view_col >= 0) && (view_col < eti->cols))
- if (eti_e_cell_event (eti, eti->cell_views [view_col], e, ((GdkEventKey *)e)->time, cursor_col, view_col, model_to_view_row(eti, cursor_row), E_CELL_CURSOR))
- return TRUE;
- } else
- return_val = e_selection_model_key_press(E_SELECTION_MODEL (eti->selection), (GdkEventKey *) e);
- break;
- case GDK_Home:
- case GDK_KP_Home:
- if (eti->cursor_mode != E_CURSOR_LINE) {
- eti_cursor_move (eti, model_to_view_row(eti, cursor_row), 0);
- return_val = TRUE;
- } else
- return_val = e_selection_model_key_press(E_SELECTION_MODEL (eti->selection), (GdkEventKey *) e);
- break;
- case GDK_End:
- case GDK_KP_End:
- if (eti->cursor_mode != E_CURSOR_LINE) {
- eti_cursor_move (eti, model_to_view_row(eti, cursor_row), eti->cols - 1);
- return_val = TRUE;
- } else
- return_val = e_selection_model_key_press(E_SELECTION_MODEL (eti->selection), (GdkEventKey *) e);
- break;
- case GDK_Tab:
- case GDK_KP_Tab:
- case GDK_ISO_Left_Tab:
- if ((e->key.state & GDK_CONTROL_MASK) != 0) {
- return_val = FALSE;
- break;
- }
- if (eti->cursor_mode == E_CURSOR_SPREADSHEET) {
- if ((e->key.state & GDK_SHIFT_MASK) != 0){
- /* shift tab */
- if (cursor_col != view_to_model_col(eti, 0))
- eti_cursor_move_left (eti);
- else if (cursor_row != view_to_model_row(eti, 0))
- eti_cursor_move (eti, model_to_view_row(eti, cursor_row) - 1, eti->cols - 1);
- else
- return_val = FALSE;
- } else {
- if (cursor_col != view_to_model_col (eti, eti->cols - 1))
- eti_cursor_move_right (eti);
- else if (cursor_row != view_to_model_row(eti, eti->rows - 1))
- eti_cursor_move (eti, model_to_view_row(eti, cursor_row) + 1, 0);
- else
- return_val = FALSE;
- }
- g_object_get(eti->selection,
- "cursor_row", &cursor_row,
- "cursor_col", &cursor_col,
- NULL);
-
- if (cursor_col >= 0 && cursor_row >= 0 && return_val &&
- (!eti_editing(eti)) && e_table_model_is_cell_editable(eti->table_model, cursor_col, model_to_view_row (eti, cursor_row))) {
- e_table_item_enter_edit (eti, model_to_view_col(eti, cursor_col), model_to_view_row(eti, cursor_row));
- }
- break;
- } else {
- /* Let tab send you to the next widget. */
- return_val = FALSE;
- break;
- }
-
- case GDK_Return:
- case GDK_KP_Enter:
- case GDK_ISO_Enter:
- case GDK_3270_Enter:
- if (eti_editing (eti)){
- ecell_view = eti->cell_views [eti->editing_col];
- return_val = eti_e_cell_event (eti, ecell_view, e, e->key.time,
- view_to_model_col (eti, eti->editing_col),
- eti->editing_col, eti->editing_row, E_CELL_EDITING | E_CELL_CURSOR | E_CELL_PREEDIT);
- if (!return_val)
- break;
- }
- g_signal_emit (eti, eti_signals [KEY_PRESS], 0,
- model_to_view_row (eti, cursor_row), cursor_col, e, &return_val);
- if (!return_val)
- return_val = e_selection_model_key_press (E_SELECTION_MODEL (eti->selection), (GdkEventKey *) e);
- break;
-
- default:
- handled = FALSE;
- break;
- }
-
- if (!handled) {
- switch (e->key.keyval) {
- case GDK_Scroll_Lock:
- case GDK_Sys_Req:
- case GDK_Shift_L:
- case GDK_Shift_R:
- case GDK_Control_L:
- case GDK_Control_R:
- case GDK_Caps_Lock:
- case GDK_Shift_Lock:
- case GDK_Meta_L:
- case GDK_Meta_R:
- case GDK_Alt_L:
- case GDK_Alt_R:
- case GDK_Super_L:
- case GDK_Super_R:
- case GDK_Hyper_L:
- case GDK_Hyper_R:
- case GDK_ISO_Lock:
- break;
-
- default:
- if (!eti_editing (eti)){
- gint col, row;
- row = model_to_view_row(eti, cursor_row);
- col = model_to_view_col(eti, cursor_col);
- if (col != -1 && row != -1 && e_table_model_is_cell_editable(eti->table_model, cursor_col, row)) {
- e_table_item_enter_edit (eti, col, row);
- }
- }
- if (!eti_editing (eti)){
- g_signal_emit (eti, eti_signals [KEY_PRESS], 0,
- model_to_view_row(eti, cursor_row), cursor_col, e, &return_val);
- if (!return_val)
- e_selection_model_key_press(E_SELECTION_MODEL (eti->selection), (GdkEventKey *) e);
- } else {
- ecell_view = eti->cell_views [eti->editing_col];
- return_val = eti_e_cell_event (eti, ecell_view, e, e->key.time,
- view_to_model_col(eti, eti->editing_col),
- eti->editing_col, eti->editing_row, E_CELL_EDITING | E_CELL_CURSOR);
- if (!return_val)
- e_selection_model_key_press(E_SELECTION_MODEL (eti->selection), (GdkEventKey *) e);
- }
- break;
- }
- }
- eti->in_key_press = FALSE;
- break;
- }
-
- case GDK_KEY_RELEASE: {
- gint cursor_row, cursor_col;
-
- d(g_print("%s: GDK_KEY_RELEASE received, keyval: %d\n", __FUNCTION__, (int) e->key.keyval));
-
- g_object_get(eti->selection,
- "cursor_row", &cursor_row,
- "cursor_col", &cursor_col,
- NULL);
-
- if (cursor_col == -1)
- return FALSE;
-
- if (eti_editing (eti)){
- ecell_view = eti->cell_views [eti->editing_col];
- return_val = eti_e_cell_event (eti, ecell_view, e, e->key.time,
- view_to_model_col(eti, eti->editing_col),
- eti->editing_col, eti->editing_row, E_CELL_EDITING | E_CELL_CURSOR);
- }
- break;
- }
-
- case GDK_LEAVE_NOTIFY:
- d(leave = TRUE);
- case GDK_ENTER_NOTIFY:
- d(g_print("%s: %s received\n", __FUNCTION__, leave ? "GDK_LEAVE_NOTIFY" : "GDK_ENTER_NOTIFY"));
- if (eti->tooltip->timer)
- gtk_timeout_remove (eti->tooltip->timer);
- eti->tooltip->timer = 0;
- if (eti->motion_row != -1 && eti->motion_col != -1)
- return_val = eti_e_cell_event (eti, eti->cell_views [eti->motion_col],
- e, e->crossing.time,
- view_to_model_col(eti, eti->motion_col),
- eti->motion_col, eti->motion_row, 0);
- eti->motion_row = -1;
- eti->motion_col = -1;
-
- break;
-
- case GDK_FOCUS_CHANGE:
- d(g_print("%s: GDK_FOCUS_CHANGE received, %s\n", __FUNCTION__, e->focus_change.in ? "in": "out"));
- if (e->focus_change.in) {
- if (eti->save_row != -1 &&
- eti->save_col != -1 &&
- !eti_editing (eti) &&
- e_table_model_is_cell_editable(eti->table_model, view_to_model_col (eti, eti->save_col), eti->save_row)) {
- e_table_item_enter_edit (eti, eti->save_col, eti->save_row);
- e_cell_load_state (eti->cell_views [eti->editing_col], view_to_model_col(eti, eti->save_col),
- eti->save_col, eti->save_row, eti->edit_ctx, eti->save_state);
- eti_free_save_state (eti);
- }
- } else {
- if (eti_editing (eti)) {
- eti_free_save_state (eti);
-
- eti->save_row = eti->editing_row;
- eti->save_col = eti->editing_col;
- eti->save_state = e_cell_save_state (eti->cell_views [eti->editing_col], view_to_model_col(eti, eti->editing_col),
- eti->editing_col, eti->editing_row, eti->edit_ctx);
- e_table_item_leave_edit_(eti);
- }
- }
-
- default:
- return_val = FALSE;
- }
- /* d(g_print("%s: returning: %s\n", __FUNCTION__, return_val?"true":"false"));*/
-
- return return_val;
-}
-
-static void
-eti_style_set (ETableItem *eti, GtkStyle *previous_style)
-{
- if (!(GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED))
- return;
-
- if (eti->cell_views_realized) {
- int i;
- int n_cells = eti->n_cells;
-
- for (i = 0; i < n_cells; i++) {
- e_cell_style_set (eti->cell_views[i], previous_style);
- }
- }
-
- eti->needs_compute_height = 1;
- e_canvas_item_request_reflow (GNOME_CANVAS_ITEM (eti));
- eti->needs_redraw = 1;
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM (eti));
-
- free_height_cache (eti);
-
- eti_idle_maybe_show_cursor(eti);
-}
-
-static void
-eti_class_init (GObjectClass *object_class)
-{
- GnomeCanvasItemClass *item_class = (GnomeCanvasItemClass *) object_class;
- ETableItemClass *eti_class = (ETableItemClass *) object_class;
-
- eti_parent_class = g_type_class_ref (PARENT_OBJECT_TYPE);
-
- object_class->dispose = eti_dispose;
- object_class->set_property = eti_set_property;
- object_class->get_property = eti_get_property;
-
- item_class->update = eti_update;
- item_class->realize = eti_realize;
- item_class->unrealize = eti_unrealize;
- item_class->draw = eti_draw;
- item_class->point = eti_point;
- item_class->event = eti_event;
-
- eti_class->cursor_change = NULL;
- eti_class->cursor_activated = NULL;
- eti_class->double_click = NULL;
- eti_class->right_click = NULL;
- eti_class->click = NULL;
- eti_class->key_press = NULL;
- eti_class->start_drag = NULL;
- eti_class->style_set = eti_style_set;
- eti_class->selection_model_removed = NULL;
- eti_class->selection_model_added = NULL;
-
- g_object_class_install_property (object_class, PROP_TABLE_HEADER,
- g_param_spec_object ("ETableHeader",
- _( "Table header" ),
- _( "Table header" ),
- E_TABLE_HEADER_TYPE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_TABLE_MODEL,
- g_param_spec_object ("ETableModel",
- _( "Table model" ),
- _( "Table model" ),
- E_TABLE_MODEL_TYPE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_SELECTION_MODEL,
- g_param_spec_object ("selection_model",
- _( "Selection model" ),
- _( "Selection model" ),
- E_SELECTION_MODEL_TYPE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_TABLE_ALTERNATING_ROW_COLORS,
- g_param_spec_boolean ("alternating_row_colors",
- _( "Alternating Row Colors" ),
- _( "Alternating Row Colors" ),
- FALSE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_TABLE_HORIZONTAL_DRAW_GRID,
- g_param_spec_boolean ("horizontal_draw_grid",
- _( "Horizontal Draw Grid" ),
- _( "Horizontal Draw Grid" ),
- FALSE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_TABLE_VERTICAL_DRAW_GRID,
- g_param_spec_boolean ("vertical_draw_grid",
- _( "Vertical Draw Grid" ),
- _( "Vertical Draw Grid" ),
- FALSE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_TABLE_DRAW_FOCUS,
- g_param_spec_boolean ("drawfocus",
- _( "Draw focus" ),
- _( "Draw focus" ),
- FALSE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_CURSOR_MODE,
- g_param_spec_int ("cursor_mode",
- _( "Cursor mode" ),
- _( "Cursor mode" ),
- E_CURSOR_LINE, E_CURSOR_SPREADSHEET, E_CURSOR_LINE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_LENGTH_THRESHOLD,
- g_param_spec_int ("length_threshold",
- _( "Length Threshold" ),
- _( "Length Threshold" ),
- -1, G_MAXINT, 0,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_MINIMUM_WIDTH,
- g_param_spec_double ("minimum_width",
- _( "Minimum width" ),
- _( "Minimum Width" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_WIDTH,
- g_param_spec_double ("width",
- _( "Width" ),
- _( "Width" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
- g_object_class_install_property (object_class, PROP_HEIGHT,
- g_param_spec_double ("height",
- _( "Height" ),
- _( "Height" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READABLE));
-
- g_object_class_install_property (object_class, PROP_CURSOR_ROW,
- g_param_spec_int ("cursor_row",
- _( "Cursor row" ),
- _( "Cursor row" ),
- 0, G_MAXINT, 0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_UNIFORM_ROW_HEIGHT,
- g_param_spec_boolean ("uniform_row_height",
- _( "Uniform row height" ),
- _( "Uniform row height" ),
- FALSE,
- G_PARAM_READWRITE));
-
- eti_signals [CURSOR_CHANGE] =
- g_signal_new ("cursor_change",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableItemClass, cursor_change),
- NULL, NULL,
- e_marshal_NONE__INT,
- G_TYPE_NONE, 1, G_TYPE_INT);
-
- eti_signals [CURSOR_ACTIVATED] =
- g_signal_new ("cursor_activated",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableItemClass, cursor_activated),
- NULL, NULL,
- e_marshal_NONE__INT,
- G_TYPE_NONE, 1, G_TYPE_INT);
-
- eti_signals [DOUBLE_CLICK] =
- g_signal_new ("double_click",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableItemClass, double_click),
- NULL, NULL,
- e_marshal_NONE__INT_INT_BOXED,
- G_TYPE_NONE, 3, G_TYPE_INT,
- G_TYPE_INT, GDK_TYPE_EVENT);
-
- eti_signals [START_DRAG] =
- g_signal_new ("start_drag",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableItemClass, start_drag),
- NULL, NULL,
- e_marshal_INT__INT_INT_BOXED,
- G_TYPE_INT, 3, G_TYPE_INT,
- G_TYPE_INT, GDK_TYPE_EVENT);
-
- eti_signals [RIGHT_CLICK] =
- g_signal_new ("right_click",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableItemClass, right_click),
- NULL, NULL,
- e_marshal_INT__INT_INT_BOXED,
- G_TYPE_INT, 3, G_TYPE_INT,
- G_TYPE_INT, GDK_TYPE_EVENT);
-
- eti_signals [CLICK] =
- g_signal_new ("click",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableItemClass, click),
- NULL, NULL,
- e_marshal_INT__INT_INT_BOXED,
- G_TYPE_INT, 3, G_TYPE_INT,
- G_TYPE_INT, GDK_TYPE_EVENT);
-
- eti_signals [KEY_PRESS] =
- g_signal_new ("key_press",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableItemClass, key_press),
- NULL, NULL,
- e_marshal_INT__INT_INT_BOXED,
- G_TYPE_INT, 3, G_TYPE_INT,
- G_TYPE_INT, GDK_TYPE_EVENT);
-
- eti_signals [STYLE_SET] =
- g_signal_new ("style_set",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableItemClass, style_set),
- NULL, NULL,
- e_marshal_NONE__OBJECT,
- G_TYPE_NONE, 1, GTK_TYPE_STYLE);
-
- eti_signals[SELECTION_MODEL_REMOVED] =
- g_signal_new ("selection_model_removed",
- G_TYPE_FROM_CLASS (object_class),
- G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,
- G_STRUCT_OFFSET (ETableItemClass, selection_model_removed),
- NULL, NULL,
- g_cclosure_marshal_VOID__POINTER,
- G_TYPE_NONE, 1,
- G_TYPE_POINTER);
-
- eti_signals[SELECTION_MODEL_ADDED] =
- g_signal_new ("selection_model_added",
- G_TYPE_FROM_CLASS (object_class),
- G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,
- G_STRUCT_OFFSET (ETableItemClass, selection_model_added),
- NULL, NULL,
- g_cclosure_marshal_VOID__POINTER,
- G_TYPE_NONE, 1,
- G_TYPE_POINTER);
-
- /* A11y Init */
- gal_a11y_e_table_item_init ();
-}
-
-E_MAKE_TYPE (e_table_item,
- "ETableItem",
- ETableItem,
- eti_class_init,
- eti_init,
- PARENT_OBJECT_TYPE)
-
-/**
- * e_table_item_set_cursor:
- * @eti: %ETableItem which will have the cursor set.
- * @col: Column to select. -1 means the last column.
- * @row: Row to select. -1 means the last row.
- *
- * This routine sets the cursor of the %ETableItem canvas item.
- */
-void
-e_table_item_set_cursor (ETableItem *eti, int col, int row)
-{
- e_table_item_focus(eti, col, view_to_model_row(eti, row), 0);
-}
-
-static void
-e_table_item_focus (ETableItem *eti, int col, int row, GdkModifierType state)
-{
- g_return_if_fail (eti != NULL);
- g_return_if_fail (E_IS_TABLE_ITEM (eti));
-
- if (row == -1) {
- row = view_to_model_row(eti, eti->rows - 1);
- }
-
- if (col == -1) {
- col = eti->cols - 1;
- }
-
- if (row != -1) {
- e_selection_model_do_something(E_SELECTION_MODEL (eti->selection),
- row, col,
- state);
- }
-}
-
-/**
- * e_table_item_get_focused_column:
- * @eti: %ETableItem which will have the cursor retrieved.
- *
- * This routine gets the cursor of the %ETableItem canvas item.
- *
- * Returns: The current cursor column.
- */
-gint
-e_table_item_get_focused_column (ETableItem *eti)
-{
- int cursor_col;
-
- g_return_val_if_fail (eti != NULL, -1);
- g_return_val_if_fail (E_IS_TABLE_ITEM (eti), -1);
-
- g_object_get(eti->selection,
- "cursor_col", &cursor_col,
- NULL);
-
- return cursor_col;
-}
-
-static void
-eti_cursor_change (ESelectionModel *selection, int row, int col, ETableItem *eti)
-{
- int view_row;
- int view_col;
-
- if (!(GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED))
- return;
-
- view_row = model_to_view_row(eti, row);
- view_col = model_to_view_col(eti, col);
-
- if (eti->old_cursor_row != -1 && view_row != eti->old_cursor_row)
- e_table_item_redraw_row (eti, eti->old_cursor_row);
-
- if (view_row == -1) {
- e_table_item_leave_edit_(eti);
- eti->old_cursor_row = -1;
- return;
- }
-
- if (! e_table_model_has_change_pending (eti->table_model)) {
- if (!eti->in_key_press) {
- eti_maybe_show_cursor(eti, DOUBLE_CLICK_TIME + 10);
- } else {
- eti_maybe_show_cursor(eti, 0);
- }
- }
-
- e_canvas_item_grab_focus(GNOME_CANVAS_ITEM(eti), FALSE);
- if (eti_editing(eti))
- e_table_item_leave_edit_(eti);
- g_signal_emit (eti, eti_signals [CURSOR_CHANGE], 0,
- view_row);
-
- e_table_item_redraw_row (eti, view_row);
-
- eti->old_cursor_row = view_row;
-}
-
-static void
-eti_cursor_activated (ESelectionModel *selection, int row, int col, ETableItem *eti)
-{
- int view_row;
- int view_col;
-
- if (!(GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED))
- return;
-
- view_row = model_to_view_row(eti, row);
- view_col = model_to_view_col(eti, col);
-
- if (view_row != -1 && view_col != -1) {
- if (! e_table_model_has_change_pending (eti->table_model)) {
- if (!eti->in_key_press) {
- eti_show_cursor(eti, DOUBLE_CLICK_TIME + 10);
- } else {
- eti_show_cursor(eti, 0);
- }
- eti_check_cursor_bounds (eti);
- }
- }
-
- if (eti_editing(eti))
- e_table_item_leave_edit_(eti);
-
- if (view_row != -1)
- g_signal_emit (eti, eti_signals [CURSOR_ACTIVATED], 0,
- view_row);
-}
-
-static void
-eti_selection_change (ESelectionModel *selection, ETableItem *eti)
-{
- if (!(GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED))
- return;
-
- eti->needs_redraw = TRUE;
- gnome_canvas_item_request_update(GNOME_CANVAS_ITEM(eti));
-}
-
-static void
-eti_selection_row_change (ESelectionModel *selection, int row, ETableItem *eti)
-{
- if (!(GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED))
- return;
-
- if (!eti->needs_redraw) {
- e_table_item_redraw_row (eti, model_to_view_row(eti, row));
- }
-}
-
-
-/**
- * e_table_item_enter_edit
- * @eti: %ETableItem which will start being edited
- * @col: The view col to edit.
- * @row: The view row to edit.
- *
- * This routine starts the given %ETableItem editing at the given view
- * column and row.
- */
-void
-e_table_item_enter_edit (ETableItem *eti, int col, int row)
-{
- g_return_if_fail (eti != NULL);
- g_return_if_fail (E_IS_TABLE_ITEM (eti));
-
- d(g_print("%s: %d, %d, eti_editing() = %s\n", __FUNCTION__, col, row, eti_editing(eti)?"true":"false"));
-
- if (eti_editing (eti))
- e_table_item_leave_edit_(eti);
-
- eti->editing_col = col;
- eti->editing_row = row;
-
- eti->edit_ctx = e_cell_enter_edit (eti->cell_views [col], view_to_model_col(eti, col), col, row);
-}
-
-/**
- * e_table_item_leave_edit_
- * @eti: %ETableItem which will stop being edited
- *
- * This routine stops the given %ETableItem from editing.
- */
-void
-e_table_item_leave_edit (ETableItem *eti)
-{
- int col, row;
- void *edit_ctx;
-
- g_return_if_fail (eti != NULL);
- g_return_if_fail (E_IS_TABLE_ITEM (eti));
-
- d(g_print("%s: eti_editing() = %s\n", __FUNCTION__, eti_editing(eti)?"true":"false"));
-
- if (!eti_editing (eti))
- return;
-
- col = eti->editing_col;
- row = eti->editing_row;
- edit_ctx = eti->edit_ctx;
-
- eti->editing_col = -1;
- eti->editing_row = -1;
- eti->edit_ctx = NULL;
-
- e_cell_leave_edit (eti->cell_views [col],
- view_to_model_col(eti, col),
- col, row, edit_ctx);
-}
-
-/**
- * e_table_item_compute_location
- * @eti: %ETableItem to look in.
- * @x: A pointer to the x location to find in the %ETableItem.
- * @y: A pointer to the y location to find in the %ETableItem.
- * @row: A pointer to the location to store the found row in.
- * @col: A pointer to the location to store the found col in.
- *
- * This routine locates the pixel location (*x, *y) in the
- * %ETableItem. If that location is in the %ETableItem, *row and *col
- * are set to the view row and column where it was found. If that
- * location is not in the %ETableItem, the height of the %ETableItem
- * is removed from the value y points to.
- */
-void
-e_table_item_compute_location (ETableItem *eti,
- int *x,
- int *y,
- int *row,
- int *col)
-{
- /* Save the grabbed row but make sure that we don't get flawed
- results because the cursor is grabbed. */
- int grabbed_row = eti->grabbed_row;
- eti->grabbed_row = -1;
-
- if (!find_cell (eti, *x, *y, col, row, NULL, NULL)) {
- *y -= eti->height;
- }
-
- eti->grabbed_row = grabbed_row;
-}
-
-void
-e_table_item_get_cell_geometry (ETableItem *eti,
- int *row,
- int *col,
- int *x,
- int *y,
- int *width,
- int *height)
-{
- if (eti->rows > *row) {
- if (x)
- *x = e_table_header_col_diff (eti->header, 0, *col);
- if (y)
- *y = e_table_item_row_diff (eti, 0, *row);
- if (width)
- *width = e_table_header_col_diff (eti->header, *col, *col + 1);
- if (height)
- *height = ETI_ROW_HEIGHT (eti, *row);
- *row = -1;
- *col = -1;
- } else {
- *row -= eti->rows;
- }
-}
-
-typedef struct {
- ETableItem *item;
- int rows_printed;
-} ETableItemPrintContext;
-
-static gdouble *
-e_table_item_calculate_print_widths (ETableHeader *eth, gdouble width)
-{
- int i;
- double extra;
- double expansion;
- int last_resizable = -1;
- gdouble scale = 1.0L;
- gdouble *widths = g_new(gdouble, e_table_header_count(eth));
- /* - 1 to account for the last pixel border. */
- extra = width - 1;
- expansion = 0;
- for (i = 0; i < eth->col_count; i++) {
- extra -= eth->columns[i]->min_width * scale;
- if (eth->columns[i]->resizable && eth->columns[i]->expansion > 0)
- last_resizable = i;
- expansion += eth->columns[i]->resizable ? eth->columns[i]->expansion : 0;
- widths[i] = eth->columns[i]->min_width * scale;
- }
- for (i = 0; i <= last_resizable; i++) {
- widths[i] += extra * (eth->columns[i]->resizable ? eth->columns[i]->expansion : 0)/expansion;
- }
-
- return widths;
-}
-
-static gdouble
-eti_printed_row_height (ETableItem *eti, gdouble *widths, GnomePrintContext *context, gint row)
-{
- int col;
- int cols = eti->cols;
- gdouble height = 0;
- for (col = 0; col < cols; col++) {
- ECellView *ecell_view = eti->cell_views [col];
- gdouble this_height = e_cell_print_height (ecell_view, context, view_to_model_col(eti, col), col, row,
- widths[col] - 1);
- if (this_height > height)
- height = this_height;
- }
- return height;
-}
-
-#define CHECK(x) if((x) == -1) return -1;
-
-static gint
-gp_draw_rect (GnomePrintContext *context, gdouble x, gdouble y, gdouble width, gdouble height)
-{
- CHECK(gnome_print_moveto(context, x, y));
- CHECK(gnome_print_lineto(context, x + width, y));
- CHECK(gnome_print_lineto(context, x + width, y - height));
- CHECK(gnome_print_lineto(context, x, y - height));
- CHECK(gnome_print_lineto(context, x, y));
- return gnome_print_fill(context);
-}
-
-static void
-e_table_item_print_page (EPrintable *ep,
- GnomePrintContext *context,
- gdouble width,
- gdouble height,
- gboolean quantize,
- ETableItemPrintContext *itemcontext)
-{
- ETableItem *eti = itemcontext->item;
- const int rows = eti->rows;
- const int cols = eti->cols;
- int rows_printed = itemcontext->rows_printed;
- gdouble *widths;
- int row, col;
- gdouble yd = height;
-
- widths = e_table_item_calculate_print_widths (itemcontext->item->header, width);
-
- /*
- * Draw cells
- */
- if (eti->horizontal_draw_grid){
- gp_draw_rect(context, 0, yd, width, 1);
- }
- yd--;
-
- for (row = rows_printed; row < rows; row++){
- gdouble xd = 1, row_height;
-
- row_height = eti_printed_row_height(eti, widths, context, row);
- if (quantize) {
- if (yd - row_height - 1 < 0 && row != rows_printed) {
- break;
- }
- } else {
- if (yd < 0) {
- break;
- }
- }
-
- for (col = 0; col < cols; col++){
- ECellView *ecell_view = eti->cell_views [col];
-
- if (gnome_print_gsave(context) == -1)
- /* FIXME */;
- if (gnome_print_translate(context, xd, yd - row_height) == -1)
- /* FIXME */;
-
- if (gnome_print_moveto(context, 0, 0) == -1)
- /* FIXME */;
- if (gnome_print_lineto(context, widths[col] - 1, 0) == -1)
- /* FIXME */;
- if (gnome_print_lineto(context, widths[col] - 1, row_height) == -1)
- /* FIXME */;
- if (gnome_print_lineto(context, 0, row_height) == -1)
- /* FIXME */;
- if (gnome_print_lineto(context, 0, 0) == -1)
- /* FIXME */;
- if (gnome_print_clip(context) == -1)
- /* FIXME */;
-
- e_cell_print (ecell_view, context, view_to_model_col(eti, col), col, row,
- widths[col] - 1, row_height);
-
- if (gnome_print_grestore(context) == -1)
- /* FIXME */;
-
- xd += widths[col];
- }
- yd -= row_height;
-
- if (eti->horizontal_draw_grid){
- gp_draw_rect(context, 0, yd, width, 1);
- }
- yd--;
- }
-
- itemcontext->rows_printed = row;
-
- if (eti->vertical_draw_grid){
- gdouble xd = 0;
-
- for (col = 0; col < cols; col++){
- gp_draw_rect(context, xd, height, 1, height - yd);
-
- xd += widths[col];
- }
- gp_draw_rect(context, xd, height, 1, height - yd);
- }
-
- g_free (widths);
-}
-
-static gboolean
-e_table_item_data_left (EPrintable *ep,
- ETableItemPrintContext *itemcontext)
-{
- ETableItem *item = itemcontext->item;
- int rows_printed = itemcontext->rows_printed;
-
- g_signal_stop_emission_by_name(ep, "data_left");
- return rows_printed < item->rows;
-}
-
-static void
-e_table_item_reset (EPrintable *ep,
- ETableItemPrintContext *itemcontext)
-{
- itemcontext->rows_printed = 0;
-}
-
-static gdouble
-e_table_item_height (EPrintable *ep,
- GnomePrintContext *context,
- gdouble width,
- gdouble max_height,
- gboolean quantize,
- ETableItemPrintContext *itemcontext)
-{
- ETableItem *item = itemcontext->item;
- const int rows = item->rows;
- int rows_printed = itemcontext->rows_printed;
- gdouble *widths;
- int row;
- gdouble yd = 0;
-
- widths = e_table_item_calculate_print_widths (itemcontext->item->header, width);
-
- /*
- * Draw cells
- */
- yd++;
-
- for (row = rows_printed; row < rows; row++){
- gdouble row_height;
-
- row_height = eti_printed_row_height(item, widths, context, row);
- if (quantize) {
- if (max_height != -1 && yd + row_height + 1 > max_height && row != rows_printed) {
- break;
- }
- } else {
- if (max_height != -1 && yd > max_height) {
- break;
- }
- }
-
- yd += row_height;
-
- yd++;
- }
-
- g_free (widths);
-
- if (max_height != -1 && (!quantize) && yd > max_height)
- yd = max_height;
-
- g_signal_stop_emission_by_name(ep, "height");
- return yd;
-}
-
-static gboolean
-e_table_item_will_fit (EPrintable *ep,
- GnomePrintContext *context,
- gdouble width,
- gdouble max_height,
- gboolean quantize,
- ETableItemPrintContext *itemcontext)
-{
- ETableItem *item = itemcontext->item;
- const int rows = item->rows;
- int rows_printed = itemcontext->rows_printed;
- gdouble *widths;
- int row;
- gdouble yd = 0;
- gboolean ret_val = TRUE;
-
- widths = e_table_item_calculate_print_widths (itemcontext->item->header, width);
-
- /*
- * Draw cells
- */
- yd++;
-
- for (row = rows_printed; row < rows; row++){
- gdouble row_height;
-
- row_height = eti_printed_row_height(item, widths, context, row);
- if (quantize) {
- if (max_height != -1 && yd + row_height + 1 > max_height && row != rows_printed) {
- ret_val = FALSE;
- break;
- }
- } else {
- if (max_height != -1 && yd > max_height) {
- ret_val = FALSE;
- break;
- }
- }
-
- yd += row_height;
-
- yd++;
- }
-
- g_free (widths);
-
- g_signal_stop_emission_by_name(ep, "will_fit");
- return ret_val;
-}
-
-static void
-e_table_item_printable_destroy (gpointer data,
- GObject *where_object_was)
-{
- ETableItemPrintContext *itemcontext = data;
-
- g_object_unref(itemcontext->item);
- g_free(itemcontext);
-}
-
-/**
- * e_table_item_get_printable
- * @eti: %ETableItem which will be printed
- *
- * This routine creates and returns an %EPrintable that can be used to
- * print the given %ETableItem.
- *
- * Returns: The %EPrintable.
- */
-EPrintable *
-e_table_item_get_printable (ETableItem *item)
-{
- EPrintable *printable = e_printable_new();
- ETableItemPrintContext *itemcontext;
-
- itemcontext = g_new(ETableItemPrintContext, 1);
- itemcontext->item = item;
- g_object_ref(item);
- itemcontext->rows_printed = 0;
-
- g_signal_connect (printable,
- "print_page",
- G_CALLBACK(e_table_item_print_page),
- itemcontext);
- g_signal_connect (printable,
- "data_left",
- G_CALLBACK(e_table_item_data_left),
- itemcontext);
- g_signal_connect (printable,
- "reset",
- G_CALLBACK(e_table_item_reset),
- itemcontext);
- g_signal_connect (printable,
- "height",
- G_CALLBACK(e_table_item_height),
- itemcontext);
- g_signal_connect (printable,
- "will_fit",
- G_CALLBACK(e_table_item_will_fit),
- itemcontext);
- g_object_weak_ref (G_OBJECT (printable),
- e_table_item_printable_destroy,
- itemcontext);
-
- return printable;
-}
diff --git a/widgets/table/e-table-item.h b/widgets/table/e-table-item.h
deleted file mode 100644
index e5b5322019..0000000000
--- a/widgets/table/e-table-item.h
+++ /dev/null
@@ -1,231 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-item.h
- * Copyright 1999, 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Miguel de Icaza <miguel@gnu.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_ITEM_H_
-#define _E_TABLE_ITEM_H_
-
-#include <libgnomecanvas/gnome-canvas.h>
-#include <gal/e-table/e-table-model.h>
-#include <gal/e-table/e-table-header.h>
-#include <gal/e-table/e-table-defines.h>
-#include <gal/e-table/e-table-tooltip.h>
-#include <gal/widgets/e-selection-model.h>
-#include <gal/widgets/e-printable.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_ITEM_TYPE (e_table_item_get_type ())
-#define E_TABLE_ITEM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_ITEM_TYPE, ETableItem))
-#define E_TABLE_ITEM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_ITEM_TYPE, ETableItemClass))
-#define E_IS_TABLE_ITEM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_ITEM_TYPE))
-#define E_IS_TABLE_ITEM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_ITEM_TYPE))
-
-typedef struct {
- GnomeCanvasItem parent;
- ETableModel *table_model;
- ETableHeader *header;
-
- ETableModel *source_model;
- ESelectionModel *selection;
-
- int x1, y1;
- int minimum_width, width, height;
-
- int cols, rows;
-
- int click_count;
-
- /*
- * Ids for the signals we connect to
- */
- int header_dim_change_id;
- int header_structure_change_id;
- int header_request_width_id;
- int table_model_pre_change_id;
- int table_model_no_change_id;
- int table_model_change_id;
- int table_model_row_change_id;
- int table_model_cell_change_id;
- int table_model_rows_inserted_id;
- int table_model_rows_deleted_id;
-
- int selection_change_id;
- int selection_row_change_id;
- int cursor_change_id;
- int cursor_activated_id;
-
- guint cursor_idle_id;
-
- /* View row, -1 means unknown */
- int old_cursor_row;
-
- int hadjustment_change_id;
- int hadjustment_value_change_id;
- int vadjustment_change_id;
- int vadjustment_value_change_id;
-
- GdkGC *fill_gc;
- GdkGC *grid_gc;
- GdkGC *focus_gc;
- GdkBitmap *stipple;
-
- guint alternating_row_colors:1;
- guint horizontal_draw_grid:1;
- guint vertical_draw_grid:1;
- guint draw_focus:1;
- guint uniform_row_height:1;
- guint cell_views_realized:1;
-
- guint needs_redraw : 1;
- guint needs_compute_height : 1;
- guint needs_compute_width : 1;
-
- guint uses_source_model : 1;
-
- guint in_key_press : 1;
-
- guint maybe_in_drag : 1;
- guint in_drag : 1;
- guint grabbed : 1;
-
- guint maybe_did_something : 1;
-
- guint cursor_on_screen : 1;
- guint gtk_grabbed : 1;
-
- guint queue_show_cursor : 1;
- guint grab_cancelled : 1;
-
- int frozen_count;
-
- int cursor_x1;
- int cursor_y1;
- int cursor_x2;
- int cursor_y2;
-
- int drag_col;
- int drag_row;
- int drag_x;
- int drag_y;
- guint drag_state;
-
- /*
- * Realized views, per column
- */
- ECellView **cell_views;
- int n_cells;
-
- int *height_cache;
- int uniform_row_height_cache;
- int height_cache_idle_id;
- int height_cache_idle_count;
-
- /*
- * Lengh Threshold: above this, we stop computing correctly
- * the size
- */
- int length_threshold;
-
- gint row_guess;
- ECursorMode cursor_mode;
-
- int motion_col, motion_row;
-
- /*
- * During editing
- */
- int editing_col, editing_row;
- void *edit_ctx;
-
- int save_col, save_row;
- void *save_state;
-
- int grabbed_col, grabbed_row;
- int grabbed_count;
-
- /*
- * Tooltip
- */
- ETableTooltip *tooltip;
-
-} ETableItem;
-
-typedef struct {
- GnomeCanvasItemClass parent_class;
-
- void (*cursor_change) (ETableItem *eti, int row);
- void (*cursor_activated) (ETableItem *eti, int row);
- void (*double_click) (ETableItem *eti, int row, int col, GdkEvent *event);
- gint (*right_click) (ETableItem *eti, int row, int col, GdkEvent *event);
- gint (*click) (ETableItem *eti, int row, int col, GdkEvent *event);
- gint (*key_press) (ETableItem *eti, int row, int col, GdkEvent *event);
- gint (*start_drag) (ETableItem *eti, int row, int col, GdkEvent *event);
- void (*style_set) (ETableItem *eti, GtkStyle *previous_style);
- void (*selection_model_removed) (ETableItem *eti, ESelectionModel *selection);
- void (*selection_model_added) (ETableItem *eti, ESelectionModel *selection);
-} ETableItemClass;
-GType e_table_item_get_type (void);
-
-
-/*
- * Focus
- */
-void e_table_item_set_cursor (ETableItem *eti,
- int col,
- int row);
-
-gint e_table_item_get_focused_column (ETableItem *eti);
-
-void e_table_item_leave_edit (ETableItem *eti);
-void e_table_item_enter_edit (ETableItem *eti,
- int col,
- int row);
-
-void e_table_item_redraw_range (ETableItem *eti,
- int start_col,
- int start_row,
- int end_col,
- int end_row);
-
-EPrintable *e_table_item_get_printable (ETableItem *eti);
-void e_table_item_compute_location (ETableItem *eti,
- int *x,
- int *y,
- int *row,
- int *col);
-void e_table_item_get_cell_geometry (ETableItem *eti,
- int *row,
- int *col,
- int *x,
- int *y,
- int *width,
- int *height);
-
-int e_table_item_row_diff (ETableItem *eti,
- int start_row,
- int end_row);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_ITEM_H_ */
diff --git a/widgets/table/e-table-memory-callbacks.c b/widgets/table/e-table-memory-callbacks.c
deleted file mode 100644
index 6cd1b9c8a1..0000000000
--- a/widgets/table/e-table-memory-callbacks.c
+++ /dev/null
@@ -1,208 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-memory-callbacks.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include "e-table-memory-callbacks.h"
-#include "gal/util/e-util.h"
-
-static int
-etmc_column_count (ETableModel *etm)
-{
- ETableMemoryCalbacks *etmc = E_TABLE_MEMORY_CALLBACKS(etm);
-
- if (etmc->col_count)
- return etmc->col_count (etm, etmc->data);
- else
- return 0;
-}
-
-static void *
-etmc_value_at (ETableModel *etm, int col, int row)
-{
- ETableMemoryCalbacks *etmc = E_TABLE_MEMORY_CALLBACKS(etm);
-
- if (etmc->value_at)
- return etmc->value_at (etm, col, row, etmc->data);
- else
- return NULL;
-}
-
-static void
-etmc_set_value_at (ETableModel *etm, int col, int row, const void *val)
-{
- ETableMemoryCalbacks *etmc = E_TABLE_MEMORY_CALLBACKS(etm);
-
- if (etmc->set_value_at)
- etmc->set_value_at (etm, col, row, val, etmc->data);
-}
-
-static gboolean
-etmc_is_cell_editable (ETableModel *etm, int col, int row)
-{
- ETableMemoryCalbacks *etmc = E_TABLE_MEMORY_CALLBACKS(etm);
-
- if (etmc->is_cell_editable)
- return etmc->is_cell_editable (etm, col, row, etmc->data);
- else
- return FALSE;
-}
-
-/* The default for etmc_duplicate_value is to return the raw value. */
-static void *
-etmc_duplicate_value (ETableModel *etm, int col, const void *value)
-{
- ETableMemoryCalbacks *etmc = E_TABLE_MEMORY_CALLBACKS(etm);
-
- if (etmc->duplicate_value)
- return etmc->duplicate_value (etm, col, value, etmc->data);
- else
- return (void *)value;
-}
-
-static void
-etmc_free_value (ETableModel *etm, int col, void *value)
-{
- ETableMemoryCalbacks *etmc = E_TABLE_MEMORY_CALLBACKS(etm);
-
- if (etmc->free_value)
- etmc->free_value (etm, col, value, etmc->data);
-}
-
-static void *
-etmc_initialize_value (ETableModel *etm, int col)
-{
- ETableMemoryCalbacks *etmc = E_TABLE_MEMORY_CALLBACKS(etm);
-
- if (etmc->initialize_value)
- return etmc->initialize_value (etm, col, etmc->data);
- else
- return NULL;
-}
-
-static gboolean
-etmc_value_is_empty (ETableModel *etm, int col, const void *value)
-{
- ETableMemoryCalbacks *etmc = E_TABLE_MEMORY_CALLBACKS(etm);
-
- if (etmc->value_is_empty)
- return etmc->value_is_empty (etm, col, value, etmc->data);
- else
- return FALSE;
-}
-
-static char *
-etmc_value_to_string (ETableModel *etm, int col, const void *value)
-{
- ETableMemoryCalbacks *etmc = E_TABLE_MEMORY_CALLBACKS(etm);
-
- if (etmc->value_to_string)
- return etmc->value_to_string (etm, col, value, etmc->data);
- else
- return g_strdup ("");
-}
-
-static void
-etmc_append_row (ETableModel *etm, ETableModel *source, int row)
-{
- ETableMemoryCalbacks *etmc = E_TABLE_MEMORY_CALLBACKS(etm);
-
- if (etmc->append_row)
- etmc->append_row (etm, source, row, etmc->data);
-}
-
-static void
-e_table_memory_callbacks_class_init (GObjectClass *object_class)
-{
- ETableModelClass *model_class = (ETableModelClass *) object_class;
-
- model_class->column_count = etmc_column_count;
- model_class->value_at = etmc_value_at;
- model_class->set_value_at = etmc_set_value_at;
- model_class->is_cell_editable = etmc_is_cell_editable;
- model_class->duplicate_value = etmc_duplicate_value;
- model_class->free_value = etmc_free_value;
- model_class->initialize_value = etmc_initialize_value;
- model_class->value_is_empty = etmc_value_is_empty;
- model_class->value_to_string = etmc_value_to_string;
- model_class->append_row = etmc_append_row;
-
-}
-
-E_MAKE_TYPE(e_table_memory_callbacks, "ETableMemoryCalbacks", ETableMemoryCalbacks, e_table_memory_callbacks_class_init, NULL, E_TABLE_MEMORY_TYPE)
-
-
-/**
- * e_table_memory_callbacks_new:
- * @col_count:
- * @value_at:
- * @set_value_at:
- * @is_cell_editable:
- * @duplicate_value:
- * @free_value:
- * @initialize_value:
- * @value_is_empty:
- * @value_to_string:
- * @data: closure pointer.
- *
- * This initializes a new ETableMemoryCalbacksModel object. ETableMemoryCalbacksModel is
- * an implementaiton of the abstract class ETableModel. The ETableMemoryCalbacksModel
- * is designed to allow people to easily create ETableModels without having
- * to create a new GtkType derived from ETableModel every time they need one.
- *
- * Instead, ETableMemoryCalbacksModel uses a setup based in callback functions, every
- * callback function signature mimics the signature of each ETableModel method
- * and passes the extra @data pointer to each one of the method to provide them
- * with any context they might want to use.
- *
- * Returns: An ETableMemoryCalbacksModel object (which is also an ETableModel
- * object).
- */
-ETableModel *
-e_table_memory_callbacks_new (ETableMemoryCalbacksColumnCountFn col_count,
- ETableMemoryCalbacksValueAtFn value_at,
- ETableMemoryCalbacksSetValueAtFn set_value_at,
- ETableMemoryCalbacksIsCellEditableFn is_cell_editable,
- ETableMemoryCalbacksDuplicateValueFn duplicate_value,
- ETableMemoryCalbacksFreeValueFn free_value,
- ETableMemoryCalbacksInitializeValueFn initialize_value,
- ETableMemoryCalbacksValueIsEmptyFn value_is_empty,
- ETableMemoryCalbacksValueToStringFn value_to_string,
- void *data)
-{
- ETableMemoryCalbacks *et;
-
- et = g_object_new (E_TABLE_MEMORY_CALLBACKS_TYPE, NULL);
-
- et->col_count = col_count;
- et->value_at = value_at;
- et->set_value_at = set_value_at;
- et->is_cell_editable = is_cell_editable;
- et->duplicate_value = duplicate_value;
- et->free_value = free_value;
- et->initialize_value = initialize_value;
- et->value_is_empty = value_is_empty;
- et->value_to_string = value_to_string;
- et->data = data;
-
- return (ETableModel *) et;
- }
diff --git a/widgets/table/e-table-memory-callbacks.h b/widgets/table/e-table-memory-callbacks.h
deleted file mode 100644
index 599ffa01f3..0000000000
--- a/widgets/table/e-table-memory-callbacks.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-memory-callbacks.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_MEMORY_CALLBACKS_H_
-#define _E_TABLE_MEMORY_CALLBACKS_H_
-
-#include <gal/e-table/e-table-memory.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_MEMORY_CALLBACKS_TYPE (e_table_memory_callbacks_get_type ())
-#define E_TABLE_MEMORY_CALLBACKS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_MEMORY_CALLBACKS_TYPE, ETableMemoryCalbacks))
-#define E_TABLE_MEMORY_CALLBACKS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_MEMORY_CALLBACKS_TYPE, ETableMemoryCalbacksClass))
-#define E_IS_TABLE_MEMORY_CALLBACKS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_MEMORY_CALLBACKS_TYPE))
-#define E_IS_TABLE_MEMORY_CALLBACKS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_MEMORY_CALLBACKS_TYPE))
-#define E_TABLE_MEMORY_CALLBACKS_GET_CLASS(k) (G_TYPE_INSTANCE_GET_CLASS((k), E_TABLE_MEMORY_CALLBACKS_TYPE, ETableMemoryCalbacksClass))
-
-typedef int (*ETableMemoryCalbacksColumnCountFn) (ETableModel *etm, void *data);
-typedef void (*ETableMemoryCalbacksAppendRowFn) (ETableModel *etm, ETableModel *model, int row, void *data);
-
-typedef void *(*ETableMemoryCalbacksValueAtFn) (ETableModel *etm, int col, int row, void *data);
-typedef void (*ETableMemoryCalbacksSetValueAtFn) (ETableModel *etm, int col, int row, const void *val, void *data);
-typedef gboolean (*ETableMemoryCalbacksIsCellEditableFn) (ETableModel *etm, int col, int row, void *data);
-
-typedef void *(*ETableMemoryCalbacksDuplicateValueFn) (ETableModel *etm, int col, const void *val, void *data);
-typedef void (*ETableMemoryCalbacksFreeValueFn) (ETableModel *etm, int col, void *val, void *data);
-typedef void *(*ETableMemoryCalbacksInitializeValueFn) (ETableModel *etm, int col, void *data);
-typedef gboolean (*ETableMemoryCalbacksValueIsEmptyFn) (ETableModel *etm, int col, const void *val, void *data);
-typedef char *(*ETableMemoryCalbacksValueToStringFn) (ETableModel *etm, int col, const void *val, void *data);
-
-typedef struct {
- ETableMemory parent;
-
- ETableMemoryCalbacksColumnCountFn col_count;
- ETableMemoryCalbacksAppendRowFn append_row;
-
- ETableMemoryCalbacksValueAtFn value_at;
- ETableMemoryCalbacksSetValueAtFn set_value_at;
- ETableMemoryCalbacksIsCellEditableFn is_cell_editable;
-
- ETableMemoryCalbacksDuplicateValueFn duplicate_value;
- ETableMemoryCalbacksFreeValueFn free_value;
- ETableMemoryCalbacksInitializeValueFn initialize_value;
- ETableMemoryCalbacksValueIsEmptyFn value_is_empty;
- ETableMemoryCalbacksValueToStringFn value_to_string;
- void *data;
-} ETableMemoryCalbacks;
-
-typedef struct {
- ETableMemoryClass parent_class;
-} ETableMemoryCalbacksClass;
-
-GType e_table_memory_callbacks_get_type (void);
-
-ETableModel *e_table_memory_callbacks_new (ETableMemoryCalbacksColumnCountFn col_count,
-
- ETableMemoryCalbacksValueAtFn value_at,
- ETableMemoryCalbacksSetValueAtFn set_value_at,
- ETableMemoryCalbacksIsCellEditableFn is_cell_editable,
-
- ETableMemoryCalbacksDuplicateValueFn duplicate_value,
- ETableMemoryCalbacksFreeValueFn free_value,
- ETableMemoryCalbacksInitializeValueFn initialize_value,
- ETableMemoryCalbacksValueIsEmptyFn value_is_empty,
- ETableMemoryCalbacksValueToStringFn value_to_string,
- void *data);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_MEMORY_CALLBACKS_H_ */
-
diff --git a/widgets/table/e-table-memory-store.c b/widgets/table/e-table-memory-store.c
deleted file mode 100644
index 69765b32ab..0000000000
--- a/widgets/table/e-table-memory-store.c
+++ /dev/null
@@ -1,583 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-memory-store.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <string.h>
-#include "e-table-memory-store.h"
-#include "gal/util/e-util.h"
-
-#define STORE_LOCATOR(etms, col, row) (*((etms)->priv->store + (row) * (etms)->priv->col_count + (col)))
-
-static ETableMemoryClass *parent_class;
-
-struct _ETableMemoryStorePrivate {
- int col_count;
- ETableMemoryStoreColumnInfo *columns;
- void **store;
-};
-
-static void *
-duplicate_value (ETableMemoryStore *etms, int col, const void *val)
-{
- switch (etms->priv->columns[col].type) {
- case E_TABLE_MEMORY_STORE_COLUMN_TYPE_STRING:
- return g_strdup (val);
- case E_TABLE_MEMORY_STORE_COLUMN_TYPE_PIXBUF:
- if (val)
- gdk_pixbuf_ref ((void *) val);
- return (void *) val;
- case E_TABLE_MEMORY_STORE_COLUMN_TYPE_OBJECT:
- if (val)
- g_object_ref ((void *) val);
- return (void *) val;
- case E_TABLE_MEMORY_STORE_COLUMN_TYPE_CUSTOM:
- if (etms->priv->columns[col].custom.duplicate_value)
- return etms->priv->columns[col].custom.duplicate_value (E_TABLE_MODEL (etms), col, val, NULL);
- break;
- default:
- break;
- }
- return (void *) val;
-}
-
-static void
-free_value (ETableMemoryStore *etms, int col, void *value)
-{
- switch (etms->priv->columns[col].type) {
- case E_TABLE_MEMORY_STORE_COLUMN_TYPE_STRING:
- g_free (value);
- break;
- case E_TABLE_MEMORY_STORE_COLUMN_TYPE_PIXBUF:
- if (value)
- gdk_pixbuf_unref (value);
- break;
- case E_TABLE_MEMORY_STORE_COLUMN_TYPE_OBJECT:
- if (value)
- g_object_unref (value);
- break;
- case E_TABLE_MEMORY_STORE_COLUMN_TYPE_CUSTOM:
- if (etms->priv->columns[col].custom.free_value)
- etms->priv->columns[col].custom.free_value (E_TABLE_MODEL (etms), col, value, NULL);
- break;
- default:
- break;
- }
-}
-
-
-static int
-etms_column_count (ETableModel *etm)
-{
- ETableMemoryStore *etms = E_TABLE_MEMORY_STORE(etm);
-
- return etms->priv->col_count;
-}
-
-static void *
-etms_value_at (ETableModel *etm, int col, int row)
-{
- ETableMemoryStore *etms = E_TABLE_MEMORY_STORE(etm);
-
- return STORE_LOCATOR (etms, col, row);
-}
-
-static void
-etms_set_value_at (ETableModel *etm, int col, int row, const void *val)
-{
- ETableMemoryStore *etms = E_TABLE_MEMORY_STORE(etm);
-
- e_table_model_pre_change (etm);
-
- STORE_LOCATOR (etms, col, row) = duplicate_value (etms, col, val);
-
- e_table_model_cell_changed (etm, col, row);
-}
-
-static gboolean
-etms_is_cell_editable (ETableModel *etm, int col, int row)
-{
- ETableMemoryStore *etms = E_TABLE_MEMORY_STORE(etm);
-
- return etms->priv->columns[col].editable;
-}
-
-/* The default for etms_duplicate_value is to return the raw value. */
-static void *
-etms_duplicate_value (ETableModel *etm, int col, const void *value)
-{
- ETableMemoryStore *etms = E_TABLE_MEMORY_STORE(etm);
-
- return duplicate_value (etms, col, value);
-}
-
-static void
-etms_free_value (ETableModel *etm, int col, void *value)
-{
- ETableMemoryStore *etms = E_TABLE_MEMORY_STORE(etm);
-
- free_value (etms, col, value);
-}
-
-static void *
-etms_initialize_value (ETableModel *etm, int col)
-{
- ETableMemoryStore *etms = E_TABLE_MEMORY_STORE(etm);
-
- switch (etms->priv->columns[col].type) {
- case E_TABLE_MEMORY_STORE_COLUMN_TYPE_STRING:
- return g_strdup ("");
- case E_TABLE_MEMORY_STORE_COLUMN_TYPE_PIXBUF:
- return NULL;
- case E_TABLE_MEMORY_STORE_COLUMN_TYPE_CUSTOM:
- case E_TABLE_MEMORY_STORE_COLUMN_TYPE_OBJECT:
- if (etms->priv->columns[col].custom.initialize_value)
- return etms->priv->columns[col].custom.initialize_value (E_TABLE_MODEL (etms), col, NULL);
- break;
- default:
- break;
- }
- return 0;
-}
-
-static gboolean
-etms_value_is_empty (ETableModel *etm, int col, const void *value)
-{
- ETableMemoryStore *etms = E_TABLE_MEMORY_STORE(etm);
-
- switch (etms->priv->columns[col].type) {
- case E_TABLE_MEMORY_STORE_COLUMN_TYPE_STRING:
- return !(value && *(char *) value);
- case E_TABLE_MEMORY_STORE_COLUMN_TYPE_PIXBUF:
- return value == NULL;
- case E_TABLE_MEMORY_STORE_COLUMN_TYPE_CUSTOM:
- case E_TABLE_MEMORY_STORE_COLUMN_TYPE_OBJECT:
- if (etms->priv->columns[col].custom.value_is_empty)
- return etms->priv->columns[col].custom.value_is_empty (E_TABLE_MODEL (etms), col, value, NULL);
- break;
- default:
- break;
- }
- return value == 0;
-}
-
-static char *
-etms_value_to_string (ETableModel *etm, int col, const void *value)
-{
- ETableMemoryStore *etms = E_TABLE_MEMORY_STORE(etm);
-
- switch (etms->priv->columns[col].type) {
- case E_TABLE_MEMORY_STORE_COLUMN_TYPE_STRING:
- return g_strdup (value);
- case E_TABLE_MEMORY_STORE_COLUMN_TYPE_PIXBUF:
- return g_strdup ("");
- case E_TABLE_MEMORY_STORE_COLUMN_TYPE_CUSTOM:
- case E_TABLE_MEMORY_STORE_COLUMN_TYPE_OBJECT:
- if (etms->priv->columns[col].custom.value_is_empty)
- return etms->priv->columns[col].custom.value_to_string (E_TABLE_MODEL (etms), col, value, NULL);
- break;
- default:
- break;
- }
- return g_strdup_printf ("%d", GPOINTER_TO_INT (value));
-}
-
-static void
-etms_append_row (ETableModel *etm, ETableModel *source, int row)
-{
- ETableMemoryStore *etms = E_TABLE_MEMORY_STORE(etm);
- void **new_data;
- int i;
- int row_count;
-
- new_data = g_new (void *, etms->priv->col_count);
-
- for (i = 0; i < etms->priv->col_count; i++) {
- new_data[i] = e_table_model_value_at (source, i, row);
- }
-
- row_count = e_table_model_row_count (E_TABLE_MODEL (etms));
-
- e_table_memory_store_insert_array (etms, row_count, new_data, NULL);
-}
-
-static void
-etms_finalize (GObject *obj)
-{
- ETableMemoryStore *etms = (ETableMemoryStore *) obj;
-
- if (etms->priv) {
- e_table_memory_store_clear (etms);
-
- g_free (etms->priv->columns);
- g_free (etms->priv->store);
- g_free (etms->priv);
- }
-
- if (G_OBJECT_CLASS (parent_class)->finalize)
- G_OBJECT_CLASS (parent_class)->finalize (obj);
-}
-
-static void
-e_table_memory_store_init (ETableMemoryStore *etms)
-{
- etms->priv = g_new (ETableMemoryStorePrivate, 1);
-
- etms->priv->col_count = 0;
- etms->priv->columns = NULL;
- etms->priv->store = NULL;
-}
-
-static void
-e_table_memory_store_class_init (GObjectClass *object_class)
-{
- ETableModelClass *model_class = (ETableModelClass *) object_class;
-
- parent_class = g_type_class_peek_parent (object_class);
-
- object_class->finalize = etms_finalize;
-
- model_class->column_count = etms_column_count;
- model_class->value_at = etms_value_at;
- model_class->set_value_at = etms_set_value_at;
- model_class->is_cell_editable = etms_is_cell_editable;
- model_class->duplicate_value = etms_duplicate_value;
- model_class->free_value = etms_free_value;
- model_class->initialize_value = etms_initialize_value;
- model_class->value_is_empty = etms_value_is_empty;
- model_class->value_to_string = etms_value_to_string;
- model_class->append_row = etms_append_row;
-}
-
-E_MAKE_TYPE(e_table_memory_store, "ETableMemoryStore", ETableMemoryStore, e_table_memory_store_class_init, e_table_memory_store_init, E_TABLE_MEMORY_TYPE)
-
-/**
- * e_table_memory_store_new:
- * @col_count:
- * @value_at:
- * @set_value_at:
- * @is_cell_editable:
- * @duplicate_value:
- * @free_value:
- * @initialize_value:
- * @value_is_empty:
- * @value_to_string:
- * @data: closure pointer.
- *
- * This initializes a new ETableMemoryStoreModel object. ETableMemoryStoreModel is
- * an implementaiton of the abstract class ETableModel. The ETableMemoryStoreModel
- * is designed to allow people to easily create ETableModels without having
- * to create a new GtkType derived from ETableModel every time they need one.
- *
- * Instead, ETableMemoryStoreModel uses a setup based in callback functions, every
- * callback function signature mimics the signature of each ETableModel method
- * and passes the extra @data pointer to each one of the method to provide them
- * with any context they might want to use.
- *
- * Returns: An ETableMemoryStoreModel object (which is also an ETableModel
- * object).
- */
-ETableModel *
-e_table_memory_store_new (ETableMemoryStoreColumnInfo *columns)
-{
- ETableMemoryStore *et = g_object_new (E_TABLE_MEMORY_STORE_TYPE, NULL);
-
- if (e_table_memory_store_construct (et, columns)) {
- return (ETableModel *) et;
- } else {
- g_object_unref (et);
- return NULL;
- }
-}
-
-ETableModel *
-e_table_memory_store_construct (ETableMemoryStore *etms, ETableMemoryStoreColumnInfo *columns)
-{
- int i;
- for (i = 0; columns[i].type != E_TABLE_MEMORY_STORE_COLUMN_TYPE_TERMINATOR; i++)
- /* Intentionally blank */;
- etms->priv->col_count = i;
-
- etms->priv->columns = g_new (ETableMemoryStoreColumnInfo, etms->priv->col_count + 1);
-
- memcpy (etms->priv->columns, columns, (etms->priv->col_count + 1) * sizeof (ETableMemoryStoreColumnInfo));
-
- return E_TABLE_MODEL (etms);
-}
-
-
-void
-e_table_memory_store_adopt_value_at (ETableMemoryStore *etms, int col, int row, void *value)
-{
- e_table_model_pre_change (E_TABLE_MODEL (etms));
-
- STORE_LOCATOR (etms, col, row) = value;
-
- e_table_model_cell_changed (E_TABLE_MODEL (etms), col, row);
-}
-
-/* The size of these arrays is the number of columns. */
-void
-e_table_memory_store_insert_array (ETableMemoryStore *etms, int row, void **store, gpointer data)
-{
- int row_count;
- int i;
-
- row_count = e_table_model_row_count (E_TABLE_MODEL (etms)) + 1;
- if (row == -1)
- row = row_count - 1;
- etms->priv->store = g_realloc (etms->priv->store, etms->priv->col_count * row_count * sizeof (void *));
- memmove (etms->priv->store + etms->priv->col_count * (row + 1),
- etms->priv->store + etms->priv->col_count * row,
- etms->priv->col_count * (row_count - row - 1) * sizeof (void *));
-
- for (i = 0; i < etms->priv->col_count; i++) {
- STORE_LOCATOR(etms, i, row) = duplicate_value(etms, i, store[i]);
- }
-
- e_table_memory_insert (E_TABLE_MEMORY (etms), row, data);
-}
-
-void
-e_table_memory_store_insert (ETableMemoryStore *etms, int row, gpointer data, ...)
-{
- void **store;
- va_list args;
- int i;
-
- store = g_new (void *, etms->priv->col_count + 1);
-
- va_start (args, data);
- for (i = 0; i < etms->priv->col_count; i++) {
- store[i] = va_arg (args, void *);
- }
- va_end (args);
-
- e_table_memory_store_insert_array (etms, row, store, data);
-
- g_free (store);
-}
-
-void
-e_table_memory_store_insert_adopt_array (ETableMemoryStore *etms, int row, void **store, gpointer data)
-{
- int row_count;
- int i;
-
- row_count = e_table_model_row_count (E_TABLE_MODEL (etms)) + 1;
- if (row == -1)
- row = row_count - 1;
- etms->priv->store = g_realloc (etms->priv->store, etms->priv->col_count * row_count * sizeof (void *));
- memmove (etms->priv->store + etms->priv->col_count * (row + 1),
- etms->priv->store + etms->priv->col_count * row,
- etms->priv->col_count * (row_count - row - 1) * sizeof (void *));
-
- for (i = 0; i < etms->priv->col_count; i++) {
- STORE_LOCATOR(etms, i, row) = store[i];
- }
-
- e_table_memory_insert (E_TABLE_MEMORY (etms), row, data);
-}
-
-void
-e_table_memory_store_insert_adopt (ETableMemoryStore *etms, int row, gpointer data, ...)
-{
- void **store;
- va_list args;
- int i;
-
- store = g_new (void *, etms->priv->col_count + 1);
-
- va_start (args, data);
- for (i = 0; i < etms->priv->col_count; i++) {
- store[i] = va_arg (args, void *);
- }
- va_end (args);
-
- e_table_memory_store_insert_adopt_array (etms, row, store, data);
-
- g_free (store);
-}
-
-/**
- * e_table_memory_store_change_array:
- * @etms: the ETabelMemoryStore.
- * @row: the row we're changing.
- * @store: an array of new values to fill the row
- * @data: the new closure to associate with this row.
- *
- * frees existing values associated with a row and replaces them with
- * duplicates of the values in store.
- *
- */
-void
-e_table_memory_store_change_array (ETableMemoryStore *etms, int row, void **store, gpointer data)
-{
- int i;
-
- g_return_if_fail (row >= 0 && row < e_table_model_row_count (E_TABLE_MODEL (etms)));
-
- e_table_model_pre_change (E_TABLE_MODEL (etms));
-
- for (i = 0; i < etms->priv->col_count; i++) {
- free_value (etms, i, STORE_LOCATOR(etms, i, row));
- STORE_LOCATOR(etms, i, row) = duplicate_value(etms, i, store[i]);
- }
-
- e_table_memory_set_data (E_TABLE_MEMORY (etms), row, data);
- e_table_model_row_changed (E_TABLE_MODEL (etms), row);
-}
-
-/**
- * e_table_memory_store_change:
- * @etms: the ETabelMemoryStore.
- * @row: the row we're changing.
- * @data: the new closure to associate with this row.
- *
- * a varargs version of e_table_memory_store_change_array. you must
- * pass in etms->col_count args.
- */
-void
-e_table_memory_store_change (ETableMemoryStore *etms, int row, gpointer data, ...)
-{
- void **store;
- va_list args;
- int i;
-
- g_return_if_fail (row >= 0 && row < e_table_model_row_count (E_TABLE_MODEL (etms)));
-
- store = g_new0 (void *, etms->priv->col_count + 1);
-
- va_start (args, data);
- for (i = 0; i < etms->priv->col_count; i++) {
- store[i] = va_arg (args, void *);
- }
- va_end (args);
-
- e_table_memory_store_change_array (etms, row, store, data);
-
- g_free (store);
-}
-
-/**
- * e_table_memory_store_change_adopt_array:
- * @etms: the ETableMemoryStore
- * @row: the row we're changing.
- * @store: an array of new values to fill the row
- * @data: the new closure to associate with this row.
- *
- * frees existing values for the row and stores the values from store
- * into it. This function differs from
- * e_table_memory_storage_change_adopt_array in that it does not
- * duplicate the data.
- */
-void
-e_table_memory_store_change_adopt_array (ETableMemoryStore *etms, int row, void **store, gpointer data)
-{
- int i;
-
- g_return_if_fail (row >= 0 && row < e_table_model_row_count (E_TABLE_MODEL (etms)));
-
- for (i = 0; i < etms->priv->col_count; i++) {
- free_value (etms, i, STORE_LOCATOR(etms, i, row));
- STORE_LOCATOR(etms, i, row) = store[i];
- }
-
- e_table_memory_set_data (E_TABLE_MEMORY (etms), row, data);
- e_table_model_row_changed (E_TABLE_MODEL (etms), row);
-}
-
-/**
- * e_table_memory_store_change_adopt
- * @etms: the ETabelMemoryStore.
- * @row: the row we're changing.
- * @data: the new closure to associate with this row.
- *
- * a varargs version of e_table_memory_store_change_adopt_array. you
- * must pass in etms->col_count args.
- */
-void
-e_table_memory_store_change_adopt (ETableMemoryStore *etms, int row, gpointer data, ...)
-{
- void **store;
- va_list args;
- int i;
-
- g_return_if_fail (row >= 0 && row < e_table_model_row_count (E_TABLE_MODEL (etms)));
-
- store = g_new0 (void *, etms->priv->col_count + 1);
-
- va_start (args, data);
- for (i = 0; i < etms->priv->col_count; i++) {
- store[i] = va_arg (args, void *);
- }
- va_end (args);
-
- e_table_memory_store_change_adopt_array (etms, row, store, data);
-
- g_free (store);
-}
-
-void
-e_table_memory_store_remove (ETableMemoryStore *etms, int row)
-{
- ETableModel *model;
- int column_count, row_count;
- int i;
-
- model = E_TABLE_MODEL (etms);
- column_count = e_table_model_column_count (model);
-
- for (i = 0; i < column_count; i ++)
- e_table_model_free_value (model, i, e_table_model_value_at (model, i, row));
-
- row_count = e_table_model_row_count (E_TABLE_MODEL (etms)) - 1;
- memmove (etms->priv->store + etms->priv->col_count * row,
- etms->priv->store + etms->priv->col_count * (row + 1),
- etms->priv->col_count * (row_count - row) * sizeof (void *));
- etms->priv->store = g_realloc (etms->priv->store, etms->priv->col_count * row_count * sizeof (void *));
-
- e_table_memory_remove (E_TABLE_MEMORY (etms), row);
-}
-
-void
-e_table_memory_store_clear (ETableMemoryStore *etms)
-{
- ETableModel *model;
- int row_count, column_count;
- int i, j;
-
- model = E_TABLE_MODEL (etms);
- row_count = e_table_model_row_count (model);
- column_count = e_table_model_column_count (model);
-
- for (i = 0; i < row_count; i ++) {
- for (j = 0; j < column_count; j ++) {
- e_table_model_free_value (model, j, e_table_model_value_at (model, j, i));
- }
- }
-
- e_table_memory_clear (E_TABLE_MEMORY (etms));
-
- g_free (etms->priv->store);
- etms->priv->store = NULL;
-}
diff --git a/widgets/table/e-table-memory-store.h b/widgets/table/e-table-memory-store.h
deleted file mode 100644
index 54306da236..0000000000
--- a/widgets/table/e-table-memory-store.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-memory-store.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_MEMORY_STORE_H_
-#define _E_TABLE_MEMORY_STORE_H_
-
-#include <gal/e-table/e-table-memory.h>
-#include <gal/e-table/e-table-memory-callbacks.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_MEMORY_STORE_TYPE (e_table_memory_store_get_type ())
-#define E_TABLE_MEMORY_STORE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_MEMORY_STORE_TYPE, ETableMemoryStore))
-#define E_TABLE_MEMORY_STORE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_MEMORY_STORE_TYPE, ETableMemoryStoreClass))
-#define E_IS_TABLE_MEMORY_STORE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_MEMORY_STORE_TYPE))
-#define E_IS_TABLE_MEMORY_STORE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_MEMORY_STORE_TYPE))
-#define E_TABLE_MEMORY_STORE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((obj), E_TABLE_MEMORY_STORE_TYPE, ETableMemoryStoreClass))
-
-typedef enum {
- E_TABLE_MEMORY_STORE_COLUMN_TYPE_TERMINATOR,
- E_TABLE_MEMORY_STORE_COLUMN_TYPE_INTEGER,
- E_TABLE_MEMORY_STORE_COLUMN_TYPE_STRING,
- E_TABLE_MEMORY_STORE_COLUMN_TYPE_PIXBUF,
- E_TABLE_MEMORY_STORE_COLUMN_TYPE_OBJECT,
- E_TABLE_MEMORY_STORE_COLUMN_TYPE_CUSTOM
-} ETableMemoryStoreColumnType;
-
-typedef struct {
- ETableMemoryCalbacksDuplicateValueFn duplicate_value;
- ETableMemoryCalbacksFreeValueFn free_value;
- ETableMemoryCalbacksInitializeValueFn initialize_value;
- ETableMemoryCalbacksValueIsEmptyFn value_is_empty;
- ETableMemoryCalbacksValueToStringFn value_to_string;
-} ETableMemoryStoreCustomColumn;
-
-typedef struct {
- ETableMemoryStoreColumnType type;
- ETableMemoryStoreCustomColumn custom;
- guint editable : 1;
-} ETableMemoryStoreColumnInfo;
-
-#define E_TABLE_MEMORY_STORE_TERMINATOR { E_TABLE_MEMORY_STORE_COLUMN_TYPE_TERMINATOR, { NULL }, FALSE }
-#define E_TABLE_MEMORY_STORE_INTEGER { E_TABLE_MEMORY_STORE_COLUMN_TYPE_INTEGER, { NULL }, FALSE }
-#define E_TABLE_MEMORY_STORE_STRING { E_TABLE_MEMORY_STORE_COLUMN_TYPE_STRING, { NULL }, FALSE }
-#define E_TABLE_MEMORY_STORE_PIXBUF { E_TABLE_MEMORY_STORE_COLUMN_TYPE_PIXBUF, { NULL }, FALSE }
-#define E_TABLE_MEMORY_STORE_EDITABLE_STRING { E_TABLE_MEMORY_STORE_COLUMN_TYPE_STRING, { NULL }, TRUE }
-#define E_TABLE_MEMORY_STORE_CUSTOM(editable, duplicate, free, initialize, empty, string) \
- { E_TABLE_MEMORY_STORE_COLUMN_TYPE_CUSTOM, \
- { (duplicate), (free), (initialize), (empty), (string) }, editable }
-#define E_TABLE_MEMORY_STORE_OBJECT(editable, initialize, empty, string) \
- { E_TABLE_MEMORY_STORE_COLUMN_TYPE_CUSTOM, \
- { NULL, NULL, (initialize), (empty), (string) }, editable }
-
-typedef struct _ETableMemoryStorePrivate ETableMemoryStorePrivate;
-
-typedef struct {
- ETableMemory parent;
-
- ETableMemoryStorePrivate *priv;
-} ETableMemoryStore;
-
-typedef struct {
- ETableMemoryClass parent_class;
-} ETableMemoryStoreClass;
-
-GType e_table_memory_store_get_type (void);
-
-/* Object Creation */
-ETableModel *e_table_memory_store_new (ETableMemoryStoreColumnInfo *columns);
-ETableModel *e_table_memory_store_construct (ETableMemoryStore *store,
- ETableMemoryStoreColumnInfo *columns);
-
-/* Adopt a value instead of copying it. */
-void e_table_memory_store_adopt_value_at (ETableMemoryStore *etms,
- int col,
- int row,
- void *value);
-
-/* The size of these arrays is the number of columns. */
-void e_table_memory_store_insert_array (ETableMemoryStore *etms,
- int row,
- void **store,
- gpointer data);
-void e_table_memory_store_insert (ETableMemoryStore *etms,
- int row,
- gpointer data,
- ...);
-void e_table_memory_store_insert_adopt (ETableMemoryStore *etms,
- int row,
- gpointer data,
- ...);
-void e_table_memory_store_insert_adopt_array (ETableMemoryStore *etms,
- int row,
- void **store,
- gpointer data);
-void e_table_memory_store_change_array (ETableMemoryStore *etms,
- int row,
- void **store,
- gpointer data);
-void e_table_memory_store_change (ETableMemoryStore *etms,
- int row,
- gpointer data,
- ...);
-void e_table_memory_store_change_adopt (ETableMemoryStore *etms,
- int row,
- gpointer data,
- ...);
-void e_table_memory_store_change_adopt_array (ETableMemoryStore *etms,
- int row,
- void **store,
- gpointer data);
-void e_table_memory_store_remove (ETableMemoryStore *etms,
- int row);
-void e_table_memory_store_clear (ETableMemoryStore *etms);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_MEMORY_STORE_H_ */
diff --git a/widgets/table/e-table-memory.c b/widgets/table/e-table-memory.c
deleted file mode 100644
index 7d9958bbd6..0000000000
--- a/widgets/table/e-table-memory.c
+++ /dev/null
@@ -1,277 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-memory.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-
-#include "e-table-memory.h"
-
-#include <stdio.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <fcntl.h>
-
-#include <libxml/parser.h>
-#include <libxml/xmlmemory.h>
-
-#include "gal/util/e-util.h"
-#include "gal/util/e-xml-utils.h"
-#include <string.h>
-
-static ETableModel *parent_class;
-
-struct ETableMemoryPriv {
- gpointer *data;
- int num_rows;
- gint frozen;
-};
-
-
-/* virtual methods */
-
-static void
-etmm_finalize (GObject *object)
-{
- ETableMemory *etmm = E_TABLE_MEMORY (object);
- ETableMemoryPriv *priv = etmm->priv;
-
- /* XXX lots of stuff to free here */
- if (priv) {
- g_free (priv->data);
- g_free (priv);
- }
- etmm->priv = NULL;
-
- G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-static int
-etmm_row_count (ETableModel *etm)
-{
- ETableMemory *etmm = E_TABLE_MEMORY (etm);
-
- return etmm->priv->num_rows;
-}
-
-
-static void
-e_table_memory_class_init (GObjectClass *klass)
-{
- ETableModelClass *table_class = (ETableModelClass *) klass;
-
- parent_class = g_type_class_peek_parent (klass);
-
- klass->finalize = etmm_finalize;
-
- table_class->row_count = etmm_row_count;
-}
-
-static void
-e_table_memory_init (GObject *object)
-{
- ETableMemory *etmm = (ETableMemory *)object;
-
- ETableMemoryPriv *priv;
-
- priv = g_new0 (ETableMemoryPriv, 1);
- etmm->priv = priv;
-
- priv->data = NULL;
- priv->num_rows = 0;
- priv->frozen = 0;
-}
-
-E_MAKE_TYPE(e_table_memory, "ETableMemory", ETableMemory, e_table_memory_class_init, e_table_memory_init, E_TABLE_MODEL_TYPE)
-
-
-
-/**
- * e_table_memory_new
- *
- * XXX docs here.
- *
- * return values: a newly constructed ETableMemory.
- */
-ETableMemory *
-e_table_memory_new (void)
-{
- return g_object_new (E_TABLE_MEMORY_TYPE, NULL);
-}
-
-/**
- * e_table_memory_get_data:
- * @etmm:
- * @row:
- *
- *
- *
- * Return value:
- **/
-gpointer
-e_table_memory_get_data (ETableMemory *etmm, int row)
-{
- g_return_val_if_fail(row >= 0, NULL);
- g_return_val_if_fail(row < etmm->priv->num_rows, NULL);
-
- return etmm->priv->data[row];
-}
-
-/**
- * e_table_memory_set_data:
- * @etmm:
- * @row:
- * @data:
- *
- *
- **/
-void
-e_table_memory_set_data (ETableMemory *etmm, int row, gpointer data)
-{
- g_return_if_fail(row >= 0);
- g_return_if_fail(row < etmm->priv->num_rows);
-
- etmm->priv->data[row] = data;
-}
-
-/**
- * e_table_memory_insert:
- * @table_model:
- * @parent_path:
- * @position:
- * @data:
- *
- *
- *
- * Return value:
- **/
-void
-e_table_memory_insert (ETableMemory *etmm,
- int row,
- gpointer data)
-{
- g_return_if_fail(row >= -1);
- g_return_if_fail(row <= etmm->priv->num_rows);
-
- if (!etmm->priv->frozen)
- e_table_model_pre_change(E_TABLE_MODEL(etmm));
-
- if (row == -1)
- row = etmm->priv->num_rows;
- etmm->priv->data = g_renew(gpointer, etmm->priv->data, etmm->priv->num_rows + 1);
- memmove(etmm->priv->data + row + 1, etmm->priv->data + row, (etmm->priv->num_rows - row) * sizeof (gpointer));
- etmm->priv->data[row] = data;
- etmm->priv->num_rows ++;
- if (!etmm->priv->frozen)
- e_table_model_row_inserted(E_TABLE_MODEL(etmm), row);
-}
-
-
-
-/**
- * e_table_memory_remove:
- * @etable:
- * @path:
- *
- *
- *
- * Return value:
- **/
-gpointer
-e_table_memory_remove (ETableMemory *etmm, int row)
-{
- gpointer ret;
-
- g_return_val_if_fail(row >= 0, NULL);
- g_return_val_if_fail(row < etmm->priv->num_rows, NULL);
-
- if (!etmm->priv->frozen)
- e_table_model_pre_change(E_TABLE_MODEL(etmm));
- ret = etmm->priv->data[row];
- memmove(etmm->priv->data + row, etmm->priv->data + row + 1, (etmm->priv->num_rows - row - 1) * sizeof (gpointer));
- etmm->priv->num_rows --;
- if (!etmm->priv->frozen)
- e_table_model_row_deleted(E_TABLE_MODEL(etmm), row);
- return ret;
-}
-
-/**
- * e_table_memory_clear:
- * @etable:
- * @path:
- *
- *
- *
- * Return value:
- **/
-void
-e_table_memory_clear (ETableMemory *etmm)
-{
- if (!etmm->priv->frozen)
- e_table_model_pre_change(E_TABLE_MODEL(etmm));
- g_free(etmm->priv->data);
- etmm->priv->data = NULL;
- etmm->priv->num_rows = 0;
- if (!etmm->priv->frozen)
- e_table_model_changed(E_TABLE_MODEL(etmm));
-}
-
-/**
- * e_table_memory_freeze:
- * @etmm: the ETableModel to freeze.
- *
- * This function prepares an ETableModel for a period of much change.
- * All signals regarding changes to the table are deferred until we
- * thaw the table.
- *
- **/
-void
-e_table_memory_freeze(ETableMemory *etmm)
-{
- ETableMemoryPriv *priv = etmm->priv;
-
- if (priv->frozen == 0)
- e_table_model_pre_change(E_TABLE_MODEL(etmm));
-
- priv->frozen ++;
-}
-
-/**
- * e_table_memory_thaw:
- * @etmm: the ETableMemory to thaw.
- *
- * This function thaws an ETableMemory. All the defered signals can add
- * up to a lot, we don't know - so we just emit a model_changed
- * signal.
- *
- **/
-void
-e_table_memory_thaw(ETableMemory *etmm)
-{
- ETableMemoryPriv *priv = etmm->priv;
-
- if (priv->frozen > 0)
- priv->frozen --;
- if (priv->frozen == 0) {
- e_table_model_changed(E_TABLE_MODEL(etmm));
- }
-}
diff --git a/widgets/table/e-table-memory.h b/widgets/table/e-table-memory.h
deleted file mode 100644
index c1b3cd45f8..0000000000
--- a/widgets/table/e-table-memory.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-memory.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_MEMORY_H_
-#define _E_TABLE_MEMORY_H_
-
-#include <gdk-pixbuf/gdk-pixbuf.h>
-#include <gal/e-table/e-table-model.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_MEMORY_TYPE (e_table_memory_get_type ())
-#define E_TABLE_MEMORY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_MEMORY_TYPE, ETableMemory))
-#define E_TABLE_MEMORY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_MEMORY_TYPE, ETableMemoryClass))
-#define E_IS_TABLE_MEMORY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_MEMORY_TYPE))
-#define E_IS_TABLE_MEMORY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_MEMORY_TYPE))
-#define E_TABLE_MEMORY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), E_TABLE_MEMORY_TYPE, ETableMemoryClass))
-
-typedef struct ETableMemory ETableMemory;
-typedef struct ETableMemoryPriv ETableMemoryPriv;
-typedef struct ETableMemoryClass ETableMemoryClass;
-
-struct ETableMemory {
- ETableModel base;
- ETableMemoryPriv *priv;
-};
-
-struct ETableMemoryClass {
- ETableModelClass parent_class;
-};
-
-
-GType e_table_memory_get_type (void);
-void e_table_memory_construct (ETableMemory *etable);
-ETableMemory *e_table_memory_new (void);
-
-/* row operations */
-void e_table_memory_insert (ETableMemory *etable,
- int row,
- gpointer data);
-gpointer e_table_memory_remove (ETableMemory *etable,
- int row);
-void e_table_memory_clear (ETableMemory *etable);
-
-/* Freeze and thaw */
-void e_table_memory_freeze (ETableMemory *etable);
-void e_table_memory_thaw (ETableMemory *etable);
-gpointer e_table_memory_get_data (ETableMemory *etm,
- int row);
-void e_table_memory_set_data (ETableMemory *etm,
- int row,
- gpointer data);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_MEMORY_H */
diff --git a/widgets/table/e-table-model.c b/widgets/table/e-table-model.c
deleted file mode 100644
index 67c443c8c6..0000000000
--- a/widgets/table/e-table-model.c
+++ /dev/null
@@ -1,616 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-model.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <glib-object.h>
-#include "e-table-model.h"
-#include "gal/util/e-util.h"
-#include "gal/util/e-marshal.h"
-
-#define ETM_CLASS(e) (E_TABLE_MODEL_GET_CLASS (e))
-#define ETM_FROZEN(e) (GPOINTER_TO_INT (g_object_get_data (G_OBJECT(e), "frozen")) != 0)
-
-#define d(x)
-
-d(static gint depth = 0;)
-
-
-static GObjectClass *e_table_model_parent_class;
-
-enum {
- MODEL_NO_CHANGE,
- MODEL_CHANGED,
- MODEL_PRE_CHANGE,
- MODEL_ROW_CHANGED,
- MODEL_CELL_CHANGED,
- MODEL_ROWS_INSERTED,
- MODEL_ROWS_DELETED,
- ROW_SELECTION,
- LAST_SIGNAL
-};
-
-static guint e_table_model_signals [LAST_SIGNAL] = { 0, };
-
-/**
- * e_table_model_column_count:
- * @e_table_model: The e-table-model to operate on
- *
- * Returns: the number of columns in the table model.
- */
-int
-e_table_model_column_count (ETableModel *e_table_model)
-{
- g_return_val_if_fail (e_table_model != NULL, 0);
- g_return_val_if_fail (E_IS_TABLE_MODEL (e_table_model), 0);
-
- return ETM_CLASS (e_table_model)->column_count (e_table_model);
-}
-
-
-/**
- * e_table_model_row_count:
- * @e_table_model: the e-table-model to operate on
- *
- * Returns: the number of rows in the Table model.
- */
-int
-e_table_model_row_count (ETableModel *e_table_model)
-{
- g_return_val_if_fail (e_table_model != NULL, 0);
- g_return_val_if_fail (E_IS_TABLE_MODEL (e_table_model), 0);
-
- return ETM_CLASS (e_table_model)->row_count (e_table_model);
-}
-
-/**
- * e_table_model_append_row:
- * @e_table_model: the table model to append the a row to.
- * @source:
- * @row:
- *
- */
-void
-e_table_model_append_row (ETableModel *e_table_model, ETableModel *source, int row)
-{
- g_return_if_fail (e_table_model != NULL);
- g_return_if_fail (E_IS_TABLE_MODEL (e_table_model));
-
- if (ETM_CLASS (e_table_model)->append_row)
- ETM_CLASS (e_table_model)->append_row (e_table_model, source, row);
-}
-
-/**
- * e_table_value_at:
- * @e_table_model: the e-table-model to operate on
- * @col: column in the model to pull data from.
- * @row: row in the model to pull data from.
- *
- * Return value: This function returns the value that is stored
- * by the @e_table_model in column @col and row @row. The data
- * returned can be a pointer or any data value that can be stored
- * inside a pointer.
- *
- * The data returned is typically used by an ECell renderer.
- *
- * The data returned must be valid until the model sends a signal that
- * affect that piece of data. model_changed affects all data.
- * row_changed affects the data in that row. cell_changed affects the
- * data in that cell. rows_deleted affects all data in those rows.
- * rows_inserted and no_change don't affect any data in this way.
- **/
-void *
-e_table_model_value_at (ETableModel *e_table_model, int col, int row)
-{
- g_return_val_if_fail (e_table_model != NULL, NULL);
- g_return_val_if_fail (E_IS_TABLE_MODEL (e_table_model), NULL);
-
- return ETM_CLASS (e_table_model)->value_at (e_table_model, col, row);
-}
-
-/**
- * e_table_model_set_value_at:
- * @e_table_model: the table model to operate on.
- * @col: the column where the data will be stored in the model.
- * @row: the row where the data will be stored in the model.
- * @value: the data to be stored.
- *
- * This function instructs the model to store the value in @data in the
- * the @e_table_model at column @col and row @row. The @data typically
- * comes from one of the ECell rendering objects.
- *
- * There should be an agreement between the Table Model and the user
- * of this function about the data being stored. Typically it will
- * be a pointer to a set of data, or a datum that fits inside a void *.
- */
-void
-e_table_model_set_value_at (ETableModel *e_table_model, int col, int row, const void *value)
-{
- g_return_if_fail (e_table_model != NULL);
- g_return_if_fail (E_IS_TABLE_MODEL (e_table_model));
-
- ETM_CLASS (e_table_model)->set_value_at (e_table_model, col, row, value);
-}
-
-/**
- * e_table_model_is_cell_editable:
- * @e_table_model: the table model to query.
- * @col: column to query.
- * @row: row to query.
- *
- * Returns: %TRUE if the cell in @e_table_model at @col,@row can be
- * edited, %FALSE otherwise
- */
-gboolean
-e_table_model_is_cell_editable (ETableModel *e_table_model, int col, int row)
-{
- g_return_val_if_fail (e_table_model != NULL, FALSE);
- g_return_val_if_fail (E_IS_TABLE_MODEL (e_table_model), FALSE);
-
- return ETM_CLASS (e_table_model)->is_cell_editable (e_table_model, col, row);
-}
-
-
-void *
-e_table_model_duplicate_value (ETableModel *e_table_model, int col, const void *value)
-{
- g_return_val_if_fail (e_table_model != NULL, NULL);
- g_return_val_if_fail (E_IS_TABLE_MODEL (e_table_model), NULL);
-
- if (ETM_CLASS (e_table_model)->duplicate_value)
- return ETM_CLASS (e_table_model)->duplicate_value (e_table_model, col, value);
- else
- return NULL;
-}
-
-void
-e_table_model_free_value (ETableModel *e_table_model, int col, void *value)
-{
- g_return_if_fail (e_table_model != NULL);
- g_return_if_fail (E_IS_TABLE_MODEL (e_table_model));
-
- if (ETM_CLASS (e_table_model)->free_value)
- ETM_CLASS (e_table_model)->free_value (e_table_model, col, value);
-}
-
-gboolean
-e_table_model_has_save_id (ETableModel *e_table_model)
-{
- g_return_val_if_fail (e_table_model != NULL, FALSE);
- g_return_val_if_fail (E_IS_TABLE_MODEL (e_table_model), FALSE);
-
- if (ETM_CLASS (e_table_model)->has_save_id)
- return ETM_CLASS (e_table_model)->has_save_id (e_table_model);
- else
- return FALSE;
-}
-
-char *
-e_table_model_get_save_id (ETableModel *e_table_model, int row)
-{
- g_return_val_if_fail (e_table_model != NULL, "/");
- g_return_val_if_fail (E_IS_TABLE_MODEL (e_table_model), "/");
-
- if (ETM_CLASS (e_table_model)->get_save_id)
- return ETM_CLASS (e_table_model)->get_save_id (e_table_model, row);
- else
- return NULL;
-}
-
-gboolean
-e_table_model_has_change_pending(ETableModel *e_table_model)
-{
- g_return_val_if_fail (e_table_model != NULL, FALSE);
- g_return_val_if_fail (E_IS_TABLE_MODEL (e_table_model), FALSE);
-
- if (ETM_CLASS (e_table_model)->has_change_pending)
- return ETM_CLASS (e_table_model)->has_change_pending (e_table_model);
- else
- return FALSE;
-}
-
-void *
-e_table_model_initialize_value (ETableModel *e_table_model, int col)
-{
- g_return_val_if_fail (e_table_model != NULL, NULL);
- g_return_val_if_fail (E_IS_TABLE_MODEL (e_table_model), NULL);
-
- if (ETM_CLASS (e_table_model)->initialize_value)
- return ETM_CLASS (e_table_model)->initialize_value (e_table_model, col);
- else
- return NULL;
-}
-
-gboolean
-e_table_model_value_is_empty (ETableModel *e_table_model, int col, const void *value)
-{
- g_return_val_if_fail (e_table_model != NULL, FALSE);
- g_return_val_if_fail (E_IS_TABLE_MODEL (e_table_model), FALSE);
-
- if (ETM_CLASS (e_table_model)->value_is_empty)
- return ETM_CLASS (e_table_model)->value_is_empty (e_table_model, col, value);
- else
- return FALSE;
-}
-
-char *
-e_table_model_value_to_string (ETableModel *e_table_model, int col, const void *value)
-{
- g_return_val_if_fail (e_table_model != NULL, NULL);
- g_return_val_if_fail (E_IS_TABLE_MODEL (e_table_model), NULL);
-
- if (ETM_CLASS (e_table_model)->value_to_string)
- return ETM_CLASS (e_table_model)->value_to_string (e_table_model, col, value);
- else
- return g_strdup("");
-}
-
-static void
-e_table_model_finalize (GObject *object)
-{
- if (e_table_model_parent_class->finalize)
- (*e_table_model_parent_class->finalize)(object);
-}
-
-static void
-e_table_model_class_init (GObjectClass *object_class)
-{
- ETableModelClass *klass = E_TABLE_MODEL_CLASS(object_class);
- e_table_model_parent_class = g_type_class_peek_parent (object_class);
-
- object_class->finalize = e_table_model_finalize;
-
- e_table_model_signals [MODEL_NO_CHANGE] =
- g_signal_new ("model_no_change",
- E_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableModelClass, model_no_change),
- (GSignalAccumulator) NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
-
- e_table_model_signals [MODEL_CHANGED] =
- g_signal_new ("model_changed",
- E_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableModelClass, model_changed),
- (GSignalAccumulator) NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- e_table_model_signals [MODEL_PRE_CHANGE] =
- g_signal_new ("model_pre_change",
- E_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableModelClass, model_pre_change),
- (GSignalAccumulator) NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- e_table_model_signals [MODEL_ROW_CHANGED] =
- g_signal_new ("model_row_changed",
- E_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableModelClass, model_row_changed),
- (GSignalAccumulator) NULL, NULL,
- g_cclosure_marshal_VOID__INT,
- G_TYPE_NONE, 1, G_TYPE_INT);
-
- e_table_model_signals [MODEL_CELL_CHANGED] =
- g_signal_new ("model_cell_changed",
- E_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableModelClass, model_cell_changed),
- (GSignalAccumulator) NULL, NULL,
- e_marshal_VOID__INT_INT,
- G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT);
-
- e_table_model_signals [MODEL_ROWS_INSERTED] =
- g_signal_new ("model_rows_inserted",
- E_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableModelClass, model_rows_inserted),
- (GSignalAccumulator) NULL, NULL,
- e_marshal_VOID__INT_INT,
- G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT);
-
- e_table_model_signals [MODEL_ROWS_DELETED] =
- g_signal_new ("model_rows_deleted",
- E_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableModelClass, model_rows_deleted),
- (GSignalAccumulator) NULL, NULL,
- e_marshal_VOID__INT_INT,
- G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT);
-
- klass->column_count = NULL;
- klass->row_count = NULL;
- klass->append_row = NULL;
-
- klass->value_at = NULL;
- klass->set_value_at = NULL;
- klass->is_cell_editable = NULL;
-
- klass->has_save_id = NULL;
- klass->get_save_id = NULL;
-
- klass->has_change_pending = NULL;
-
- klass->duplicate_value = NULL;
- klass->free_value = NULL;
- klass->initialize_value = NULL;
- klass->value_is_empty = NULL;
- klass->value_to_string = NULL;
-
- klass->model_no_change = NULL;
- klass->model_changed = NULL;
- klass->model_row_changed = NULL;
- klass->model_cell_changed = NULL;
- klass->model_rows_inserted = NULL;
- klass->model_rows_deleted = NULL;
-}
-
-E_MAKE_TYPE(e_table_model, "ETableModel", ETableModel, e_table_model_class_init, NULL, G_TYPE_OBJECT)
-
-#if d(!)0
-static void
-print_tabs (void)
-{
- int i;
- for (i = 0; i < depth; i++)
- g_print("\t");
-}
-#endif
-
-void
-e_table_model_pre_change (ETableModel *e_table_model)
-{
- g_return_if_fail (e_table_model != NULL);
- g_return_if_fail (E_IS_TABLE_MODEL (e_table_model));
-
- if (ETM_FROZEN (e_table_model))
- return;
-
- d(print_tabs());
- d(g_print("Emitting pre_change on model 0x%p, a %s.\n", e_table_model, gtk_type_name (GTK_OBJECT(e_table_model)->klass->type)));
- d(depth++);
- g_signal_emit (G_OBJECT (e_table_model),
- e_table_model_signals [MODEL_PRE_CHANGE], 0);
- d(depth--);
-}
-
-/**
- * e_table_model_no_change:
- * @e_table_model: the table model to notify of the lack of a change
- *
- * Use this function to notify any views of this table model that
- * the contents of the table model have changed. This will emit
- * the signal "model_no_change" on the @e_table_model object.
- *
- * It is preferable to use the e_table_model_row_changed() and
- * the e_table_model_cell_changed() to notify of smaller changes
- * than to invalidate the entire model, as the views might have
- * ways of caching the information they render from the model.
- */
-void
-e_table_model_no_change (ETableModel *e_table_model)
-{
- g_return_if_fail (e_table_model != NULL);
- g_return_if_fail (E_IS_TABLE_MODEL (e_table_model));
-
- if (ETM_FROZEN (e_table_model))
- return;
-
- d(print_tabs());
- d(g_print("Emitting model_no_change on model 0x%p, a %s.\n", e_table_model, gtk_type_name (GTK_OBJECT(e_table_model)->klass->type)));
- d(depth++);
- g_signal_emit (G_OBJECT (e_table_model),
- e_table_model_signals [MODEL_NO_CHANGE], 0);
- d(depth--);
-}
-
-/**
- * e_table_model_changed:
- * @e_table_model: the table model to notify of the change
- *
- * Use this function to notify any views of this table model that
- * the contents of the table model have changed. This will emit
- * the signal "model_changed" on the @e_table_model object.
- *
- * It is preferable to use the e_table_model_row_changed() and
- * the e_table_model_cell_changed() to notify of smaller changes
- * than to invalidate the entire model, as the views might have
- * ways of caching the information they render from the model.
- */
-void
-e_table_model_changed (ETableModel *e_table_model)
-{
- g_return_if_fail (e_table_model != NULL);
- g_return_if_fail (E_IS_TABLE_MODEL (e_table_model));
-
- if (ETM_FROZEN (e_table_model))
- return;
-
- d(print_tabs());
- d(g_print("Emitting model_changed on model 0x%p, a %s.\n", e_table_model, gtk_type_name (GTK_OBJECT(e_table_model)->klass->type)));
- d(depth++);
- g_signal_emit (G_OBJECT (e_table_model),
- e_table_model_signals [MODEL_CHANGED], 0);
- d(depth--);
-}
-
-/**
- * e_table_model_row_changed:
- * @e_table_model: the table model to notify of the change
- * @row: the row that was changed in the model.
- *
- * Use this function to notify any views of the table model that
- * the contents of row @row have changed in model. This function
- * will emit the "model_row_changed" signal on the @e_table_model
- * object
- */
-void
-e_table_model_row_changed (ETableModel *e_table_model, int row)
-{
- g_return_if_fail (e_table_model != NULL);
- g_return_if_fail (E_IS_TABLE_MODEL (e_table_model));
-
- if (ETM_FROZEN (e_table_model))
- return;
-
- d(print_tabs());
- d(g_print("Emitting row_changed on model 0x%p, a %s, row %d.\n", e_table_model, gtk_type_name (GTK_OBJECT(e_table_model)->klass->type), row));
- d(depth++);
- g_signal_emit (G_OBJECT (e_table_model),
- e_table_model_signals [MODEL_ROW_CHANGED], 0, row);
- d(depth--);
-}
-
-/**
- * e_table_model_cell_changed:
- * @e_table_model: the table model to notify of the change
- * @col: the column.
- * @row: the row
- *
- * Use this function to notify any views of the table model that
- * contents of the cell at @col,@row has changed. This will emit
- * the "model_cell_changed" signal on the @e_table_model
- * object
- */
-void
-e_table_model_cell_changed (ETableModel *e_table_model, int col, int row)
-{
- g_return_if_fail (e_table_model != NULL);
- g_return_if_fail (E_IS_TABLE_MODEL (e_table_model));
-
- if (ETM_FROZEN (e_table_model))
- return;
-
- d(print_tabs());
- d(g_print("Emitting cell_changed on model 0x%p, a %s, row %d, col %d.\n", e_table_model, gtk_type_name (GTK_OBJECT(e_table_model)->klass->type), row, col));
- d(depth++);
- g_signal_emit (G_OBJECT (e_table_model),
- e_table_model_signals [MODEL_CELL_CHANGED], 0, col, row);
- d(depth--);
-}
-
-/**
- * e_table_model_rows_inserted:
- * @e_table_model: the table model to notify of the change
- * @row: the row that was inserted into the model.
- * @count: The number of rows that were inserted.
- *
- * Use this function to notify any views of the table model that
- * @count rows at row @row have been inserted into the model. This
- * function will emit the "model_rows_inserted" signal on the
- * @e_table_model object
- */
-void
-e_table_model_rows_inserted (ETableModel *e_table_model, int row, int count)
-{
- g_return_if_fail (e_table_model != NULL);
- g_return_if_fail (E_IS_TABLE_MODEL (e_table_model));
-
- if (ETM_FROZEN (e_table_model))
- return;
-
- d(print_tabs());
- d(g_print("Emitting row_inserted on model 0x%p, a %s, row %d.\n", e_table_model, gtk_type_name (GTK_OBJECT(e_table_model)->klass->type), row));
- d(depth++);
- g_signal_emit (G_OBJECT (e_table_model),
- e_table_model_signals [MODEL_ROWS_INSERTED], 0, row, count);
- d(depth--);
-}
-
-/**
- * e_table_model_row_inserted:
- * @e_table_model: the table model to notify of the change
- * @row: the row that was inserted into the model.
- *
- * Use this function to notify any views of the table model that the
- * row @row has been inserted into the model. This function will emit
- * the "model_rows_inserted" signal on the @e_table_model object
- */
-void
-e_table_model_row_inserted (ETableModel *e_table_model, int row)
-{
- e_table_model_rows_inserted(e_table_model, row, 1);
-}
-
-/**
- * e_table_model_row_deleted:
- * @e_table_model: the table model to notify of the change
- * @row: the row that was deleted
- * @count: The number of rows deleted
- *
- * Use this function to notify any views of the table model that
- * @count rows at row @row have been deleted from the model. This
- * function will emit the "model_rows_deleted" signal on the
- * @e_table_model object
- */
-void
-e_table_model_rows_deleted (ETableModel *e_table_model, int row, int count)
-{
- g_return_if_fail (e_table_model != NULL);
- g_return_if_fail (E_IS_TABLE_MODEL (e_table_model));
-
- if (ETM_FROZEN (e_table_model))
- return;
-
- d(print_tabs());
- d(g_print("Emitting row_deleted on model 0x%p, a %s, row %d.\n", e_table_model, gtk_type_name (GTK_OBJECT(e_table_model)->klass->type), row));
- d(depth++);
- g_signal_emit (G_OBJECT (e_table_model),
- e_table_model_signals [MODEL_ROWS_DELETED], 0, row, count);
- d(depth--);
-}
-
-/**
- * e_table_model_row_deleted:
- * @e_table_model: the table model to notify of the change
- * @row: the row that was deleted
- *
- * Use this function to notify any views of the table model that the
- * row @row has been deleted from the model. This function will emit
- * the "model_rows_deleted" signal on the @e_table_model object
- */
-void
-e_table_model_row_deleted (ETableModel *e_table_model, int row)
-{
- e_table_model_rows_deleted(e_table_model, row, 1);
-}
-
-void
-e_table_model_freeze (ETableModel *e_table_model)
-{
- e_table_model_pre_change (e_table_model);
- g_object_set_data (G_OBJECT (e_table_model), "frozen", GINT_TO_POINTER (GPOINTER_TO_INT (g_object_get_data (G_OBJECT (e_table_model), "frozen")) + 1));
-}
-
-void
-e_table_model_thaw (ETableModel *e_table_model)
-{
- g_object_set_data (G_OBJECT (e_table_model), "frozen", GINT_TO_POINTER (GPOINTER_TO_INT (g_object_get_data (G_OBJECT (e_table_model), "frozen")) - 1));
- e_table_model_changed (e_table_model);
-}
-
diff --git a/widgets/table/e-table-model.h b/widgets/table/e-table-model.h
deleted file mode 100644
index a08d9712ad..0000000000
--- a/widgets/table/e-table-model.h
+++ /dev/null
@@ -1,173 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-model.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_MODEL_H_
-#define _E_TABLE_MODEL_H_
-
-#include <glib-object.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_MODEL_TYPE (e_table_model_get_type ())
-#define E_TABLE_MODEL(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_MODEL_TYPE, ETableModel))
-#define E_TABLE_MODEL_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_MODEL_TYPE, ETableModelClass))
-#define E_IS_TABLE_MODEL(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_MODEL_TYPE))
-#define E_IS_TABLE_MODEL_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_MODEL_TYPE))
-#define E_TABLE_MODEL_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), E_TABLE_MODEL_TYPE, ETableModelClass))
-
-typedef struct {
- GObject base;
-} ETableModel;
-
-typedef struct {
- GObjectClass parent_class;
-
- /*
- * Virtual methods
- */
- int (*column_count) (ETableModel *etm);
- int (*row_count) (ETableModel *etm);
- void (*append_row) (ETableModel *etm, ETableModel *source, int row);
-
- void *(*value_at) (ETableModel *etm, int col, int row);
- void (*set_value_at) (ETableModel *etm, int col, int row, const void *value);
- gboolean (*is_cell_editable) (ETableModel *etm, int col, int row);
-
- gboolean (*has_save_id) (ETableModel *etm);
- char *(*get_save_id) (ETableModel *etm, int row);
-
- gboolean (*has_change_pending) (ETableModel *etm);
-
- /* Allocate a copy of the given value. */
- void *(*duplicate_value) (ETableModel *etm, int col, const void *value);
- /* Free an allocated value. */
- void (*free_value) (ETableModel *etm, int col, void *value);
- /* Return an allocated empty value. */
- void *(*initialize_value) (ETableModel *etm, int col);
- /* Return TRUE if value is equivalent to an empty cell. */
- gboolean (*value_is_empty) (ETableModel *etm, int col, const void *value);
- /* Return an allocated string. */
- char *(*value_to_string) (ETableModel *etm, int col, const void *value);
-
-
- /*
- * Signals
- */
-
- /*
- * These all come after the change has been made.
- * No changes, cancel pre_change: no_change
- * Major structural changes: model_changed
- * Changes only in a row: row_changed
- * Only changes in a cell: cell_changed
- * A row inserted: row_inserted
- * A row deleted: row_deleted
- */
- void (*model_pre_change) (ETableModel *etm);
-
- void (*model_no_change) (ETableModel *etm);
- void (*model_changed) (ETableModel *etm);
- void (*model_row_changed) (ETableModel *etm, int row);
- void (*model_cell_changed) (ETableModel *etm, int col, int row);
- void (*model_rows_inserted) (ETableModel *etm, int row, int count);
- void (*model_rows_deleted) (ETableModel *etm, int row, int count);
-} ETableModelClass;
-
-GType e_table_model_get_type (void);
-
-/**/
-int e_table_model_column_count (ETableModel *e_table_model);
-const char *e_table_model_column_name (ETableModel *e_table_model,
- int col);
-int e_table_model_row_count (ETableModel *e_table_model);
-void e_table_model_append_row (ETableModel *e_table_model,
- ETableModel *source,
- int row);
-
-/**/
-void *e_table_model_value_at (ETableModel *e_table_model,
- int col,
- int row);
-void e_table_model_set_value_at (ETableModel *e_table_model,
- int col,
- int row,
- const void *value);
-gboolean e_table_model_is_cell_editable (ETableModel *e_table_model,
- int col,
- int row);
-
-/**/
-gboolean e_table_model_has_save_id (ETableModel *etm);
-char *e_table_model_get_save_id (ETableModel *etm,
- int row);
-
-/**/
-gboolean e_table_model_has_change_pending (ETableModel *etm);
-
-
-/**/
-void *e_table_model_duplicate_value (ETableModel *e_table_model,
- int col,
- const void *value);
-void e_table_model_free_value (ETableModel *e_table_model,
- int col,
- void *value);
-void *e_table_model_initialize_value (ETableModel *e_table_model,
- int col);
-gboolean e_table_model_value_is_empty (ETableModel *e_table_model,
- int col,
- const void *value);
-char *e_table_model_value_to_string (ETableModel *e_table_model,
- int col,
- const void *value);
-
-/*
- * Routines for emitting signals on the e_table
- */
-void e_table_model_pre_change (ETableModel *e_table_model);
-void e_table_model_no_change (ETableModel *e_table_model);
-void e_table_model_changed (ETableModel *e_table_model);
-void e_table_model_row_changed (ETableModel *e_table_model,
- int row);
-void e_table_model_cell_changed (ETableModel *e_table_model,
- int col,
- int row);
-void e_table_model_rows_inserted (ETableModel *e_table_model,
-int row,
-int count);
-void e_table_model_rows_deleted (ETableModel *e_table_model,
-int row,
-int count);
-
-/**/
-void e_table_model_row_inserted (ETableModel *e_table_model,
-int row);
-void e_table_model_row_deleted (ETableModel *e_table_model,
-int row);
-
-void e_table_model_freeze (ETableModel *e_table_model);
-void e_table_model_thaw (ETableModel *e_table_model);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_MODEL_H_ */
diff --git a/widgets/table/e-table-one.c b/widgets/table/e-table-one.c
deleted file mode 100644
index 486f14862f..0000000000
--- a/widgets/table/e-table-one.c
+++ /dev/null
@@ -1,241 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-one.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include "e-table-one.h"
-#include "gal/util/e-util.h"
-
-static ETableModelClass *parent_class = NULL;
-
-static int
-one_column_count (ETableModel *etm)
-{
- ETableOne *one = E_TABLE_ONE(etm);
-
- if (one->source)
- return e_table_model_column_count(one->source);
- else
- return 0;
-}
-
-static int
-one_row_count (ETableModel *etm)
-{
- return 1;
-}
-
-static void *
-one_value_at (ETableModel *etm, int col, int row)
-{
- ETableOne *one = E_TABLE_ONE(etm);
-
- if (one->data)
- return one->data[col];
- else
- return NULL;
-}
-
-static void
-one_set_value_at (ETableModel *etm, int col, int row, const void *val)
-{
- ETableOne *one = E_TABLE_ONE(etm);
-
- if (one->data && one->source) {
- e_table_model_free_value(one->source, col, one->data[col]);
- one->data[col] = e_table_model_duplicate_value(one->source, col, val);
- }
-}
-
-static gboolean
-one_is_cell_editable (ETableModel *etm, int col, int row)
-{
- ETableOne *one = E_TABLE_ONE(etm);
-
- if (one->source)
- return e_table_model_is_cell_editable(one->source, col, -1);
- else
- return FALSE;
-}
-
-/* The default for one_duplicate_value is to return the raw value. */
-static void *
-one_duplicate_value (ETableModel *etm, int col, const void *value)
-{
- ETableOne *one = E_TABLE_ONE(etm);
-
- if (one->source)
- return e_table_model_duplicate_value(one->source, col, value);
- else
- return (void *)value;
-}
-
-static void
-one_free_value (ETableModel *etm, int col, void *value)
-{
- ETableOne *one = E_TABLE_ONE(etm);
-
- if (one->source)
- e_table_model_free_value(one->source, col, value);
-}
-
-static void *
-one_initialize_value (ETableModel *etm, int col)
-{
- ETableOne *one = E_TABLE_ONE(etm);
-
- if (one->source)
- return e_table_model_initialize_value (one->source, col);
- else
- return NULL;
-}
-
-static gboolean
-one_value_is_empty (ETableModel *etm, int col, const void *value)
-{
- ETableOne *one = E_TABLE_ONE(etm);
-
- if (one->source)
- return e_table_model_value_is_empty (one->source, col, value);
- else
- return FALSE;
-}
-
-static char *
-one_value_to_string (ETableModel *etm, int col, const void *value)
-{
- ETableOne *one = E_TABLE_ONE(etm);
-
- if (one->source)
- return e_table_model_value_to_string (one->source, col, value);
- else
- return g_strdup("");
-}
-
-static void
-one_finalize (GObject *object)
-{
- G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-static void
-one_dispose (GObject *object)
-{
- ETableOne *one = E_TABLE_ONE (object);
-
-
- if (one->data) {
- int i;
- int col_count;
-
- if (one->source) {
- col_count = e_table_model_column_count(one->source);
-
- for (i = 0; i < col_count; i++)
- e_table_model_free_value(one->source, i, one->data[i]);
- }
-
- g_free (one->data);
- }
- one->data = NULL;
-
- if (one->source)
- g_object_unref(one->source);
- one->source = NULL;
-
- G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-static void
-e_table_one_class_init (GObjectClass *object_class)
-{
- ETableModelClass *model_class = (ETableModelClass *) object_class;
-
- parent_class = g_type_class_peek_parent (object_class);
-
- model_class->column_count = one_column_count;
- model_class->row_count = one_row_count;
- model_class->value_at = one_value_at;
- model_class->set_value_at = one_set_value_at;
- model_class->is_cell_editable = one_is_cell_editable;
- model_class->duplicate_value = one_duplicate_value;
- model_class->free_value = one_free_value;
- model_class->initialize_value = one_initialize_value;
- model_class->value_is_empty = one_value_is_empty;
- model_class->value_to_string = one_value_to_string;
-
- object_class->dispose = one_dispose;
- object_class->finalize = one_finalize;
-}
-
-static void
-e_table_one_init (GObject *object)
-{
- ETableOne *one = E_TABLE_ONE(object);
-
- one->source = NULL;
- one->data = NULL;
-}
-
-E_MAKE_TYPE(e_table_one, "ETableOne", ETableOne, e_table_one_class_init, e_table_one_init, E_TABLE_MODEL_TYPE)
-
-
-ETableModel *
-e_table_one_new (ETableModel *source)
-{
- ETableOne *eto;
- int col_count;
- int i;
-
- eto = g_object_new (E_TABLE_ONE_TYPE, NULL);
- eto->source = source;
-
- col_count = e_table_model_column_count(source);
- eto->data = g_new(void *, col_count);
- for (i = 0; i < col_count; i++) {
- eto->data[i] = e_table_model_initialize_value(source, i);
- }
-
- if (source)
- g_object_ref(source);
-
- return (ETableModel *) eto;
-}
-
-void
-e_table_one_commit (ETableOne *one)
-{
- if (one->source) {
- int empty = TRUE;
- int col;
- int cols = e_table_model_column_count(one->source);
- for (col = 0; col < cols; col++) {
- if (!e_table_model_value_is_empty(one->source, col, one->data[col])) {
- empty = FALSE;
- break;
- }
- }
- if (!empty) {
- e_table_model_append_row(one->source, E_TABLE_MODEL(one), 0);
- }
- }
-}
diff --git a/widgets/table/e-table-one.h b/widgets/table/e-table-one.h
deleted file mode 100644
index 1c8147d779..0000000000
--- a/widgets/table/e-table-one.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-one.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_ONE_H_
-#define _E_TABLE_ONE_H_
-
-#include <gal/e-table/e-table-model.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_ONE_TYPE (e_table_one_get_type ())
-#define E_TABLE_ONE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_ONE_TYPE, ETableOne))
-#define E_TABLE_ONE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_ONE_TYPE, ETableOneClass))
-#define E_IS_TABLE_ONE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_ONE_TYPE))
-#define E_IS_TABLE_ONE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_ONE_TYPE))
-#define E_TABLE_ONE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((obj), E_TABLE_ONE_TYPE, ETableOneClass))
-
-typedef struct {
- ETableModel parent;
-
- ETableModel *source;
- void **data;
-} ETableOne;
-
-typedef struct {
- ETableModelClass parent_class;
-} ETableOneClass;
-
-GType e_table_one_get_type (void);
-
-ETableModel *e_table_one_new (ETableModel *source);
-void e_table_one_commit (ETableOne *one);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_ONE_H_ */
-
diff --git a/widgets/table/e-table-scrolled.c b/widgets/table/e-table-scrolled.c
deleted file mode 100644
index 1786148c78..0000000000
--- a/widgets/table/e-table-scrolled.c
+++ /dev/null
@@ -1,229 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-scrolled.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdio.h>
-#include <libgnomecanvas/gnome-canvas.h>
-#include <gtk/gtksignal.h>
-#include <libxml/parser.h>
-#include <libxml/xmlmemory.h>
-
-#include "e-table.h"
-#include "e-table-scrolled.h"
-#include "gal/util/e-i18n.h"
-
-#define COLUMN_HEADER_HEIGHT 16
-
-#define PARENT_TYPE gtk_scrolled_window_get_type ()
-
-static GtkObjectClass *parent_class;
-
-enum {
- PROP_0,
- PROP_TABLE
-};
-
-static void
-e_table_scrolled_init (GtkObject *object)
-{
- ETableScrolled *ets;
- GtkScrolledWindow *scrolled_window;
-
- ets = E_TABLE_SCROLLED (object);
- scrolled_window = GTK_SCROLLED_WINDOW (object);
-
- GTK_WIDGET_SET_FLAGS (ets, GTK_CAN_FOCUS);
-
- ets->table = g_object_new (E_TABLE_TYPE, NULL);
-
- gtk_scrolled_window_set_policy (scrolled_window, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
- gtk_scrolled_window_set_shadow_type (scrolled_window, GTK_SHADOW_IN);
-}
-
-static void
-e_table_scrolled_real_construct (ETableScrolled *ets)
-{
- gtk_container_add(GTK_CONTAINER(ets), GTK_WIDGET(ets->table));
-
- gtk_widget_show(GTK_WIDGET(ets->table));
-}
-
-ETableScrolled *e_table_scrolled_construct (ETableScrolled *ets,
- ETableModel *etm,
- ETableExtras *ete,
- const char *spec,
- const char *state)
-{
- g_return_val_if_fail(ets != NULL, NULL);
- g_return_val_if_fail(E_IS_TABLE_SCROLLED(ets), NULL);
- g_return_val_if_fail(etm != NULL, NULL);
- g_return_val_if_fail(E_IS_TABLE_MODEL(etm), NULL);
- g_return_val_if_fail(ete == NULL || E_IS_TABLE_EXTRAS(ete), NULL);
- g_return_val_if_fail(spec != NULL, NULL);
-
- e_table_construct(ets->table, etm, ete, spec, state);
-
- e_table_scrolled_real_construct(ets);
-
- return ets;
-}
-
-GtkWidget *e_table_scrolled_new (ETableModel *etm,
- ETableExtras *ete,
- const char *spec,
- const char *state)
-{
- ETableScrolled *ets;
-
- g_return_val_if_fail(etm != NULL, NULL);
- g_return_val_if_fail(E_IS_TABLE_MODEL(etm), NULL);
- g_return_val_if_fail(ete == NULL || E_IS_TABLE_EXTRAS(ete), NULL);
- g_return_val_if_fail(spec != NULL, NULL);
-
- ets = E_TABLE_SCROLLED (gtk_widget_new (e_table_scrolled_get_type (),
- "hadjustment", NULL,
- "vadjustment", NULL,
- NULL));
-
- ets = e_table_scrolled_construct (ets, etm, ete, spec, state);
-
- return GTK_WIDGET (ets);
-}
-
-ETableScrolled *e_table_scrolled_construct_from_spec_file (ETableScrolled *ets,
- ETableModel *etm,
- ETableExtras *ete,
- const char *spec_fn,
- const char *state_fn)
-{
- g_return_val_if_fail(ets != NULL, NULL);
- g_return_val_if_fail(E_IS_TABLE_SCROLLED(ets), NULL);
- g_return_val_if_fail(etm != NULL, NULL);
- g_return_val_if_fail(E_IS_TABLE_MODEL(etm), NULL);
- g_return_val_if_fail(ete == NULL || E_IS_TABLE_EXTRAS(ete), NULL);
- g_return_val_if_fail(spec_fn != NULL, NULL);
-
- e_table_construct_from_spec_file(ets->table, etm, ete, spec_fn, state_fn);
-
- e_table_scrolled_real_construct(ets);
-
- return ets;
-}
-
-GtkWidget *e_table_scrolled_new_from_spec_file (ETableModel *etm,
- ETableExtras *ete,
- const char *spec_fn,
- const char *state_fn)
-{
- ETableScrolled *ets;
-
- g_return_val_if_fail(etm != NULL, NULL);
- g_return_val_if_fail(E_IS_TABLE_MODEL(etm), NULL);
- g_return_val_if_fail(ete == NULL || E_IS_TABLE_EXTRAS(ete), NULL);
- g_return_val_if_fail(spec_fn != NULL, NULL);
-
- ets = E_TABLE_SCROLLED (gtk_widget_new (e_table_scrolled_get_type (),
- "hadjustment", NULL,
- "vadjustment", NULL,
- NULL));
-
- ets = e_table_scrolled_construct_from_spec_file (ets, etm, ete, spec_fn, state_fn);
-
- return GTK_WIDGET (ets);
-}
-
-ETable *
-e_table_scrolled_get_table (ETableScrolled *ets)
-{
- return ets->table;
-}
-
-static void
-ets_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
- ETableScrolled *ets = E_TABLE_SCROLLED (object);
-
- switch (prop_id){
- case PROP_TABLE:
- g_value_set_object (value, ets->table);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-/* Grab_focus handler for the scrolled ETable */
-static void
-ets_grab_focus (GtkWidget *widget)
-{
- ETableScrolled *ets;
-
- ets = E_TABLE_SCROLLED (widget);
-
- gtk_widget_grab_focus (GTK_WIDGET (ets->table));
-}
-
-/* Focus handler for the scrolled ETable */
-static gint
-ets_focus (GtkWidget *container, GtkDirectionType direction)
-{
- ETableScrolled *ets;
-
- ets = E_TABLE_SCROLLED (container);
-
- return gtk_widget_child_focus (GTK_WIDGET (ets->table), direction);
-}
-
-static void
-e_table_scrolled_class_init (ETableScrolledClass *class)
-{
- GObjectClass *object_class;
- GtkWidgetClass *widget_class;
- GtkContainerClass *container_class;
-
- object_class = (GObjectClass *) class;
- widget_class = (GtkWidgetClass *) class;
- container_class = (GtkContainerClass *) class;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class->get_property = ets_get_property;
-
- widget_class->grab_focus = ets_grab_focus;
-
- widget_class->focus = ets_focus;
-
- g_object_class_install_property (object_class, PROP_TABLE,
- g_param_spec_object ("table",
- _( "Table" ),
- _( "Table" ),
- E_TABLE_TYPE,
- G_PARAM_READABLE));
-}
-
-E_MAKE_TYPE(e_table_scrolled, "ETableScrolled", ETableScrolled, e_table_scrolled_class_init, e_table_scrolled_init, PARENT_TYPE)
-
diff --git a/widgets/table/e-table-scrolled.h b/widgets/table/e-table-scrolled.h
deleted file mode 100644
index 40de97e99e..0000000000
--- a/widgets/table/e-table-scrolled.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-scrolled.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_SCROLLED_H_
-#define _E_TABLE_SCROLLED_H_
-
-#include <gtk/gtkscrolledwindow.h>
-#include <gal/e-table/e-table-model.h>
-#include <gal/e-table/e-table.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_SCROLLED_TYPE (e_table_scrolled_get_type ())
-#define E_TABLE_SCROLLED(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_SCROLLED_TYPE, ETableScrolled))
-#define E_TABLE_SCROLLED_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_SCROLLED_TYPE, ETableScrolledClass))
-#define E_IS_TABLE_SCROLLED(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_SCROLLED_TYPE))
-#define E_IS_TABLE_SCROLLED_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_SCROLLED_TYPE))
-
-typedef struct {
- GtkScrolledWindow parent;
-
- ETable *table;
-} ETableScrolled;
-
-typedef struct {
- GtkScrolledWindowClass parent_class;
-} ETableScrolledClass;
-
-GType e_table_scrolled_get_type (void);
-
-ETableScrolled *e_table_scrolled_construct (ETableScrolled *ets,
- ETableModel *etm,
- ETableExtras *ete,
- const char *spec,
- const char *state);
-GtkWidget *e_table_scrolled_new (ETableModel *etm,
- ETableExtras *ete,
- const char *spec,
- const char *state);
-
-ETableScrolled *e_table_scrolled_construct_from_spec_file (ETableScrolled *ets,
- ETableModel *etm,
- ETableExtras *ete,
- const char *spec_fn,
- const char *state_fn);
-GtkWidget *e_table_scrolled_new_from_spec_file (ETableModel *etm,
- ETableExtras *ete,
- const char *spec_fn,
- const char *state_fn);
-
-ETable *e_table_scrolled_get_table (ETableScrolled *ets);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_SCROLLED_H_ */
-
diff --git a/widgets/table/e-table-search.c b/widgets/table/e-table-search.c
deleted file mode 100644
index c0460e4524..0000000000
--- a/widgets/table/e-table-search.c
+++ /dev/null
@@ -1,223 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-search.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include "e-table-search.h"
-#include "gal/util/e-util.h"
-
-#include <string.h>
-
-#define d(x)
-
-d(static gint depth = 0);
-
-struct _ETableSearchPrivate {
- guint timeout_id;
-
- char *search_string;
- gunichar last_character;
-};
-
-static GObjectClass *e_table_search_parent_class;
-
-enum {
- SEARCH_SEARCH,
- SEARCH_ACCEPT,
- LAST_SIGNAL
-};
-
-static guint e_table_search_signals [LAST_SIGNAL] = { 0, };
-
-static gboolean
-e_table_search_search (ETableSearch *e_table_search, char *string, ETableSearchFlags flags)
-{
- gboolean ret_val;
- g_return_val_if_fail (e_table_search != NULL, FALSE);
- g_return_val_if_fail (E_IS_TABLE_SEARCH (e_table_search), FALSE);
-
- g_signal_emit (G_OBJECT (e_table_search),
- e_table_search_signals [SEARCH_SEARCH],
- 0, string, flags, &ret_val);
-
- return ret_val;
-}
-
-static void
-e_table_search_accept (ETableSearch *e_table_search)
-{
- g_return_if_fail (e_table_search != NULL);
- g_return_if_fail (E_IS_TABLE_SEARCH (e_table_search));
-
- g_signal_emit (G_OBJECT (e_table_search),
- e_table_search_signals [SEARCH_ACCEPT], 0);
-}
-
-static gboolean
-ets_accept (gpointer data)
-{
- ETableSearch *ets = data;
- e_table_search_accept (ets);
- g_free (ets->priv->search_string);
-
- ets->priv->timeout_id = 0;
- ets->priv->search_string = g_strdup ("");
- ets->priv->last_character = 0;
-
- return FALSE;
-}
-
-static void
-drop_timeout (ETableSearch *ets)
-{
- if (ets->priv->timeout_id) {
- g_source_remove (ets->priv->timeout_id);
- }
- ets->priv->timeout_id = 0;
-}
-
-static void
-add_timeout (ETableSearch *ets)
-{
- drop_timeout (ets);
- ets->priv->timeout_id = g_timeout_add (1000, ets_accept, ets);
-}
-
-static void
-e_table_search_finalize (GObject *object)
-{
- ETableSearch *ets = (ETableSearch *) object;
-
- drop_timeout (ets);
- g_free (ets->priv->search_string);
- g_free (ets->priv);
-
- if (e_table_search_parent_class->finalize)
- (*e_table_search_parent_class->finalize)(object);
-}
-
-static void
-e_table_search_class_init (GObjectClass *object_class)
-{
- ETableSearchClass *klass = E_TABLE_SEARCH_CLASS(object_class);
- e_table_search_parent_class = g_type_class_peek_parent (klass);
-
- object_class->finalize = e_table_search_finalize;
-
- e_table_search_signals [SEARCH_SEARCH] =
- g_signal_new ("search",
- E_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableSearchClass, search),
- (GSignalAccumulator) NULL, NULL,
- e_marshal_BOOLEAN__STRING_INT,
- G_TYPE_BOOLEAN, 2, G_TYPE_STRING, G_TYPE_INT);
-
- e_table_search_signals [SEARCH_ACCEPT] =
- g_signal_new ("accept",
- E_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableSearchClass, accept),
- (GSignalAccumulator) NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- klass->search = NULL;
- klass->accept = NULL;
-}
-
-static void
-e_table_search_init (ETableSearch *ets)
-{
- ets->priv = g_new (ETableSearchPrivate, 1);
-
- ets->priv->timeout_id = 0;
- ets->priv->search_string = g_strdup ("");
- ets->priv->last_character = 0;
-}
-
-
-E_MAKE_TYPE(e_table_search, "ETableSearch", ETableSearch, e_table_search_class_init, e_table_search_init, G_TYPE_OBJECT)
-
-ETableSearch *
-e_table_search_new (void)
-{
- ETableSearch *ets = g_object_new (E_TABLE_SEARCH_TYPE, NULL);
-
- return ets;
-}
-
-/**
- * e_table_search_column_count:
- * @e_table_search: The e-table-search to operate on
- *
- * Returns: the number of columns in the table search.
- */
-void
-e_table_search_input_character (ETableSearch *ets, gunichar character)
-{
- char character_utf8[7];
- char *temp_string;
-
- g_return_if_fail (ets != NULL);
- g_return_if_fail (E_IS_TABLE_SEARCH (ets));
-
- character_utf8 [g_unichar_to_utf8 (character, character_utf8)] = 0;
-
- temp_string = g_strdup_printf ("%s%s", ets->priv->search_string, character_utf8);
- if (e_table_search_search (ets, temp_string,
- ets->priv->last_character != 0 ? E_TABLE_SEARCH_FLAGS_CHECK_CURSOR_FIRST : 0)) {
- g_free (ets->priv->search_string);
- ets->priv->search_string = temp_string;
- add_timeout (ets);
- ets->priv->last_character = character;
- return;
- } else {
- g_free (temp_string);
- }
-
- if (character == ets->priv->last_character) {
- if (ets->priv->search_string && e_table_search_search (ets, ets->priv->search_string, 0)) {
- add_timeout (ets);
- }
- }
-}
-
-gboolean
-e_table_search_backspace (ETableSearch *ets)
-{
- char *end;
-
- g_return_val_if_fail (ets != NULL, FALSE);
- g_return_val_if_fail (E_IS_TABLE_SEARCH (ets), FALSE);
-
- if (!ets->priv->search_string ||
- !*ets->priv->search_string)
- return FALSE;
-
- end = ets->priv->search_string + strlen (ets->priv->search_string);
- end = g_utf8_prev_char (end);
- *end = 0;
- ets->priv->last_character = 0;
- add_timeout (ets);
- return TRUE;
-}
diff --git a/widgets/table/e-table-search.h b/widgets/table/e-table-search.h
deleted file mode 100644
index b3cdd9ff41..0000000000
--- a/widgets/table/e-table-search.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-search.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_SEARCH_H_
-#define _E_TABLE_SEARCH_H_
-
-#include <gtk/gtkobject.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_SEARCH_TYPE (e_table_search_get_type ())
-#define E_TABLE_SEARCH(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_SEARCH_TYPE, ETableSearch))
-#define E_TABLE_SEARCH_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_SEARCH_TYPE, ETableSearchClass))
-#define E_IS_TABLE_SEARCH(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_SEARCH_TYPE))
-#define E_IS_TABLE_SEARCH_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_SEARCH_TYPE))
-#define E_TABLE_SEARCH_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), E_TABLE_SEARCH_TYPE, ETableSearchClass))
-
-typedef struct _ETableSearchPrivate ETableSearchPrivate;
-
-typedef enum {
- E_TABLE_SEARCH_FLAGS_CHECK_CURSOR_FIRST = 1 << 0
-} ETableSearchFlags;
-
-typedef struct {
- GObject base;
-
- ETableSearchPrivate *priv;
-} ETableSearch;
-
-typedef struct {
- GObjectClass parent_class;
-
- /*
- * Signals
- */
- gboolean (*search) (ETableSearch *ets, char *string /* utf8 */, ETableSearchFlags flags);
- void (*accept) (ETableSearch *ets);
-} ETableSearchClass;
-
-GType e_table_search_get_type (void);
-ETableSearch *e_table_search_new (void);
-
-/**/
-void e_table_search_input_character (ETableSearch *e_table_search,
- gunichar character);
-gboolean e_table_search_backspace (ETableSearch *e_table_search);
-void e_table_search_cancel (ETableSearch *e_table_search);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_SEARCH_H_ */
diff --git a/widgets/table/e-table-selection-model.c b/widgets/table/e-table-selection-model.c
deleted file mode 100644
index 14edf3d6de..0000000000
--- a/widgets/table/e-table-selection-model.c
+++ /dev/null
@@ -1,347 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-selection-model.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include "e-table-selection-model.h"
-
-#include <string.h>
-#include <gdk/gdkkeysyms.h>
-
-#include "gal/util/e-i18n.h"
-#include "gal/util/e-util.h"
-
-#define PARENT_TYPE e_selection_model_array_get_type ()
-
-static ESelectionModelArray *parent_class;
-
-static gint etsm_get_row_count (ESelectionModelArray *esm);
-
-enum {
- PROP_0,
- PROP_MODEL,
- PROP_HEADER
-};
-
-static void
-save_to_hash(int model_row, gpointer closure)
-{
- ETableSelectionModel *etsm = closure;
- gchar *key = e_table_model_get_save_id(etsm->model, model_row);
-
- g_hash_table_insert(etsm->hash, key, key);
-}
-
-static void
-free_key(gpointer key, gpointer value, gpointer closure)
-{
- g_free(key);
-}
-
-static void
-free_hash(ETableSelectionModel *etsm)
-{
- if (etsm->hash) {
- g_hash_table_foreach(etsm->hash, free_key, NULL);
- g_hash_table_destroy(etsm->hash);
- etsm->hash = NULL;
- }
- if (etsm->cursor_id)
- g_free(etsm->cursor_id);
- etsm->cursor_id = NULL;
-}
-
-static void
-model_pre_change (ETableModel *etm, ETableSelectionModel *etsm)
-{
- free_hash(etsm);
-
- if (etsm->model && e_table_model_has_save_id (etsm->model)) {
- gint cursor_row;
-
- etsm->hash = g_hash_table_new(g_str_hash, g_str_equal);
- e_selection_model_foreach(E_SELECTION_MODEL(etsm), save_to_hash, etsm);
-
- g_object_get(etsm,
- "cursor_row", &cursor_row,
- NULL);
- g_free (etsm->cursor_id);
- if (cursor_row != -1)
- etsm->cursor_id = e_table_model_get_save_id(etm, cursor_row);
- else
- etsm->cursor_id = NULL;
- }
-}
-
-static gint
-model_changed_idle(ETableSelectionModel *etsm)
-{
- ETableModel *etm = etsm->model;
-
- e_selection_model_clear(E_SELECTION_MODEL(etsm));
-
- if (etsm->cursor_id && etm && e_table_model_has_save_id(etm)) {
- int row_count = e_table_model_row_count(etm);
- int cursor_row = -1;
- int cursor_col = -1;
- int i;
- e_selection_model_array_confirm_row_count(E_SELECTION_MODEL_ARRAY(etsm));
- for (i = 0; i < row_count; i++) {
- char *save_id = e_table_model_get_save_id(etm, i);
- if (g_hash_table_lookup(etsm->hash, save_id))
- e_selection_model_change_one_row(E_SELECTION_MODEL(etsm), i, TRUE);
-
- if (etsm->cursor_id && !strcmp(etsm->cursor_id, save_id)) {
- cursor_row = i;
- cursor_col = e_selection_model_cursor_col(E_SELECTION_MODEL(etsm));
- if (cursor_col == -1) {
- if (etsm->eth) {
- cursor_col = e_table_header_prioritized_column (etsm->eth);
- } else
- cursor_col = 0;
- }
- e_selection_model_change_cursor(E_SELECTION_MODEL(etsm), cursor_row, cursor_col);
- g_free(etsm->cursor_id);
- etsm->cursor_id = NULL;
- }
- g_free(save_id);
- }
- free_hash(etsm);
- e_selection_model_cursor_changed (E_SELECTION_MODEL(etsm), cursor_row, cursor_col);
- e_selection_model_selection_changed (E_SELECTION_MODEL(etsm));
- }
- etsm->model_changed_idle_id = 0;
- return FALSE;
-}
-
-static void
-model_changed(ETableModel *etm, ETableSelectionModel *etsm)
-{
- e_selection_model_clear(E_SELECTION_MODEL(etsm));
- if (!etsm->model_changed_idle_id && etm && e_table_model_has_save_id(etm)) {
- etsm->model_changed_idle_id = g_idle_add_full(G_PRIORITY_HIGH, (GSourceFunc) model_changed_idle, etsm, NULL);
- }
-}
-
-static void
-model_row_changed(ETableModel *etm, int row, ETableSelectionModel *etsm)
-{
- free_hash(etsm);
-}
-
-static void
-model_cell_changed(ETableModel *etm, int col, int row, ETableSelectionModel *etsm)
-{
- free_hash(etsm);
-}
-
-#if 1
-static void
-model_rows_inserted(ETableModel *etm, int row, int count, ETableSelectionModel *etsm)
-{
- e_selection_model_array_insert_rows(E_SELECTION_MODEL_ARRAY(etsm), row, count);
- free_hash(etsm);
-}
-
-static void
-model_rows_deleted(ETableModel *etm, int row, int count, ETableSelectionModel *etsm)
-{
- e_selection_model_array_delete_rows(E_SELECTION_MODEL_ARRAY(etsm), row, count);
- free_hash(etsm);
-}
-
-#else
-
-static void
-model_rows_inserted(ETableModel *etm, int row, int count, ETableSelectionModel *etsm)
-{
- model_changed(etm, etsm);
-}
-
-static void
-model_rows_deleted(ETableModel *etm, int row, int count, ETableSelectionModel *etsm)
-{
- model_changed(etm, etsm);
-}
-#endif
-
-inline static void
-add_model(ETableSelectionModel *etsm, ETableModel *model)
-{
- etsm->model = model;
- if (model) {
- g_object_ref(model);
- etsm->model_pre_change_id = g_signal_connect(G_OBJECT(model), "model_pre_change",
- G_CALLBACK(model_pre_change), etsm);
- etsm->model_changed_id = g_signal_connect(G_OBJECT(model), "model_changed",
- G_CALLBACK(model_changed), etsm);
- etsm->model_row_changed_id = g_signal_connect(G_OBJECT(model), "model_row_changed",
- G_CALLBACK(model_row_changed), etsm);
- etsm->model_cell_changed_id = g_signal_connect(G_OBJECT(model), "model_cell_changed",
- G_CALLBACK(model_cell_changed), etsm);
- etsm->model_rows_inserted_id = g_signal_connect(G_OBJECT(model), "model_rows_inserted",
- G_CALLBACK(model_rows_inserted), etsm);
- etsm->model_rows_deleted_id = g_signal_connect(G_OBJECT(model), "model_rows_deleted",
- G_CALLBACK(model_rows_deleted), etsm);
- }
- e_selection_model_array_confirm_row_count(E_SELECTION_MODEL_ARRAY(etsm));
-}
-
-inline static void
-drop_model(ETableSelectionModel *etsm)
-{
- if (etsm->model) {
- g_signal_handler_disconnect(G_OBJECT(etsm->model),
- etsm->model_pre_change_id);
- g_signal_handler_disconnect(G_OBJECT(etsm->model),
- etsm->model_changed_id);
- g_signal_handler_disconnect(G_OBJECT(etsm->model),
- etsm->model_row_changed_id);
- g_signal_handler_disconnect(G_OBJECT(etsm->model),
- etsm->model_cell_changed_id);
- g_signal_handler_disconnect(G_OBJECT(etsm->model),
- etsm->model_rows_inserted_id);
- g_signal_handler_disconnect(G_OBJECT(etsm->model),
- etsm->model_rows_deleted_id);
-
- g_object_unref(etsm->model);
- }
- etsm->model = NULL;
-}
-
-static void
-etsm_dispose (GObject *object)
-{
- ETableSelectionModel *etsm;
-
- etsm = E_TABLE_SELECTION_MODEL (object);
-
- if (etsm->model_changed_idle_id)
- g_source_remove (etsm->model_changed_idle_id);
- etsm->model_changed_idle_id = 0;
-
- drop_model(etsm);
- free_hash(etsm);
-
- if (G_OBJECT_CLASS(parent_class)->dispose)
- G_OBJECT_CLASS(parent_class)->dispose (object);
-}
-
-static void
-etsm_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
- ETableSelectionModel *etsm = E_TABLE_SELECTION_MODEL (object);
-
- switch (prop_id){
- case PROP_MODEL:
- g_value_set_object (value, etsm->model);
- break;
- case PROP_HEADER:
- g_value_set_object (value, etsm->eth);
- break;
- }
-}
-
-static void
-etsm_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
-{
- ETableSelectionModel *etsm = E_TABLE_SELECTION_MODEL (object);
-
- switch (prop_id){
- case PROP_MODEL:
- drop_model(etsm);
- add_model(etsm, g_value_get_object (value) ? E_TABLE_MODEL(g_value_get_object (value)) : NULL);
- break;
- case PROP_HEADER:
- etsm->eth = E_TABLE_HEADER (g_value_get_object (value));
- break;
- }
-}
-
-static void
-e_table_selection_model_init (ETableSelectionModel *selection)
-{
- selection->model = NULL;
- selection->hash = NULL;
- selection->cursor_id = NULL;
-
- selection->model_changed_idle_id = 0;
-}
-
-static void
-e_table_selection_model_class_init (ETableSelectionModelClass *klass)
-{
- GObjectClass *object_class;
- ESelectionModelArrayClass *esma_class;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class = G_OBJECT_CLASS(klass);
- esma_class = E_SELECTION_MODEL_ARRAY_CLASS(klass);
-
- object_class->dispose = etsm_dispose;
- object_class->get_property = etsm_get_property;
- object_class->set_property = etsm_set_property;
-
- esma_class->get_row_count = etsm_get_row_count;
-
- g_object_class_install_property (object_class, PROP_MODEL,
- g_param_spec_object ("model",
- _("Model"),
- /*_( */"XXX blurb" /*)*/,
- E_TABLE_MODEL_TYPE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_HEADER,
- g_param_spec_object ("header",
- _("Header"),
- /*_( */"XXX blurb" /*)*/,
- E_TABLE_HEADER_TYPE,
- G_PARAM_READWRITE));
-}
-
-E_MAKE_TYPE(e_table_selection_model, "ETableSelectionModel", ETableSelectionModel,
- e_table_selection_model_class_init, e_table_selection_model_init, PARENT_TYPE)
-
-/**
- * e_table_selection_model_new
- *
- * This routine creates a new #ETableSelectionModel.
- *
- * Returns: The new #ETableSelectionModel.
- */
-ETableSelectionModel *
-e_table_selection_model_new (void)
-{
- return g_object_new (E_TABLE_SELECTION_MODEL_TYPE, NULL);
-}
-
-static gint
-etsm_get_row_count (ESelectionModelArray *esma)
-{
- ETableSelectionModel *etsm = E_TABLE_SELECTION_MODEL(esma);
-
- if (etsm->model)
- return e_table_model_row_count (etsm->model);
- else
- return 0;
-}
diff --git a/widgets/table/e-table-selection-model.h b/widgets/table/e-table-selection-model.h
deleted file mode 100644
index f3889d6f1b..0000000000
--- a/widgets/table/e-table-selection-model.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-selection-model.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_SELECTION_MODEL_H_
-#define _E_TABLE_SELECTION_MODEL_H_
-
-#include <gtk/gtkobject.h>
-#include <gal/widgets/e-selection-model-array.h>
-#include <gal/e-table/e-table-model.h>
-#include <gal/e-table/e-table-header.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define E_TABLE_SELECTION_MODEL_TYPE (e_table_selection_model_get_type ())
-#define E_TABLE_SELECTION_MODEL(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_SELECTION_MODEL_TYPE, ETableSelectionModel))
-#define E_TABLE_SELECTION_MODEL_CLASS(k) (G_TYPE-CHECK_CLASS_CAST((k), E_TABLE_SELECTION_MODEL_TYPE, ETableSelectionModelClass))
-#define E_IS_TABLE_SELECTION_MODEL(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_SELECTION_MODEL_TYPE))
-#define E_IS_TABLE_SELECTION_MODEL_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_SELECTION_MODEL_TYPE))
-
-typedef struct {
- ESelectionModelArray base;
-
- ETableModel *model;
- ETableHeader *eth;
-
- guint model_pre_change_id;
- guint model_changed_id;
- guint model_row_changed_id;
- guint model_cell_changed_id;
- guint model_rows_inserted_id;
- guint model_rows_deleted_id;
-
- guint model_changed_idle_id;
-
- guint selection_model_changed : 1;
- guint group_info_changed : 1;
-
- GHashTable *hash;
- char *cursor_id;
-} ETableSelectionModel;
-
-typedef struct {
- ESelectionModelArrayClass parent_class;
-} ETableSelectionModelClass;
-
-GType e_table_selection_model_get_type (void);
-ETableSelectionModel *e_table_selection_model_new (void);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* _E_TABLE_SELECTION_MODEL_H_ */
diff --git a/widgets/table/e-table-simple.c b/widgets/table/e-table-simple.c
deleted file mode 100644
index b7cf8f66be..0000000000
--- a/widgets/table/e-table-simple.c
+++ /dev/null
@@ -1,289 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-simple.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Miguel de Icaza <miguel.ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include "e-table-simple.h"
-#include "gal/util/e-util.h"
-
-static int
-simple_column_count (ETableModel *etm)
-{
- ETableSimple *simple = E_TABLE_SIMPLE(etm);
-
- if (simple->col_count)
- return simple->col_count (etm, simple->data);
- else
- return 0;
-}
-
-static int
-simple_row_count (ETableModel *etm)
-{
- ETableSimple *simple = E_TABLE_SIMPLE(etm);
-
- if (simple->row_count)
- return simple->row_count (etm, simple->data);
- else
- return 0;
-}
-
-static void
-simple_append_row (ETableModel *etm, ETableModel *source, int row)
-{
- ETableSimple *simple = E_TABLE_SIMPLE(etm);
-
- if (simple->append_row)
- simple->append_row (etm, source, row, simple->data);
-}
-
-static void *
-simple_value_at (ETableModel *etm, int col, int row)
-{
- ETableSimple *simple = E_TABLE_SIMPLE(etm);
-
- if (simple->value_at)
- return simple->value_at (etm, col, row, simple->data);
- else
- return NULL;
-}
-
-static void
-simple_set_value_at (ETableModel *etm, int col, int row, const void *val)
-{
- ETableSimple *simple = E_TABLE_SIMPLE(etm);
-
- if (simple->set_value_at)
- simple->set_value_at (etm, col, row, val, simple->data);
-}
-
-static gboolean
-simple_is_cell_editable (ETableModel *etm, int col, int row)
-{
- ETableSimple *simple = E_TABLE_SIMPLE(etm);
-
- if (simple->is_cell_editable)
- return simple->is_cell_editable (etm, col, row, simple->data);
- else
- return FALSE;
-}
-
-static gboolean
-simple_has_save_id (ETableModel *etm)
-{
- ETableSimple *simple = E_TABLE_SIMPLE(etm);
-
- if (simple->has_save_id)
- return simple->has_save_id (etm, simple->data);
- else
- return FALSE;
-}
-
-static char *
-simple_get_save_id (ETableModel *etm, int row)
-{
- ETableSimple *simple = E_TABLE_SIMPLE(etm);
-
- if (simple->get_save_id)
- return simple->get_save_id (etm, row, simple->data);
- else
- return NULL;
-}
-
-/* The default for simple_duplicate_value is to return the raw value. */
-static void *
-simple_duplicate_value (ETableModel *etm, int col, const void *value)
-{
- ETableSimple *simple = E_TABLE_SIMPLE(etm);
-
- if (simple->duplicate_value)
- return simple->duplicate_value (etm, col, value, simple->data);
- else
- return (void *)value;
-}
-
-static void
-simple_free_value (ETableModel *etm, int col, void *value)
-{
- ETableSimple *simple = E_TABLE_SIMPLE(etm);
-
- if (simple->free_value)
- simple->free_value (etm, col, value, simple->data);
-}
-
-static void *
-simple_initialize_value (ETableModel *etm, int col)
-{
- ETableSimple *simple = E_TABLE_SIMPLE(etm);
-
- if (simple->initialize_value)
- return simple->initialize_value (etm, col, simple->data);
- else
- return NULL;
-}
-
-static gboolean
-simple_value_is_empty (ETableModel *etm, int col, const void *value)
-{
- ETableSimple *simple = E_TABLE_SIMPLE(etm);
-
- if (simple->value_is_empty)
- return simple->value_is_empty (etm, col, value, simple->data);
- else
- return FALSE;
-}
-
-static char *
-simple_value_to_string (ETableModel *etm, int col, const void *value)
-{
- ETableSimple *simple = E_TABLE_SIMPLE(etm);
-
- if (simple->value_to_string)
- return simple->value_to_string (etm, col, value, simple->data);
- else
- return g_strdup ("");
-}
-
-static void
-e_table_simple_class_init (GObjectClass *object_class)
-{
- ETableModelClass *model_class = (ETableModelClass *) object_class;
-
- model_class->column_count = simple_column_count;
- model_class->row_count = simple_row_count;
- model_class->append_row = simple_append_row;
-
- model_class->value_at = simple_value_at;
- model_class->set_value_at = simple_set_value_at;
- model_class->is_cell_editable = simple_is_cell_editable;
-
- model_class->has_save_id = simple_has_save_id;
- model_class->get_save_id = simple_get_save_id;
-
- model_class->duplicate_value = simple_duplicate_value;
- model_class->free_value = simple_free_value;
- model_class->initialize_value = simple_initialize_value;
- model_class->value_is_empty = simple_value_is_empty;
- model_class->value_to_string = simple_value_to_string;
-}
-
-E_MAKE_TYPE(e_table_simple, "ETableSimple", ETableSimple, e_table_simple_class_init, NULL, E_TABLE_MODEL_TYPE)
-
-/**
- * e_table_simple_new:
- * @col_count:
- * @row_count:
- * @value_at:
- * @set_value_at:
- * @is_cell_editable:
- * @duplicate_value:
- * @free_value:
- * @initialize_value:
- * @value_is_empty:
- * @value_to_string:
- * @data: closure pointer.
- *
- * This initializes a new ETableSimpleModel object. ETableSimpleModel is
- * an implementaiton of the abstract class ETableModel. The ETableSimpleModel
- * is designed to allow people to easily create ETableModels without having
- * to create a new GtkType derived from ETableModel every time they need one.
- *
- * Instead, ETableSimpleModel uses a setup based in callback functions, every
- * callback function signature mimics the signature of each ETableModel method
- * and passes the extra @data pointer to each one of the method to provide them
- * with any context they might want to use.
- *
- * Returns: An ETableSimpleModel object (which is also an ETableModel
- * object).
- */
-ETableModel *
-e_table_simple_new (ETableSimpleColumnCountFn col_count,
- ETableSimpleRowCountFn row_count,
- ETableSimpleAppendRowFn append_row,
-
- ETableSimpleValueAtFn value_at,
- ETableSimpleSetValueAtFn set_value_at,
- ETableSimpleIsCellEditableFn is_cell_editable,
-
- ETableSimpleHasSaveIdFn has_save_id,
- ETableSimpleGetSaveIdFn get_save_id,
-
- ETableSimpleDuplicateValueFn duplicate_value,
- ETableSimpleFreeValueFn free_value,
- ETableSimpleInitializeValueFn initialize_value,
- ETableSimpleValueIsEmptyFn value_is_empty,
- ETableSimpleValueToStringFn value_to_string,
- void *data)
-{
- ETableSimple *et = g_object_new (E_TABLE_SIMPLE_TYPE, NULL);
-
- et->col_count = col_count;
- et->row_count = row_count;
- et->append_row = append_row;
-
- et->value_at = value_at;
- et->set_value_at = set_value_at;
- et->is_cell_editable = is_cell_editable;
-
- et->has_save_id = has_save_id;
- et->get_save_id = get_save_id;
-
- et->duplicate_value = duplicate_value;
- et->free_value = free_value;
- et->initialize_value = initialize_value;
- et->value_is_empty = value_is_empty;
- et->value_to_string = value_to_string;
- et->data = data;
-
- return (ETableModel *) et;
-}
-
-void *
-e_table_simple_string_duplicate_value (ETableModel *etm, int col, const void *val, void *data)
-{
- return g_strdup (val);
-}
-
-void
-e_table_simple_string_free_value (ETableModel *etm, int col, void *val, void *data)
-{
- g_free (val);
-}
-
-void *
-e_table_simple_string_initialize_value (ETableModel *etm, int col, void *data)
-{
- return g_strdup ("");
-}
-
-gboolean
-e_table_simple_string_value_is_empty (ETableModel *etm, int col, const void *val, void *data)
-{
- return !(val && * (char *) val);
-}
-
-char *
-e_table_simple_string_value_to_string (ETableModel *etm, int col, const void *val, void *data)
-{
- return g_strdup (val);
-}
diff --git a/widgets/table/e-table-simple.h b/widgets/table/e-table-simple.h
deleted file mode 100644
index 39800c3118..0000000000
--- a/widgets/table/e-table-simple.h
+++ /dev/null
@@ -1,122 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-simple.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Miguel de Icaza <miguel@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_SIMPLE_H_
-#define _E_TABLE_SIMPLE_H_
-
-#include <gal/e-table/e-table-model.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_SIMPLE_TYPE (e_table_simple_get_type ())
-#define E_TABLE_SIMPLE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_SIMPLE_TYPE, ETableSimple))
-#define E_TABLE_SIMPLE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_SIMPLE_TYPE, ETableSimpleClass))
-#define E_IS_TABLE_SIMPLE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_SIMPLE_TYPE))
-#define E_IS_TABLE_SIMPLE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_SIMPLE_TYPE))
-#define E_TABLE_SIMPLE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), E_TABLE_SIMPLE_TYPE, ETableSimpleClass))
-
-typedef int (*ETableSimpleColumnCountFn) (ETableModel *etm, void *data);
-typedef int (*ETableSimpleRowCountFn) (ETableModel *etm, void *data);
-typedef void (*ETableSimpleAppendRowFn) (ETableModel *etm, ETableModel *model, int row, void *data);
-
-typedef void *(*ETableSimpleValueAtFn) (ETableModel *etm, int col, int row, void *data);
-typedef void (*ETableSimpleSetValueAtFn) (ETableModel *etm, int col, int row, const void *val, void *data);
-typedef gboolean (*ETableSimpleIsCellEditableFn) (ETableModel *etm, int col, int row, void *data);
-
-typedef gboolean (*ETableSimpleHasSaveIdFn) (ETableModel *etm, void *data);
-typedef char *(*ETableSimpleGetSaveIdFn) (ETableModel *etm, int row, void *data);
-
-typedef void *(*ETableSimpleDuplicateValueFn) (ETableModel *etm, int col, const void *val, void *data);
-typedef void (*ETableSimpleFreeValueFn) (ETableModel *etm, int col, void *val, void *data);
-typedef void *(*ETableSimpleInitializeValueFn) (ETableModel *etm, int col, void *data);
-typedef gboolean (*ETableSimpleValueIsEmptyFn) (ETableModel *etm, int col, const void *val, void *data);
-typedef char *(*ETableSimpleValueToStringFn) (ETableModel *etm, int col, const void *val, void *data);
-
-typedef struct {
- ETableModel parent;
-
- ETableSimpleColumnCountFn col_count;
- ETableSimpleRowCountFn row_count;
- ETableSimpleAppendRowFn append_row;
-
- ETableSimpleValueAtFn value_at;
- ETableSimpleSetValueAtFn set_value_at;
- ETableSimpleIsCellEditableFn is_cell_editable;
-
- ETableSimpleHasSaveIdFn has_save_id;
- ETableSimpleGetSaveIdFn get_save_id;
-
- ETableSimpleDuplicateValueFn duplicate_value;
- ETableSimpleFreeValueFn free_value;
- ETableSimpleInitializeValueFn initialize_value;
- ETableSimpleValueIsEmptyFn value_is_empty;
- ETableSimpleValueToStringFn value_to_string;
- void *data;
-} ETableSimple;
-
-typedef struct {
- ETableModelClass parent_class;
-} ETableSimpleClass;
-
-GType e_table_simple_get_type (void);
-ETableModel *e_table_simple_new (ETableSimpleColumnCountFn col_count,
- ETableSimpleRowCountFn row_count,
- ETableSimpleAppendRowFn append_row,
- ETableSimpleValueAtFn value_at,
- ETableSimpleSetValueAtFn set_value_at,
- ETableSimpleIsCellEditableFn is_cell_editable,
- ETableSimpleHasSaveIdFn has_save_id,
- ETableSimpleGetSaveIdFn get_save_id,
- ETableSimpleDuplicateValueFn duplicate_value,
- ETableSimpleFreeValueFn free_value,
- ETableSimpleInitializeValueFn initialize_value,
- ETableSimpleValueIsEmptyFn value_is_empty,
- ETableSimpleValueToStringFn value_to_string,
- void *data);
-
-
-/* Helper functions for if your values are all just strings. */
-void *e_table_simple_string_duplicate_value (ETableModel *etm,
- int col,
- const void *val,
- void *data);
-void e_table_simple_string_free_value (ETableModel *etm,
- int col,
- void *val,
- void *data);
-void *e_table_simple_string_initialize_value (ETableModel *etm,
- int col,
- void *data);
-gboolean e_table_simple_string_value_is_empty (ETableModel *etm,
- int col,
- const void *val,
- void *data);
-char *e_table_simple_string_value_to_string (ETableModel *etm,
- int col,
- const void *val,
- void *data);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_SIMPLE_H_ */
diff --git a/widgets/table/e-table-size-test.c b/widgets/table/e-table-size-test.c
deleted file mode 100644
index 05a4245899..0000000000
--- a/widgets/table/e-table-size-test.c
+++ /dev/null
@@ -1,307 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-size-test.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <gnome.h>
-#include <gdk-pixbuf/gdk-pixbuf.h>
-#include "gal/e-util/e-cursors.h"
-#include "e-table-simple.h"
-#include "e-table-header.h"
-#include "e-table-header-item.h"
-#include "e-table-item.h"
-#include "e-cell-text.h"
-#include "e-cell-checkbox.h"
-#include "e-table.h"
-
-#include "table-test.h"
-
-/*
- * One way in which we make it simpler to build an ETableModel is through
- * the ETableSimple class. Instead of creating your own ETableModel
- * class, you simply create a new object of the ETableSimple class. You
- * give it a bunch of functions that act as callbacks.
- *
- * You also get to pass a void * to ETableSimple and it gets passed to
- * your callbacks. This would be for having multiple models of the same
- * type. This is just an example though, so we statically define all the
- * data and ignore the void *data parameter.
- *
- * In our example we will be creating a table model with 6 columns and 10
- * rows. This corresponds to having 6 different types of information and
- * 10 different sets of data in our database.
- *
- * The headers will be hard coded, as will be the example data.
- *
- */
-
-/*
- * There are two different meanings to the word "column". The first is
- * the model column. A model column corresponds to a specific type of
- * data. This is very much like the usage in a database table where a
- * column is a field in the database.
- *
- * The second type of column is a view column. A view column
- * corresponds to a visually displayed column. Each view column
- * corresponds to a specific model column, though a model column may
- * have any number of view columns associated with it, from zero to
- * greater than one.
- *
- * Also, a view column doesn't necessarily depend on only one model
- * column. In some cases, the view column renderer can be given a
- * reference to another column to get extra information about its
- * display.
-*/
-
-#define ROWS 5000
-#define COLS 4
-
-#define IMPORTANCE_COLUMN 4
-#define COLOR_COLUMN 5
-
-/*
- * Here we define the initial layout of the table. This is an xml
- * format that allows you to change the initial ordering of the
- * columns or to do sorting or grouping initially. This specification
- * shows all 5 columns, but moves the importance column nearer to the
- * front. It also sorts by the "Full Name" column (ascending.)
- * Sorting and grouping take the model column as their arguments
- * (sorting is specified by the "column" argument to the leaf elemnt.
- */
-
-#define INITIAL_SPEC "<ETableSpecification> \
- <columns-shown> \
- <column> 0 </column> \
- <column> 4 </column> \
- <column> 1 </column> \
- <column> 2 </column> \
- <column> 3 </column> \
- </columns-shown> \
- <grouping> <leaf column=\"1\" ascending=\"true\"/> </grouping> \
-</ETableSpecification>"
-
-char *headers [COLS] = {
- "Email",
- "Full Name",
- "Address",
- "Phone"
-};
-
-/*
- * Virtual Column list:
- * 0 Email
- * 1 Full Name
- * 2 Address
- * 3 Phone
- */
-
-/*
- * ETableSimple callbacks
- * These are the callbacks that define the behavior of our custom model.
- */
-
-/*
- * Since our model is a constant size, we can just return its size in
- * the column and row count fields.
- */
-
-/* This function returns the number of columns in our ETableModel. */
-static int
-my_col_count (ETableModel *etc, void *data)
-{
- return COLS;
-}
-
-/* This function returns the number of rows in our ETableModel. */
-static int
-my_row_count (ETableModel *etc, void *data)
-{
- return ROWS;
-}
-
-/* This function returns the value at a particular point in our ETableModel. */
-static void *
-my_value_at (ETableModel *etc, int col, int row, void *data)
-{
- static guchar t[] = {'A', 0xc3, 0x84, 0xc3, 0x95, 0xc3, 0x94, 0xc3, 0xb5, 0x00};
-
-#if 0
- if (col == 1) return "toshok@ximian.com";
-#else
- if (col == 1) return t;
-#endif
- else if (col == 2) return "Chris Toshok";
- else if (col == 3) return "43 Vicksburg, SF";
- else if (col == 4) return "415-867-5309";
- else return NULL;
-}
-
-/* This function sets the value at a particular point in our ETableModel. */
-static void
-my_set_value_at (ETableModel *etc, int col, int row, const void *val, void *data)
-{
-}
-
-/* This function returns whether a particular cell is editable. */
-static gboolean
-my_is_cell_editable (ETableModel *etc, int col, int row, void *data)
-{
- return FALSE;
-}
-
-/* This function duplicates the value passed to it. */
-static void *
-my_duplicate_value (ETableModel *etc, int col, const void *value, void *data)
-{
- return g_strdup (value);
-}
-
-/* This function frees the value passed to it. */
-static void
-my_free_value (ETableModel *etc, int col, void *value, void *data)
-{
- g_free (value);
-}
-
-/* This function creates an empty value. */
-static void *
-my_initialize_value (ETableModel *etc, int col, void *data)
-{
- return g_strdup ("");
-}
-
-/* This function reports if a value is empty. */
-static gboolean
-my_value_is_empty (ETableModel *etc, int col, const void *value, void *data)
-{
- return !(value && *(char *)value);
-}
-
-/* This function reports if a value is empty. */
-static char *
-my_value_to_string (ETableModel *etc, int col, const void *value, void *data)
-{
- return g_strdup(value);
-}
-
-/* We create a window containing our new table. */
-static void
-create_table (void)
-{
- GtkWidget *e_table, *window, *frame;
- ECell *cell_left_just;
- ETableHeader *e_table_header;
- ETableModel *e_table_model = NULL;
- int i;
-
- /* Next we create our model. This uses the functions we defined
- earlier. */
- e_table_model = e_table_simple_new (
- my_col_count, my_row_count, my_value_at,
- my_set_value_at, my_is_cell_editable,
- my_duplicate_value, my_free_value,
- my_initialize_value, my_value_is_empty,
- my_value_to_string,
- NULL);
- /*
- * Next we create a header. The ETableHeader is used in two
- * different way. The first is the full_header. This is the
- * list of possible columns in the view. The second use is
- * completely internal. Many of the ETableHeader functions are
- * for that purpose. The only functions we really need are
- * e_table_header_new and e_table_header_add_col.
- *
- * First we create the header.
- */
- e_table_header = e_table_header_new ();
-
- /*
- * Next we have to build renderers for all of the columns.
- * Since all our columns are text columns, we can simply use
- * the same renderer over and over again. If we had different
- * types of columns, we could use a different renderer for
- * each column.
- */
- cell_left_just = e_cell_text_new (e_table_model, NULL, GTK_JUSTIFY_LEFT);
-
- /*
- * Next we create a column object for each view column and add
- * them to the header. We don't create a column object for
- * the importance column since it will not be shown.
- */
- for (i = 0; i < COLS; i++) {
- /* Create the column. */
- ETableCol *ecol = e_table_col_new (
- i, headers [i],
- 1.0, 20, cell_left_just,
- g_str_compare, TRUE);
- /* Add it to the header. */
- e_table_header_add_column (e_table_header, ecol, i);
- }
-
- /*
- * Here we create a window for our new table. This window
- * will get shown and the person will be able to test their
- * item.
- */
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-
- /* This frame is simply to get a bevel around our table. */
- frame = gtk_frame_new (NULL);
-
- /*
- * Here we create the table. We give it the three pieces of
- * the table we've created, the header, the model, and the
- * initial layout. It does the rest.
- */
- e_table = e_table_new (e_table_header, e_table_model, INITIAL_SPEC);
-
- /* Build the gtk widget hierarchy. */
- gtk_container_add (GTK_CONTAINER (frame), e_table);
- gtk_container_add (GTK_CONTAINER (window), frame);
-
- /* Size the initial window. */
- gtk_widget_set_usize (window, 300, 200);
-
- /* Show it all. */
- gtk_widget_show_all (window);
-}
-
-/* This is the main function which just initializes gnome and call our create_table function */
-
-int
-main (int argc, char *argv [])
-{
- gnome_init ("TableExample", "TableExample", argc, argv);
- e_cursors_init ();
-
- gtk_widget_push_colormap (gdk_rgb_get_cmap ());
-
- create_table ();
-
- gtk_main ();
-
- e_cursors_shutdown ();
- return 0;
-}
-
diff --git a/widgets/table/e-table-sort-info.c b/widgets/table/e-table-sort-info.c
deleted file mode 100644
index ba8f9050ab..0000000000
--- a/widgets/table/e-table-sort-info.c
+++ /dev/null
@@ -1,481 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-sort-info.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-
-#include "e-table-sort-info.h"
-
-#include "gal/util/e-util.h"
-#include "gal/util/e-xml-utils.h"
-#include <string.h>
-
-#define ETM_CLASS(e) (E_TABLE_SORT_INFO_GET_CLASS (e))
-
-static GObjectClass *e_table_sort_info_parent_class;
-
-enum {
- SORT_INFO_CHANGED,
- GROUP_INFO_CHANGED,
- LAST_SIGNAL
-};
-
-static guint e_table_sort_info_signals [LAST_SIGNAL] = { 0, };
-
-static void
-etsi_finalize (GObject *object)
-{
- ETableSortInfo *etsi = E_TABLE_SORT_INFO (object);
-
- if (etsi->groupings)
- g_free(etsi->groupings);
- etsi->groupings = NULL;
-
- if (etsi->sortings)
- g_free(etsi->sortings);
- etsi->sortings = NULL;
-
- G_OBJECT_CLASS (e_table_sort_info_parent_class)->finalize (object);
-}
-
-static void
-e_table_sort_info_init (ETableSortInfo *info)
-{
- info->group_count = 0;
- info->groupings = NULL;
- info->sort_count = 0;
- info->sortings = NULL;
- info->frozen = 0;
- info->sort_info_changed = 0;
- info->group_info_changed = 0;
- info->can_group = 1;
-}
-
-static void
-e_table_sort_info_class_init (ETableSortInfoClass *klass)
-{
- GObjectClass * object_class = G_OBJECT_CLASS (klass);
-
- e_table_sort_info_parent_class = g_type_class_peek_parent (klass);
-
- object_class->finalize = etsi_finalize;
-
- e_table_sort_info_signals [SORT_INFO_CHANGED] =
- g_signal_new ("sort_info_changed",
- E_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableSortInfoClass, sort_info_changed),
- (GSignalAccumulator) NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- e_table_sort_info_signals [GROUP_INFO_CHANGED] =
- g_signal_new ("group_info_changed",
- E_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableSortInfoClass, group_info_changed),
- (GSignalAccumulator) NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- klass->sort_info_changed = NULL;
- klass->group_info_changed = NULL;
-}
-
-E_MAKE_TYPE(e_table_sort_info, "ETableSortInfo", ETableSortInfo,
- e_table_sort_info_class_init, e_table_sort_info_init, G_TYPE_OBJECT)
-
-static void
-e_table_sort_info_sort_info_changed (ETableSortInfo *info)
-{
- g_return_if_fail (info != NULL);
- g_return_if_fail (E_IS_TABLE_SORT_INFO (info));
-
- if (info->frozen) {
- info->sort_info_changed = 1;
- } else {
- g_signal_emit (G_OBJECT (info), e_table_sort_info_signals [SORT_INFO_CHANGED], 0);
- }
-}
-
-static void
-e_table_sort_info_group_info_changed (ETableSortInfo *info)
-{
- g_return_if_fail (info != NULL);
- g_return_if_fail (E_IS_TABLE_SORT_INFO (info));
-
- if (info->frozen) {
- info->group_info_changed = 1;
- } else {
- g_signal_emit (G_OBJECT (info), e_table_sort_info_signals [GROUP_INFO_CHANGED], 0);
- }
-}
-
-/**
- * e_table_sort_info_freeze:
- * @info: The ETableSortInfo object
- *
- * This functions allows the programmer to cluster various changes to the
- * ETableSortInfo (grouping and sorting) without having the object emit
- * "group_info_changed" or "sort_info_changed" signals on each change.
- *
- * To thaw, invoke the e_table_sort_info_thaw() function, which will
- * trigger any signals that might have been queued.
- */
-void
-e_table_sort_info_freeze (ETableSortInfo *info)
-{
- info->frozen++;
-}
-
-/**
- * e_table_sort_info_thaw:
- * @info: The ETableSortInfo object
- *
- * This functions allows the programmer to cluster various changes to the
- * ETableSortInfo (grouping and sorting) without having the object emit
- * "group_info_changed" or "sort_info_changed" signals on each change.
- *
- * This function will flush any pending signals that might be emited by
- * this object.
- */
-void
-e_table_sort_info_thaw (ETableSortInfo *info)
-{
- info->frozen--;
- if (info->frozen != 0)
- return;
-
- if (info->sort_info_changed) {
- info->sort_info_changed = 0;
- e_table_sort_info_sort_info_changed(info);
- }
- if (info->group_info_changed) {
- info->group_info_changed = 0;
- e_table_sort_info_group_info_changed(info);
- }
-}
-
-/**
- * e_table_sort_info_grouping_get_count:
- * @info: The ETableSortInfo object
- *
- * Returns: the number of grouping criteria in the object.
- */
-guint
-e_table_sort_info_grouping_get_count (ETableSortInfo *info)
-{
- if (info->can_group)
- return info->group_count;
- else
- return 0;
-}
-
-static void
-e_table_sort_info_grouping_real_truncate (ETableSortInfo *info, int length)
-{
- if (length < info->group_count) {
- info->group_count = length;
- }
- if (length > info->group_count) {
- info->groupings = g_realloc(info->groupings, length * sizeof(ETableSortColumn));
- info->group_count = length;
- }
-}
-
-/**
- * e_table_sort_info_grouping_truncate:
- * @info: The ETableSortInfo object
- * @lenght: position where the truncation happens.
- *
- * This routine can be used to reduce or grow the number of grouping
- * criteria in the object.
- */
-void
-e_table_sort_info_grouping_truncate (ETableSortInfo *info, int length)
-{
- e_table_sort_info_grouping_real_truncate(info, length);
- e_table_sort_info_group_info_changed(info);
-}
-
-/**
- * e_table_sort_info_grouping_get_nth:
- * @info: The ETableSortInfo object
- * @n: Item information to fetch.
- *
- * Returns: the description of the @n-th grouping criteria in the @info object.
- */
-ETableSortColumn
-e_table_sort_info_grouping_get_nth (ETableSortInfo *info, int n)
-{
- if (info->can_group && n < info->group_count) {
- return info->groupings[n];
- } else {
- ETableSortColumn fake = {0, 0};
- return fake;
- }
-}
-
-/**
- * e_table_sort_info_grouping_set_nth:
- * @info: The ETableSortInfo object
- * @n: Item information to fetch.
- * @column: new values for the grouping
- *
- * Sets the grouping criteria for index @n to be given by @column (a column number and
- * whether it is ascending or descending).
- */
-void
-e_table_sort_info_grouping_set_nth (ETableSortInfo *info, int n, ETableSortColumn column)
-{
- if (n >= info->group_count) {
- e_table_sort_info_grouping_real_truncate(info, n + 1);
- }
- info->groupings[n] = column;
- e_table_sort_info_group_info_changed(info);
-}
-
-
-/**
- * e_table_sort_info_get_count:
- * @info: The ETableSortInfo object
- *
- * Returns: the number of sorting criteria in the object.
- */
-guint
-e_table_sort_info_sorting_get_count (ETableSortInfo *info)
-{
- return info->sort_count;
-}
-
-static void
-e_table_sort_info_sorting_real_truncate (ETableSortInfo *info, int length)
-{
- if (length < info->sort_count) {
- info->sort_count = length;
- }
- if (length > info->sort_count) {
- info->sortings = g_realloc(info->sortings, length * sizeof(ETableSortColumn));
- info->sort_count = length;
- }
-}
-
-/**
- * e_table_sort_info_sorting_truncate:
- * @info: The ETableSortInfo object
- * @lenght: position where the truncation happens.
- *
- * This routine can be used to reduce or grow the number of sort
- * criteria in the object.
- */
-void
-e_table_sort_info_sorting_truncate (ETableSortInfo *info, int length)
-{
- e_table_sort_info_sorting_real_truncate (info, length);
- e_table_sort_info_sort_info_changed(info);
-}
-
-/**
- * e_table_sort_info_sorting_get_nth:
- * @info: The ETableSortInfo object
- * @n: Item information to fetch.
- *
- * Returns: the description of the @n-th grouping criteria in the @info object.
- */
-ETableSortColumn
-e_table_sort_info_sorting_get_nth (ETableSortInfo *info, int n)
-{
- if (n < info->sort_count) {
- return info->sortings[n];
- } else {
- ETableSortColumn fake = {0, 0};
- return fake;
- }
-}
-
-/**
- * e_table_sort_info_sorting_get_nth:
- * @info: The ETableSortInfo object
- * @n: Item information to fetch.
- * @column: new values for the sorting
- *
- * Sets the sorting criteria for index @n to be given by @column (a
- * column number and whether it is ascending or descending).
- */
-void
-e_table_sort_info_sorting_set_nth (ETableSortInfo *info, int n, ETableSortColumn column)
-{
- if (n >= info->sort_count) {
- e_table_sort_info_sorting_real_truncate(info, n + 1);
- }
- info->sortings[n] = column;
- e_table_sort_info_sort_info_changed(info);
-}
-
-/**
- * e_table_sort_info_new:
- *
- * This creates a new e_table_sort_info object that contains no
- * grouping and no sorting defined as of yet. This object is used
- * to keep track of multi-level sorting and multi-level grouping of
- * the ETable.
- *
- * Returns: A new %ETableSortInfo object
- */
-ETableSortInfo *
-e_table_sort_info_new (void)
-{
- return g_object_new (E_TABLE_SORT_INFO_TYPE, NULL);
-}
-
-/**
- * e_table_sort_info_load_from_node:
- * @info: The ETableSortInfo object
- * @node: pointer to the xmlNode that describes the sorting and grouping information
- * @state_version:
- *
- * This loads the state for the %ETableSortInfo object @info from the
- * xml node @node.
- */
-void
-e_table_sort_info_load_from_node (ETableSortInfo *info,
- xmlNode *node,
- gdouble state_version)
-{
- int i;
- xmlNode *grouping;
-
- if (state_version <= 0.05) {
- i = 0;
- for (grouping = node->xmlChildrenNode; grouping && !strcmp (grouping->name, "group"); grouping = grouping->xmlChildrenNode) {
- ETableSortColumn column;
- column.column = e_xml_get_integer_prop_by_name (grouping, "column");
- column.ascending = e_xml_get_bool_prop_by_name (grouping, "ascending");
- e_table_sort_info_grouping_set_nth(info, i++, column);
- }
- i = 0;
- for (; grouping && !strcmp (grouping->name, "leaf"); grouping = grouping->xmlChildrenNode) {
- ETableSortColumn column;
- column.column = e_xml_get_integer_prop_by_name (grouping, "column");
- column.ascending = e_xml_get_bool_prop_by_name (grouping, "ascending");
- e_table_sort_info_sorting_set_nth(info, i++, column);
- }
- } else {
- gint gcnt = 0;
- gint scnt = 0;
- for (grouping = node->children; grouping; grouping = grouping->next) {
- ETableSortColumn column;
-
- if (grouping->type != XML_ELEMENT_NODE)
- continue;
-
- if (!strcmp (grouping->name, "group")) {
- column.column = e_xml_get_integer_prop_by_name (grouping, "column");
- column.ascending = e_xml_get_bool_prop_by_name (grouping, "ascending");
- e_table_sort_info_grouping_set_nth(info, gcnt++, column);
- } else if (!strcmp (grouping->name, "leaf")) {
- column.column = e_xml_get_integer_prop_by_name (grouping, "column");
- column.ascending = e_xml_get_bool_prop_by_name (grouping, "ascending");
- e_table_sort_info_sorting_set_nth(info, scnt++, column);
- }
- }
- }
- g_signal_emit (G_OBJECT (info), e_table_sort_info_signals [SORT_INFO_CHANGED], 0);
-}
-
-/**
- * e_table_sort_info_save_to_node:
- * @info: The ETableSortInfo object
- * @parent: xmlNode that will be hosting the saved state of the @info object.
- *
- * This function is used
- *
- * Returns: the node that has been appended to @parent as a child containing
- * the sorting and grouping information for this ETableSortInfo object.
- */
-xmlNode *
-e_table_sort_info_save_to_node (ETableSortInfo *info,
- xmlNode *parent)
-{
- xmlNode *grouping;
- xmlNode *node;
- int i;
- const int sort_count = e_table_sort_info_sorting_get_count (info);
- const int group_count = e_table_sort_info_grouping_get_count (info);
-
- grouping = xmlNewChild (parent, NULL, "grouping", NULL);
-
- for (i = 0; i < group_count; i++) {
- ETableSortColumn column = e_table_sort_info_grouping_get_nth(info, i);
- xmlNode *new_node = xmlNewChild(grouping, NULL, "group", NULL);
-
- e_xml_set_integer_prop_by_name (new_node, "column", column.column);
- e_xml_set_bool_prop_by_name (new_node, "ascending", column.ascending);
- node = new_node;
- }
-
- for (i = 0; i < sort_count; i++) {
- ETableSortColumn column = e_table_sort_info_sorting_get_nth(info, i);
- xmlNode *new_node = xmlNewChild(grouping, NULL, "leaf", NULL);
-
- e_xml_set_integer_prop_by_name (new_node, "column", column.column);
- e_xml_set_bool_prop_by_name (new_node, "ascending", column.ascending);
- node = new_node;
- }
-
- return grouping;
-}
-
-ETableSortInfo *
-e_table_sort_info_duplicate (ETableSortInfo *info)
-{
- ETableSortInfo *new_info;
-
- new_info = e_table_sort_info_new();
-
- new_info->group_count = info->group_count;
- new_info->groupings = g_new(ETableSortColumn, new_info->group_count);
- memmove(new_info->groupings, info->groupings, sizeof (ETableSortColumn) * new_info->group_count);
-
- new_info->sort_count = info->sort_count;
- new_info->sortings = g_new(ETableSortColumn, new_info->sort_count);
- memmove(new_info->sortings, info->sortings, sizeof (ETableSortColumn) * new_info->sort_count);
-
- new_info->can_group = info->can_group;
-
- return new_info;
-}
-
-void
-e_table_sort_info_set_can_group (ETableSortInfo *info,
- gboolean can_group)
-{
- info->can_group = can_group;
-}
-
-gboolean
-e_table_sort_info_get_can_group (ETableSortInfo *info)
-{
- return info->can_group;
-}
-
-
diff --git a/widgets/table/e-table-sort-info.h b/widgets/table/e-table-sort-info.h
deleted file mode 100644
index 4710fbd453..0000000000
--- a/widgets/table/e-table-sort-info.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-sort-info.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_SORT_INFO_H_
-#define _E_TABLE_SORT_INFO_H_
-
-#include <glib-object.h>
-#include <libxml/tree.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_SORT_INFO_TYPE (e_table_sort_info_get_type ())
-#define E_TABLE_SORT_INFO(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_SORT_INFO_TYPE, ETableSortInfo))
-#define E_TABLE_SORT_INFO_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_SORT_INFO_TYPE, ETableSortInfoClass))
-#define E_IS_TABLE_SORT_INFO(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_SORT_INFO_TYPE))
-#define E_IS_TABLE_SORT_INFO_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_SORT_INFO_TYPE))
-#define E_TABLE_SORT_INFO_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), E_TABLE_SORT_INFO_TYPE, ETableSortInfoClass))
-
-typedef struct _ETableSortColumn ETableSortColumn;
-
-struct _ETableSortColumn {
- guint column : 31;
- guint ascending : 1;
-};
-
-typedef struct {
- GObject base;
-
- gint group_count;
- ETableSortColumn *groupings;
- gint sort_count;
- ETableSortColumn *sortings;
-
- guint frozen : 1;
- guint sort_info_changed : 1;
- guint group_info_changed : 1;
-
- guint can_group : 1;
-} ETableSortInfo;
-
-typedef struct {
- GObjectClass parent_class;
-
- /*
- * Signals
- */
- void (*sort_info_changed) (ETableSortInfo *info);
- void (*group_info_changed) (ETableSortInfo *info);
-} ETableSortInfoClass;
-
-GType e_table_sort_info_get_type (void);
-
-void e_table_sort_info_freeze (ETableSortInfo *info);
-void e_table_sort_info_thaw (ETableSortInfo *info);
-
-guint e_table_sort_info_grouping_get_count (ETableSortInfo *info);
-void e_table_sort_info_grouping_truncate (ETableSortInfo *info,
- int length);
-ETableSortColumn e_table_sort_info_grouping_get_nth (ETableSortInfo *info,
- int n);
-void e_table_sort_info_grouping_set_nth (ETableSortInfo *info,
- int n,
- ETableSortColumn column);
-
-guint e_table_sort_info_sorting_get_count (ETableSortInfo *info);
-void e_table_sort_info_sorting_truncate (ETableSortInfo *info,
- int length);
-ETableSortColumn e_table_sort_info_sorting_get_nth (ETableSortInfo *info,
- int n);
-void e_table_sort_info_sorting_set_nth (ETableSortInfo *info,
- int n,
- ETableSortColumn column);
-
-ETableSortInfo *e_table_sort_info_new (void);
-void e_table_sort_info_load_from_node (ETableSortInfo *info,
- xmlNode *node,
- gdouble state_version);
-xmlNode *e_table_sort_info_save_to_node (ETableSortInfo *info,
- xmlNode *parent);
-ETableSortInfo *e_table_sort_info_duplicate (ETableSortInfo *info);
-void e_table_sort_info_set_can_group (ETableSortInfo *info,
- gboolean can_group);
-gboolean e_table_sort_info_get_can_group (ETableSortInfo *info);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_SORT_INFO_H_ */
diff --git a/widgets/table/e-table-sorted-variable.c b/widgets/table/e-table-sorted-variable.c
deleted file mode 100644
index ac3a7d5067..0000000000
--- a/widgets/table/e-table-sorted-variable.c
+++ /dev/null
@@ -1,230 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-sorted-variable.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <stdlib.h>
-#include <string.h>
-#include "gal/util/e-util.h"
-#include "e-table-sorted-variable.h"
-#include "e-table-sorting-utils.h"
-
-#define d(x)
-
-#define INCREMENT_AMOUNT 100
-
-/* maximum insertions between an idle event that we will do without scheduling an idle sort */
-#define ETSV_INSERT_MAX (4)
-
-static ETableSubsetVariableClass *etsv_parent_class;
-
-static void etsv_sort_info_changed (ETableSortInfo *info, ETableSortedVariable *etsv);
-static void etsv_sort (ETableSortedVariable *etsv);
-static void etsv_add (ETableSubsetVariable *etssv, gint row);
-static void etsv_add_all (ETableSubsetVariable *etssv);
-
-static void
-etsv_dispose (GObject *object)
-{
- ETableSortedVariable *etsv = E_TABLE_SORTED_VARIABLE (object);
-
- if (etsv->sort_info_changed_id)
- g_signal_handler_disconnect (G_OBJECT (etsv->sort_info),
- etsv->sort_info_changed_id);
- etsv->sort_info_changed_id = 0;
-
- if (etsv->sort_idle_id) {
- g_source_remove(etsv->sort_idle_id);
- etsv->sort_idle_id = 0;
- }
- if (etsv->insert_idle_id) {
- g_source_remove(etsv->insert_idle_id);
- etsv->insert_idle_id = 0;
- }
-
- if (etsv->sort_info)
- g_object_unref(etsv->sort_info);
- etsv->sort_info = NULL;
-
- if (etsv->full_header)
- g_object_unref(etsv->full_header);
- etsv->full_header = NULL;
-
- G_OBJECT_CLASS (etsv_parent_class)->dispose (object);
-}
-
-static void
-etsv_class_init (GObjectClass *object_class)
-{
- ETableSubsetVariableClass *etssv_class = E_TABLE_SUBSET_VARIABLE_CLASS(object_class);
-
- etsv_parent_class = g_type_class_peek_parent (object_class);
-
- object_class->dispose = etsv_dispose;
-
- etssv_class->add = etsv_add;
- etssv_class->add_all = etsv_add_all;
-}
-
-static void
-etsv_init (ETableSortedVariable *etsv)
-{
- etsv->full_header = NULL;
- etsv->sort_info = NULL;
-
- etsv->sort_info_changed_id = 0;
-
- etsv->sort_idle_id = 0;
- etsv->insert_count = 0;
-}
-
-E_MAKE_TYPE(e_table_sorted_variable, "ETableSortedVariable", ETableSortedVariable, etsv_class_init, etsv_init, E_TABLE_SUBSET_VARIABLE_TYPE)
-
-static gboolean
-etsv_sort_idle(ETableSortedVariable *etsv)
-{
- g_object_ref(etsv);
- etsv_sort(etsv);
- etsv->sort_idle_id = 0;
- etsv->insert_count = 0;
- g_object_unref(etsv);
- return FALSE;
-}
-
-static gboolean
-etsv_insert_idle(ETableSortedVariable *etsv)
-{
- etsv->insert_count = 0;
- etsv->insert_idle_id = 0;
- return FALSE;
-}
-
-
-static void
-etsv_add (ETableSubsetVariable *etssv,
- gint row)
-{
- ETableModel *etm = E_TABLE_MODEL(etssv);
- ETableSubset *etss = E_TABLE_SUBSET(etssv);
- ETableSortedVariable *etsv = E_TABLE_SORTED_VARIABLE (etssv);
- int i;
-
- e_table_model_pre_change (etm);
-
- if (etss->n_map + 1 > etssv->n_vals_allocated) {
- etssv->n_vals_allocated += INCREMENT_AMOUNT;
- etss->map_table = g_realloc (etss->map_table, (etssv->n_vals_allocated) * sizeof(int));
- }
- i = etss->n_map;
- if (etsv->sort_idle_id == 0) {
- /* this is to see if we're inserting a lot of things between idle loops.
- If we are, we're busy, its faster to just append and perform a full sort later */
- etsv->insert_count++;
- if (etsv->insert_count > ETSV_INSERT_MAX) {
- /* schedule a sort, and append instead */
- etsv->sort_idle_id = g_idle_add_full(50, (GSourceFunc) etsv_sort_idle, etsv, NULL);
- } else {
- /* make sure we have an idle handler to reset the count every now and then */
- if (etsv->insert_idle_id == 0) {
- etsv->insert_idle_id = g_idle_add_full(40, (GSourceFunc) etsv_insert_idle, etsv, NULL);
- }
- i = e_table_sorting_utils_insert(etss->source, etsv->sort_info, etsv->full_header, etss->map_table, etss->n_map, row);
- memmove(etss->map_table + i + 1, etss->map_table + i, (etss->n_map - i) * sizeof(int));
- }
- }
- etss->map_table[i] = row;
- etss->n_map++;
-
- e_table_model_row_inserted (etm, i);
-}
-
-static void
-etsv_add_all (ETableSubsetVariable *etssv)
-{
- ETableModel *etm = E_TABLE_MODEL(etssv);
- ETableSubset *etss = E_TABLE_SUBSET(etssv);
- ETableSortedVariable *etsv = E_TABLE_SORTED_VARIABLE (etssv);
- int rows;
- int i;
-
- e_table_model_pre_change(etm);
-
- rows = e_table_model_row_count(etss->source);
-
- if (etss->n_map + rows > etssv->n_vals_allocated){
- etssv->n_vals_allocated += MAX(INCREMENT_AMOUNT, rows);
- etss->map_table = g_realloc (etss->map_table, etssv->n_vals_allocated * sizeof(int));
- }
- for (i = 0; i < rows; i++)
- etss->map_table[etss->n_map++] = i;
-
- if (etsv->sort_idle_id == 0) {
- etsv->sort_idle_id = g_idle_add_full(50, (GSourceFunc) etsv_sort_idle, etsv, NULL);
- }
-
- e_table_model_changed (etm);
-}
-
-ETableModel *
-e_table_sorted_variable_new (ETableModel *source, ETableHeader *full_header, ETableSortInfo *sort_info)
-{
- ETableSortedVariable *etsv = g_object_new (E_TABLE_SORTED_VARIABLE_TYPE, NULL);
- ETableSubsetVariable *etssv = E_TABLE_SUBSET_VARIABLE (etsv);
-
- if (e_table_subset_variable_construct (etssv, source) == NULL){
- g_object_unref (etsv);
- return NULL;
- }
-
- etsv->sort_info = sort_info;
- g_object_ref(etsv->sort_info);
- etsv->full_header = full_header;
- g_object_ref(etsv->full_header);
-
- etsv->sort_info_changed_id = g_signal_connect (G_OBJECT (sort_info), "sort_info_changed",
- G_CALLBACK (etsv_sort_info_changed), etsv);
-
- return E_TABLE_MODEL(etsv);
-}
-
-static void
-etsv_sort_info_changed (ETableSortInfo *info, ETableSortedVariable *etsv)
-{
- etsv_sort(etsv);
-}
-
-static void
-etsv_sort(ETableSortedVariable *etsv)
-{
- ETableSubset *etss = E_TABLE_SUBSET(etsv);
- static int reentering = 0;
- if (reentering)
- return;
- reentering = 1;
-
- e_table_model_pre_change(E_TABLE_MODEL(etsv));
-
- e_table_sorting_utils_sort(etss->source, etsv->sort_info, etsv->full_header, etss->map_table, etss->n_map);
-
- e_table_model_changed (E_TABLE_MODEL(etsv));
- reentering = 0;
-}
diff --git a/widgets/table/e-table-sorted-variable.h b/widgets/table/e-table-sorted-variable.h
deleted file mode 100644
index 546d04b240..0000000000
--- a/widgets/table/e-table-sorted-variable.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-sorted-variable.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_SORTED_VARIABLE_H_
-#define _E_TABLE_SORTED_VARIABLE_H_
-
-#include <glib-object.h>
-#include <gal/e-table/e-table-model.h>
-#include <gal/e-table/e-table-subset-variable.h>
-#include <gal/e-table/e-table-sort-info.h>
-#include <gal/e-table/e-table-header.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_SORTED_VARIABLE_TYPE (e_table_sorted_variable_get_type ())
-#define E_TABLE_SORTED_VARIABLE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_SORTED_VARIABLE_TYPE, ETableSortedVariable))
-#define E_TABLE_SORTED_VARIABLE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_SORTED_VARIABLE_TYPE, ETableSortedVariableClass))
-#define E_IS_TABLE_SORTED_VARIABLE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_SORTED_VARIABLE_TYPE))
-#define E_IS_TABLE_SORTED_VARIABLE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_SORTED_VARIABLE_TYPE))
-#define E_TABLE_SORTED_VARIABLE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), E_TABLE_SORTED_VARIABLE_TYPE, ETableSortedVariableClass))
-
-typedef struct {
- ETableSubsetVariable base;
-
- ETableSortInfo *sort_info;
-
- ETableHeader *full_header;
-
- int sort_info_changed_id;
- int sort_idle_id;
- int insert_idle_id;
- int insert_count;
-
-} ETableSortedVariable;
-
-typedef struct {
- ETableSubsetVariableClass parent_class;
-} ETableSortedVariableClass;
-
-GType e_table_sorted_variable_get_type (void);
-ETableModel *e_table_sorted_variable_new (ETableModel *etm, ETableHeader *header, ETableSortInfo *sort_info);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_SORTED_VARIABLE_H_ */
diff --git a/widgets/table/e-table-sorted.c b/widgets/table/e-table-sorted.c
deleted file mode 100644
index a5b5acb8cf..0000000000
--- a/widgets/table/e-table-sorted.c
+++ /dev/null
@@ -1,310 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-sorted.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <stdlib.h>
-#include <string.h>
-#include "gal/util/e-util.h"
-#include "e-table-sorted.h"
-#include "e-table-sorting-utils.h"
-
-#define d(x)
-
-#define INCREMENT_AMOUNT 100
-
-/* maximum insertions between an idle event that we will do without scheduling an idle sort */
-#define ETS_INSERT_MAX (4)
-
-static ETableSubsetClass *ets_parent_class;
-
-static void ets_sort_info_changed (ETableSortInfo *info, ETableSorted *ets);
-static void ets_sort (ETableSorted *ets);
-static void ets_proxy_model_changed (ETableSubset *etss, ETableModel *source);
-static void ets_proxy_model_row_changed (ETableSubset *etss, ETableModel *source, int row);
-static void ets_proxy_model_cell_changed (ETableSubset *etss, ETableModel *source, int col, int row);
-static void ets_proxy_model_rows_inserted (ETableSubset *etss, ETableModel *source, int row, int count);
-static void ets_proxy_model_rows_deleted (ETableSubset *etss, ETableModel *source, int row, int count);
-
-static void
-ets_dispose (GObject *object)
-{
- ETableSorted *ets = E_TABLE_SORTED (object);
-
- if (ets->sort_idle_id)
- g_source_remove(ets->sort_idle_id);
- ets->sort_idle_id = 0;
-
- if (ets->insert_idle_id)
- g_source_remove(ets->insert_idle_id);
- ets->insert_idle_id = 0;
-
- if (ets->sort_info) {
- g_signal_handler_disconnect (G_OBJECT (ets->sort_info),
- ets->sort_info_changed_id);
- g_object_unref(ets->sort_info);
- ets->sort_info = NULL;
- }
-
- if (ets->full_header)
- g_object_unref(ets->full_header);
- ets->full_header = NULL;
-
- G_OBJECT_CLASS (ets_parent_class)->dispose (object);
-}
-
-static void
-ets_class_init (GObjectClass *object_class)
-{
- ETableSubsetClass *etss_class = E_TABLE_SUBSET_CLASS(object_class);
-
- ets_parent_class = g_type_class_peek_parent (object_class);
-
- etss_class->proxy_model_changed = ets_proxy_model_changed;
- etss_class->proxy_model_row_changed = ets_proxy_model_row_changed;
- etss_class->proxy_model_cell_changed = ets_proxy_model_cell_changed;
- etss_class->proxy_model_rows_inserted = ets_proxy_model_rows_inserted;
- etss_class->proxy_model_rows_deleted = ets_proxy_model_rows_deleted;
-
- object_class->dispose = ets_dispose;
-}
-
-static void
-ets_init (ETableSorted *ets)
-{
- ets->full_header = NULL;
- ets->sort_info = NULL;
-
- ets->sort_info_changed_id = 0;
-
- ets->sort_idle_id = 0;
- ets->insert_count = 0;
-}
-
-E_MAKE_TYPE(e_table_sorted, "ETableSorted", ETableSorted, ets_class_init, ets_init, E_TABLE_SUBSET_TYPE)
-
-static gboolean
-ets_sort_idle(ETableSorted *ets)
-{
- g_object_ref(ets);
- ets_sort(ets);
- ets->sort_idle_id = 0;
- ets->insert_count = 0;
- g_object_unref(ets);
- return FALSE;
-}
-
-static gboolean
-ets_insert_idle(ETableSorted *ets)
-{
- ets->insert_count = 0;
- ets->insert_idle_id = 0;
- return FALSE;
-}
-
-ETableModel *
-e_table_sorted_new (ETableModel *source, ETableHeader *full_header, ETableSortInfo *sort_info)
-{
- ETableSorted *ets = g_object_new (E_TABLE_SORTED_TYPE, NULL);
- ETableSubset *etss = E_TABLE_SUBSET (ets);
-
- if (ets_parent_class->proxy_model_pre_change)
- (ets_parent_class->proxy_model_pre_change) (etss, source);
-
- if (e_table_subset_construct (etss, source, 0) == NULL){
- g_object_unref (ets);
- return NULL;
- }
-
- ets->sort_info = sort_info;
- g_object_ref(ets->sort_info);
- ets->full_header = full_header;
- g_object_ref(ets->full_header);
-
- ets_proxy_model_changed(etss, source);
-
- ets->sort_info_changed_id = g_signal_connect (G_OBJECT (sort_info), "sort_info_changed",
- G_CALLBACK (ets_sort_info_changed), ets);
-
- return E_TABLE_MODEL(ets);
-}
-
-static void
-ets_sort_info_changed (ETableSortInfo *info, ETableSorted *ets)
-{
- ets_sort(ets);
-}
-
-static void
-ets_proxy_model_changed (ETableSubset *subset, ETableModel *source)
-{
- int rows, i;
-
- rows = e_table_model_row_count(source);
-
- g_free(subset->map_table);
- subset->n_map = rows;
- subset->map_table = g_new(int, rows);
-
- for (i = 0; i < rows; i++) {
- subset->map_table[i] = i;
- }
-
- if (!E_TABLE_SORTED(subset)->sort_idle_id)
- E_TABLE_SORTED(subset)->sort_idle_id = g_idle_add_full(50, (GSourceFunc) ets_sort_idle, subset, NULL);
-
- e_table_model_changed(E_TABLE_MODEL(subset));
-}
-
-static void
-ets_proxy_model_row_changed (ETableSubset *subset, ETableModel *source, int row)
-{
- if (!E_TABLE_SORTED(subset)->sort_idle_id)
- E_TABLE_SORTED(subset)->sort_idle_id = g_idle_add_full(50, (GSourceFunc) ets_sort_idle, subset, NULL);
-
- if (ets_parent_class->proxy_model_row_changed)
- (ets_parent_class->proxy_model_row_changed) (subset, source, row);
-}
-
-static void
-ets_proxy_model_cell_changed (ETableSubset *subset, ETableModel *source, int col, int row)
-{
- ETableSorted *ets = E_TABLE_SORTED(subset);
- if (e_table_sorting_utils_affects_sort(ets->sort_info, ets->full_header, col))
- ets_proxy_model_row_changed(subset, source, row);
- else if (ets_parent_class->proxy_model_cell_changed)
- (ets_parent_class->proxy_model_cell_changed) (subset, source, col, row);
-}
-
-static void
-ets_proxy_model_rows_inserted (ETableSubset *etss, ETableModel *source, int row, int count)
-{
- ETableModel *etm = E_TABLE_MODEL(etss);
- ETableSorted *ets = E_TABLE_SORTED(etss);
- int i;
- gboolean full_change = FALSE;
-
- if (count == 0) {
- e_table_model_no_change (etm);
- return;
- }
-
- if (row != etss->n_map) {
- full_change = TRUE;
- for (i = 0; i < etss->n_map; i++) {
- if (etss->map_table[i] >= row) {
- etss->map_table[i] += count;
- }
- }
- }
-
- etss->map_table = g_realloc (etss->map_table, (etss->n_map + count) * sizeof(int));
-
- for (; count > 0; count --) {
- if (!full_change)
- e_table_model_pre_change (etm);
- i = etss->n_map;
- if (ets->sort_idle_id == 0) {
- /* this is to see if we're inserting a lot of things between idle loops.
- If we are, we're busy, its faster to just append and perform a full sort later */
- ets->insert_count++;
- if (ets->insert_count > ETS_INSERT_MAX) {
- /* schedule a sort, and append instead */
- ets->sort_idle_id = g_idle_add_full(50, (GSourceFunc) ets_sort_idle, ets, NULL);
- } else {
- /* make sure we have an idle handler to reset the count every now and then */
- if (ets->insert_idle_id == 0) {
- ets->insert_idle_id = g_idle_add_full(40, (GSourceFunc) ets_insert_idle, ets, NULL);
- }
- i = e_table_sorting_utils_insert(etss->source, ets->sort_info, ets->full_header, etss->map_table, etss->n_map, row);
- memmove(etss->map_table + i + 1, etss->map_table + i, (etss->n_map - i) * sizeof(int));
- }
- }
- etss->map_table[i] = row;
- etss->n_map++;
- if (!full_change) {
- e_table_model_row_inserted (etm, i);
- }
-
- d(g_print("inserted row %d", row));
- row++;
- }
- if (full_change)
- e_table_model_changed (etm);
- else
- e_table_model_no_change (etm);
- d(e_table_subset_print_debugging(etss));
-}
-
-static void
-ets_proxy_model_rows_deleted (ETableSubset *etss, ETableModel *source, int row, int count)
-{
- ETableModel *etm = E_TABLE_MODEL(etss);
- int i;
- gboolean shift;
- int j;
-
- shift = row == etss->n_map - count;
-
- for (j = 0; j < count; j++) {
- for (i = 0; i < etss->n_map; i++){
- if (etss->map_table[i] == row + j) {
- if (shift)
- e_table_model_pre_change (etm);
- memmove (etss->map_table + i, etss->map_table + i + 1, (etss->n_map - i - 1) * sizeof(int));
- etss->n_map --;
- if (shift)
- e_table_model_row_deleted (etm, i);
- }
- }
- }
- if (!shift) {
- for (i = 0; i < etss->n_map; i++) {
- if (etss->map_table[i] >= row)
- etss->map_table[i] -= count;
- }
-
- e_table_model_changed (etm);
- } else {
- e_table_model_no_change (etm);
- }
-
- d(g_print("deleted row %d count %d", row, count));
- d(e_table_subset_print_debugging(etss));
-}
-
-static void
-ets_sort(ETableSorted *ets)
-{
- ETableSubset *etss = E_TABLE_SUBSET(ets);
- static int reentering = 0;
- if (reentering)
- return;
- reentering = 1;
-
- e_table_model_pre_change(E_TABLE_MODEL(ets));
-
- e_table_sorting_utils_sort(etss->source, ets->sort_info, ets->full_header, etss->map_table, etss->n_map);
-
- e_table_model_changed (E_TABLE_MODEL(ets));
- reentering = 0;
-}
diff --git a/widgets/table/e-table-sorted.h b/widgets/table/e-table-sorted.h
deleted file mode 100644
index e1265b0a08..0000000000
--- a/widgets/table/e-table-sorted.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-sorted.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_SORTED_H_
-#define _E_TABLE_SORTED_H_
-
-#include <glib-object.h>
-#include <gal/e-table/e-table-model.h>
-#include <gal/e-table/e-table-subset.h>
-#include <gal/e-table/e-table-sort-info.h>
-#include <gal/e-table/e-table-header.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_SORTED_TYPE (e_table_sorted_get_type ())
-#define E_TABLE_SORTED(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_SORTED_TYPE, ETableSorted))
-#define E_TABLE_SORTED_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_SORTED_TYPE, ETableSortedClass))
-#define E_IS_TABLE_SORTED(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_SORTED_TYPE))
-#define E_IS_TABLE_SORTED_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_SORTED_TYPE))
-#define E_TABLE_SORTED_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((obj), E_TABLE_SORTED_TYPE, ETableSortedClass))
-
-typedef struct {
- ETableSubset base;
-
- ETableSortInfo *sort_info;
-
- ETableHeader *full_header;
-
- int sort_info_changed_id;
- int sort_idle_id;
- int insert_idle_id;
- int insert_count;
-
-} ETableSorted;
-
-typedef struct {
- ETableSubsetClass parent_class;
-} ETableSortedClass;
-
-GType e_table_sorted_get_type (void);
-ETableModel *e_table_sorted_new (ETableModel *etm, ETableHeader *header, ETableSortInfo *sort_info);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_SORTED_H_ */
diff --git a/widgets/table/e-table-sorter.c b/widgets/table/e-table-sorter.c
deleted file mode 100644
index a92af49f4d..0000000000
--- a/widgets/table/e-table-sorter.c
+++ /dev/null
@@ -1,462 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-sorter.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <stdlib.h>
-#include <string.h>
-#include "gal/util/e-i18n.h"
-#include "gal/util/e-util.h"
-#include "e-table-sorter.h"
-
-#define d(x)
-
-/* The arguments we take */
-enum {
- PROP_0,
- PROP_SORT_INFO
-};
-
-#define PARENT_TYPE e_sorter_get_type()
-
-#define INCREMENT_AMOUNT 100
-
-static ESorterClass *parent_class;
-
-static void ets_model_changed (ETableModel *etm, ETableSorter *ets);
-static void ets_model_row_changed (ETableModel *etm, int row, ETableSorter *ets);
-static void ets_model_cell_changed (ETableModel *etm, int col, int row, ETableSorter *ets);
-static void ets_model_rows_inserted (ETableModel *etm, int row, int count, ETableSorter *ets);
-static void ets_model_rows_deleted (ETableModel *etm, int row, int count, ETableSorter *ets);
-static void ets_sort_info_changed (ETableSortInfo *info, ETableSorter *ets);
-static void ets_clean (ETableSorter *ets);
-static void ets_sort (ETableSorter *ets);
-static void ets_backsort (ETableSorter *ets);
-
-static gint ets_model_to_sorted (ESorter *sorter, int row);
-static gint ets_sorted_to_model (ESorter *sorter, int row);
-static void ets_get_model_to_sorted_array (ESorter *sorter, int **array, int *count);
-static void ets_get_sorted_to_model_array (ESorter *sorter, int **array, int *count);
-static gboolean ets_needs_sorting (ESorter *ets);
-
-static void
-ets_dispose (GObject *object)
-{
- ETableSorter *ets = E_TABLE_SORTER (object);
-
- if (ets->sort_info) {
- if (ets->table_model_changed_id)
- g_signal_handler_disconnect (ets->source,
- ets->table_model_changed_id);
- if (ets->table_model_row_changed_id)
- g_signal_handler_disconnect (ets->source,
- ets->table_model_row_changed_id);
- if (ets->table_model_cell_changed_id)
- g_signal_handler_disconnect (ets->source,
- ets->table_model_cell_changed_id);
- if (ets->table_model_rows_inserted_id)
- g_signal_handler_disconnect (ets->source,
- ets->table_model_rows_inserted_id);
- if (ets->table_model_rows_deleted_id)
- g_signal_handler_disconnect (ets->source,
- ets->table_model_rows_deleted_id);
- if (ets->sort_info_changed_id)
- g_signal_handler_disconnect (ets->sort_info,
- ets->sort_info_changed_id);
- if (ets->group_info_changed_id)
- g_signal_handler_disconnect (ets->sort_info,
- ets->group_info_changed_id);
-
- ets->table_model_changed_id = 0;
- ets->table_model_row_changed_id = 0;
- ets->table_model_cell_changed_id = 0;
- ets->table_model_rows_inserted_id = 0;
- ets->table_model_rows_deleted_id = 0;
- ets->sort_info_changed_id = 0;
- ets->group_info_changed_id = 0;
-
- g_object_unref(ets->sort_info);
- ets->sort_info = NULL;
- }
-
- if (ets->full_header)
- g_object_unref(ets->full_header);
- ets->full_header = NULL;
-
- if (ets->source)
- g_object_unref(ets->source);
- ets->source = NULL;
-
- G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-static void
-ets_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
-{
- ETableSorter *ets = E_TABLE_SORTER (object);
-
- switch (prop_id) {
- case PROP_SORT_INFO:
- if (ets->sort_info) {
- if (ets->sort_info_changed_id)
- g_signal_handler_disconnect(ets->sort_info, ets->sort_info_changed_id);
- if (ets->group_info_changed_id)
- g_signal_handler_disconnect(ets->sort_info, ets->group_info_changed_id);
- g_object_unref(ets->sort_info);
- }
-
- ets->sort_info = E_TABLE_SORT_INFO(g_value_get_object (value));
- g_object_ref(ets->sort_info);
- ets->sort_info_changed_id = g_signal_connect (ets->sort_info, "sort_info_changed",
- G_CALLBACK (ets_sort_info_changed), ets);
- ets->group_info_changed_id = g_signal_connect (ets->sort_info, "group_info_changed",
- G_CALLBACK (ets_sort_info_changed), ets);
-
- ets_clean (ets);
- break;
- default:
- break;
- }
-}
-
-static void
-ets_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
- ETableSorter *ets = E_TABLE_SORTER (object);
- switch (prop_id) {
- case PROP_SORT_INFO:
- g_value_set_object (value, ets->sort_info);
- break;
- }
-}
-
-static void
-ets_class_init (ETableSorterClass *klass)
-{
- GObjectClass *object_class = G_OBJECT_CLASS(klass);
- ESorterClass *sorter_class = E_SORTER_CLASS(klass);
-
- parent_class = g_type_class_peek_parent (klass);
-
- object_class->dispose = ets_dispose;
- object_class->set_property = ets_set_property;
- object_class->get_property = ets_get_property;
-
- sorter_class->model_to_sorted = ets_model_to_sorted ;
- sorter_class->sorted_to_model = ets_sorted_to_model ;
- sorter_class->get_model_to_sorted_array = ets_get_model_to_sorted_array ;
- sorter_class->get_sorted_to_model_array = ets_get_sorted_to_model_array ;
- sorter_class->needs_sorting = ets_needs_sorting ;
-
- g_object_class_install_property (object_class, PROP_SORT_INFO,
- g_param_spec_object ("sort_info",
- _("Sort Info"),
- /*_( */"XXX blurb" /*)*/,
- E_TABLE_SORT_INFO_TYPE,
- G_PARAM_READWRITE));
-}
-
-static void
-ets_init (ETableSorter *ets)
-{
- ets->full_header = NULL;
- ets->sort_info = NULL;
- ets->source = NULL;
-
- ets->needs_sorting = -1;
-
- ets->table_model_changed_id = 0;
- ets->table_model_row_changed_id = 0;
- ets->table_model_cell_changed_id = 0;
- ets->table_model_rows_inserted_id = 0;
- ets->table_model_rows_deleted_id = 0;
- ets->sort_info_changed_id = 0;
- ets->group_info_changed_id = 0;
-}
-
-E_MAKE_TYPE(e_table_sorter, "ETableSorter", ETableSorter, ets_class_init, ets_init, PARENT_TYPE)
-
-ETableSorter *
-e_table_sorter_new (ETableModel *source, ETableHeader *full_header, ETableSortInfo *sort_info)
-{
- ETableSorter *ets = g_object_new (E_TABLE_SORTER_TYPE, NULL);
-
- ets->sort_info = sort_info;
- g_object_ref(ets->sort_info);
- ets->full_header = full_header;
- g_object_ref(ets->full_header);
- ets->source = source;
- g_object_ref(ets->source);
-
- ets->table_model_changed_id = g_signal_connect (source, "model_changed",
- G_CALLBACK (ets_model_changed), ets);
- ets->table_model_row_changed_id = g_signal_connect (source, "model_row_changed",
- G_CALLBACK (ets_model_row_changed), ets);
- ets->table_model_cell_changed_id = g_signal_connect (source, "model_cell_changed",
- G_CALLBACK (ets_model_cell_changed), ets);
- ets->table_model_rows_inserted_id = g_signal_connect (source, "model_rows_inserted",
- G_CALLBACK (ets_model_rows_inserted), ets);
- ets->table_model_rows_deleted_id = g_signal_connect (source, "model_rows_deleted",
- G_CALLBACK (ets_model_rows_deleted), ets);
- ets->sort_info_changed_id = g_signal_connect (sort_info, "sort_info_changed",
- G_CALLBACK (ets_sort_info_changed), ets);
- ets->group_info_changed_id = g_signal_connect (sort_info, "group_info_changed",
- G_CALLBACK (ets_sort_info_changed), ets);
-
- return ets;
-}
-
-static void
-ets_model_changed (ETableModel *etm, ETableSorter *ets)
-{
- ets_clean(ets);
-}
-
-static void
-ets_model_row_changed (ETableModel *etm, int row, ETableSorter *ets)
-{
- ets_clean(ets);
-}
-
-static void
-ets_model_cell_changed (ETableModel *etm, int col, int row, ETableSorter *ets)
-{
- ets_clean(ets);
-}
-
-static void
-ets_model_rows_inserted (ETableModel *etm, int row, int count, ETableSorter *ets)
-{
- ets_clean(ets);
-}
-
-static void
-ets_model_rows_deleted (ETableModel *etm, int row, int count, ETableSorter *ets)
-{
- ets_clean(ets);
-}
-
-static void
-ets_sort_info_changed (ETableSortInfo *info, ETableSorter *ets)
-{
- d(g_print ("sort info changed\n"));
- ets_clean(ets);
-}
-
-static ETableSorter *ets_closure;
-static void **vals_closure;
-static int cols_closure;
-static int *ascending_closure;
-static GCompareFunc *compare_closure;
-
-/* FIXME: Make it not cache the second and later columns (as if anyone cares.) */
-
-static int
-qsort_callback(const void *data1, const void *data2)
-{
- gint row1 = *(int *)data1;
- gint row2 = *(int *)data2;
- int j;
- int sort_count = e_table_sort_info_sorting_get_count(ets_closure->sort_info) + e_table_sort_info_grouping_get_count(ets_closure->sort_info);
- int comp_val = 0;
- int ascending = 1;
- for (j = 0; j < sort_count; j++) {
- comp_val = (*(compare_closure[j]))(vals_closure[cols_closure * row1 + j], vals_closure[cols_closure * row2 + j]);
- ascending = ascending_closure[j];
- if (comp_val != 0)
- break;
- }
- if (comp_val == 0) {
- if (row1 < row2)
- comp_val = -1;
- if (row1 > row2)
- comp_val = 1;
- }
- if (!ascending)
- comp_val = -comp_val;
- return comp_val;
-}
-
-static void
-ets_clean(ETableSorter *ets)
-{
- g_free(ets->sorted);
- ets->sorted = NULL;
-
- g_free(ets->backsorted);
- ets->backsorted = NULL;
-
- ets->needs_sorting = -1;
-}
-
-
-static void
-ets_sort(ETableSorter *ets)
-{
- int rows;
- int i;
- int j;
- int cols;
- int group_cols;
-
- if (ets->sorted)
- return;
-
- rows = e_table_model_row_count(ets->source);
- group_cols = e_table_sort_info_grouping_get_count(ets->sort_info);
- cols = e_table_sort_info_sorting_get_count(ets->sort_info) + group_cols;
-
- ets->sorted = g_new(int, rows);
- for (i = 0; i < rows; i++)
- ets->sorted[i] = i;
-
- cols_closure = cols;
- ets_closure = ets;
-
- vals_closure = g_new(void *, rows * cols);
- ascending_closure = g_new(int, cols);
- compare_closure = g_new(GCompareFunc, cols);
-
- for (j = 0; j < cols; j++) {
- ETableSortColumn column;
- ETableCol *col;
-
- if (j < group_cols)
- column = e_table_sort_info_grouping_get_nth(ets->sort_info, j);
- else
- column = e_table_sort_info_sorting_get_nth(ets->sort_info, j - group_cols);
-
- col = e_table_header_get_column_by_col_idx(ets->full_header, column.column);
- if (col == NULL)
- col = e_table_header_get_column (ets->full_header, e_table_header_count (ets->full_header) - 1);
-
- for (i = 0; i < rows; i++) {
- vals_closure[i * cols + j] = e_table_model_value_at (ets->source, col->col_idx, i);
- }
-
- compare_closure[j] = col->compare;
- ascending_closure[j] = column.ascending;
- }
-
- qsort(ets->sorted, rows, sizeof(int), qsort_callback);
-
- g_free(vals_closure);
- g_free(ascending_closure);
- g_free(compare_closure);
-}
-
-static void
-ets_backsort(ETableSorter *ets)
-{
- int i, rows;
-
- if (ets->backsorted)
- return;
-
- ets_sort(ets);
-
- rows = e_table_model_row_count(ets->source);
- ets->backsorted = g_new0(int, rows);
-
- for (i = 0; i < rows; i++) {
- ets->backsorted[ets->sorted[i]] = i;
- }
-}
-
-
-static gint
-ets_model_to_sorted (ESorter *es, int row)
-{
- ETableSorter *ets = E_TABLE_SORTER(es);
- int rows = e_table_model_row_count(ets->source);
-
- g_return_val_if_fail(row >= 0, -1);
- g_return_val_if_fail(row < rows, -1);
-
- if (ets_needs_sorting(es))
- ets_backsort(ets);
-
- if (ets->backsorted)
- return ets->backsorted[row];
- else
- return row;
-}
-
-static gint
-ets_sorted_to_model (ESorter *es, int row)
-{
- ETableSorter *ets = E_TABLE_SORTER(es);
- int rows = e_table_model_row_count(ets->source);
-
- g_return_val_if_fail(row >= 0, -1);
- g_return_val_if_fail(row < rows, -1);
-
- if (ets_needs_sorting(es))
- ets_sort(ets);
-
- if (ets->sorted)
- return ets->sorted[row];
- else
- return row;
-}
-
-static void
-ets_get_model_to_sorted_array (ESorter *es, int **array, int *count)
-{
- ETableSorter *ets = E_TABLE_SORTER(es);
- if (array || count) {
- ets_backsort(ets);
-
- if (array)
- *array = ets->backsorted;
- if (count)
- *count = e_table_model_row_count(ets->source);
- }
-}
-
-static void
-ets_get_sorted_to_model_array (ESorter *es, int **array, int *count)
-{
- ETableSorter *ets = E_TABLE_SORTER(es);
- if (array || count) {
- ets_sort(ets);
-
- if (array)
- *array = ets->sorted;
- if (count)
- *count = e_table_model_row_count(ets->source);
- }
-}
-
-
-static gboolean
-ets_needs_sorting(ESorter *es)
-{
- ETableSorter *ets = E_TABLE_SORTER(es);
- if (ets->needs_sorting < 0) {
- if (e_table_sort_info_sorting_get_count(ets->sort_info) + e_table_sort_info_grouping_get_count(ets->sort_info))
- ets->needs_sorting = 1;
- else
- ets->needs_sorting = 0;
- }
- return ets->needs_sorting;
-}
diff --git a/widgets/table/e-table-sorter.h b/widgets/table/e-table-sorter.h
deleted file mode 100644
index 67be48715a..0000000000
--- a/widgets/table/e-table-sorter.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-sorter.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_SORTER_H_
-#define _E_TABLE_SORTER_H_
-
-#include <glib-object.h>
-#include <gal/util/e-sorter.h>
-#include <gal/e-table/e-table-model.h>
-#include <gal/e-table/e-table-subset-variable.h>
-#include <gal/e-table/e-table-sort-info.h>
-#include <gal/e-table/e-table-header.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_SORTER_TYPE (e_table_sorter_get_type ())
-#define E_TABLE_SORTER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_SORTER_TYPE, ETableSorter))
-#define E_TABLE_SORTER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_SORTER_TYPE, ETableSorterClass))
-#define E_IS_TABLE_SORTER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_SORTER_TYPE))
-#define E_IS_TABLE_SORTER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_SORTER_TYPE))
-
-typedef struct {
- ESorter base;
-
- ETableModel *source;
- ETableHeader *full_header;
- ETableSortInfo *sort_info;
-
- /* If needs_sorting is 0, then model_to_sorted and sorted_to_model are no-ops. */
- int needs_sorting;
-
- int *sorted;
- int *backsorted;
-
- int table_model_changed_id;
- int table_model_row_changed_id;
- int table_model_cell_changed_id;
- int table_model_rows_inserted_id;
- int table_model_rows_deleted_id;
- int sort_info_changed_id;
- int group_info_changed_id;
-} ETableSorter;
-
-typedef struct {
- ESorterClass parent_class;
-} ETableSorterClass;
-
-GType e_table_sorter_get_type (void);
-ETableSorter *e_table_sorter_new (ETableModel *etm,
- ETableHeader *full_header,
- ETableSortInfo *sort_info);
-G_END_DECLS
-
-#endif /* _E_TABLE_SORTER_H_ */
diff --git a/widgets/table/e-table-sorting-utils.c b/widgets/table/e-table-sorting-utils.c
deleted file mode 100644
index 80a9564a36..0000000000
--- a/widgets/table/e-table-sorting-utils.c
+++ /dev/null
@@ -1,349 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-sorting-utils.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <string.h>
-#include <e-table-sorting-utils.h>
-#include <gal/util/e-util.h>
-
-#define d(x)
-
-/* This takes source rows. */
-static int
-etsu_compare(ETableModel *source, ETableSortInfo *sort_info, ETableHeader *full_header, int row1, int row2)
-{
- int j;
- int sort_count = e_table_sort_info_sorting_get_count(sort_info);
- int comp_val = 0;
- int ascending = 1;
-
- for (j = 0; j < sort_count; j++) {
- ETableSortColumn column = e_table_sort_info_sorting_get_nth(sort_info, j);
- ETableCol *col;
- col = e_table_header_get_column_by_col_idx(full_header, column.column);
- if (col == NULL)
- col = e_table_header_get_column (full_header, e_table_header_count (full_header) - 1);
- comp_val = (*col->compare)(e_table_model_value_at (source, col->compare_col, row1),
- e_table_model_value_at (source, col->compare_col, row2));
- ascending = column.ascending;
- if (comp_val != 0)
- break;
- }
- if (comp_val == 0) {
- if (row1 < row2)
- comp_val = -1;
- if (row1 > row2)
- comp_val = 1;
- }
- if (!ascending)
- comp_val = -comp_val;
- return comp_val;
-}
-
-typedef struct {
- int cols;
- void **vals;
- int *ascending;
- GCompareFunc *compare;
-} ETableSortClosure;
-
-typedef struct {
- ETreeModel *tree;
- ETableSortInfo *sort_info;
- ETableHeader *full_header;
-} ETreeSortClosure;
-
-/* FIXME: Make it not cache the second and later columns (as if anyone cares.) */
-
-static int
-e_sort_callback(const void *data1, const void *data2, gpointer user_data)
-{
- gint row1 = *(int *)data1;
- gint row2 = *(int *)data2;
- ETableSortClosure *closure = user_data;
- int j;
- int sort_count = closure->cols;
- int comp_val = 0;
- int ascending = 1;
- for (j = 0; j < sort_count; j++) {
- comp_val = (*(closure->compare[j]))(closure->vals[closure->cols * row1 + j], closure->vals[closure->cols * row2 + j]);
- ascending = closure->ascending[j];
- if (comp_val != 0)
- break;
- }
- if (comp_val == 0) {
- if (row1 < row2)
- comp_val = -1;
- if (row1 > row2)
- comp_val = 1;
- }
- if (!ascending)
- comp_val = -comp_val;
- return comp_val;
-}
-
-void
-e_table_sorting_utils_sort(ETableModel *source, ETableSortInfo *sort_info, ETableHeader *full_header, int *map_table, int rows)
-{
- int total_rows;
- int i;
- int j;
- int cols;
- ETableSortClosure closure;
-
- g_return_if_fail(source != NULL);
- g_return_if_fail(E_IS_TABLE_MODEL(source));
- g_return_if_fail(sort_info != NULL);
- g_return_if_fail(E_IS_TABLE_SORT_INFO(sort_info));
- g_return_if_fail(full_header != NULL);
- g_return_if_fail(E_IS_TABLE_HEADER(full_header));
-
- total_rows = e_table_model_row_count(source);
- cols = e_table_sort_info_sorting_get_count(sort_info);
- closure.cols = cols;
-
- closure.vals = g_new(void *, total_rows * cols);
- closure.ascending = g_new(int, cols);
- closure.compare = g_new(GCompareFunc, cols);
-
- for (j = 0; j < cols; j++) {
- ETableSortColumn column = e_table_sort_info_sorting_get_nth(sort_info, j);
- ETableCol *col;
- col = e_table_header_get_column_by_col_idx(full_header, column.column);
- if (col == NULL)
- col = e_table_header_get_column (full_header, e_table_header_count (full_header) - 1);
- for (i = 0; i < rows; i++) {
- closure.vals[map_table[i] * cols + j] = e_table_model_value_at (source, col->compare_col, map_table[i]);
- }
- closure.compare[j] = col->compare;
- closure.ascending[j] = column.ascending;
- }
-
- e_sort(map_table, rows, sizeof(int), e_sort_callback, &closure);
-
- g_free(closure.vals);
- g_free(closure.ascending);
- g_free(closure.compare);
-}
-
-gboolean
-e_table_sorting_utils_affects_sort (ETableSortInfo *sort_info,
- ETableHeader *full_header,
- int col)
-{
- int j;
- int cols;
-
- g_return_val_if_fail(sort_info != NULL, TRUE);
- g_return_val_if_fail(E_IS_TABLE_SORT_INFO(sort_info), TRUE);
- g_return_val_if_fail(full_header != NULL, TRUE);
- g_return_val_if_fail(E_IS_TABLE_HEADER(full_header), TRUE);
-
- cols = e_table_sort_info_sorting_get_count(sort_info);
-
- for (j = 0; j < cols; j++) {
- ETableSortColumn column = e_table_sort_info_sorting_get_nth(sort_info, j);
- ETableCol *tablecol;
- tablecol = e_table_header_get_column_by_col_idx(full_header, column.column);
- if (tablecol == NULL)
- tablecol = e_table_header_get_column (full_header, e_table_header_count (full_header) - 1);
- if (col == tablecol->compare_col)
- return TRUE;
- }
- return FALSE;
-}
-
-
-/* FIXME: This could be done in time log n instead of time n with a binary search. */
-int
-e_table_sorting_utils_insert(ETableModel *source, ETableSortInfo *sort_info, ETableHeader *full_header, int *map_table, int rows, int row)
-{
- int i;
-
- i = 0;
- /* handle insertions when we have a 'sort group' */
- while (i < rows && etsu_compare(source, sort_info, full_header, map_table[i], row) < 0)
- i++;
-
- return i;
-}
-
-/* FIXME: This could be done in time log n instead of time n with a binary search. */
-int
-e_table_sorting_utils_check_position (ETableModel *source, ETableSortInfo *sort_info, ETableHeader *full_header, int *map_table, int rows, int view_row)
-{
- int i;
- int row;
-
- i = view_row;
- row = map_table[i];
-
- i = view_row;
- if (i < rows - 1 && etsu_compare(source, sort_info, full_header, map_table[i + 1], row) < 0) {
- i ++;
- while (i < rows - 1 && etsu_compare(source, sort_info, full_header, map_table[i], row) < 0)
- i ++;
- } else if (i > 0 && etsu_compare(source, sort_info, full_header, map_table[i - 1], row) > 0) {
- i --;
- while (i > 0 && etsu_compare(source, sort_info, full_header, map_table[i], row) > 0)
- i --;
- }
- return i;
-}
-
-
-
-
-/* This takes source rows. */
-static int
-etsu_tree_compare(ETreeModel *source, ETableSortInfo *sort_info, ETableHeader *full_header, ETreePath path1, ETreePath path2)
-{
- int j;
- int sort_count = e_table_sort_info_sorting_get_count(sort_info);
- int comp_val = 0;
- int ascending = 1;
-
- for (j = 0; j < sort_count; j++) {
- ETableSortColumn column = e_table_sort_info_sorting_get_nth(sort_info, j);
- ETableCol *col;
- col = e_table_header_get_column_by_col_idx(full_header, column.column);
- if (col == NULL)
- col = e_table_header_get_column (full_header, e_table_header_count (full_header) - 1);
- comp_val = (*col->compare)(e_tree_model_value_at (source, path1, col->compare_col),
- e_tree_model_value_at (source, path2, col->compare_col));
- ascending = column.ascending;
- if (comp_val != 0)
- break;
- }
- if (!ascending)
- comp_val = -comp_val;
- return comp_val;
-}
-
-static int
-e_sort_tree_callback(const void *data1, const void *data2, gpointer user_data)
-{
- ETreePath *path1 = *(ETreePath *)data1;
- ETreePath *path2 = *(ETreePath *)data2;
- ETreeSortClosure *closure = user_data;
-
- return etsu_tree_compare(closure->tree, closure->sort_info, closure->full_header, path1, path2);
-}
-
-void
-e_table_sorting_utils_tree_sort(ETreeModel *source, ETableSortInfo *sort_info, ETableHeader *full_header, ETreePath *map_table, int count)
-{
- ETableSortClosure closure;
- int cols;
- int i, j;
- int *map;
- ETreePath *map_copy;
- g_return_if_fail(source != NULL);
- g_return_if_fail(E_IS_TREE_MODEL(source));
- g_return_if_fail(sort_info != NULL);
- g_return_if_fail(E_IS_TABLE_SORT_INFO(sort_info));
- g_return_if_fail(full_header != NULL);
- g_return_if_fail(E_IS_TABLE_HEADER(full_header));
-
- cols = e_table_sort_info_sorting_get_count(sort_info);
- closure.cols = cols;
-
- closure.vals = g_new(void *, count * cols);
- closure.ascending = g_new(int, cols);
- closure.compare = g_new(GCompareFunc, cols);
-
- for (j = 0; j < cols; j++) {
- ETableSortColumn column = e_table_sort_info_sorting_get_nth(sort_info, j);
- ETableCol *col;
-
- col = e_table_header_get_column_by_col_idx(full_header, column.column);
- if (col == NULL)
- col = e_table_header_get_column (full_header, e_table_header_count (full_header) - 1);
-
- for (i = 0; i < count; i++) {
- closure.vals[i * cols + j] = e_tree_model_value_at (source, map_table[i], col->compare_col);
- }
- closure.ascending[j] = column.ascending;
- closure.compare[j] = col->compare;
- }
-
- map = g_new(int, count);
- for (i = 0; i < count; i++) {
- map[i] = i;
- }
-
- e_sort(map, count, sizeof(int), e_sort_callback, &closure);
-
- map_copy = g_new(ETreePath, count);
- for (i = 0; i < count; i++) {
- map_copy[i] = map_table[i];
- }
- for (i = 0; i < count; i++) {
- map_table[i] = map_copy[map[i]];
- }
-
- g_free(map);
- g_free(map_copy);
-
- g_free(closure.vals);
- g_free(closure.ascending);
- g_free(closure.compare);
-}
-
-/* FIXME: This could be done in time log n instead of time n with a binary search. */
-int
-e_table_sorting_utils_tree_check_position (ETreeModel *source, ETableSortInfo *sort_info, ETableHeader *full_header, ETreePath *map_table, int count, int old_index)
-{
- int i;
- ETreePath path;
-
- i = old_index;
- path = map_table[i];
-
- if (i < count - 1 && etsu_tree_compare(source, sort_info, full_header, map_table[i + 1], path) < 0) {
- i ++;
- while (i < count - 1 && etsu_tree_compare(source, sort_info, full_header, map_table[i], path) < 0)
- i ++;
- } else if (i > 0 && etsu_tree_compare(source, sort_info, full_header, map_table[i - 1], path) > 0) {
- i --;
- while (i > 0 && etsu_tree_compare(source, sort_info, full_header, map_table[i], path) > 0)
- i --;
- }
- return i;
-}
-
-/* FIXME: This does not pay attention to making sure that it's a stable insert. This needs to be fixed. */
-int
-e_table_sorting_utils_tree_insert(ETreeModel *source, ETableSortInfo *sort_info, ETableHeader *full_header, ETreePath *map_table, int count, ETreePath path)
-{
- size_t start;
- size_t end;
- ETreeSortClosure closure;
-
- closure.tree = source;
- closure.sort_info = sort_info;
- closure.full_header = full_header;
-
- e_bsearch(&path, map_table, count, sizeof(ETreePath), e_sort_tree_callback, &closure, &start, &end);
- return end;
-}
diff --git a/widgets/table/e-table-sorting-utils.h b/widgets/table/e-table-sorting-utils.h
deleted file mode 100644
index 794ead0ac9..0000000000
--- a/widgets/table/e-table-sorting-utils.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-sorting-utils.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_SORTING_UTILS_H_
-#define _E_TABLE_SORTING_UTILS_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#include <gal/e-table/e-table-model.h>
-#include <gal/e-table/e-tree-model.h>
-#include <gal/e-table/e-table-sort-info.h>
-#include <gal/e-table/e-table-header.h>
-gboolean e_table_sorting_utils_affects_sort (ETableSortInfo *sort_info,
- ETableHeader *full_header,
- int col);
-
-
-
-void e_table_sorting_utils_sort (ETableModel *source,
- ETableSortInfo *sort_info,
- ETableHeader *full_header,
- int *map_table,
- int rows);
-int e_table_sorting_utils_insert (ETableModel *source,
- ETableSortInfo *sort_info,
- ETableHeader *full_header,
- int *map_table,
- int rows,
- int row);
-int e_table_sorting_utils_check_position (ETableModel *source,
- ETableSortInfo *sort_info,
- ETableHeader *full_header,
- int *map_table,
- int rows,
- int view_row);
-
-
-
-void e_table_sorting_utils_tree_sort (ETreeModel *source,
- ETableSortInfo *sort_info,
- ETableHeader *full_header,
- ETreePath *map_table,
- int count);
-int e_table_sorting_utils_tree_check_position (ETreeModel *source,
- ETableSortInfo *sort_info,
- ETableHeader *full_header,
- ETreePath *map_table,
- int count,
- int old_index);
-int e_table_sorting_utils_tree_insert (ETreeModel *source,
- ETableSortInfo *sort_info,
- ETableHeader *full_header,
- ETreePath *map_table,
- int count,
- ETreePath path);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* _E_TABLE_SORTING_UTILS_H_ */
diff --git a/widgets/table/e-table-specification.c b/widgets/table/e-table-specification.c
deleted file mode 100644
index 3fcc28689d..0000000000
--- a/widgets/table/e-table-specification.c
+++ /dev/null
@@ -1,432 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-specification.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "e-table-specification.h"
-
-#include <stdlib.h>
-#include <string.h>
-
-#include <libxml/parser.h>
-#include <libxml/xmlmemory.h>
-#include "gal/util/e-util.h"
-#include "gal/util/e-xml-utils.h"
-
-static GObjectClass *etsp_parent_class;
-
-static void
-etsp_finalize (GObject *object)
-{
- ETableSpecification *etsp = E_TABLE_SPECIFICATION (object);
- int i;
-
- if (etsp->columns) {
- for (i = 0; etsp->columns[i]; i++) {
- g_object_unref (etsp->columns[i]);
- }
- g_free (etsp->columns);
- etsp->columns = NULL;
- }
-
- if (etsp->state)
- g_object_unref (etsp->state);
- etsp->state = NULL;
-
- g_free (etsp->click_to_add_message);
- etsp->click_to_add_message = NULL;
-
- g_free (etsp->domain);
- etsp->domain = NULL;
-
- etsp_parent_class->finalize (object);
-}
-
-static void
-etsp_class_init (GObjectClass *klass)
-{
- etsp_parent_class = g_type_class_peek_parent (klass);
-
- klass->finalize = etsp_finalize;
-}
-
-static void
-etsp_init (ETableSpecification *etsp)
-{
- etsp->columns = NULL;
- etsp->state = NULL;
-
- etsp->alternating_row_colors = TRUE;
- etsp->no_headers = FALSE;
- etsp->click_to_add = FALSE;
- etsp->click_to_add_end = FALSE;
- etsp->horizontal_draw_grid = FALSE;
- etsp->vertical_draw_grid = FALSE;
- etsp->draw_focus = TRUE;
- etsp->horizontal_scrolling = FALSE;
- etsp->horizontal_resize = FALSE;
- etsp->allow_grouping = TRUE;
-
- etsp->cursor_mode = E_CURSOR_SIMPLE;
- etsp->selection_mode = GTK_SELECTION_MULTIPLE;
-
- etsp->click_to_add_message = NULL;
- etsp->domain = NULL;
-}
-
-E_MAKE_TYPE (e_table_specification, "ETableSpecification", ETableSpecification, etsp_class_init, etsp_init, G_TYPE_OBJECT)
-
-/**
- * e_table_specification_new:
- *
- * Creates a new %ETableSpecification object. This object is used to hold the
- * information about the rendering information for ETable.
- *
- * Returns: a newly created %ETableSpecification object.
- */
-ETableSpecification *
-e_table_specification_new (void)
-{
- ETableSpecification *etsp = g_object_new (E_TABLE_SPECIFICATION_TYPE, NULL);
-
- return (ETableSpecification *) etsp;
-}
-
-/**
- * e_table_specification_load_from_file:
- * @specification: An ETableSpecification that you want to modify
- * @filename: a filename that contains an ETableSpecification
- *
- * This routine modifies @specification to reflect the state described
- * by the file @filename.
- *
- * Returns: TRUE on success, FALSE on failure.
- */
-gboolean
-e_table_specification_load_from_file (ETableSpecification *specification,
- const char *filename)
-{
- xmlDoc *doc;
-
- if (!g_file_test (filename, G_FILE_TEST_EXISTS))
- return FALSE;
-
- doc = xmlParseFile (filename);
- if (doc) {
- xmlNode *node = xmlDocGetRootElement (doc);
- e_table_specification_load_from_node (specification, node);
- xmlFreeDoc (doc);
- return TRUE;
- }
- return FALSE;
-}
-
-/**
- * e_table_specification_load_from_string:
- * @specification: An ETableSpecification that you want to modify
- * @xml: a stringified representation of an ETableSpecification description.
- *
- * This routine modifies @specification to reflect the state described
- * by @xml. @xml is typically returned by e_table_specification_save_to_string
- * or it can be embedded in your source code.
- *
- * Returns: TRUE on success, FALSE on failure.
- */
-gboolean
-e_table_specification_load_from_string (ETableSpecification *specification,
- const char *xml)
-{
- xmlDoc *doc;
- doc = xmlParseMemory ( (char *) xml, strlen (xml));
- if (doc) {
- xmlNode *node = xmlDocGetRootElement (doc);
- e_table_specification_load_from_node (specification, node);
- xmlFreeDoc (doc);
- return TRUE;
- }
-
- return FALSE;
-}
-
-/**
- * e_table_specification_load_from_node:
- * @specification: An ETableSpecification that you want to modify
- * @node: an xmlNode with an XML ETableSpecification description.
- *
- * This routine modifies @specification to reflect the state described
- * by @node.
- */
-void
-e_table_specification_load_from_node (ETableSpecification *specification,
- const xmlNode *node)
-{
- char *temp;
- xmlNode *children;
- GList *list = NULL, *list2;
- int i;
-
- specification->no_headers = e_xml_get_bool_prop_by_name (node, "no-headers");
- specification->click_to_add = e_xml_get_bool_prop_by_name (node, "click-to-add");
- specification->click_to_add_end = e_xml_get_bool_prop_by_name (node, "click-to-add-end") && specification->click_to_add;
- specification->alternating_row_colors = e_xml_get_bool_prop_by_name_with_default (node, "alternating-row-colors", TRUE);
- specification->horizontal_draw_grid = e_xml_get_bool_prop_by_name (node, "horizontal-draw-grid");
- specification->vertical_draw_grid = e_xml_get_bool_prop_by_name (node, "vertical-draw-grid");
- if (e_xml_get_bool_prop_by_name_with_default(node, "draw-grid", TRUE) ==
- e_xml_get_bool_prop_by_name_with_default(node, "draw-grid", FALSE)) {
- specification->horizontal_draw_grid =
- specification->vertical_draw_grid = e_xml_get_bool_prop_by_name (node, "draw-grid");
- }
- specification->draw_focus = e_xml_get_bool_prop_by_name_with_default (node, "draw-focus", TRUE);
- specification->horizontal_scrolling = e_xml_get_bool_prop_by_name_with_default (node, "horizontal-scrolling", FALSE);
- specification->horizontal_resize = e_xml_get_bool_prop_by_name_with_default (node, "horizontal-resize", FALSE);
- specification->allow_grouping = e_xml_get_bool_prop_by_name_with_default (node, "allow-grouping", TRUE);
-
- specification->selection_mode = GTK_SELECTION_MULTIPLE;
- temp = e_xml_get_string_prop_by_name (node, "selection-mode");
- if (temp && !g_strcasecmp (temp, "single")) {
- specification->selection_mode = GTK_SELECTION_SINGLE;
- } else if (temp && !g_strcasecmp (temp, "browse")) {
- specification->selection_mode = GTK_SELECTION_BROWSE;
- } else if (temp && !g_strcasecmp (temp, "extended")) {
- specification->selection_mode = GTK_SELECTION_EXTENDED;
- }
- g_free (temp);
-
- specification->cursor_mode = E_CURSOR_SIMPLE;
- temp = e_xml_get_string_prop_by_name (node, "cursor-mode");
- if (temp && !g_strcasecmp (temp, "line")) {
- specification->cursor_mode = E_CURSOR_LINE;
- } else if (temp && !g_strcasecmp (temp, "spreadsheet")) {
- specification->cursor_mode = E_CURSOR_SPREADSHEET;
- }
- g_free (temp);
-
- g_free (specification->click_to_add_message);
- specification->click_to_add_message =
- e_xml_get_string_prop_by_name (
- node, "_click-to-add-message");
-
- g_free (specification->domain);
- specification->domain =
- e_xml_get_string_prop_by_name (
- node, "gettext-domain");
- if (specification->domain && !*specification->domain) {
- g_free (specification->domain);
- specification->domain = NULL;
- }
-
- if (specification->state)
- g_object_unref (specification->state);
- specification->state = NULL;
- if (specification->columns) {
- for (i = 0; specification->columns[i]; i++) {
- g_object_unref (specification->columns[i]);
- }
- g_free (specification->columns);
- }
- specification->columns = NULL;
-
- for (children = node->xmlChildrenNode; children; children = children->next) {
- if (!strcmp (children->name, "ETableColumn")) {
- ETableColumnSpecification *col_spec = e_table_column_specification_new ();
-
- e_table_column_specification_load_from_node (col_spec, children);
- list = g_list_append (list, col_spec);
- } else if (specification->state == NULL && !strcmp (children->name, "ETableState")) {
- specification->state = e_table_state_new ();
- e_table_state_load_from_node (specification->state, children);
- e_table_sort_info_set_can_group (specification->state->sort_info, specification->allow_grouping);
- }
- }
-
- if (specification->state == NULL) {
- /* Make the default state. */
- specification->state = e_table_state_vanilla (g_list_length (list));
- }
-
- specification->columns = g_new (ETableColumnSpecification *, g_list_length (list) + 1);
- for (list2 = list, i = 0; list2; list2 = g_list_next (list2), i++) {
- specification->columns[i] = list2->data;
- }
- specification->columns[i] = NULL;
- g_list_free (list);
-}
-
-/**
- * e_table_specification_save_to_file:
- * @specification: An %ETableSpecification that you want to save
- * @filename: a file name to store the specification.
- *
- * This routine stores the @specification into @filename.
- *
- * Returns: 0 on success or -1 on error.
- */
-int
-e_table_specification_save_to_file (ETableSpecification *specification,
- const char *filename)
-{
- xmlDoc *doc;
- int ret;
-
- g_return_val_if_fail (specification != NULL, -1);
- g_return_val_if_fail (filename != NULL, -1);
- g_return_val_if_fail (E_IS_TABLE_SPECIFICATION (specification), -1);
-
- if ((doc = xmlNewDoc ("1.0")) == NULL)
- return -1;
-
- xmlDocSetRootElement (doc, e_table_specification_save_to_node (specification, doc));
-
- ret = e_xml_save_file (filename, doc);
-
- xmlFreeDoc (doc);
-
- return ret;
-}
-
-/**
- * e_table_specification_save_to_string:
- * @specification: An %ETableSpecification that you want to stringify
- *
- * Saves the state of @specification to a string.
- *
- * Returns: an g_alloc() allocated string containing the stringified
- * representation of @specification. This stringified representation
- * uses XML as a convenience.
- */
-char *
-e_table_specification_save_to_string (ETableSpecification *specification)
-{
- char *ret_val;
- xmlChar *string;
- int length;
- xmlDoc *doc;
-
- g_return_val_if_fail (specification != NULL, NULL);
- g_return_val_if_fail (E_IS_TABLE_SPECIFICATION (specification), NULL);
-
- doc = xmlNewDoc ("1.0");
- xmlDocSetRootElement (doc, e_table_specification_save_to_node (specification, doc));
- xmlDocDumpMemory (doc, &string, &length);
-
- ret_val = g_strdup (string);
- xmlFree (string);
- return ret_val;
-}
-
-/**
- * e_table_specification_save_to_node:
- * @specification: An ETableSpecification that you want to store.
- * @doc: Node where the specification is saved
- *
- * This routine saves the %ETableSpecification state in the object @specification
- * into the xmlDoc represented by @doc.
- *
- * Returns: The node that has been attached to @doc with the contents
- * of the ETableSpecification.
- */
-xmlNode *
-e_table_specification_save_to_node (ETableSpecification *specification,
- xmlDoc *doc)
-{
- xmlNode *node;
- char *s;
-
- g_return_val_if_fail (doc != NULL, NULL);
- g_return_val_if_fail (specification != NULL, NULL);
- g_return_val_if_fail (E_IS_TABLE_SPECIFICATION (specification), NULL);
-
- node = xmlNewNode (NULL, "ETableSpecification");
- e_xml_set_bool_prop_by_name (node, "no-headers", specification->no_headers);
- e_xml_set_bool_prop_by_name (node, "click-to-add", specification->click_to_add);
- e_xml_set_bool_prop_by_name (node, "click-to-add-end", specification->click_to_add_end && specification->click_to_add);
- e_xml_set_bool_prop_by_name (node, "alternating-row-colors", specification->alternating_row_colors);
- e_xml_set_bool_prop_by_name (node, "horizontal-draw-grid", specification->horizontal_draw_grid);
- e_xml_set_bool_prop_by_name (node, "vertical-draw-grid", specification->vertical_draw_grid);
- e_xml_set_bool_prop_by_name (node, "draw-focus", specification->draw_focus);
- e_xml_set_bool_prop_by_name (node, "horizontal-scrolling", specification->horizontal_scrolling);
- e_xml_set_bool_prop_by_name (node, "horizontal-resize", specification->horizontal_resize);
- e_xml_set_bool_prop_by_name (node, "allow-grouping", specification->allow_grouping);
-
- switch (specification->selection_mode){
- case GTK_SELECTION_SINGLE:
- s = "single";
- break;
- case GTK_SELECTION_BROWSE:
- s = "browse";
- break;
- default:
- case GTK_SELECTION_EXTENDED:
- s = "extended";
- }
- xmlSetProp (node, "selection-mode", s);
- if (specification->cursor_mode == E_CURSOR_LINE)
- s = "line";
- else
- s = "cell";
- xmlSetProp (node, "cursor-mode", s);
-
- xmlSetProp (node, "_click-to-add-message", specification->click_to_add_message);
- xmlSetProp (node, "gettext-domain", specification->domain);
-
- if (specification->columns){
- int i;
-
- for (i = 0; specification->columns [i]; i++)
- e_table_column_specification_save_to_node (
- specification->columns [i],
- node);
- }
-
- if (specification->state)
- e_table_state_save_to_node (specification->state, node);
-
- return node;
-}
-
-/**
- * e_table_specification_duplicate:
- * @spec: specification to duplicate
- *
- * This creates a copy of the %ETableSpecification @spec
- *
- * Returns: The duplicated %ETableSpecification.
- */
-ETableSpecification *
-e_table_specification_duplicate (ETableSpecification *spec)
-{
- ETableSpecification *new_spec;
- char *spec_str;
-
- g_return_val_if_fail (spec != NULL, NULL);
- g_return_val_if_fail (E_IS_TABLE_SPECIFICATION (spec), NULL);
-
- new_spec = e_table_specification_new ();
- spec_str = e_table_specification_save_to_string (spec);
- e_table_specification_load_from_string (new_spec, spec_str);
- g_free (spec_str);
-
- return new_spec;
-}
diff --git a/widgets/table/e-table-specification.h b/widgets/table/e-table-specification.h
deleted file mode 100644
index 961752b9b8..0000000000
--- a/widgets/table/e-table-specification.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-specification.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_SPECIFICATION_H_
-#define _E_TABLE_SPECIFICATION_H_
-
-#include <glib-object.h>
-#include <libxml/tree.h>
-#include <gal/widgets/e-selection-model.h>
-#include <gal/e-table/e-table-state.h>
-#include <gal/e-table/e-table-column-specification.h>
-#include <gal/e-table/e-table-defines.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_SPECIFICATION_TYPE (e_table_specification_get_type ())
-#define E_TABLE_SPECIFICATION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_SPECIFICATION_TYPE, ETableSpecification))
-#define E_TABLE_SPECIFICATION_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_SPECIFICATION_TYPE, ETableSpecificationClass))
-#define E_IS_TABLE_SPECIFICATION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_SPECIFICATION_TYPE))
-#define E_IS_TABLE_SPECIFICATION_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_SPECIFICATION_TYPE))
-#define E_TABLE_SPECIFICATION_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), E_TABLE_SPECIFICATION_TYPE, ETableSpecificationClass))
-
-typedef struct {
- GObject base;
-
- ETableColumnSpecification **columns;
- ETableState *state;
-
- guint alternating_row_colors : 1;
- guint no_headers : 1;
- guint click_to_add : 1;
- guint click_to_add_end : 1;
- guint horizontal_draw_grid : 1;
- guint vertical_draw_grid : 1;
- guint draw_focus : 1;
- guint horizontal_scrolling : 1;
- guint horizontal_resize : 1;
- guint allow_grouping : 1;
- GtkSelectionMode selection_mode;
- ECursorMode cursor_mode;
-
- char *click_to_add_message;
- char *domain;
-} ETableSpecification;
-
-typedef struct {
- GObjectClass parent_class;
-} ETableSpecificationClass;
-
-GType e_table_specification_get_type (void);
-ETableSpecification *e_table_specification_new (void);
-
-gboolean e_table_specification_load_from_file (ETableSpecification *specification,
- const char *filename);
-gboolean e_table_specification_load_from_string (ETableSpecification *specification,
- const char *xml);
-void e_table_specification_load_from_node (ETableSpecification *specification,
- const xmlNode *node);
-
-int e_table_specification_save_to_file (ETableSpecification *specification,
- const char *filename);
-char *e_table_specification_save_to_string (ETableSpecification *specification);
-xmlNode *e_table_specification_save_to_node (ETableSpecification *specification,
- xmlDoc *doc);
-ETableSpecification *e_table_specification_duplicate (ETableSpecification *spec);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_SPECIFICATION_H_ */
diff --git a/widgets/table/e-table-state.c b/widgets/table/e-table-state.c
deleted file mode 100644
index c66e5933e0..0000000000
--- a/widgets/table/e-table-state.c
+++ /dev/null
@@ -1,299 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-state.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-
-#include <libxml/parser.h>
-#include <libxml/xmlmemory.h>
-#include "gal/util/e-util.h"
-#include "gal/util/e-xml-utils.h"
-#include "e-table-state.h"
-
-
-#define STATE_VERSION 0.1
-
-static GObjectClass *etst_parent_class;
-
-static void
-etst_dispose (GObject *object)
-{
- ETableState *etst = E_TABLE_STATE (object);
-
- if (etst->sort_info) {
- g_object_unref (etst->sort_info);
- etst->sort_info = NULL;
- }
-
- G_OBJECT_CLASS (etst_parent_class)->dispose (object);
-}
-
-static void
-etst_finalize (GObject *object)
-{
- ETableState *etst = E_TABLE_STATE (object);
-
- if (etst->columns) {
- g_free (etst->columns);
- etst->columns = NULL;
- }
-
- if (etst->expansions) {
- g_free (etst->expansions);
- etst->expansions = NULL;
- }
-
- G_OBJECT_CLASS (etst_parent_class)->finalize (object);
-}
-
-static void
-etst_class_init (GObjectClass *klass)
-{
- etst_parent_class = g_type_class_peek_parent (klass);
-
- klass->dispose = etst_dispose;
- klass->finalize = etst_finalize;
-}
-
-static void
-etst_init (ETableState *state)
-{
- state->columns = NULL;
- state->expansions = NULL;
- state->sort_info = e_table_sort_info_new();
-}
-
-E_MAKE_TYPE(e_table_state, "ETableState", ETableState, etst_class_init, etst_init, G_TYPE_OBJECT)
-
-ETableState *
-e_table_state_new (void)
-{
- return (ETableState *) g_object_new (E_TABLE_STATE_TYPE, NULL);
-}
-
-ETableState *
-e_table_state_vanilla (int col_count)
-{
- GString *str;
- int i;
- ETableState *res;
-
- str = g_string_new ("<ETableState>\n");
- for (i = 0; i < col_count; i++)
- g_string_append_printf (str, " <column source=\"%d\"/>\n", i);
- g_string_append (str, " <grouping></grouping>\n");
- g_string_append (str, "</ETableState>\n");
-
- res = e_table_state_new ();
- e_table_state_load_from_string (res, str->str);
-
- g_string_free (str, TRUE);
- return res;
-}
-
-gboolean
-e_table_state_load_from_file (ETableState *state,
- const char *filename)
-{
- xmlDoc *doc;
-
- if (!g_file_test (filename, G_FILE_TEST_EXISTS))
- return FALSE;
-
- doc = xmlParseFile (filename);
- if (doc) {
- xmlNode *node = xmlDocGetRootElement(doc);
- e_table_state_load_from_node(state, node);
- xmlFreeDoc(doc);
- return TRUE;
- }
- return FALSE;
-}
-
-void
-e_table_state_load_from_string (ETableState *state,
- const char *xml)
-{
- xmlDoc *doc;
- doc = xmlParseMemory ((char *) xml, strlen(xml));
- if (doc) {
- xmlNode *node = xmlDocGetRootElement(doc);
- e_table_state_load_from_node(state, node);
- xmlFreeDoc(doc);
- }
-}
-
-typedef struct {
- int column;
- double expansion;
-} int_and_double;
-
-void
-e_table_state_load_from_node (ETableState *state,
- const xmlNode *node)
-{
- xmlNode *children;
- GList *list = NULL, *iterator;
- gdouble state_version;
- int i;
-
- state_version = e_xml_get_double_prop_by_name_with_default (
- node, "state-version", STATE_VERSION);
-
- if (state->sort_info)
- g_object_unref (state->sort_info);
-
- state->sort_info = NULL;
- children = node->xmlChildrenNode;
- for (; children; children = children->next) {
- if (!strcmp (children->name, "column")) {
- int_and_double *column_info = g_new(int_and_double, 1);
-
- column_info->column = e_xml_get_integer_prop_by_name(
- children, "source");
- column_info->expansion =
- e_xml_get_double_prop_by_name_with_default(
- children, "expansion", 1);
-
- list = g_list_append (list, column_info);
- } else if (state->sort_info == NULL &&
- !strcmp (children->name, "grouping")) {
- state->sort_info = e_table_sort_info_new();
- e_table_sort_info_load_from_node(
- state->sort_info, children, state_version);
- }
- }
- g_free(state->columns);
- g_free(state->expansions);
- state->col_count = g_list_length(list);
- state->columns = g_new(int, state->col_count);
- state->expansions = g_new(double, state->col_count);
-
- for (iterator = list, i = 0; iterator; i++) {
- int_and_double *column_info = iterator->data;
-
- state->columns [i] = column_info->column;
- state->expansions [i] = column_info->expansion;
- g_free (column_info);
- iterator = g_list_next (iterator);
- }
- g_list_free(list);
-}
-
-void
-e_table_state_save_to_file (ETableState *state,
- const char *filename)
-{
- xmlDoc *doc;
-
- if ((doc = xmlNewDoc ("1.0")) == NULL)
- return;
-
- xmlDocSetRootElement (doc, e_table_state_save_to_node (state, NULL));
-
- e_xml_save_file (filename, doc);
-
- xmlFreeDoc (doc);
-}
-
-char *
-e_table_state_save_to_string (ETableState *state)
-{
- char *ret_val;
- xmlChar *string;
- int length;
- xmlDoc *doc;
-
- doc = xmlNewDoc("1.0");
- xmlDocSetRootElement(doc, e_table_state_save_to_node(state, NULL));
- xmlDocDumpMemory(doc, &string, &length);
- xmlFreeDoc(doc);
-
- ret_val = g_strdup(string);
- xmlFree(string);
- return ret_val;
-}
-
-xmlNode *
-e_table_state_save_to_node (ETableState *state,
- xmlNode *parent)
-{
- int i;
- xmlNode *node;
-
- if (parent)
- node = xmlNewChild (parent, NULL, "ETableState", NULL);
- else
- node = xmlNewNode (NULL, "ETableState");
-
- e_xml_set_double_prop_by_name(node, "state-version", STATE_VERSION);
-
- for (i = 0; i < state->col_count; i++) {
- int column = state->columns[i];
- double expansion = state->expansions[i];
- xmlNode *new_node;
-
- new_node = xmlNewChild(node, NULL, "column", NULL);
- e_xml_set_integer_prop_by_name (new_node, "source", column);
- if (expansion >= -1)
- e_xml_set_double_prop_by_name(new_node, "expansion", expansion);
- }
-
-
- e_table_sort_info_save_to_node(state->sort_info, node);
-
- return node;
-}
-
-/**
- * e_table_state_duplicate:
- * @state: The ETableState to duplicate
- *
- * This creates a copy of the %ETableState @state
- *
- * Returns: The duplicated %ETableState.
- */
-ETableState *
-e_table_state_duplicate (ETableState *state)
-{
- ETableState *new_state;
- char *copy;
-
- g_return_val_if_fail (state != NULL, NULL);
- g_return_val_if_fail (E_IS_TABLE_STATE (state), NULL);
-
- new_state = e_table_state_new ();
- copy = e_table_state_save_to_string (state);
- e_table_state_load_from_string (new_state, copy);
- g_free (copy);
-
- e_table_sort_info_set_can_group
- (new_state->sort_info,
- e_table_sort_info_get_can_group (state->sort_info));
-
- return new_state;
-}
diff --git a/widgets/table/e-table-state.h b/widgets/table/e-table-state.h
deleted file mode 100644
index 47e0c7b9b8..0000000000
--- a/widgets/table/e-table-state.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-state.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_STATE_H_
-#define _E_TABLE_STATE_H_
-
-#include <glib-object.h>
-#include <libxml/tree.h>
-#include <gal/e-table/e-table-sort-info.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_STATE_TYPE (e_table_state_get_type ())
-#define E_TABLE_STATE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_STATE_TYPE, ETableState))
-#define E_TABLE_STATE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_STATE_TYPE, ETableStateClass))
-#define E_IS_TABLE_STATE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_STATE_TYPE))
-#define E_IS_TABLE_STATE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_STATE_TYPE))
-#define E_TABLE_STATE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), E_TABLE_STATE_TYPE, ETableStateClass))
-
-typedef struct {
- GObject base;
-
- ETableSortInfo *sort_info;
- int col_count;
- int *columns;
- double *expansions;
-} ETableState;
-
-typedef struct {
- GObjectClass parent_class;
-} ETableStateClass;
-
-GType e_table_state_get_type (void);
-ETableState *e_table_state_new (void);
-
-ETableState *e_table_state_vanilla (int col_count);
-
-gboolean e_table_state_load_from_file (ETableState *state,
- const char *filename);
-void e_table_state_load_from_string (ETableState *state,
- const char *xml);
-void e_table_state_load_from_node (ETableState *state,
- const xmlNode *node);
-
-void e_table_state_save_to_file (ETableState *state,
- const char *filename);
-char *e_table_state_save_to_string (ETableState *state);
-xmlNode *e_table_state_save_to_node (ETableState *state,
- xmlNode *parent);
-ETableState *e_table_state_duplicate (ETableState *state);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_STATE_H_ */
diff --git a/widgets/table/e-table-subset-variable.c b/widgets/table/e-table-subset-variable.c
deleted file mode 100644
index efe6529806..0000000000
--- a/widgets/table/e-table-subset-variable.c
+++ /dev/null
@@ -1,250 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-subset-variable.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <stdlib.h>
-#include <string.h>
-#include "gal/util/e-util.h"
-#include "e-table-subset-variable.h"
-
-#define ETSSV_CLASS(e) (E_TABLE_SUBSET_VARIABLE_GET_CLASS (e))
-
-#define INCREMENT_AMOUNT 10
-
-static void
-etssv_add (ETableSubsetVariable *etssv,
- gint row)
-{
- ETableModel *etm = E_TABLE_MODEL(etssv);
- ETableSubset *etss = E_TABLE_SUBSET(etssv);
-
- e_table_model_pre_change(etm);
-
- if (etss->n_map + 1 > etssv->n_vals_allocated){
- etssv->n_vals_allocated += INCREMENT_AMOUNT;
- etss->map_table = g_realloc (etss->map_table, etssv->n_vals_allocated * sizeof(int));
- }
-
- etss->map_table[etss->n_map++] = row;
-
- e_table_model_row_inserted (etm, etss->n_map - 1);
-}
-
-static void
-etssv_add_array (ETableSubsetVariable *etssv,
- const gint *array,
- gint count)
-{
- ETableModel *etm = E_TABLE_MODEL(etssv);
- ETableSubset *etss = E_TABLE_SUBSET(etssv);
- int i;
-
- e_table_model_pre_change(etm);
-
- if (etss->n_map + count > etssv->n_vals_allocated){
- etssv->n_vals_allocated += MAX(INCREMENT_AMOUNT, count);
- etss->map_table = g_realloc (etss->map_table, etssv->n_vals_allocated * sizeof(int));
- }
- for (i = 0; i < count; i++)
- etss->map_table[etss->n_map++] = array[i];
-
- e_table_model_changed (etm);
-}
-
-static void
-etssv_add_all (ETableSubsetVariable *etssv)
-{
- ETableModel *etm = E_TABLE_MODEL(etssv);
- ETableSubset *etss = E_TABLE_SUBSET(etssv);
- int rows;
- int i;
-
- e_table_model_pre_change(etm);
-
- rows = e_table_model_row_count(etss->source);
- if (etss->n_map + rows > etssv->n_vals_allocated){
- etssv->n_vals_allocated += MAX(INCREMENT_AMOUNT, rows);
- etss->map_table = g_realloc (etss->map_table, etssv->n_vals_allocated * sizeof(int));
- }
- for (i = 0; i < rows; i++)
- etss->map_table[etss->n_map++] = i;
-
- e_table_model_changed (etm);
-}
-
-static gboolean
-etssv_remove (ETableSubsetVariable *etssv,
- gint row)
-{
- ETableModel *etm = E_TABLE_MODEL(etssv);
- ETableSubset *etss = E_TABLE_SUBSET(etssv);
- int i;
-
- for (i = 0; i < etss->n_map; i++){
- if (etss->map_table[i] == row) {
- e_table_model_pre_change (etm);
- memmove (etss->map_table + i, etss->map_table + i + 1, (etss->n_map - i - 1) * sizeof(int));
- etss->n_map --;
-
- e_table_model_row_deleted (etm, i);
- return TRUE;
- }
- }
- return FALSE;
-}
-
-static void
-etssv_class_init (GObjectClass *object_class)
-{
- ETableSubsetVariableClass *klass = E_TABLE_SUBSET_VARIABLE_CLASS(object_class);
-
- klass->add = etssv_add;
- klass->add_array = etssv_add_array;
- klass->add_all = etssv_add_all;
- klass->remove = etssv_remove;
-}
-
-E_MAKE_TYPE(e_table_subset_variable, "ETableSubsetVariable", ETableSubsetVariable, etssv_class_init, NULL, E_TABLE_SUBSET_TYPE)
-
-ETableModel *
-e_table_subset_variable_construct (ETableSubsetVariable *etssv,
- ETableModel *source)
-{
- if (e_table_subset_construct (E_TABLE_SUBSET(etssv), source, 1) == NULL)
- return NULL;
- E_TABLE_SUBSET(etssv)->n_map = 0;
-
- return E_TABLE_MODEL (etssv);
-}
-
-ETableModel *
-e_table_subset_variable_new (ETableModel *source)
-{
- ETableSubsetVariable *etssv = g_object_new (E_TABLE_SUBSET_VARIABLE_TYPE, NULL);
-
- if (e_table_subset_variable_construct (etssv, source) == NULL){
- g_object_unref (etssv);
- return NULL;
- }
-
- return (ETableModel *) etssv;
-}
-
-void
-e_table_subset_variable_add (ETableSubsetVariable *etssv,
- gint row)
-{
- g_return_if_fail (etssv != NULL);
- g_return_if_fail (E_IS_TABLE_SUBSET_VARIABLE(etssv));
-
- if (ETSSV_CLASS(etssv)->add)
- ETSSV_CLASS (etssv)->add (etssv, row);
-}
-
-void
-e_table_subset_variable_add_array (ETableSubsetVariable *etssv,
- const gint *array,
- gint count)
-{
- g_return_if_fail (etssv != NULL);
- g_return_if_fail (E_IS_TABLE_SUBSET_VARIABLE(etssv));
-
- if (ETSSV_CLASS(etssv)->add_array)
- ETSSV_CLASS (etssv)->add_array (etssv, array, count);
-}
-
-void
-e_table_subset_variable_add_all (ETableSubsetVariable *etssv)
-{
- g_return_if_fail (etssv != NULL);
- g_return_if_fail (E_IS_TABLE_SUBSET_VARIABLE(etssv));
-
- if (ETSSV_CLASS(etssv)->add_all)
- ETSSV_CLASS (etssv)->add_all (etssv);
-}
-
-gboolean
-e_table_subset_variable_remove (ETableSubsetVariable *etssv,
- gint row)
-{
- g_return_val_if_fail (etssv != NULL, FALSE);
- g_return_val_if_fail (E_IS_TABLE_SUBSET_VARIABLE(etssv), FALSE);
-
- if (ETSSV_CLASS(etssv)->remove)
- return ETSSV_CLASS (etssv)->remove (etssv, row);
- else
- return FALSE;
-}
-
-void
-e_table_subset_variable_clear (ETableSubsetVariable *etssv)
-{
- ETableModel *etm = E_TABLE_MODEL(etssv);
- ETableSubset *etss = E_TABLE_SUBSET(etssv);
-
- e_table_model_pre_change (etm);
- etss->n_map = 0;
- g_free (etss->map_table);
- etss->map_table = g_new (unsigned int, 1);
- etssv->n_vals_allocated = 1;
-
- e_table_model_changed (etm);
-}
-
-void
-e_table_subset_variable_increment (ETableSubsetVariable *etssv,
- gint position,
- gint amount)
-{
- int i;
- ETableSubset *etss = E_TABLE_SUBSET(etssv);
- for (i = 0; i < etss->n_map; i++) {
- if (etss->map_table[i] >= position)
- etss->map_table[i] += amount;
- }
-}
-
-void
-e_table_subset_variable_decrement (ETableSubsetVariable *etssv,
- gint position,
- gint amount)
-{
- int i;
- ETableSubset *etss = E_TABLE_SUBSET(etssv);
- for (i = 0; i < etss->n_map; i++) {
- if (etss->map_table[i] >= position)
- etss->map_table[i] -= amount;
- }
-}
-
-void
-e_table_subset_variable_set_allocation (ETableSubsetVariable *etssv,
- gint total)
-{
- ETableSubset *etss = E_TABLE_SUBSET(etssv);
- if (total <= 0)
- total = 1;
- if (total > etss->n_map){
- etss->map_table = g_realloc (etss->map_table, total * sizeof(int));
- }
-}
diff --git a/widgets/table/e-table-subset-variable.h b/widgets/table/e-table-subset-variable.h
deleted file mode 100644
index 2dc0914f9b..0000000000
--- a/widgets/table/e-table-subset-variable.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-subset-variable.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_SUBSET_VARIABLE_H_
-#define _E_TABLE_SUBSET_VARIABLE_H_
-
-#include <glib-object.h>
-#include <gal/e-table/e-table-subset.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_SUBSET_VARIABLE_TYPE (e_table_subset_variable_get_type ())
-#define E_TABLE_SUBSET_VARIABLE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_SUBSET_VARIABLE_TYPE, ETableSubsetVariable))
-#define E_TABLE_SUBSET_VARIABLE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_SUBSET_VARIABLE_TYPE, ETableSubsetVariableClass))
-#define E_IS_TABLE_SUBSET_VARIABLE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_SUBSET_VARIABLE_TYPE))
-#define E_IS_TABLE_SUBSET_VARIABLE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_SUBSET_VARIABLE_TYPE))
-#define E_TABLE_SUBSET_VARIABLE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), E_TABLE_SUBSET_VARIABLE_TYPE, ETableSubsetVariableClass))
-
-typedef struct {
- ETableSubset base;
-
- int n_vals_allocated;
-} ETableSubsetVariable;
-
-typedef struct {
- ETableSubsetClass parent_class;
-
- void (*add) (ETableSubsetVariable *ets,
- gint row);
- void (*add_array) (ETableSubsetVariable *ets,
- const gint *array,
- gint count);
- void (*add_all) (ETableSubsetVariable *ets);
- gboolean (*remove) (ETableSubsetVariable *ets,
- gint row);
-} ETableSubsetVariableClass;
-
-GType e_table_subset_variable_get_type (void);
-ETableModel *e_table_subset_variable_new (ETableModel *etm);
-ETableModel *e_table_subset_variable_construct (ETableSubsetVariable *etssv,
- ETableModel *source);
-void e_table_subset_variable_add (ETableSubsetVariable *ets,
- gint row);
-void e_table_subset_variable_add_array (ETableSubsetVariable *ets,
- const gint *array,
- gint count);
-void e_table_subset_variable_add_all (ETableSubsetVariable *ets);
-gboolean e_table_subset_variable_remove (ETableSubsetVariable *ets,
- gint row);
-void e_table_subset_variable_clear (ETableSubsetVariable *ets);
-void e_table_subset_variable_increment (ETableSubsetVariable *ets,
- gint position,
- gint amount);
-void e_table_subset_variable_decrement (ETableSubsetVariable *ets,
- gint position,
- gint amount);
-void e_table_subset_variable_set_allocation (ETableSubsetVariable *ets,
- gint total);
-G_END_DECLS
-
-#endif /* _E_TABLE_SUBSET_VARIABLE_H_ */
-
diff --git a/widgets/table/e-table-subset.c b/widgets/table/e-table-subset.c
deleted file mode 100644
index a237ba2d94..0000000000
--- a/widgets/table/e-table-subset.c
+++ /dev/null
@@ -1,482 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-subset.c - Implements a table that contains a subset of another table.
- * Copyright 1999, 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Miguel de Icaza <miguel@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <stdlib.h>
-#include "gal/util/e-util.h"
-#include "e-table-subset.h"
-
-static void etss_proxy_model_pre_change_real (ETableSubset *etss, ETableModel *etm);
-static void etss_proxy_model_no_change_real (ETableSubset *etss, ETableModel *etm);
-static void etss_proxy_model_changed_real (ETableSubset *etss, ETableModel *etm);
-static void etss_proxy_model_row_changed_real (ETableSubset *etss, ETableModel *etm, int row);
-static void etss_proxy_model_cell_changed_real (ETableSubset *etss, ETableModel *etm, int col, int row);
-static void etss_proxy_model_rows_inserted_real (ETableSubset *etss, ETableModel *etm, int row, int count);
-static void etss_proxy_model_rows_deleted_real (ETableSubset *etss, ETableModel *etm, int row, int count);
-
-#define d(x)
-
-static ETableModelClass *etss_parent_class;
-
-#define ETSS_CLASS(object) (E_TABLE_SUBSET_GET_CLASS(object))
-
-#define VALID_ROW(etss, row) (row >= -1 && row < etss->n_map)
-#define MAP_ROW(etss, row) (row == -1 ? -1 : etss->map_table[row])
-
-static gint
-etss_get_view_row (ETableSubset *etss, int row)
-{
- const int n = etss->n_map;
- const int * const map_table = etss->map_table;
- int i;
-
- int end = MIN(etss->n_map, etss->last_access + 10);
- int start = MAX(0, etss->last_access - 10);
- int initial = MAX (MIN (etss->last_access, end), start);
-
- for (i = initial; i < end; i++) {
- if (map_table [i] == row){
- d(g_print("a) Found %d from %d\n", i, etss->last_access));
- etss->last_access = i;
- return i;
- }
- }
-
- for (i = initial - 1; i >= start; i--) {
- if (map_table [i] == row){
- d(g_print("b) Found %d from %d\n", i, etss->last_access));
- etss->last_access = i;
- return i;
- }
- }
-
- for (i = 0; i < n; i++){
- if (map_table [i] == row){
- d(g_print("c) Found %d from %d\n", i, etss->last_access));
- etss->last_access = i;
- return i;
- }
- }
- return -1;
-}
-
-static void
-etss_dispose (GObject *object)
-{
- ETableSubset *etss = E_TABLE_SUBSET (object);
-
- if (etss->source) {
- g_signal_handler_disconnect (G_OBJECT (etss->source),
- etss->table_model_pre_change_id);
- g_signal_handler_disconnect (G_OBJECT (etss->source),
- etss->table_model_no_change_id);
- g_signal_handler_disconnect (G_OBJECT (etss->source),
- etss->table_model_changed_id);
- g_signal_handler_disconnect (G_OBJECT (etss->source),
- etss->table_model_row_changed_id);
- g_signal_handler_disconnect (G_OBJECT (etss->source),
- etss->table_model_cell_changed_id);
- g_signal_handler_disconnect (G_OBJECT (etss->source),
- etss->table_model_rows_inserted_id);
- g_signal_handler_disconnect (G_OBJECT (etss->source),
- etss->table_model_rows_deleted_id);
-
- g_object_unref (etss->source);
- etss->source = NULL;
-
- etss->table_model_changed_id = 0;
- etss->table_model_row_changed_id = 0;
- etss->table_model_cell_changed_id = 0;
- etss->table_model_rows_inserted_id = 0;
- etss->table_model_rows_deleted_id = 0;
- }
-
- G_OBJECT_CLASS (etss_parent_class)->dispose (object);
-}
-
-static void
-etss_finalize (GObject *object)
-{
- ETableSubset *etss = E_TABLE_SUBSET (object);
-
- g_free (etss->map_table);
- etss->map_table = NULL;
-
- G_OBJECT_CLASS (etss_parent_class)->finalize (object);
-}
-
-static int
-etss_column_count (ETableModel *etm)
-{
- ETableSubset *etss = (ETableSubset *)etm;
-
- return e_table_model_column_count (etss->source);
-}
-
-static int
-etss_row_count (ETableModel *etm)
-{
- ETableSubset *etss = (ETableSubset *)etm;
-
- return etss->n_map;
-}
-
-static void *
-etss_value_at (ETableModel *etm, int col, int row)
-{
- ETableSubset *etss = (ETableSubset *)etm;
-
- g_return_val_if_fail (VALID_ROW (etss, row), NULL);
-
- etss->last_access = row;
- d(g_print("g) Setting last_access to %d\n", row));
- return e_table_model_value_at (etss->source, col, MAP_ROW(etss, row));
-}
-
-static void
-etss_set_value_at (ETableModel *etm, int col, int row, const void *val)
-{
- ETableSubset *etss = (ETableSubset *)etm;
-
- g_return_if_fail (VALID_ROW (etss, row));
-
- etss->last_access = row;
- d(g_print("h) Setting last_access to %d\n", row));
- e_table_model_set_value_at (etss->source, col, MAP_ROW(etss, row), val);
-}
-
-static gboolean
-etss_is_cell_editable (ETableModel *etm, int col, int row)
-{
- ETableSubset *etss = (ETableSubset *)etm;
-
- g_return_val_if_fail (VALID_ROW (etss, row), FALSE);
-
- return e_table_model_is_cell_editable (etss->source, col, MAP_ROW(etss, row));
-}
-
-static gboolean
-etss_has_save_id (ETableModel *etm)
-{
- return TRUE;
-}
-
-static char *
-etss_get_save_id (ETableModel *etm, int row)
-{
- ETableSubset *etss = (ETableSubset *)etm;
-
- g_return_val_if_fail (VALID_ROW (etss, row), NULL);
-
- if (e_table_model_has_save_id (etss->source))
- return e_table_model_get_save_id (etss->source, MAP_ROW(etss, row));
- else
- return g_strdup_printf ("%d", MAP_ROW(etss, row));
-}
-
-static void
-etss_append_row (ETableModel *etm, ETableModel *source, int row)
-{
- ETableSubset *etss = (ETableSubset *)etm;
- e_table_model_append_row (etss->source, source, row);
-}
-
-static void *
-etss_duplicate_value (ETableModel *etm, int col, const void *value)
-{
- ETableSubset *etss = (ETableSubset *)etm;
-
- return e_table_model_duplicate_value (etss->source, col, value);
-}
-
-static void
-etss_free_value (ETableModel *etm, int col, void *value)
-{
- ETableSubset *etss = (ETableSubset *)etm;
-
- e_table_model_free_value (etss->source, col, value);
-}
-
-static void *
-etss_initialize_value (ETableModel *etm, int col)
-{
- ETableSubset *etss = (ETableSubset *)etm;
-
- return e_table_model_initialize_value (etss->source, col);
-}
-
-static gboolean
-etss_value_is_empty (ETableModel *etm, int col, const void *value)
-{
- ETableSubset *etss = (ETableSubset *)etm;
-
- return e_table_model_value_is_empty (etss->source, col, value);
-}
-
-static char *
-etss_value_to_string (ETableModel *etm, int col, const void *value)
-{
- ETableSubset *etss = (ETableSubset *)etm;
-
- return e_table_model_value_to_string (etss->source, col, value);
-}
-
-static void
-etss_class_init (GObjectClass *object_class)
-{
- ETableSubsetClass *klass = (ETableSubsetClass *) object_class;
- ETableModelClass *table_class = (ETableModelClass *) object_class;
-
- etss_parent_class = g_type_class_peek_parent (klass);
-
- object_class->dispose = etss_dispose;
- object_class->finalize = etss_finalize;
-
- table_class->column_count = etss_column_count;
- table_class->row_count = etss_row_count;
- table_class->append_row = etss_append_row;
-
- table_class->value_at = etss_value_at;
- table_class->set_value_at = etss_set_value_at;
- table_class->is_cell_editable = etss_is_cell_editable;
-
- table_class->has_save_id = etss_has_save_id;
- table_class->get_save_id = etss_get_save_id;
-
- table_class->duplicate_value = etss_duplicate_value;
- table_class->free_value = etss_free_value;
- table_class->initialize_value = etss_initialize_value;
- table_class->value_is_empty = etss_value_is_empty;
- table_class->value_to_string = etss_value_to_string;
-
- klass->proxy_model_pre_change = etss_proxy_model_pre_change_real;
- klass->proxy_model_no_change = etss_proxy_model_no_change_real;
- klass->proxy_model_changed = etss_proxy_model_changed_real;
- klass->proxy_model_row_changed = etss_proxy_model_row_changed_real;
- klass->proxy_model_cell_changed = etss_proxy_model_cell_changed_real;
- klass->proxy_model_rows_inserted = etss_proxy_model_rows_inserted_real;
- klass->proxy_model_rows_deleted = etss_proxy_model_rows_deleted_real;
-}
-
-static void
-etss_init (ETableSubset *etss)
-{
- etss->last_access = 0;
-}
-
-E_MAKE_TYPE(e_table_subset, "ETableSubset", ETableSubset, etss_class_init, etss_init, E_TABLE_MODEL_TYPE)
-
-static void
-etss_proxy_model_pre_change_real (ETableSubset *etss, ETableModel *etm)
-{
- e_table_model_pre_change (E_TABLE_MODEL (etss));
-}
-
-static void
-etss_proxy_model_no_change_real (ETableSubset *etss, ETableModel *etm)
-{
- e_table_model_no_change (E_TABLE_MODEL (etss));
-}
-
-static void
-etss_proxy_model_changed_real (ETableSubset *etss, ETableModel *etm)
-{
- e_table_model_changed (E_TABLE_MODEL (etss));
-}
-
-static void
-etss_proxy_model_row_changed_real (ETableSubset *etss, ETableModel *etm, int row)
-{
- int view_row = etss_get_view_row (etss, row);
- if (view_row != -1)
- e_table_model_row_changed (E_TABLE_MODEL (etss), view_row);
- else
- e_table_model_no_change (E_TABLE_MODEL (etss));
-}
-
-static void
-etss_proxy_model_cell_changed_real (ETableSubset *etss, ETableModel *etm, int col, int row)
-{
- int view_row = etss_get_view_row (etss, row);
- if (view_row != -1)
- e_table_model_cell_changed (E_TABLE_MODEL (etss), col, view_row);
- else
- e_table_model_no_change (E_TABLE_MODEL (etss));
-}
-
-static void
-etss_proxy_model_rows_inserted_real (ETableSubset *etss, ETableModel *etm, int row, int count)
-{
- e_table_model_no_change (E_TABLE_MODEL (etss));
-}
-
-static void
-etss_proxy_model_rows_deleted_real (ETableSubset *etss, ETableModel *etm, int row, int count)
-{
- e_table_model_no_change (E_TABLE_MODEL (etss));
-}
-
-static void
-etss_proxy_model_pre_change (ETableModel *etm, ETableSubset *etss)
-{
- if (ETSS_CLASS(etss)->proxy_model_pre_change)
- (ETSS_CLASS(etss)->proxy_model_pre_change) (etss, etm);
-}
-
-static void
-etss_proxy_model_no_change (ETableModel *etm, ETableSubset *etss)
-{
- if (ETSS_CLASS(etss)->proxy_model_no_change)
- (ETSS_CLASS(etss)->proxy_model_no_change) (etss, etm);
-}
-
-static void
-etss_proxy_model_changed (ETableModel *etm, ETableSubset *etss)
-{
- if (ETSS_CLASS(etss)->proxy_model_changed)
- (ETSS_CLASS(etss)->proxy_model_changed) (etss, etm);
-}
-
-static void
-etss_proxy_model_row_changed (ETableModel *etm, int row, ETableSubset *etss)
-{
- if (ETSS_CLASS(etss)->proxy_model_row_changed)
- (ETSS_CLASS(etss)->proxy_model_row_changed) (etss, etm, row);
-}
-
-static void
-etss_proxy_model_cell_changed (ETableModel *etm, int row, int col, ETableSubset *etss)
-{
- if (ETSS_CLASS(etss)->proxy_model_cell_changed)
- (ETSS_CLASS(etss)->proxy_model_cell_changed) (etss, etm, col, row);
-}
-
-static void
-etss_proxy_model_rows_inserted (ETableModel *etm, int row, int col, ETableSubset *etss)
-{
- if (ETSS_CLASS(etss)->proxy_model_rows_inserted)
- (ETSS_CLASS(etss)->proxy_model_rows_inserted) (etss, etm, row, col);
-}
-
-static void
-etss_proxy_model_rows_deleted (ETableModel *etm, int row, int col, ETableSubset *etss)
-{
- if (ETSS_CLASS(etss)->proxy_model_rows_deleted)
- (ETSS_CLASS(etss)->proxy_model_rows_deleted) (etss, etm, row, col);
-}
-
-ETableModel *
-e_table_subset_construct (ETableSubset *etss, ETableModel *source, int nvals)
-{
- unsigned int *buffer;
- int i;
-
- if (nvals) {
- buffer = (unsigned int *) g_malloc (sizeof (unsigned int) * nvals);
- if (buffer == NULL)
- return NULL;
- } else
- buffer = NULL;
- etss->map_table = buffer;
- etss->n_map = nvals;
- etss->source = source;
- g_object_ref (source);
-
- /* Init */
- for (i = 0; i < nvals; i++)
- etss->map_table [i] = i;
-
- etss->table_model_pre_change_id = g_signal_connect (G_OBJECT (source), "model_pre_change",
- G_CALLBACK (etss_proxy_model_pre_change), etss);
- etss->table_model_no_change_id = g_signal_connect (G_OBJECT (source), "model_no_change",
- G_CALLBACK (etss_proxy_model_no_change), etss);
- etss->table_model_changed_id = g_signal_connect (G_OBJECT (source), "model_changed",
- G_CALLBACK (etss_proxy_model_changed), etss);
- etss->table_model_row_changed_id = g_signal_connect (G_OBJECT (source), "model_row_changed",
- G_CALLBACK (etss_proxy_model_row_changed), etss);
- etss->table_model_cell_changed_id = g_signal_connect (G_OBJECT (source), "model_cell_changed",
- G_CALLBACK (etss_proxy_model_cell_changed), etss);
- etss->table_model_rows_inserted_id = g_signal_connect (G_OBJECT (source), "model_rows_inserted",
- G_CALLBACK (etss_proxy_model_rows_inserted), etss);
- etss->table_model_rows_deleted_id = g_signal_connect (G_OBJECT (source), "model_rows_deleted",
- G_CALLBACK (etss_proxy_model_rows_deleted), etss);
-
- return E_TABLE_MODEL (etss);
-}
-
-ETableModel *
-e_table_subset_new (ETableModel *source, const int nvals)
-{
- ETableSubset *etss = g_object_new (E_TABLE_SUBSET_TYPE, NULL);
-
- if (e_table_subset_construct (etss, source, nvals) == NULL){
- g_object_unref (etss);
- return NULL;
- }
-
- return (ETableModel *) etss;
-}
-
-int
-e_table_subset_model_to_view_row (ETableSubset *ets,
- int model_row)
-{
- int i;
- for (i = 0; i < ets->n_map; i++) {
- if (ets->map_table[i] == model_row)
- return i;
- }
- return -1;
-}
-
-int
-e_table_subset_view_to_model_row (ETableSubset *ets,
- int view_row)
-{
- if (view_row >= 0 && view_row < ets->n_map)
- return ets->map_table[view_row];
- else
- return -1;
-}
-
-ETableModel *
-e_table_subset_get_toplevel (ETableSubset *table)
-{
- g_return_val_if_fail (table != NULL, NULL);
- g_return_val_if_fail (E_IS_TABLE_SUBSET (table), NULL);
-
- if (E_IS_TABLE_SUBSET (table->source))
- return e_table_subset_get_toplevel (E_TABLE_SUBSET (table->source));
- else
- return table->source;
-}
-
-void
-e_table_subset_print_debugging (ETableSubset *table_model)
-{
- int i;
- for (i = 0; i < table_model->n_map; i++) {
- g_print("%8d\n", table_model->map_table[i]);
- }
-}
diff --git a/widgets/table/e-table-subset.h b/widgets/table/e-table-subset.h
deleted file mode 100644
index 505aa6c305..0000000000
--- a/widgets/table/e-table-subset.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-subset.h - Implements a table that contains a subset of another table.
- * Copyright 1999, 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Miguel de Icaza <miguel@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_SUBSET_H_
-#define _E_TABLE_SUBSET_H_
-
-#include <glib-object.h>
-#include <gal/e-table/e-table-model.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_SUBSET_TYPE (e_table_subset_get_type ())
-#define E_TABLE_SUBSET(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_SUBSET_TYPE, ETableSubset))
-#define E_TABLE_SUBSET_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_SUBSET_TYPE, ETableSubsetClass))
-#define E_IS_TABLE_SUBSET(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_SUBSET_TYPE))
-#define E_IS_TABLE_SUBSET_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_SUBSET_TYPE))
-#define E_TABLE_SUBSET_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), E_TABLE_SUBSET_TYPE, ETableSubsetClass))
-
-typedef struct {
- ETableModel base;
-
- ETableModel *source;
- int n_map;
- int *map_table;
-
- int last_access;
-
- int table_model_pre_change_id;
- int table_model_no_change_id;
- int table_model_changed_id;
- int table_model_row_changed_id;
- int table_model_cell_changed_id;
- int table_model_rows_inserted_id;
- int table_model_rows_deleted_id;
-} ETableSubset;
-
-typedef struct {
- ETableModelClass parent_class;
-
- void (*proxy_model_pre_change) (ETableSubset *etss, ETableModel *etm);
- void (*proxy_model_no_change) (ETableSubset *etss, ETableModel *etm);
- void (*proxy_model_changed) (ETableSubset *etss, ETableModel *etm);
- void (*proxy_model_row_changed) (ETableSubset *etss, ETableModel *etm, int row);
- void (*proxy_model_cell_changed) (ETableSubset *etss, ETableModel *etm, int col, int row);
- void (*proxy_model_rows_inserted) (ETableSubset *etss, ETableModel *etm, int row, int count);
- void (*proxy_model_rows_deleted) (ETableSubset *etss, ETableModel *etm, int row, int count);
-} ETableSubsetClass;
-
-GType e_table_subset_get_type (void);
-ETableModel *e_table_subset_new (ETableModel *etm,
- int n_vals);
-ETableModel *e_table_subset_construct (ETableSubset *ets,
- ETableModel *source,
- int nvals);
-
-int e_table_subset_model_to_view_row (ETableSubset *ets,
- int model_row);
-int e_table_subset_view_to_model_row (ETableSubset *ets,
- int view_row);
-
-ETableModel *e_table_subset_get_toplevel (ETableSubset *table_model);
-
-void e_table_subset_print_debugging (ETableSubset *table_model);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_SUBSET_H_ */
-
diff --git a/widgets/table/e-table-tooltip.h b/widgets/table/e-table-tooltip.h
deleted file mode 100644
index 81c00f9e34..0000000000
--- a/widgets/table/e-table-tooltip.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-tooltip.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_TOOLTIP_H_
-#define _E_TABLE_TOOLTIP_H_
-
-#include <libgnomecanvas/gnome-canvas.h>
-
-G_BEGIN_DECLS
-
-typedef struct {
- gint timer;
- int col, row;
- int row_height;
- int x, y;
- int cx, cy;
- GdkColor *foreground;
- GdkColor *background;
- GnomeCanvasItem *eti;
-} ETableTooltip;
-
-G_END_DECLS
-
-#endif
diff --git a/widgets/table/e-table-tree.h b/widgets/table/e-table-tree.h
deleted file mode 100644
index 5648fc2f06..0000000000
--- a/widgets/table/e-table-tree.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-tree.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_TREE_H_
-#define _E_TABLE_TREE_H_
-
-#include <gal/e-table/e-table-model.h>
-
-G_BEGIN_DECLS
-
-typedef struct {
- char *title;
-
- union {
- ETableModel *table;
- GList *children;
- } u;
-
- guint expanded :1;
- guint is_leaf :1;
-} ETableGroup;
-
-ETableGroup *e_table_group_new (const char *title, ETableModel *table);
-ETableGroup *e_table_group_new_leaf (const char *title);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_TREE_H_ */
diff --git a/widgets/table/e-table-utils.c b/widgets/table/e-table-utils.c
deleted file mode 100644
index eec4fc79d5..0000000000
--- a/widgets/table/e-table-utils.c
+++ /dev/null
@@ -1,191 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-utils.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include "gal/util/e-i18n.h"
-#include "gal/util/e-util.h"
-#include "gal/widgets/e-unicode.h"
-#include "e-table-utils.h"
-#include "e-table-header-utils.h"
-
-ETableHeader *
-e_table_state_to_header (GtkWidget *widget, ETableHeader *full_header, ETableState *state)
-{
- ETableHeader *nh;
- const int max_cols = e_table_header_count (full_header);
- int column;
- GValue *val = g_new0 (GValue, 1);
-
- g_return_val_if_fail (widget, NULL);
- g_return_val_if_fail (full_header, NULL);
- g_return_val_if_fail (state, NULL);
-
- nh = e_table_header_new ();
- g_value_init (val, G_TYPE_DOUBLE);
- g_value_set_double (val, e_table_header_width_extras (widget->style));
- g_object_set_property (G_OBJECT(nh), "width_extras", val);
- g_free (val);
-
- for (column = 0; column < state->col_count; column++) {
- int col;
- double expansion;
- ETableCol *table_col;
-
- col = state->columns[column];
- expansion = state->expansions[column];
-
- if (col >= max_cols)
- continue;
-
- table_col = e_table_header_get_column (full_header, col);
-
- if (expansion >= -1)
- table_col->expansion = expansion;
-
- e_table_header_add_column (nh, table_col, -1);
- }
-
- return nh;
-}
-
-static ETableCol *
-et_col_spec_to_col (ETableColumnSpecification *col_spec,
- ETableExtras *ete,
- const char *domain)
-{
- ETableCol *col = NULL;
- ECell *cell = NULL;
- GCompareFunc compare = NULL;
- ETableSearchFunc search = NULL;
-
- if (col_spec->cell)
- cell = e_table_extras_get_cell(ete, col_spec->cell);
- if (col_spec->compare)
- compare = e_table_extras_get_compare(ete, col_spec->compare);
- if (col_spec->search)
- search = e_table_extras_get_search(ete, col_spec->search);
-
- if (cell && compare) {
- char *title = dgettext (domain, col_spec->title);
-
- title = g_strdup (title);
-
- if (col_spec->pixbuf && *col_spec->pixbuf) {
- GdkPixbuf *pixbuf;
-
- pixbuf = e_table_extras_get_pixbuf(
- ete, col_spec->pixbuf);
- if (pixbuf) {
- col = e_table_col_new_with_pixbuf (
- col_spec->model_col, title,
- pixbuf, col_spec->expansion,
- col_spec->minimum_width,
- cell, compare, col_spec->resizable, col_spec->disabled, col_spec->priority);
- }
- }
- if (col == NULL && col_spec->title && *col_spec->title) {
- col = e_table_col_new (
- col_spec->model_col, title,
- col_spec->expansion, col_spec->minimum_width,
- cell, compare, col_spec->resizable, col_spec->disabled, col_spec->priority);
- }
- col->search = search;
-
- g_free (title);
- }
- if (col && col_spec->compare_col != col_spec->model_col)
- g_object_set (col,
- "compare_col", col_spec->compare_col,
- NULL);
- return col;
-}
-
-ETableHeader *
-e_table_spec_to_full_header (ETableSpecification *spec,
- ETableExtras *ete)
-{
- ETableHeader *nh;
- int column;
-
- g_return_val_if_fail (spec, NULL);
- g_return_val_if_fail (ete, NULL);
-
- nh = e_table_header_new ();
-
- for (column = 0; spec->columns[column]; column++) {
- ETableCol *col = et_col_spec_to_col (
- spec->columns[column], ete, spec->domain);
-
- if (col) {
- e_table_header_add_column (nh, col, -1);
- g_object_unref (col);
- }
- }
-
- return nh;
-}
-
-static gboolean
-check_col (ETableCol *col, gpointer user_data)
-{
- return col->search ? TRUE : FALSE;
-}
-
-ETableCol *
-e_table_util_calculate_current_search_col (ETableHeader *header, ETableHeader *full_header, ETableSortInfo *sort_info, gboolean always_search)
-{
- int i;
- int count;
- ETableCol *col = NULL;
- count = e_table_sort_info_grouping_get_count (sort_info);
- for (i = 0; i < count; i++) {
- ETableSortColumn column = e_table_sort_info_grouping_get_nth(sort_info, i);
-
- col = e_table_header_get_column (full_header, column.column);
-
- if (col && col->search)
- break;
-
- col = NULL;
- }
-
- if (col == NULL) {
- count = e_table_sort_info_sorting_get_count (sort_info);
- for (i = 0; i < count; i++) {
- ETableSortColumn column = e_table_sort_info_sorting_get_nth(sort_info, i);
-
- col = e_table_header_get_column (full_header, column.column);
-
- if (col && col->search)
- break;
-
- col = NULL;
- }
- }
-
- if (col == NULL && always_search) {
- col = e_table_header_prioritized_column_selected (header, check_col, NULL);
- }
-
- return col;
-}
diff --git a/widgets/table/e-table-utils.h b/widgets/table/e-table-utils.h
deleted file mode 100644
index 3c7fd937b6..0000000000
--- a/widgets/table/e-table-utils.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-utils.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_UTILS_H_
-#define _E_TABLE_UTILS_H_
-
-#include <gal/e-table/e-table-header.h>
-#include <gal/e-table/e-table-state.h>
-#include <gal/e-table/e-table-specification.h>
-#include <gal/e-table/e-table-extras.h>
-
-G_BEGIN_DECLS
-
-ETableHeader *e_table_state_to_header (GtkWidget *widget,
- ETableHeader *full_header,
- ETableState *state);
-
-ETableHeader *e_table_spec_to_full_header (ETableSpecification *spec,
- ETableExtras *ete);
-
-ETableCol *e_table_util_calculate_current_search_col (ETableHeader *header,
- ETableHeader *full_header,
- ETableSortInfo *sort_info,
- gboolean always_search);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_UTILS_H_ */
-
diff --git a/widgets/table/e-table-without.c b/widgets/table/e-table-without.c
deleted file mode 100644
index e49076be0f..0000000000
--- a/widgets/table/e-table-without.c
+++ /dev/null
@@ -1,392 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-without.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <stdlib.h>
-#include <string.h>
-#include "gal/util/e-util.h"
-#include "e-table-without.h"
-
-#define PARENT_TYPE E_TABLE_SUBSET_TYPE
-
-#define INCREMENT_AMOUNT 10
-
-static ETableSubsetClass *parent_class;
-
-struct _ETableWithoutPrivate {
- GHashTable *hash;
-
- GHashFunc hash_func;
- GCompareFunc compare_func;
-
- ETableWithoutGetKeyFunc get_key_func;
- ETableWithoutDuplicateKeyFunc duplicate_key_func;
- ETableWithoutFreeKeyFunc free_gotten_key_func;
- ETableWithoutFreeKeyFunc free_duplicated_key_func;
-
- void *closure;
-};
-
-static gboolean
-check (ETableWithout *etw, int model_row)
-{
- gboolean ret_val;
- void *key;
- ETableSubset *etss = E_TABLE_SUBSET (etw);
-
- if (etw->priv->get_key_func)
- key = etw->priv->get_key_func (etss->source, model_row, etw->priv->closure);
- else
- key = GINT_TO_POINTER (model_row);
- ret_val = (g_hash_table_lookup (etw->priv->hash, key) != NULL);
- if (etw->priv->free_gotten_key_func)
- etw->priv->free_gotten_key_func (key, etw->priv->closure);
- return ret_val;
-}
-
-static gboolean
-check_with_key (ETableWithout *etw, void *key, int model_row)
-{
- gboolean ret_val;
- void *key2;
- ETableSubset *etss = E_TABLE_SUBSET (etw);
-
- if (etw->priv->get_key_func)
- key2 = etw->priv->get_key_func (etss->source, model_row, etw->priv->closure);
- else
- key2 = GINT_TO_POINTER (model_row);
- if (etw->priv->compare_func)
- ret_val = (etw->priv->compare_func (key, key2));
- else
- ret_val = (key == key2);
- if (etw->priv->free_gotten_key_func)
- etw->priv->free_gotten_key_func (key2, etw->priv->closure);
- return ret_val;
-}
-
-static gint
-etw_view_to_model_row (ETableWithout *etw, int view_row)
-{
- ETableSubset *etss = E_TABLE_SUBSET (etw);
- return etss->map_table[view_row];
-}
-
-static void
-add_row (ETableWithout *etw, int model_row)
-{
- ETableSubset *etss = E_TABLE_SUBSET (etw);
-
- e_table_model_pre_change (E_TABLE_MODEL (etw));
-
- etss->map_table = g_renew (int, etss->map_table, etss->n_map + 1);
-
- etss->map_table[etss->n_map++] = model_row;
-
- e_table_model_row_inserted (E_TABLE_MODEL (etw), etss->n_map - 1);
-}
-
-static void
-remove_row (ETableWithout *etw, int view_row)
-{
- ETableSubset *etss = E_TABLE_SUBSET (etw);
-
- e_table_model_pre_change (E_TABLE_MODEL (etw));
- memmove (etss->map_table + view_row, etss->map_table + view_row + 1, (etss->n_map - view_row - 1) * sizeof (int));
- etss->n_map --;
- e_table_model_row_deleted (E_TABLE_MODEL (etw), view_row);
-}
-
-static void
-delete_hash_element (gpointer key,
- gpointer value,
- gpointer closure)
-{
- ETableWithout *etw = closure;
- if (etw->priv->free_duplicated_key_func)
- etw->priv->free_duplicated_key_func (key, etw->priv->closure);
-}
-
-static void
-etw_dispose (GObject *object)
-{
- ETableWithout *etw = E_TABLE_WITHOUT (object);
-
- if (etw->priv) {
- if (etw->priv->hash) {
- g_hash_table_foreach (etw->priv->hash, delete_hash_element, etw);
- g_hash_table_destroy (etw->priv->hash);
- etw->priv->hash = NULL;
- }
- g_free (etw->priv);
- etw->priv = NULL;
- }
-
- if (G_OBJECT_CLASS (parent_class)->dispose)
- (* G_OBJECT_CLASS (parent_class)->dispose) (object);
-}
-
-static void
-etw_proxy_model_rows_inserted (ETableSubset *etss, ETableModel *etm, int model_row, int count)
-{
- int i;
- ETableWithout *etw = E_TABLE_WITHOUT (etss);
- gboolean shift = FALSE;
-
- /* i is View row */
- if (model_row != etss->n_map) {
- for (i = 0; i < etss->n_map; i++) {
- if (etss->map_table[i] > model_row)
- etss->map_table[i] += count;
- }
- shift = TRUE;
- }
-
- /* i is Model row */
- for (i = model_row; i < model_row + count; i++) {
- if (!check (etw, i)) {
- add_row (etw, i);
- }
- }
- if (shift)
- e_table_model_changed (E_TABLE_MODEL (etw));
- else
- e_table_model_no_change (E_TABLE_MODEL (etw));
-}
-
-static void
-etw_proxy_model_rows_deleted (ETableSubset *etss, ETableModel *etm, int model_row, int count)
-{
- int i; /* View row */
- ETableWithout *etw = E_TABLE_WITHOUT (etss);
- gboolean shift = FALSE;
-
- for (i = 0; i < etss->n_map; i++) {
- if (etss->map_table[i] >= model_row && etss->map_table[i] < model_row + count) {
- remove_row (etw, i);
- i--;
- } else if (etss->map_table[i] >= model_row + count) {
- etss->map_table[i] -= count;
- shift = TRUE;
- }
- }
- if (shift)
- e_table_model_changed (E_TABLE_MODEL (etw));
- else
- e_table_model_no_change (E_TABLE_MODEL (etw));
-}
-
-static void
-etw_proxy_model_changed (ETableSubset *etss, ETableModel *etm)
-{
- int i; /* Model row */
- int j; /* View row */
- int row_count;
- ETableWithout *etw = E_TABLE_WITHOUT (etss);
-
- g_free (etss->map_table);
- row_count = e_table_model_row_count (etm);
- etss->map_table = g_new (int, row_count);
-
- for (i = 0, j = 0; i < row_count; i++) {
- if (!check (etw, i)) {
- etss->map_table[j++] = i;
- }
- }
- etss->n_map = j;
-
- if (parent_class->proxy_model_changed)
- parent_class->proxy_model_changed (etss, etm);
-}
-
-static void
-etw_class_init (ETableWithoutClass *klass)
-{
- ETableSubsetClass *etss_class = E_TABLE_SUBSET_CLASS (klass);
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class->dispose = etw_dispose;
-
- etss_class->proxy_model_rows_inserted = etw_proxy_model_rows_inserted;
- etss_class->proxy_model_rows_deleted = etw_proxy_model_rows_deleted;
- etss_class->proxy_model_changed = etw_proxy_model_changed;
-}
-
-static void
-etw_init (ETableWithout *etw)
-{
- etw->priv = g_new (ETableWithoutPrivate, 1);
- etw->priv->hash_func = NULL;
- etw->priv->compare_func = NULL;
- etw->priv->get_key_func = NULL;
- etw->priv->duplicate_key_func = NULL;
- etw->priv->free_gotten_key_func = NULL;
- etw->priv->free_duplicated_key_func = NULL;
-}
-
-E_MAKE_TYPE(e_table_without, "ETableWithout", ETableWithout, etw_class_init, etw_init, PARENT_TYPE)
-
-ETableModel *
-e_table_without_construct (ETableWithout *etw,
- ETableModel *source,
- GHashFunc hash_func,
- GCompareFunc compare_func,
- ETableWithoutGetKeyFunc get_key_func,
- ETableWithoutDuplicateKeyFunc duplicate_key_func,
- ETableWithoutFreeKeyFunc free_gotten_key_func,
- ETableWithoutFreeKeyFunc free_duplicated_key_func,
- void *closure)
-{
- if (e_table_subset_construct (E_TABLE_SUBSET(etw), source, 1) == NULL)
- return NULL;
- E_TABLE_SUBSET(etw)->n_map = 0;
-
- etw->priv->hash_func = hash_func;
- etw->priv->compare_func = compare_func;
- etw->priv->get_key_func = get_key_func;
- etw->priv->duplicate_key_func = duplicate_key_func;
- etw->priv->free_gotten_key_func = free_gotten_key_func;
- etw->priv->free_duplicated_key_func = free_duplicated_key_func;
- etw->priv->closure = closure;
-
- etw->priv->hash = g_hash_table_new (etw->priv->hash_func, etw->priv->compare_func);
-
- return E_TABLE_MODEL (etw);
-}
-
-ETableModel *
-e_table_without_new (ETableModel *source,
- GHashFunc hash_func,
- GCompareFunc compare_func,
- ETableWithoutGetKeyFunc get_key_func,
- ETableWithoutDuplicateKeyFunc duplicate_key_func,
- ETableWithoutFreeKeyFunc free_gotten_key_func,
- ETableWithoutFreeKeyFunc free_duplicated_key_func,
- void *closure)
-{
- ETableWithout *etw = g_object_new (E_TABLE_WITHOUT_TYPE, NULL);
-
- if (e_table_without_construct (etw,
- source,
- hash_func,
- compare_func,
- get_key_func,
- duplicate_key_func,
- free_gotten_key_func,
- free_duplicated_key_func,
- closure)
- == NULL) {
- g_object_unref (etw);
- return NULL;
- }
-
- return (ETableModel *) etw;
-}
-
-void e_table_without_hide (ETableWithout *etw,
- void *key)
-{
- int i; /* View row */
- ETableSubset *etss = E_TABLE_SUBSET (etw);
-
- if (etw->priv->duplicate_key_func)
- key = etw->priv->duplicate_key_func (key, etw->priv->closure);
-
- g_hash_table_insert (etw->priv->hash, key, key);
- for (i = 0; i < etss->n_map; i++) {
- if (check_with_key (etw, key, etw_view_to_model_row (etw, i))) {
- remove_row (etw, i);
- i --;
- }
- }
-}
-
-/* An adopted key will later be freed using the free_duplicated_key function. */
-void e_table_without_hide_adopt (ETableWithout *etw,
- void *key)
-{
- int i; /* View row */
- ETableSubset *etss = E_TABLE_SUBSET (etw);
-
- g_hash_table_insert (etw->priv->hash, key, key);
- for (i = 0; i < etss->n_map; i++) {
- if (check_with_key (etw, key, etw_view_to_model_row (etw, i))) {
- remove_row (etw, i);
- i --;
- }
- }
-}
-
-void
-e_table_without_show (ETableWithout *etw,
- void *key)
-{
- int i; /* Model row */
- ETableSubset *etss = E_TABLE_SUBSET (etw);
- int count;
- void *old_key;
-
- count = e_table_model_row_count (etss->source);
-
- for (i = 0; i < count; i++) {
- if (check_with_key (etw, key, i)) {
- add_row (etw, i);
- }
- }
- if (g_hash_table_lookup_extended (etw->priv->hash, key, &old_key, NULL)) {
-#if 0
- if (etw->priv->free_duplicated_key_func)
- etw->priv->free_duplicated_key_func (key, etw->priv->closure);
-#endif
- g_hash_table_remove (etw->priv->hash, key);
- }
-}
-
-void
-e_table_without_show_all (ETableWithout *etw)
-{
- int i; /* Model row */
- int row_count;
- ETableSubset *etss = E_TABLE_SUBSET (etw);
-
- e_table_model_pre_change (E_TABLE_MODEL (etw));
-
- if (etw->priv->hash) {
- g_hash_table_foreach (etw->priv->hash, delete_hash_element, etw);
- g_hash_table_destroy (etw->priv->hash);
- etw->priv->hash = NULL;
- }
- etw->priv->hash = g_hash_table_new (etw->priv->hash_func, etw->priv->compare_func);
-
- row_count = e_table_model_row_count (E_TABLE_MODEL(etss->source));
- g_free (etss->map_table);
- etss->map_table = g_new (int, row_count);
-
- for (i = 0; i < row_count; i++) {
- etss->map_table[i] = i;
- }
- etss->n_map = row_count;
-
- e_table_model_changed (E_TABLE_MODEL (etw));
-}
diff --git a/widgets/table/e-table-without.h b/widgets/table/e-table-without.h
deleted file mode 100644
index 6bcbdcdc65..0000000000
--- a/widgets/table/e-table-without.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-without.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_WITHOUT_H_
-#define _E_TABLE_WITHOUT_H_
-
-#include <gtk/gtkobject.h>
-#include <gal/e-table/e-table-subset.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define E_TABLE_WITHOUT_TYPE (e_table_without_get_type ())
-#define E_TABLE_WITHOUT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_WITHOUT_TYPE, ETableWithout))
-#define E_TABLE_WITHOUT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_WITHOUT_TYPE, ETableWithoutClass))
-#define E_IS_TABLE_WITHOUT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_WITHOUT_TYPE))
-#define E_IS_TABLE_WITHOUT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_WITHOUT_TYPE))
-
-typedef struct _ETableWithoutPrivate ETableWithoutPrivate;
-typedef void *(*ETableWithoutGetKeyFunc) (ETableModel *source,
- int row,
- void *closure);
-typedef void *(*ETableWithoutDuplicateKeyFunc) (const void *key,
- void *closure);
-typedef void (*ETableWithoutFreeKeyFunc) (void *key,
- void *closure);
-
-typedef struct {
- ETableSubset base;
-
- ETableWithoutPrivate *priv;
-} ETableWithout;
-
-typedef struct {
- ETableSubsetClass parent_class;
-
-} ETableWithoutClass;
-
-GType e_table_without_get_type (void);
-ETableModel *e_table_without_new (ETableModel *source,
- GHashFunc hash_func,
- GCompareFunc compare_func,
- ETableWithoutGetKeyFunc get_key_func,
- ETableWithoutDuplicateKeyFunc duplicate_key_func,
- ETableWithoutFreeKeyFunc free_gotten_key_func,
- ETableWithoutFreeKeyFunc free_duplicated_key_func,
- void *closure);
-ETableModel *e_table_without_construct (ETableWithout *etw,
- ETableModel *source,
- GHashFunc hash_func,
- GCompareFunc compare_func,
- ETableWithoutGetKeyFunc get_key_func,
- ETableWithoutDuplicateKeyFunc duplicate_key_func,
- ETableWithoutFreeKeyFunc free_gotten_key_func,
- ETableWithoutFreeKeyFunc free_duplicated_key_func,
- void *closure);
-void e_table_without_hide (ETableWithout *etw,
- void *key);
-void e_table_without_hide_adopt (ETableWithout *etw,
- void *key);
-void e_table_without_show (ETableWithout *etw,
- void *key);
-void e_table_without_show_all (ETableWithout *etw);
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* _E_TABLE_WITHOUT_H_ */
-
diff --git a/widgets/table/e-table.c b/widgets/table/e-table.c
deleted file mode 100644
index 3a849fbf26..0000000000
--- a/widgets/table/e-table.c
+++ /dev/null
@@ -1,3349 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table.c - A graphical view of a Table.
- * Copyright 1999, 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Miguel de Icaza <miguel@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include <gdk/gdk.h>
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtksignal.h>
-#include <libgnomecanvas/gnome-canvas.h>
-#include <libgnomecanvas/gnome-canvas-rect-ellipse.h>
-
-#include "gal/util/e-i18n.h"
-#include "gal/util/e-util.h"
-#include "gal/widgets/e-canvas.h"
-#include "gal/widgets/e-canvas-background.h"
-#include "gal/widgets/e-canvas-vbox.h"
-#include "gal/widgets/e-unicode.h"
-#include "e-table.h"
-#include "e-table-header-item.h"
-#include "e-table-header-utils.h"
-#include "e-table-subset.h"
-#include "e-table-item.h"
-#include "e-table-group.h"
-#include "e-table-group-leaf.h"
-#include "e-table-click-to-add.h"
-#include "e-table-specification.h"
-#include "e-table-state.h"
-#include "e-table-column-specification.h"
-
-#include "e-table-utils.h"
-
-#include <atk/atk.h>
-#include "gal/a11y/e-table/gal-a11y-e-table.h"
-
-#define COLUMN_HEADER_HEIGHT 16
-
-#define PARENT_TYPE gtk_table_get_type ()
-
-#define d(x)
-
-#if d(!)0
-#define e_table_item_leave_edit_(x) (e_table_item_leave_edit((x)), g_print ("%s: e_table_item_leave_edit\n", __FUNCTION__))
-#else
-#define e_table_item_leave_edit_(x) (e_table_item_leave_edit((x)))
-#endif
-
-static GtkObjectClass *parent_class;
-
-enum {
- CURSOR_CHANGE,
- CURSOR_ACTIVATED,
- SELECTION_CHANGE,
- DOUBLE_CLICK,
- RIGHT_CLICK,
- CLICK,
- KEY_PRESS,
- START_DRAG,
- STATE_CHANGE,
- WHITE_SPACE_EVENT,
-
- TABLE_DRAG_BEGIN,
- TABLE_DRAG_END,
- TABLE_DRAG_DATA_GET,
- TABLE_DRAG_DATA_DELETE,
-
- TABLE_DRAG_LEAVE,
- TABLE_DRAG_MOTION,
- TABLE_DRAG_DROP,
- TABLE_DRAG_DATA_RECEIVED,
-
- LAST_SIGNAL
-};
-
-enum {
- PROP_0,
- PROP_LENGTH_THRESHOLD,
- PROP_MODEL,
- PROP_UNIFORM_ROW_HEIGHT,
- PROP_ALWAYS_SEARCH,
- PROP_USE_CLICK_TO_ADD
-};
-
-enum {
- ET_SCROLL_UP = 1 << 0,
- ET_SCROLL_DOWN = 1 << 1,
- ET_SCROLL_LEFT = 1 << 2,
- ET_SCROLL_RIGHT = 1 << 3
-};
-
-static guint et_signals [LAST_SIGNAL] = { 0 };
-
-static void e_table_fill_table (ETable *e_table, ETableModel *model);
-static gboolean changed_idle (gpointer data);
-
-static void et_grab_focus (GtkWidget *widget);
-
-static void et_drag_begin (GtkWidget *widget,
- GdkDragContext *context,
- ETable *et);
-static void et_drag_end (GtkWidget *widget,
- GdkDragContext *context,
- ETable *et);
-static void et_drag_data_get(GtkWidget *widget,
- GdkDragContext *context,
- GtkSelectionData *selection_data,
- guint info,
- guint time,
- ETable *et);
-static void et_drag_data_delete(GtkWidget *widget,
- GdkDragContext *context,
- ETable *et);
-
-static void et_drag_leave(GtkWidget *widget,
- GdkDragContext *context,
- guint time,
- ETable *et);
-static gboolean et_drag_motion(GtkWidget *widget,
- GdkDragContext *context,
- gint x,
- gint y,
- guint time,
- ETable *et);
-static gboolean et_drag_drop(GtkWidget *widget,
- GdkDragContext *context,
- gint x,
- gint y,
- guint time,
- ETable *et);
-static void et_drag_data_received(GtkWidget *widget,
- GdkDragContext *context,
- gint x,
- gint y,
- GtkSelectionData *selection_data,
- guint info,
- guint time,
- ETable *et);
-
-static gint et_focus (GtkWidget *container, GtkDirectionType direction);
-
-static void scroll_off (ETable *et);
-static void scroll_on (ETable *et, guint scroll_direction);
-
-static void
-et_disconnect_model (ETable *et)
-{
- if (et->model == NULL)
- return;
-
- if (et->table_model_change_id != 0)
- g_signal_handler_disconnect (G_OBJECT (et->model),
- et->table_model_change_id);
- if (et->table_row_change_id != 0)
- g_signal_handler_disconnect (G_OBJECT (et->model),
- et->table_row_change_id);
- if (et->table_cell_change_id != 0)
- g_signal_handler_disconnect (G_OBJECT (et->model),
- et->table_cell_change_id);
- if (et->table_rows_inserted_id != 0)
- g_signal_handler_disconnect (G_OBJECT (et->model),
- et->table_rows_inserted_id);
- if (et->table_rows_deleted_id != 0)
- g_signal_handler_disconnect (G_OBJECT (et->model),
- et->table_rows_deleted_id);
-
- et->table_model_change_id = 0;
- et->table_row_change_id = 0;
- et->table_cell_change_id = 0;
- et->table_rows_inserted_id = 0;
- et->table_rows_deleted_id = 0;
-}
-
-static void
-e_table_state_change (ETable *et)
-{
- g_signal_emit (G_OBJECT (et), et_signals [STATE_CHANGE], 0);
-}
-
-#define CHECK_HORIZONTAL(et) if ((et)->horizontal_scrolling || (et)->horizontal_resize) e_table_header_update_horizontal (et->header);
-
-static void
-clear_current_search_col (ETable *et)
-{
- et->search_col_set = FALSE;
-}
-
-static ETableCol *
-current_search_col (ETable *et)
-{
- if (!et->search_col_set) {
- et->current_search_col =
- e_table_util_calculate_current_search_col (et->header,
- et->full_header,
- et->sort_info,
- et->always_search);
- et->search_col_set = TRUE;
- }
-
- return et->current_search_col;
-}
-
-static void
-et_size_request (GtkWidget *widget, GtkRequisition *request)
-{
- ETable *et = E_TABLE (widget);
- if (GTK_WIDGET_CLASS (parent_class)->size_request)
- GTK_WIDGET_CLASS (parent_class)->size_request (widget, request);
- if (et->horizontal_resize)
- request->width = MAX (request->width, et->header_width);
-}
-
-static void
-set_header_width (ETable *et)
-{
- if (et->horizontal_resize) {
- et->header_width = e_table_header_min_width (et->header);
- gtk_widget_queue_resize (GTK_WIDGET (et));
- }
-}
-
-static void
-structure_changed (ETableHeader *header, ETable *et)
-{
- e_table_state_change (et);
- set_header_width (et);
- clear_current_search_col (et);
-}
-
-static void
-expansion_changed (ETableHeader *header, ETable *et)
-{
- e_table_state_change (et);
- set_header_width (et);
-}
-
-static void
-dimension_changed (ETableHeader *header, int total_width, ETable *et)
-{
- set_header_width (et);
-}
-
-static void
-disconnect_header (ETable *e_table)
-{
- if (e_table->header == NULL)
- return;
-
- if (e_table->structure_change_id)
- g_signal_handler_disconnect (G_OBJECT (e_table->header),
- e_table->structure_change_id);
- if (e_table->expansion_change_id)
- g_signal_handler_disconnect (G_OBJECT (e_table->header),
- e_table->expansion_change_id);
- if (e_table->dimension_change_id)
- g_signal_handler_disconnect (G_OBJECT (e_table->header),
- e_table->dimension_change_id);
-
- g_object_unref(e_table->header);
- e_table->header = NULL;
-}
-
-static void
-connect_header (ETable *e_table, ETableState *state)
-{
- if (e_table->header != NULL)
- disconnect_header (e_table);
-
- e_table->header = e_table_state_to_header (GTK_WIDGET(e_table), e_table->full_header, state);
-
- e_table->structure_change_id =
- g_signal_connect (G_OBJECT (e_table->header), "structure_change",
- G_CALLBACK (structure_changed), e_table);
- e_table->expansion_change_id =
- g_signal_connect (G_OBJECT (e_table->header), "expansion_change",
- G_CALLBACK (expansion_changed), e_table);
- e_table->dimension_change_id =
- g_signal_connect (G_OBJECT (e_table->header), "dimension_change",
- G_CALLBACK (dimension_changed), e_table);
-}
-
-static void
-et_dispose (GObject *object)
-{
- ETable *et = E_TABLE (object);
-
- et_disconnect_model (et);
-
- if (et->search) {
- if (et->search_search_id)
- g_signal_handler_disconnect (G_OBJECT (et->search),
- et->search_search_id);
- if (et->search_accept_id)
- g_signal_handler_disconnect (G_OBJECT (et->search),
- et->search_accept_id);
- g_object_unref (et->search);
- et->search = NULL;
- }
-
- if (et->group_info_change_id) {
- g_signal_handler_disconnect (G_OBJECT (et->sort_info),
- et->group_info_change_id);
- et->group_info_change_id = 0;
- }
-
- if (et->sort_info_change_id) {
- g_signal_handler_disconnect (G_OBJECT (et->sort_info),
- et->sort_info_change_id);
- et->sort_info_change_id = 0;
- }
-
- if (et->reflow_idle_id) {
- g_source_remove(et->reflow_idle_id);
- et->reflow_idle_id = 0;
- }
-
- scroll_off (et);
-
- disconnect_header (et);
-
- if (et->model) {
- g_object_unref (et->model);
- et->model = NULL;
- }
-
- if (et->full_header) {
- g_object_unref (et->full_header);
- et->full_header = NULL;
- }
-
- if (et->sort_info) {
- g_object_unref (et->sort_info);
- et->sort_info = NULL;
- }
-
- if (et->sorter) {
- g_object_unref (et->sorter);
- et->sorter = NULL;
- }
-
- if (et->selection) {
- g_object_unref (et->selection);
- et->selection = NULL;
- }
-
- if (et->spec) {
- g_object_unref (et->spec);
- et->spec = NULL;
- }
-
- if (et->header_canvas != NULL) {
- gtk_widget_destroy (GTK_WIDGET (et->header_canvas));
- et->header_canvas = NULL;
- }
-
- if (et->site != NULL) {
- e_table_drag_source_unset (et);
- et->site = NULL;
- }
-
- if (et->table_canvas != NULL) {
- gtk_widget_destroy (GTK_WIDGET (et->table_canvas));
- et->table_canvas = NULL;
- }
-
- if (et->rebuild_idle_id != 0) {
- g_source_remove (et->rebuild_idle_id);
- et->rebuild_idle_id = 0;
- }
-
- g_free(et->click_to_add_message);
- et->click_to_add_message = NULL;
-
- g_free(et->domain);
- et->domain = NULL;
-
- (*G_OBJECT_CLASS (parent_class)->dispose)(object);
-}
-
-static void
-et_unrealize (GtkWidget *widget)
-{
- scroll_off (E_TABLE (widget));
-
- if (GTK_WIDGET_CLASS (parent_class)->unrealize)
- GTK_WIDGET_CLASS (parent_class)->unrealize (widget);
-}
-
-static gboolean
-check_row (ETable *et, int model_row, int col, ETableSearchFunc search, char *string)
-{
- const void *value;
-
- value = e_table_model_value_at (et->model, col, model_row);
-
- return search (value, string);
-}
-
-static gboolean
-et_search_search (ETableSearch *search, char *string, ETableSearchFlags flags, ETable *et)
-{
- int cursor;
- int rows;
- int i;
- ETableCol *col = current_search_col (et);
-
- if (col == NULL)
- return FALSE;
-
- rows = e_table_model_row_count (et->model);
-
- g_object_get(et->selection,
- "cursor_row", &cursor,
- NULL);
-
- if ((flags & E_TABLE_SEARCH_FLAGS_CHECK_CURSOR_FIRST) && cursor < rows && cursor >= 0 && check_row (et, cursor, col->col_idx, col->search, string))
- return TRUE;
-
- cursor = e_sorter_model_to_sorted (E_SORTER (et->sorter), cursor);
-
- for (i = cursor + 1; i < rows; i++) {
- int model_row = e_sorter_sorted_to_model (E_SORTER (et->sorter), i);
- if (check_row (et, model_row, col->col_idx, col->search, string)) {
- e_selection_model_select_as_key_press(E_SELECTION_MODEL (et->selection), model_row, col->col_idx, GDK_CONTROL_MASK);
- return TRUE;
- }
- }
-
- for (i = 0; i < cursor; i++) {
- int model_row = e_sorter_sorted_to_model (E_SORTER (et->sorter), i);
- if (check_row (et, model_row, col->col_idx, col->search, string)) {
- e_selection_model_select_as_key_press(E_SELECTION_MODEL (et->selection), model_row, col->col_idx, GDK_CONTROL_MASK);
- return TRUE;
- }
- }
-
- cursor = e_sorter_sorted_to_model (E_SORTER (et->sorter), cursor);
-
- /* Check if the cursor row is the only matching row. */
- return (!(flags & E_TABLE_SEARCH_FLAGS_CHECK_CURSOR_FIRST) && cursor < rows && cursor >= 0 && check_row (et, cursor, col->col_idx, col->search, string));
-}
-
-static void
-et_search_accept (ETableSearch *search, ETable *et)
-{
- int cursor;
- ETableCol *col = current_search_col (et);
-
- if (col == NULL)
- return;
-
- g_object_get(et->selection,
- "cursor_row", &cursor,
- NULL);
- e_selection_model_select_as_key_press(E_SELECTION_MODEL (et->selection), cursor, col->col_idx, 0);
-}
-
-static void
-init_search (ETable *e_table)
-{
- if (e_table->search != NULL)
- return;
-
- e_table->search = e_table_search_new();
-
- e_table->search_search_id =
- g_signal_connect (G_OBJECT (e_table->search), "search",
- G_CALLBACK (et_search_search), e_table);
- e_table->search_accept_id =
- g_signal_connect (G_OBJECT (e_table->search), "accept",
- G_CALLBACK (et_search_accept), e_table);
-}
-
-static void
-et_finalize (GObject *object)
-{
- ETable *et = E_TABLE (object);
-
- g_free (et->click_to_add_message);
- et->click_to_add_message = NULL;
-
- g_free(et->domain);
- et->domain = NULL;
- G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-static void
-e_table_init (GtkObject *object)
-{
- ETable *e_table = E_TABLE (object);
- GtkTable *gtk_table = GTK_TABLE (object);
-
- GTK_WIDGET_SET_FLAGS (e_table, GTK_CAN_FOCUS);
-
- gtk_table->homogeneous = FALSE;
-
- e_table->sort_info = NULL;
- e_table->group_info_change_id = 0;
- e_table->sort_info_change_id = 0;
- e_table->structure_change_id = 0;
- e_table->expansion_change_id = 0;
- e_table->dimension_change_id = 0;
- e_table->reflow_idle_id = 0;
- e_table->scroll_idle_id = 0;
-
- e_table->alternating_row_colors = 1;
- e_table->horizontal_draw_grid = 1;
- e_table->vertical_draw_grid = 1;
- e_table->draw_focus = 1;
- e_table->cursor_mode = E_CURSOR_SIMPLE;
- e_table->length_threshold = 200;
- e_table->uniform_row_height = FALSE;
-
- e_table->need_rebuild = 0;
- e_table->rebuild_idle_id = 0;
-
- e_table->horizontal_scrolling = FALSE;
- e_table->horizontal_resize = FALSE;
-
- e_table->click_to_add_message = NULL;
- e_table->domain = NULL;
-
- e_table->drop_row = -1;
- e_table->drop_col = -1;
- e_table->site = NULL;
-
- e_table->do_drag = 0;
-
- e_table->sorter = NULL;
- e_table->selection = e_table_selection_model_new();
- e_table->cursor_loc = E_TABLE_CURSOR_LOC_NONE;
- e_table->spec = NULL;
-
- e_table->always_search = g_getenv ("GAL_ALWAYS_SEARCH") ? TRUE : FALSE;
-
- e_table->search = NULL;
- e_table->search_search_id = 0;
- e_table->search_accept_id = 0;
-
- e_table->current_search_col = NULL;
-
- e_table->header_width = 0;
-}
-
-/* Grab_focus handler for the ETable */
-static void
-et_grab_focus (GtkWidget *widget)
-{
- ETable *e_table;
-
- e_table = E_TABLE (widget);
-
- gtk_widget_grab_focus (GTK_WIDGET (e_table->table_canvas));
-}
-
-/* Focus handler for the ETable */
-static gint
-et_focus (GtkWidget *container, GtkDirectionType direction)
-{
- ETable *e_table;
-
- e_table = E_TABLE (container);
-
- if (GTK_CONTAINER (container)->focus_child) {
- gtk_container_set_focus_child (GTK_CONTAINER (container), NULL);
- return FALSE;
- }
-
- return gtk_widget_child_focus (GTK_WIDGET (e_table->table_canvas), direction);
-}
-
-static void
-set_header_canvas_width (ETable *e_table)
-{
- double oldwidth, oldheight, width;
-
- if (!(e_table->header_item && e_table->header_canvas && e_table->table_canvas))
- return;
-
- gnome_canvas_get_scroll_region (GNOME_CANVAS (e_table->table_canvas),
- NULL, NULL, &width, NULL);
- gnome_canvas_get_scroll_region (GNOME_CANVAS (e_table->header_canvas),
- NULL, NULL, &oldwidth, &oldheight);
-
- if (oldwidth != width ||
- oldheight != E_TABLE_HEADER_ITEM (e_table->header_item)->height - 1)
- gnome_canvas_set_scroll_region (
- GNOME_CANVAS (e_table->header_canvas),
- 0, 0, width, /* COLUMN_HEADER_HEIGHT - 1 */
- E_TABLE_HEADER_ITEM (e_table->header_item)->height - 1);
-
-}
-
-static void
-header_canvas_size_allocate (GtkWidget *widget, GtkAllocation *alloc, ETable *e_table)
-{
- set_header_canvas_width (e_table);
-
- /* When the header item is created ->height == 0,
- as the font is only created when everything is realized.
- So we set the usize here as well, so that the size of the
- header is correct */
- if (GTK_WIDGET (e_table->header_canvas)->allocation.height !=
- E_TABLE_HEADER_ITEM (e_table->header_item)->height)
- gtk_widget_set_usize (GTK_WIDGET (e_table->header_canvas), -2,
- E_TABLE_HEADER_ITEM (e_table->header_item)->height);
-}
-
-static void
-group_info_changed (ETableSortInfo *info, ETable *et)
-{
- gboolean will_be_grouped = e_table_sort_info_grouping_get_count(info) > 0;
- clear_current_search_col (et);
- if (et->is_grouped || will_be_grouped) {
- et->need_rebuild = TRUE;
- if (!et->rebuild_idle_id) {
- gtk_object_destroy (GTK_OBJECT (et->group));
- et->group = NULL;
- et->rebuild_idle_id = g_idle_add_full (20, changed_idle, et, NULL);
- }
- }
- e_table_state_change (et);
-}
-
-static void
-sort_info_changed (ETableSortInfo *info, ETable *et)
-{
- clear_current_search_col (et);
- e_table_state_change (et);
-}
-
-static void
-e_table_setup_header (ETable *e_table)
-{
- char *pointer;
- e_table->header_canvas = GNOME_CANVAS (e_canvas_new ());
-
- gtk_widget_show (GTK_WIDGET (e_table->header_canvas));
-
- pointer = g_strdup_printf("%p", e_table);
-
- e_table->header_item = gnome_canvas_item_new (
- gnome_canvas_root (e_table->header_canvas),
- e_table_header_item_get_type (),
- "ETableHeader", e_table->header,
- "full_header", e_table->full_header,
- "sort_info", e_table->sort_info,
- "dnd_code", pointer,
- "table", e_table,
- NULL);
-
- g_free(pointer);
-
- g_signal_connect (
- G_OBJECT (e_table->header_canvas), "size_allocate",
- G_CALLBACK (header_canvas_size_allocate), e_table);
-
- gtk_widget_set_usize (GTK_WIDGET (e_table->header_canvas), -2,
- E_TABLE_HEADER_ITEM (e_table->header_item)->height);
-}
-
-static gboolean
-table_canvas_reflow_idle (ETable *e_table)
-{
- gdouble height, width;
- gdouble item_height;
- gdouble oldheight, oldwidth;
- GtkAllocation *alloc = &(GTK_WIDGET (e_table->table_canvas)->allocation);
-
- g_object_get (e_table->canvas_vbox,
- "height", &height,
- "width", &width,
- NULL);
- item_height = height;
- height = MAX ((int)height, alloc->height);
- width = MAX((int)width, alloc->width);
- /* I have no idea why this needs to be -1, but it works. */
- gnome_canvas_get_scroll_region (GNOME_CANVAS (e_table->table_canvas),
- NULL, NULL, &oldwidth, &oldheight);
-
- if (oldwidth != width - 1 ||
- oldheight != height - 1) {
- gnome_canvas_set_scroll_region (GNOME_CANVAS (e_table->table_canvas),
- 0, 0, width - 1, height - 1);
- set_header_canvas_width (e_table);
- }
- e_table->reflow_idle_id = 0;
- return FALSE;
-}
-
-static void
-table_canvas_size_allocate (GtkWidget *widget, GtkAllocation *alloc,
- ETable *e_table)
-{
- gdouble width;
- gdouble height;
- gdouble item_height;
- GValue *val = g_new0 (GValue, 1);
- g_value_init (val, G_TYPE_DOUBLE);
-
- width = alloc->width;
- g_value_set_double (val, width);
- g_object_get (e_table->canvas_vbox,
- "height", &height,
- NULL);
- item_height = height;
- height = MAX ((int)height, alloc->height);
-
- g_object_set (e_table->canvas_vbox,
- "width", width,
- NULL);
- g_object_set_property (G_OBJECT (e_table->header), "width", val);
- g_free (val);
- if (e_table->reflow_idle_id)
- g_source_remove(e_table->reflow_idle_id);
- table_canvas_reflow_idle(e_table);
-}
-
-static void
-table_canvas_reflow (GnomeCanvas *canvas, ETable *e_table)
-{
- if (!e_table->reflow_idle_id)
- e_table->reflow_idle_id = g_idle_add_full (400, (GSourceFunc) table_canvas_reflow_idle, e_table, NULL);
-}
-
-static void
-click_to_add_cursor_change (ETableClickToAdd *etcta, int row, int col, ETable *et)
-{
- if (et->cursor_loc == E_TABLE_CURSOR_LOC_TABLE) {
- e_selection_model_clear(E_SELECTION_MODEL (et->selection));
- }
- et->cursor_loc = E_TABLE_CURSOR_LOC_ETCTA;
-}
-
-static void
-group_cursor_change (ETableGroup *etg, int row, ETable *et)
-{
- ETableCursorLoc old_cursor_loc;
-
- old_cursor_loc = et->cursor_loc;
-
- et->cursor_loc = E_TABLE_CURSOR_LOC_TABLE;
- g_signal_emit (G_OBJECT (et), et_signals [CURSOR_CHANGE], 0, row);
-
- if (old_cursor_loc == E_TABLE_CURSOR_LOC_ETCTA && et->click_to_add)
- e_table_click_to_add_commit(E_TABLE_CLICK_TO_ADD(et->click_to_add));
-}
-
-static void
-group_cursor_activated (ETableGroup *etg, int row, ETable *et)
-{
- g_signal_emit (G_OBJECT (et), et_signals [CURSOR_ACTIVATED], 0, row);
-}
-
-static void
-group_double_click (ETableGroup *etg, int row, int col, GdkEvent *event, ETable *et)
-{
- g_signal_emit (G_OBJECT (et), et_signals [DOUBLE_CLICK], 0, row, col, event);
-}
-
-static gint
-group_right_click (ETableGroup *etg, int row, int col, GdkEvent *event, ETable *et)
-{
- int return_val = 0;
- g_signal_emit (G_OBJECT (et), et_signals [RIGHT_CLICK], 0, row, col, event, &return_val);
- return return_val;
-}
-
-static gint
-group_click (ETableGroup *etg, int row, int col, GdkEvent *event, ETable *et)
-{
- int return_val = 0;
- g_signal_emit (G_OBJECT (et), et_signals [CLICK], 0, row, col, event, &return_val);
- return return_val;
-}
-
-static gint
-group_key_press (ETableGroup *etg, int row, int col, GdkEvent *event, ETable *et)
-{
- int return_val = 0;
- GdkEventKey *key = (GdkEventKey *) event;
- int y, row_local, col_local;
- GtkAdjustment *vadj;
-
- switch (key->keyval) {
- case GDK_Page_Down:
- case GDK_KP_Page_Down:
- vadj = gtk_layout_get_vadjustment (GTK_LAYOUT (et->table_canvas));
- y = CLAMP(vadj->value + (2 * vadj->page_size - 50), 0, vadj->upper);
- y -= vadj->value;
- e_table_get_cell_at (et, 30, y, &row_local, &col_local);
-
- if (row_local == -1)
- row_local = e_table_model_row_count (et->model) - 1;
-
- row_local = e_table_view_to_model_row (et, row_local);
- col_local = e_selection_model_cursor_col (E_SELECTION_MODEL (et->selection));
- e_selection_model_select_as_key_press (E_SELECTION_MODEL (et->selection), row_local, col_local, key->state);
- return_val = 1;
- break;
- case GDK_Page_Up:
- case GDK_KP_Page_Up:
- vadj = gtk_layout_get_vadjustment (GTK_LAYOUT (et->table_canvas));
- y = CLAMP(vadj->value - (vadj->page_size - 50), 0, vadj->upper);
- y -= vadj->value;
- e_table_get_cell_at (et, 30, y, &row_local, &col_local);
-
- if (row_local == -1)
- row_local = 0;
-
- row_local = e_table_view_to_model_row (et, row_local);
- col_local = e_selection_model_cursor_col (E_SELECTION_MODEL (et->selection));
- e_selection_model_select_as_key_press (E_SELECTION_MODEL (et->selection), row_local, col_local, key->state);
- return_val = 1;
- break;
- case GDK_BackSpace:
- init_search (et);
- if (e_table_search_backspace (et->search))
- return TRUE;
- /* Fall through */
- default:
- init_search (et);
- if ((key->state & ~(GDK_SHIFT_MASK | GDK_LOCK_MASK)) == 0
- && ((key->keyval >= GDK_a && key->keyval <= GDK_z) ||
- (key->keyval >= GDK_A && key->keyval <= GDK_Z) ||
- (key->keyval >= GDK_0 && key->keyval <= GDK_9)))
- e_table_search_input_character (et->search, key->keyval);
- g_signal_emit (G_OBJECT (et), et_signals [KEY_PRESS], 0,
- row, col, event, &return_val);
- break;
- }
- return return_val;
-}
-
-static gint
-group_start_drag (ETableGroup *etg, int row, int col, GdkEvent *event, ETable *et)
-{
- int return_val = 0;
- g_signal_emit (G_OBJECT (et), et_signals [START_DRAG], 0,
- row, col, event, &return_val);
- return return_val;
-}
-
-static void
-et_table_model_changed (ETableModel *model, ETable *et)
-{
- et->need_rebuild = TRUE;
- if (!et->rebuild_idle_id) {
- gtk_object_destroy (GTK_OBJECT (et->group));
- et->group = NULL;
- et->rebuild_idle_id = g_idle_add_full (20, changed_idle, et, NULL);
- }
-}
-
-static void
-et_table_row_changed (ETableModel *table_model, int row, ETable *et)
-{
- if (!et->need_rebuild) {
- if (e_table_group_remove (et->group, row))
- e_table_group_add (et->group, row);
- CHECK_HORIZONTAL(et);
- }
-}
-
-static void
-et_table_cell_changed (ETableModel *table_model, int view_col, int row, ETable *et)
-{
- et_table_row_changed (table_model, row, et);
-}
-
-static void
-et_table_rows_inserted (ETableModel *table_model, int row, int count, ETable *et)
-{
- /* This number has already been decremented. */
- int row_count = e_table_model_row_count(table_model);
- if (!et->need_rebuild) {
- int i;
- if (row != row_count - count)
- e_table_group_increment(et->group, row, count);
- for (i = 0; i < count; i++)
- e_table_group_add (et->group, row + i);
- CHECK_HORIZONTAL(et);
- }
-}
-
-static void
-et_table_rows_deleted (ETableModel *table_model, int row, int count, ETable *et)
-{
- int row_count = e_table_model_row_count(table_model);
- if (!et->need_rebuild) {
- int i;
- for (i = 0; i < count; i++)
- e_table_group_remove (et->group, row + i);
- if (row != row_count)
- e_table_group_decrement(et->group, row, count);
- CHECK_HORIZONTAL(et);
- }
-}
-
-static void
-et_build_groups (ETable *et)
-{
- gboolean was_grouped = et->is_grouped;
-
- et->is_grouped = e_table_sort_info_grouping_get_count(et->sort_info) > 0;
-
- et->group = e_table_group_new (GNOME_CANVAS_GROUP (et->canvas_vbox),
- et->full_header,
- et->header,
- et->model,
- et->sort_info,
- 0);
-
- if (et->use_click_to_add_end)
- e_canvas_vbox_add_item_start(E_CANVAS_VBOX(et->canvas_vbox), GNOME_CANVAS_ITEM(et->group));
- else
- e_canvas_vbox_add_item(E_CANVAS_VBOX(et->canvas_vbox), GNOME_CANVAS_ITEM(et->group));
-
- gnome_canvas_item_set(GNOME_CANVAS_ITEM(et->group),
- "alternating_row_colors", et->alternating_row_colors,
- "horizontal_draw_grid", et->horizontal_draw_grid,
- "vertical_draw_grid", et->vertical_draw_grid,
- "drawfocus", et->draw_focus,
- "cursor_mode", et->cursor_mode,
- "length_threshold", et->length_threshold,
- "uniform_row_height", et->uniform_row_height,
- "selection_model", et->selection,
- NULL);
-
- g_signal_connect (G_OBJECT (et->group), "cursor_change",
- G_CALLBACK (group_cursor_change), et);
- g_signal_connect (G_OBJECT (et->group), "cursor_activated",
- G_CALLBACK (group_cursor_activated), et);
- g_signal_connect (G_OBJECT (et->group), "double_click",
- G_CALLBACK (group_double_click), et);
- g_signal_connect (G_OBJECT (et->group), "right_click",
- G_CALLBACK (group_right_click), et);
- g_signal_connect (G_OBJECT (et->group), "click",
- G_CALLBACK (group_click), et);
- g_signal_connect (G_OBJECT (et->group), "key_press",
- G_CALLBACK (group_key_press), et);
- g_signal_connect (G_OBJECT (et->group), "start_drag",
- G_CALLBACK (group_start_drag), et);
-
-
- if (!(et->is_grouped) && was_grouped)
- et_disconnect_model (et);
-
- if (et->is_grouped && (!was_grouped)) {
- et->table_model_change_id = g_signal_connect (G_OBJECT (et->model), "model_changed",
- G_CALLBACK (et_table_model_changed), et);
-
- et->table_row_change_id = g_signal_connect (G_OBJECT (et->model), "model_row_changed",
- G_CALLBACK (et_table_row_changed), et);
-
- et->table_cell_change_id = g_signal_connect (G_OBJECT (et->model), "model_cell_changed",
- G_CALLBACK (et_table_cell_changed), et);
-
- et->table_rows_inserted_id = g_signal_connect (G_OBJECT (et->model), "model_rows_inserted",
- G_CALLBACK (et_table_rows_inserted), et);
-
- et->table_rows_deleted_id = g_signal_connect (G_OBJECT (et->model), "model_rows_deleted",
- G_CALLBACK (et_table_rows_deleted), et);
-
- }
-
- if (et->is_grouped)
- e_table_fill_table (et, et->model);
-}
-
-static gboolean
-changed_idle (gpointer data)
-{
- ETable *et = E_TABLE (data);
-
- if (et->need_rebuild) {
- if (et->group)
- gtk_object_destroy (GTK_OBJECT (et->group));
- et_build_groups(et);
- g_object_set (et->canvas_vbox,
- "width", (double) GTK_WIDGET (et->table_canvas)->allocation.width,
- NULL);
-
- if (GTK_WIDGET_REALIZED(et->table_canvas))
- table_canvas_size_allocate (GTK_WIDGET(et->table_canvas), &GTK_WIDGET(et->table_canvas)->allocation, et);
- }
-
- et->need_rebuild = 0;
- et->rebuild_idle_id = 0;
-
- CHECK_HORIZONTAL(et);
-
- return FALSE;
-}
-
-static void
-et_canvas_realize (GtkWidget *canvas, ETable *e_table)
-{
- gnome_canvas_item_set(
- e_table->white_item,
- "fill_color_gdk", &GTK_WIDGET(e_table->table_canvas)->style->base[GTK_STATE_NORMAL],
- NULL);
-
- CHECK_HORIZONTAL(e_table);
- set_header_width (e_table);
-}
-
-static gint
-white_item_event (GnomeCanvasItem *white_item, GdkEvent *event, ETable *e_table)
-{
- int return_val = 0;
- g_signal_emit (GTK_OBJECT (e_table), et_signals [WHITE_SPACE_EVENT], 0,
- event, &return_val);
- return return_val;
-}
-
-static void
-et_eti_leave_edit (ETable *et)
-{
- GnomeCanvas *canvas = et->table_canvas;
-
- if (GTK_WIDGET_HAS_FOCUS(canvas)) {
- GnomeCanvasItem *item = GNOME_CANVAS(canvas)->focused_item;
-
- if (E_IS_TABLE_ITEM(item)) {
- e_table_item_leave_edit_(E_TABLE_ITEM(item));
- }
- }
-}
-
-static gint
-et_canvas_root_event (GnomeCanvasItem *root, GdkEvent *event, ETable *e_table)
-{
- switch (event->type) {
- case GDK_BUTTON_PRESS:
- case GDK_2BUTTON_PRESS:
- case GDK_BUTTON_RELEASE:
- if (event->button.button != 4 && event->button.button != 5) {
- et_eti_leave_edit (e_table);
- return TRUE;
- }
- break;
- default:
- break;
- }
-
- return FALSE;
-}
-
-/* Finds the first descendant of the group that is an ETableItem and focuses it */
-static void
-focus_first_etable_item (ETableGroup *group)
-{
- GnomeCanvasGroup *cgroup;
- GList *l;
-
- cgroup = GNOME_CANVAS_GROUP (group);
-
- for (l = cgroup->item_list; l; l = l->next) {
- GnomeCanvasItem *i;
-
- i = GNOME_CANVAS_ITEM (l->data);
-
- if (E_IS_TABLE_GROUP (i))
- focus_first_etable_item (E_TABLE_GROUP (i));
- else if (E_IS_TABLE_ITEM (i)) {
- e_table_item_set_cursor (E_TABLE_ITEM (i), 0, 0);
- gnome_canvas_item_grab_focus (i);
- }
- }
-}
-
-/* Handler for focus events in the table_canvas; we have to repaint ourselves
- * always, and also give the focus to some ETableItem if we get focused.
- */
-static gint
-table_canvas_focus_event_cb (GtkWidget *widget, GdkEventFocus *event, gpointer data)
-{
- GnomeCanvas *canvas;
- ECanvas *ecanvas;
- ETable *etable;
-
- gtk_widget_queue_draw (widget);
- canvas = GNOME_CANVAS (widget);
- ecanvas = E_CANVAS (widget);
-
- if (!event->in) {
- gtk_im_context_focus_out(ecanvas->im_context);
- return FALSE;
- } else {
- gtk_im_context_focus_in(ecanvas->im_context);
- }
-
- etable = E_TABLE (data);
-
- if (e_table_model_row_count(etable->model) < 1
- && (etable->click_to_add)
- && !(E_TABLE_CLICK_TO_ADD(etable->click_to_add)->row)) {
- gnome_canvas_item_grab_focus (etable->canvas_vbox);
- gnome_canvas_item_grab_focus (etable->click_to_add);
- } else if (!canvas->focused_item && etable->group) {
- focus_first_etable_item (etable->group);
- } else if (canvas->focused_item) {
- ESelectionModel *selection = (ESelectionModel *)etable->selection;
-
- /* check whether click_to_add already got the focus */
- if (etable->click_to_add) {
- GnomeCanvasItem *row = E_TABLE_CLICK_TO_ADD(etable->click_to_add)->row;
- if (canvas->focused_item == row)
- return TRUE;
- }
-
- if (e_selection_model_cursor_row (selection) == -1)
- focus_first_etable_item (etable->group);
- }
-
- return TRUE;
-}
-
-static gboolean
-canvas_vbox_event (ECanvasVbox *vbox, GdkEventKey *key, ETable *etable)
-{
- GnomeCanvas *canvas;
-
- canvas = GNOME_CANVAS (etable->table_canvas);
- switch (key->keyval) {
- case GDK_Tab:
- case GDK_KP_Tab:
- case GDK_ISO_Left_Tab:
- if ((key->state & GDK_CONTROL_MASK) && etable->click_to_add) {
- gnome_canvas_item_grab_focus (etable->click_to_add);
- break;
- }
- default:
- return FALSE;
- }
-
- return TRUE;
-}
-
-static gboolean
-click_to_add_event (ETableClickToAdd *etcta, GdkEventKey *key, ETable *etable)
-{
- GnomeCanvas *canvas;
-
- canvas = GNOME_CANVAS (etable->table_canvas);
- switch (key->keyval) {
- case GDK_Tab:
- case GDK_KP_Tab:
- case GDK_ISO_Left_Tab:
- if (key->state & GDK_CONTROL_MASK) {
- if (etable->group) {
- if (e_table_model_row_count(etable->model) > 0)
- focus_first_etable_item (etable->group);
- else
- gtk_widget_child_focus (
- gtk_widget_get_toplevel(GTK_WIDGET(etable->table_canvas)), GTK_DIR_TAB_FORWARD);
- break;
- }
- }
- default:
- return FALSE;
- }
-
- return FALSE;
-}
-
-static void
-e_table_setup_table (ETable *e_table, ETableHeader *full_header, ETableHeader *header,
- ETableModel *model)
-{
- e_table->table_canvas = GNOME_CANVAS (e_canvas_new ());
- g_signal_connect (
- G_OBJECT (e_table->table_canvas), "size_allocate",
- G_CALLBACK (table_canvas_size_allocate), e_table);
- g_signal_connect (
- G_OBJECT (e_table->table_canvas), "focus_in_event",
- G_CALLBACK (table_canvas_focus_event_cb), e_table);
- g_signal_connect (
- G_OBJECT (e_table->table_canvas), "focus_out_event",
- G_CALLBACK (table_canvas_focus_event_cb), e_table);
-
- g_signal_connect (
- G_OBJECT (e_table), "drag_begin",
- G_CALLBACK (et_drag_begin), e_table);
- g_signal_connect (
- G_OBJECT (e_table), "drag_end",
- G_CALLBACK (et_drag_end), e_table);
- g_signal_connect (
- G_OBJECT (e_table), "drag_data_get",
- G_CALLBACK (et_drag_data_get), e_table);
- g_signal_connect (
- G_OBJECT (e_table), "drag_data_delete",
- G_CALLBACK (et_drag_data_delete), e_table);
- g_signal_connect (
- G_OBJECT (e_table), "drag_motion",
- G_CALLBACK (et_drag_motion), e_table);
- g_signal_connect (
- G_OBJECT (e_table), "drag_leave",
- G_CALLBACK (et_drag_leave), e_table);
- g_signal_connect (
- G_OBJECT (e_table), "drag_drop",
- G_CALLBACK (et_drag_drop), e_table);
- g_signal_connect (
- G_OBJECT (e_table), "drag_data_received",
- G_CALLBACK (et_drag_data_received), e_table);
-
- g_signal_connect (G_OBJECT(e_table->table_canvas), "reflow",
- G_CALLBACK (table_canvas_reflow), e_table);
-
- gtk_widget_show (GTK_WIDGET (e_table->table_canvas));
-
-
- e_table->white_item = gnome_canvas_item_new(
- gnome_canvas_root(e_table->table_canvas),
- e_canvas_background_get_type(),
- "fill_color_gdk", &GTK_WIDGET(e_table->table_canvas)->style->base[GTK_STATE_NORMAL],
- NULL);
-
- g_signal_connect (G_OBJECT (e_table->white_item), "event",
- G_CALLBACK (white_item_event), e_table);
-
- g_signal_connect (G_OBJECT(e_table->table_canvas), "realize",
- G_CALLBACK(et_canvas_realize), e_table);
-
- g_signal_connect (G_OBJECT(gnome_canvas_root (e_table->table_canvas)), "event",
- G_CALLBACK(et_canvas_root_event), e_table);
-
- e_table->canvas_vbox = gnome_canvas_item_new(
- gnome_canvas_root(e_table->table_canvas),
- e_canvas_vbox_get_type(),
- "spacing", 10.0,
- NULL);
-
- g_signal_connect (
- G_OBJECT (e_table->canvas_vbox), "event",
- G_CALLBACK (canvas_vbox_event), e_table);
-
- et_build_groups(e_table);
-
- if (e_table->use_click_to_add) {
- e_table->click_to_add = gnome_canvas_item_new (
- GNOME_CANVAS_GROUP(e_table->canvas_vbox),
- e_table_click_to_add_get_type (),
- "header", e_table->header,
- "model", e_table->model,
- "message", e_table->click_to_add_message,
- NULL);
-
- if (e_table->use_click_to_add_end)
- e_canvas_vbox_add_item (
- E_CANVAS_VBOX(e_table->canvas_vbox),
- e_table->click_to_add);
- else
- e_canvas_vbox_add_item_start (
- E_CANVAS_VBOX(e_table->canvas_vbox),
- e_table->click_to_add);
-
- g_signal_connect (
- G_OBJECT (e_table->click_to_add), "event",
- G_CALLBACK (click_to_add_event), e_table);
- g_signal_connect (
- G_OBJECT (e_table->click_to_add), "cursor_change",
- G_CALLBACK (click_to_add_cursor_change), e_table);
- }
-}
-
-static void
-e_table_fill_table (ETable *e_table, ETableModel *model)
-{
- e_table_group_add_all (e_table->group);
-}
-
-/**
- * e_table_set_state_object:
- * @e_table: The #ETable object to modify
- * @state: The #ETableState to use
- *
- * This routine sets the state of the #ETable from the given
- * #ETableState.
- *
- **/
-void
-e_table_set_state_object(ETable *e_table, ETableState *state)
-{
- GValue *val = g_new0 (GValue, 1);
- g_value_init (val, G_TYPE_DOUBLE);
-
- connect_header (e_table, state);
-
- g_value_set_double (val, (double) (GTK_WIDGET(e_table->table_canvas)->allocation.width));
- g_object_set_property (G_OBJECT (e_table->header), "width", val);
- g_free (val);
-
- if (e_table->sort_info) {
- if (e_table->group_info_change_id)
- g_signal_handler_disconnect (G_OBJECT (e_table->sort_info),
- e_table->group_info_change_id);
- if (e_table->sort_info_change_id)
- g_signal_handler_disconnect (G_OBJECT (e_table->sort_info),
- e_table->sort_info_change_id);
- g_object_unref(e_table->sort_info);
- }
- if (state->sort_info) {
- e_table->sort_info = e_table_sort_info_duplicate(state->sort_info);
- e_table_sort_info_set_can_group (e_table->sort_info, e_table->allow_grouping);
- e_table->group_info_change_id =
- g_signal_connect (G_OBJECT (e_table->sort_info), "group_info_changed",
- G_CALLBACK (group_info_changed), e_table);
- e_table->sort_info_change_id =
- g_signal_connect (G_OBJECT (e_table->sort_info), "sort_info_changed",
- G_CALLBACK (sort_info_changed), e_table);
- }
- else
- e_table->sort_info = NULL;
-
- if (e_table->sorter)
- g_object_set(e_table->sorter,
- "sort_info", e_table->sort_info,
- NULL);
- if (e_table->header_item)
- g_object_set(e_table->header_item,
- "ETableHeader", e_table->header,
- "sort_info", e_table->sort_info,
- NULL);
- if (e_table->click_to_add)
- g_object_set(e_table->click_to_add,
- "header", e_table->header,
- NULL);
-
- e_table->need_rebuild = TRUE;
- if (!e_table->rebuild_idle_id)
- e_table->rebuild_idle_id = g_idle_add_full (20, changed_idle, e_table, NULL);
-}
-
-/**
- * e_table_set_state:
- * @e_table: The #ETable object to modify
- * @state_str: a string representing an #ETableState
- *
- * This routine sets the state of the #ETable from a string.
- *
- **/
-void
-e_table_set_state (ETable *e_table,
- const gchar *state_str)
-{
- ETableState *state;
-
- g_return_if_fail(e_table != NULL);
- g_return_if_fail(E_IS_TABLE(e_table));
- g_return_if_fail(state_str != NULL);
-
- state = e_table_state_new();
- e_table_state_load_from_string(state, state_str);
-
- if (state->col_count > 0)
- e_table_set_state_object(e_table, state);
-
- g_object_unref(state);
-}
-
-/**
- * e_table_load_state:
- * @e_table: The #ETable object to modify
- * @filename: name of the file to use
- *
- * This routine sets the state of the #ETable from a file.
- *
- **/
-void
-e_table_load_state (ETable *e_table,
- const gchar *filename)
-{
- ETableState *state;
-
- g_return_if_fail(e_table != NULL);
- g_return_if_fail(E_IS_TABLE(e_table));
- g_return_if_fail(filename != NULL);
-
- state = e_table_state_new();
- e_table_state_load_from_file(state, filename);
-
- if (state->col_count > 0)
- e_table_set_state_object(e_table, state);
-
- g_object_unref(state);
-}
-
-/**
- * e_table_get_state_object:
- * @e_table: #ETable object to act on
- *
- * Builds an #ETableState corresponding to the current state of the
- * #ETable.
- *
- * Return value:
- * The %ETableState object generated.
- **/
-ETableState *
-e_table_get_state_object (ETable *e_table)
-{
- ETableState *state;
- int full_col_count;
- int i, j;
-
- state = e_table_state_new();
- if (state->sort_info)
- g_object_unref (state->sort_info);
- state->sort_info = e_table->sort_info;
- g_object_ref(state->sort_info);
-
-
- state->col_count = e_table_header_count (e_table->header);
- full_col_count = e_table_header_count (e_table->full_header);
- state->columns = g_new(int, state->col_count);
- state->expansions = g_new(double, state->col_count);
- for (i = 0; i < state->col_count; i++) {
- ETableCol *col = e_table_header_get_column(e_table->header, i);
- state->columns[i] = -1;
- for (j = 0; j < full_col_count; j++) {
- if (col->col_idx == e_table_header_index(e_table->full_header, j)) {
- state->columns[i] = j;
- break;
- }
- }
- state->expansions[i] = col->expansion;
- }
-
- return state;
-}
-
-/**
- * e_table_get_state:
- * @e_table: The #ETable to act on.
- *
- * Builds a state object based on the current state and returns the
- * string corresponding to that state.
- *
- * Return value:
- * A string describing the current state of the #ETable.
- **/
-gchar *e_table_get_state (ETable *e_table)
-{
- ETableState *state;
- gchar *string;
-
- state = e_table_get_state_object(e_table);
- string = e_table_state_save_to_string(state);
- g_object_unref(state);
- return string;
-}
-
-/**
- * e_table_save_state:
- * @e_table: The #ETable to act on
- * @filename: name of the file to save to
- *
- * Saves the state of the @e_table object into the file pointed by
- * @filename.
- *
- **/
-void
-e_table_save_state (ETable *e_table,
- const gchar *filename)
-{
- ETableState *state;
-
- state = e_table_get_state_object(e_table);
- e_table_state_save_to_file(state, filename);
- g_object_unref(state);
-}
-
-static void
-et_selection_model_selection_changed (ETableGroup *etg, ETable *et)
-{
- g_signal_emit (G_OBJECT (et), et_signals [SELECTION_CHANGE], 0);
-}
-
-static void
-et_selection_model_selection_row_changed (ETableGroup *etg, int row, ETable *et)
-{
- g_signal_emit (G_OBJECT (et), et_signals [SELECTION_CHANGE], 0);
-}
-
-static ETable *
-et_real_construct (ETable *e_table, ETableModel *etm, ETableExtras *ete,
- ETableSpecification *specification, ETableState *state)
-{
- int row = 0;
- int col_count, i;
- GValue *val = g_new0 (GValue, 1);
- g_value_init (val, G_TYPE_OBJECT);
-
- if (ete)
- g_object_ref(ete);
- else {
- ete = e_table_extras_new();
- }
-
- e_table->domain = g_strdup (specification->domain);
-
- e_table->use_click_to_add = specification->click_to_add;
- e_table->use_click_to_add_end = specification->click_to_add_end;
- e_table->click_to_add_message = g_strdup (dgettext (e_table->domain, specification->click_to_add_message));
- e_table->alternating_row_colors = specification->alternating_row_colors;
- e_table->horizontal_draw_grid = specification->horizontal_draw_grid;
- e_table->vertical_draw_grid = specification->vertical_draw_grid;
- e_table->draw_focus = specification->draw_focus;
- e_table->cursor_mode = specification->cursor_mode;
- e_table->full_header = e_table_spec_to_full_header(specification, ete);
- g_object_ref (e_table->full_header);
-
- col_count = e_table_header_count (e_table->full_header);
- for (i = 0; i < col_count; i++) {
- ETableCol *col = e_table_header_get_column(e_table->full_header, i);
- if (col && col->search) {
- e_table->current_search_col = col;
- e_table->search_col_set = TRUE;
- break;
- }
- }
-
- e_table->model = etm;
- g_object_ref (etm);
-
- gtk_widget_push_colormap (gdk_rgb_get_cmap ());
-
- connect_header (e_table, state);
- e_table->horizontal_scrolling = specification->horizontal_scrolling;
- e_table->horizontal_resize = specification->horizontal_resize;
- e_table->allow_grouping = specification->allow_grouping;
-
- e_table->sort_info = state->sort_info;
- g_object_ref (state->sort_info);
- e_table_sort_info_set_can_group (e_table->sort_info, e_table->allow_grouping);
-
- e_table->group_info_change_id =
- g_signal_connect (G_OBJECT (e_table->sort_info), "group_info_changed",
- G_CALLBACK (group_info_changed), e_table);
-
- e_table->sort_info_change_id =
- g_signal_connect (G_OBJECT (e_table->sort_info), "sort_info_changed",
- G_CALLBACK (sort_info_changed), e_table);
-
-
- g_value_set_object (val, e_table->sort_info);
- g_object_set_property (G_OBJECT(e_table->header), "sort_info", val);
- g_free (val);
-
- e_table->sorter = e_table_sorter_new(etm, e_table->full_header, e_table->sort_info);
-
- g_object_set (e_table->selection,
- "model", etm,
- "selection_mode", specification->selection_mode,
- "cursor_mode", specification->cursor_mode,
- "sorter", e_table->sorter,
- "header", e_table->header,
- NULL);
-
- g_signal_connect(e_table->selection, "selection_changed",
- G_CALLBACK (et_selection_model_selection_changed), e_table);
- g_signal_connect(e_table->selection, "selection_row_changed",
- G_CALLBACK (et_selection_model_selection_row_changed), e_table);
-
- if (!specification->no_headers) {
- e_table_setup_header (e_table);
- }
- e_table_setup_table (e_table, e_table->full_header, e_table->header, etm);
- e_table_fill_table (e_table, etm);
-
- gtk_layout_get_vadjustment (GTK_LAYOUT (e_table->table_canvas))->step_increment = 20;
- gtk_adjustment_changed(gtk_layout_get_vadjustment (GTK_LAYOUT (e_table->table_canvas)));
- gtk_layout_get_hadjustment (GTK_LAYOUT (e_table->table_canvas))->step_increment = 20;
- gtk_adjustment_changed(gtk_layout_get_hadjustment (GTK_LAYOUT (e_table->table_canvas)));
-
- if (!specification->no_headers) {
- /*
- * The header
- */
- gtk_table_attach (GTK_TABLE (e_table), GTK_WIDGET (e_table->header_canvas),
- 0, 1, 0 + row, 1 + row,
- GTK_FILL | GTK_EXPAND,
- GTK_FILL, 0, 0);
- row ++;
- }
- gtk_table_attach (GTK_TABLE (e_table), GTK_WIDGET (e_table->table_canvas),
- 0, 1, 0 + row, 1 + row,
- GTK_FILL | GTK_EXPAND,
- GTK_FILL | GTK_EXPAND,
- 0, 0);
-
- gtk_widget_pop_colormap ();
-
- g_object_unref(ete);
-
- return e_table;
-}
-
-/**
- * e_table_construct:
- * @e_table: The newly created #ETable object.
- * @etm: The model for this table.
- * @ete: An optional #ETableExtras. (%NULL is valid.)
- * @spec_str: The spec.
- * @state_str: An optional state. (%NULL is valid.)
- *
- * This is the internal implementation of e_table_new() for use by
- * subclasses or language bindings. See e_table_new() for details.
- *
- * Return value:
- * The passed in value @e_table or %NULL if there's an error.
- **/
-ETable *
-e_table_construct (ETable *e_table, ETableModel *etm, ETableExtras *ete,
- const char *spec_str, const char *state_str)
-{
- ETableSpecification *specification;
- ETableState *state;
-
- g_return_val_if_fail(e_table != NULL, NULL);
- g_return_val_if_fail(E_IS_TABLE(e_table), NULL);
- g_return_val_if_fail(etm != NULL, NULL);
- g_return_val_if_fail(E_IS_TABLE_MODEL(etm), NULL);
- g_return_val_if_fail(ete == NULL || E_IS_TABLE_EXTRAS(ete), NULL);
- g_return_val_if_fail(spec_str != NULL, NULL);
-
- g_object_ref (etm);
-
- specification = e_table_specification_new();
- g_object_ref (specification);
- if (!e_table_specification_load_from_string(specification, spec_str)) {
- g_object_unref(specification);
- return NULL;
- }
-
- if (state_str) {
- state = e_table_state_new();
- g_object_ref (state);
- e_table_state_load_from_string(state, state_str);
- if (state->col_count <= 0) {
- g_object_unref(state);
- state = specification->state;
- g_object_ref(state);
- }
- } else {
- state = specification->state;
- g_object_ref(state);
- }
-
- e_table = et_real_construct (e_table, etm, ete, specification, state);
-
- e_table->spec = specification;
- g_object_unref(state);
-
- return e_table;
-}
-
-/**
- * e_table_construct_from_spec_file:
- * @e_table: The newly created #ETable object.
- * @etm: The model for this table.
- * @ete: An optional #ETableExtras. (%NULL is valid.)
- * @spec_fn: The filename of the spec.
- * @state_fn: An optional state file. (%NULL is valid.)
- *
- * This is the internal implementation of e_table_new_from_spec_file()
- * for use by subclasses or language bindings. See
- * e_table_new_from_spec_file() for details.
- *
- * Return value:
- * The passed in value @e_table or %NULL if there's an error.
- **/
-ETable *
-e_table_construct_from_spec_file (ETable *e_table, ETableModel *etm, ETableExtras *ete,
- const char *spec_fn, const char *state_fn)
-{
- ETableSpecification *specification;
- ETableState *state;
-
- g_return_val_if_fail(e_table != NULL, NULL);
- g_return_val_if_fail(E_IS_TABLE(e_table), NULL);
- g_return_val_if_fail(etm != NULL, NULL);
- g_return_val_if_fail(E_IS_TABLE_MODEL(etm), NULL);
- g_return_val_if_fail(ete == NULL || E_IS_TABLE_EXTRAS(ete), NULL);
- g_return_val_if_fail(spec_fn != NULL, NULL);
-
- specification = e_table_specification_new();
- if (!e_table_specification_load_from_file(specification, spec_fn)) {
- g_object_unref(specification);
- return NULL;
- }
-
- if (state_fn) {
- state = e_table_state_new();
- if (!e_table_state_load_from_file(state, state_fn)) {
- g_object_unref(state);
- state = specification->state;
- g_object_ref(state);
- }
- if (state->col_count <= 0) {
- g_object_unref(state);
- state = specification->state;
- g_object_ref(state);
- }
- } else {
- state = specification->state;
- g_object_ref(state);
- }
-
- e_table = et_real_construct (e_table, etm, ete, specification, state);
-
- e_table->spec = specification;
- g_object_unref(state);
-
- return e_table;
-}
-
-/**
- * e_table_new:
- * @etm: The model for this table.
- * @ete: An optional #ETableExtras. (%NULL is valid.)
- * @spec: The spec.
- * @state: An optional state. (%NULL is valid.)
- *
- * This function creates an #ETable from the given parameters. The
- * #ETableModel is a table model to be represented. The #ETableExtras
- * is an optional set of pixbufs, cells, and sorting functions to be
- * used when interpreting the spec. If you pass in %NULL it uses the
- * default #ETableExtras. (See e_table_extras_new()).
- *
- * @spec is the specification of the set of viewable columns and the
- * default sorting state and such. @state is an optional string
- * specifying the current sorting state and such. If @state is NULL,
- * then the default state from the spec will be used.
- *
- * Return value:
- * The newly created #ETable or %NULL if there's an error.
- **/
-GtkWidget *
-e_table_new (ETableModel *etm, ETableExtras *ete, const char *spec, const char *state)
-{
- ETable *e_table;
-
- g_return_val_if_fail(etm != NULL, NULL);
- g_return_val_if_fail(E_IS_TABLE_MODEL(etm), NULL);
- g_return_val_if_fail(ete == NULL || E_IS_TABLE_EXTRAS(ete), NULL);
- g_return_val_if_fail(spec != NULL, NULL);
-
- e_table = g_object_new (E_TABLE_TYPE, NULL);
-
- e_table = e_table_construct (e_table, etm, ete, spec, state);
-
- return GTK_WIDGET (e_table);
-}
-
-/**
- * e_table_new_from_spec_file:
- * @etm: The model for this table.
- * @ete: An optional #ETableExtras. (%NULL is valid.)
- * @spec_fn: The filename of the spec.
- * @state_fn: An optional state file. (%NULL is valid.)
- *
- * This is very similar to e_table_new(), except instead of passing in
- * strings you pass in the file names of the spec and state to load.
- *
- * @spec_fn is the filename of the spec to load. If this file doesn't
- * exist, e_table_new_from_spec_file will return %NULL.
- *
- * @state_fn is the filename of the initial state to load. If this is
- * %NULL or if the specified file doesn't exist, the default state
- * from the spec file is used.
- *
- * Return value:
- * The newly created #ETable or %NULL if there's an error.
- **/
-GtkWidget *
-e_table_new_from_spec_file (ETableModel *etm, ETableExtras *ete, const char *spec_fn, const char *state_fn)
-{
- ETable *e_table;
-
- g_return_val_if_fail(etm != NULL, NULL);
- g_return_val_if_fail(E_IS_TABLE_MODEL(etm), NULL);
- g_return_val_if_fail(ete == NULL || E_IS_TABLE_EXTRAS(ete), NULL);
- g_return_val_if_fail(spec_fn != NULL, NULL);
-
- e_table = g_object_new (E_TABLE_TYPE, NULL);
-
- e_table = e_table_construct_from_spec_file (e_table, etm, ete, spec_fn, state_fn);
-
- return GTK_WIDGET (e_table);
-}
-
-#if 0
-static xmlNode *
-et_build_column_spec (ETable *e_table)
-{
- xmlNode *columns_shown;
- gint i;
- gint col_count;
-
- columns_shown = xmlNewNode (NULL, "columns-shown");
-
- col_count = e_table_header_count (e_table->header);
- for (i = 0; i < col_count; i++){
- gchar *text = g_strdup_printf ("%d", e_table_header_index(e_table->header, i));
- xmlNewChild (columns_shown, NULL, "column", text);
- g_free (text);
- }
-
- return columns_shown;
-}
-
-static xmlNode *
-et_build_grouping_spec (ETable *e_table)
-{
- xmlNode *node;
- xmlNode *grouping;
- int i;
- const int sort_count = e_table_sort_info_sorting_get_count (e_table->sort_info);
- const int group_count = e_table_sort_info_grouping_get_count (e_table->sort_info);
-
- grouping = xmlNewNode (NULL, "grouping");
- node = grouping;
-
- for (i = 0; i < group_count; i++) {
- ETableSortColumn column = e_table_sort_info_grouping_get_nth(e_table->sort_info, i);
- xmlNode *new_node = xmlNewChild(node, NULL, "group", NULL);
-
- e_xml_set_integer_prop_by_name (new_node, "column", column.column);
- e_xml_set_integer_prop_by_name (new_node, "ascending", column.ascending);
- node = new_node;
- }
-
- for (i = 0; i < sort_count; i++) {
- ETableSortColumn column = e_table_sort_info_sorting_get_nth(e_table->sort_info, i);
- xmlNode *new_node = xmlNewChild(node, NULL, "leaf", NULL);
-
- e_xml_set_integer_prop_by_name (new_node, "column", column.column);
- e_xml_set_integer_prop_by_name (new_node, "ascending", column.ascending);
- node = new_node;
- }
-
- return grouping;
-}
-
-static xmlDoc *
-et_build_tree (ETable *e_table)
-{
- xmlDoc *doc;
- xmlNode *root;
-
- doc = xmlNewDoc ("1.0");
- if (doc == NULL)
- return NULL;
-
- root = xmlNewDocNode (doc, NULL, "ETableSpecification", NULL);
- xmlDocSetRootElement (doc, root);
- xmlAddChild (root, et_build_column_spec (e_table));
- xmlAddChild (root, et_build_grouping_spec (e_table));
-
- return doc;
-}
-
-gchar *
-e_table_get_specification (ETable *e_table)
-{
- xmlDoc *doc;
- xmlChar *buffer;
- gint size;
-
- g_return_val_if_fail(e_table != NULL, NULL);
- g_return_val_if_fail(E_IS_TABLE(e_table), NULL);
-
- doc = et_build_tree (e_table);
- xmlDocDumpMemory (doc, &buffer, &size);
- xmlFreeDoc (doc);
-
- return buffer;
-}
-
-int
-e_table_set_specification (ETable *e_table, const char *spec)
-{
- xmlDoc *xmlSpec;
- int ret;
-
- g_return_val_if_fail(e_table != NULL, -1);
- g_return_val_if_fail(E_IS_TABLE(e_table), -1);
- g_return_val_if_fail(spec != NULL, -1);
-
- /* doesn't work yet, sigh */
- xmlSpec = xmlParseMemory ((char *)spec, strlen(spec));
- ret = et_real_set_specification(e_table, xmlSpec);
- xmlFreeDoc (xmlSpec);
-
- return ret;
-}
-
-void
-e_table_save_specification (ETable *e_table, const char *filename)
-{
- xmlDoc *doc = et_build_tree (e_table);
-
- g_return_if_fail(e_table != NULL);
- g_return_if_fail(E_IS_TABLE(e_table));
- g_return_if_fail(filename != NULL);
-
- e_xml_save_file (filename, doc);
-
- xmlFreeDoc (doc);
-}
-
-int
-e_table_load_specification (ETable *e_table, gchar *filename)
-{
- xmlDoc *xmlSpec;
- int ret;
-
- g_return_val_if_fail(e_table != NULL, -1);
- g_return_val_if_fail(E_IS_TABLE(e_table), -1);
- g_return_val_if_fail(filename != NULL, -1);
-
- /* doesn't work yet, yay */
- xmlSpec = xmlParseFile (filename);
- ret = et_real_set_specification(e_table, xmlSpec);
- xmlFreeDoc (xmlSpec);
-
- return ret;
-}
-#endif
-
-/**
- * e_table_set_cursor_row:
- * @e_table: The #ETable to set the cursor row of
- * @row: The row number
- *
- * Sets the cursor row and the selection to the given row number.
- **/
-void
-e_table_set_cursor_row (ETable *e_table, int row)
-{
- g_return_if_fail(e_table != NULL);
- g_return_if_fail(E_IS_TABLE(e_table));
- g_return_if_fail(row >= 0);
-
- g_object_set(e_table->selection,
- "cursor_row", row,
- NULL);
-}
-
-/**
- * e_table_get_cursor_row:
- * @e_table: The #ETable to query
- *
- * Calculates the cursor row. -1 means that we don't have a cursor.
- *
- * Return value:
- * Cursor row
- **/
-int
-e_table_get_cursor_row (ETable *e_table)
-{
- int row;
- g_return_val_if_fail(e_table != NULL, -1);
- g_return_val_if_fail(E_IS_TABLE(e_table), -1);
-
- g_object_get(e_table->selection,
- "cursor_row", &row,
- NULL);
- return row;
-}
-
-/**
- * e_table_selected_row_foreach:
- * @e_table: The #ETable to act on
- * @callback: The callback function to call
- * @closure: The value passed to the callback's closure argument
- *
- * Calls the given @callback function once for every selected row.
- *
- * If you change the selection or delete or add rows to the table
- * during these callbacks, problems can occur. A standard thing to do
- * is to create a list of rows or objects the function is called upon
- * and then act upon that list. (In inverse order if it's rows.)
- **/
-void
-e_table_selected_row_foreach (ETable *e_table,
- EForeachFunc callback,
- gpointer closure)
-{
- g_return_if_fail(e_table != NULL);
- g_return_if_fail(E_IS_TABLE(e_table));
-
- e_selection_model_foreach(E_SELECTION_MODEL (e_table->selection),
- callback,
- closure);
-}
-
-/**
- * e_table_selected_count:
- * @e_table: The #ETable to query
- *
- * Counts the number of selected rows.
- *
- * Return value:
- * The number of rows selected.
- **/
-gint
-e_table_selected_count (ETable *e_table)
-{
- g_return_val_if_fail(e_table != NULL, -1);
- g_return_val_if_fail(E_IS_TABLE(e_table), -1);
-
- return e_selection_model_selected_count(E_SELECTION_MODEL (e_table->selection));
-}
-
-/**
- * e_table_select_all:
- * @table: The #ETable to modify
- *
- * Selects all the rows in @table.
- **/
-void
-e_table_select_all (ETable *table)
-{
- g_return_if_fail (table != NULL);
- g_return_if_fail (E_IS_TABLE (table));
-
- e_selection_model_select_all (E_SELECTION_MODEL (table->selection));
-}
-
-/**
- * e_table_invert_selection:
- * @table: The #ETable to modify
- *
- * Inverts the selection in @table.
- **/
-void
-e_table_invert_selection (ETable *table)
-{
- g_return_if_fail (table != NULL);
- g_return_if_fail (E_IS_TABLE (table));
-
- e_selection_model_invert_selection (E_SELECTION_MODEL (table->selection));
-}
-
-
-/**
- * e_table_get_printable:
- * @e_table: #ETable to query
- *
- * Used for printing your #ETable.
- *
- * Return value:
- * The #EPrintable to print.
- **/
-EPrintable *
-e_table_get_printable (ETable *e_table)
-{
- g_return_val_if_fail(e_table != NULL, NULL);
- g_return_val_if_fail(E_IS_TABLE(e_table), NULL);
-
- return e_table_group_get_printable(e_table->group);
-}
-
-/**
- * e_table_right_click_up:
- * @table: The #ETable to modify.
- *
- * Call this function when you're done handling the right click if you
- * return TRUE from the "right_click" signal.
- **/
-void
-e_table_right_click_up (ETable *table)
-{
- e_selection_model_right_click_up(E_SELECTION_MODEL(table->selection));
-}
-
-/**
- * e_table_commit_click_to_add:
- * @table: The #ETable to modify
- *
- * Commits the current values in the click to add to the table.
- **/
-void
-e_table_commit_click_to_add (ETable *table)
-{
- et_eti_leave_edit (table);
- if (table->click_to_add)
- e_table_click_to_add_commit(E_TABLE_CLICK_TO_ADD(table->click_to_add));
-}
-
-static void
-et_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
- ETable *etable = E_TABLE (object);
-
- switch (prop_id){
- case PROP_MODEL:
- g_value_set_object (value, etable->model);
- break;
- case PROP_UNIFORM_ROW_HEIGHT:
- g_value_set_boolean (value, etable->uniform_row_height);
- break;
- case PROP_ALWAYS_SEARCH:
- g_value_set_boolean (value, etable->always_search);
- break;
- case PROP_USE_CLICK_TO_ADD:
- g_value_set_boolean (value, etable->use_click_to_add);
- break;
- default:
- break;
- }
-}
-
-typedef struct {
- char *arg;
- gboolean setting;
-} bool_closure;
-
-static void
-et_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- ETable *etable = E_TABLE (object);
-
- switch (prop_id){
- case PROP_LENGTH_THRESHOLD:
- etable->length_threshold = g_value_get_int (value);
- if (etable->group) {
- gnome_canvas_item_set (GNOME_CANVAS_ITEM(etable->group),
- "length_threshold", etable->length_threshold,
- NULL);
- }
- break;
- case PROP_UNIFORM_ROW_HEIGHT:
- etable->uniform_row_height = g_value_get_boolean (value);
- if (etable->group) {
- gnome_canvas_item_set (GNOME_CANVAS_ITEM(etable->group),
- "uniform_row_height", etable->uniform_row_height,
- NULL);
- }
- break;
- case PROP_ALWAYS_SEARCH:
- if (etable->always_search == g_value_get_boolean (value))
- return;
-
- etable->always_search = g_value_get_boolean (value);
- clear_current_search_col (etable);
- break;
- case PROP_USE_CLICK_TO_ADD:
- if (etable->use_click_to_add == g_value_get_boolean (value))
- return;
-
- etable->use_click_to_add = g_value_get_boolean (value);
- clear_current_search_col (etable);
-
- if (etable->use_click_to_add) {
- etable->click_to_add = gnome_canvas_item_new
- (GNOME_CANVAS_GROUP(etable->canvas_vbox),
- e_table_click_to_add_get_type (),
- "header", etable->header,
- "model", etable->model,
- "message", etable->click_to_add_message,
- NULL);
-
- if (etable->use_click_to_add_end)
- e_canvas_vbox_add_item (E_CANVAS_VBOX(etable->canvas_vbox),
- etable->click_to_add);
- else
- e_canvas_vbox_add_item_start (E_CANVAS_VBOX(etable->canvas_vbox),
- etable->click_to_add);
-
- g_signal_connect (G_OBJECT (etable->click_to_add), "cursor_change",
- G_CALLBACK (click_to_add_cursor_change), etable);
- } else {
- gtk_object_destroy (GTK_OBJECT (etable->click_to_add));
- etable->click_to_add = NULL;
- }
- break;
- }
-}
-
-static void
-set_scroll_adjustments (ETable *table,
- GtkAdjustment *hadjustment,
- GtkAdjustment *vadjustment)
-{
- if (vadjustment != NULL) {
- vadjustment->step_increment = 20;
- gtk_adjustment_changed(vadjustment);
- }
- if (hadjustment != NULL) {
- hadjustment->step_increment = 20;
- gtk_adjustment_changed(hadjustment);
- }
-
- if (table->table_canvas != NULL) {
- gtk_layout_set_hadjustment (GTK_LAYOUT(table->table_canvas),
- hadjustment);
- gtk_layout_set_vadjustment (GTK_LAYOUT(table->table_canvas),
- vadjustment);
- }
-
- if (table->header_canvas != NULL)
- gtk_layout_set_hadjustment (GTK_LAYOUT(table->header_canvas),
- hadjustment);
-}
-
-/**
- * e_table_get_next_row:
- * @e_table: The #ETable to query
- * @model_row: The model row to go from
- *
- * This function is used when your table is sorted, but you're using
- * model row numbers. It returns the next row in sorted order as a model row.
- *
- * Return value:
- * The model row number.
- **/
-gint
-e_table_get_next_row (ETable *e_table,
- gint model_row)
-{
- g_return_val_if_fail(e_table != NULL, -1);
- g_return_val_if_fail(E_IS_TABLE(e_table), -1);
-
- if (e_table->sorter) {
- int i;
- i = e_sorter_model_to_sorted(E_SORTER (e_table->sorter), model_row);
- i++;
- if (i < e_table_model_row_count(e_table->model)) {
- return e_sorter_sorted_to_model(E_SORTER (e_table->sorter), i);
- } else
- return -1;
- } else
- if (model_row < e_table_model_row_count(e_table->model) - 1)
- return model_row + 1;
- else
- return -1;
-}
-
-/**
- * e_table_get_prev_row:
- * @e_table: The #ETable to query
- * @model_row: The model row to go from
- *
- * This function is used when your table is sorted, but you're using
- * model row numbers. It returns the previous row in sorted order as
- * a model row.
- *
- * Return value:
- * The model row number.
- **/
-gint
-e_table_get_prev_row (ETable *e_table,
- gint model_row)
-{
- g_return_val_if_fail(e_table != NULL, -1);
- g_return_val_if_fail(E_IS_TABLE(e_table), -1);
-
- if (e_table->sorter) {
- int i;
- i = e_sorter_model_to_sorted(E_SORTER (e_table->sorter), model_row);
- i--;
- if (i >= 0)
- return e_sorter_sorted_to_model(E_SORTER (e_table->sorter), i);
- else
- return -1;
- } else
- return model_row - 1;
-}
-
-/**
- * e_table_model_to_view_row:
- * @e_table: The #ETable to query
- * @model_row: The model row number
- *
- * Turns a model row into a view row.
- *
- * Return value:
- * The view row number.
- **/
-gint
-e_table_model_to_view_row (ETable *e_table,
- gint model_row)
-{
- g_return_val_if_fail(e_table != NULL, -1);
- g_return_val_if_fail(E_IS_TABLE(e_table), -1);
-
- if (e_table->sorter)
- return e_sorter_model_to_sorted(E_SORTER (e_table->sorter), model_row);
- else
- return model_row;
-}
-
-/**
- * e_table_view_to_model_row:
- * @e_table: The #ETable to query
- * @view_row: The view row number
- *
- * Turns a view row into a model row.
- *
- * Return value:
- * The model row number.
- **/
-gint
-e_table_view_to_model_row (ETable *e_table,
- gint view_row)
-{
- g_return_val_if_fail(e_table != NULL, -1);
- g_return_val_if_fail(E_IS_TABLE(e_table), -1);
-
- if (e_table->sorter)
- return e_sorter_sorted_to_model (E_SORTER (e_table->sorter), view_row);
- else
- return view_row;
-}
-
-/**
- * e_table_get_cell_at:
- * @table: An #ETable widget
- * @x: X coordinate for the pixel
- * @y: Y coordinate for the pixel
- * @row_return: Pointer to return the row value
- * @col_return: Pointer to return the column value
- *
- * Return the row and column for the cell in which the pixel at (@x, @y) is
- * contained.
- **/
-void
-e_table_get_cell_at (ETable *table,
- int x, int y,
- int *row_return, int *col_return)
-{
- g_return_if_fail (table != NULL);
- g_return_if_fail (E_IS_TABLE (table));
- g_return_if_fail (row_return != NULL);
- g_return_if_fail (col_return != NULL);
-
- /* FIXME it would be nice if it could handle a NULL row_return or
- * col_return gracefully. */
-
- x += GTK_LAYOUT(table->table_canvas)->hadjustment->value;
- y += GTK_LAYOUT(table->table_canvas)->vadjustment->value;
- e_table_group_compute_location(table->group, &x, &y, row_return, col_return);
-}
-
-/**
- * e_table_get_cell_geometry:
- * @table: The #ETable.
- * @row: The row to get the geometry of.
- * @col: The col to get the geometry of.
- * @x_return: Returns the x coordinate of the upper left hand corner of the cell with respect to the widget.
- * @y_return: Returns the y coordinate of the upper left hand corner of the cell with respect to the widget.
- * @width_return: Returns the width of the cell.
- * @height_return: Returns the height of the cell.
- *
- * Returns the x, y, width, and height of the given cell. These can
- * all be #NULL and they just won't be set.
- **/
-void
-e_table_get_cell_geometry (ETable *table,
- int row, int col,
- int *x_return, int *y_return,
- int *width_return, int *height_return)
-{
- g_return_if_fail (table != NULL);
- g_return_if_fail (E_IS_TABLE (table));
-
- e_table_group_get_cell_geometry(table->group, &row, &col, x_return, y_return, width_return, height_return);
-
- if (x_return && table->table_canvas)
- (*x_return) -= GTK_LAYOUT(table->table_canvas)->hadjustment->value;
- if (y_return) {
- if (table->table_canvas)
- (*y_return) -= GTK_LAYOUT(table->table_canvas)->vadjustment->value;
- if (table->header_canvas)
- (*y_return) += GTK_WIDGET(table->header_canvas)->allocation.height;
- }
-}
-
-/**
- * e_table_get_selection_model:
- * @table: The #ETable to query
- *
- * Returns the table's #ESelectionModel in case you want to access it
- * directly.
- *
- * Return value:
- * The #ESelectionModel.
- **/
-ESelectionModel *
-e_table_get_selection_model (ETable *table)
-{
- g_return_val_if_fail (table != NULL, NULL);
- g_return_val_if_fail (E_IS_TABLE (table), NULL);
-
- return E_SELECTION_MODEL (table->selection);
-}
-
-struct _ETableDragSourceSite
-{
- GdkModifierType start_button_mask;
- GtkTargetList *target_list; /* Targets for drag data */
- GdkDragAction actions; /* Possible actions */
- GdkColormap *colormap; /* Colormap for drag icon */
- GdkPixmap *pixmap; /* Icon for drag data */
- GdkBitmap *mask;
-
- /* Stored button press information to detect drag beginning */
- gint state;
- gint x, y;
- gint row, col;
-};
-
-typedef enum
-{
- GTK_DRAG_STATUS_DRAG,
- GTK_DRAG_STATUS_WAIT,
- GTK_DRAG_STATUS_DROP
-} GtkDragStatus;
-
-typedef struct _GtkDragDestInfo GtkDragDestInfo;
-typedef struct _GtkDragSourceInfo GtkDragSourceInfo;
-
-struct _GtkDragDestInfo
-{
- GtkWidget *widget; /* Widget in which drag is in */
- GdkDragContext *context; /* Drag context */
- GtkDragSourceInfo *proxy_source; /* Set if this is a proxy drag */
- GtkSelectionData *proxy_data; /* Set while retrieving proxied data */
- gboolean dropped : 1; /* Set after we receive a drop */
- guint32 proxy_drop_time; /* Timestamp for proxied drop */
- gboolean proxy_drop_wait : 1; /* Set if we are waiting for a
- * status reply before sending
- * a proxied drop on.
- */
- gint drop_x, drop_y; /* Position of drop */
-};
-
-struct _GtkDragSourceInfo
-{
- GtkWidget *widget;
- GtkTargetList *target_list; /* Targets for drag data */
- GdkDragAction possible_actions; /* Actions allowed by source */
- GdkDragContext *context; /* drag context */
- GtkWidget *icon_window; /* Window for drag */
- GtkWidget *ipc_widget; /* GtkInvisible for grab, message passing */
- GdkCursor *cursor; /* Cursor for drag */
- gint hot_x, hot_y; /* Hot spot for drag */
- gint button; /* mouse button starting drag */
-
- GtkDragStatus status; /* drag status */
- GdkEvent *last_event; /* motion event waiting for response */
-
- gint start_x, start_y; /* Initial position */
- gint cur_x, cur_y; /* Current Position */
-
- GList *selections; /* selections we've claimed */
-
- GtkDragDestInfo *proxy_dest; /* Set if this is a proxy drag */
-
- guint drop_timeout; /* Timeout for aborting drop */
- guint destroy_icon : 1; /* If true, destroy icon_window
- */
-};
-
-/* Drag & drop stuff. */
-/* Target */
-
-/**
- * e_table_drag_get_data:
- * @table:
- * @row:
- * @col:
- * @context:
- * @target:
- * @time:
- *
- *
- **/
-void
-e_table_drag_get_data (ETable *table,
- int row,
- int col,
- GdkDragContext *context,
- GdkAtom target,
- guint32 time)
-{
- g_return_if_fail(table != NULL);
- g_return_if_fail(E_IS_TABLE(table));
-
- gtk_drag_get_data(GTK_WIDGET(table),
- context,
- target,
- time);
-}
-
-/**
- * e_table_drag_highlight:
- * @table: The #ETable to highlight
- * @row: The row number of the cell to highlight
- * @col: The column number of the cell to highlight
- *
- * Set col to -1 to highlight the entire row. If row is -1, this is
- * identical to e_table_drag_unhighlight().
- **/
-void
-e_table_drag_highlight (ETable *table,
- int row,
- int col)
-{
- g_return_if_fail(table != NULL);
- g_return_if_fail(E_IS_TABLE(table));
-
- if (row != -1) {
- int x, y, width, height;
- if (col == -1) {
- e_table_get_cell_geometry (table, row, 0, &x, &y, &width, &height);
- x = 0;
- width = GTK_WIDGET (table->table_canvas)->allocation.width;
- } else {
- e_table_get_cell_geometry (table, row, col, &x, &y, &width, &height);
- x += GTK_LAYOUT(table->table_canvas)->hadjustment->value;
- }
- y += GTK_LAYOUT(table->table_canvas)->vadjustment->value;
-
- if (table->drop_highlight == NULL) {
- table->drop_highlight =
- gnome_canvas_item_new (gnome_canvas_root (table->table_canvas),
- gnome_canvas_rect_get_type (),
- "fill_color", NULL,
- /* "outline_color", "black",
- "width_pixels", 1,*/
- "outline_color_gdk", &(GTK_WIDGET (table)->style->fg[GTK_STATE_NORMAL]),
- NULL);
- }
- gnome_canvas_item_set (table->drop_highlight,
- "x1", (double) x,
- "x2", (double) x + width - 1,
- "y1", (double) y,
- "y2", (double) y + height - 1,
- NULL);
- } else {
- if (table->drop_highlight) {
- gtk_object_destroy (GTK_OBJECT (table->drop_highlight));
- table->drop_highlight = NULL;
- }
- }
-}
-
-/**
- * e_table_drag_unhighlight:
- * @table: The #ETable to unhighlight
- *
- * Removes the highlight from an #ETable.
- **/
-void
-e_table_drag_unhighlight (ETable *table)
-{
- g_return_if_fail(table != NULL);
- g_return_if_fail(E_IS_TABLE(table));
-
- if (table->drop_highlight) {
- gtk_object_destroy (GTK_OBJECT (table->drop_highlight));
- table->drop_highlight = NULL;
- }
-}
-
-void e_table_drag_dest_set (ETable *table,
- GtkDestDefaults flags,
- const GtkTargetEntry *targets,
- gint n_targets,
- GdkDragAction actions)
-{
- g_return_if_fail(table != NULL);
- g_return_if_fail(E_IS_TABLE(table));
-
- gtk_drag_dest_set(GTK_WIDGET(table),
- flags,
- targets,
- n_targets,
- actions);
-}
-
-void e_table_drag_dest_set_proxy (ETable *table,
- GdkWindow *proxy_window,
- GdkDragProtocol protocol,
- gboolean use_coordinates)
-{
- g_return_if_fail(table != NULL);
- g_return_if_fail(E_IS_TABLE(table));
-
- gtk_drag_dest_set_proxy(GTK_WIDGET(table),
- proxy_window,
- protocol,
- use_coordinates);
-}
-
-/*
- * There probably should be functions for setting the targets
- * as a GtkTargetList
- */
-
-void
-e_table_drag_dest_unset (GtkWidget *widget)
-{
- g_return_if_fail(widget != NULL);
- g_return_if_fail(E_IS_TABLE(widget));
-
- gtk_drag_dest_unset(widget);
-}
-
-/* Source side */
-
-static gint
-et_real_start_drag (ETable *table, int row, int col, GdkEvent *event)
-{
- GtkDragSourceInfo *info;
- GdkDragContext *context;
- ETableDragSourceSite *site;
-
- if (table->do_drag) {
- site = table->site;
-
- site->state = 0;
- context = e_table_drag_begin (table, row, col,
- site->target_list,
- site->actions,
- 1, event);
-
- if (context) {
- info = g_dataset_get_data (context, "gtk-info");
-
- if (info && !info->icon_window) {
- if (site->pixmap)
- gtk_drag_set_icon_pixmap (context,
- site->colormap,
- site->pixmap,
- site->mask, -2, -2);
- else
- gtk_drag_set_icon_default (context);
- }
- }
- return TRUE;
- }
- return FALSE;
-}
-
-/**
- * e_table_drag_source_set:
- * @table: The #ETable to set up as a drag site
- * @start_button_mask: Mask of allowed buttons to start drag
- * @targets: Table of targets for this source
- * @n_targets: Number of targets in @targets
- * @actions: Actions allowed for this source
- *
- * Registers this table as a drag site, and possibly adds default behaviors.
- **/
-void
-e_table_drag_source_set (ETable *table,
- GdkModifierType start_button_mask,
- const GtkTargetEntry *targets,
- gint n_targets,
- GdkDragAction actions)
-{
- ETableDragSourceSite *site;
- GtkWidget *canvas;
-
- g_return_if_fail(table != NULL);
- g_return_if_fail(E_IS_TABLE(table));
-
- canvas = GTK_WIDGET(table->table_canvas);
- site = table->site;
-
- gtk_widget_add_events (canvas,
- gtk_widget_get_events (canvas) |
- GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
- GDK_BUTTON_MOTION_MASK | GDK_STRUCTURE_MASK);
-
- table->do_drag = TRUE;
-
- if (site) {
- if (site->target_list)
- gtk_target_list_unref (site->target_list);
- } else {
- site = g_new0 (ETableDragSourceSite, 1);
- table->site = site;
- }
-
- site->start_button_mask = start_button_mask;
-
- if (targets)
- site->target_list = gtk_target_list_new (targets, n_targets);
- else
- site->target_list = NULL;
-
- site->actions = actions;
-}
-
-/**
- * e_table_drag_source_unset:
- * @table: The #ETable to un set up as a drag site
- *
- * Unregisters this #ETable as a drag site.
- **/
-void
-e_table_drag_source_unset (ETable *table)
-{
- ETableDragSourceSite *site;
-
- g_return_if_fail (table != NULL);
- g_return_if_fail (E_IS_TABLE(table));
-
- site = table->site;
-
- if (site) {
- if (site->target_list)
- gtk_target_list_unref (site->target_list);
- g_free (site);
- table->site = NULL;
- }
- table->do_drag = FALSE;
-}
-
-/* There probably should be functions for setting the targets
- * as a GtkTargetList
- */
-
-/**
- * e_table_drag_begin:
- * @table: The #ETable to drag from
- * @row: The row number of the cell
- * @col: The col number of the cell
- * @targets: The list of targets supported by the drag
- * @actions: The available actions supported by the drag
- * @button: The button held down for the drag
- * @event: The event that initiated the drag
- *
- * Start a drag from this cell.
- *
- * Return value:
- * The drag context.
- **/
-GdkDragContext *
-e_table_drag_begin (ETable *table,
- int row,
- int col,
- GtkTargetList *targets,
- GdkDragAction actions,
- gint button,
- GdkEvent *event)
-{
- g_return_val_if_fail (table != NULL, NULL);
- g_return_val_if_fail (E_IS_TABLE(table), NULL);
-
- table->drag_row = row;
- table->drag_col = col;
-
- return gtk_drag_begin(GTK_WIDGET(table),
- targets,
- actions,
- button,
- event);
-}
-
-static void
-et_drag_begin (GtkWidget *widget,
- GdkDragContext *context,
- ETable *et)
-{
- g_signal_emit (G_OBJECT (et), et_signals [TABLE_DRAG_BEGIN], 0,
- et->drag_row, et->drag_col, context);
-}
-
-static void
-et_drag_end (GtkWidget *widget,
- GdkDragContext *context,
- ETable *et)
-{
- g_signal_emit (G_OBJECT (et), et_signals [TABLE_DRAG_END], 0,
- et->drag_row, et->drag_col, context);
-}
-
-static void
-et_drag_data_get(GtkWidget *widget,
- GdkDragContext *context,
- GtkSelectionData *selection_data,
- guint info,
- guint time,
- ETable *et)
-{
- g_signal_emit (G_OBJECT (et), et_signals [TABLE_DRAG_DATA_GET], 0,
- et->drag_row, et->drag_col, context, selection_data,
- info, time);
-}
-
-static void
-et_drag_data_delete(GtkWidget *widget,
- GdkDragContext *context,
- ETable *et)
-{
- g_signal_emit (G_OBJECT (et), et_signals [TABLE_DRAG_DATA_DELETE], 0,
- et->drag_row, et->drag_col, context);
-}
-
-static gboolean
-do_drag_motion(ETable *et,
- GdkDragContext *context,
- gint x,
- gint y,
- guint time)
-{
- gboolean ret_val;
- int row = -1, col = -1;
- GtkWidget *widget;
-
- widget = GTK_WIDGET (et);
-
- e_table_get_cell_at (et, x, y, &row, &col);
-
- if (row != et->drop_row && col != et->drop_row) {
- g_signal_emit (G_OBJECT (et), et_signals [TABLE_DRAG_LEAVE], 0,
- et->drop_row, et->drop_col, context, time);
- }
- et->drop_row = row;
- et->drop_col = col;
- g_signal_emit (G_OBJECT (et), et_signals [TABLE_DRAG_MOTION], 0,
- et->drop_row, et->drop_col, context, x, y, time, &ret_val);
-
- return ret_val;
-}
-
-static gboolean
-scroll_timeout (gpointer data)
-{
- ETable *et = data;
- int dx = 0, dy = 0;
- GtkAdjustment *h, *v;
- double hvalue, vvalue;
-
- if (et->scroll_direction & ET_SCROLL_DOWN)
- dy += 20;
- if (et->scroll_direction & ET_SCROLL_UP)
- dy -= 20;
-
- if (et->scroll_direction & ET_SCROLL_RIGHT)
- dx += 20;
- if (et->scroll_direction & ET_SCROLL_LEFT)
- dx -= 20;
-
- h = GTK_LAYOUT(et->table_canvas)->hadjustment;
- v = GTK_LAYOUT(et->table_canvas)->vadjustment;
-
- hvalue = h->value;
- vvalue = v->value;
-
- gtk_adjustment_set_value(h, CLAMP(h->value + dx, h->lower, h->upper - h->page_size));
- gtk_adjustment_set_value(v, CLAMP(v->value + dy, v->lower, v->upper - v->page_size));
-
- if (h->value != hvalue ||
- v->value != vvalue)
- do_drag_motion(et,
- et->last_drop_context,
- et->last_drop_x,
- et->last_drop_y,
- et->last_drop_time);
-
-
- return TRUE;
-}
-
-static void
-scroll_on (ETable *et, guint scroll_direction)
-{
- if (et->scroll_idle_id == 0 || scroll_direction != et->scroll_direction) {
- if (et->scroll_idle_id != 0)
- g_source_remove (et->scroll_idle_id);
- et->scroll_direction = scroll_direction;
- et->scroll_idle_id = g_timeout_add (100, scroll_timeout, et);
- }
-}
-
-static void
-scroll_off (ETable *et)
-{
- if (et->scroll_idle_id) {
- g_source_remove (et->scroll_idle_id);
- et->scroll_idle_id = 0;
- }
-}
-
-static void
-context_destroyed (gpointer data)
-{
- ETable *et = data;
- /* if (!GTK_OBJECT_DESTROYED (et)) */
-#ifndef NO_WARNINGS
-#warning FIXME
-#endif
- {
- et->last_drop_x = 0;
- et->last_drop_y = 0;
- et->last_drop_time = 0;
- et->last_drop_context = NULL;
- scroll_off (et);
- }
- g_object_unref (et);
-}
-
-static void
-context_connect (ETable *et, GdkDragContext *context)
-{
- if (g_dataset_get_data (context, "e-table") == NULL) {
- g_object_ref (et);
- g_dataset_set_data_full (context, "e-table", et, context_destroyed);
- }
-}
-
-static void
-et_drag_leave(GtkWidget *widget,
- GdkDragContext *context,
- guint time,
- ETable *et)
-{
- g_signal_emit (G_OBJECT (et), et_signals [TABLE_DRAG_LEAVE], 0,
- et->drop_row, et->drop_col, context, time);
- et->drop_row = -1;
- et->drop_col = -1;
-
- scroll_off (et);
-}
-
-static gboolean
-et_drag_motion(GtkWidget *widget,
- GdkDragContext *context,
- gint x,
- gint y,
- guint time,
- ETable *et)
-{
- gboolean ret_val;
- guint direction = 0;
-
- et->last_drop_x = x;
- et->last_drop_y = y;
- et->last_drop_time = time;
- et->last_drop_context = context;
- context_connect (et, context);
-
- ret_val = do_drag_motion (et,
- context,
- x,
- y,
- time);
-
-
- if (y < 20)
- direction |= ET_SCROLL_UP;
- if (y > widget->allocation.height - 20)
- direction |= ET_SCROLL_DOWN;
- if (x < 20)
- direction |= ET_SCROLL_LEFT;
- if (x > widget->allocation.width - 20)
- direction |= ET_SCROLL_RIGHT;
-
- if (direction != 0)
- scroll_on (et, direction);
- else
- scroll_off (et);
-
- return ret_val;
-}
-
-static gboolean
-et_drag_drop(GtkWidget *widget,
- GdkDragContext *context,
- gint x,
- gint y,
- guint time,
- ETable *et)
-{
- gboolean ret_val;
- int row, col;
-
- e_table_get_cell_at (et, x, y, &row, &col);
-
- if (row != et->drop_row && col != et->drop_row) {
- g_signal_emit (G_OBJECT (et), et_signals [TABLE_DRAG_LEAVE], 0,
- et->drop_row, et->drop_col, context, time);
- g_signal_emit (G_OBJECT (et), et_signals [TABLE_DRAG_MOTION], 0,
- row, col, context, x, y, time, &ret_val);
- }
- et->drop_row = row;
- et->drop_col = col;
- g_signal_emit (G_OBJECT (et), et_signals [TABLE_DRAG_DROP], 0,
- et->drop_row, et->drop_col, context, x, y, time, &ret_val);
- et->drop_row = -1;
- et->drop_col = -1;
-
- scroll_off (et);
-
- return ret_val;
-}
-
-static void
-et_drag_data_received(GtkWidget *widget,
- GdkDragContext *context,
- gint x,
- gint y,
- GtkSelectionData *selection_data,
- guint info,
- guint time,
- ETable *et)
-{
- int row, col;
-
- e_table_get_cell_at (et, x, y, &row, &col);
-
- g_signal_emit (G_OBJECT (et), et_signals [TABLE_DRAG_DATA_RECEIVED], 0,
- row, col, context, x, y, selection_data, info, time);
-}
-
-static void
-e_table_class_init (ETableClass *class)
-{
- GObjectClass *object_class;
- GtkWidgetClass *widget_class;
- GtkContainerClass *container_class;
-
- object_class = (GObjectClass *) class;
- widget_class = (GtkWidgetClass *) class;
- container_class = (GtkContainerClass *) class;
-
- parent_class = g_type_class_peek_parent (class);
-
- object_class->dispose = et_dispose;
- object_class->finalize = et_finalize;
- object_class->set_property = et_set_property;
- object_class->get_property = et_get_property;
-
- widget_class->grab_focus = et_grab_focus;
- widget_class->unrealize = et_unrealize;
- widget_class->size_request = et_size_request;
-
- widget_class->focus = et_focus;
-
- class->cursor_change = NULL;
- class->cursor_activated = NULL;
- class->selection_change = NULL;
- class->double_click = NULL;
- class->right_click = NULL;
- class->click = NULL;
- class->key_press = NULL;
- class->start_drag = et_real_start_drag;
- class->state_change = NULL;
- class->white_space_event = NULL;
-
- class->table_drag_begin = NULL;
- class->table_drag_end = NULL;
- class->table_drag_data_get = NULL;
- class->table_drag_data_delete = NULL;
-
- class->table_drag_leave = NULL;
- class->table_drag_motion = NULL;
- class->table_drag_drop = NULL;
- class->table_drag_data_received = NULL;
-
- et_signals [CURSOR_CHANGE] =
- g_signal_new ("cursor_change",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableClass, cursor_change),
- NULL, NULL,
- e_marshal_NONE__INT,
- G_TYPE_NONE, 1, G_TYPE_INT);
-
- et_signals [CURSOR_ACTIVATED] =
- g_signal_new ("cursor_activated",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableClass, cursor_activated),
- NULL, NULL,
- e_marshal_NONE__INT,
- G_TYPE_NONE, 1, G_TYPE_INT);
-
- et_signals [SELECTION_CHANGE] =
- g_signal_new ("selection_change",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableClass, selection_change),
- NULL, NULL,
- e_marshal_NONE__NONE,
- G_TYPE_NONE, 0);
-
- et_signals [DOUBLE_CLICK] =
- g_signal_new ("double_click",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableClass, double_click),
- NULL, NULL,
- e_marshal_NONE__INT_INT_BOXED,
- G_TYPE_NONE, 3, G_TYPE_INT,
- G_TYPE_INT, GDK_TYPE_EVENT);
-
- et_signals [RIGHT_CLICK] =
- g_signal_new ("right_click",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableClass, right_click),
- NULL, NULL,
- e_marshal_INT__INT_INT_BOXED,
- G_TYPE_INT, 3, G_TYPE_INT,
- G_TYPE_INT, GDK_TYPE_EVENT);
-
- et_signals [CLICK] =
- g_signal_new ("click",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableClass, click),
- NULL, NULL,
- e_marshal_INT__INT_INT_BOXED,
- G_TYPE_INT, 3, G_TYPE_INT,
- G_TYPE_INT, GDK_TYPE_EVENT);
-
- et_signals [KEY_PRESS] =
- g_signal_new ("key_press",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableClass, key_press),
- NULL, NULL,
- e_marshal_INT__INT_INT_BOXED,
- G_TYPE_INT, 3, G_TYPE_INT,
- G_TYPE_INT, GDK_TYPE_EVENT);
-
- et_signals [START_DRAG] =
- g_signal_new ("start_drag",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableClass, start_drag),
- NULL, NULL,
- e_marshal_INT__INT_INT_BOXED,
- G_TYPE_INT, 3, G_TYPE_INT,
- G_TYPE_INT, GDK_TYPE_EVENT);
-
- et_signals [STATE_CHANGE] =
- g_signal_new ("state_change",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableClass, state_change),
- NULL, NULL,
- e_marshal_NONE__NONE,
- G_TYPE_NONE, 0);
-
- et_signals [WHITE_SPACE_EVENT] =
- g_signal_new ("white_space_event",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableClass, white_space_event),
- NULL, NULL,
- e_marshal_INT__BOXED,
- G_TYPE_INT, 1, GDK_TYPE_EVENT);
-
- et_signals[TABLE_DRAG_BEGIN] =
- g_signal_new ("table_drag_begin",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableClass, table_drag_begin),
- NULL, NULL,
- e_marshal_NONE__INT_INT_OBJECT,
- G_TYPE_NONE, 3,
- G_TYPE_INT,
- G_TYPE_INT,
- GDK_TYPE_DRAG_CONTEXT);
- et_signals[TABLE_DRAG_END] =
- g_signal_new ("table_drag_end",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableClass, table_drag_end),
- NULL, NULL,
- e_marshal_NONE__INT_INT_OBJECT,
- G_TYPE_NONE, 3,
- G_TYPE_INT,
- G_TYPE_INT,
- GDK_TYPE_DRAG_CONTEXT);
- et_signals[TABLE_DRAG_DATA_GET] =
- g_signal_new ("table_drag_data_get",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableClass, table_drag_data_get),
- NULL, NULL,
- e_marshal_NONE__INT_INT_OBJECT_BOXED_UINT_UINT,
- G_TYPE_NONE, 6,
- G_TYPE_INT,
- G_TYPE_INT,
- GDK_TYPE_DRAG_CONTEXT,
- GTK_TYPE_SELECTION_DATA | G_SIGNAL_TYPE_STATIC_SCOPE,
- G_TYPE_UINT,
- G_TYPE_UINT);
- et_signals[TABLE_DRAG_DATA_DELETE] =
- g_signal_new ("table_drag_data_delete",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableClass, table_drag_data_delete),
- NULL, NULL,
- e_marshal_NONE__INT_INT_OBJECT,
- G_TYPE_NONE, 3,
- G_TYPE_INT,
- G_TYPE_INT,
- GDK_TYPE_DRAG_CONTEXT);
-
- et_signals[TABLE_DRAG_LEAVE] =
- g_signal_new ("table_drag_leave",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableClass, table_drag_leave),
- NULL, NULL,
- e_marshal_NONE__INT_INT_OBJECT_UINT,
- G_TYPE_NONE, 4,
- G_TYPE_INT,
- G_TYPE_INT,
- GDK_TYPE_DRAG_CONTEXT,
- G_TYPE_UINT);
- et_signals[TABLE_DRAG_MOTION] =
- g_signal_new ("table_drag_motion",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableClass, table_drag_motion),
- NULL, NULL,
- e_marshal_BOOLEAN__INT_INT_OBJECT_INT_INT_UINT,
- G_TYPE_BOOLEAN, 6,
- G_TYPE_INT,
- G_TYPE_INT,
- GDK_TYPE_DRAG_CONTEXT,
- G_TYPE_INT,
- G_TYPE_INT,
- G_TYPE_UINT);
- et_signals[TABLE_DRAG_DROP] =
- g_signal_new ("table_drag_drop",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableClass, table_drag_drop),
- NULL, NULL,
- e_marshal_BOOLEAN__INT_INT_OBJECT_INT_INT_UINT,
- G_TYPE_BOOLEAN, 6,
- G_TYPE_INT,
- G_TYPE_INT,
- GDK_TYPE_DRAG_CONTEXT,
- G_TYPE_INT,
- G_TYPE_INT,
- G_TYPE_UINT);
- et_signals[TABLE_DRAG_DATA_RECEIVED] =
- g_signal_new ("table_drag_data_received",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableClass, table_drag_data_received),
- NULL, NULL,
- e_marshal_NONE__INT_INT_OBJECT_INT_INT_BOXED_UINT_UINT,
- G_TYPE_NONE, 8,
- G_TYPE_INT,
- G_TYPE_INT,
- GDK_TYPE_DRAG_CONTEXT,
- G_TYPE_INT,
- G_TYPE_INT,
- GTK_TYPE_SELECTION_DATA | G_SIGNAL_TYPE_STATIC_SCOPE,
- G_TYPE_UINT,
- G_TYPE_UINT);
-
- class->set_scroll_adjustments = set_scroll_adjustments;
-
- widget_class->set_scroll_adjustments_signal =
- g_signal_new ("set_scroll_adjustments",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETableClass, set_scroll_adjustments),
- NULL, NULL,
- e_marshal_NONE__OBJECT_OBJECT,
- G_TYPE_NONE, 2, GTK_TYPE_ADJUSTMENT, GTK_TYPE_ADJUSTMENT);
-
- g_object_class_install_property (object_class, PROP_LENGTH_THRESHOLD,
- g_param_spec_int ("length_threshold",
- _("Length Threshold"),
- /*_( */"XXX blurb" /*)*/,
- 0, G_MAXINT, 0,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_UNIFORM_ROW_HEIGHT,
- g_param_spec_boolean ("uniform_row_height",
- _("Uniform row height"),
- /*_( */"XXX blurb" /*)*/,
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_ALWAYS_SEARCH,
- g_param_spec_boolean ("always_search",
- _("Always Search"),
- /*_( */"XXX blurb" /*)*/,
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_USE_CLICK_TO_ADD,
- g_param_spec_boolean ("use_click_to_add",
- _("Use click to add"),
- /*_( */"XXX blurb" /*)*/,
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_MODEL,
- g_param_spec_object ("model",
- _("Model"),
- /*_( */"XXX blurb" /*)*/,
- E_TABLE_MODEL_TYPE,
- G_PARAM_READABLE));
-
- gal_a11y_e_table_init ();
-}
-
-E_MAKE_TYPE(e_table, "ETable", ETable, e_table_class_init, e_table_init, PARENT_TYPE)
diff --git a/widgets/table/e-table.dia b/widgets/table/e-table.dia
deleted file mode 100644
index 5aeb01228c..0000000000
--- a/widgets/table/e-table.dia
+++ /dev/null
Binary files differ
diff --git a/widgets/table/e-table.h b/widgets/table/e-table.h
deleted file mode 100644
index f025318905..0000000000
--- a/widgets/table/e-table.h
+++ /dev/null
@@ -1,358 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table.h - A graphical view of a Table.
- * Copyright 1999, 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Miguel de Icaza <miguel@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TABLE_H_
-#define _E_TABLE_H_
-
-#include <libgnomecanvas/gnome-canvas.h>
-#include <gtk/gtkdnd.h>
-#include <gtk/gtktable.h>
-#include <libxml/tree.h>
-#include <gal/e-table/e-table-model.h>
-#include <gal/e-table/e-table-header.h>
-#include <gal/e-table/e-table-group.h>
-#include <gal/e-table/e-table-sort-info.h>
-#include <gal/e-table/e-table-item.h>
-#include <gal/e-table/e-table-selection-model.h>
-#include <gal/e-table/e-table-extras.h>
-#include <gal/e-table/e-table-specification.h>
-#include <gal/widgets/e-printable.h>
-#include <gal/e-table/e-table-state.h>
-#include <gal/e-table/e-table-sorter.h>
-#include <gal/e-table/e-table-search.h>
-
-G_BEGIN_DECLS
-
-#define E_TABLE_TYPE (e_table_get_type ())
-#define E_TABLE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_TYPE, ETable))
-#define E_TABLE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_TYPE, ETableClass))
-#define E_IS_TABLE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_TYPE))
-#define E_IS_TABLE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_TYPE))
-
-typedef struct _ETableDragSourceSite ETableDragSourceSite;
-
-typedef enum {
- E_TABLE_CURSOR_LOC_NONE = 0,
- E_TABLE_CURSOR_LOC_ETCTA = 1 << 0,
- E_TABLE_CURSOR_LOC_TABLE = 1 << 1
-} ETableCursorLoc;
-
-typedef struct {
- GtkTable parent;
-
- ETableModel *model;
-
- ETableHeader *full_header, *header;
-
- GnomeCanvasItem *canvas_vbox;
- ETableGroup *group;
-
- ETableSortInfo *sort_info;
- ETableSorter *sorter;
-
- ETableSelectionModel *selection;
- ETableCursorLoc cursor_loc;
- ETableSpecification *spec;
-
- ETableSearch *search;
-
- ETableCol *current_search_col;
-
- guint search_search_id;
- guint search_accept_id;
-
- int table_model_change_id;
- int table_row_change_id;
- int table_cell_change_id;
- int table_rows_inserted_id;
- int table_rows_deleted_id;
-
- int group_info_change_id;
- int sort_info_change_id;
-
- int structure_change_id;
- int expansion_change_id;
- int dimension_change_id;
-
- int reflow_idle_id;
- int scroll_idle_id;
-
- GnomeCanvas *header_canvas, *table_canvas;
-
- GnomeCanvasItem *header_item, *root;
-
- GnomeCanvasItem *white_item;
-
- gint length_threshold;
-
- gint rebuild_idle_id;
- guint need_rebuild:1;
-
- /*
- * Configuration settings
- */
- guint alternating_row_colors : 1;
- guint horizontal_draw_grid : 1;
- guint vertical_draw_grid : 1;
- guint draw_focus : 1;
- guint row_selection_active : 1;
-
- guint horizontal_scrolling : 1;
- guint horizontal_resize : 1;
-
- guint is_grouped : 1;
-
- guint scroll_direction : 4;
-
- guint do_drag : 1;
-
- guint uniform_row_height : 1;
- guint allow_grouping : 1;
-
- guint always_search : 1;
- guint search_col_set : 1;
-
- char *click_to_add_message;
- GnomeCanvasItem *click_to_add;
- gboolean use_click_to_add;
- gboolean use_click_to_add_end;
-
- ECursorMode cursor_mode;
-
- int drop_row;
- int drop_col;
- GnomeCanvasItem *drop_highlight;
- int last_drop_x;
- int last_drop_y;
- int last_drop_time;
- GdkDragContext *last_drop_context;
-
- int drag_row;
- int drag_col;
- ETableDragSourceSite *site;
-
- int header_width;
-
- char *domain;
-} ETable;
-
-typedef struct {
- GtkTableClass parent_class;
-
- void (*cursor_change) (ETable *et, int row);
- void (*cursor_activated) (ETable *et, int row);
- void (*selection_change) (ETable *et);
- void (*double_click) (ETable *et, int row, int col, GdkEvent *event);
- gint (*right_click) (ETable *et, int row, int col, GdkEvent *event);
- gint (*click) (ETable *et, int row, int col, GdkEvent *event);
- gint (*key_press) (ETable *et, int row, int col, GdkEvent *event);
- gint (*start_drag) (ETable *et, int row, int col, GdkEvent *event);
- void (*state_change) (ETable *et);
- gint (*white_space_event) (ETable *et, GdkEvent *event);
-
- void (*set_scroll_adjustments) (ETable *table,
- GtkAdjustment *hadjustment,
- GtkAdjustment *vadjustment);
-
- /* Source side drag signals */
- void (* table_drag_begin) (ETable *table,
- int row,
- int col,
- GdkDragContext *context);
- void (* table_drag_end) (ETable *table,
- int row,
- int col,
- GdkDragContext *context);
- void (* table_drag_data_get) (ETable *table,
- int row,
- int col,
- GdkDragContext *context,
- GtkSelectionData *selection_data,
- guint info,
- guint time);
- void (* table_drag_data_delete) (ETable *table,
- int row,
- int col,
- GdkDragContext *context);
-
- /* Target side drag signals */
- void (* table_drag_leave) (ETable *table,
- int row,
- int col,
- GdkDragContext *context,
- guint time);
- gboolean (* table_drag_motion) (ETable *table,
- int row,
- int col,
- GdkDragContext *context,
- gint x,
- gint y,
- guint time);
- gboolean (* table_drag_drop) (ETable *table,
- int row,
- int col,
- GdkDragContext *context,
- gint x,
- gint y,
- guint time);
- void (* table_drag_data_received) (ETable *table,
- int row,
- int col,
- GdkDragContext *context,
- gint x,
- gint y,
- GtkSelectionData *selection_data,
- guint info,
- guint time);
-} ETableClass;
-GType e_table_get_type (void);
-ETable *e_table_construct (ETable *e_table,
- ETableModel *etm,
- ETableExtras *ete,
- const char *spec,
- const char *state);
-GtkWidget *e_table_new (ETableModel *etm,
- ETableExtras *ete,
- const char *spec,
- const char *state);
-
-/* Create an ETable using files. */
-ETable *e_table_construct_from_spec_file (ETable *e_table,
- ETableModel *etm,
- ETableExtras *ete,
- const char *spec_fn,
- const char *state_fn);
-GtkWidget *e_table_new_from_spec_file (ETableModel *etm,
- ETableExtras *ete,
- const char *spec_fn,
- const char *state_fn);
-
-/* To save the state */
-gchar *e_table_get_state (ETable *e_table);
-void e_table_save_state (ETable *e_table,
- const gchar *filename);
-ETableState *e_table_get_state_object (ETable *e_table);
-
-/* note that it is more efficient to provide the state at creation time */
-void e_table_set_state (ETable *e_table,
- const gchar *state);
-void e_table_set_state_object (ETable *e_table,
- ETableState *state);
-void e_table_load_state (ETable *e_table,
- const gchar *filename);
-void e_table_set_cursor_row (ETable *e_table,
- int row);
-
-/* -1 means we don't have the cursor. This is in model rows. */
-int e_table_get_cursor_row (ETable *e_table);
-void e_table_selected_row_foreach (ETable *e_table,
- EForeachFunc callback,
- gpointer closure);
-gint e_table_selected_count (ETable *e_table);
-EPrintable *e_table_get_printable (ETable *e_table);
-gint e_table_get_next_row (ETable *e_table,
- gint model_row);
-gint e_table_get_prev_row (ETable *e_table,
- gint model_row);
-gint e_table_model_to_view_row (ETable *e_table,
- gint model_row);
-gint e_table_view_to_model_row (ETable *e_table,
- gint view_row);
-void e_table_get_cell_at (ETable *table,
- int x,
- int y,
- int *row_return,
- int *col_return);
-void e_table_get_cell_geometry (ETable *table,
- int row,
- int col,
- int *x_return,
- int *y_return,
- int *width_return,
- int *height_return);
-
-/* Useful accessor functions. */
-ESelectionModel *e_table_get_selection_model (ETable *table);
-
-/* Drag & drop stuff. */
-/* Target */
-void e_table_drag_get_data (ETable *table,
- int row,
- int col,
- GdkDragContext *context,
- GdkAtom target,
- guint32 time);
-void e_table_drag_highlight (ETable *table,
- int row,
- int col); /* col == -1 to highlight entire row. */
-void e_table_drag_unhighlight (ETable *table);
-void e_table_drag_dest_set (ETable *table,
- GtkDestDefaults flags,
- const GtkTargetEntry *targets,
- gint n_targets,
- GdkDragAction actions);
-void e_table_drag_dest_set_proxy (ETable *table,
- GdkWindow *proxy_window,
- GdkDragProtocol protocol,
- gboolean use_coordinates);
-
-/* There probably should be functions for setting the targets
- * as a GtkTargetList
- */
-void e_table_drag_dest_unset (GtkWidget *widget);
-
-/* Source side */
-void e_table_drag_source_set (ETable *table,
- GdkModifierType start_button_mask,
- const GtkTargetEntry *targets,
- gint n_targets,
- GdkDragAction actions);
-void e_table_drag_source_unset (ETable *table);
-
-/* There probably should be functions for setting the targets
- * as a GtkTargetList
- */
-GdkDragContext *e_table_drag_begin (ETable *table,
- int row,
- int col,
- GtkTargetList *targets,
- GdkDragAction actions,
- gint button,
- GdkEvent *event);
-
-/* selection stuff */
-void e_table_select_all (ETable *table);
-void e_table_invert_selection (ETable *table);
-
-/* This function is only needed in single_selection_mode. */
-void e_table_right_click_up (ETable *table);
-
-void e_table_commit_click_to_add (ETable *table);
-
-void e_table_commit_click_to_add (ETable *table);
-
-G_END_DECLS
-
-#endif /* _E_TABLE_H_ */
-
diff --git a/widgets/table/e-tree-memory-callbacks.c b/widgets/table/e-tree-memory-callbacks.c
deleted file mode 100644
index b6fe3fc375..0000000000
--- a/widgets/table/e-tree-memory-callbacks.c
+++ /dev/null
@@ -1,275 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-tree-memory-callbacks.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <gtk/gtksignal.h>
-#include "gal/util/e-util.h"
-#include "e-tree-memory-callbacks.h"
-
-#define PARENT_TYPE E_TREE_MEMORY_TYPE
-
-static GdkPixbuf *
-etmc_icon_at (ETreeModel *etm, ETreePath node)
-{
- ETreeMemoryCallbacks *etmc = E_TREE_MEMORY_CALLBACKS(etm);
-
- return etmc->icon_at (etm, node, etmc->model_data);
-}
-
-static int
-etmc_column_count (ETreeModel *etm)
-{
- ETreeMemoryCallbacks *etmc = E_TREE_MEMORY_CALLBACKS(etm);
-
- if (etmc->column_count)
- return etmc->column_count (etm, etmc->model_data);
- else
- return 0;
-}
-
-
-static gboolean
-etmc_has_save_id (ETreeModel *etm)
-{
- ETreeMemoryCallbacks *etmc = E_TREE_MEMORY_CALLBACKS(etm);
-
- if (etmc->has_save_id)
- return etmc->has_save_id (etm, etmc->model_data);
- else
- return FALSE;
-}
-
-static char *
-etmc_get_save_id (ETreeModel *etm, ETreePath node)
-{
- ETreeMemoryCallbacks *etmc = E_TREE_MEMORY_CALLBACKS(etm);
-
- if (etmc->get_save_id)
- return etmc->get_save_id (etm, node, etmc->model_data);
- else
- return NULL;
-}
-
-static gboolean
-etmc_has_get_node_by_id (ETreeModel *etm)
-{
- ETreeMemoryCallbacks *etmc = E_TREE_MEMORY_CALLBACKS(etm);
-
- if (etmc->has_get_node_by_id)
- return etmc->has_get_node_by_id (etm, etmc->model_data);
- else
- return FALSE;
-}
-
-static ETreePath
-etmc_get_node_by_id (ETreeModel *etm, const char *save_id)
-{
- ETreeMemoryCallbacks *etmc = E_TREE_MEMORY_CALLBACKS(etm);
-
- if (etmc->get_node_by_id)
- return etmc->get_node_by_id (etm, save_id, etmc->model_data);
- else
- return NULL;
-}
-
-
-static void *
-etmc_value_at (ETreeModel *etm, ETreePath node, int col)
-{
- ETreeMemoryCallbacks *etmc = E_TREE_MEMORY_CALLBACKS(etm);
-
- return etmc->value_at (etm, node, col, etmc->model_data);
-}
-
-static void
-etmc_set_value_at (ETreeModel *etm, ETreePath node, int col, const void *val)
-{
- ETreeMemoryCallbacks *etmc = E_TREE_MEMORY_CALLBACKS(etm);
-
- etmc->set_value_at (etm, node, col, val, etmc->model_data);
-}
-
-static gboolean
-etmc_is_editable (ETreeModel *etm, ETreePath node, int col)
-{
- ETreeMemoryCallbacks *etmc = E_TREE_MEMORY_CALLBACKS(etm);
-
- return etmc->is_editable (etm, node, col, etmc->model_data);
-}
-
-
-/* The default for etmc_duplicate_value is to return the raw value. */
-static void *
-etmc_duplicate_value (ETreeModel *etm, int col, const void *value)
-{
- ETreeMemoryCallbacks *etmc = E_TREE_MEMORY_CALLBACKS(etm);
-
- if (etmc->duplicate_value)
- return etmc->duplicate_value (etm, col, value, etmc->model_data);
- else
- return (void *)value;
-}
-
-static void
-etmc_free_value (ETreeModel *etm, int col, void *value)
-{
- ETreeMemoryCallbacks *etmc = E_TREE_MEMORY_CALLBACKS(etm);
-
- if (etmc->free_value)
- etmc->free_value (etm, col, value, etmc->model_data);
-}
-
-static void *
-etmc_initialize_value (ETreeModel *etm, int col)
-{
- ETreeMemoryCallbacks *etmc = E_TREE_MEMORY_CALLBACKS(etm);
-
- if (etmc->initialize_value)
- return etmc->initialize_value (etm, col, etmc->model_data);
- else
- return NULL;
-}
-
-static gboolean
-etmc_value_is_empty (ETreeModel *etm, int col, const void *value)
-{
- ETreeMemoryCallbacks *etmc = E_TREE_MEMORY_CALLBACKS(etm);
-
- if (etmc->value_is_empty)
- return etmc->value_is_empty (etm, col, value, etmc->model_data);
- else
- return FALSE;
-}
-
-static char *
-etmc_value_to_string (ETreeModel *etm, int col, const void *value)
-{
- ETreeMemoryCallbacks *etmc = E_TREE_MEMORY_CALLBACKS(etm);
-
- if (etmc->value_to_string)
- return etmc->value_to_string (etm, col, value, etmc->model_data);
- else
- return g_strdup ("");
-}
-
-static void
-e_tree_memory_callbacks_class_init (GtkObjectClass *object_class)
-{
- ETreeModelClass *model_class = (ETreeModelClass *) object_class;
-
- model_class->icon_at = etmc_icon_at;
-
- model_class->column_count = etmc_column_count;
-
- model_class->has_save_id = etmc_has_save_id;
- model_class->get_save_id = etmc_get_save_id;
-
- model_class->has_get_node_by_id = etmc_has_get_node_by_id;
- model_class->get_node_by_id = etmc_get_node_by_id;
-
- model_class->value_at = etmc_value_at;
- model_class->set_value_at = etmc_set_value_at;
- model_class->is_editable = etmc_is_editable;
-
- model_class->duplicate_value = etmc_duplicate_value;
- model_class->free_value = etmc_free_value;
- model_class->initialize_value = etmc_initialize_value;
- model_class->value_is_empty = etmc_value_is_empty;
- model_class->value_to_string = etmc_value_to_string;
-}
-
-E_MAKE_TYPE(e_tree_memory_callbacks, "ETreeMemoryCallbacks", ETreeMemoryCallbacks, e_tree_memory_callbacks_class_init, NULL, PARENT_TYPE)
-
-/**
- * e_tree_memory_callbacks_new:
- *
- * This initializes a new ETreeMemoryCallbacksModel object.
- * ETreeMemoryCallbacksModel is an implementaiton of the somewhat
- * abstract class ETreeMemory. The ETreeMemoryCallbacksModel is
- * designed to allow people to easily create ETreeMemorys without
- * having to create a new GtkType derived from ETreeMemory every time
- * they need one.
- *
- * Instead, ETreeMemoryCallbacksModel uses a setup based in callback functions, every
- * callback function signature mimics the signature of each ETreeModel method
- * and passes the extra @data pointer to each one of the method to provide them
- * with any context they might want to use.
- *
- * ETreeMemoryCallbacks is to ETreeMemory as ETableSimple is to ETableModel.
- *
- * Return value: An ETreeMemoryCallbacks object (which is also an
- * ETreeMemory and thus an ETreeModel object).
- *
- */
-ETreeModel *
-e_tree_memory_callbacks_new (ETreeMemoryCallbacksIconAtFn icon_at,
-
- ETreeMemoryCallbacksColumnCountFn column_count,
-
- ETreeMemoryCallbacksHasSaveIdFn has_save_id,
- ETreeMemoryCallbacksGetSaveIdFn get_save_id,
-
- ETreeMemoryCallbacksHasGetNodeByIdFn has_get_node_by_id,
- ETreeMemoryCallbacksGetNodeByIdFn get_node_by_id,
-
- ETreeMemoryCallbacksValueAtFn value_at,
- ETreeMemoryCallbacksSetValueAtFn set_value_at,
- ETreeMemoryCallbacksIsEditableFn is_editable,
-
- ETreeMemoryCallbacksDuplicateValueFn duplicate_value,
- ETreeMemoryCallbacksFreeValueFn free_value,
- ETreeMemoryCallbacksInitializeValueFn initialize_value,
- ETreeMemoryCallbacksValueIsEmptyFn value_is_empty,
- ETreeMemoryCallbacksValueToStringFn value_to_string,
-
- gpointer model_data)
-{
- ETreeMemoryCallbacks *etmc;
-
- etmc = g_object_new (E_TREE_MEMORY_CALLBACKS_TYPE, NULL);
-
- etmc->icon_at = icon_at;
-
- etmc->column_count = column_count;
-
- etmc->has_save_id = has_save_id;
- etmc->get_save_id = get_save_id;
-
- etmc->has_get_node_by_id = has_get_node_by_id;
- etmc->get_node_by_id = get_node_by_id;
-
- etmc->value_at = value_at;
- etmc->set_value_at = set_value_at;
- etmc->is_editable = is_editable;
-
- etmc->duplicate_value = duplicate_value;
- etmc->free_value = free_value;
- etmc->initialize_value = initialize_value;
- etmc->value_is_empty = value_is_empty;
- etmc->value_to_string = value_to_string;
-
- etmc->model_data = model_data;
-
- return (ETreeModel*)etmc;
-}
-
diff --git a/widgets/table/e-tree-memory-callbacks.h b/widgets/table/e-tree-memory-callbacks.h
deleted file mode 100644
index 0f75fa98be..0000000000
--- a/widgets/table/e-tree-memory-callbacks.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-tree-memory-callbacks.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-
-#ifndef _E_TREE_MEMORY_CALLBACKS_H_
-#define _E_TREE_MEMORY_CALLBACKS_H_
-
-#include <gal/e-table/e-tree-memory.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define E_TREE_MEMORY_CALLBACKS_TYPE (e_tree_memory_callbacks_get_type ())
-#define E_TREE_MEMORY_CALLBACKS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TREE_MEMORY_CALLBACKS_TYPE, ETreeMemoryCallbacks))
-#define E_TREE_MEMORY_CALLBACKS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TREE_MEMORY_CALLBACKS_TYPE, ETreeMemoryCallbacksClass))
-#define E_IS_TREE_MEMORY_CALLBACKS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TREE_MEMORY_CALLBACKS_TYPE))
-#define E_IS_TREE_MEMORY_CALLBACKS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TREE_MEMORY_CALLBACKS_TYPE))
-
-
-typedef GdkPixbuf* (*ETreeMemoryCallbacksIconAtFn) (ETreeModel *etree, ETreePath path, void *model_data);
-
-typedef gint (*ETreeMemoryCallbacksColumnCountFn) (ETreeModel *etree, void *model_data);
-
-typedef gboolean (*ETreeMemoryCallbacksHasSaveIdFn) (ETreeModel *etree, void *model_data);
-typedef gchar *(*ETreeMemoryCallbacksGetSaveIdFn) (ETreeModel *etree, ETreePath path, void *model_data);
-
-typedef gboolean (*ETreeMemoryCallbacksHasGetNodeByIdFn) (ETreeModel *etree, void *model_data);
-typedef ETreePath (*ETreeMemoryCallbacksGetNodeByIdFn) (ETreeModel *etree, const char *save_id, void *model_data);
-
-typedef void* (*ETreeMemoryCallbacksValueAtFn) (ETreeModel *etree, ETreePath path, int col, void *model_data);
-typedef void (*ETreeMemoryCallbacksSetValueAtFn) (ETreeModel *etree, ETreePath path, int col, const void *val, void *model_data);
-typedef gboolean (*ETreeMemoryCallbacksIsEditableFn) (ETreeModel *etree, ETreePath path, int col, void *model_data);
-
-typedef void *(*ETreeMemoryCallbacksDuplicateValueFn) (ETreeModel *etm, int col, const void *val, void *data);
-typedef void (*ETreeMemoryCallbacksFreeValueFn) (ETreeModel *etm, int col, void *val, void *data);
-typedef void *(*ETreeMemoryCallbacksInitializeValueFn) (ETreeModel *etm, int col, void *data);
-typedef gboolean (*ETreeMemoryCallbacksValueIsEmptyFn) (ETreeModel *etm, int col, const void *val, void *data);
-typedef char *(*ETreeMemoryCallbacksValueToStringFn) (ETreeModel *etm, int col, const void *val, void *data);
-
-typedef struct {
- ETreeMemory parent;
-
- ETreeMemoryCallbacksIconAtFn icon_at;
-
- ETreeMemoryCallbacksColumnCountFn column_count;
-
- ETreeMemoryCallbacksHasSaveIdFn has_save_id;
- ETreeMemoryCallbacksGetSaveIdFn get_save_id;
-
- ETreeMemoryCallbacksHasGetNodeByIdFn has_get_node_by_id;
- ETreeMemoryCallbacksGetNodeByIdFn get_node_by_id;
-
- ETreeMemoryCallbacksValueAtFn value_at;
- ETreeMemoryCallbacksSetValueAtFn set_value_at;
- ETreeMemoryCallbacksIsEditableFn is_editable;
-
- ETreeMemoryCallbacksDuplicateValueFn duplicate_value;
- ETreeMemoryCallbacksFreeValueFn free_value;
- ETreeMemoryCallbacksInitializeValueFn initialize_value;
- ETreeMemoryCallbacksValueIsEmptyFn value_is_empty;
- ETreeMemoryCallbacksValueToStringFn value_to_string;
-
- gpointer model_data;
-} ETreeMemoryCallbacks;
-
-typedef struct {
- ETreeMemoryClass parent_class;
-} ETreeMemoryCallbacksClass;
-
-GType e_tree_memory_callbacks_get_type (void);
-
-ETreeModel *e_tree_memory_callbacks_new (ETreeMemoryCallbacksIconAtFn icon_at,
-
- ETreeMemoryCallbacksColumnCountFn column_count,
-
- ETreeMemoryCallbacksHasSaveIdFn has_save_id,
- ETreeMemoryCallbacksGetSaveIdFn get_save_id,
-
- ETreeMemoryCallbacksHasGetNodeByIdFn has_get_node_by_id,
- ETreeMemoryCallbacksGetNodeByIdFn get_node_by_id,
-
- ETreeMemoryCallbacksValueAtFn value_at,
- ETreeMemoryCallbacksSetValueAtFn set_value_at,
- ETreeMemoryCallbacksIsEditableFn is_editable,
-
- ETreeMemoryCallbacksDuplicateValueFn duplicate_value,
- ETreeMemoryCallbacksFreeValueFn free_value,
- ETreeMemoryCallbacksInitializeValueFn initialize_value,
- ETreeMemoryCallbacksValueIsEmptyFn value_is_empty,
- ETreeMemoryCallbacksValueToStringFn value_to_string,
-
- gpointer model_data);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* _E_TREE_MEMORY_CALLBACKS_H_ */
diff --git a/widgets/table/e-tree-memory.c b/widgets/table/e-tree-memory.c
deleted file mode 100644
index 3f178455df..0000000000
--- a/widgets/table/e-tree-memory.c
+++ /dev/null
@@ -1,717 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-tree-memory.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Chris Toshok <toshok@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-
-#include <stdio.h>
-#include <errno.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <stdlib.h>
-
-#include <libxml/parser.h>
-#include <libxml/xmlmemory.h>
-
-#include "gal/util/e-util.h"
-#include "gal/util/e-xml-utils.h"
-#include "e-tree-memory.h"
-
-#define TREEPATH_CHUNK_AREA_SIZE (30 * sizeof (ETreeMemoryPath))
-
-static ETreeModelClass *parent_class;
-static GMemChunk *node_chunk;
-
-enum {
- FILL_IN_CHILDREN,
- LAST_SIGNAL
-};
-
-static guint signals [LAST_SIGNAL] = { 0, };
-
-typedef struct ETreeMemoryPath ETreeMemoryPath;
-
-struct ETreeMemoryPath {
- gpointer node_data;
-
- guint children_computed : 1;
-
- /* parent/child/sibling pointers */
- ETreeMemoryPath *parent;
- ETreeMemoryPath *next_sibling;
- ETreeMemoryPath *prev_sibling;
- ETreeMemoryPath *first_child;
- ETreeMemoryPath *last_child;
-
- gint num_children;
-};
-
-struct ETreeMemoryPriv {
- ETreeMemoryPath *root;
- gboolean expanded_default; /* whether nodes are created expanded or collapsed by default */
- gint frozen;
- GFunc destroy_func;
- gpointer destroy_user_data;
-};
-
-
-/* ETreeMemoryPath functions */
-
-static inline void
-check_children (ETreeMemory *memory, ETreePath node)
-{
- ETreeMemoryPath *path = node;
- if (!path->children_computed) {
- g_signal_emit (G_OBJECT (memory), signals[FILL_IN_CHILDREN], 0, node);
- path->children_computed = TRUE;
- }
-}
-
-static int
-e_tree_memory_path_depth (ETreeMemoryPath *path)
-{
- int depth = 0;
-
- g_return_val_if_fail(path != NULL, -1);
-
- for ( path = path->parent; path; path = path->parent)
- depth ++;
- return depth;
-}
-
-static void
-e_tree_memory_path_insert (ETreeMemoryPath *parent, int position, ETreeMemoryPath *child)
-{
- g_return_if_fail (position <= parent->num_children && position >= -1);
-
- child->parent = parent;
-
- if (parent->first_child == NULL)
- parent->first_child = child;
-
- if (position == -1 || position == parent->num_children) {
- child->prev_sibling = parent->last_child;
- if (parent->last_child)
- parent->last_child->next_sibling = child;
- parent->last_child = child;
- } else {
- ETreeMemoryPath *c;
- for (c = parent->first_child; c; c = c->next_sibling) {
- if (position == 0) {
- child->next_sibling = c;
- child->prev_sibling = c->prev_sibling;
-
- if (child->next_sibling)
- child->next_sibling->prev_sibling = child;
- if (child->prev_sibling)
- child->prev_sibling->next_sibling = child;
-
- if (parent->first_child == c)
- parent->first_child = child;
- break;
- }
- position --;
- }
- }
-
- parent->num_children++;
-}
-
-static void
-e_tree_path_unlink (ETreeMemoryPath *path)
-{
- ETreeMemoryPath *parent = path->parent;
-
- /* unlink first/last child if applicable */
- if (parent) {
- if (path == parent->first_child)
- parent->first_child = path->next_sibling;
- if (path == parent->last_child)
- parent->last_child = path->prev_sibling;
-
- parent->num_children --;
- }
-
- /* unlink prev/next sibling links */
- if (path->next_sibling)
- path->next_sibling->prev_sibling = path->prev_sibling;
- if (path->prev_sibling)
- path->prev_sibling->next_sibling = path->next_sibling;
-
- path->parent = NULL;
- path->next_sibling = NULL;
- path->prev_sibling = NULL;
-}
-
-
-
-/**
- * e_tree_memory_freeze:
- * @etmm: the ETreeModel to freeze.
- *
- * This function prepares an ETreeModel for a period of much change.
- * All signals regarding changes to the tree are deferred until we
- * thaw the tree.
- *
- **/
-void
-e_tree_memory_freeze(ETreeMemory *etmm)
-{
- ETreeMemoryPriv *priv = etmm->priv;
-
- if (priv->frozen == 0)
- e_tree_model_pre_change(E_TREE_MODEL(etmm));
-
- priv->frozen ++;
-}
-
-/**
- * e_tree_memory_thaw:
- * @etmm: the ETreeMemory to thaw.
- *
- * This function thaws an ETreeMemory. All the defered signals can add
- * up to a lot, we don't know - so we just emit a model_changed
- * signal.
- *
- **/
-void
-e_tree_memory_thaw(ETreeMemory *etmm)
-{
- ETreeMemoryPriv *priv = etmm->priv;
-
- if (priv->frozen > 0)
- priv->frozen --;
- if (priv->frozen == 0) {
- e_tree_model_node_changed(E_TREE_MODEL(etmm), priv->root);
- }
-}
-
-
-/* virtual methods */
-
-static void
-etmm_dispose (GObject *object)
-{
- ETreeMemory *etmm = E_TREE_MEMORY (object);
- ETreeMemoryPriv *priv = etmm->priv;
-
- if (priv) {
- /* XXX lots of stuff to free here */
-
- if (priv->root)
- e_tree_memory_node_remove (etmm, priv->root);
-
- g_free (priv);
- }
- etmm->priv = NULL;
-
- G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-static ETreePath
-etmm_get_root (ETreeModel *etm)
-{
- ETreeMemoryPriv *priv = E_TREE_MEMORY(etm)->priv;
- return priv->root;
-}
-
-static ETreePath
-etmm_get_parent (ETreeModel *etm, ETreePath node)
-{
- ETreeMemoryPath *path = node;
- return path->parent;
-}
-
-static ETreePath
-etmm_get_first_child (ETreeModel *etm, ETreePath node)
-{
- ETreeMemoryPath *path = node;
-
- check_children (E_TREE_MEMORY (etm), node);
- return path->first_child;
-}
-
-static ETreePath
-etmm_get_last_child (ETreeModel *etm, ETreePath node)
-{
- ETreeMemoryPath *path = node;
-
- check_children (E_TREE_MEMORY (etm), node);
- return path->last_child;
-}
-
-static ETreePath
-etmm_get_next (ETreeModel *etm, ETreePath node)
-{
- ETreeMemoryPath *path = node;
- return path->next_sibling;
-}
-
-static ETreePath
-etmm_get_prev (ETreeModel *etm, ETreePath node)
-{
- ETreeMemoryPath *path = node;
- return path->prev_sibling;
-}
-
-static gboolean
-etmm_is_root (ETreeModel *etm, ETreePath node)
-{
- ETreeMemoryPath *path = node;
- return e_tree_memory_path_depth (path) == 0;
-}
-
-static gboolean
-etmm_is_expandable (ETreeModel *etm, ETreePath node)
-{
- ETreeMemoryPath *path = node;
-
- check_children (E_TREE_MEMORY (etm), node);
- return path->first_child != NULL;
-}
-
-static guint
-etmm_get_children (ETreeModel *etm, ETreePath node, ETreePath **nodes)
-{
- ETreeMemoryPath *path = node;
- guint n_children;
-
- check_children (E_TREE_MEMORY (etm), node);
-
- n_children = path->num_children;
-
- if (nodes) {
- ETreeMemoryPath *p;
- int i = 0;
-
- (*nodes) = g_new (ETreePath, n_children);
- for (p = path->first_child; p; p = p->next_sibling) {
- (*nodes)[i++] = p;
- }
- }
-
- return n_children;
-}
-
-static guint
-etmm_depth (ETreeModel *etm, ETreePath path)
-{
- return e_tree_memory_path_depth(path);
-}
-
-static gboolean
-etmm_get_expanded_default (ETreeModel *etm)
-{
- ETreeMemory *etmm = E_TREE_MEMORY (etm);
- ETreeMemoryPriv *priv = etmm->priv;
-
- return priv->expanded_default;
-}
-
-static void
-etmm_clear_children_computed (ETreeMemoryPath *path)
-{
- for (path = path->first_child; path; path = path->next_sibling) {
- path->children_computed = FALSE;
- etmm_clear_children_computed (path);
- }
-}
-
-static void
-etmm_node_request_collapse (ETreeModel *etm, ETreePath node)
-{
- if (node)
- etmm_clear_children_computed (node);
-
- if (parent_class->node_request_collapse) {
- parent_class->node_request_collapse (etm, node);
- }
-}
-
-
-static void
-e_tree_memory_class_init (ETreeMemoryClass *klass)
-{
- ETreeModelClass *tree_class = (ETreeModelClass *) klass;
- GObjectClass *object_class = (GObjectClass *) klass;
-
- parent_class = g_type_class_peek_parent (klass);
-
- node_chunk = g_mem_chunk_create (ETreeMemoryPath, TREEPATH_CHUNK_AREA_SIZE, G_ALLOC_AND_FREE);
-
- signals [FILL_IN_CHILDREN] =
- g_signal_new ("fill_in_children",
- E_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeMemoryClass, fill_in_children),
- (GSignalAccumulator) NULL, NULL,
- g_cclosure_marshal_VOID__POINTER,
- G_TYPE_NONE, 1, G_TYPE_POINTER);
-
- object_class->dispose = etmm_dispose;
-
- tree_class->get_root = etmm_get_root;
- tree_class->get_prev = etmm_get_prev;
- tree_class->get_next = etmm_get_next;
- tree_class->get_first_child = etmm_get_first_child;
- tree_class->get_last_child = etmm_get_last_child;
- tree_class->get_parent = etmm_get_parent;
-
- tree_class->is_root = etmm_is_root;
- tree_class->is_expandable = etmm_is_expandable;
- tree_class->get_children = etmm_get_children;
- tree_class->depth = etmm_depth;
- tree_class->get_expanded_default = etmm_get_expanded_default;
-
- tree_class->node_request_collapse = etmm_node_request_collapse;
-
- klass->fill_in_children = NULL;
-}
-
-static void
-e_tree_memory_init (GObject *object)
-{
- ETreeMemory *etmm = (ETreeMemory *)object;
-
- ETreeMemoryPriv *priv;
-
- priv = g_new0 (ETreeMemoryPriv, 1);
- etmm->priv = priv;
-
- priv->root = NULL;
- priv->frozen = 0;
- priv->expanded_default = 0;
- priv->destroy_func = NULL;
- priv->destroy_user_data = NULL;
-}
-
-E_MAKE_TYPE(e_tree_memory, "ETreeMemory", ETreeMemory, e_tree_memory_class_init, e_tree_memory_init, E_TREE_MODEL_TYPE)
-
-
-
-/**
- * e_tree_memory_construct:
- * @etree:
- *
- *
- **/
-void
-e_tree_memory_construct (ETreeMemory *etmm)
-{
-}
-
-/**
- * e_tree_memory_new
- *
- * XXX docs here.
- *
- * return values: a newly constructed ETreeMemory.
- */
-ETreeMemory *
-e_tree_memory_new (void)
-{
- return (ETreeMemory *) g_object_new (E_TREE_MEMORY_TYPE, NULL);
-}
-
-void
-e_tree_memory_set_expanded_default (ETreeMemory *etree, gboolean expanded)
-{
- etree->priv->expanded_default = expanded;
-}
-
-/**
- * e_tree_memory_node_get_data:
- * @etmm:
- * @node:
- *
- *
- *
- * Return value:
- **/
-gpointer
-e_tree_memory_node_get_data (ETreeMemory *etmm, ETreePath node)
-{
- ETreeMemoryPath *path = node;
-
- g_return_val_if_fail (path, NULL);
-
- return path->node_data;
-}
-
-/**
- * e_tree_memory_node_set_data:
- * @etmm:
- * @node:
- * @node_data:
- *
- *
- **/
-void
-e_tree_memory_node_set_data (ETreeMemory *etmm, ETreePath node, gpointer node_data)
-{
- ETreeMemoryPath *path = node;
-
- g_return_if_fail (path);
-
- path->node_data = node_data;
-}
-
-/**
- * e_tree_memory_node_insert:
- * @tree_model:
- * @parent_path:
- * @position:
- * @node_data:
- *
- *
- *
- * Return value:
- **/
-ETreePath
-e_tree_memory_node_insert (ETreeMemory *tree_model,
- ETreePath parent_node,
- int position,
- gpointer node_data)
-{
- ETreeMemoryPriv *priv;
- ETreeMemoryPath *new_path;
- ETreeMemoryPath *parent_path = parent_node;
-
- g_return_val_if_fail(tree_model != NULL, NULL);
-
- priv = tree_model->priv;
-
- g_return_val_if_fail (parent_path != NULL || priv->root == NULL, NULL);
-
- priv = tree_model->priv;
-
- if (!tree_model->priv->frozen)
- e_tree_model_pre_change(E_TREE_MODEL(tree_model));
-
- new_path = g_chunk_new0 (ETreeMemoryPath, node_chunk);
-
- new_path->node_data = node_data;
- new_path->children_computed = FALSE;
-
- if (parent_path != NULL) {
- e_tree_memory_path_insert (parent_path, position, new_path);
- if (!tree_model->priv->frozen)
- e_tree_model_node_inserted (E_TREE_MODEL(tree_model), parent_path, new_path);
- } else {
- priv->root = new_path;
- if (!tree_model->priv->frozen)
- e_tree_model_node_changed(E_TREE_MODEL(tree_model), new_path);
- }
-
- return new_path;
-}
-
-ETreePath e_tree_memory_node_insert_id (ETreeMemory *etree, ETreePath parent, int position, gpointer node_data, char *id)
-{
- return e_tree_memory_node_insert(etree, parent, position, node_data);
-}
-
-/**
- * e_tree_memory_node_insert_before:
- * @etree:
- * @parent:
- * @sibling:
- * @node_data:
- *
- *
- *
- * Return value:
- **/
-ETreePath
-e_tree_memory_node_insert_before (ETreeMemory *etree,
- ETreePath parent,
- ETreePath sibling,
- gpointer node_data)
-{
- ETreeMemoryPath *child;
- ETreeMemoryPath *parent_path = parent;
- ETreeMemoryPath *sibling_path = sibling;
- int position = 0;
-
- g_return_val_if_fail(etree != NULL, NULL);
-
- if (sibling != NULL) {
- for (child = parent_path->first_child; child; child = child->next_sibling) {
- if (child == sibling_path)
- break;
- position ++;
- }
- } else
- position = parent_path->num_children;
- return e_tree_memory_node_insert (etree, parent, position, node_data);
-}
-
-/* just blows away child data, doesn't take into account unlinking/etc */
-static void
-child_free(ETreeMemory *etree, ETreeMemoryPath *node)
-{
- ETreeMemoryPath *child, *next;
-
- child = node->first_child;
- while (child) {
- next = child->next_sibling;
- child_free(etree, child);
- child = next;
- }
-
- if (etree->priv->destroy_func) {
- etree->priv->destroy_func (node->node_data, etree->priv->destroy_user_data);
- }
-
- g_chunk_free(node, node_chunk);
-}
-
-/**
- * e_tree_memory_node_remove:
- * @etree:
- * @path:
- *
- *
- *
- * Return value:
- **/
-gpointer
-e_tree_memory_node_remove (ETreeMemory *etree, ETreePath node)
-{
- ETreeMemoryPath *path = node;
- ETreeMemoryPath *parent = path->parent;
- ETreeMemoryPath *sibling;
- gpointer ret = path->node_data;
- int old_position = 0;
-
- g_return_val_if_fail(etree != NULL, NULL);
-
- if (!etree->priv->frozen) {
- e_tree_model_pre_change(E_TREE_MODEL(etree));
- for (old_position = 0, sibling = path;
- sibling;
- old_position++, sibling = sibling->prev_sibling)
- /* Empty intentionally*/;
- old_position --;
- }
-
- /* unlink this node - we only have to unlink the root node being removed,
- since the others are only references from this node */
- e_tree_path_unlink (path);
-
- /*printf("removing %d nodes from position %d\n", visible, base);*/
- if (!etree->priv->frozen)
- e_tree_model_node_removed(E_TREE_MODEL(etree), parent, path, old_position);
-
- child_free(etree, path);
-
- if (path == etree->priv->root)
- etree->priv->root = NULL;
-
- if (!etree->priv->frozen)
- e_tree_model_node_deleted(E_TREE_MODEL(etree), path);
-
- return ret;
-}
-
-typedef struct {
- ETreeMemory *memory;
- gpointer closure;
- ETreeMemorySortCallback callback;
-} MemoryAndClosure;
-
-static int
-sort_callback(const void *data1, const void *data2, gpointer user_data)
-{
- ETreePath path1 = *(ETreePath *)data1;
- ETreePath path2 = *(ETreePath *)data2;
- MemoryAndClosure *mac = user_data;
- return (*mac->callback) (mac->memory, path1, path2, mac->closure);
-}
-
-void
-e_tree_memory_sort_node (ETreeMemory *etmm,
- ETreePath node,
- ETreeMemorySortCallback callback,
- gpointer user_data)
-{
- ETreeMemoryPath **children;
- ETreeMemoryPath *child;
- int count;
- int i;
- ETreeMemoryPath *path = node;
- MemoryAndClosure mac;
- ETreeMemoryPath *last;
-
- e_tree_model_pre_change (E_TREE_MODEL (etmm));
-
- i = 0;
- for (child = path->first_child; child; child = child->next_sibling)
- i++;
-
- children = g_new(ETreeMemoryPath *, i);
-
- count = i;
-
- for (child = path->first_child, i = 0;
- child;
- child = child->next_sibling, i++) {
- children[i] = child;
- }
-
- mac.memory = etmm;
- mac.closure = user_data;
- mac.callback = callback;
-
- e_sort (children, count, sizeof (ETreeMemoryPath *), sort_callback, &mac);
-
- path->first_child = NULL;
- last = NULL;
- for (i = 0;
- i < count;
- i++) {
- children[i]->prev_sibling = last;
- if (last)
- last->next_sibling = children[i];
- else
- path->first_child = children[i];
- last = children[i];
- }
- if (last)
- last->next_sibling = NULL;
-
- path->last_child = last;
-
- g_free(children);
-
- e_tree_model_node_changed(E_TREE_MODEL(etmm), node);
-}
-
-void
-e_tree_memory_set_node_destroy_func (ETreeMemory *etmm,
- GFunc destroy_func,
- gpointer user_data)
-{
- etmm->priv->destroy_func = destroy_func;
- etmm->priv->destroy_user_data = user_data;
-}
diff --git a/widgets/table/e-tree-memory.h b/widgets/table/e-tree-memory.h
deleted file mode 100644
index ce0003b60a..0000000000
--- a/widgets/table/e-tree-memory.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-tree-memory.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Chris Toshok <toshok@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TREE_MEMORY_H_
-#define _E_TREE_MEMORY_H_
-
-#include <gdk-pixbuf/gdk-pixbuf.h>
-#include <gal/e-table/e-tree-model.h>
-
-G_BEGIN_DECLS
-
-#define E_TREE_MEMORY_TYPE (e_tree_memory_get_type ())
-#define E_TREE_MEMORY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TREE_MEMORY_TYPE, ETreeMemory))
-#define E_TREE_MEMORY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TREE_MEMORY_TYPE, ETreeMemoryClass))
-#define E_IS_TREE_MEMORY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TREE_MEMORY_TYPE))
-#define E_IS_TREE_MEMORY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TREE_MEMORY_TYPE))
-#define E_TREE_MEMORY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), E_TREE_MEMORY_TYPE, ETreeMemoryClass))
-
-typedef struct ETreeMemory ETreeMemory;
-typedef struct ETreeMemoryPriv ETreeMemoryPriv;
-typedef struct ETreeMemoryClass ETreeMemoryClass;
-
-typedef int (*ETreeMemorySortCallback) (ETreeMemory *etmm, ETreePath path1, ETreePath path2, gpointer closure);
-
-struct ETreeMemory {
- ETreeModel base;
- ETreeMemoryPriv *priv;
-};
-
-struct ETreeMemoryClass {
- ETreeModelClass parent_class;
-
- /* signals */
- void (*fill_in_children) (ETreeMemory *model, ETreePath node);
-};
-
-
-GType e_tree_memory_get_type (void);
-void e_tree_memory_construct (ETreeMemory *etree);
-ETreeMemory *e_tree_memory_new (void);
-
-/* node operations */
-ETreePath e_tree_memory_node_insert (ETreeMemory *etree,
- ETreePath parent,
- int position,
- gpointer node_data);
-ETreePath e_tree_memory_node_insert_id (ETreeMemory *etree,
- ETreePath parent,
- int position,
- gpointer node_data,
- char *id);
-ETreePath e_tree_memory_node_insert_before (ETreeMemory *etree,
- ETreePath parent,
- ETreePath sibling,
- gpointer node_data);
-gpointer e_tree_memory_node_remove (ETreeMemory *etree,
- ETreePath path);
-
-/* Freeze and thaw */
-void e_tree_memory_freeze (ETreeMemory *etree);
-void e_tree_memory_thaw (ETreeMemory *etree);
-void e_tree_memory_set_expanded_default (ETreeMemory *etree,
- gboolean expanded);
-gpointer e_tree_memory_node_get_data (ETreeMemory *etm,
- ETreePath node);
-void e_tree_memory_node_set_data (ETreeMemory *etm,
- ETreePath node,
- gpointer node_data);
-void e_tree_memory_sort_node (ETreeMemory *etm,
- ETreePath node,
- ETreeMemorySortCallback callback,
- gpointer user_data);
-void e_tree_memory_set_node_destroy_func (ETreeMemory *etmm,
- GFunc destroy_func,
- gpointer user_data);
-
-G_END_DECLS
-
-#endif /* _E_TREE_MEMORY_H */
-
diff --git a/widgets/table/e-tree-model.c b/widgets/table/e-tree-model.c
deleted file mode 100644
index 6ca0e17af9..0000000000
--- a/widgets/table/e-tree-model.c
+++ /dev/null
@@ -1,1098 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-tree-model.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Chris Toshok <toshok@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-
-#include <stdio.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <fcntl.h>
-
-#include <libxml/parser.h>
-#include <libxml/xmlmemory.h>
-
-#include <gtk/gtksignal.h>
-#include "gal/util/e-util.h"
-#include "gal/util/e-xml-utils.h"
-#include "e-tree-model.h"
-
-#define ETM_CLASS(e) (E_TREE_MODEL_GET_CLASS(e))
-
-#define d(x)
-
-static GObjectClass *parent_class;
-
-enum {
- PRE_CHANGE,
- NO_CHANGE,
- NODE_CHANGED,
- NODE_DATA_CHANGED,
- NODE_COL_CHANGED,
- NODE_INSERTED,
- NODE_REMOVED,
- NODE_DELETED,
- NODE_REQUEST_COLLAPSE,
- LAST_SIGNAL
-};
-
-static guint e_tree_model_signals [LAST_SIGNAL] = {0, };
-
-
-static void
-e_tree_model_class_init (GObjectClass *klass)
-{
- ETreeModelClass *tree_class = (ETreeModelClass *) klass;
-
- parent_class = g_type_class_peek_parent (klass);
-
- e_tree_model_signals [PRE_CHANGE] =
- g_signal_new ("pre_change",
- E_OBJECT_CLASS_TYPE (klass),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeModelClass, pre_change),
- (GSignalAccumulator) NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- e_tree_model_signals [NO_CHANGE] =
- g_signal_new ("no_change",
- E_OBJECT_CLASS_TYPE (klass),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeModelClass, no_change),
- (GSignalAccumulator) NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- e_tree_model_signals [NODE_CHANGED] =
- g_signal_new ("node_changed",
- E_OBJECT_CLASS_TYPE (klass),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeModelClass, node_changed),
- (GSignalAccumulator) NULL, NULL,
- g_cclosure_marshal_VOID__POINTER,
- G_TYPE_NONE, 1, G_TYPE_POINTER);
-
- e_tree_model_signals [NODE_DATA_CHANGED] =
- g_signal_new ("node_data_changed",
- E_OBJECT_CLASS_TYPE (klass),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeModelClass, node_data_changed),
- (GSignalAccumulator) NULL, NULL,
- g_cclosure_marshal_VOID__POINTER,
- G_TYPE_NONE, 1, G_TYPE_POINTER);
-
- e_tree_model_signals [NODE_COL_CHANGED] =
- g_signal_new ("node_col_changed",
- E_OBJECT_CLASS_TYPE (klass),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeModelClass, node_col_changed),
- (GSignalAccumulator) NULL, NULL,
- e_marshal_VOID__POINTER_INT,
- G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_INT);
-
- e_tree_model_signals [NODE_INSERTED] =
- g_signal_new ("node_inserted",
- E_OBJECT_CLASS_TYPE (klass),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeModelClass, node_inserted),
- (GSignalAccumulator) NULL, NULL,
- e_marshal_VOID__POINTER_POINTER,
- G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_POINTER);
-
- e_tree_model_signals [NODE_REMOVED] =
- g_signal_new ("node_removed",
- E_OBJECT_CLASS_TYPE (klass),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeModelClass, node_removed),
- (GSignalAccumulator) NULL, NULL,
- e_marshal_VOID__POINTER_POINTER_INT,
- G_TYPE_NONE, 3, G_TYPE_POINTER, G_TYPE_POINTER, G_TYPE_INT);
-
- e_tree_model_signals [NODE_DELETED] =
- g_signal_new ("node_deleted",
- E_OBJECT_CLASS_TYPE (klass),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeModelClass, node_deleted),
- (GSignalAccumulator) NULL, NULL,
- g_cclosure_marshal_VOID__POINTER,
- G_TYPE_NONE, 1, G_TYPE_POINTER);
-
- e_tree_model_signals [NODE_REQUEST_COLLAPSE] =
- g_signal_new ("node_request_collapse",
- E_OBJECT_CLASS_TYPE (klass),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeModelClass, node_request_collapse),
- (GSignalAccumulator) NULL, NULL,
- g_cclosure_marshal_VOID__POINTER,
- G_TYPE_NONE, 1, G_TYPE_POINTER);
-
- tree_class->get_root = NULL;
-
- tree_class->get_parent = NULL;
- tree_class->get_first_child = NULL;
- tree_class->get_last_child = NULL;
- tree_class->get_next = NULL;
- tree_class->get_prev = NULL;
-
- tree_class->is_root = NULL;
- tree_class->is_expandable = NULL;
- tree_class->get_children = NULL;
- tree_class->depth = NULL;
-
- tree_class->icon_at = NULL;
-
- tree_class->get_expanded_default = NULL;
- tree_class->column_count = NULL;
-
- tree_class->has_save_id = NULL;
- tree_class->get_save_id = NULL;
- tree_class->has_get_node_by_id = NULL;
- tree_class->get_node_by_id = NULL;
-
- tree_class->has_change_pending = NULL;
-
- tree_class->value_at = NULL;
- tree_class->set_value_at = NULL;
- tree_class->is_editable = NULL;
-
- tree_class->duplicate_value = NULL;
- tree_class->free_value = NULL;
- tree_class->initialize_value = NULL;
- tree_class->value_is_empty = NULL;
- tree_class->value_to_string = NULL;
-
- tree_class->pre_change = NULL;
- tree_class->no_change = NULL;
- tree_class->node_changed = NULL;
- tree_class->node_data_changed = NULL;
- tree_class->node_col_changed = NULL;
- tree_class->node_inserted = NULL;
- tree_class->node_removed = NULL;
- tree_class->node_deleted = NULL;
- tree_class->node_request_collapse = NULL;
-}
-
-E_MAKE_TYPE(e_tree_model, "ETreeModel", ETreeModel, e_tree_model_class_init, NULL, G_TYPE_OBJECT)
-
-
-/* signals */
-
-/**
- * e_tree_model_node_changed:
- * @tree_model:
- * @node:
- *
- *
- *
- * Return value:
- **/
-void
-e_tree_model_pre_change (ETreeModel *tree_model)
-{
- g_return_if_fail (tree_model != NULL);
- g_return_if_fail (E_IS_TREE_MODEL (tree_model));
-
- d(g_print("Emitting pre_change on model 0x%p, a %s.\n", tree_model, gtk_type_name (GTK_OBJECT(tree_model)->klass->type)));
-
- g_signal_emit (G_OBJECT (tree_model), e_tree_model_signals [PRE_CHANGE], 0);
-}
-
-/**
- * e_tree_model_node_changed:
- * @tree_model:
- * @node:
- *
- *
- *
- * Return value:
- **/
-void
-e_tree_model_no_change (ETreeModel *tree_model)
-{
- g_return_if_fail (tree_model != NULL);
- g_return_if_fail (E_IS_TREE_MODEL (tree_model));
-
- d(g_print("Emitting no_change on model 0x%p, a %s.\n", tree_model, gtk_type_name (GTK_OBJECT(tree_model)->klass->type)));
-
- g_signal_emit (G_OBJECT (tree_model), e_tree_model_signals [NO_CHANGE], 0);
-}
-
-/**
- * e_tree_model_node_changed:
- * @tree_model:
- * @node:
- *
- *
- *
- * Return value:
- **/
-void
-e_tree_model_node_changed (ETreeModel *tree_model, ETreePath node)
-{
- g_return_if_fail (tree_model != NULL);
- g_return_if_fail (E_IS_TREE_MODEL (tree_model));
-
- d(g_print("Emitting node_changed on model 0x%p, a %s.\n", tree_model, gtk_type_name (GTK_OBJECT(tree_model)->klass->type)));
-
- g_signal_emit (G_OBJECT (tree_model), e_tree_model_signals [NODE_CHANGED], 0, node);
-}
-
-/**
- * e_tree_model_node_data_changed:
- * @tree_model:
- * @node:
- *
- *
- *
- * Return value:
- **/
-void
-e_tree_model_node_data_changed (ETreeModel *tree_model, ETreePath node)
-{
- g_return_if_fail (tree_model != NULL);
- g_return_if_fail (E_IS_TREE_MODEL (tree_model));
-
- d(g_print("Emitting node_data_changed on model 0x%p, a %s.\n", tree_model, gtk_type_name (GTK_OBJECT(tree_model)->klass->type)));
-
- g_signal_emit (G_OBJECT (tree_model), e_tree_model_signals [NODE_DATA_CHANGED], 0, node);
-}
-
-/**
- * e_tree_model_node_col_changed:
- * @tree_model:
- * @node:
- *
- *
- *
- * Return value:
- **/
-void
-e_tree_model_node_col_changed (ETreeModel *tree_model, ETreePath node, int col)
-{
- g_return_if_fail (tree_model != NULL);
- g_return_if_fail (E_IS_TREE_MODEL (tree_model));
-
- d(g_print("Emitting node_col_changed on model 0x%p, a %s.\n", tree_model, gtk_type_name (GTK_OBJECT(tree_model)->klass->type)));
-
- g_signal_emit (G_OBJECT (tree_model), e_tree_model_signals [NODE_COL_CHANGED], 0, node, col);
-}
-
-/**
- * e_tree_model_node_inserted:
- * @tree_model:
- * @parent_node:
- * @inserted_node:
- *
- *
- **/
-void
-e_tree_model_node_inserted (ETreeModel *tree_model,
- ETreePath parent_node,
- ETreePath inserted_node)
-{
- g_return_if_fail (tree_model != NULL);
- g_return_if_fail (E_IS_TREE_MODEL (tree_model));
-
- d(g_print("Emitting node_inserted on model 0x%p, a %s.\n", tree_model, gtk_type_name (GTK_OBJECT(tree_model)->klass->type)));
-
- g_signal_emit (G_OBJECT (tree_model), e_tree_model_signals [NODE_INSERTED], 0,
- parent_node, inserted_node);
-}
-
-/**
- * e_tree_model_node_removed:
- * @tree_model:
- * @parent_node:
- * @removed_node:
- *
- *
- **/
-void
-e_tree_model_node_removed (ETreeModel *tree_model, ETreePath parent_node, ETreePath removed_node, int old_position)
-{
- g_return_if_fail (tree_model != NULL);
- g_return_if_fail (E_IS_TREE_MODEL (tree_model));
-
- d(g_print("Emitting node_removed on model 0x%p, a %s.\n", tree_model, gtk_type_name (GTK_OBJECT(tree_model)->klass->type)));
-
- g_signal_emit (G_OBJECT (tree_model), e_tree_model_signals [NODE_REMOVED], 0,
- parent_node, removed_node, old_position);
-}
-
-/**
- * e_tree_model_node_deleted:
- * @tree_model:
- * @deleted_node:
- *
- *
- **/
-void
-e_tree_model_node_deleted (ETreeModel *tree_model, ETreePath deleted_node)
-{
- g_return_if_fail (tree_model != NULL);
- g_return_if_fail (E_IS_TREE_MODEL (tree_model));
-
- d(g_print("Emitting node_deleted on model 0x%p, a %s.\n", tree_model, gtk_type_name (GTK_OBJECT(tree_model)->klass->type)));
-
- g_signal_emit (G_OBJECT (tree_model), e_tree_model_signals [NODE_DELETED], 0, deleted_node);
-}
-
-/**
- * e_tree_model_node_request_collapse:
- * @tree_model:
- * @collapsed_node:
- *
- *
- **/
-void
-e_tree_model_node_request_collapse (ETreeModel *tree_model, ETreePath collapsed_node)
-{
- g_return_if_fail (tree_model != NULL);
- g_return_if_fail (E_IS_TREE_MODEL (tree_model));
-
- d(g_print("Emitting node_request_collapse on model 0x%p, a %s.\n", tree_model, gtk_type_name (GTK_OBJECT(tree_model)->klass->type)));
-
- g_signal_emit (G_OBJECT (tree_model), e_tree_model_signals [NODE_REQUEST_COLLAPSE], 0, collapsed_node);
-}
-
-
-
-/**
- * e_tree_model_new
- *
- * XXX docs here.
- *
- * return values: a newly constructed ETreeModel.
- */
-ETreeModel *
-e_tree_model_new ()
-{
- return (ETreeModel *) g_object_new (E_TREE_MODEL_TYPE, NULL);
-}
-
-/**
- * e_tree_model_get_root
- * @etree: the ETreeModel of which we want the root node.
- *
- * Accessor for the root node of @etree.
- *
- * return values: the ETreePath corresponding to the root node.
- */
-ETreePath
-e_tree_model_get_root (ETreeModel *etree)
-{
- g_return_val_if_fail (etree != NULL, NULL);
- g_return_val_if_fail (E_IS_TREE_MODEL (etree), NULL);
-
- if (ETM_CLASS(etree)->get_root)
- return ETM_CLASS(etree)->get_root(etree);
- else
- return NULL;
-}
-
-/**
- * e_tree_model_node_get_parent:
- * @etree:
- * @path:
- *
- *
- *
- * Return value:
- **/
-ETreePath
-e_tree_model_node_get_parent (ETreeModel *etree, ETreePath node)
-{
- g_return_val_if_fail(etree != NULL, NULL);
- if (ETM_CLASS(etree)->get_parent)
- return ETM_CLASS(etree)->get_parent(etree, node);
- else
- return NULL;
-}
-
-/**
- * e_tree_model_node_get_first_child:
- * @etree:
- * @node:
- *
- *
- *
- * Return value:
- **/
-ETreePath
-e_tree_model_node_get_first_child (ETreeModel *etree, ETreePath node)
-{
- g_return_val_if_fail (etree != NULL, NULL);
- g_return_val_if_fail (E_IS_TREE_MODEL (etree), NULL);
-
- if (ETM_CLASS(etree)->get_first_child)
- return ETM_CLASS(etree)->get_first_child(etree, node);
- else
- return NULL;
-}
-
-/**
- * e_tree_model_node_get_last_child:
- * @etree:
- * @node:
- *
- *
- *
- * Return value:
- **/
-ETreePath
-e_tree_model_node_get_last_child (ETreeModel *etree, ETreePath node)
-{
- g_return_val_if_fail (etree != NULL, NULL);
- g_return_val_if_fail (E_IS_TREE_MODEL (etree), NULL);
-
- if (ETM_CLASS(etree)->get_last_child)
- return ETM_CLASS(etree)->get_last_child(etree, node);
- else
- return NULL;
-}
-
-
-/**
- * e_tree_model_node_get_next:
- * @etree:
- * @node:
- *
- *
- *
- * Return value:
- **/
-ETreePath
-e_tree_model_node_get_next (ETreeModel *etree, ETreePath node)
-{
- g_return_val_if_fail (etree != NULL, NULL);
- g_return_val_if_fail (E_IS_TREE_MODEL (etree), NULL);
-
- if (ETM_CLASS(etree)->get_next)
- return ETM_CLASS(etree)->get_next(etree, node);
- else
- return NULL;
-}
-
-/**
- * e_tree_model_node_get_prev:
- * @etree:
- * @node:
- *
- *
- *
- * Return value:
- **/
-ETreePath
-e_tree_model_node_get_prev (ETreeModel *etree, ETreePath node)
-{
- g_return_val_if_fail (etree != NULL, NULL);
- g_return_val_if_fail (E_IS_TREE_MODEL (etree), NULL);
-
- if (ETM_CLASS(etree)->get_prev)
- return ETM_CLASS(etree)->get_prev(etree, node);
- else
- return NULL;
-}
-
-/**
- * e_tree_model_node_is_root:
- * @etree:
- * @path:
- *
- *
- *
- * Return value:
- **/
-gboolean
-e_tree_model_node_is_root (ETreeModel *etree, ETreePath node)
-{
- g_return_val_if_fail(etree != NULL, FALSE);
-
- if (ETM_CLASS(etree)->is_root)
- return ETM_CLASS(etree)->is_root(etree, node);
- else
- return FALSE;
-}
-
-/**
- * e_tree_model_node_is_expandable:
- * @etree:
- * @path:
- *
- *
- *
- * Return value:
- **/
-gboolean
-e_tree_model_node_is_expandable (ETreeModel *etree, ETreePath node)
-{
- g_return_val_if_fail(etree != NULL, FALSE);
- g_return_val_if_fail(node != NULL, FALSE);
-
- if (ETM_CLASS(etree)->is_expandable)
- return ETM_CLASS(etree)->is_expandable(etree, node);
- else
- return FALSE;
-}
-
-guint
-e_tree_model_node_get_children (ETreeModel *etree, ETreePath node, ETreePath **nodes)
-{
- g_return_val_if_fail(etree != NULL, 0);
- if (ETM_CLASS(etree)->get_children)
- return ETM_CLASS(etree)->get_children (etree, node, nodes);
- else
- return 0;
-}
-
-/**
- * e_tree_model_node_depth:
- * @etree:
- * @path:
- *
- *
- *
- * Return value:
- **/
-guint
-e_tree_model_node_depth (ETreeModel *etree, ETreePath node)
-{
- g_return_val_if_fail (etree != NULL, 0);
- g_return_val_if_fail (E_IS_TREE_MODEL (etree), 0);
-
- if (ETM_CLASS(etree)->depth)
- return ETM_CLASS(etree)->depth(etree, node);
- else
- return 0;
-}
-
-/**
- * e_tree_model_icon_at
- * @etree: The ETreeModel.
- * @path: The ETreePath to the node we're getting the icon of.
- *
- * XXX docs here.
- *
- * return values: the GdkPixbuf associated with this node.
- */
-GdkPixbuf *
-e_tree_model_icon_at (ETreeModel *etree, ETreePath node)
-{
- g_return_val_if_fail (etree != NULL, NULL);
- g_return_val_if_fail (E_IS_TREE_MODEL (etree), NULL);
-
- if (ETM_CLASS(etree)->icon_at)
- return ETM_CLASS(etree)->icon_at (etree, node);
- else
- return NULL;
-}
-
-/**
- * e_tree_model_get_expanded_default
- * @etree: The ETreeModel.
- *
- * XXX docs here.
- *
- * return values: Whether nodes should be expanded by default.
- */
-gboolean
-e_tree_model_get_expanded_default (ETreeModel *etree)
-{
- g_return_val_if_fail (etree != NULL, FALSE);
- g_return_val_if_fail (E_IS_TREE_MODEL (etree), FALSE);
-
- if (ETM_CLASS(etree)->get_expanded_default)
- return ETM_CLASS(etree)->get_expanded_default (etree);
- else
- return FALSE;
-}
-
-/**
- * e_tree_model_column_count
- * @etree: The ETreeModel.
- *
- * XXX docs here.
- *
- * return values: The number of columns
- */
-gint
-e_tree_model_column_count (ETreeModel *etree)
-{
- g_return_val_if_fail (etree != NULL, 0);
- g_return_val_if_fail (E_IS_TREE_MODEL (etree), 0);
-
- if (ETM_CLASS(etree)->column_count)
- return ETM_CLASS(etree)->column_count (etree);
- else
- return 0;
-}
-
-/**
- * e_tree_model_has_save_id
- * @etree: The ETreeModel.
- *
- * XXX docs here.
- *
- * return values: Whether this tree has valid save id data.
- */
-gboolean
-e_tree_model_has_save_id (ETreeModel *etree)
-{
- g_return_val_if_fail (etree != NULL, FALSE);
- g_return_val_if_fail (E_IS_TREE_MODEL (etree), FALSE);
-
- if (ETM_CLASS(etree)->has_save_id)
- return ETM_CLASS(etree)->has_save_id (etree);
- else
- return FALSE;
-}
-
-/**
- * e_tree_model_get_save_id
- * @etree: The ETreeModel.
- * @node: The ETreePath.
- *
- * XXX docs here.
- *
- * return values: The save id for this path.
- */
-gchar *
-e_tree_model_get_save_id (ETreeModel *etree, ETreePath node)
-{
- g_return_val_if_fail (etree != NULL, NULL);
- g_return_val_if_fail (E_IS_TREE_MODEL (etree), NULL);
-
- if (ETM_CLASS(etree)->get_save_id)
- return ETM_CLASS(etree)->get_save_id (etree, node);
- else
- return NULL;
-}
-
-/**
- * e_tree_model_has_get_node_by_id
- * @etree: The ETreeModel.
- *
- * XXX docs here.
- *
- * return values: Whether this tree can quickly get a node from its save id.
- */
-gboolean
-e_tree_model_has_get_node_by_id (ETreeModel *etree)
-{
- g_return_val_if_fail (etree != NULL, FALSE);
- g_return_val_if_fail (E_IS_TREE_MODEL (etree), FALSE);
-
- if (ETM_CLASS(etree)->has_get_node_by_id)
- return ETM_CLASS(etree)->has_get_node_by_id (etree);
- else
- return FALSE;
-}
-
-/**
- * e_tree_model_get_node_by_id
- * @etree: The ETreeModel.
- * @node: The ETreePath.
- *
- * get_node_by_id(get_save_id(node)) should be the original node.
- * Likewise if get_node_by_id is not NULL, then
- * get_save_id(get_node_by_id(string)) should be a copy of the
- * original string.
- *
- * return values: The path for this save id.
- */
-ETreePath
-e_tree_model_get_node_by_id (ETreeModel *etree, const char *save_id)
-{
- g_return_val_if_fail (etree != NULL, NULL);
- g_return_val_if_fail (E_IS_TREE_MODEL (etree), NULL);
-
- if (ETM_CLASS(etree)->get_node_by_id)
- return ETM_CLASS(etree)->get_node_by_id (etree, save_id);
- else
- return NULL;
-}
-
-/**
- * e_tree_model_has_change_pending
- * @etree: The ETreeModel.
- *
- * XXX docs here.
- *
- * return values: Whether this tree has valid save id data.
- */
-gboolean
-e_tree_model_has_change_pending (ETreeModel *etree)
-{
- g_return_val_if_fail (etree != NULL, FALSE);
- g_return_val_if_fail (E_IS_TREE_MODEL (etree), FALSE);
-
- if (ETM_CLASS(etree)->has_change_pending)
- return ETM_CLASS(etree)->has_change_pending (etree);
- else
- return FALSE;
-}
-
-/**
- * e_tree_model_value_at:
- * @etree: The ETreeModel.
- * @node: The ETreePath to the node we're getting the data from.
- * @col: the column to retrieve data from
- *
- * Return value: This function returns the value that is stored by the
- * @etree in column @col and node @node. The data returned can be a
- * pointer or any data value that can be stored inside a pointer.
- *
- * The data returned is typically used by an ECell renderer.
- *
- * The data returned must be valid until the model sends a signal that
- * affect that piece of data. node_changed and node_deleted affect
- * all data in tha t node and all nodes under that node.
- * node_data_changed affects the data in that node. node_col_changed
- * affects the data in that node for that column. node_inserted,
- * node_removed, and no_change don't affect any data in this way.
- **/
-void *
-e_tree_model_value_at (ETreeModel *etree, ETreePath node, int col)
-{
- g_return_val_if_fail (etree != NULL, NULL);
- g_return_val_if_fail (E_IS_TREE_MODEL (etree), NULL);
-
- if (ETM_CLASS(etree)->value_at)
- return ETM_CLASS(etree)->value_at (etree, node, col);
- else
- return NULL;
-}
-
-/**
- * e_tree_model_icon_of_node
- * @etree: The ETreeModel.
- * @path: The ETreePath to the node we're getting the icon of.
- *
- * XXX docs here.
- *
- * return values: the GdkPixbuf associated with this node.
- */
-void
-e_tree_model_set_value_at (ETreeModel *etree, ETreePath node, int col, const void *val)
-{
- g_return_if_fail (etree != NULL);
- g_return_if_fail (E_IS_TREE_MODEL (etree));
-
- if (ETM_CLASS(etree)->set_value_at)
- ETM_CLASS(etree)->set_value_at (etree, node, col, val);
-}
-
-/**
- * e_tree_model_node_is_editable:
- * @etree:
- * @path:
- *
- *
- *
- * Return value:
- **/
-gboolean
-e_tree_model_node_is_editable (ETreeModel *etree, ETreePath node, int col)
-{
- g_return_val_if_fail(etree != NULL, FALSE);
-
- if (ETM_CLASS(etree)->is_editable)
- return ETM_CLASS(etree)->is_editable(etree, node, col);
- else
- return FALSE;
-}
-
-/**
- * e_tree_model_duplicate_value:
- * @etree:
- * @path:
- *
- *
- *
- * Return value:
- **/
-void *
-e_tree_model_duplicate_value (ETreeModel *etree, int col, const void *value)
-{
- g_return_val_if_fail(etree != NULL, NULL);
-
- if (ETM_CLASS(etree)->duplicate_value)
- return ETM_CLASS(etree)->duplicate_value(etree, col, value);
- else
- return NULL;
-}
-
-/**
- * e_tree_model_free_value:
- * @etree:
- * @path:
- *
- *
- *
- * Return value:
- **/
-void
-e_tree_model_free_value (ETreeModel *etree, int col, void *value)
-{
- g_return_if_fail(etree != NULL);
-
- if (ETM_CLASS(etree)->free_value)
- ETM_CLASS(etree)->free_value(etree, col, value);
-}
-
-/**
- * e_tree_model_initialize_value:
- * @etree:
- * @path:
- *
- *
- *
- * Return value:
- **/
-void *
-e_tree_model_initialize_value (ETreeModel *etree, int col)
-{
- g_return_val_if_fail(etree != NULL, NULL);
-
- if (ETM_CLASS(etree)->initialize_value)
- return ETM_CLASS(etree)->initialize_value(etree, col);
- else
- return NULL;
-}
-
-/**
- * e_tree_model_value_is_empty:
- * @etree:
- * @path:
- *
- *
- *
- * Return value:
- **/
-gboolean
-e_tree_model_value_is_empty (ETreeModel *etree, int col, const void *value)
-{
- g_return_val_if_fail(etree != NULL, TRUE);
-
- if (ETM_CLASS(etree)->value_is_empty)
- return ETM_CLASS(etree)->value_is_empty(etree, col, value);
- else
- return TRUE;
-}
-
-/**
- * e_tree_model_value_to_string:
- * @etree:
- * @path:
- *
- *
- *
- * Return value:
- **/
-char *
-e_tree_model_value_to_string (ETreeModel *etree, int col, const void *value)
-{
- g_return_val_if_fail(etree != NULL, g_strdup(""));
-
- if (ETM_CLASS(etree)->value_to_string)
- return ETM_CLASS(etree)->value_to_string(etree, col, value);
- else
- return g_strdup("");
-}
-
-/**
- * e_tree_model_node_traverse:
- * @model:
- * @path:
- * @func:
- * @data:
- *
- *
- **/
-void
-e_tree_model_node_traverse (ETreeModel *model, ETreePath path, ETreePathFunc func, gpointer data)
-{
- ETreePath child;
-
- g_return_if_fail (model != NULL);
- g_return_if_fail (E_IS_TREE_MODEL (model));
- g_return_if_fail (path != NULL);
-
- child = e_tree_model_node_get_first_child (model, path);
-
- while (child) {
- ETreePath next_child;
-
- next_child = e_tree_model_node_get_next (model, child);
- e_tree_model_node_traverse (model, child, func, data);
- if (func (model, child, data))
- return;
-
- child = next_child;
- }
-}
-
-/**
- * e_tree_model_node_traverse_preorder:
- * @model:
- * @path:
- * @func:
- * @data:
- *
- *
- **/
-void
-e_tree_model_node_traverse_preorder (ETreeModel *model, ETreePath path, ETreePathFunc func, gpointer data)
-{
- ETreePath child;
-
- g_return_if_fail (model != NULL);
- g_return_if_fail (E_IS_TREE_MODEL (model));
- g_return_if_fail (path != NULL);
-
- child = e_tree_model_node_get_first_child (model, path);
-
- while (child) {
- ETreePath next_child;
-
- if (func (model, child, data))
- return;
-
- next_child = e_tree_model_node_get_next (model, child);
- e_tree_model_node_traverse_preorder (model, child, func, data);
-
- child = next_child;
- }
-}
-
-/**
- * e_tree_model_node_traverse_preorder:
- * @model:
- * @path:
- * @func:
- * @data:
- *
- *
- **/
-static ETreePath
-e_tree_model_node_real_traverse (ETreeModel *model, ETreePath path, ETreePath end_path, gboolean forward_direction, ETreePathFunc func, gpointer data)
-{
- ETreePath child;
-
- g_return_val_if_fail (model != NULL, NULL);
- g_return_val_if_fail (E_IS_TREE_MODEL (model), NULL);
- g_return_val_if_fail (path != NULL, NULL);
-
- if (forward_direction)
- child = e_tree_model_node_get_first_child (model, path);
- else
- child = e_tree_model_node_get_last_child (model, path);
-
- while (child) {
- ETreePath result;
-
- if (forward_direction && (child == end_path || func (model, child, data)))
- return child;
-
- if ((result = e_tree_model_node_real_traverse (model, child, end_path, forward_direction, func, data)))
- return result;
-
- if (!forward_direction && (child == end_path || func (model, child, data)))
- return child;
-
- if (forward_direction)
- child = e_tree_model_node_get_next (model, child);
- else
- child = e_tree_model_node_get_prev (model, child);
- }
- return NULL;
-}
-
-/**
- * e_tree_model_node_traverse_preorder:
- * @model:
- * @path:
- * @func:
- * @data:
- *
- *
- **/
-ETreePath
-e_tree_model_node_find (ETreeModel *model, ETreePath path, ETreePath end_path, gboolean forward_direction, ETreePathFunc func, gpointer data)
-{
- ETreePath result;
- ETreePath next;
-
- g_return_val_if_fail (model != NULL, NULL);
- g_return_val_if_fail (E_IS_TREE_MODEL (model), NULL);
-
- /* Just search the whole tree in this case. */
- if (path == NULL) {
- ETreePath root;
- root = e_tree_model_get_root (model);
-
- if (forward_direction && (end_path == root || func (model, root, data)))
- return root;
-
- if ((result = e_tree_model_node_real_traverse (model, root, end_path, forward_direction, func, data)))
- return result;
-
- if (!forward_direction && (end_path == root || func (model, root, data)))
- return root;
-
- return NULL;
- }
-
- while (1) {
-
- if (forward_direction) {
- if ((result = e_tree_model_node_real_traverse (model, path, end_path, forward_direction, func, data)))
- return result;
- next = e_tree_model_node_get_next (model, path);
- } else {
- next = e_tree_model_node_get_prev (model, path);
- if (next && (result = e_tree_model_node_real_traverse (model, next, end_path, forward_direction, func, data)))
- return result;
- }
-
- while (next == NULL) {
- path = e_tree_model_node_get_parent (model, path);
-
- if (path == NULL)
- return NULL;
-
- if (forward_direction)
- next = e_tree_model_node_get_next (model, path);
- else
- next = path;
- }
-
- if (end_path == next || func (model, next, data))
- return next;
-
- path = next;
- }
-}
-
diff --git a/widgets/table/e-tree-model.h b/widgets/table/e-tree-model.h
deleted file mode 100644
index c9574388e1..0000000000
--- a/widgets/table/e-tree-model.h
+++ /dev/null
@@ -1,227 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-tree-model.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Chris Toshok <toshok@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TREE_MODEL_H_
-#define _E_TREE_MODEL_H_
-
-#include <gdk-pixbuf/gdk-pixbuf.h>
-#include <glib-object.h>
-
-
-G_BEGIN_DECLS
-
-
-#define E_TREE_MODEL_TYPE (e_tree_model_get_type ())
-#define E_TREE_MODEL(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TREE_MODEL_TYPE, ETreeModel))
-#define E_TREE_MODEL_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TREE_MODEL_TYPE, ETreeModelClass))
-#define E_IS_TREE_MODEL(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TREE_MODEL_TYPE))
-#define E_IS_TREE_MODEL_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TREE_MODEL_TYPE))
-#define E_TREE_MODEL_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), E_TREE_MODEL_TYPE, ETreeModelClass))
-
-typedef void * ETreePath;
-typedef struct ETreeModel ETreeModel;
-typedef struct ETreeModelClass ETreeModelClass;
-typedef gint (*ETreePathCompareFunc)(ETreeModel *model, ETreePath path1, ETreePath path2);
-typedef gboolean (*ETreePathFunc)(ETreeModel *model, ETreePath path, gpointer data);
-
-struct ETreeModel {
- GObject base;
-};
-
-struct ETreeModelClass {
- GObjectClass parent_class;
-
- /*
- * Virtual methods
- */
- ETreePath (*get_root) (ETreeModel *etm);
-
- ETreePath (*get_parent) (ETreeModel *etm, ETreePath node);
- ETreePath (*get_first_child) (ETreeModel *etm, ETreePath node);
- ETreePath (*get_last_child) (ETreeModel *etm, ETreePath node);
- ETreePath (*get_next) (ETreeModel *etm, ETreePath node);
- ETreePath (*get_prev) (ETreeModel *etm, ETreePath node);
-
- gboolean (*is_root) (ETreeModel *etm, ETreePath node);
- gboolean (*is_expandable) (ETreeModel *etm, ETreePath node);
- guint (*get_children) (ETreeModel *etm, ETreePath node, ETreePath **paths);
- guint (*depth) (ETreeModel *etm, ETreePath node);
-
- GdkPixbuf *(*icon_at) (ETreeModel *etm, ETreePath node);
-
- gboolean (*get_expanded_default) (ETreeModel *etm);
- gint (*column_count) (ETreeModel *etm);
-
- gboolean (*has_save_id) (ETreeModel *etm);
- gchar *(*get_save_id) (ETreeModel *etm, ETreePath node);
-
- gboolean (*has_get_node_by_id) (ETreeModel *etm);
- ETreePath (*get_node_by_id) (ETreeModel *etm, const char *save_id);
-
- gboolean (*has_change_pending) (ETreeModel *etm);
-
- /*
- * ETable analogs
- */
- void *(*value_at) (ETreeModel *etm, ETreePath node, int col);
- void (*set_value_at) (ETreeModel *etm, ETreePath node, int col, const void *val);
- gboolean (*is_editable) (ETreeModel *etm, ETreePath node, int col);
-
- void *(*duplicate_value) (ETreeModel *etm, int col, const void *value);
- void (*free_value) (ETreeModel *etm, int col, void *value);
- void *(*initialize_value) (ETreeModel *etm, int col);
- gboolean (*value_is_empty) (ETreeModel *etm, int col, const void *value);
- char *(*value_to_string) (ETreeModel *etm, int col, const void *value);
-
- /*
- * Signals
- */
-
- /* During node_remove, the ETreePath of the child is removed
- * from the tree but is still a valid ETreePath. At
- * node_deleted, the ETreePath is no longer valid.
- */
-
- void (*pre_change) (ETreeModel *etm);
- void (*no_change) (ETreeModel *etm);
- void (*node_changed) (ETreeModel *etm, ETreePath node);
- void (*node_data_changed) (ETreeModel *etm, ETreePath node);
- void (*node_col_changed) (ETreeModel *etm, ETreePath node, int col);
- void (*node_inserted) (ETreeModel *etm, ETreePath parent, ETreePath inserted_node);
- void (*node_removed) (ETreeModel *etm, ETreePath parent, ETreePath removed_node, int old_position);
- void (*node_deleted) (ETreeModel *etm, ETreePath deleted_node);
-
- /* This signal requests that any viewers of the tree that
- * collapse and expand nodes collapse this node.
- */
- void (*node_request_collapse) (ETreeModel *etm, ETreePath node);
-};
-
-
-GType e_tree_model_get_type (void);
-ETreeModel *e_tree_model_new (void);
-
-/* tree traversal operations */
-ETreePath e_tree_model_get_root (ETreeModel *etree);
-ETreePath e_tree_model_node_get_parent (ETreeModel *etree,
- ETreePath path);
-ETreePath e_tree_model_node_get_first_child (ETreeModel *etree,
- ETreePath path);
-ETreePath e_tree_model_node_get_last_child (ETreeModel *etree,
- ETreePath path);
-ETreePath e_tree_model_node_get_next (ETreeModel *etree,
- ETreePath path);
-ETreePath e_tree_model_node_get_prev (ETreeModel *etree,
- ETreePath path);
-
-/* node accessors */
-gboolean e_tree_model_node_is_root (ETreeModel *etree,
- ETreePath path);
-gboolean e_tree_model_node_is_expandable (ETreeModel *etree,
- ETreePath path);
-guint e_tree_model_node_get_children (ETreeModel *etree,
- ETreePath path,
- ETreePath **paths);
-guint e_tree_model_node_depth (ETreeModel *etree,
- ETreePath path);
-GdkPixbuf *e_tree_model_icon_at (ETreeModel *etree,
- ETreePath path);
-gboolean e_tree_model_get_expanded_default (ETreeModel *model);
-gint e_tree_model_column_count (ETreeModel *model);
-gboolean e_tree_model_has_save_id (ETreeModel *model);
-gchar *e_tree_model_get_save_id (ETreeModel *model,
- ETreePath node);
-gboolean e_tree_model_has_get_node_by_id (ETreeModel *model);
-ETreePath e_tree_model_get_node_by_id (ETreeModel *model,
- const char *save_id);
-gboolean e_tree_model_has_change_pending (ETreeModel *model);
-void *e_tree_model_value_at (ETreeModel *etree,
- ETreePath node,
- int col);
-void e_tree_model_set_value_at (ETreeModel *etree,
- ETreePath node,
- int col,
- const void *val);
-gboolean e_tree_model_node_is_editable (ETreeModel *etree,
- ETreePath node,
- int col);
-void *e_tree_model_duplicate_value (ETreeModel *etree,
- int col,
- const void *value);
-void e_tree_model_free_value (ETreeModel *etree,
- int col,
- void *value);
-void *e_tree_model_initialize_value (ETreeModel *etree,
- int col);
-gboolean e_tree_model_value_is_empty (ETreeModel *etree,
- int col,
- const void *value);
-char *e_tree_model_value_to_string (ETreeModel *etree,
- int col,
- const void *value);
-
-/* depth first traversal of path's descendents, calling func on each one */
-void e_tree_model_node_traverse (ETreeModel *model,
- ETreePath path,
- ETreePathFunc func,
- gpointer data);
-void e_tree_model_node_traverse_preorder (ETreeModel *model,
- ETreePath path,
- ETreePathFunc func,
- gpointer data);
-ETreePath e_tree_model_node_find (ETreeModel *model,
- ETreePath path,
- ETreePath end_path,
- gboolean forward_direction,
- ETreePathFunc func,
- gpointer data);
-
-/*
-** Routines for emitting signals on the ETreeModel
-*/
-void e_tree_model_pre_change (ETreeModel *tree_model);
-void e_tree_model_no_change (ETreeModel *tree_model);
-void e_tree_model_node_changed (ETreeModel *tree_model,
- ETreePath node);
-void e_tree_model_node_data_changed (ETreeModel *tree_model,
- ETreePath node);
-void e_tree_model_node_col_changed (ETreeModel *tree_model,
- ETreePath node,
- int col);
-void e_tree_model_node_inserted (ETreeModel *tree_model,
- ETreePath parent_node,
- ETreePath inserted_node);
-void e_tree_model_node_removed (ETreeModel *tree_model,
- ETreePath parent_node,
- ETreePath removed_node,
- int old_position);
-void e_tree_model_node_deleted (ETreeModel *tree_model,
- ETreePath deleted_node);
-void e_tree_model_node_request_collapse (ETreeModel *tree_model,
- ETreePath deleted_node);
-
-
-G_END_DECLS
-
-#endif /* _E_TREE_MODEL_H */
diff --git a/widgets/table/e-tree-scrolled.c b/widgets/table/e-tree-scrolled.c
deleted file mode 100644
index a72a246b69..0000000000
--- a/widgets/table/e-tree-scrolled.c
+++ /dev/null
@@ -1,228 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-tree-scrolled.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdio.h>
-#include <libgnomecanvas/gnome-canvas.h>
-#include <gtk/gtksignal.h>
-#include <libxml/parser.h>
-#include <libxml/xmlmemory.h>
-#include <gal/util/e-util.h>
-#include <gal/util/e-i18n.h>
-
-#include "e-tree-scrolled.h"
-
-#define COLUMN_HEADER_HEIGHT 16
-
-#define PARENT_TYPE gtk_scrolled_window_get_type ()
-
-static GtkObjectClass *parent_class;
-
-enum {
- PROP_0,
- PROP_TREE
-};
-
-static void
-e_tree_scrolled_init (GtkObject *object)
-{
- ETreeScrolled *ets;
- GtkScrolledWindow *scrolled_window;
-
- ets = E_TREE_SCROLLED (object);
- scrolled_window = GTK_SCROLLED_WINDOW (object);
-
- GTK_WIDGET_SET_FLAGS (ets, GTK_CAN_FOCUS);
-
- ets->tree = g_object_new (E_TREE_TYPE, NULL);
-
- gtk_scrolled_window_set_policy (scrolled_window, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
- gtk_scrolled_window_set_shadow_type (scrolled_window, GTK_SHADOW_IN);
-}
-
-static void
-e_tree_scrolled_real_construct (ETreeScrolled *ets)
-{
- gtk_container_add(GTK_CONTAINER(ets), GTK_WIDGET(ets->tree));
-
- gtk_widget_show(GTK_WIDGET(ets->tree));
-}
-
-ETreeScrolled *e_tree_scrolled_construct (ETreeScrolled *ets,
- ETreeModel *etm,
- ETableExtras *ete,
- const char *spec,
- const char *state)
-{
- g_return_val_if_fail(ets != NULL, NULL);
- g_return_val_if_fail(E_IS_TREE_SCROLLED(ets), NULL);
- g_return_val_if_fail(etm != NULL, NULL);
- g_return_val_if_fail(E_IS_TREE_MODEL(etm), NULL);
- g_return_val_if_fail(ete == NULL || E_IS_TABLE_EXTRAS(ete), NULL);
- g_return_val_if_fail(spec != NULL, NULL);
-
- e_tree_construct(ets->tree, etm, ete, spec, state);
-
- e_tree_scrolled_real_construct(ets);
-
- return ets;
-}
-
-GtkWidget *e_tree_scrolled_new (ETreeModel *etm,
- ETableExtras *ete,
- const char *spec,
- const char *state)
-{
- ETreeScrolled *ets;
-
- g_return_val_if_fail(etm != NULL, NULL);
- g_return_val_if_fail(E_IS_TREE_MODEL(etm), NULL);
- g_return_val_if_fail(ete == NULL || E_IS_TABLE_EXTRAS(ete), NULL);
- g_return_val_if_fail(spec != NULL, NULL);
-
- ets = E_TREE_SCROLLED (gtk_widget_new (e_tree_scrolled_get_type (),
- "hadjustment", NULL,
- "vadjustment", NULL,
- NULL));
-
- ets = e_tree_scrolled_construct (ets, etm, ete, spec, state);
-
- return GTK_WIDGET (ets);
-}
-
-ETreeScrolled *e_tree_scrolled_construct_from_spec_file (ETreeScrolled *ets,
- ETreeModel *etm,
- ETableExtras *ete,
- const char *spec_fn,
- const char *state_fn)
-{
- g_return_val_if_fail(ets != NULL, NULL);
- g_return_val_if_fail(E_IS_TREE_SCROLLED(ets), NULL);
- g_return_val_if_fail(etm != NULL, NULL);
- g_return_val_if_fail(E_IS_TREE_MODEL(etm), NULL);
- g_return_val_if_fail(ete == NULL || E_IS_TABLE_EXTRAS(ete), NULL);
- g_return_val_if_fail(spec_fn != NULL, NULL);
-
- e_tree_construct_from_spec_file(ets->tree, etm, ete, spec_fn, state_fn);
-
- e_tree_scrolled_real_construct(ets);
-
- return ets;
-}
-
-GtkWidget *e_tree_scrolled_new_from_spec_file (ETreeModel *etm,
- ETableExtras *ete,
- const char *spec_fn,
- const char *state_fn)
-{
- ETreeScrolled *ets;
-
- g_return_val_if_fail(etm != NULL, NULL);
- g_return_val_if_fail(E_IS_TREE_MODEL(etm), NULL);
- g_return_val_if_fail(ete == NULL || E_IS_TABLE_EXTRAS(ete), NULL);
- g_return_val_if_fail(spec_fn != NULL, NULL);
-
- ets = E_TREE_SCROLLED (gtk_widget_new (e_tree_scrolled_get_type (),
- "hadjustment", NULL,
- "vadjustment", NULL,
- NULL));
- ets = e_tree_scrolled_construct_from_spec_file (ets, etm, ete, spec_fn, state_fn);
-
- return GTK_WIDGET (ets);
-}
-
-ETree *
-e_tree_scrolled_get_tree (ETreeScrolled *ets)
-{
- return ets->tree;
-}
-
-static void
-ets_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
- ETreeScrolled *ets = E_TREE_SCROLLED (object);
-
- switch (prop_id){
- case PROP_TREE:
- g_value_set_object (value, ets->tree);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-/* Grab_focus handler for the scrolled ETree */
-static void
-ets_grab_focus (GtkWidget *widget)
-{
- ETreeScrolled *ets;
-
- ets = E_TREE_SCROLLED (widget);
-
- gtk_widget_grab_focus (GTK_WIDGET (ets->tree));
-}
-
-/* Focus handler for the scrolled ETree */
-static gint
-ets_focus (GtkWidget *container, GtkDirectionType direction)
-{
- ETreeScrolled *ets;
-
- ets = E_TREE_SCROLLED (container);
-
- return gtk_widget_child_focus (GTK_WIDGET (ets->tree), direction);
-}
-
-static void
-e_tree_scrolled_class_init (ETreeScrolledClass *class)
-{
- GObjectClass *object_class;
- GtkWidgetClass *widget_class;
- GtkContainerClass *container_class;
-
- object_class = (GObjectClass *) class;
- widget_class = (GtkWidgetClass *) class;
- container_class = (GtkContainerClass *) class;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class->get_property = ets_get_property;
-
- widget_class->grab_focus = ets_grab_focus;
-
- widget_class->focus = ets_focus;
-
- g_object_class_install_property (object_class, PROP_TREE,
- g_param_spec_object ("tree",
- _( "Tree" ),
- _( "Tree" ),
- E_TREE_TYPE,
- G_PARAM_READABLE));
-}
-
-E_MAKE_TYPE(e_tree_scrolled, "ETreeScrolled", ETreeScrolled, e_tree_scrolled_class_init, e_tree_scrolled_init, PARENT_TYPE)
-
diff --git a/widgets/table/e-tree-scrolled.h b/widgets/table/e-tree-scrolled.h
deleted file mode 100644
index f861b71138..0000000000
--- a/widgets/table/e-tree-scrolled.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-tree-scrolled.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TREE_SCROLLED_H_
-#define _E_TREE_SCROLLED_H_
-
-#include <gtk/gtkscrolledwindow.h>
-#include <gal/e-table/e-tree-model.h>
-#include <gal/e-table/e-tree.h>
-
-G_BEGIN_DECLS
-
-#define E_TREE_SCROLLED_TYPE (e_tree_scrolled_get_type ())
-#define E_TREE_SCROLLED(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TREE_SCROLLED_TYPE, ETreeScrolled))
-#define E_TREE_SCROLLED_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TREE_SCROLLED_TYPE, ETreeScrolledClass))
-#define E_IS_TREE_SCROLLED(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TREE_SCROLLED_TYPE))
-#define E_IS_TREE_SCROLLED_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TREE_SCROLLED_TYPE))
-
-typedef struct {
- GtkScrolledWindow parent;
-
- ETree *tree;
-} ETreeScrolled;
-
-typedef struct {
- GtkScrolledWindowClass parent_class;
-} ETreeScrolledClass;
-
-GType e_tree_scrolled_get_type (void);
-
-ETreeScrolled *e_tree_scrolled_construct (ETreeScrolled *ets,
- ETreeModel *etm,
- ETableExtras *ete,
- const char *spec,
- const char *state);
-GtkWidget *e_tree_scrolled_new (ETreeModel *etm,
- ETableExtras *ete,
- const char *spec,
- const char *state);
-
-ETreeScrolled *e_tree_scrolled_construct_from_spec_file (ETreeScrolled *ets,
- ETreeModel *etm,
- ETableExtras *ete,
- const char *spec_fn,
- const char *state_fn);
-GtkWidget *e_tree_scrolled_new_from_spec_file (ETreeModel *etm,
- ETableExtras *ete,
- const char *spec_fn,
- const char *state_fn);
-
-ETree *e_tree_scrolled_get_tree (ETreeScrolled *ets);
-
-G_END_DECLS
-
-#endif /* _E_TREE_SCROLLED_H_ */
diff --git a/widgets/table/e-tree-selection-model.c b/widgets/table/e-tree-selection-model.c
deleted file mode 100644
index 6d45b6257c..0000000000
--- a/widgets/table/e-tree-selection-model.c
+++ /dev/null
@@ -1,816 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-tree-selection-model.c
- * Copyright 2000, 2001, 2003 Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Mike Kestner <mkestner@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include "e-tree-selection-model.h"
-#include <gal/util/e-i18n.h>
-#include <gal/util/e-util.h>
-#include <gdk/gdkkeysyms.h>
-#include <gal/e-table/e-tree-table-adapter.h>
-
-#define PARENT_TYPE e_selection_model_get_type ()
-
-static ESelectionModelClass *parent_class;
-
-enum {
- PROP_0,
- PROP_CURSOR_ROW,
- PROP_CURSOR_COL,
- PROP_MODEL,
- PROP_ETTA,
-};
-
-struct ETreeSelectionModelPriv {
- ETreeTableAdapter *etta;
- ETreeModel *model;
-
- GHashTable *paths;
- ETreePath cursor_path;
- ETreePath start_path;
- gint cursor_col;
- gchar *cursor_save_id;
-
- gint tree_model_pre_change_id;
- gint tree_model_no_change_id;
- gint tree_model_node_changed_id;
- gint tree_model_node_data_changed_id;
- gint tree_model_node_col_changed_id;
- gint tree_model_node_inserted_id;
- gint tree_model_node_removed_id;
- gint tree_model_node_deleted_id;
-};
-
-static gint
-get_cursor_row (ETreeSelectionModel *etsm)
-{
- if (etsm->priv->cursor_path)
- return e_tree_table_adapter_row_of_node(etsm->priv->etta, etsm->priv->cursor_path);
-
- return -1;
-}
-
-static void
-clear_selection (ETreeSelectionModel *etsm)
-{
- g_hash_table_destroy (etsm->priv->paths);
- etsm->priv->paths = g_hash_table_new (NULL, NULL);
-}
-
-static void
-change_one_path (ETreeSelectionModel *etsm, ETreePath path, gboolean grow)
-{
- if (!path)
- return;
-
- if (grow)
- g_hash_table_insert (etsm->priv->paths, path, path);
- else if (g_hash_table_lookup (etsm->priv->paths, path))
- g_hash_table_remove (etsm->priv->paths, path);
-}
-
-static void
-select_single_path (ETreeSelectionModel *etsm, ETreePath path)
-{
- clear_selection (etsm);
- change_one_path(etsm, path, TRUE);
- etsm->priv->cursor_path = path;
- etsm->priv->start_path = NULL;
-}
-
-static void
-select_range (ETreeSelectionModel *etsm, gint start, gint end)
-{
- gint i;
-
- if (start > end) {
- i = start;
- start = end;
- end = i;
- }
-
- for (i = start; i <= end; i++) {
- ETreePath path = e_tree_table_adapter_node_at_row (etsm->priv->etta, i);
- if (path)
- g_hash_table_insert (etsm->priv->paths, path, path);
- }
-}
-
-static void
-free_id (ETreeSelectionModel *etsm)
-{
- g_free (etsm->priv->cursor_save_id);
- etsm->priv->cursor_save_id = NULL;
-}
-
-static void
-restore_cursor (ETreeSelectionModel *etsm, ETreeModel *etm)
-{
- clear_selection (etsm);
- etsm->priv->cursor_path = NULL;
-
- if (etsm->priv->cursor_save_id) {
- etsm->priv->cursor_path = e_tree_model_get_node_by_id (etm, etsm->priv->cursor_save_id);
- if (etsm->priv->cursor_path != NULL && etsm->priv->cursor_col == -1)
- etsm->priv->cursor_col = 0;
-
- select_single_path(etsm, etsm->priv->cursor_path);
- }
-
- e_selection_model_selection_changed(E_SELECTION_MODEL(etsm));
-
- if (etsm->priv->cursor_path) {
- gint cursor_row = get_cursor_row (etsm);
- e_selection_model_cursor_changed(E_SELECTION_MODEL(etsm), cursor_row, etsm->priv->cursor_col);
- } else {
- e_selection_model_cursor_changed(E_SELECTION_MODEL(etsm), -1, -1);
- e_selection_model_cursor_activated(E_SELECTION_MODEL(etsm), -1, -1);
-
- }
-
- free_id (etsm);
-}
-
-static void
-etsm_pre_change (ETreeModel *etm, ETreeSelectionModel *etsm)
-{
- g_free (etsm->priv->cursor_save_id);
- etsm->priv->cursor_save_id = NULL;
-
- if (e_tree_model_has_get_node_by_id (etm) && e_tree_model_has_save_id (etm) && etsm->priv->cursor_path) {
- etsm->priv->cursor_save_id = e_tree_model_get_save_id (etm, etsm->priv->cursor_path);
- }
-}
-
-static void
-etsm_no_change (ETreeModel *etm, ETreeSelectionModel *etsm)
-{
- free_id (etsm);
-}
-
-static void
-etsm_node_changed (ETreeModel *etm, ETreePath node, ETreeSelectionModel *etsm)
-{
- restore_cursor (etsm, etm);
-}
-
-static void
-etsm_node_data_changed (ETreeModel *etm, ETreePath node, ETreeSelectionModel *etsm)
-{
- free_id (etsm);
-}
-
-static void
-etsm_node_col_changed (ETreeModel *etm, ETreePath node, int col, ETreeSelectionModel *etsm)
-{
- free_id (etsm);
-}
-
-static void
-etsm_node_inserted (ETreeModel *etm, ETreePath parent, ETreePath child, ETreeSelectionModel *etsm)
-{
- restore_cursor (etsm, etm);
-}
-
-static void
-etsm_node_removed (ETreeModel *etm, ETreePath parent, ETreePath child, int old_position, ETreeSelectionModel *etsm)
-{
- restore_cursor (etsm, etm);
-}
-
-static void
-etsm_node_deleted (ETreeModel *etm, ETreePath child, ETreeSelectionModel *etsm)
-{
- restore_cursor (etsm, etm);
-}
-
-
-static void
-add_model(ETreeSelectionModel *etsm, ETreeModel *model)
-{
- ETreeSelectionModelPriv *priv = etsm->priv;
-
- priv->model = model;
-
- if (!priv->model)
- return;
-
- g_object_ref(priv->model);
- priv->tree_model_pre_change_id = g_signal_connect_after (G_OBJECT (priv->model), "pre_change",
- G_CALLBACK (etsm_pre_change), etsm);
- priv->tree_model_no_change_id = g_signal_connect_after (G_OBJECT (priv->model), "no_change",
- G_CALLBACK (etsm_no_change), etsm);
- priv->tree_model_node_changed_id = g_signal_connect_after (G_OBJECT (priv->model), "node_changed",
- G_CALLBACK (etsm_node_changed), etsm);
- priv->tree_model_node_data_changed_id = g_signal_connect_after (G_OBJECT (priv->model), "node_data_changed",
- G_CALLBACK (etsm_node_data_changed), etsm);
- priv->tree_model_node_col_changed_id = g_signal_connect_after (G_OBJECT (priv->model), "node_col_changed",
- G_CALLBACK (etsm_node_col_changed), etsm);
- priv->tree_model_node_inserted_id = g_signal_connect_after (G_OBJECT (priv->model), "node_inserted",
- G_CALLBACK (etsm_node_inserted), etsm);
- priv->tree_model_node_removed_id = g_signal_connect_after (G_OBJECT (priv->model), "node_removed",
- G_CALLBACK (etsm_node_removed), etsm);
- priv->tree_model_node_deleted_id = g_signal_connect_after (G_OBJECT (priv->model), "node_deleted",
- G_CALLBACK (etsm_node_deleted), etsm);
-}
-
-static void
-drop_model(ETreeSelectionModel *etsm)
-{
- ETreeSelectionModelPriv *priv = etsm->priv;
-
- if (!priv->model)
- return;
-
- g_signal_handler_disconnect (G_OBJECT (priv->model),
- priv->tree_model_pre_change_id);
- g_signal_handler_disconnect (G_OBJECT (priv->model),
- priv->tree_model_no_change_id);
- g_signal_handler_disconnect (G_OBJECT (priv->model),
- priv->tree_model_node_changed_id);
- g_signal_handler_disconnect (G_OBJECT (priv->model),
- priv->tree_model_node_data_changed_id);
- g_signal_handler_disconnect (G_OBJECT (priv->model),
- priv->tree_model_node_col_changed_id);
- g_signal_handler_disconnect (G_OBJECT (priv->model),
- priv->tree_model_node_inserted_id);
- g_signal_handler_disconnect (G_OBJECT (priv->model),
- priv->tree_model_node_removed_id);
- g_signal_handler_disconnect (G_OBJECT (priv->model),
- priv->tree_model_node_deleted_id);
-
- g_object_unref (priv->model);
- priv->model = NULL;
-
- priv->tree_model_pre_change_id = 0;
- priv->tree_model_no_change_id = 0;
- priv->tree_model_node_changed_id = 0;
- priv->tree_model_node_data_changed_id = 0;
- priv->tree_model_node_col_changed_id = 0;
- priv->tree_model_node_inserted_id = 0;
- priv->tree_model_node_removed_id = 0;
- priv->tree_model_node_deleted_id = 0;
-}
-
-static void
-etsm_dispose (GObject *object)
-{
- ETreeSelectionModel *etsm = E_TREE_SELECTION_MODEL (object);
-
- drop_model(etsm);
-
- if (G_OBJECT_CLASS (parent_class)->dispose)
- (* G_OBJECT_CLASS (parent_class)->dispose) (object);
-}
-
-static void
-etsm_finalize (GObject *object)
-{
- ETreeSelectionModel *etsm = E_TREE_SELECTION_MODEL (object);
-
- if (etsm->priv) {
- clear_selection (etsm);
- g_hash_table_destroy (etsm->priv->paths);
- g_free (etsm->priv);
- etsm->priv = NULL;
- }
-
- if (G_OBJECT_CLASS (parent_class)->finalize)
- (* G_OBJECT_CLASS (parent_class)->finalize) (object);
-}
-
-static void
-etsm_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
- ETreeSelectionModel *etsm = E_TREE_SELECTION_MODEL (object);
-
- switch (prop_id){
- case PROP_CURSOR_ROW:
- g_value_set_int (value, get_cursor_row(etsm));
- break;
-
- case PROP_CURSOR_COL:
- g_value_set_int (value, etsm->priv->cursor_col);
- break;
-
- case PROP_MODEL:
- g_value_set_object (value, etsm->priv->model);
- break;
-
- case PROP_ETTA:
- g_value_set_object (value, etsm->priv->etta);
- break;
- }
-}
-
-static void
-etsm_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
-{
- ESelectionModel *esm = E_SELECTION_MODEL (object);
- ETreeSelectionModel *etsm = E_TREE_SELECTION_MODEL (object);
-
- switch (prop_id){
- case PROP_CURSOR_ROW:
- e_selection_model_do_something(esm, g_value_get_int (value), etsm->priv->cursor_col, 0);
- break;
-
- case PROP_CURSOR_COL:
- e_selection_model_do_something(esm, get_cursor_row(etsm), g_value_get_int(value), 0);
- break;
-
- case PROP_MODEL:
- drop_model(etsm);
- add_model(etsm, E_TREE_MODEL (g_value_get_object(value)));
- break;
-
- case PROP_ETTA:
- etsm->priv->etta = E_TREE_TABLE_ADAPTER (g_value_get_object (value));
- break;
- }
-}
-
-static gboolean
-etsm_is_path_selected (ETreeSelectionModel *etsm, ETreePath path)
-{
- if (path && g_hash_table_lookup (etsm->priv->paths, path))
- return TRUE;
-
- return FALSE;
-}
-
-/**
- * e_selection_model_is_row_selected
- * @selection: #ESelectionModel to check
- * @n: The row to check
- *
- * This routine calculates whether the given row is selected.
- *
- * Returns: %TRUE if the given row is selected
- */
-static gboolean
-etsm_is_row_selected (ESelectionModel *selection,
- gint row)
-{
- ETreeSelectionModel *etsm = E_TREE_SELECTION_MODEL(selection);
- ETreePath path;
-
- g_return_val_if_fail(row < e_table_model_row_count(E_TABLE_MODEL(etsm->priv->etta)), FALSE);
- g_return_val_if_fail(row >= 0, FALSE);
- g_return_val_if_fail(etsm != NULL, FALSE);
-
- path = e_tree_table_adapter_node_at_row(etsm->priv->etta, row);
- return etsm_is_path_selected (etsm, path);
-}
-
-
-typedef struct {
- ETreeSelectionModel *etsm;
- EForeachFunc callback;
- gpointer closure;
-} ModelAndCallback;
-
-static void
-etsm_row_foreach_cb (gpointer key, gpointer value, gpointer user_data)
-{
- ETreePath path = key;
- ModelAndCallback *mac = user_data;
- int row = e_tree_table_adapter_row_of_node(mac->etsm->priv->etta, path);
- if (row >= 0)
- mac->callback(row, mac->closure);
-}
-
-/**
- * e_selection_model_foreach
- * @selection: #ESelectionModel to traverse
- * @callback: The callback function to call back.
- * @closure: The closure
- *
- * This routine calls the given callback function once for each
- * selected row, passing closure as the closure.
- */
-static void
-etsm_foreach (ESelectionModel *selection,
- EForeachFunc callback,
- gpointer closure)
-{
- ETreeSelectionModel *etsm = E_TREE_SELECTION_MODEL(selection);
- ModelAndCallback mac;
-
- mac.etsm = etsm;
- mac.callback = callback;
- mac.closure = closure;
-
- g_hash_table_foreach(etsm->priv->paths, etsm_row_foreach_cb, &mac);
-}
-
-/**
- * e_selection_model_clear
- * @selection: #ESelectionModel to clear
- *
- * This routine clears the selection to no rows selected.
- */
-static void
-etsm_clear(ESelectionModel *selection)
-{
- ETreeSelectionModel *etsm = E_TREE_SELECTION_MODEL(selection);
-
- clear_selection (etsm);
-
- etsm->priv->cursor_path = NULL;
- e_selection_model_selection_changed(E_SELECTION_MODEL(etsm));
- e_selection_model_cursor_changed(E_SELECTION_MODEL(etsm), -1, -1);
-}
-
-/**
- * e_selection_model_selected_count
- * @selection: #ESelectionModel to count
- *
- * This routine calculates the number of rows selected.
- *
- * Returns: The number of rows selected in the given model.
- */
-static gint
-etsm_selected_count (ESelectionModel *selection)
-{
- ETreeSelectionModel *etsm = E_TREE_SELECTION_MODEL(selection);
-
- return g_hash_table_size (etsm->priv->paths);
-}
-
-static int
-etsm_row_count (ESelectionModel *selection)
-{
- ETreeSelectionModel *etsm = E_TREE_SELECTION_MODEL(selection);
- return e_table_model_row_count(E_TABLE_MODEL(etsm->priv->etta));
-}
-
-/**
- * e_selection_model_select_all
- * @selection: #ESelectionModel to select all
- *
- * This routine selects all the rows in the given
- * #ESelectionModel.
- */
-static void
-etsm_select_all (ESelectionModel *selection)
-{
- ETreeSelectionModel *etsm = E_TREE_SELECTION_MODEL(selection);
- ETreePath root;
-
- root = e_tree_model_get_root(etsm->priv->model);
- if (root == NULL)
- return;
-
- clear_selection (etsm);
- select_range (etsm, 0, etsm_row_count (selection) - 1);
-
- if (etsm->priv->cursor_path == NULL)
- etsm->priv->cursor_path = e_tree_table_adapter_node_at_row(etsm->priv->etta, 0);
-
- e_selection_model_selection_changed(E_SELECTION_MODEL(etsm));
- e_selection_model_cursor_changed(E_SELECTION_MODEL(etsm), get_cursor_row(etsm), etsm->priv->cursor_col);
-}
-
-/**
- * e_selection_model_invert_selection
- * @selection: #ESelectionModel to invert
- *
- * This routine inverts all the rows in the given
- * #ESelectionModel.
- */
-static void
-etsm_invert_selection (ESelectionModel *selection)
-{
- ETreeSelectionModel *etsm = E_TREE_SELECTION_MODEL(selection);
- gint count = etsm_row_count (selection);
- gint i;
-
- for (i = 0; i < count; i++) {
- ETreePath path = e_tree_table_adapter_node_at_row (etsm->priv->etta, i);
- if (!path)
- continue;
- if (g_hash_table_lookup (etsm->priv->paths, path))
- g_hash_table_remove (etsm->priv->paths, path);
- else
- g_hash_table_insert (etsm->priv->paths, path, path);
- }
-
- etsm->priv->cursor_col = -1;
- etsm->priv->cursor_path = NULL;
- etsm->priv->start_path = NULL;
- e_selection_model_selection_changed(E_SELECTION_MODEL(etsm));
- e_selection_model_cursor_changed(E_SELECTION_MODEL(etsm), -1, -1);
-}
-
-static void
-etsm_change_one_row(ESelectionModel *selection, int row, gboolean grow)
-{
- ETreeSelectionModel *etsm = E_TREE_SELECTION_MODEL(selection);
- ETreePath path;
-
- g_return_if_fail(row < e_table_model_row_count(E_TABLE_MODEL(etsm->priv->etta)));
- g_return_if_fail(row >= 0);
- g_return_if_fail(selection != NULL);
-
- path = e_tree_table_adapter_node_at_row(etsm->priv->etta, row);
-
- if (!path)
- return;
-
- change_one_path (etsm, path, grow);
-}
-
-static void
-etsm_change_cursor (ESelectionModel *selection, int row, int col)
-{
- ETreeSelectionModel *etsm;
-
- g_return_if_fail(selection != NULL);
- g_return_if_fail(E_IS_SELECTION_MODEL(selection));
-
- etsm = E_TREE_SELECTION_MODEL(selection);
-
- if (row == -1) {
- etsm->priv->cursor_path = NULL;
- } else {
- etsm->priv->cursor_path = e_tree_table_adapter_node_at_row(etsm->priv->etta, row);
- }
- etsm->priv->cursor_col = col;
-}
-
-static gint
-etsm_cursor_row (ESelectionModel *selection)
-{
- return get_cursor_row(E_TREE_SELECTION_MODEL(selection));
-}
-
-static gint
-etsm_cursor_col (ESelectionModel *selection)
-{
- ETreeSelectionModel *etsm = E_TREE_SELECTION_MODEL(selection);
- return etsm->priv->cursor_col;
-}
-
-static void
-etsm_select_single_row (ESelectionModel *selection, gint row)
-{
- ETreeSelectionModel *etsm = E_TREE_SELECTION_MODEL(selection);
- ETreePath path = e_tree_table_adapter_node_at_row (etsm->priv->etta, row);
-
- g_return_if_fail (path != NULL);
-
- select_single_path (etsm, path);
-
- e_selection_model_selection_changed(E_SELECTION_MODEL(etsm));
-}
-
-static void
-etsm_toggle_single_row (ESelectionModel *selection, gint row)
-{
- ETreeSelectionModel *etsm = E_TREE_SELECTION_MODEL(selection);
- ETreePath path = e_tree_table_adapter_node_at_row(etsm->priv->etta, row);
-
- g_return_if_fail (path);
-
- if (g_hash_table_lookup (etsm->priv->paths, path))
- g_hash_table_remove (etsm->priv->paths, path);
- else
- g_hash_table_insert (etsm->priv->paths, path, path);
-
- etsm->priv->start_path = NULL;
- e_selection_model_selection_changed(E_SELECTION_MODEL(etsm));
-}
-
-static void
-etsm_real_move_selection_end (ETreeSelectionModel *etsm, gint row)
-{
- ETreePath end_path = e_tree_table_adapter_node_at_row (etsm->priv->etta, row);
- gint start;
-
- g_return_if_fail (end_path);
-
- start = e_tree_table_adapter_row_of_node(etsm->priv->etta, etsm->priv->start_path);
- clear_selection (etsm);
- select_range (etsm, start, row);
-}
-
-static void
-etsm_move_selection_end (ESelectionModel *selection, gint row)
-{
- ETreeSelectionModel *etsm = E_TREE_SELECTION_MODEL(selection);
-
- g_return_if_fail (etsm->priv->cursor_path);
-
- etsm_real_move_selection_end (etsm, row);
- e_selection_model_selection_changed(E_SELECTION_MODEL(selection));
-}
-
-static void
-etsm_set_selection_end (ESelectionModel *selection, gint row)
-{
- ETreeSelectionModel *etsm = E_TREE_SELECTION_MODEL(selection);
-
- g_return_if_fail (etsm->priv->cursor_path);
-
- if (!etsm->priv->start_path)
- etsm->priv->start_path = etsm->priv->cursor_path;
- etsm_real_move_selection_end(etsm, row);
- e_selection_model_selection_changed(E_SELECTION_MODEL(etsm));
-}
-
-struct foreach_path_t {
- ETreeForeachFunc callback;
- gpointer closure;
-};
-
-static void
-foreach_path (gpointer key, gpointer value, gpointer data)
-{
- ETreePath path = key;
- struct foreach_path_t *c = data;
- c->callback (path, c->closure);
-}
-
-void
-e_tree_selection_model_foreach (ETreeSelectionModel *etsm, ETreeForeachFunc callback, gpointer closure)
-{
- if (etsm->priv->paths) {
- struct foreach_path_t c;
- c.callback = callback;
- c.closure = closure;
- g_hash_table_foreach(etsm->priv->paths, foreach_path, &c);
- return;
- }
-}
-
-void
-e_tree_selection_model_select_single_path (ETreeSelectionModel *etsm, ETreePath path)
-{
- select_single_path (etsm, path);
-
- e_selection_model_selection_changed(E_SELECTION_MODEL(etsm));
-}
-
-void
-e_tree_selection_model_select_paths (ETreeSelectionModel *etsm, GPtrArray *paths)
-{
- ETreePath path;
- int i;
-
- for (i=0;i<paths->len;i++) {
- path = paths->pdata[i];
- change_one_path(etsm, path, TRUE);
- }
-
- e_selection_model_selection_changed(E_SELECTION_MODEL(etsm));
-}
-
-void
-e_tree_selection_model_add_to_selection (ETreeSelectionModel *etsm, ETreePath path)
-{
- change_one_path(etsm, path, TRUE);
-
- e_selection_model_selection_changed(E_SELECTION_MODEL(etsm));
-}
-
-void
-e_tree_selection_model_change_cursor (ETreeSelectionModel *etsm, ETreePath path)
-{
- int row;
-
- etsm->priv->cursor_path = path;
-
- row = get_cursor_row(etsm);
-
- E_SELECTION_MODEL (etsm)->old_selection = -1;
-
- e_selection_model_cursor_changed(E_SELECTION_MODEL(etsm), row, etsm->priv->cursor_col);
- e_selection_model_cursor_activated(E_SELECTION_MODEL(etsm), row, etsm->priv->cursor_col);
-}
-
-ETreePath
-e_tree_selection_model_get_cursor (ETreeSelectionModel *etsm)
-{
- return etsm->priv->cursor_path;
-}
-
-
-static void
-e_tree_selection_model_init (ETreeSelectionModel *etsm)
-{
- ETreeSelectionModelPriv *priv;
- priv = g_new(ETreeSelectionModelPriv, 1);
- etsm->priv = priv;
-
- priv->etta = NULL;
- priv->model = NULL;
-
- priv->paths = g_hash_table_new (NULL, NULL);
-
- priv->cursor_path = NULL;
- priv->start_path = NULL;
- priv->cursor_col = -1;
- priv->cursor_save_id = NULL;
-
- priv->tree_model_pre_change_id = 0;
- priv->tree_model_no_change_id = 0;
- priv->tree_model_node_changed_id = 0;
- priv->tree_model_node_data_changed_id = 0;
- priv->tree_model_node_col_changed_id = 0;
- priv->tree_model_node_inserted_id = 0;
- priv->tree_model_node_removed_id = 0;
- priv->tree_model_node_deleted_id = 0;
-}
-
-static void
-e_tree_selection_model_class_init (ETreeSelectionModelClass *klass)
-{
- GObjectClass *object_class;
- ESelectionModelClass *esm_class;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class = G_OBJECT_CLASS(klass);
- esm_class = E_SELECTION_MODEL_CLASS(klass);
-
- object_class->dispose = etsm_dispose;
- object_class->finalize = etsm_finalize;
- object_class->get_property = etsm_get_property;
- object_class->set_property = etsm_set_property;
-
- esm_class->is_row_selected = etsm_is_row_selected ;
- esm_class->foreach = etsm_foreach ;
- esm_class->clear = etsm_clear ;
- esm_class->selected_count = etsm_selected_count ;
- esm_class->select_all = etsm_select_all ;
- esm_class->invert_selection = etsm_invert_selection ;
- esm_class->row_count = etsm_row_count ;
-
- esm_class->change_one_row = etsm_change_one_row ;
- esm_class->change_cursor = etsm_change_cursor ;
- esm_class->cursor_row = etsm_cursor_row ;
- esm_class->cursor_col = etsm_cursor_col ;
-
- esm_class->select_single_row = etsm_select_single_row ;
- esm_class->toggle_single_row = etsm_toggle_single_row ;
- esm_class->move_selection_end = etsm_move_selection_end ;
- esm_class->set_selection_end = etsm_set_selection_end ;
-
- g_object_class_install_property (object_class, PROP_CURSOR_ROW,
- g_param_spec_int ("cursor_row",
- _("Cursor Row"),
- /*_( */"XXX blurb" /*)*/,
- 0, G_MAXINT, 0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_CURSOR_COL,
- g_param_spec_int ("cursor_col",
- _("Cursor Column"),
- /*_( */"XXX blurb" /*)*/,
- 0, G_MAXINT, 0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_MODEL,
- g_param_spec_object ("model",
- _("Model"),
- "XXX blurb",
- E_TREE_MODEL_TYPE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_ETTA,
- g_param_spec_object ("etta",
- "ETTA",
- "XXX blurb",
- E_TREE_TABLE_ADAPTER_TYPE,
- G_PARAM_READWRITE));
-
-}
-
-ESelectionModel *
-e_tree_selection_model_new (void)
-{
- return g_object_new (E_TREE_SELECTION_MODEL_TYPE, NULL);
-}
-
-E_MAKE_TYPE(e_tree_selection_model, "ETreeSelectionModel", ETreeSelectionModel,
- e_tree_selection_model_class_init, e_tree_selection_model_init, PARENT_TYPE)
diff --git a/widgets/table/e-tree-selection-model.h b/widgets/table/e-tree-selection-model.h
deleted file mode 100644
index 44ebf08f31..0000000000
--- a/widgets/table/e-tree-selection-model.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-tree-selection-model.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TREE_SELECTION_MODEL_H_
-#define _E_TREE_SELECTION_MODEL_H_
-
-#include <gdk/gdktypes.h>
-#include <gtk/gtkobject.h>
-#include <gal/util/e-sorter.h>
-#include <gal/widgets/e-selection-model.h>
-#include <gal/e-table/e-tree-model.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-typedef void (*ETreeForeachFunc) (ETreePath path,
- gpointer closure);
-
-typedef struct ETreeSelectionModelPriv ETreeSelectionModelPriv;
-
-#define E_TREE_SELECTION_MODEL_TYPE (e_tree_selection_model_get_type ())
-#define E_TREE_SELECTION_MODEL(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TREE_SELECTION_MODEL_TYPE, ETreeSelectionModel))
-#define E_TREE_SELECTION_MODEL_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TREE_SELECTION_MODEL_TYPE, ETreeSelectionModelClass))
-#define E_IS_TREE_SELECTION_MODEL(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TREE_SELECTION_MODEL_TYPE))
-#define E_IS_TREE_SELECTION_MODEL_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TREE_SELECTION_MODEL_TYPE))
-
-typedef struct {
- ESelectionModel base;
-
- ETreeSelectionModelPriv *priv;
-} ETreeSelectionModel;
-
-typedef struct {
- ESelectionModelClass parent_class;
-} ETreeSelectionModelClass;
-
-
-GType e_tree_selection_model_get_type (void);
-ESelectionModel *e_tree_selection_model_new (void);
-void e_tree_selection_model_foreach (ETreeSelectionModel *etsm,
- ETreeForeachFunc callback,
- gpointer closure);
-void e_tree_selection_model_select_single_path (ETreeSelectionModel *etsm,
- ETreePath path);
-void e_tree_selection_model_select_paths (ETreeSelectionModel *etsm, GPtrArray *paths);
-
-void e_tree_selection_model_add_to_selection (ETreeSelectionModel *etsm,
- ETreePath path);
-void e_tree_selection_model_change_cursor (ETreeSelectionModel *etsm,
- ETreePath path);
-ETreePath e_tree_selection_model_get_cursor (ETreeSelectionModel *etsm);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* _E_TREE_SELECTION_MODEL_H_ */
diff --git a/widgets/table/e-tree-simple.c b/widgets/table/e-tree-simple.c
deleted file mode 100644
index e8dff1e05a..0000000000
--- a/widgets/table/e-tree-simple.c
+++ /dev/null
@@ -1,208 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-tree-simple.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include "gal/util/e-util.h"
-#include "e-tree-simple.h"
-
-static int
-simple_column_count (ETableModel *etm)
-{
- ETreeSimple *simple = E_TREE_SIMPLE(etm);
-
- if (simple->col_count)
- return simple->col_count (etm, simple->model_data);
- else
- return 0;
-}
-
-/* The default for simple_duplicate_value is to return the raw value. */
-static void *
-simple_duplicate_value (ETableModel *etm, int col, const void *value)
-{
- ETreeSimple *simple = E_TREE_SIMPLE(etm);
-
- if (simple->duplicate_value)
- return simple->duplicate_value (etm, col, value, simple->model_data);
- else
- return (void *)value;
-}
-
-static void
-simple_free_value (ETableModel *etm, int col, void *value)
-{
- ETreeSimple *simple = E_TREE_SIMPLE(etm);
-
- if (simple->free_value)
- simple->free_value (etm, col, value, simple->model_data);
-}
-
-static void *
-simple_initialize_value (ETableModel *etm, int col)
-{
- ETreeSimple *simple = E_TREE_SIMPLE(etm);
-
- if (simple->initialize_value)
- return simple->initialize_value (etm, col, simple->model_data);
- else
- return NULL;
-}
-
-static gboolean
-simple_value_is_empty (ETableModel *etm, int col, const void *value)
-{
- ETreeSimple *simple = E_TREE_SIMPLE(etm);
-
- if (simple->value_is_empty)
- return simple->value_is_empty (etm, col, value, simple->model_data);
- else
- return FALSE;
-}
-
-static char *
-simple_value_to_string (ETableModel *etm, int col, const void *value)
-{
- ETreeSimple *simple = E_TREE_SIMPLE(etm);
-
- if (simple->value_to_string)
- return simple->value_to_string (etm, col, value, simple->model_data);
- else
- return g_strdup ("");
-}
-
-static void *
-simple_value_at (ETreeModel *etm, ETreePath *node, int col)
-{
- ETreeSimple *simple = E_TREE_SIMPLE(etm);
-
- return simple->value_at (etm, node, col, simple->model_data);
-}
-
-static GdkPixbuf *
-simple_icon_at (ETreeModel *etm, ETreePath *node)
-{
- ETreeSimple *simple = E_TREE_SIMPLE(etm);
-
- return simple->icon_at (etm, node, simple->model_data);
-}
-
-static void
-simple_set_value_at (ETreeModel *etm, ETreePath *node, int col, const void *val)
-{
- ETreeSimple *simple = E_TREE_SIMPLE(etm);
-
- simple->set_value_at (etm, node, col, val, simple->model_data);
-}
-
-static gboolean
-simple_is_editable (ETreeModel *etm, ETreePath *node, int col)
-{
- ETreeSimple *simple = E_TREE_SIMPLE(etm);
-
- return simple->is_editable (etm, node, col, simple->model_data);
-}
-
-static void
-e_tree_simple_class_init (GObjectClass *object_class)
-{
- ETreeModelClass *model_class = (ETreeModelClass *) object_class;
- ETableModelClass *table_model_class = (ETableModelClass *) object_class;
-
- table_model_class->column_count = simple_column_count;
- table_model_class->duplicate_value = simple_duplicate_value;
- table_model_class->free_value = simple_free_value;
- table_model_class->initialize_value = simple_initialize_value;
- table_model_class->value_is_empty = simple_value_is_empty;
- table_model_class->value_to_string = simple_value_to_string;
-
- model_class ->icon_at = simple_icon_at;
- model_class ->value_at = simple_value_at;
- model_class ->set_value_at = simple_set_value_at;
- model_class ->is_editable = simple_is_editable;
-}
-
-E_MAKE_TYPE(e_tree_simple, "ETreeSimple", ETreeSimple, e_tree_simple_class_init, NULL, E_TREE_MODEL_TYPE)
-
-/**
- * e_tree_simple_new:
- * @col_count:
- * @duplicate_value:
- * @free_value:
- * @initialize_value:
- * @value_is_empty:
- * @value_to_string:
- * @icon_at:
- * @value_at:
- * @set_value_at:
- * @is_editable:
- * @model_data:
- *
- * This initializes a new ETreeSimpleModel object. ETreeSimpleModel is
- * an implementaiton of the abstract class ETreeModel. The ETreeSimpleModel
- * is designed to allow people to easily create ETreeModels without having
- * to create a new GtkType derived from ETreeModel every time they need one.
- *
- * Instead, ETreeSimpleModel uses a setup based in callback functions, every
- * callback function signature mimics the signature of each ETreeModel method
- * and passes the extra @data pointer to each one of the method to provide them
- * with any context they might want to use.
- *
- * ETreeSimple is to ETreeModel as ETableSimple is to ETableModel.
- *
- * Return value: An ETreeSimple object (which is also an ETreeModel
- * object).
- **/
-ETreeModel *
-e_tree_simple_new (ETableSimpleColumnCountFn col_count,
- ETableSimpleDuplicateValueFn duplicate_value,
- ETableSimpleFreeValueFn free_value,
- ETableSimpleInitializeValueFn initialize_value,
- ETableSimpleValueIsEmptyFn value_is_empty,
- ETableSimpleValueToStringFn value_to_string,
-
- ETreeSimpleIconAtFn icon_at,
- ETreeSimpleValueAtFn value_at,
- ETreeSimpleSetValueAtFn set_value_at,
- ETreeSimpleIsEditableFn is_editable,
-
- gpointer model_data)
-{
- ETreeSimple *etg = g_object_new (E_TREE_SIMPLE_TYPE, NULL);
-
- etg->col_count = col_count;
- etg->duplicate_value = duplicate_value;
- etg->free_value = free_value;
- etg->initialize_value = initialize_value;
- etg->value_is_empty = value_is_empty;
- etg->value_to_string = value_to_string;
-
- etg->icon_at = icon_at;
- etg->value_at = value_at;
- etg->set_value_at = set_value_at;
- etg->is_editable = is_editable;
-
- etg->model_data = model_data;
-
- return (ETreeModel*)etg;
-}
-
diff --git a/widgets/table/e-tree-simple.h b/widgets/table/e-tree-simple.h
deleted file mode 100644
index f9980c9544..0000000000
--- a/widgets/table/e-tree-simple.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-tree-simple.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TREE_SIMPLE_H_
-#define _E_TREE_SIMPLE_H_
-
-#include <gal/e-table/e-tree-model.h>
-#include <gal/e-table/e-table-simple.h>
-
-G_BEGIN_DECLS
-
-#define E_TREE_SIMPLE_TYPE (e_tree_simple_get_type ())
-#define E_TREE_SIMPLE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TREE_SIMPLE_TYPE, ETreeSimple))
-#define E_TREE_SIMPLE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TREE_SIMPLE_TYPE, ETreeSimpleClass))
-#define E_IS_TREE_SIMPLE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TREE_SIMPLE_TYPE))
-#define E_IS_TREE_SIMPLE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TREE_SIMPLE_TYPE))
-#define E_TREE_SIMPLE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), E_TREE_SIMPLE_TYPE, ETreeSimpleClass))
-
-
-typedef GdkPixbuf* (*ETreeSimpleIconAtFn) (ETreeModel *etree, ETreePath *path, void *model_data);
-typedef void* (*ETreeSimpleValueAtFn) (ETreeModel *etree, ETreePath *path, int col, void *model_data);
-typedef void (*ETreeSimpleSetValueAtFn) (ETreeModel *etree, ETreePath *path, int col, const void *val, void *model_data);
-typedef gboolean (*ETreeSimpleIsEditableFn) (ETreeModel *etree, ETreePath *path, int col, void *model_data);
-
-typedef struct {
- ETreeModel parent;
-
- /* Table methods */
- ETableSimpleColumnCountFn col_count;
- ETableSimpleDuplicateValueFn duplicate_value;
- ETableSimpleFreeValueFn free_value;
- ETableSimpleInitializeValueFn initialize_value;
- ETableSimpleValueIsEmptyFn value_is_empty;
- ETableSimpleValueToStringFn value_to_string;
-
- /* Tree methods */
- ETreeSimpleIconAtFn icon_at;
- ETreeSimpleValueAtFn value_at;
- ETreeSimpleSetValueAtFn set_value_at;
- ETreeSimpleIsEditableFn is_editable;
-
- gpointer model_data;
-} ETreeSimple;
-
-typedef struct {
- ETreeModelClass parent_class;
-} ETreeSimpleClass;
-
-GType e_tree_simple_get_type (void);
-
-ETreeModel *e_tree_simple_new (ETableSimpleColumnCountFn col_count,
- ETableSimpleDuplicateValueFn duplicate_value,
- ETableSimpleFreeValueFn free_value,
- ETableSimpleInitializeValueFn initialize_value,
- ETableSimpleValueIsEmptyFn value_is_empty,
- ETableSimpleValueToStringFn value_to_string,
- ETreeSimpleIconAtFn icon_at,
- ETreeSimpleValueAtFn value_at,
- ETreeSimpleSetValueAtFn set_value_at,
- ETreeSimpleIsEditableFn is_editable,
- gpointer model_data);
-
-G_END_DECLS
-
-#endif /* _E_TREE_SIMPLE_H_ */
diff --git a/widgets/table/e-tree-sorted-variable.c b/widgets/table/e-tree-sorted-variable.c
deleted file mode 100644
index bb73b8b776..0000000000
--- a/widgets/table/e-tree-sorted-variable.c
+++ /dev/null
@@ -1,477 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-tree-sorted-variable.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <stdlib.h>
-#include <string.h>
-#include "gal/util/e-util.h"
-#include "e-tree-sorted-variable.h"
-
-#define d(x)
-
-#define INCREMENT_AMOUNT 100
-
-/* maximum insertions between an idle event that we will do without scheduling an idle sort */
-#define ETSV_INSERT_MAX (4)
-
-static ETreeModelClass *etsv_parent_class;
-
-struct ETreePath {
- GNode node;
-};
-
-struct ETreeSortedVariablePrivate {
- GNode *root;
-};
-
-static void etsv_proxy_model_changed (ETableModel *etm, ETreeSortedVariable *etsv);
-#if 0
-static void etsv_proxy_model_row_changed (ETableModel *etm, int row, ETreeSortedVariable *etsv);
-static void etsv_proxy_model_cell_changed (ETableModel *etm, int col, int row, ETreeSortedVariable *etsv);
-#endif
-static void etsv_sort_info_changed (ETableSortInfo *info, ETreeSortedVariable *etsv);
-static void etsv_sort (ETreeSortedVariable *etsv);
-static void etsv_add (ETreeSortedVariable *etsv, gint row);
-static void etsv_add_all (ETreeSortedVariable *etsv);
-
-static void
-etsv_dispose (GObject *object)
-{
- ETreeSortedVariable *etsv = E_TREE_SORTED_VARIABLE (object);
-
- if (etsv->table_model_changed_id)
- g_signal_handler_disconnect (G_OBJECT (etss->source),
- etsv->table_model_changed_id);
- etsv->table_model_changed_id = 0;
-
-#if 0
- g_signal_handler_disconnect (etss->source,
- etsv->table_model_row_changed_id);
- g_signal_handler_disconnect (etss->source,
- etsv->table_model_cell_changed_id);
-
- etsv->table_model_row_changed_id = 0;
- etsv->table_model_cell_changed_id = 0;
-#endif
- if (etsv->sort_info_changed_id)
- g_signal_handler_disconnect (etsv->sort_info,
- etsv->sort_info_changed_id);
- etsv->sort_info_changed_id = 0;
-
- if (etsv->sort_idle_id)
- g_source_remove(etsv->sort_idle_id);
- etsv->sort_idle_id = 0;
-
- if (etsv->insert_idle_id)
- g_source_remove(etsv->insert_idle_id);
- etsv->insert_idle_id = 0;
-
- if (etsv->sort_info)
- g_object_unref(etsv->sort_info);
- etsv->sort_info = NULL;
-
- if (etsv->full_header)
- g_object_unref(etsv->full_header);
- etsv->full_header = NULL;
-
- G_OBJECT_CLASS (etsv_parent_class)->dispose (object);
-}
-
-static void
-etsv_class_init (GObjectClass *object_class)
-{
- ETreeSortedVariableClass *etsv_class = E_TREE_MODEL_CLASS(object_class);
-
- etsv_parent_class = g_type_class_peek_parent (object_class);
-
- object_class->dispose = etsv_dispose;
-
- etsv_class->add = etsv_add;
- etsv_class->add_all = etsv_add_all;
-}
-
-static void
-etsv_init (ETreeSortedVariable *etsv)
-{
- etsv->full_header = NULL;
- etsv->sort_info = NULL;
-
- etsv->table_model_changed_id = 0;
- etsv->table_model_row_changed_id = 0;
- etsv->table_model_cell_changed_id = 0;
- etsv->sort_info_changed_id = 0;
-
- etsv->sort_idle_id = 0;
- etsv->insert_count = 0;
-}
-
-E_MAKE_TYPE(e_tree_sorted_variable, "ETreeSortedVariable", ETreeSortedVariable, etsv_class_init, etsv_init, E_TREE_MODEL_TYPE)
-
-static gboolean
-etsv_sort_idle(ETreeSortedVariable *etsv)
-{
- g_object_ref(etsv);
- etsv_sort(etsv);
- etsv->sort_idle_id = 0;
- etsv->insert_count = 0;
- g_object_unref(etsv);
- return FALSE;
-}
-
-static gboolean
-etsv_insert_idle(ETreeSortedVariable *etsv)
-{
- etsv->insert_count = 0;
- etsv->insert_idle_id = 0;
- return FALSE;
-}
-
-
-ETableModel *
-e_tree_sorted_variable_new (ETreeModel *source, ETableHeader *full_header, ETableSortInfo *sort_info)
-{
- ETreeSortedVariable *etsv = g_object_new (E_TREE_SORTED_VARIABLE_TYPE, NULL);
- ETreeSortedVariable *etsv = E_TABLE_SUBSET_VARIABLE (etsv);
-
- if (e_table_subset_variable_construct (etsv, source) == NULL){
- g_object_unref (etsv);
- return NULL;
- }
-
- etsv->sort_info = sort_info;
- g_object_ref(etsv->sort_info);
- etsv->full_header = full_header;
- g_object_ref(etsv->full_header);
-
- etsv->table_model_changed_id = g_signal_connect (source, "model_changed",
- G_CALLBACK (etsv_proxy_model_changed), etsv);
-#if 0
- etsv->table_model_row_changed_id = g_signal_connect (source, "model_row_changed",
- G_CALLBACK (etsv_proxy_model_row_changed), etsv);
- etsv->table_model_cell_changed_id = g_signal_connect (source, "model_cell_changed",
- G_CALLBACK (etsv_proxy_model_cell_changed), etsv);
-#endif
- etsv->sort_info_changed_id = g_signal_connect (sort_info, "sort_info_changed",
- G_CALLBACK (etsv_sort_info_changed), etsv);
-
- return E_TABLE_MODEL(etsv);
-}
-
-static void
-etsv_proxy_model_changed (ETableModel *etm, ETreeSortedVariable *etsv)
-{
- /* FIXME: do_resort (); */
-}
-#if 0
-static void
-etsv_proxy_model_row_changed (ETableModel *etm, int row, ETreeSortedVariable *etsv)
-{
- ETreeSortedVariable *etsv = E_TABLE_SUBSET_VARIABLE(etsv);
-
- if (e_table_subset_variable_remove(etsv, row))
- e_table_subset_variable_add (etsv, row);
-}
-
-static void
-etsv_proxy_model_cell_changed (ETableModel *etm, int col, int row, ETreeSortedVariable *etsv)
-{
- ETreeSortedVariable *etsv = E_TABLE_SUBSET_VARIABLE(etsv);
-
- if (e_table_subset_variable_remove(etsv, row))
- e_table_subset_variable_add (etsv, row);
-}
-#endif
-
-static void
-etsv_sort_info_changed (ETableSortInfo *info, ETreeSortedVariable *etsv)
-{
- etsv_sort(etsv);
-}
-
-/* This takes source rows. */
-static int
-etsv_compare(ETreeSortedVariable *etsv, const ETreePath *path1, const ETreePath *path2)
-{
- int j;
- int sort_count = e_table_sort_info_sorting_get_count(etsv->sort_info);
- int comp_val = 0;
- int ascending = 1;
-
- for (j = 0; j < sort_count; j++) {
- ETableSortColumn column = e_table_sort_info_sorting_get_nth(etsv->sort_info, j);
- ETableCol *col;
- col = e_table_header_get_column_by_col_idx(etsv->full_header, column.column);
- if (col == NULL)
- col = e_table_header_get_column (etsv->full_header, e_table_header_count (etsv->full_header) - 1);
- comp_val = (*col->compare)(e_tree_model_value_at (etsv->source, path1, col->col_idx),
- e_tree_model_value_at (etsv->source, path2, col->col_idx));
- ascending = column.ascending;
- if (comp_val != 0)
- break;
- }
- if (comp_val == 0) {
- if (row1 < row2)
- comp_val = -1;
- if (row1 > row2)
- comp_val = 1;
- }
- if (!ascending)
- comp_val = -comp_val;
- return comp_val;
-}
-
-
-static ETreeSortedVariable *etsv_closure;
-int cols_closure;
-int *ascending_closure;
-int *col_idx_closure;
-GCompareFunc *compare_closure;
-
-static int
-etsv_compare_closure(const ETreePath *path1, const ETreePath *path2)
-{
- int j;
- int sort_count = e_table_sort_info_sorting_get_count(etsv_closure->sort_info);
- int comp_val = 0;
- int ascending = 1;
- for (j = 0; j < sort_count; j++) {
-
- comp_val = (*(compare_closure[j]))(e_tree_model_value_at (etsv_closure->source, path1, col_idx_closure[j]),
- e_tree_model_value_at (etsv_closure->source, path2, col_idx_closure[j]));
- ascending = ascending_closure[j];
- if (comp_val != 0)
- break;
- }
- if (comp_val == 0) {
- if (row1 < row2)
- comp_val = -1;
- if (row1 > row2)
- comp_val = 1;
- }
- if (!ascending)
- comp_val = -comp_val;
- return comp_val;
-}
-
-static int
-qsort_callback(const void *data1, const void *data2)
-{
- GNode *node1 = *(GNode **)data1;
- GNode *node2 = *(GNode **)data2;
- return etsv_compare_closure(node1->data, node2->data);
-}
-
-static int
-qsort_callback_source(const void *data1, const void *data2)
-{
- return etsv_compare_closure(data1, data2);
-}
-
-static void
-etsv_setup_closures(ETreeSortedVariable *etsv)
-{
- int j;
- int cols;
-
- cols = e_table_sort_info_sorting_get_count(etsv->sort_info);
- cols_closure = cols;
- etsv_closure = etsv;
-
- ascending_closure = g_new(int, cols);
- col_idx_closure = g_new(int, cols);
- compare_closure = g_new(GCompareFunc, cols);
-
- for (j = 0; j < cols; j++) {
- ETableSortColumn column = e_table_sort_info_sorting_get_nth(etsv->sort_info, j);
- ETableCol *col;
-
- col = e_table_header_get_column_by_col_idx(etsv->full_header, column.column);
- if (col == NULL) {
- col = e_table_header_get_column (etsv->full_header, e_table_header_count (etsv->full_header) - 1);
- }
-
- ascending_closure[j] = column.ascending;
- col_idx_closure[j] = col->col_idx;
- compare_closure[j] = col->compare;
- }
-}
-
-static void
-etsv_free_closures(ETreeSortedVariable *etsv)
-{
- g_free(ascending_closure);
- g_free(col_idx_closure);
- g_free(compare_closure);
-
-}
-
-static void
-etsv_sort_node(ETreeSortedVariable *etsv, GNode *node)
-{
- gint n;
- gint i;
- GNode **children;
- GNode *child;
- GNode *prev;
-
- n = g_node_n_children(node);
- children = g_new(GNode *, n);
- for (i = 0, child = node->children; child && i; child = child->next, i++) {
- children[i] = child;
- }
- qsort(children, n, sizeof(GNode *), qsort_callback);
-
- prev = NULL;
- for (i = 0; i < n; i++) {
- children[i]->prev = prev;
- if (prev) prev->next = children[i];
- prev = children[i];
- children[i]->next = NULL;
- }
-}
-
-static void
-etsv_sort_tree(ETreeSortedVariable *etsv, GNode *root)
-{
- GNode *childr;
-
- etsv_sort_node(etsv, node);
-
- for (child = node->child; child; child = child->next) {
- etsv_sort_tree(etsv, child);
- }
-}
-
-static void
-etsv_sort(ETreeSortedVariable *etsv)
-{
- static int reentering = 0;
- if (reentering)
- return;
- reentering = 1;
-
- e_table_model_pre_change(E_TABLE_MODEL(etsv));
-
- etsv_setup_closures(etsv);
-
- etsv_sort_tree(etsv, etsv->root);
-
- etsv_free_closures(etsv);
-
- e_table_model_changed (E_TABLE_MODEL(etsv));
- reentering = 0;
-}
-
-static void
-etsv_add_node (ETreeSortedVariable *etsv, ETreePath *path, GNode *root)
-{
- GNode *node;
- GNode *new_node;
- for (node = root; node; node = node->next) {
- if (e_tree_model_node_is_ancestor(etsv->source, path, node->data)) {
- etsv_add_node(etsv, path, node->data);
- return;
- }
- }
- new_node = g_node_new(path);
- for (node = root; node; ) {
- if (e_tree_model_node_is_ancestor(etsv->source, node->data, path)) {
- GNode *next;
- next = node->next;
- g_node_unlink(node);
- g_node_prepend(new_node, node);
- node = next;
- } else
- node = node->next;
- }
-
- etsv_sort_node(etsv, new_node);
-
-
-#if 0
- g_node_prepend(root, new_node);
- etsv_sort_node(etsv, root);
-#else
- /* Insert sort to be a bit faster than the above prepend and then sort. */
- for (node = root; node; node = node->next) {
- if (etsv_compare(etsv, path, node->data) > 0) {
- g_node_insert_before (root, node, new_node);
- return;
- }
- }
- g_node_append(root, new_node);
-#endif
-}
-
-etsv_add(ETreeSortedVariable *etsv, gint row)
-{
- ETreeModel *source = etsv->source;
- ETreePath *path;
-
- path = e_table_model_value_at (E_TABLE_MODEL(source), -1, row);
- etsv_add_node(etsv, path, etsv->root);
-}
-
-/* Optimize by doing the qsorts as we build. But we'll do that later. */
-static void
-etsv_add_all_node (ETreeSortedVariable *etsv, ETreePath *path, GNode *node)
-{
- ETreeModel *source = etsv->source;
- ETreePath **children;
- int n;
- int i;
-
- n = e_tree_model_node_get_children(source, path, &children);
- qsort(children, n, sizeof(ETreePath *), qsort_callback_source);
-
- for (i = n - 1; i >= 0; i--) {
- GNode *new_child = g_node_new(children[i]);
- g_node_prepend(path, new_child);
- etsv_add_all_node (etsv, children[i], new_child)
- }
-
- g_free(children);
-}
-
-static void
-etsv_add_all (ETreeSortedVariable *etsv)
-{
- GNode *node;
- ETreePath *path;
-
- e_table_model_pre_change(etm);
-
- if (etsv->root)
- g_node_destroy(etsv->root);
-
- etsv_setup_closures(etsv);
-
- path = e_tree_model_get_root(etsv->source);
- node = g_node_new(path);
- etsv_add_all_node(etsv, path, node);
- etsv->root = node;
-
- etsv_free_closures(etsv);
-
- e_tree_model_node_changed (etsv, etsv->root);
-}
diff --git a/widgets/table/e-tree-sorted-variable.h b/widgets/table/e-tree-sorted-variable.h
deleted file mode 100644
index 35c4c22ffd..0000000000
--- a/widgets/table/e-tree-sorted-variable.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-tree-sorted-variable.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TREE_SORTED_VARIABLE_H_
-#define _E_TREE_SORTED_VARIABLE_H_
-
-#include <glib-object.h>
-#include <gal/e-tree/e-tree-model.h>
-#include <gal/e-table/e-table-subset-variable.h>
-#include <gal/e-table/e-table-sort-info.h>
-#include <gal/e-table/e-table-header.h>
-
-G_BEGIN_DECLS
-
-#define E_TREE_SORTED_VARIABLE_TYPE (e_tree_sorted_variable_get_type ())
-#define E_TREE_SORTED_VARIABLE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TREE_SORTED_VARIABLE_TYPE, ETreeSortedVariable))
-#define E_TREE_SORTED_VARIABLE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TREE_SORTED_VARIABLE_TYPE, ETreeSortedVariableClass))
-#define E_IS_TREE_SORTED_VARIABLE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TREE_SORTED_VARIABLE_TYPE))
-#define E_IS_TREE_SORTED_VARIABLE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TREE_SORTED_VARIABLE_TYPE))
-#define E_TREE_SORTED_VARIABLE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((obj), E_TREE_SORTED_VARIABLE_TYPE, ETreeSortedVariableClass))
-
-typedef struct {
- ETreeModel base;
-
- ETableSortInfo *sort_info;
-
- ETableHeader *full_header;
-
- int table_model_changed_id;
- int table_model_row_changed_id;
- int table_model_cell_changed_id;
- int sort_info_changed_id;
- int sort_idle_id;
- int insert_idle_id;
- int insert_count;
-
-} ETreeSortedVariable;
-
-typedef struct {
- ETreeModelClass parent_class;
-} ETreeSortedVariableClass;
-
-GType e_tree_sorted_variable_get_type (void);
-ETableModel *e_tree_sorted_variable_new (ETreeModel *etm,
- ETableHeader *header,
- ETableSortInfo *sort_info);
-
-ETreeModel *e_tree_sorted_get_toplevel (ETreeSortedVariable *tree_model);
-
-void e_tree_sorted_variable_add (ETreeSortedVariable *ets,
- gint row);
-void e_tree_sorted_variable_add_all (ETreeSortedVariable *ets);
-gboolean e_tree_sorted_variable_remove (ETreeSortedVariable *ets,
- gint row);
-void e_tree_sorted_variable_increment (ETreeSortedVariable *ets,
- gint position,
- gint amount);
-void e_tree_sorted_variable_decrement (ETreeSortedVariable *ets,
- gint position,
- gint amount);
-void e_tree_sorted_variable_set_allocation (ETreeSortedVariable *ets,
- gint total);
-G_END_DECLS
-
-#endif /* _E_TREE_SORTED_VARIABLE_H_ */
diff --git a/widgets/table/e-tree-sorted.c b/widgets/table/e-tree-sorted.c
deleted file mode 100644
index 20ecdad63f..0000000000
--- a/widgets/table/e-tree-sorted.c
+++ /dev/null
@@ -1,1390 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-tree-sorted.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Chris Toshok <toshok@ximian.com>
- *
- * Adapted from the gtree code and ETableModel.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-/* FIXME: Overall e-tree-sorted.c needs to be made more efficient. */
-
-
-#include <config.h>
-
-#include "e-tree-sorted.h"
-
-#include <stdio.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <string.h>
-
-#include <libxml/parser.h>
-#include <libxml/xmlmemory.h>
-
-#include "gal/util/e-util.h"
-#include "gal/util/e-xml-utils.h"
-#include "e-table-sorting-utils.h"
-
-/* maximum insertions between an idle event that we will do without scheduling an idle sort */
-#define ETS_INSERT_MAX (4)
-
-#define TREEPATH_CHUNK_AREA_SIZE (30 * sizeof (ETreeSortedPath))
-
-#define d(x)
-
-static ETreeModel *parent_class;
-static GMemChunk *node_chunk;
-
-enum {
- NODE_RESORTED,
- LAST_SIGNAL
-};
-
-static guint signals [LAST_SIGNAL] = {0, };
-
-typedef struct ETreeSortedPath ETreeSortedPath;
-
-struct ETreeSortedPath {
- ETreePath corresponding;
-
- /* parent/child/sibling pointers */
- ETreeSortedPath *parent;
- gint num_children;
- ETreeSortedPath **children;
- int position;
- int orig_position;
-
- guint needs_resort : 1;
- guint child_needs_resort : 1;
- guint resort_all_children : 1;
- guint needs_regen_to_sort : 1;
-};
-
-struct ETreeSortedPriv {
- ETreeModel *source;
- ETreeSortedPath *root;
-
- ETableSortInfo *sort_info;
- ETableHeader *full_header;
-
- ETreeSortedPath *last_access;
-
- int tree_model_pre_change_id;
- int tree_model_no_change_id;
- int tree_model_node_changed_id;
- int tree_model_node_data_changed_id;
- int tree_model_node_col_changed_id;
- int tree_model_node_inserted_id;
- int tree_model_node_removed_id;
- int tree_model_node_deleted_id;
- int tree_model_node_request_collapse_id;
-
- int sort_info_changed_id;
- int sort_idle_id;
- int insert_idle_id;
- int insert_count;
-
- guint in_resort_idle : 1;
- guint nested_resort_idle : 1;
-};
-
-enum {
- ARG_0,
-
- ARG_SORT_INFO
-};
-
-static void ets_sort_info_changed (ETableSortInfo *sort_info, ETreeSorted *ets);
-static void resort_node (ETreeSorted *ets, ETreeSortedPath *path, gboolean resort_all_children, gboolean needs_regen, gboolean send_signals);
-static void mark_path_needs_resort (ETreeSorted *ets, ETreeSortedPath *path, gboolean needs_rebuild, gboolean resort_all_children);
-static void schedule_resort (ETreeSorted *ets, ETreeSortedPath *path, gboolean needs_regen, gboolean resort_all_children);
-static void free_path (ETreeSortedPath *path);
-static void generate_children(ETreeSorted *ets, ETreeSortedPath *path);
-static void regenerate_children(ETreeSorted *ets, ETreeSortedPath *path);
-
-
-
-/* idle callbacks */
-
-static gboolean
-ets_sort_idle(gpointer user_data)
-{
- ETreeSorted *ets = user_data;
- if (ets->priv->in_resort_idle) {
- ets->priv->nested_resort_idle = TRUE;
- return FALSE;
- }
- ets->priv->in_resort_idle = TRUE;
- if (ets->priv->root) {
- do {
- ets->priv->nested_resort_idle = FALSE;
- resort_node (ets, ets->priv->root, FALSE, FALSE, TRUE);
- } while (ets->priv->nested_resort_idle);
- }
- ets->priv->in_resort_idle = FALSE;
- ets->priv->sort_idle_id = 0;
- return FALSE;
-}
-
-#define ETS_SORT_IDLE_ACTIVATED(ets) ((ets)->priv->sort_idle_id != 0)
-
-inline static void
-ets_stop_sort_idle (ETreeSorted *ets)
-{
- if (ets->priv->sort_idle_id) {
- g_source_remove(ets->priv->sort_idle_id);
- ets->priv->sort_idle_id = 0;
- }
-}
-
-static gboolean
-ets_insert_idle(ETreeSorted *ets)
-{
- ets->priv->insert_count = 0;
- ets->priv->insert_idle_id = 0;
- return FALSE;
-}
-
-
-
-/* Helper functions */
-
-#define CHECK_AROUND_LAST_ACCESS
-
-static inline ETreeSortedPath *
-check_last_access (ETreeSorted *ets, ETreePath corresponding)
-{
-#ifdef CHECK_AROUND_LAST_ACCESS
- ETreeSortedPath *parent;
-#endif
-
- if (ets->priv->last_access == NULL)
- return NULL;
-
- if (ets->priv->last_access == corresponding) {
- d(g_print("Found last access %p at %p.", ets->priv->last_access, ets->priv->last_access));
- return ets->priv->last_access;
- }
-
-#ifdef CHECK_AROUND_LAST_ACCESS
- parent = ets->priv->last_access->parent;
- if (parent && parent->children) {
- int position = ets->priv->last_access->position;
- int end = MIN(parent->num_children, position + 10);
- int start = MAX(0, position - 10);
- int initial = MAX (MIN (position, end), start);
- int i;
-
- for (i = initial; i < end; i++) {
- if (parent->children[i] && parent->children[i]->corresponding == corresponding) {
- d(g_print("Found last access %p at %p.", ets->priv->last_access, parent->children[i]));
- return parent->children[i];
- }
- }
-
- for (i = initial - 1; i >= start; i--) {
- if (parent->children[i] && parent->children[i]->corresponding == corresponding) {
- d(g_print("Found last access %p at %p.", ets->priv->last_access, parent->children[i]));
- return parent->children[i];
- }
- }
- }
-#endif
- return NULL;
-}
-
-static ETreeSortedPath *
-find_path(ETreeSorted *ets, ETreePath corresponding)
-{
- int depth;
- ETreePath *sequence;
- int i;
- ETreeSortedPath *path;
- ETreeSortedPath *check_last;
-
- if (corresponding == NULL)
- return NULL;
-
- check_last = check_last_access (ets, corresponding);
- if (check_last) {
- d(g_print(" (find_path)\n"));
- return check_last;
- }
-
- depth = e_tree_model_node_depth(ets->priv->source, corresponding);
-
- sequence = g_new(ETreePath, depth + 1);
-
- sequence[0] = corresponding;
-
- for (i = 0; i < depth; i++)
- sequence[i + 1] = e_tree_model_node_get_parent(ets->priv->source, sequence[i]);
-
- path = ets->priv->root;
-
- for (i = depth - 1; i >= 0 && path != NULL; i --) {
- int j;
-
- if (path->num_children == -1) {
- path = NULL;
- break;
- }
-
- for (j = 0; j < path->num_children; j++) {
- if (path->children[j]->corresponding == sequence[i]) {
- break;
- }
- }
-
- if (j < path->num_children) {
- path = path->children[j];
- } else {
- path = NULL;
- }
- }
- g_free (sequence);
-
- d(g_print("Didn't find last access %p. Setting to %p. (find_path)\n", ets->priv->last_access, path));
- ets->priv->last_access = path;
-
- return path;
-}
-
-static ETreeSortedPath *
-find_child_path(ETreeSorted *ets, ETreeSortedPath *parent, ETreePath corresponding)
-{
- int i;
-
- if (corresponding == NULL)
- return NULL;
-
- if (parent->num_children == -1) {
- return NULL;
- }
-
- for (i = 0; i < parent->num_children; i++)
- if (parent->children[i]->corresponding == corresponding)
- return parent->children[i];
-
- return NULL;
-}
-
-static ETreeSortedPath *
-find_or_create_path(ETreeSorted *ets, ETreePath corresponding)
-{
- int depth;
- ETreePath *sequence;
- int i;
- ETreeSortedPath *path;
- ETreeSortedPath *check_last;
-
- if (corresponding == NULL)
- return NULL;
-
- check_last = check_last_access (ets, corresponding);
- if (check_last) {
- d(g_print(" (find_or_create_path)\n"));
- return check_last;
- }
-
- depth = e_tree_model_node_depth(ets->priv->source, corresponding);
-
- sequence = g_new(ETreePath, depth + 1);
-
- sequence[0] = corresponding;
-
- for (i = 0; i < depth; i++)
- sequence[i + 1] = e_tree_model_node_get_parent(ets->priv->source, sequence[i]);
-
- path = ets->priv->root;
-
- for (i = depth - 1; i >= 0 && path != NULL; i --) {
- int j;
-
- if (path->num_children == -1) {
- generate_children(ets, path);
- }
-
- for (j = 0; j < path->num_children; j++) {
- if (path->children[j]->corresponding == sequence[i]) {
- break;
- }
- }
-
- if (j < path->num_children) {
- path = path->children[j];
- } else {
- path = NULL;
- }
- }
- g_free (sequence);
-
- d(g_print("Didn't find last access %p. Setting to %p. (find_or_create_path)\n", ets->priv->last_access, path));
- ets->priv->last_access = path;
-
- return path;
-}
-
-static void
-free_children (ETreeSortedPath *path)
-{
- int i;
-
- if (path == NULL)
- return;
-
- for (i = 0; i < path->num_children; i++) {
- free_path(path->children[i]);
- }
-
- g_free(path->children);
- path->children = NULL;
- path->num_children = -1;
-}
-
-static void
-free_path (ETreeSortedPath *path)
-{
- free_children(path);
- g_chunk_free(path, node_chunk);
-}
-
-static ETreeSortedPath *
-new_path (ETreeSortedPath *parent, ETreePath corresponding)
-{
- ETreeSortedPath *path;
-
- path = g_chunk_new0 (ETreeSortedPath, node_chunk);
-
- path->corresponding = corresponding;
- path->parent = parent;
- path->num_children = -1;
- path->children = NULL;
- path->position = -1;
- path->orig_position = -1;
- path->child_needs_resort = 0;
- path->resort_all_children = 0;
- path->needs_resort = 0;
- path->needs_regen_to_sort = 0;
-
- return path;
-}
-
-static gboolean
-reposition_path (ETreeSorted *ets, ETreeSortedPath *path)
-{
- int new_index;
- int old_index = path->position;
- ETreeSortedPath *parent = path->parent;
- gboolean changed = FALSE;
- if (parent) {
- if (ets->priv->sort_idle_id == 0) {
- if (ets->priv->insert_count > ETS_INSERT_MAX) {
- /* schedule a sort, and append instead */
- schedule_resort(ets, parent, TRUE, FALSE);
- } else {
- /* make sure we have an idle handler to reset the count every now and then */
- if (ets->priv->insert_idle_id == 0) {
- ets->priv->insert_idle_id = g_idle_add_full(40, (GSourceFunc) ets_insert_idle, ets, NULL);
- }
-
- new_index = e_table_sorting_utils_tree_check_position
- (E_TREE_MODEL(ets),
- ets->priv->sort_info,
- ets->priv->full_header,
- (ETreePath *) parent->children,
- parent->num_children,
- old_index);
-
- if (new_index > old_index) {
- int i;
- ets->priv->insert_count++;
- memmove(parent->children + old_index, parent->children + old_index + 1, sizeof (ETreePath) * (new_index - old_index));
- parent->children[new_index] = path;
- for (i = old_index; i <= new_index; i++)
- parent->children[i]->position = i;
- changed = TRUE;
- e_tree_model_node_changed(E_TREE_MODEL(ets), parent);
- e_tree_sorted_node_resorted(ets, parent);
- } else if (new_index < old_index) {
- int i;
- ets->priv->insert_count++;
- memmove(parent->children + new_index + 1, parent->children + new_index, sizeof (ETreePath) * (old_index - new_index));
- parent->children[new_index] = path;
- for (i = new_index; i <= old_index; i++)
- parent->children[i]->position = i;
- changed = TRUE;
- e_tree_model_node_changed(E_TREE_MODEL(ets), parent);
- e_tree_sorted_node_resorted(ets, parent);
- }
- }
- } else
- mark_path_needs_resort(ets, parent, TRUE, FALSE);
- }
- return changed;
-}
-
-static void
-regenerate_children(ETreeSorted *ets, ETreeSortedPath *path)
-{
- ETreeSortedPath **children;
- int i;
-
- children = g_new(ETreeSortedPath *, path->num_children);
- for (i = 0; i < path->num_children; i++)
- children[path->children[i]->orig_position] = path->children[i];
- g_free(path->children);
- path->children = children;
-}
-
-static void
-generate_children(ETreeSorted *ets, ETreeSortedPath *path)
-{
- ETreePath child;
- int i;
- int count;
-
- free_children(path);
-
- count = 0;
- for (child = e_tree_model_node_get_first_child(ets->priv->source, path->corresponding);
- child;
- child = e_tree_model_node_get_next(ets->priv->source, child)) {
- count ++;
- }
-
- path->num_children = count;
- path->children = g_new(ETreeSortedPath *, count);
- for (child = e_tree_model_node_get_first_child(ets->priv->source, path->corresponding), i = 0;
- child;
- child = e_tree_model_node_get_next(ets->priv->source, child), i++) {
- path->children[i] = new_path(path, child);
- path->children[i]->position = i;
- path->children[i]->orig_position = i;
- }
- if (path->num_children > 0)
- schedule_resort (ets, path, FALSE, TRUE);
-}
-
-static void
-resort_node (ETreeSorted *ets, ETreeSortedPath *path, gboolean resort_all_children, gboolean needs_regen, gboolean send_signals)
-{
- gboolean needs_resort;
- if (path) {
- needs_resort = path->needs_resort || resort_all_children;
- needs_regen = path->needs_regen_to_sort || needs_regen;
- if (path->num_children > 0) {
- if (needs_resort && send_signals)
- e_tree_model_pre_change(E_TREE_MODEL(ets));
- if (needs_resort) {
- int i;
- d(g_print("Start sort of node %p\n", path));
- if (needs_regen)
- regenerate_children(ets, path);
- d(g_print("Regened sort of node %p\n", path));
- e_table_sorting_utils_tree_sort (E_TREE_MODEL(ets),
- ets->priv->sort_info,
- ets->priv->full_header,
- (ETreePath *) path->children,
- path->num_children);
- d(g_print("Renumbering sort of node %p\n", path));
- for (i = 0; i < path->num_children; i++) {
- path->children[i]->position = i;
- }
- d(g_print("End sort of node %p\n", path));
- }
- if (path->resort_all_children)
- resort_all_children = TRUE;
- if ((resort_all_children || path->child_needs_resort) && path->num_children >= 0) {
- int i;
- for (i = 0; i < path->num_children; i++) {
- resort_node(ets, path->children[i], resort_all_children, needs_regen, send_signals && !needs_resort);
- }
- path->child_needs_resort = 0;
- }
- }
- path->needs_resort = 0;
- path->child_needs_resort = 0;
- path->needs_regen_to_sort = 0;
- path->resort_all_children = 0;
- if (needs_resort && send_signals && path->num_children > 0) {
- e_tree_model_node_changed(E_TREE_MODEL(ets), path);
- e_tree_sorted_node_resorted(ets, path);
- }
- }
-}
-
-static void
-mark_path_child_needs_resort (ETreeSorted *ets, ETreeSortedPath *path)
-{
- if (path == NULL)
- return;
- if (!path->child_needs_resort) {
- path->child_needs_resort = 1;
- mark_path_child_needs_resort (ets, path->parent);
- }
-}
-
-static void
-mark_path_needs_resort (ETreeSorted *ets, ETreeSortedPath *path, gboolean needs_regen, gboolean resort_all_children)
-{
- if (path == NULL)
- return;
- if (path->num_children == 0)
- return;
- path->needs_resort = 1;
- path->needs_regen_to_sort = needs_regen;
- path->resort_all_children = resort_all_children;
- mark_path_child_needs_resort(ets, path->parent);
-}
-
-static void
-schedule_resort (ETreeSorted *ets, ETreeSortedPath *path, gboolean needs_regen, gboolean resort_all_children)
-{
- ets->priv->insert_count = 0;
- if (ets->priv->insert_idle_id != 0) {
- g_source_remove(ets->priv->insert_idle_id);
- ets->priv->insert_idle_id = 0;
- }
-
- if (path == NULL)
- return;
- if (path->num_children == 0)
- return;
-
- mark_path_needs_resort(ets, path, needs_regen, resort_all_children);
- if (ets->priv->sort_idle_id == 0) {
- ets->priv->sort_idle_id = g_idle_add_full(50, (GSourceFunc) ets_sort_idle, ets, NULL);
- } else if (ets->priv->in_resort_idle) {
- ets->priv->nested_resort_idle = TRUE;
- }
-}
-
-
-
-/* virtual methods */
-
-static void
-ets_dispose (GObject *object)
-{
- ETreeSorted *ets = E_TREE_SORTED (object);
- ETreeSortedPriv *priv = ets->priv;
-
- /* FIXME lots of stuff to free here */
- if (!priv) {
- G_OBJECT_CLASS (parent_class)->dispose (object);
- return;
- }
-
- if (priv->source) {
- g_signal_handler_disconnect (G_OBJECT (priv->source),
- priv->tree_model_pre_change_id);
- g_signal_handler_disconnect (G_OBJECT (priv->source),
- priv->tree_model_no_change_id);
- g_signal_handler_disconnect (G_OBJECT (priv->source),
- priv->tree_model_node_changed_id);
- g_signal_handler_disconnect (G_OBJECT (priv->source),
- priv->tree_model_node_data_changed_id);
- g_signal_handler_disconnect (G_OBJECT (priv->source),
- priv->tree_model_node_col_changed_id);
- g_signal_handler_disconnect (G_OBJECT (priv->source),
- priv->tree_model_node_inserted_id);
- g_signal_handler_disconnect (G_OBJECT (priv->source),
- priv->tree_model_node_removed_id);
- g_signal_handler_disconnect (G_OBJECT (priv->source),
- priv->tree_model_node_deleted_id);
- g_signal_handler_disconnect (G_OBJECT (priv->source),
- priv->tree_model_node_request_collapse_id);
-
- g_object_unref (priv->source);
- priv->source = NULL;
-
- priv->tree_model_pre_change_id = 0;
- priv->tree_model_no_change_id = 0;
- priv->tree_model_node_changed_id = 0;
- priv->tree_model_node_data_changed_id = 0;
- priv->tree_model_node_col_changed_id = 0;
- priv->tree_model_node_inserted_id = 0;
- priv->tree_model_node_removed_id = 0;
- priv->tree_model_node_deleted_id = 0;
- priv->tree_model_node_request_collapse_id = 0;
- }
-
- if (priv->sort_info) {
- g_signal_handler_disconnect (G_OBJECT (priv->sort_info),
- priv->sort_info_changed_id);
- priv->sort_info_changed_id = 0;
-
- g_object_unref (priv->sort_info);
- priv->sort_info = NULL;
- }
-
- ets_stop_sort_idle (ets);
- if (ets->priv->insert_idle_id) {
- g_source_remove(ets->priv->insert_idle_id);
- ets->priv->insert_idle_id = 0;
- }
-
- if (priv->full_header)
- g_object_unref(priv->full_header);
-
-}
-
-static void
-ets_finalize (GObject *object)
-{
- ETreeSorted *ets = (ETreeSorted *) object;
-
- if (ets->priv->root)
- free_path(ets->priv->root);
-
- g_free (ets->priv);
- ets->priv = NULL;
-
- G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-static ETreePath
-ets_get_root (ETreeModel *etm)
-{
- ETreeSortedPriv *priv = E_TREE_SORTED(etm)->priv;
- if (priv->root == NULL) {
- ETreeSorted *ets = E_TREE_SORTED(etm);
- ETreePath corresponding = e_tree_model_get_root(ets->priv->source);
-
- if (corresponding) {
- priv->root = new_path(NULL, corresponding);
- }
- }
- if (priv->root && priv->root->num_children == -1) {
- generate_children(E_TREE_SORTED(etm), priv->root);
- }
-
- return priv->root;
-}
-
-static ETreePath
-ets_get_parent (ETreeModel *etm, ETreePath node)
-{
- ETreeSortedPath *path = node;
- return path->parent;
-}
-
-static ETreePath
-ets_get_first_child (ETreeModel *etm, ETreePath node)
-{
- ETreeSortedPath *path = node;
- ETreeSorted *ets = E_TREE_SORTED(etm);
-
- if (path->num_children == -1)
- generate_children(ets, path);
-
- if (path->num_children > 0)
- return path->children[0];
- else
- return NULL;
-}
-
-static ETreePath
-ets_get_last_child (ETreeModel *etm, ETreePath node)
-{
- ETreeSortedPath *path = node;
- ETreeSorted *ets = E_TREE_SORTED(etm);
-
- if (path->num_children == -1)
- generate_children(ets, path);
-
- if (path->num_children > 0)
- return path->children[path->num_children - 1];
- else
- return NULL;
-}
-
-static ETreePath
-ets_get_next (ETreeModel *etm, ETreePath node)
-{
- ETreeSortedPath *path = node;
- ETreeSortedPath *parent = path->parent;
- if (parent) {
- if (parent->num_children > path->position + 1)
- return parent->children[path->position + 1];
- else
- return NULL;
- } else
- return NULL;
-}
-
-static ETreePath
-ets_get_prev (ETreeModel *etm, ETreePath node)
-{
- ETreeSortedPath *path = node;
- ETreeSortedPath *parent = path->parent;
- if (parent) {
- if (path->position - 1 >= 0)
- return parent->children[path->position - 1];
- else
- return NULL;
- } else
- return NULL;
-}
-
-static gboolean
-ets_is_root (ETreeModel *etm, ETreePath node)
-{
- ETreeSortedPath *path = node;
- ETreeSorted *ets = E_TREE_SORTED(etm);
-
- return e_tree_model_node_is_root (ets->priv->source, path->corresponding);
-}
-
-static gboolean
-ets_is_expandable (ETreeModel *etm, ETreePath node)
-{
- ETreeSortedPath *path = node;
- ETreeSorted *ets = E_TREE_SORTED(etm);
- gboolean expandable = e_tree_model_node_is_expandable (ets->priv->source, path->corresponding);
-
- if (path->num_children == -1) {
- generate_children(ets, node);
- }
-
- return expandable;
-}
-
-static guint
-ets_get_children (ETreeModel *etm, ETreePath node, ETreePath **nodes)
-{
- ETreeSortedPath *path = node;
- guint n_children;
-
- if (path->num_children == -1) {
- generate_children(E_TREE_SORTED(etm), node);
- }
-
- n_children = path->num_children;
-
- if (nodes) {
- int i;
-
- (*nodes) = g_malloc (sizeof (ETreePath) * n_children);
- for (i = 0; i < n_children; i ++) {
- (*nodes)[i] = path->children[i];
- }
- }
-
- return n_children;
-}
-
-static guint
-ets_depth (ETreeModel *etm, ETreePath node)
-{
- ETreeSortedPath *path = node;
- ETreeSorted *ets = E_TREE_SORTED(etm);
-
- return e_tree_model_node_depth(ets->priv->source, path->corresponding);
-}
-
-static GdkPixbuf *
-ets_icon_at (ETreeModel *etm, ETreePath node)
-{
- ETreeSortedPath *path = node;
- ETreeSorted *ets = E_TREE_SORTED(etm);
-
- return e_tree_model_icon_at(ets->priv->source, path->corresponding);
-}
-
-static gboolean
-ets_get_expanded_default (ETreeModel *etm)
-{
- ETreeSorted *ets = E_TREE_SORTED(etm);
-
- return e_tree_model_get_expanded_default(ets->priv->source);
-}
-
-static gint
-ets_column_count (ETreeModel *etm)
-{
- ETreeSorted *ets = E_TREE_SORTED(etm);
-
- return e_tree_model_column_count(ets->priv->source);
-}
-
-
-static gboolean
-ets_has_save_id (ETreeModel *etm)
-{
- return TRUE;
-}
-
-static gchar *
-ets_get_save_id (ETreeModel *etm, ETreePath node)
-{
- ETreeSorted *ets = E_TREE_SORTED(etm);
- ETreeSortedPath *path = node;
-
- if (e_tree_model_has_save_id(ets->priv->source))
- return e_tree_model_get_save_id(ets->priv->source, path->corresponding);
- else
- return g_strdup_printf("%p", path->corresponding);
-}
-
-static gboolean
-ets_has_get_node_by_id (ETreeModel *etm)
-{
- ETreeSorted *ets = E_TREE_SORTED(etm);
- return e_tree_model_has_get_node_by_id(ets->priv->source);
-}
-
-static ETreePath
-ets_get_node_by_id (ETreeModel *etm, const char *save_id)
-{
- ETreeSorted *ets = E_TREE_SORTED(etm);
- ETreePath node;
-
- node = e_tree_model_get_node_by_id (ets->priv->source, save_id);
-
- return find_path(ets, node);
-}
-
-static gboolean
-ets_has_change_pending (ETreeModel *etm)
-{
- ETreeSorted *ets = E_TREE_SORTED(etm);
-
- return ets->priv->sort_idle_id != 0;
-}
-
-
-static void *
-ets_value_at (ETreeModel *etm, ETreePath node, int col)
-{
- ETreeSorted *ets = E_TREE_SORTED(etm);
- ETreeSortedPath *path = node;
-
- return e_tree_model_value_at(ets->priv->source, path->corresponding, col);
-}
-
-static void
-ets_set_value_at (ETreeModel *etm, ETreePath node, int col, const void *val)
-{
- ETreeSorted *ets = E_TREE_SORTED(etm);
- ETreeSortedPath *path = node;
-
- e_tree_model_set_value_at (ets->priv->source, path->corresponding, col, val);
-}
-
-static gboolean
-ets_is_editable (ETreeModel *etm, ETreePath node, int col)
-{
- ETreeSorted *ets = E_TREE_SORTED(etm);
- ETreeSortedPath *path = node;
-
- return e_tree_model_node_is_editable (ets->priv->source, path->corresponding, col);
-}
-
-
-/* The default for ets_duplicate_value is to return the raw value. */
-static void *
-ets_duplicate_value (ETreeModel *etm, int col, const void *value)
-{
- ETreeSorted *ets = E_TREE_SORTED(etm);
-
- return e_tree_model_duplicate_value (ets->priv->source, col, value);
-}
-
-static void
-ets_free_value (ETreeModel *etm, int col, void *value)
-{
- ETreeSorted *ets = E_TREE_SORTED(etm);
-
- e_tree_model_free_value (ets->priv->source, col, value);
-}
-
-static void *
-ets_initialize_value (ETreeModel *etm, int col)
-{
- ETreeSorted *ets = E_TREE_SORTED(etm);
-
- return e_tree_model_initialize_value (ets->priv->source, col);
-}
-
-static gboolean
-ets_value_is_empty (ETreeModel *etm, int col, const void *value)
-{
- ETreeSorted *ets = E_TREE_SORTED(etm);
-
- return e_tree_model_value_is_empty (ets->priv->source, col, value);
-}
-
-static char *
-ets_value_to_string (ETreeModel *etm, int col, const void *value)
-{
- ETreeSorted *ets = E_TREE_SORTED(etm);
-
- return e_tree_model_value_to_string (ets->priv->source, col, value);
-}
-
-/* Proxy functions */
-
-static void
-ets_proxy_pre_change (ETreeModel *etm, ETreeSorted *ets)
-{
- e_tree_model_pre_change(E_TREE_MODEL(ets));
-}
-
-static void
-ets_proxy_no_change (ETreeModel *etm, ETreeSorted *ets)
-{
- e_tree_model_no_change(E_TREE_MODEL(ets));
-}
-
-static void
-ets_proxy_node_changed (ETreeModel *etm, ETreePath node, ETreeSorted *ets)
-{
- ets->priv->last_access = NULL;
- d(g_print("Setting last access %p. (ets_proxy_node_changed)\n", ets->priv->last_access));
-
- if (e_tree_model_node_is_root(ets->priv->source, node)) {
- ets_stop_sort_idle (ets);
-
- if (ets->priv->root) {
- free_path(ets->priv->root);
- }
- ets->priv->root = new_path(NULL, node);
- e_tree_model_node_changed(E_TREE_MODEL(ets), ets->priv->root);
- return;
- } else {
- ETreeSortedPath *path = find_path(ets, node);
-
- if (path) {
- free_children(path);
- if (!reposition_path(ets, path)) {
- e_tree_model_node_changed(E_TREE_MODEL(ets), path);
- } else {
- e_tree_model_no_change(E_TREE_MODEL(ets));
- }
- } else {
- e_tree_model_no_change(E_TREE_MODEL(ets));
- }
- }
-}
-
-static void
-ets_proxy_node_data_changed (ETreeModel *etm, ETreePath node, ETreeSorted *ets)
-{
- ETreeSortedPath *path = find_path(ets, node);
-
- if (path) {
- if (!reposition_path(ets, path))
- e_tree_model_node_data_changed(E_TREE_MODEL(ets), path);
- else
- e_tree_model_no_change(E_TREE_MODEL(ets));
- } else
- e_tree_model_no_change(E_TREE_MODEL(ets));
-}
-
-static void
-ets_proxy_node_col_changed (ETreeModel *etm, ETreePath node, int col, ETreeSorted *ets)
-{
- ETreeSortedPath *path = find_path(ets, node);
-
- if (path) {
- gboolean changed = FALSE;
- if (e_table_sorting_utils_affects_sort(ets->priv->sort_info, ets->priv->full_header, col))
- changed = reposition_path(ets, path);
- if (!changed)
- e_tree_model_node_col_changed(E_TREE_MODEL(ets), path, col);
- else
- e_tree_model_no_change(E_TREE_MODEL(ets));
- } else
- e_tree_model_no_change(E_TREE_MODEL(ets));
-}
-
-static void
-ets_proxy_node_inserted (ETreeModel *etm, ETreePath parent, ETreePath child, ETreeSorted *ets)
-{
- ETreeSortedPath *parent_path = find_path(ets, parent);
-
- if (parent_path && parent_path->num_children != -1) {
- int i;
- int j;
- ETreeSortedPath *path;
- int position = parent_path->num_children;
- ETreePath counter;
-
- for (counter = e_tree_model_node_get_next(etm, child);
- counter;
- counter = e_tree_model_node_get_next(etm, counter))
- position --;
-
- if (position != parent_path->num_children) {
- for (i = 0; i < parent_path->num_children; i++) {
- if (parent_path->children[i]->orig_position >= position)
- parent_path->children[i]->orig_position++;
- }
- }
-
- i = parent_path->num_children;
- path = new_path(parent_path, child);
- path->orig_position = position;
- if (!ETS_SORT_IDLE_ACTIVATED (ets)) {
- ets->priv->insert_count++;
- if (ets->priv->insert_count > ETS_INSERT_MAX) {
- /* schedule a sort, and append instead */
- schedule_resort(ets, parent_path, TRUE, FALSE);
- } else {
- /* make sure we have an idle handler to reset the count every now and then */
- if (ets->priv->insert_idle_id == 0) {
- ets->priv->insert_idle_id = g_idle_add_full(40, (GSourceFunc) ets_insert_idle, ets, NULL);
- }
- i = e_table_sorting_utils_tree_insert
- (ets->priv->source,
- ets->priv->sort_info,
- ets->priv->full_header,
- (ETreePath *) parent_path->children,
- parent_path->num_children,
- path);
- }
- } else {
- mark_path_needs_resort(ets, parent_path, TRUE, FALSE);
- }
- parent_path->num_children ++;
- parent_path->children = g_renew(ETreeSortedPath *, parent_path->children, parent_path->num_children);
- memmove(parent_path->children + i + 1, parent_path->children + i, (parent_path->num_children - 1 - i) * sizeof(int));
- parent_path->children[i] = path;
- for (j = i; j < parent_path->num_children; j++) {
- parent_path->children[j]->position = j;
- }
- e_tree_model_node_inserted(E_TREE_MODEL(ets), parent_path, parent_path->children[i]);
- } else if (ets->priv->root == NULL && parent == NULL) {
- if (child) {
- ets->priv->root = new_path(NULL, child);
- e_tree_model_node_inserted(E_TREE_MODEL(ets), NULL, ets->priv->root);
- } else {
- e_tree_model_no_change(E_TREE_MODEL(ets));
- }
- } else {
- e_tree_model_no_change(E_TREE_MODEL(ets));
- }
-}
-
-static void
-ets_proxy_node_removed (ETreeModel *etm, ETreePath parent, ETreePath child, int old_position, ETreeSorted *ets)
-{
- ETreeSortedPath *parent_path = find_path(ets, parent);
- ETreeSortedPath *path;
-
- if (parent_path)
- path = find_child_path(ets, parent_path, child);
- else
- path = find_path(ets, child);
-
- d(g_print("Setting last access %p. (ets_proxy_node_removed)\n ", ets->priv->last_access));
- ets->priv->last_access = NULL;
-
- if (path && parent_path && parent_path->num_children != -1) {
- int i;
- for (i = 0; i < parent_path->num_children; i++) {
- if (parent_path->children[i]->orig_position > old_position)
- parent_path->children[i]->orig_position --;
- }
-
- i = path->position;
-
- parent_path->num_children --;
- memmove(parent_path->children + i, parent_path->children + i + 1, sizeof(ETreeSortedPath *) * (parent_path->num_children - i));
- for (; i < parent_path->num_children; i++) {
- parent_path->children[i]->position = i;
- }
- e_tree_model_node_removed(E_TREE_MODEL(ets), parent_path, path, path->position);
- free_path(path);
- } else if (path && path == ets->priv->root) {
- ets->priv->root = NULL;
- e_tree_model_node_removed(E_TREE_MODEL(ets), NULL, path, -1);
- free_path(path);
- }
-}
-
-static void
-ets_proxy_node_deleted (ETreeModel *etm, ETreePath child, ETreeSorted *ets)
-{
- e_tree_model_node_deleted(E_TREE_MODEL(ets), NULL);
-}
-
-static void
-ets_proxy_node_request_collapse (ETreeModel *etm, ETreePath node, ETreeSorted *ets)
-{
- ETreeSortedPath *path = find_path(ets, node);
- if (path) {
- e_tree_model_node_request_collapse(E_TREE_MODEL(ets), path);
- }
-}
-
-static void
-ets_sort_info_changed (ETableSortInfo *sort_info, ETreeSorted *ets)
-{
- schedule_resort(ets, ets->priv->root, TRUE, TRUE);
-}
-
-
-
-/* Initialization and creation */
-
-static void
-e_tree_sorted_class_init (ETreeSortedClass *klass)
-{
- ETreeModelClass *tree_class = E_TREE_MODEL_CLASS (klass);
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
- parent_class = g_type_class_peek_parent (klass);
-
- node_chunk = g_mem_chunk_create (ETreeSortedPath, TREEPATH_CHUNK_AREA_SIZE, G_ALLOC_AND_FREE);
-
- klass->node_resorted = NULL;
-
- object_class->dispose = ets_dispose;
- object_class->finalize = ets_finalize;
-
- tree_class->get_root = ets_get_root;
- tree_class->get_parent = ets_get_parent;
- tree_class->get_first_child = ets_get_first_child;
- tree_class->get_last_child = ets_get_last_child;
- tree_class->get_prev = ets_get_prev;
- tree_class->get_next = ets_get_next;
-
- tree_class->is_root = ets_is_root;
- tree_class->is_expandable = ets_is_expandable;
- tree_class->get_children = ets_get_children;
- tree_class->depth = ets_depth;
-
- tree_class->icon_at = ets_icon_at;
-
- tree_class->get_expanded_default = ets_get_expanded_default;
- tree_class->column_count = ets_column_count;
-
- tree_class->has_save_id = ets_has_save_id;
- tree_class->get_save_id = ets_get_save_id;
-
- tree_class->has_get_node_by_id = ets_has_get_node_by_id;
- tree_class->get_node_by_id = ets_get_node_by_id;
-
- tree_class->has_change_pending = ets_has_change_pending;
-
- tree_class->value_at = ets_value_at;
- tree_class->set_value_at = ets_set_value_at;
- tree_class->is_editable = ets_is_editable;
-
- tree_class->duplicate_value = ets_duplicate_value;
- tree_class->free_value = ets_free_value;
- tree_class->initialize_value = ets_initialize_value;
- tree_class->value_is_empty = ets_value_is_empty;
- tree_class->value_to_string = ets_value_to_string;
-
- signals [NODE_RESORTED] =
- g_signal_new ("node_resorted",
- E_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeSortedClass, node_resorted),
- (GSignalAccumulator) NULL, NULL,
- g_cclosure_marshal_VOID__POINTER,
- G_TYPE_NONE, 1, G_TYPE_POINTER);
-}
-
-static void
-e_tree_sorted_init (GObject *object)
-{
- ETreeSorted *ets = (ETreeSorted *)object;
-
- ETreeSortedPriv *priv;
-
- priv = g_new0 (ETreeSortedPriv, 1);
- ets->priv = priv;
-
- priv->root = NULL;
- priv->source = NULL;
-
- priv->sort_info = NULL;
- priv->full_header = NULL;
-
- priv->last_access = NULL;
-
- priv->tree_model_pre_change_id = 0;
- priv->tree_model_no_change_id = 0;
- priv->tree_model_node_changed_id = 0;
- priv->tree_model_node_data_changed_id = 0;
- priv->tree_model_node_col_changed_id = 0;
- priv->tree_model_node_inserted_id = 0;
- priv->tree_model_node_removed_id = 0;
- priv->tree_model_node_deleted_id = 0;
- priv->tree_model_node_request_collapse_id = 0;
-
- priv->sort_info_changed_id = 0;
- priv->sort_idle_id = 0;
- priv->insert_idle_id = 0;
- priv->insert_count = 0;
-
- priv->in_resort_idle = 0;
- priv->nested_resort_idle = 0;
-}
-
-E_MAKE_TYPE(e_tree_sorted, "ETreeSorted", ETreeSorted, e_tree_sorted_class_init, e_tree_sorted_init, E_TREE_MODEL_TYPE)
-
-/**
- * e_tree_sorted_construct:
- * @etree:
- *
- *
- **/
-void
-e_tree_sorted_construct (ETreeSorted *ets, ETreeModel *source, ETableHeader *full_header, ETableSortInfo *sort_info)
-{
- ets->priv->source = source;
- if (source)
- g_object_ref(source);
-
- ets->priv->full_header = full_header;
- if (full_header)
- g_object_ref(full_header);
-
- e_tree_sorted_set_sort_info (ets, sort_info);
-
- ets->priv->tree_model_pre_change_id = g_signal_connect (G_OBJECT (source), "pre_change",
- G_CALLBACK (ets_proxy_pre_change), ets);
- ets->priv->tree_model_no_change_id = g_signal_connect (G_OBJECT (source), "no_change",
- G_CALLBACK (ets_proxy_no_change), ets);
- ets->priv->tree_model_node_changed_id = g_signal_connect (G_OBJECT (source), "node_changed",
- G_CALLBACK (ets_proxy_node_changed), ets);
- ets->priv->tree_model_node_data_changed_id = g_signal_connect (G_OBJECT (source), "node_data_changed",
- G_CALLBACK (ets_proxy_node_data_changed), ets);
- ets->priv->tree_model_node_col_changed_id = g_signal_connect (G_OBJECT (source), "node_col_changed",
- G_CALLBACK (ets_proxy_node_col_changed), ets);
- ets->priv->tree_model_node_inserted_id = g_signal_connect (G_OBJECT (source), "node_inserted",
- G_CALLBACK (ets_proxy_node_inserted), ets);
- ets->priv->tree_model_node_removed_id = g_signal_connect (G_OBJECT (source), "node_removed",
- G_CALLBACK (ets_proxy_node_removed), ets);
- ets->priv->tree_model_node_deleted_id = g_signal_connect (G_OBJECT (source), "node_deleted",
- G_CALLBACK (ets_proxy_node_deleted), ets);
- ets->priv->tree_model_node_request_collapse_id = g_signal_connect (G_OBJECT (source), "node_request_collapse",
- G_CALLBACK (ets_proxy_node_request_collapse), ets);
-
-}
-
-/**
- * e_tree_sorted_new
- *
- * FIXME docs here.
- *
- * return values: a newly constructed ETreeSorted.
- */
-ETreeSorted *
-e_tree_sorted_new (ETreeModel *source, ETableHeader *full_header, ETableSortInfo *sort_info)
-{
- ETreeSorted *ets = g_object_new (E_TREE_SORTED_TYPE, NULL);
-
- e_tree_sorted_construct(ets, source, full_header, sort_info);
-
- return ets;
-}
-
-ETreePath
-e_tree_sorted_view_to_model_path (ETreeSorted *ets,
- ETreePath view_path)
-{
- ETreeSortedPath *path = view_path;
- if (path) {
- ets->priv->last_access = path;
- d(g_print("Setting last access %p. (e_tree_sorted_view_to_model_path)\n", ets->priv->last_access));
- return path->corresponding;
- } else
- return NULL;
-}
-
-ETreePath
-e_tree_sorted_model_to_view_path (ETreeSorted *ets,
- ETreePath model_path)
-{
- return find_or_create_path(ets, model_path);
-}
-
-int
-e_tree_sorted_orig_position (ETreeSorted *ets,
- ETreePath path)
-{
- ETreeSortedPath *sorted_path = path;
- return sorted_path->orig_position;
-}
-
-int
-e_tree_sorted_node_num_children (ETreeSorted *ets,
- ETreePath path)
-{
- ETreeSortedPath *sorted_path = path;
-
- if (sorted_path->num_children == -1) {
- generate_children(ets, sorted_path);
- }
-
- return sorted_path->num_children;
-}
-
-void
-e_tree_sorted_node_resorted (ETreeSorted *sorted, ETreePath node)
-{
- g_return_if_fail (sorted != NULL);
- g_return_if_fail (E_IS_TREE_SORTED (sorted));
-
- g_signal_emit (G_OBJECT (sorted), signals [NODE_RESORTED], 0, node);
-}
-
-void
-e_tree_sorted_set_sort_info (ETreeSorted *ets, ETableSortInfo *sort_info)
-{
-
- g_return_if_fail (ets != NULL);
-
-
- if (ets->priv->sort_info) {
- if (ets->priv->sort_info_changed_id != 0)
- g_signal_handler_disconnect (G_OBJECT (ets->priv->sort_info),
- ets->priv->sort_info_changed_id);
- ets->priv->sort_info_changed_id = 0;
- g_object_unref (ets->priv->sort_info);
- }
-
- ets->priv->sort_info = sort_info;
- if (sort_info) {
- g_object_ref(sort_info);
- ets->priv->sort_info_changed_id = g_signal_connect (G_OBJECT (ets->priv->sort_info), "sort_info_changed",
- G_CALLBACK (ets_sort_info_changed), ets);
- }
-
- if (ets->priv->root)
- schedule_resort (ets, ets->priv->root, TRUE, TRUE);
-}
-
-ETableSortInfo*
-e_tree_sorted_get_sort_info (ETreeSorted *ets)
-{
- return ets->priv->sort_info;
-}
-
diff --git a/widgets/table/e-tree-sorted.h b/widgets/table/e-tree-sorted.h
deleted file mode 100644
index 41f123dc0b..0000000000
--- a/widgets/table/e-tree-sorted.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-tree-sorted.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TREE_SORTED_H_
-#define _E_TREE_SORTED_H_
-
-#include <gdk-pixbuf/gdk-pixbuf.h>
-#include <gal/e-table/e-tree-model.h>
-#include <gal/e-table/e-table-sort-info.h>
-#include <gal/e-table/e-table-header.h>
-
-G_BEGIN_DECLS
-
-#define E_TREE_SORTED_TYPE (e_tree_sorted_get_type ())
-#define E_TREE_SORTED(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TREE_SORTED_TYPE, ETreeSorted))
-#define E_TREE_SORTED_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TREE_SORTED_TYPE, ETreeSortedClass))
-#define E_IS_TREE_SORTED(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TREE_SORTED_TYPE))
-#define E_IS_TREE_SORTED_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TREE_SORTED_TYPE))
-#define E_TREE_SORTED_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), E_TREE_SORTED_TYPE, ETreeSortedClass))
-
-typedef struct ETreeSorted ETreeSorted;
-typedef struct ETreeSortedPriv ETreeSortedPriv;
-typedef struct ETreeSortedClass ETreeSortedClass;
-
-struct ETreeSorted {
- ETreeModel base;
-
- ETreeSortedPriv *priv;
-};
-
-struct ETreeSortedClass {
- ETreeModelClass parent_class;
-
- /* Signals */
- void (*node_resorted) (ETreeSorted *etm, ETreePath node);
-};
-
-
-GType e_tree_sorted_get_type (void);
-void e_tree_sorted_construct (ETreeSorted *etree,
- ETreeModel *source,
- ETableHeader *full_header,
- ETableSortInfo *sort_info);
-ETreeSorted *e_tree_sorted_new (ETreeModel *source,
- ETableHeader *full_header,
- ETableSortInfo *sort_info);
-
-ETreePath e_tree_sorted_view_to_model_path (ETreeSorted *ets,
- ETreePath view_path);
-ETreePath e_tree_sorted_model_to_view_path (ETreeSorted *ets,
- ETreePath model_path);
-int e_tree_sorted_orig_position (ETreeSorted *ets,
- ETreePath path);
-int e_tree_sorted_node_num_children (ETreeSorted *ets,
- ETreePath path);
-
-void e_tree_sorted_node_resorted (ETreeSorted *tree_model,
- ETreePath node);
-
-ETableSortInfo* e_tree_sorted_get_sort_info (ETreeSorted *tree_model);
-void e_tree_sorted_set_sort_info (ETreeSorted *tree_model,
- ETableSortInfo *sort_info);
-
-G_END_DECLS
-
-#endif /* _E_TREE_SORTED_H */
diff --git a/widgets/table/e-tree-table-adapter.c b/widgets/table/e-tree-table-adapter.c
deleted file mode 100644
index e1bda25eba..0000000000
--- a/widgets/table/e-tree-table-adapter.c
+++ /dev/null
@@ -1,1174 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-tree-table-adapter.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Chris Toshok <toshok@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-
-#include <libxml/tree.h>
-#include <libxml/parser.h>
-#include "gal/util/e-util.h"
-#include "gal/util/e-xml-utils.h"
-#include "e-tree-table-adapter.h"
-#include "e-table-sorting-utils.h"
-
-#define PARENT_TYPE E_TABLE_MODEL_TYPE
-#define d(x)
-
-#define INCREMENT_AMOUNT 100
-
-static ETableModelClass *parent_class;
-
-typedef struct {
- ETreePath path;
- guint32 num_visible_children;
- guint32 index;
-
- guint expanded : 1;
- guint expandable : 1;
- guint expandable_set : 1;
-} node_t;
-
-struct ETreeTableAdapterPriv {
- ETreeModel *source;
- ETableSortInfo *sort_info;
- ETableHeader *header;
-
- int n_map;
- int n_vals_allocated;
- node_t **map_table;
- GHashTable *nodes;
- GNode *root;
-
- guint root_visible : 1;
- guint remap_needed : 1;
-
- int last_access;
-
- int pre_change_id;
- int no_change_id;
- int node_changed_id;
- int node_data_changed_id;
- int node_col_changed_id;
- int node_inserted_id;
- int node_removed_id;
- int node_request_collapse_id;
- int sort_info_changed_id;
-};
-
-static GNode *
-lookup_gnode(ETreeTableAdapter *etta, ETreePath path)
-{
- GNode *gnode;
-
- if (!path)
- return NULL;
-
- gnode = g_hash_table_lookup(etta->priv->nodes, path);
-
- return gnode;
-}
-
-static void
-resize_map(ETreeTableAdapter *etta, int size)
-{
- if (size > etta->priv->n_vals_allocated) {
- etta->priv->n_vals_allocated = MAX(etta->priv->n_vals_allocated + INCREMENT_AMOUNT, size);
- etta->priv->map_table = g_renew (node_t *, etta->priv->map_table, etta->priv->n_vals_allocated);
- }
-
- etta->priv->n_map = size;
-}
-
-static void
-move_map_elements(ETreeTableAdapter *etta, int to, int from, int count)
-{
- if (count <= 0 || from >= etta->priv->n_map)
- return;
- memmove(etta->priv->map_table + to, etta->priv->map_table + from, count * sizeof (node_t *));
- etta->priv->remap_needed = TRUE;
-}
-
-static gint
-fill_map(ETreeTableAdapter *etta, gint index, GNode *gnode)
-{
- GNode *p;
-
- if ((gnode != etta->priv->root) || etta->priv->root_visible)
- etta->priv->map_table[index++] = gnode->data;
-
- for (p = gnode->children; p; p = p->next)
- index = fill_map(etta, index, p);
-
- etta->priv->remap_needed = TRUE;
- return index;
-}
-
-static void
-remap_indices(ETreeTableAdapter *etta)
-{
- int i;
- for (i = 0; i < etta->priv->n_map; i++)
- etta->priv->map_table[i]->index = i;
- etta->priv->remap_needed = FALSE;
-}
-
-static node_t *
-get_node(ETreeTableAdapter *etta, ETreePath path)
-{
- GNode *gnode = lookup_gnode(etta, path);
-
- if (!gnode)
- return NULL;
-
- return (node_t *)gnode->data;
-}
-
-static void
-resort_node(ETreeTableAdapter *etta, GNode *gnode, gboolean recurse)
-{
- node_t *node = (node_t *)gnode->data;
- ETreePath *paths, path;
- GNode *prev, *curr;
- int i, count;
- gboolean sort_needed;
-
- if (node->num_visible_children == 0)
- return;
-
- sort_needed = etta->priv->sort_info && e_table_sort_info_sorting_get_count (etta->priv->sort_info) > 0;
-
- for (i = 0, path = e_tree_model_node_get_first_child(etta->priv->source, node->path); path;
- path = e_tree_model_node_get_next(etta->priv->source, path), i++);
-
- count = i;
- if (count <= 1)
- return;
-
- paths = g_new0(ETreePath, count);
-
- for (i = 0, path = e_tree_model_node_get_first_child(etta->priv->source, node->path); path;
- path = e_tree_model_node_get_next(etta->priv->source, path), i++)
- paths[i] = path;
-
- if (count > 1 && sort_needed)
- e_table_sorting_utils_tree_sort(etta->priv->source, etta->priv->sort_info, etta->priv->header, paths, count);
-
- prev = NULL;
- for (i = 0; i < count; i++) {
- curr = lookup_gnode(etta, paths[i]);
- if (!curr)
- continue;
-
- if (prev)
- prev->next = curr;
- else
- gnode->children = curr;
-
- curr->prev = prev;
- curr->next = NULL;
- prev = curr;
- if (recurse)
- resort_node(etta, curr, recurse);
- }
-
- g_free(paths);
-}
-
-static gint
-get_row(ETreeTableAdapter *etta, ETreePath path)
-{
- node_t *node = get_node(etta, path);
- if (!node)
- return -1;
-
- if (etta->priv->remap_needed)
- remap_indices(etta);
-
- return node->index;
-}
-
-static ETreePath
-get_path (ETreeTableAdapter *etta, int row)
-{
- if (row == -1 && etta->priv->n_map > 0)
- row = etta->priv->n_map - 1;
- else if (row < 0 || row >= etta->priv->n_map)
- return NULL;
-
- return etta->priv->map_table [row]->path;
-}
-
-static void
-kill_gnode(GNode *node, ETreeTableAdapter *etta)
-{
- g_hash_table_remove(etta->priv->nodes, ((node_t *)node->data)->path);
-
- while (node->children) {
- GNode *next = node->children->next;
- kill_gnode(node->children, etta);
- node->children = next;
- }
-
- g_free(node->data);
- if (node == etta->priv->root)
- etta->priv->root = NULL;
- g_node_destroy(node);
-}
-
-static void
-update_child_counts(GNode *gnode, gint delta)
-{
- while (gnode) {
- node_t *node = (node_t *) gnode->data;
- node->num_visible_children += delta;
- gnode = gnode->parent;
- }
-}
-
-static int
-delete_children(ETreeTableAdapter *etta, GNode *gnode)
-{
- node_t *node = (node_t *)gnode->data;
- int to_remove = node ? node->num_visible_children : 0;
-
- if (to_remove == 0)
- return 0;
-
- while (gnode->children) {
- GNode *next = gnode->children->next;
- kill_gnode(gnode->children, etta);
- gnode->children = next;
- }
-
- return to_remove;
-}
-
-static void
-delete_node(ETreeTableAdapter *etta, ETreePath parent, ETreePath path)
-{
- int to_remove = 1;
- int parent_row = get_row(etta, parent);
- int row = get_row(etta, path);
- GNode *gnode = lookup_gnode(etta, path);
- GNode *parent_gnode = lookup_gnode(etta, parent);
-
- e_table_model_pre_change(E_TABLE_MODEL(etta));
-
- if (row == -1) {
- e_table_model_no_change(E_TABLE_MODEL(etta));
- return;
- }
-
- to_remove += delete_children(etta, gnode);
- kill_gnode(gnode, etta);
-
- move_map_elements(etta, row, row + to_remove, etta->priv->n_map - row - to_remove);
- resize_map(etta, etta->priv->n_map - to_remove);
-
- if (parent_gnode != NULL) {
- node_t *parent_node = parent_gnode->data;
- gboolean expandable = e_tree_model_node_is_expandable(etta->priv->source, parent);
-
- update_child_counts(parent_gnode, - to_remove);
- if (parent_node->expandable != expandable) {
- e_table_model_pre_change(E_TABLE_MODEL(etta));
- parent_node->expandable = expandable;
- e_table_model_row_changed(E_TABLE_MODEL(etta), parent_row);
- }
-
- resort_node (etta, parent_gnode, FALSE);
- }
-
- e_table_model_rows_deleted(E_TABLE_MODEL(etta), row, to_remove);
-}
-
-static GNode *
-create_gnode(ETreeTableAdapter *etta, ETreePath path)
-{
- GNode *gnode;
- node_t *node;
-
- node = g_new0(node_t, 1);
- node->path = path;
- node->index = -1;
- node->expanded = e_tree_model_get_expanded_default(etta->priv->source);
- node->expandable = e_tree_model_node_is_expandable(etta->priv->source, path);
- node->expandable_set = 1;
- node->num_visible_children = 0;
- gnode = g_node_new(node);
- g_hash_table_insert(etta->priv->nodes, path, gnode);
- return gnode;
-}
-
-static gint
-insert_children(ETreeTableAdapter *etta, GNode *gnode)
-{
- ETreePath path, tmp;
- int count = 0;
- int pos = 0;
-
- path = ((node_t *)gnode->data)->path;
- for (tmp = e_tree_model_node_get_first_child(etta->priv->source, path);
- tmp;
- tmp = e_tree_model_node_get_next(etta->priv->source, tmp), pos++) {
- GNode *child = create_gnode(etta, tmp);
- node_t *node = (node_t *) child->data;
- if (node->expanded)
- node->num_visible_children = insert_children(etta, child);
- g_node_prepend(gnode, child);
- count += node->num_visible_children + 1;
- }
- g_node_reverse_children(gnode);
- return count;
-}
-
-static void
-generate_tree(ETreeTableAdapter *etta, ETreePath path)
-{
- GNode *gnode;
- node_t *node;
- int size;
-
- e_table_model_pre_change(E_TABLE_MODEL(etta));
-
- g_assert(e_tree_model_node_is_root(etta->priv->source, path));
-
- if (etta->priv->root)
- kill_gnode(etta->priv->root, etta);
- resize_map(etta, 0);
-
- gnode = create_gnode(etta, path);
- node = (node_t *) gnode->data;
- node->expanded = TRUE;
- node->num_visible_children = insert_children(etta, gnode);
- if (etta->priv->sort_info && e_table_sort_info_sorting_get_count(etta->priv->sort_info) > 0)
- resort_node(etta, gnode, TRUE);
-
- etta->priv->root = gnode;
- size = etta->priv->root_visible ? node->num_visible_children + 1 : node->num_visible_children;
- resize_map(etta, size);
- fill_map(etta, 0, gnode);
- e_table_model_changed(E_TABLE_MODEL(etta));
-}
-
-static void
-insert_node(ETreeTableAdapter *etta, ETreePath parent, ETreePath path)
-{
- GNode *gnode, *parent_gnode;
- node_t *node, *parent_node;
- gboolean expandable;
- int size, row;
-
- e_table_model_pre_change(E_TABLE_MODEL(etta));
-
- if (get_node(etta, path)) {
- e_table_model_no_change(E_TABLE_MODEL(etta));
- return;
- }
-
- parent_gnode = lookup_gnode(etta, parent);
- if (!parent_gnode) {
- ETreePath grandparent = e_tree_model_node_get_parent(etta->priv->source, parent);
- if (e_tree_model_node_is_root(etta->priv->source, parent))
- generate_tree(etta, parent);
- else
- insert_node(etta, grandparent, parent);
- e_table_model_changed(E_TABLE_MODEL(etta));
- return;
- }
-
- parent_node = (node_t *) parent_gnode->data;
-
- if (parent_gnode != etta->priv->root) {
- expandable = e_tree_model_node_is_expandable(etta->priv->source, parent);
- if (parent_node->expandable != expandable) {
- e_table_model_pre_change(E_TABLE_MODEL(etta));
- parent_node->expandable = expandable;
- parent_node->expandable_set = 1;
- e_table_model_row_changed(E_TABLE_MODEL(etta), parent_node->index);
- }
- }
-
- if (!e_tree_table_adapter_node_is_expanded (etta, parent)) {
- e_table_model_no_change(E_TABLE_MODEL(etta));
- return;
- }
-
- gnode = create_gnode(etta, path);
- node = (node_t *) gnode->data;
-
- if (node->expanded)
- node->num_visible_children = insert_children(etta, gnode);
-
- g_node_append(parent_gnode, gnode);
- update_child_counts(parent_gnode, node->num_visible_children + 1);
- resort_node(etta, parent_gnode, FALSE);
- resort_node(etta, gnode, TRUE);
-
- size = node->num_visible_children + 1;
- resize_map(etta, etta->priv->n_map + size);
- if (parent_gnode == etta->priv->root)
- row = 0;
- else {
- gint new_size = parent_node->num_visible_children + 1;
- gint old_size = new_size - size;
- row = parent_node->index;
- move_map_elements(etta, row + new_size, row + old_size, etta->priv->n_map - row - new_size);
- }
- fill_map(etta, row, parent_gnode);
- e_table_model_rows_inserted(E_TABLE_MODEL(etta), get_row(etta, path), size);
-}
-
-typedef struct {
- GSList *paths;
- gboolean expanded;
-} check_expanded_closure;
-
-static gboolean
-check_expanded(GNode *gnode, gpointer data)
-{
- check_expanded_closure *closure = (check_expanded_closure *) data;
- node_t *node = (node_t *) gnode->data;
-
- if (node->expanded != closure->expanded)
- closure->paths = g_slist_prepend(closure->paths, node->path);
-
- return FALSE;
-}
-
-static void
-update_node(ETreeTableAdapter *etta, ETreePath path)
-{
- check_expanded_closure closure;
- ETreePath parent = e_tree_model_node_get_parent(etta->priv->source, path);
- GNode *gnode = lookup_gnode(etta, path);
- GSList *l;
-
- closure.expanded = e_tree_model_get_expanded_default (etta->priv->source);
- closure.paths = NULL;
-
- if (gnode)
- g_node_traverse(gnode, G_POST_ORDER, G_TRAVERSE_ALL, -1, check_expanded, &closure);
-
- if (e_tree_model_node_is_root(etta->priv->source, path))
- generate_tree(etta, path);
- else {
- delete_node(etta, parent, path);
- insert_node(etta, parent, path);
- }
-
- for (l = closure.paths; l; l = l->next)
- if (lookup_gnode(etta, l->data))
- e_tree_table_adapter_node_set_expanded (etta, l->data, !closure.expanded);
-
- g_slist_free(closure.paths);
-}
-
-static void
-etta_finalize (GObject *object)
-{
- ETreeTableAdapter *etta = E_TREE_TABLE_ADAPTER (object);
-
- if (etta->priv->root) {
- kill_gnode(etta->priv->root, etta);
- etta->priv->root = NULL;
- }
-
- g_hash_table_destroy (etta->priv->nodes);
-
- g_free (etta->priv->map_table);
-
- g_free (etta->priv);
-
- G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-static void
-etta_dispose (GObject *object)
-{
- ETreeTableAdapter *etta = E_TREE_TABLE_ADAPTER (object);
-
- if (etta->priv->sort_info) {
- g_signal_handler_disconnect(G_OBJECT (etta->priv->sort_info),
- etta->priv->sort_info_changed_id);
- g_object_unref(etta->priv->sort_info);
- etta->priv->sort_info = NULL;
- }
-
- if (etta->priv->header) {
- g_object_unref(etta->priv->header);
- etta->priv->header = NULL;
- }
-
- if (etta->priv->source) {
- g_signal_handler_disconnect (G_OBJECT (etta->priv->source),
- etta->priv->pre_change_id);
- g_signal_handler_disconnect (G_OBJECT (etta->priv->source),
- etta->priv->no_change_id);
- g_signal_handler_disconnect (G_OBJECT (etta->priv->source),
- etta->priv->node_changed_id);
- g_signal_handler_disconnect (G_OBJECT (etta->priv->source),
- etta->priv->node_data_changed_id);
- g_signal_handler_disconnect (G_OBJECT (etta->priv->source),
- etta->priv->node_col_changed_id);
- g_signal_handler_disconnect (G_OBJECT (etta->priv->source),
- etta->priv->node_inserted_id);
- g_signal_handler_disconnect (G_OBJECT (etta->priv->source),
- etta->priv->node_removed_id);
- g_signal_handler_disconnect (G_OBJECT (etta->priv->source),
- etta->priv->node_request_collapse_id);
-
- g_object_unref (etta->priv->source);
- etta->priv->source = NULL;
- }
-
- G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-static int
-etta_column_count (ETableModel *etm)
-{
- ETreeTableAdapter *etta = (ETreeTableAdapter *)etm;
-
- return e_tree_model_column_count (etta->priv->source);
-}
-
-static gboolean
-etta_has_save_id (ETableModel *etm)
-{
- ETreeTableAdapter *etta = (ETreeTableAdapter *)etm;
-
- return e_tree_model_has_save_id (etta->priv->source);
-}
-
-static gchar *
-etta_get_save_id (ETableModel *etm, int row)
-{
- ETreeTableAdapter *etta = (ETreeTableAdapter *)etm;
-
- return e_tree_model_get_save_id (etta->priv->source, get_path(etta, row));
-}
-
-static gboolean
-etta_has_change_pending (ETableModel *etm)
-{
- ETreeTableAdapter *etta = (ETreeTableAdapter *)etm;
-
- return e_tree_model_has_change_pending (etta->priv->source);
-}
-
-
-static int
-etta_row_count (ETableModel *etm)
-{
- ETreeTableAdapter *etta = (ETreeTableAdapter *)etm;
-
- return etta->priv->n_map;
-}
-
-static void *
-etta_value_at (ETableModel *etm, int col, int row)
-{
- ETreeTableAdapter *etta = (ETreeTableAdapter *)etm;
-
- switch (col) {
- case -1:
- if (row == -1)
- return NULL;
- return get_path (etta, row);
- case -2:
- return etta->priv->source;
- case -3:
- return etta;
- default:
- return e_tree_model_value_at (etta->priv->source, get_path (etta, row), col);
- }
-}
-
-static void
-etta_set_value_at (ETableModel *etm, int col, int row, const void *val)
-{
- ETreeTableAdapter *etta = (ETreeTableAdapter *)etm;
-
- e_tree_model_set_value_at (etta->priv->source, get_path (etta, row), col, val);
-}
-
-static gboolean
-etta_is_cell_editable (ETableModel *etm, int col, int row)
-{
- ETreeTableAdapter *etta = (ETreeTableAdapter *)etm;
-
- return e_tree_model_node_is_editable (etta->priv->source, get_path (etta, row), col);
-}
-
-static void
-etta_append_row (ETableModel *etm, ETableModel *source, int row)
-{
-}
-
-static void *
-etta_duplicate_value (ETableModel *etm, int col, const void *value)
-{
- ETreeTableAdapter *etta = (ETreeTableAdapter *)etm;
-
- return e_tree_model_duplicate_value (etta->priv->source, col, value);
-}
-
-static void
-etta_free_value (ETableModel *etm, int col, void *value)
-{
- ETreeTableAdapter *etta = (ETreeTableAdapter *)etm;
-
- e_tree_model_free_value (etta->priv->source, col, value);
-}
-
-static void *
-etta_initialize_value (ETableModel *etm, int col)
-{
- ETreeTableAdapter *etta = (ETreeTableAdapter *)etm;
-
- return e_tree_model_initialize_value (etta->priv->source, col);
-}
-
-static gboolean
-etta_value_is_empty (ETableModel *etm, int col, const void *value)
-{
- ETreeTableAdapter *etta = (ETreeTableAdapter *)etm;
-
- return e_tree_model_value_is_empty (etta->priv->source, col, value);
-}
-
-static char *
-etta_value_to_string (ETableModel *etm, int col, const void *value)
-{
- ETreeTableAdapter *etta = (ETreeTableAdapter *)etm;
-
- return e_tree_model_value_to_string (etta->priv->source, col, value);
-}
-
-static void
-etta_class_init (ETreeTableAdapterClass *klass)
-{
- ETableModelClass *table_class = (ETableModelClass *) klass;
- GObjectClass *object_class = (GObjectClass *) klass;
-
- parent_class = g_type_class_peek_parent (klass);
-
- object_class->dispose = etta_dispose;
- object_class->finalize = etta_finalize;
-
- table_class->column_count = etta_column_count;
- table_class->row_count = etta_row_count;
- table_class->append_row = etta_append_row;
-
- table_class->value_at = etta_value_at;
- table_class->set_value_at = etta_set_value_at;
- table_class->is_cell_editable = etta_is_cell_editable;
-
- table_class->has_save_id = etta_has_save_id;
- table_class->get_save_id = etta_get_save_id;
-
- table_class->has_change_pending = etta_has_change_pending;
- table_class->duplicate_value = etta_duplicate_value;
- table_class->free_value = etta_free_value;
- table_class->initialize_value = etta_initialize_value;
- table_class->value_is_empty = etta_value_is_empty;
- table_class->value_to_string = etta_value_to_string;
-}
-
-static void
-etta_init (ETreeTableAdapter *etta)
-{
- etta->priv = g_new(ETreeTableAdapterPriv, 1);
-
- etta->priv->source = NULL;
- etta->priv->sort_info = NULL;
-
- etta->priv->n_map = 0;
- etta->priv->n_vals_allocated = 0;
- etta->priv->map_table = NULL;
- etta->priv->nodes = NULL;
- etta->priv->root = NULL;
-
- etta->priv->root_visible = TRUE;
- etta->priv->remap_needed = TRUE;
-
- etta->priv->pre_change_id = 0;
- etta->priv->no_change_id = 0;
- etta->priv->node_changed_id = 0;
- etta->priv->node_data_changed_id = 0;
- etta->priv->node_col_changed_id = 0;
- etta->priv->node_inserted_id = 0;
- etta->priv->node_removed_id = 0;
- etta->priv->node_request_collapse_id = 0;
-}
-
-E_MAKE_TYPE(e_tree_table_adapter, "ETreeTableAdapter", ETreeTableAdapter, etta_class_init, etta_init, PARENT_TYPE)
-
-static void
-etta_proxy_pre_change (ETreeModel *etm, ETreeTableAdapter *etta)
-{
- e_table_model_pre_change(E_TABLE_MODEL(etta));
-}
-
-static void
-etta_proxy_no_change (ETreeModel *etm, ETreeTableAdapter *etta)
-{
- e_table_model_no_change(E_TABLE_MODEL(etta));
-}
-
-static void
-etta_proxy_node_changed (ETreeModel *etm, ETreePath path, ETreeTableAdapter *etta)
-{
- update_node(etta, path);
-
- e_table_model_changed(E_TABLE_MODEL(etta));
-}
-
-static void
-etta_proxy_node_data_changed (ETreeModel *etm, ETreePath path, ETreeTableAdapter *etta)
-{
- int row = get_row(etta, path);
-
- if (row == -1) {
- e_table_model_no_change(E_TABLE_MODEL(etta));
- return;
- }
-
- e_table_model_row_changed(E_TABLE_MODEL(etta), row);
-}
-
-static void
-etta_proxy_node_col_changed (ETreeModel *etm, ETreePath path, int col, ETreeTableAdapter *etta)
-{
- int row = get_row(etta, path);
-
- if (row == -1) {
- e_table_model_no_change(E_TABLE_MODEL(etta));
- return;
- }
-
- e_table_model_cell_changed(E_TABLE_MODEL(etta), col, row);
-}
-
-static void
-etta_proxy_node_inserted (ETreeModel *etm, ETreePath parent, ETreePath child, ETreeTableAdapter *etta)
-{
- if (e_tree_model_node_is_root(etm, child))
- generate_tree(etta, child);
- else
- insert_node(etta, parent, child);
-
- e_table_model_changed(E_TABLE_MODEL(etta));
-}
-
-static void
-etta_proxy_node_removed (ETreeModel *etm, ETreePath parent, ETreePath child, int old_position, ETreeTableAdapter *etta)
-{
- delete_node(etta, parent, child);
- e_table_model_changed(E_TABLE_MODEL(etta));
-}
-
-static void
-etta_proxy_node_request_collapse (ETreeModel *etm, ETreePath node, ETreeTableAdapter *etta)
-{
- e_tree_table_adapter_node_set_expanded(etta, node, FALSE);
-}
-
-static void
-etta_sort_info_changed (ETableSortInfo *sort_info, ETreeTableAdapter *etta)
-{
- if (!etta->priv->root)
- return;
-
- e_table_model_pre_change(E_TABLE_MODEL(etta));
- resort_node(etta, etta->priv->root, TRUE);
- fill_map(etta, 0, etta->priv->root);
- e_table_model_changed(E_TABLE_MODEL(etta));
-}
-
-ETableModel *
-e_tree_table_adapter_construct (ETreeTableAdapter *etta, ETreeModel *source, ETableSortInfo *sort_info, ETableHeader *header)
-{
- ETreePath root;
-
- etta->priv->source = source;
- g_object_ref (source);
-
- etta->priv->sort_info = sort_info;
- if (sort_info) {
- g_object_ref(sort_info);
- etta->priv->sort_info_changed_id = g_signal_connect (G_OBJECT (sort_info), "sort_info_changed",
- G_CALLBACK (etta_sort_info_changed), etta);
- }
-
- etta->priv->header = header;
- if (header)
- g_object_ref(header);
-
- etta->priv->nodes = g_hash_table_new(NULL, NULL);
-
- root = e_tree_model_get_root (source);
-
- if (root)
- generate_tree(etta, root);
-
- etta->priv->pre_change_id = g_signal_connect(G_OBJECT(source), "pre_change",
- G_CALLBACK (etta_proxy_pre_change), etta);
- etta->priv->no_change_id = g_signal_connect (G_OBJECT (source), "no_change",
- G_CALLBACK (etta_proxy_no_change), etta);
- etta->priv->node_changed_id = g_signal_connect (G_OBJECT (source), "node_changed",
- G_CALLBACK (etta_proxy_node_changed), etta);
- etta->priv->node_data_changed_id = g_signal_connect (G_OBJECT (source), "node_data_changed",
- G_CALLBACK (etta_proxy_node_data_changed), etta);
- etta->priv->node_col_changed_id = g_signal_connect (G_OBJECT (source), "node_col_changed",
- G_CALLBACK (etta_proxy_node_col_changed), etta);
- etta->priv->node_inserted_id = g_signal_connect (G_OBJECT (source), "node_inserted",
- G_CALLBACK (etta_proxy_node_inserted), etta);
- etta->priv->node_removed_id = g_signal_connect (G_OBJECT (source), "node_removed",
- G_CALLBACK (etta_proxy_node_removed), etta);
- etta->priv->node_request_collapse_id = g_signal_connect (G_OBJECT (source), "node_request_collapse",
- G_CALLBACK (etta_proxy_node_request_collapse), etta);
-
- return E_TABLE_MODEL (etta);
-}
-
-ETableModel *
-e_tree_table_adapter_new (ETreeModel *source, ETableSortInfo *sort_info, ETableHeader *header)
-{
- ETreeTableAdapter *etta = g_object_new (E_TREE_TABLE_ADAPTER_TYPE, NULL);
-
- e_tree_table_adapter_construct (etta, source, sort_info, header);
-
- return (ETableModel *) etta;
-}
-
-typedef struct {
- xmlNode *root;
- gboolean expanded_default;
- ETreeModel *model;
-} TreeAndRoot;
-
-static void
-save_expanded_state_func (gpointer keyp, gpointer value, gpointer data)
-{
- ETreePath path = keyp;
- node_t *node = ((GNode *)value)->data;
- TreeAndRoot *tar = data;
- xmlNode *xmlnode;
-
- if (node->expanded != tar->expanded_default) {
- gchar *save_id = e_tree_model_get_save_id(tar->model, path);
- xmlnode = xmlNewChild (tar->root, NULL, "node", NULL);
- e_xml_set_string_prop_by_name(xmlnode, "id", save_id);
- g_free(save_id);
- }
-}
-
-void
-e_tree_table_adapter_save_expanded_state (ETreeTableAdapter *etta, const char *filename)
-{
- TreeAndRoot tar;
- xmlDocPtr doc;
- xmlNode *root;
-
- g_return_if_fail(etta != NULL);
-
- doc = xmlNewDoc ("1.0");
- root = xmlNewDocNode (doc, NULL, (xmlChar *) "expanded_state", NULL);
- xmlDocSetRootElement (doc, root);
-
- tar.model = etta->priv->source;
- tar.root = root;
- tar.expanded_default = e_tree_model_get_expanded_default(etta->priv->source);
-
- e_xml_set_integer_prop_by_name (root, "vers", 2);
- e_xml_set_bool_prop_by_name (root, "default", tar.expanded_default);
-
- g_hash_table_foreach (etta->priv->nodes, save_expanded_state_func, &tar);
-
- e_xml_save_file (filename, doc);
- xmlFreeDoc (doc);
-}
-
-static xmlDoc *
-open_file (ETreeTableAdapter *etta, const char *filename)
-{
- xmlDoc *doc;
- xmlNode *root;
- int vers;
- gboolean model_default, saved_default;
-
- if (!g_file_test (filename, G_FILE_TEST_EXISTS))
- return NULL;
-
- doc = xmlParseFile (filename);
- if (!doc)
- return NULL;
-
- root = xmlDocGetRootElement (doc);
- if (root == NULL || strcmp (root->name, "expanded_state")) {
- xmlFreeDoc (doc);
- return NULL;
- }
-
- vers = e_xml_get_integer_prop_by_name_with_default (root, "vers", 0);
- if (vers > 2) {
- xmlFreeDoc (doc);
- return NULL;
- }
- model_default = e_tree_model_get_expanded_default (etta->priv->source);
- saved_default = e_xml_get_bool_prop_by_name_with_default (root, "default", !model_default);
- if (saved_default != model_default) {
- xmlFreeDoc (doc);
- return NULL;
- }
-
- return doc;
-}
-
-void
-e_tree_table_adapter_load_expanded_state (ETreeTableAdapter *etta, const char *filename)
-{
- xmlDoc *doc;
- xmlNode *root, *child;
- gboolean model_default;
-
- g_return_if_fail(etta != NULL);
-
- doc = open_file(etta, filename);
- if (!doc)
- return;
-
- root = xmlDocGetRootElement (doc);
-
- e_table_model_pre_change(E_TABLE_MODEL(etta));
-
- model_default = e_tree_model_get_expanded_default(etta->priv->source);
-
- for (child = root->xmlChildrenNode; child; child = child->next) {
- char *id;
- ETreePath path;
-
- if (strcmp (child->name, "node")) {
- d(g_warning ("unknown node '%s' in %s", child->name, filename));
- continue;
- }
-
- id = e_xml_get_string_prop_by_name_with_default (child, "id", "");
-
- if (!strcmp(id, "")) {
- g_free(id);
- continue;
- }
-
- path = e_tree_model_get_node_by_id(etta->priv->source, id);
- if (path)
- e_tree_table_adapter_node_set_expanded(etta, path, !model_default);
-
- g_free (id);
- }
-
- xmlFreeDoc (doc);
-
- e_table_model_changed (E_TABLE_MODEL (etta));
-}
-
-void
-e_tree_table_adapter_root_node_set_visible (ETreeTableAdapter *etta, gboolean visible)
-{
- int size;
-
- if (etta->priv->root_visible == visible)
- return;
-
- e_table_model_pre_change (E_TABLE_MODEL(etta));
-
- etta->priv->root_visible = visible;
- if (!visible) {
- ETreePath root = e_tree_model_get_root(etta->priv->source);
- if (root)
- e_tree_table_adapter_node_set_expanded(etta, root, TRUE);
- }
- size = (visible ? 1 : 0) + (etta->priv->root ? ((node_t *)etta->priv->root->data)->num_visible_children : 0);
- resize_map(etta, size);
- if (etta->priv->root)
- fill_map(etta, 0, etta->priv->root);
- e_table_model_changed(E_TABLE_MODEL(etta));
-}
-
-void
-e_tree_table_adapter_node_set_expanded (ETreeTableAdapter *etta, ETreePath path, gboolean expanded)
-{
- GNode *gnode = lookup_gnode(etta, path);
- node_t *node;
- int row;
-
- if (!expanded && (!gnode || (e_tree_model_node_is_root (etta->priv->source, path) && !etta->priv->root_visible)))
- return;
-
- if (!gnode && expanded) {
- ETreePath parent = e_tree_model_node_get_parent(etta->priv->source, path);
- g_return_if_fail(parent != NULL);
- e_tree_table_adapter_node_set_expanded(etta, parent, expanded);
- gnode = lookup_gnode(etta, path);
- }
- g_return_if_fail(gnode != NULL);
-
- node = (node_t *) gnode->data;
-
- if (expanded == node->expanded)
- return;
-
- node->expanded = expanded;
-
- row = get_row(etta, path);
- if (row == -1)
- return;
-
- e_table_model_pre_change (E_TABLE_MODEL(etta));
- e_table_model_pre_change (E_TABLE_MODEL(etta));
- e_table_model_row_changed(E_TABLE_MODEL(etta), row);
-
-
- if (expanded) {
- int num_children = insert_children(etta, gnode);
- update_child_counts(gnode, num_children);
- if (etta->priv->sort_info && e_table_sort_info_sorting_get_count(etta->priv->sort_info) > 0)
- resort_node(etta, gnode, TRUE);
- resize_map(etta, etta->priv->n_map + num_children);
- move_map_elements(etta, row + 1 + num_children, row + 1, etta->priv->n_map - row - 1 - num_children);
- fill_map(etta, row, gnode);
- if (num_children != 0) {
- e_table_model_rows_inserted(E_TABLE_MODEL(etta), row + 1, num_children);
- } else
- e_table_model_no_change(E_TABLE_MODEL(etta));
- } else {
- int num_children = delete_children(etta, gnode);
- if (num_children == 0) {
- e_table_model_no_change(E_TABLE_MODEL(etta));
- return;
- }
- move_map_elements(etta, row + 1, row + 1 + num_children, etta->priv->n_map - row - 1 - num_children);
- update_child_counts(gnode, - num_children);
- resize_map(etta, etta->priv->n_map - num_children);
- e_table_model_rows_deleted(E_TABLE_MODEL(etta), row + 1, num_children);
- }
-}
-
-void
-e_tree_table_adapter_node_set_expanded_recurse (ETreeTableAdapter *etta, ETreePath path, gboolean expanded)
-{
- ETreePath children;
-
- e_tree_table_adapter_node_set_expanded(etta, path, expanded);
-
- for (children = e_tree_model_node_get_first_child(etta->priv->source, path);
- children;
- children = e_tree_model_node_get_next(etta->priv->source, children)) {
- e_tree_table_adapter_node_set_expanded_recurse(etta, children, expanded);
- }
-}
-
-ETreePath
-e_tree_table_adapter_node_at_row (ETreeTableAdapter *etta, int row)
-{
- return get_path(etta, row);
-}
-
-int
-e_tree_table_adapter_row_of_node (ETreeTableAdapter *etta, ETreePath path)
-{
- return get_row(etta, path);
-}
-
-gboolean
-e_tree_table_adapter_root_node_is_visible(ETreeTableAdapter *etta)
-{
- return etta->priv->root_visible;
-}
-
-void
-e_tree_table_adapter_show_node (ETreeTableAdapter *etta, ETreePath path)
-{
- ETreePath parent;
-
- parent = e_tree_model_node_get_parent(etta->priv->source, path);
-
- while (parent) {
- e_tree_table_adapter_node_set_expanded(etta, parent, TRUE);
- parent = e_tree_model_node_get_parent(etta->priv->source, parent);
- }
-}
-
-gboolean
-e_tree_table_adapter_node_is_expanded (ETreeTableAdapter *etta, ETreePath path)
-{
- node_t *node = get_node(etta, path);
- if (!e_tree_model_node_is_expandable (etta->priv->source, path) || !node)
- return FALSE;
-
- return node->expanded;
-}
-
-void
-e_tree_table_adapter_set_sort_info (ETreeTableAdapter *etta, ETableSortInfo *sort_info)
-{
- if (etta->priv->sort_info) {
- g_signal_handler_disconnect(G_OBJECT(etta->priv->sort_info),
- etta->priv->sort_info_changed_id);
- g_object_unref(etta->priv->sort_info);
- }
-
- etta->priv->sort_info = sort_info;
- if (sort_info) {
- g_object_ref(sort_info);
- etta->priv->sort_info_changed_id = g_signal_connect(G_OBJECT(sort_info), "sort_info_changed",
- G_CALLBACK(etta_sort_info_changed), etta);
- }
-
- if (!etta->priv->root)
- return;
-
- e_table_model_pre_change(E_TABLE_MODEL(etta));
- resort_node(etta, etta->priv->root, TRUE);
- fill_map(etta, 0, etta->priv->root);
- e_table_model_changed(E_TABLE_MODEL(etta));
-}
-
-ETreePath
-e_tree_table_adapter_node_get_next (ETreeTableAdapter *etta, ETreePath path)
-{
- GNode *node = lookup_gnode (etta, path);
-
- if (node && node->next)
- return ((node_t *)node->next->data)->path;
-
- return NULL;
-}
diff --git a/widgets/table/e-tree-table-adapter.h b/widgets/table/e-tree-table-adapter.h
deleted file mode 100644
index 8ce1c78097..0000000000
--- a/widgets/table/e-tree-table-adapter.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-tree-table-adapter.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Chris Toshok <toshok@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TREE_TABLE_ADAPTER_H_
-#define _E_TREE_TABLE_ADAPTER_H_
-
-#include <glib-object.h>
-#include <gal/e-table/e-table-model.h>
-#include <gal/e-table/e-tree-model.h>
-#include <gal/e-table/e-table-sort-info.h>
-#include <gal/e-table/e-table-header.h>
-
-G_BEGIN_DECLS
-
-#define E_TREE_TABLE_ADAPTER_TYPE (e_tree_table_adapter_get_type ())
-#define E_TREE_TABLE_ADAPTER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TREE_TABLE_ADAPTER_TYPE, ETreeTableAdapter))
-#define E_TREE_TABLE_ADAPTER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TREE_TABLE_ADAPTER_TYPE, ETreeTableAdapterClass))
-#define E_IS_TREE_TABLE_ADAPTER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TREE_TABLE_ADAPTER_TYPE))
-#define E_IS_TREE_TABLE_ADAPTER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TREE_TABLE_ADAPTER_TYPE))
-#define E_TREE_TABLE_ADAPTER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((obj), E_TREE_TABLE_ADAPTER_TYPE, ETreeTableAdapterClass))
-
-typedef struct ETreeTableAdapterPriv ETreeTableAdapterPriv;
-
-typedef struct {
- ETableModel base;
-
- ETreeTableAdapterPriv *priv;
-} ETreeTableAdapter;
-
-typedef struct {
- ETableModelClass parent_class;
-} ETreeTableAdapterClass;
-
-GType e_tree_table_adapter_get_type (void);
-ETableModel *e_tree_table_adapter_new (ETreeModel *source,
- ETableSortInfo *sort_info,
- ETableHeader *header);
-ETableModel *e_tree_table_adapter_construct (ETreeTableAdapter *ets,
- ETreeModel *source,
- ETableSortInfo *sort_info,
- ETableHeader *header);
-
-ETreePath e_tree_table_adapter_node_get_next (ETreeTableAdapter *etta,
- ETreePath path);
-gboolean e_tree_table_adapter_node_is_expanded (ETreeTableAdapter *etta,
- ETreePath path);
-void e_tree_table_adapter_node_set_expanded (ETreeTableAdapter *etta,
- ETreePath path,
- gboolean expanded);
-void e_tree_table_adapter_node_set_expanded_recurse (ETreeTableAdapter *etta,
- ETreePath path,
- gboolean expanded);
-void e_tree_table_adapter_root_node_set_visible (ETreeTableAdapter *etta,
- gboolean visible);
-ETreePath e_tree_table_adapter_node_at_row (ETreeTableAdapter *etta,
- int row);
-int e_tree_table_adapter_row_of_node (ETreeTableAdapter *etta,
- ETreePath path);
-gboolean e_tree_table_adapter_root_node_is_visible (ETreeTableAdapter *etta);
-
-void e_tree_table_adapter_show_node (ETreeTableAdapter *etta,
- ETreePath path);
-
-void e_tree_table_adapter_save_expanded_state (ETreeTableAdapter *etta,
- const char *filename);
-void e_tree_table_adapter_load_expanded_state (ETreeTableAdapter *etta,
- const char *filename);
-
-void e_tree_table_adapter_set_sort_info (ETreeTableAdapter *etta,
- ETableSortInfo *sort_info);
-
-G_END_DECLS
-
-#endif /* _E_TREE_TABLE_ADAPTER_H_ */
diff --git a/widgets/table/e-tree.c b/widgets/table/e-tree.c
deleted file mode 100644
index fa3dafa2fa..0000000000
--- a/widgets/table/e-tree.c
+++ /dev/null
@@ -1,3324 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-tree.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdio.h>
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtksignal.h>
-#include <libgnomecanvas/gnome-canvas-rect-ellipse.h>
-#include <atk/atkregistry.h>
-
-#include <gal/util/e-i18n.h>
-#include <gal/util/e-util.h>
-#include <gal/util/e-marshal.h>
-#include <gal/widgets/e-canvas.h>
-#include <gal/widgets/e-canvas-background.h>
-
-#include <gal/e-table/e-table-column-specification.h>
-#include <gal/e-table/e-table-header-item.h>
-#include <gal/e-table/e-table-header.h>
-#include <gal/e-table/e-table-item.h>
-#include <gal/e-table/e-table-sort-info.h>
-#include <gal/e-table/e-table-utils.h>
-
-#ifdef E_TREE_USE_TREE_SELECTION
-#include <gal/e-table/e-tree-selection-model.h>
-#else
-#include <gal/e-table/e-table-selection-model.h>
-#endif
-
-#include <gal/e-table/e-tree-table-adapter.h>
-
-#include "e-tree.h"
-#include "gal/util/e-marshal.h"
-#include "gal/a11y/e-table/gal-a11y-e-tree.h"
-
-#define COLUMN_HEADER_HEIGHT 16
-
-#define PARENT_TYPE gtk_table_get_type ()
-
-static GtkObjectClass *parent_class;
-
-#define d(x)
-
-#if d(!)0
-#define e_table_item_leave_edit_(x) (e_table_item_leave_edit((x)), g_print ("%s: e_table_item_leave_edit\n", __FUNCTION__))
-#else
-#define e_table_item_leave_edit_(x) (e_table_item_leave_edit((x)))
-#endif
-
-enum {
- CURSOR_CHANGE,
- CURSOR_ACTIVATED,
- SELECTION_CHANGE,
- DOUBLE_CLICK,
- RIGHT_CLICK,
- CLICK,
- KEY_PRESS,
- START_DRAG,
- STATE_CHANGE,
- WHITE_SPACE_EVENT,
-
- TREE_DRAG_BEGIN,
- TREE_DRAG_END,
- TREE_DRAG_DATA_GET,
- TREE_DRAG_DATA_DELETE,
-
- TREE_DRAG_LEAVE,
- TREE_DRAG_MOTION,
- TREE_DRAG_DROP,
- TREE_DRAG_DATA_RECEIVED,
-
- LAST_SIGNAL
-};
-
-enum {
- PROP_0,
- PROP_LENGTH_THRESHOLD,
- PROP_HORIZONTAL_DRAW_GRID,
- PROP_VERTICAL_DRAW_GRID,
- PROP_DRAW_FOCUS,
- PROP_ETTA,
- PROP_UNIFORM_ROW_HEIGHT,
- PROP_ALWAYS_SEARCH
-};
-
-enum {
- ET_SCROLL_UP = 1 << 0,
- ET_SCROLL_DOWN = 1 << 1,
- ET_SCROLL_LEFT = 1 << 2,
- ET_SCROLL_RIGHT = 1 << 3
-};
-
-struct ETreePriv {
- ETreeModel *model;
- ETreeTableAdapter *etta;
-
- ETableHeader *full_header, *header;
-
- guint structure_change_id, expansion_change_id;
-
- ETableSortInfo *sort_info;
- ESorter *sorter;
-
- guint sort_info_change_id, group_info_change_id;
-
- ESelectionModel *selection;
- ETableSpecification *spec;
-
- ETableSearch *search;
-
- ETableCol *current_search_col;
-
- guint search_search_id;
- guint search_accept_id;
-
- int reflow_idle_id;
- int scroll_idle_id;
- int hover_idle_id;
-
- int table_model_change_id;
- int table_row_change_id;
- int table_cell_change_id;
-
- GnomeCanvas *header_canvas, *table_canvas;
-
- GnomeCanvasItem *header_item, *root;
-
- GnomeCanvasItem *white_item;
- GnomeCanvasItem *item;
-
- gint length_threshold;
-
- /*
- * Configuration settings
- */
- guint alternating_row_colors : 1;
- guint horizontal_draw_grid : 1;
- guint vertical_draw_grid : 1;
- guint draw_focus : 1;
- guint row_selection_active : 1;
-
- guint horizontal_scrolling : 1;
-
- guint scroll_direction : 4;
-
- guint do_drag : 1;
-
- guint uniform_row_height : 1;
-
- guint search_col_set : 1;
- guint always_search : 1;
-
- ECursorMode cursor_mode;
-
- int drop_row;
- ETreePath drop_path;
- int drop_col;
-
- GnomeCanvasItem *drop_highlight;
- int last_drop_x;
- int last_drop_y;
- int last_drop_time;
- GdkDragContext *last_drop_context;
-
- int hover_x;
- int hover_y;
-
- int drag_row;
- ETreePath drag_path;
- int drag_col;
- ETreeDragSourceSite *site;
-
- GList *expanded_list;
-};
-
-static guint et_signals [LAST_SIGNAL] = { 0, };
-
-static void et_grab_focus (GtkWidget *widget);
-
-static void et_drag_begin (GtkWidget *widget,
- GdkDragContext *context,
- ETree *et);
-static void et_drag_end (GtkWidget *widget,
- GdkDragContext *context,
- ETree *et);
-static void et_drag_data_get(GtkWidget *widget,
- GdkDragContext *context,
- GtkSelectionData *selection_data,
- guint info,
- guint time,
- ETree *et);
-static void et_drag_data_delete(GtkWidget *widget,
- GdkDragContext *context,
- ETree *et);
-
-static void et_drag_leave(GtkWidget *widget,
- GdkDragContext *context,
- guint time,
- ETree *et);
-static gboolean et_drag_motion(GtkWidget *widget,
- GdkDragContext *context,
- gint x,
- gint y,
- guint time,
- ETree *et);
-static gboolean et_drag_drop(GtkWidget *widget,
- GdkDragContext *context,
- gint x,
- gint y,
- guint time,
- ETree *et);
-static void et_drag_data_received(GtkWidget *widget,
- GdkDragContext *context,
- gint x,
- gint y,
- GtkSelectionData *selection_data,
- guint info,
- guint time,
- ETree *et);
-
-
-static void scroll_off (ETree *et);
-static void scroll_on (ETree *et, guint scroll_direction);
-static void hover_off (ETree *et);
-static void hover_on (ETree *et, int x, int y);
-static void context_destroyed (gpointer data, GObject *ctx);
-
-static void
-et_disconnect_from_etta (ETree *et)
-{
- if (et->priv->table_model_change_id != 0)
- g_signal_handler_disconnect (G_OBJECT (et->priv->etta),
- et->priv->table_model_change_id);
- if (et->priv->table_row_change_id != 0)
- g_signal_handler_disconnect (G_OBJECT (et->priv->etta),
- et->priv->table_row_change_id);
- if (et->priv->table_cell_change_id != 0)
- g_signal_handler_disconnect (G_OBJECT (et->priv->etta),
- et->priv->table_cell_change_id);
-
- et->priv->table_model_change_id = 0;
- et->priv->table_row_change_id = 0;
- et->priv->table_cell_change_id = 0;
-}
-
-static void
-clear_current_search_col (ETree *et)
-{
- et->priv->search_col_set = FALSE;
-}
-
-static ETableCol *
-current_search_col (ETree *et)
-{
- if (!et->priv->search_col_set) {
- et->priv->current_search_col =
- e_table_util_calculate_current_search_col (et->priv->header,
- et->priv->full_header,
- et->priv->sort_info,
- et->priv->always_search);
- et->priv->search_col_set = TRUE;
- }
-
- return et->priv->current_search_col;
-}
-
-static void
-e_tree_state_change (ETree *et)
-{
- g_signal_emit (G_OBJECT (et), et_signals [STATE_CHANGE], 0);
-}
-
-static void
-change_trigger (GtkObject *object, ETree *et)
-{
- e_tree_state_change (et);
-}
-
-static void
-search_col_change_trigger (GtkObject *object, ETree *et)
-{
- clear_current_search_col (et);
- e_tree_state_change (et);
-}
-
-static void
-disconnect_header (ETree *e_tree)
-{
- if (e_tree->priv->header == NULL)
- return;
-
- if (e_tree->priv->structure_change_id)
- g_signal_handler_disconnect (G_OBJECT (e_tree->priv->header),
- e_tree->priv->structure_change_id);
- if (e_tree->priv->expansion_change_id)
- g_signal_handler_disconnect (G_OBJECT (e_tree->priv->header),
- e_tree->priv->expansion_change_id);
- if (e_tree->priv->sort_info) {
- if (e_tree->priv->sort_info_change_id)
- g_signal_handler_disconnect (G_OBJECT (e_tree->priv->sort_info),
- e_tree->priv->sort_info_change_id);
- if (e_tree->priv->group_info_change_id)
- g_signal_handler_disconnect (G_OBJECT (e_tree->priv->sort_info),
- e_tree->priv->group_info_change_id);
-
- g_object_unref(e_tree->priv->sort_info);
- }
- g_object_unref(e_tree->priv->header);
- e_tree->priv->header = NULL;
- e_tree->priv->sort_info = NULL;
-}
-
-static void
-connect_header (ETree *e_tree, ETableState *state)
-{
- GValue *val = g_new0 (GValue, 1);
-
- if (e_tree->priv->header != NULL)
- disconnect_header (e_tree);
-
- e_tree->priv->header = e_table_state_to_header (GTK_WIDGET(e_tree), e_tree->priv->full_header, state);
-
- e_tree->priv->structure_change_id =
- g_signal_connect (G_OBJECT (e_tree->priv->header), "structure_change",
- G_CALLBACK (search_col_change_trigger), e_tree);
- e_tree->priv->expansion_change_id =
- g_signal_connect (G_OBJECT (e_tree->priv->header), "expansion_change",
- G_CALLBACK (change_trigger), e_tree);
-
- if (state->sort_info) {
- e_tree->priv->sort_info = e_table_sort_info_duplicate(state->sort_info);
- e_table_sort_info_set_can_group (e_tree->priv->sort_info, FALSE);
- e_tree->priv->sort_info_change_id =
- g_signal_connect (G_OBJECT (e_tree->priv->sort_info), "sort_info_changed",
- G_CALLBACK (search_col_change_trigger), e_tree);
- e_tree->priv->group_info_change_id =
- g_signal_connect (G_OBJECT (e_tree->priv->sort_info), "group_info_changed",
- G_CALLBACK (search_col_change_trigger), e_tree);
- } else
- e_tree->priv->sort_info = NULL;
-
- g_value_init (val, G_TYPE_OBJECT);
- g_value_set_object (val, e_tree->priv->sort_info);
- g_object_set_property (G_OBJECT(e_tree->priv->header), "sort_info", val);
- g_free (val);
-}
-
-static void
-et_dispose (GObject *object)
-{
- ETree *et = E_TREE (object);
-
- if (et->priv) {
-
- if (et->priv->search) {
- if (et->priv->search_search_id)
- g_signal_handler_disconnect (et->priv->search,
- et->priv->search_search_id);
- if (et->priv->search_accept_id)
- g_signal_handler_disconnect (et->priv->search,
- et->priv->search_accept_id);
- g_object_unref (et->priv->search);
- }
-
- if (et->priv->reflow_idle_id)
- g_source_remove(et->priv->reflow_idle_id);
- et->priv->reflow_idle_id = 0;
-
- scroll_off (et);
- hover_off (et);
- e_free_string_list (et->priv->expanded_list);
-
- et_disconnect_from_etta (et);
-
- g_object_unref (et->priv->etta);
- g_object_unref (et->priv->model);
- g_object_unref (et->priv->full_header);
- disconnect_header (et);
- g_object_unref (et->priv->selection);
- if (et->priv->spec)
- g_object_unref (et->priv->spec);
- et->priv->spec = NULL;
-
- if (et->priv->sorter)
- g_object_unref (et->priv->sorter);
- et->priv->sorter = NULL;
-
- if (et->priv->header_canvas)
- gtk_widget_destroy (GTK_WIDGET (et->priv->header_canvas));
- et->priv->header_canvas = NULL;
-
- if (et->priv->site)
- e_tree_drag_source_unset (et);
-
- if (et->priv->last_drop_context)
- g_object_weak_unref (G_OBJECT(et->priv->last_drop_context), context_destroyed, et);
- et->priv->last_drop_context = NULL;
-
- gtk_widget_destroy (GTK_WIDGET (et->priv->table_canvas));
-
- g_free(et->priv);
- et->priv = NULL;
- }
-
- if (G_OBJECT_CLASS (parent_class)->dispose)
- G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-static void
-et_unrealize (GtkWidget *widget)
-{
- scroll_off (E_TREE (widget));
- hover_off (E_TREE (widget));
-
- if (GTK_WIDGET_CLASS (parent_class)->unrealize)
- GTK_WIDGET_CLASS (parent_class)->unrealize (widget);
-}
-
-typedef struct {
- ETree *et;
- char *string;
-} SearchSearchStruct;
-
-static gboolean
-search_search_callback (ETreeModel *model, ETreePath path, gpointer data)
-{
- SearchSearchStruct *cb_data = data;
- const void *value;
- ETableCol *col = current_search_col (cb_data->et);
-
- value = e_tree_model_value_at (model, path, cb_data->et->priv->current_search_col->col_idx);
-
- return col->search (value, cb_data->string);
-}
-
-static gboolean
-et_search_search (ETableSearch *search, char *string, ETableSearchFlags flags, ETree *et)
-{
- ETreePath cursor;
- ETreePath found;
- SearchSearchStruct cb_data;
- ETableCol *col = current_search_col (et);
-
- if (col == NULL)
- return FALSE;
-
- cb_data.et = et;
- cb_data.string = string;
-
- cursor = e_tree_get_cursor (et);
-
- if (cursor && (flags & E_TABLE_SEARCH_FLAGS_CHECK_CURSOR_FIRST)) {
- const void *value;
-
- value = e_tree_model_value_at (et->priv->model, cursor, col->col_idx);
-
- if (col->search (value, string)) {
- return TRUE;
- }
- }
-
- found = e_tree_model_node_find (et->priv->model, cursor, NULL, E_TREE_FIND_NEXT_FORWARD, search_search_callback, &cb_data);
- if (found == NULL)
- found = e_tree_model_node_find (et->priv->model, NULL, cursor, E_TREE_FIND_NEXT_FORWARD, search_search_callback, &cb_data);
-
- if (found && found != cursor) {
- int model_row;
-
- e_tree_table_adapter_show_node (et->priv->etta, found);
- model_row = e_tree_table_adapter_row_of_node (et->priv->etta, found);
-
- cursor = found;
-
- e_selection_model_select_as_key_press(E_SELECTION_MODEL (et->priv->selection), model_row, col->col_idx, GDK_CONTROL_MASK);
- return TRUE;
- } else if (cursor && !(flags & E_TABLE_SEARCH_FLAGS_CHECK_CURSOR_FIRST)) {
- const void *value;
-
- value = e_tree_model_value_at (et->priv->model, cursor, col->col_idx);
-
- return col->search (value, string);
- } else
- return FALSE;
-}
-
-static void
-et_search_accept (ETableSearch *search, ETree *et)
-{
- ETableCol *col = current_search_col (et);
- int cursor;
-
- if (col == NULL)
- return;
-
- g_object_get(et->priv->selection,
- "cursor_row", &cursor,
- NULL);
- e_selection_model_select_as_key_press(E_SELECTION_MODEL (et->priv->selection), cursor, col->col_idx, 0);
-}
-
-static void
-e_tree_init (GtkObject *object)
-{
- ETree *e_tree = E_TREE (object);
- GtkTable *gtk_table = GTK_TABLE (object);
-
- GTK_WIDGET_SET_FLAGS (e_tree, GTK_CAN_FOCUS);
-
- gtk_table->homogeneous = FALSE;
-
- e_tree->priv = g_new(ETreePriv, 1);
-
- e_tree->priv->model = NULL;
- e_tree->priv->etta = NULL;
-
- e_tree->priv->full_header = NULL;
- e_tree->priv->header = NULL;
-
- e_tree->priv->structure_change_id = 0;
- e_tree->priv->expansion_change_id = 0;
- e_tree->priv->sort_info_change_id = 0;
- e_tree->priv->group_info_change_id = 0;
-
- e_tree->priv->sort_info = NULL;
- e_tree->priv->sorter = NULL;
- e_tree->priv->reflow_idle_id = 0;
- e_tree->priv->scroll_idle_id = 0;
- e_tree->priv->hover_idle_id = 0;
-
- e_tree->priv->table_model_change_id = 0;
- e_tree->priv->table_row_change_id = 0;
- e_tree->priv->table_cell_change_id = 0;
-
- e_tree->priv->alternating_row_colors = 1;
- e_tree->priv->horizontal_draw_grid = 1;
- e_tree->priv->vertical_draw_grid = 1;
- e_tree->priv->draw_focus = 1;
- e_tree->priv->cursor_mode = E_CURSOR_SIMPLE;
- e_tree->priv->length_threshold = 200;
- e_tree->priv->uniform_row_height = FALSE;
-
- e_tree->priv->row_selection_active = FALSE;
- e_tree->priv->horizontal_scrolling = FALSE;
- e_tree->priv->scroll_direction = 0;
-
- e_tree->priv->drop_row = -1;
- e_tree->priv->drop_path = NULL;
- e_tree->priv->drop_col = -1;
- e_tree->priv->drop_highlight = NULL;
-
- e_tree->priv->last_drop_x = 0;
- e_tree->priv->last_drop_y = 0;
- e_tree->priv->last_drop_time = 0;
- e_tree->priv->last_drop_context = NULL;
-
- e_tree->priv->hover_x = 0;
- e_tree->priv->hover_y = 0;
-
- e_tree->priv->drag_row = -1;
- e_tree->priv->drag_path = NULL;
- e_tree->priv->drag_col = -1;
-
- e_tree->priv->expanded_list = NULL;
-
- e_tree->priv->site = NULL;
- e_tree->priv->do_drag = FALSE;
-
-#ifdef E_TREE_USE_TREE_SELECTION
- e_tree->priv->selection = E_SELECTION_MODEL(e_tree_selection_model_new());
-#else
- e_tree->priv->selection = E_SELECTION_MODEL(e_table_selection_model_new());
-#endif
- e_tree->priv->spec = NULL;
-
- e_tree->priv->header_canvas = NULL;
- e_tree->priv->table_canvas = NULL;
-
- e_tree->priv->header_item = NULL;
- e_tree->priv->root = NULL;
-
- e_tree->priv->white_item = NULL;
- e_tree->priv->item = NULL;
-
- e_tree->priv->search = e_table_search_new();
-
- e_tree->priv->search_search_id =
- g_signal_connect (G_OBJECT (e_tree->priv->search), "search",
- G_CALLBACK (et_search_search), e_tree);
- e_tree->priv->search_accept_id =
- g_signal_connect (G_OBJECT (e_tree->priv->search), "accept",
- G_CALLBACK (et_search_accept), e_tree);
-
- e_tree->priv->current_search_col = NULL;
- e_tree->priv->search_col_set = FALSE;
- e_tree->priv->always_search = g_getenv ("GAL_ALWAYS_SEARCH") ? TRUE : FALSE;
-}
-
-/* Grab_focus handler for the ETree */
-static void
-et_grab_focus (GtkWidget *widget)
-{
- ETree *e_tree;
-
- e_tree = E_TREE (widget);
-
- gtk_widget_grab_focus (GTK_WIDGET (e_tree->priv->table_canvas));
-}
-
-/* Focus handler for the ETree */
-static gint
-et_focus (GtkWidget *container, GtkDirectionType direction)
-{
- ETree *e_tree;
-
- e_tree = E_TREE (container);
-
- if (GTK_CONTAINER (container)->focus_child) {
- gtk_container_set_focus_child (GTK_CONTAINER (container), NULL);
- return FALSE;
- }
-
- return gtk_widget_child_focus (GTK_WIDGET (e_tree->priv->table_canvas), direction);
-}
-
-static void
-set_header_canvas_width (ETree *e_tree)
-{
- double oldwidth, oldheight, width;
-
- if (!(e_tree->priv->header_item && e_tree->priv->header_canvas && e_tree->priv->table_canvas))
- return;
-
- gnome_canvas_get_scroll_region (GNOME_CANVAS (e_tree->priv->table_canvas),
- NULL, NULL, &width, NULL);
- gnome_canvas_get_scroll_region (GNOME_CANVAS (e_tree->priv->header_canvas),
- NULL, NULL, &oldwidth, &oldheight);
-
- if (oldwidth != width ||
- oldheight != E_TABLE_HEADER_ITEM (e_tree->priv->header_item)->height - 1)
- gnome_canvas_set_scroll_region (
- GNOME_CANVAS (e_tree->priv->header_canvas),
- 0, 0, width, /* COLUMN_HEADER_HEIGHT - 1 */
- E_TABLE_HEADER_ITEM (e_tree->priv->header_item)->height - 1);
-
-}
-
-static void
-header_canvas_size_allocate (GtkWidget *widget, GtkAllocation *alloc, ETree *e_tree)
-{
- set_header_canvas_width (e_tree);
-
- /* When the header item is created ->height == 0,
- as the font is only created when everything is realized.
- So we set the usize here as well, so that the size of the
- header is correct */
- if (GTK_WIDGET (e_tree->priv->header_canvas)->allocation.height !=
- E_TABLE_HEADER_ITEM (e_tree->priv->header_item)->height)
- gtk_widget_set_usize (GTK_WIDGET (e_tree->priv->header_canvas), -1,
- E_TABLE_HEADER_ITEM (e_tree->priv->header_item)->height);
-}
-
-static void
-e_tree_setup_header (ETree *e_tree)
-{
- char *pointer;
- e_tree->priv->header_canvas = GNOME_CANVAS (e_canvas_new ());
- GTK_WIDGET_UNSET_FLAGS (e_tree->priv->header_canvas, GTK_CAN_FOCUS);
-
- gtk_widget_show (GTK_WIDGET (e_tree->priv->header_canvas));
-
- pointer = g_strdup_printf("%p", e_tree);
-
- e_tree->priv->header_item = gnome_canvas_item_new (
- gnome_canvas_root (e_tree->priv->header_canvas),
- e_table_header_item_get_type (),
- "ETableHeader", e_tree->priv->header,
- "full_header", e_tree->priv->full_header,
- "sort_info", e_tree->priv->sort_info,
- "dnd_code", pointer,
- "tree", e_tree,
- NULL);
-
- g_free(pointer);
-
- g_signal_connect (
- e_tree->priv->header_canvas, "size_allocate",
- G_CALLBACK (header_canvas_size_allocate), e_tree);
-
- gtk_widget_set_usize (GTK_WIDGET (e_tree->priv->header_canvas), -1,
- E_TABLE_HEADER_ITEM (e_tree->priv->header_item)->height);
-}
-
-static gboolean
-tree_canvas_reflow_idle (ETree *e_tree)
-{
- gdouble height, width;
- gdouble item_height;
- gdouble oldheight, oldwidth;
- GtkAllocation *alloc = &(GTK_WIDGET (e_tree->priv->table_canvas)->allocation);
-
- g_object_get (e_tree->priv->item,
- "height", &height,
- "width", &width,
- NULL);
- item_height = height;
- height = MAX ((int)height, alloc->height);
- width = MAX((int)width, alloc->width);
- /* I have no idea why this needs to be -1, but it works. */
- gnome_canvas_get_scroll_region (GNOME_CANVAS (e_tree->priv->table_canvas),
- NULL, NULL, &oldwidth, &oldheight);
-
- if (oldwidth != width - 1 ||
- oldheight != height - 1) {
- gnome_canvas_set_scroll_region (GNOME_CANVAS (e_tree->priv->table_canvas),
- 0, 0, width - 1, height - 1);
- set_header_canvas_width (e_tree);
- }
- e_tree->priv->reflow_idle_id = 0;
- return FALSE;
-}
-
-static void
-tree_canvas_size_allocate (GtkWidget *widget, GtkAllocation *alloc,
- ETree *e_tree)
-{
- gdouble width;
- gdouble height;
- gdouble item_height;
- GtkAdjustment *adj = GTK_LAYOUT(e_tree->priv->table_canvas)->vadjustment;
- ETreePath path = e_tree_get_cursor (e_tree);
- gint x, y, w, h;
- GValue *val = g_new0 (GValue, 1);
- g_value_init (val, G_TYPE_DOUBLE);
-
- width = alloc->width;
- g_value_set_double (val, width);
- g_object_get (e_tree->priv->item,
- "height", &height,
- NULL);
- item_height = height;
- height = MAX ((int)height, alloc->height);
-
- g_object_set (e_tree->priv->item,
- "width", width,
- NULL);
- g_object_set_property (G_OBJECT (e_tree->priv->header), "width", val);
- g_free (val);
-
- if (e_tree->priv->reflow_idle_id)
- g_source_remove(e_tree->priv->reflow_idle_id);
- tree_canvas_reflow_idle(e_tree);
-
- x = y = w = h = 0;
- if (path) {
- int row = e_tree_row_of_node(e_tree, path);
- int col = 0;
-
- if (row >= 0)
- e_table_item_get_cell_geometry (E_TABLE_ITEM (e_tree->priv->item),
- &row, &col, &x, &y, &w, &h);
- }
-
- if (y < adj->value || y + h > adj->value + adj->page_size)
- gtk_adjustment_set_value(adj, CLAMP(y - adj->page_size / 2, adj->lower, adj->upper - adj->page_size));
-}
-
-static void
-tree_canvas_reflow (GnomeCanvas *canvas, ETree *e_tree)
-{
- if (!e_tree->priv->reflow_idle_id)
- e_tree->priv->reflow_idle_id = g_idle_add_full (400, (GSourceFunc) tree_canvas_reflow_idle, e_tree, NULL);
-}
-
-static void
-item_cursor_change (ETableItem *eti, int row, ETree *et)
-{
- ETreePath path = e_tree_table_adapter_node_at_row(et->priv->etta, row);
- g_signal_emit (et,
- et_signals [CURSOR_CHANGE], 0,
- row, path);
-}
-
-static void
-item_cursor_activated (ETableItem *eti, int row, ETree *et)
-{
- ETreePath path = e_tree_table_adapter_node_at_row(et->priv->etta, row);
- g_signal_emit (et,
- et_signals [CURSOR_ACTIVATED], 0,
- row, path);
- d(g_print("%s: Emitted CURSOR_ACTIVATED signal on row: %d and path: 0x%p\n", __FUNCTION__, row, path));
-}
-
-static void
-item_double_click (ETableItem *eti, int row, int col, GdkEvent *event, ETree *et)
-{
- ETreePath path = e_tree_table_adapter_node_at_row(et->priv->etta, row);
- g_signal_emit (et,
- et_signals [DOUBLE_CLICK], 0,
- row, path, col, event);
-}
-
-static gint
-item_right_click (ETableItem *eti, int row, int col, GdkEvent *event, ETree *et)
-{
- int return_val = 0;
- ETreePath path = e_tree_table_adapter_node_at_row(et->priv->etta, row);
- g_signal_emit (et,
- et_signals [RIGHT_CLICK], 0,
- row, path, col, event, &return_val);
- return return_val;
-}
-
-static gint
-item_click (ETableItem *eti, int row, int col, GdkEvent *event, ETree *et)
-{
- int return_val = 0;
- ETreePath path = e_tree_table_adapter_node_at_row(et->priv->etta, row);
- g_signal_emit (et,
- et_signals [CLICK], 0,
- row, path, col, event, &return_val);
- return return_val;
-}
-
-static gint
-item_key_press (ETableItem *eti, int row, int col, GdkEvent *event, ETree *et)
-{
- int return_val = 0;
- GdkEventKey *key = (GdkEventKey *) event;
- ETreePath path;
- int y, row_local, col_local;
- GtkAdjustment *vadj;
-
- switch (key->keyval) {
- case GDK_Page_Down:
- case GDK_KP_Page_Down:
- vadj = gtk_layout_get_vadjustment (GTK_LAYOUT (et->priv->table_canvas));
- y = CLAMP(vadj->value + (2 * vadj->page_size - 50), 0, vadj->upper);
- y -= vadj->value;
- e_tree_get_cell_at (et, 30, y, &row_local, &col_local);
-
- if (row_local == -1)
- row_local = e_table_model_row_count (E_TABLE_MODEL(et->priv->etta)) - 1;
-
- row_local = e_tree_view_to_model_row (et, row_local);
- col_local = e_selection_model_cursor_col (E_SELECTION_MODEL (et->priv->selection));
- e_selection_model_select_as_key_press (E_SELECTION_MODEL (et->priv->selection), row_local, col_local, key->state);
-
- return_val = 1;
- break;
- case GDK_Page_Up:
- case GDK_KP_Page_Up:
- vadj = gtk_layout_get_vadjustment (GTK_LAYOUT (et->priv->table_canvas));
- y = CLAMP(vadj->value - (vadj->page_size - 50), 0, vadj->upper);
- y -= vadj->value;
- e_tree_get_cell_at (et, 30, y, &row_local, &col_local);
-
- if (row_local == -1)
- row_local = e_table_model_row_count (E_TABLE_MODEL(et->priv->etta)) - 1;
-
- row_local = e_tree_view_to_model_row (et, row_local);
- col_local = e_selection_model_cursor_col (E_SELECTION_MODEL (et->priv->selection));
- e_selection_model_select_as_key_press (E_SELECTION_MODEL (et->priv->selection), row_local, col_local, key->state);
-
- return_val = 1;
- break;
- case '=':
- case GDK_Right:
- case GDK_KP_Right:
- /* Only allow if the Shift modifier is used -- eg. Ctrl-Equal shouldn't be handled. */
- if (key->state & ~(GDK_SHIFT_MASK | GDK_LOCK_MASK))
- break;
- if (row != -1) {
- path = e_tree_table_adapter_node_at_row(et->priv->etta, row);
- if (path)
- e_tree_table_adapter_node_set_expanded (et->priv->etta, path, TRUE);
- }
- return_val = 1;
- break;
- case '-':
- case GDK_Left:
- case GDK_KP_Left:
- /* Only allow if the Shift modifier is used -- eg. Ctrl-Minus shouldn't be handled. */
- if (key->state & ~(GDK_SHIFT_MASK | GDK_LOCK_MASK))
- break;
- if (row != -1) {
- path = e_tree_table_adapter_node_at_row(et->priv->etta, row);
- if (path)
- e_tree_table_adapter_node_set_expanded (et->priv->etta, path, FALSE);
- }
- return_val = 1;
- break;
- case GDK_BackSpace:
- if (e_table_search_backspace (et->priv->search))
- return TRUE;
- /* Fallthrough */
- default:
- if ((key->state & ~(GDK_SHIFT_MASK | GDK_LOCK_MASK)) == 0
- && ((key->keyval >= GDK_a && key->keyval <= GDK_z) ||
- (key->keyval >= GDK_A && key->keyval <= GDK_Z) ||
- (key->keyval >= GDK_0 && key->keyval <= GDK_9))) {
- e_table_search_input_character (et->priv->search, key->keyval);
- }
- path = e_tree_table_adapter_node_at_row(et->priv->etta, row);
- g_signal_emit (et,
- et_signals [KEY_PRESS], 0,
- row, path, col, event, &return_val);
- break;
- }
- return return_val;
-}
-
-static gint
-item_start_drag (ETableItem *eti, int row, int col, GdkEvent *event, ETree *et)
-{
- ETreePath path;
- gint return_val = 0;
-
- path = e_tree_table_adapter_node_at_row(et->priv->etta, row);
-
- g_signal_emit (et,
- et_signals [START_DRAG], 0,
- row, path, col, event, &return_val);
-
- return return_val;
-}
-
-static void
-et_selection_model_selection_changed (ETableSelectionModel *etsm, ETree *et)
-{
- g_signal_emit (et,
- et_signals [SELECTION_CHANGE], 0);
-}
-
-static void
-et_selection_model_selection_row_changed (ETableSelectionModel *etsm, int row, ETree *et)
-{
- g_signal_emit (et,
- et_signals [SELECTION_CHANGE], 0);
-}
-
-static void
-et_build_item (ETree *et)
-{
- et->priv->item = gnome_canvas_item_new(GNOME_CANVAS_GROUP (gnome_canvas_root(et->priv->table_canvas)),
- e_table_item_get_type(),
- "ETableHeader", et->priv->header,
- "ETableModel", et->priv->etta,
- "selection_model", et->priv->selection,
- "alternating_row_colors", et->priv->alternating_row_colors,
- "horizontal_draw_grid", et->priv->horizontal_draw_grid,
- "vertical_draw_grid", et->priv->vertical_draw_grid,
- "drawfocus", et->priv->draw_focus,
- "cursor_mode", et->priv->cursor_mode,
- "length_threshold", et->priv->length_threshold,
- "uniform_row_height", et->priv->uniform_row_height,
- NULL);
-
- g_signal_connect (et->priv->item, "cursor_change",
- G_CALLBACK (item_cursor_change), et);
- g_signal_connect (et->priv->item, "cursor_activated",
- G_CALLBACK (item_cursor_activated), et);
- g_signal_connect (et->priv->item, "double_click",
- G_CALLBACK (item_double_click), et);
- g_signal_connect (et->priv->item, "right_click",
- G_CALLBACK (item_right_click), et);
- g_signal_connect (et->priv->item, "click",
- G_CALLBACK (item_click), et);
- g_signal_connect (et->priv->item, "key_press",
- G_CALLBACK (item_key_press), et);
- g_signal_connect (et->priv->item, "start_drag",
- G_CALLBACK (item_start_drag), et);
-}
-
-static void
-et_canvas_style_set (GtkWidget *widget, GtkStyle *prev_style)
-{
- gnome_canvas_item_set(
- E_TREE(widget)->priv->white_item,
- "fill_color_gdk", &widget->style->base[GTK_STATE_NORMAL],
- NULL);
-}
-
-static gint
-white_item_event (GnomeCanvasItem *white_item, GdkEvent *event, ETree *e_tree)
-{
- int return_val = 0;
- g_signal_emit (e_tree,
- et_signals [WHITE_SPACE_EVENT], 0,
- event, &return_val);
- return return_val;
-}
-
-static gint
-et_canvas_root_event (GnomeCanvasItem *root, GdkEvent *event, ETree *e_tree)
-{
- switch (event->type) {
- case GDK_BUTTON_PRESS:
- case GDK_2BUTTON_PRESS:
- case GDK_BUTTON_RELEASE:
- if (event->button.button != 4 && event->button.button != 5) {
- if (GTK_WIDGET_HAS_FOCUS(root->canvas)) {
- GnomeCanvasItem *item = GNOME_CANVAS(root->canvas)->focused_item;
-
- if (E_IS_TABLE_ITEM(item)) {
- e_table_item_leave_edit_(E_TABLE_ITEM(item));
- return TRUE;
- }
- }
- }
- break;
- default:
- break;
- }
-
- return FALSE;
-}
-
-/* Handler for focus events in the table_canvas; we have to repaint ourselves
- * and give the focus to some ETableItem.
- */
-static gint
-table_canvas_focus_event_cb (GtkWidget *widget, GdkEventFocus *event, gpointer data)
-{
- GnomeCanvas *canvas;
- ETree *tree;
-
- gtk_widget_queue_draw (widget);
-
- if (!event->in)
- return TRUE;
-
- canvas = GNOME_CANVAS (widget);
- tree = E_TREE (data);
-
- if (!canvas->focused_item) {
- e_table_item_set_cursor (E_TABLE_ITEM (tree->priv->item), 0, 0);
- gnome_canvas_item_grab_focus (tree->priv->item);
- }
-
- return TRUE;
-}
-
-static void
-e_tree_setup_table (ETree *e_tree)
-{
- e_tree->priv->table_canvas = GNOME_CANVAS (e_canvas_new ());
- g_signal_connect (
- e_tree->priv->table_canvas, "size_allocate",
- G_CALLBACK (tree_canvas_size_allocate), e_tree);
- g_signal_connect (
- e_tree->priv->table_canvas, "focus_in_event",
- G_CALLBACK (table_canvas_focus_event_cb), e_tree);
- g_signal_connect (
- e_tree->priv->table_canvas, "focus_out_event",
- G_CALLBACK (table_canvas_focus_event_cb), e_tree);
-
- g_signal_connect (
- e_tree->priv->table_canvas, "drag_begin",
- G_CALLBACK (et_drag_begin), e_tree);
- g_signal_connect (
- e_tree->priv->table_canvas, "drag_end",
- G_CALLBACK (et_drag_end), e_tree);
- g_signal_connect (
- e_tree->priv->table_canvas, "drag_data_get",
- G_CALLBACK (et_drag_data_get), e_tree);
- g_signal_connect (
- e_tree->priv->table_canvas, "drag_data_delete",
- G_CALLBACK (et_drag_data_delete), e_tree);
- g_signal_connect (
- e_tree, "drag_motion",
- G_CALLBACK (et_drag_motion), e_tree);
- g_signal_connect (
- e_tree, "drag_leave",
- G_CALLBACK (et_drag_leave), e_tree);
- g_signal_connect (
- e_tree, "drag_drop",
- G_CALLBACK (et_drag_drop), e_tree);
- g_signal_connect (
- e_tree, "drag_data_received",
- G_CALLBACK (et_drag_data_received), e_tree);
-
- g_signal_connect (e_tree->priv->table_canvas, "reflow",
- G_CALLBACK (tree_canvas_reflow), e_tree);
-
- gtk_widget_show (GTK_WIDGET (e_tree->priv->table_canvas));
-
- e_tree->priv->white_item = gnome_canvas_item_new(
- gnome_canvas_root(e_tree->priv->table_canvas),
- e_canvas_background_get_type(),
- "fill_color_gdk", &GTK_WIDGET(e_tree->priv->table_canvas)->style->base[GTK_STATE_NORMAL],
- NULL);
-
- g_signal_connect (e_tree->priv->white_item, "event",
- G_CALLBACK (white_item_event), e_tree);
- g_signal_connect (
- gnome_canvas_root (e_tree->priv->table_canvas), "event",
- G_CALLBACK(et_canvas_root_event), e_tree);
-
- et_build_item(e_tree);
-}
-
-/**
- * e_tree_set_search_column:
- * @e_tree: #ETree object that will be modified
- * @col: Column index to use for searches
- *
- * This routine sets the current search column to be used for keypress
- * searches of the #ETree. If -1 is passed in for column, the current
- * search column is cleared.
- */
-void
-e_tree_set_search_column (ETree *e_tree, gint col)
-{
- if (col == -1) {
- clear_current_search_col (e_tree);
- return;
- }
-
- e_tree->priv->search_col_set = TRUE;
- e_tree->priv->current_search_col = e_table_header_get_column (e_tree->priv->full_header, col);
-}
-
-void
-e_tree_set_state_object(ETree *e_tree, ETableState *state)
-{
- GValue *val = g_new0 (GValue, 1);
- g_value_init (val, G_TYPE_DOUBLE);
-
- connect_header (e_tree, state);
-
- g_value_set_double (val, (double) (GTK_WIDGET(e_tree->priv->table_canvas)->allocation.width));
- g_object_set_property (G_OBJECT (e_tree->priv->header), "width", val);
- g_free (val);
-
- if (e_tree->priv->header_item)
- g_object_set(e_tree->priv->header_item,
- "ETableHeader", e_tree->priv->header,
- "sort_info", e_tree->priv->sort_info,
- NULL);
-
- if (e_tree->priv->item)
- g_object_set(e_tree->priv->item,
- "ETableHeader", e_tree->priv->header,
- NULL);
-
- if (e_tree->priv->etta)
- e_tree_table_adapter_set_sort_info (e_tree->priv->etta, e_tree->priv->sort_info);
-
- e_tree_state_change (e_tree);
-}
-
-/**
- * e_tree_set_state:
- * @e_tree: #ETree object that will be modified
- * @state_str: a string with the XML representation of the #ETableState.
- *
- * This routine sets the state (as described by #ETableState) of the
- * #ETree object.
- */
-void
-e_tree_set_state (ETree *e_tree,
- const gchar *state_str)
-{
- ETableState *state;
-
- g_return_if_fail(e_tree != NULL);
- g_return_if_fail(E_IS_TREE(e_tree));
- g_return_if_fail(state_str != NULL);
-
- state = e_table_state_new();
- e_table_state_load_from_string(state, state_str);
-
- if (state->col_count > 0)
- e_tree_set_state_object(e_tree, state);
-
- g_object_unref(state);
-}
-
-/**
- * e_tree_load_state:
- * @e_tree: #ETree object that will be modified
- * @filename: name of the file containing the state to be loaded into the #ETree
- *
- * An #ETableState will be loaded form the file pointed by @filename into the
- * @e_tree object.
- */
-void
-e_tree_load_state (ETree *e_tree,
- const gchar *filename)
-{
- ETableState *state;
-
- g_return_if_fail(e_tree != NULL);
- g_return_if_fail(E_IS_TREE(e_tree));
- g_return_if_fail(filename != NULL);
-
- state = e_table_state_new();
- e_table_state_load_from_file(state, filename);
-
- if (state->col_count > 0)
- e_tree_set_state_object(e_tree, state);
-
- g_object_unref(state);
-}
-
-/**
- * e_tree_get_state_object:
- * @e_tree: #ETree object to act on
- *
- * Builds an #ETableState corresponding to the current state of the
- * #ETree.
- *
- * Return value:
- * The %ETableState object generated.
- **/
-ETableState *
-e_tree_get_state_object (ETree *e_tree)
-{
- ETableState *state;
- int full_col_count;
- int i, j;
-
- state = e_table_state_new();
- state->sort_info = e_tree->priv->sort_info;
- if (state->sort_info)
- g_object_ref(state->sort_info);
-
- state->col_count = e_table_header_count (e_tree->priv->header);
- full_col_count = e_table_header_count (e_tree->priv->full_header);
- state->columns = g_new(int, state->col_count);
- state->expansions = g_new(double, state->col_count);
- for (i = 0; i < state->col_count; i++) {
- ETableCol *col = e_table_header_get_column(e_tree->priv->header, i);
- state->columns[i] = -1;
- for (j = 0; j < full_col_count; j++) {
- if (col->col_idx == e_table_header_index(e_tree->priv->full_header, j)) {
- state->columns[i] = j;
- break;
- }
- }
- state->expansions[i] = col->expansion;
- }
-
- return state;
-}
-
-/**
- * e_tree_get_state:
- * @e_tree: The #ETree to act on
- *
- * Builds a state object based on the current state and returns the
- * string corresponding to that state.
- *
- * Return value:
- * A string describing the current state of the #ETree.
- **/
-gchar *
-e_tree_get_state (ETree *e_tree)
-{
- ETableState *state;
- gchar *string;
-
- state = e_tree_get_state_object(e_tree);
- string = e_table_state_save_to_string(state);
- g_object_unref(state);
- return string;
-}
-
-/**
- * e_tree_save_state:
- * @e_tree: The #ETree to act on
- * @filename: name of the file to save to
- *
- * Saves the state of the @e_tree object into the file pointed by
- * @filename.
- **/
-void
-e_tree_save_state (ETree *e_tree,
- const gchar *filename)
-{
- ETableState *state;
-
- state = e_tree_get_state_object(e_tree);
- e_table_state_save_to_file(state, filename);
- g_object_unref(state);
-}
-
-/**
- * e_tree_get_spec:
- * @e_tree: The #ETree to query
- *
- * Returns the specification object.
- *
- * Return value:
- **/
-ETableSpecification *
-e_tree_get_spec (ETree *e_tree)
-{
- return e_tree->priv->spec;
-}
-
-static void
-et_table_model_changed (ETableModel *model, ETree *et)
-{
- if (et->priv->horizontal_scrolling)
- e_table_header_update_horizontal(et->priv->header);
-}
-
-static void
-et_table_row_changed (ETableModel *table_model, int row, ETree *et)
-{
- et_table_model_changed (table_model, et);
-}
-
-static void
-et_table_cell_changed (ETableModel *table_model, int view_col, int row, ETree *et)
-{
- et_table_model_changed (table_model, et);
-}
-
-static void
-et_connect_to_etta (ETree *et)
-{
- et->priv->table_model_change_id = g_signal_connect (et->priv->etta, "model_changed",
- G_CALLBACK (et_table_model_changed), et);
-
- et->priv->table_row_change_id = g_signal_connect (et->priv->etta, "model_row_changed",
- G_CALLBACK (et_table_row_changed), et);
-
- et->priv->table_cell_change_id = g_signal_connect (et->priv->etta, "model_cell_changed",
- G_CALLBACK (et_table_cell_changed), et);
-
-}
-
-static ETree *
-et_real_construct (ETree *e_tree, ETreeModel *etm, ETableExtras *ete,
- ETableSpecification *specification, ETableState *state)
-{
- int row = 0;
-
- if (ete)
- g_object_ref(ete);
- else
- ete = e_table_extras_new();
-
- e_tree->priv->alternating_row_colors = specification->alternating_row_colors;
- e_tree->priv->horizontal_draw_grid = specification->horizontal_draw_grid;
- e_tree->priv->vertical_draw_grid = specification->vertical_draw_grid;
- e_tree->priv->draw_focus = specification->draw_focus;
- e_tree->priv->cursor_mode = specification->cursor_mode;
- e_tree->priv->full_header = e_table_spec_to_full_header(specification, ete);
-
- connect_header (e_tree, state);
-
- e_tree->priv->horizontal_scrolling = specification->horizontal_scrolling;
-
- e_tree->priv->model = etm;
- g_object_ref (etm);
-
- e_tree->priv->etta = E_TREE_TABLE_ADAPTER(e_tree_table_adapter_new(e_tree->priv->model, e_tree->priv->sort_info, e_tree->priv->full_header));
-
- et_connect_to_etta (e_tree);
-
- gtk_widget_push_colormap (gdk_rgb_get_cmap ());
-
- e_tree->priv->sorter = e_sorter_new();
-
- g_object_set (e_tree->priv->selection,
- "sorter", e_tree->priv->sorter,
-#ifdef E_TREE_USE_TREE_SELECTION
- "model", e_tree->priv->model,
- "etta", e_tree->priv->etta,
-#else
- "model", e_tree->priv->etta,
-#endif
- "selection_mode", specification->selection_mode,
- "cursor_mode", specification->cursor_mode,
- NULL);
-
- g_signal_connect(e_tree->priv->selection, "selection_changed",
- G_CALLBACK (et_selection_model_selection_changed), e_tree);
- g_signal_connect(e_tree->priv->selection, "selection_row_changed",
- G_CALLBACK (et_selection_model_selection_row_changed), e_tree);
-
- if (!specification->no_headers) {
- e_tree_setup_header (e_tree);
- }
- e_tree_setup_table (e_tree);
-
- gtk_layout_get_vadjustment (GTK_LAYOUT (e_tree->priv->table_canvas))->step_increment = 20;
- gtk_adjustment_changed(gtk_layout_get_vadjustment (GTK_LAYOUT (e_tree->priv->table_canvas)));
- gtk_layout_get_hadjustment (GTK_LAYOUT (e_tree->priv->table_canvas))->step_increment = 20;
- gtk_adjustment_changed(gtk_layout_get_hadjustment (GTK_LAYOUT (e_tree->priv->table_canvas)));
-
- if (!specification->no_headers) {
- /*
- * The header
- */
- gtk_table_attach (GTK_TABLE (e_tree), GTK_WIDGET (e_tree->priv->header_canvas),
- 0, 1, 0 + row, 1 + row,
- GTK_FILL | GTK_EXPAND,
- GTK_FILL, 0, 0);
- row ++;
- }
- gtk_table_attach (GTK_TABLE (e_tree), GTK_WIDGET (e_tree->priv->table_canvas),
- 0, 1, 0 + row, 1 + row,
- GTK_FILL | GTK_EXPAND,
- GTK_FILL | GTK_EXPAND,
- 0, 0);
-
- gtk_widget_pop_colormap ();
-
- g_object_unref(ete);
-
- return e_tree;
-}
-
-/**
- * e_tree_construct:
- * @e_tree: The newly created #ETree object.
- * @etm: The model for this table.
- * @ete: An optional #ETableExtras. (%NULL is valid.)
- * @spec_str: The spec.
- * @state_str: An optional state. (%NULL is valid.)
- *
- * This is the internal implementation of e_tree_new() for use by
- * subclasses or language bindings. See e_tree_new() for details.
- *
- * Return value:
- * The passed in value @e_tree or %NULL if there's an error.
- **/
-ETree *
-e_tree_construct (ETree *e_tree, ETreeModel *etm, ETableExtras *ete,
- const char *spec_str, const char *state_str)
-{
- ETableSpecification *specification;
- ETableState *state;
-
- g_return_val_if_fail(e_tree != NULL, NULL);
- g_return_val_if_fail(E_IS_TREE(e_tree), NULL);
- g_return_val_if_fail(etm != NULL, NULL);
- g_return_val_if_fail(E_IS_TREE_MODEL(etm), NULL);
- g_return_val_if_fail(ete == NULL || E_IS_TABLE_EXTRAS(ete), NULL);
- g_return_val_if_fail(spec_str != NULL, NULL);
-
- specification = e_table_specification_new();
- e_table_specification_load_from_string(specification, spec_str);
- if (state_str) {
- state = e_table_state_new();
- e_table_state_load_from_string(state, state_str);
- if (state->col_count <= 0) {
- g_object_unref(state);
- state = specification->state;
- g_object_ref(state);
- }
- } else {
- state = specification->state;
- g_object_ref(state);
- }
-
- e_tree = et_real_construct (e_tree, etm, ete, specification, state);
-
- e_tree->priv->spec = specification;
- g_object_unref(state);
-
- return e_tree;
-}
-
-/**
- * e_tree_construct_from_spec_file:
- * @e_tree: The newly created #ETree object.
- * @etm: The model for this tree
- * @ete: An optional #ETableExtras (%NULL is valid.)
- * @spec_fn: The filename of the spec
- * @state_fn: An optional state file (%NULL is valid.)
- *
- * This is the internal implementation of e_tree_new_from_spec_file()
- * for use by subclasses or language bindings. See
- * e_tree_new_from_spec_file() for details.
- *
- * Return value:
- * The passed in value @e_tree or %NULL if there's an error.
- **/
-ETree *
-e_tree_construct_from_spec_file (ETree *e_tree, ETreeModel *etm, ETableExtras *ete,
- const char *spec_fn, const char *state_fn)
-{
- ETableSpecification *specification;
- ETableState *state;
-
- g_return_val_if_fail(e_tree != NULL, NULL);
- g_return_val_if_fail(E_IS_TREE(e_tree), NULL);
- g_return_val_if_fail(etm != NULL, NULL);
- g_return_val_if_fail(E_IS_TREE_MODEL(etm), NULL);
- g_return_val_if_fail(ete == NULL || E_IS_TABLE_EXTRAS(ete), NULL);
- g_return_val_if_fail(spec_fn != NULL, NULL);
-
- specification = e_table_specification_new();
- if (!e_table_specification_load_from_file(specification, spec_fn)) {
- g_object_unref(specification);
- return NULL;
- }
-
- if (state_fn) {
- state = e_table_state_new();
- if (!e_table_state_load_from_file(state, state_fn)) {
- g_object_unref(state);
- state = specification->state;
- g_object_ref(state);
- }
- if (state->col_count <= 0) {
- g_object_unref(state);
- state = specification->state;
- g_object_ref(state);
- }
- } else {
- state = specification->state;
- g_object_ref(state);
- }
-
- e_tree = et_real_construct (e_tree, etm, ete, specification, state);
-
- e_tree->priv->spec = specification;
- g_object_unref(state);
-
- return e_tree;
-}
-
-/**
- * e_tree_new:
- * @etm: The model for this tree
- * @ete: An optional #ETableExtras (%NULL is valid.)
- * @spec: The spec
- * @state: An optional state (%NULL is valid.)
- *
- * This function creates an #ETree from the given parameters. The
- * #ETreeModel is a tree model to be represented. The #ETableExtras
- * is an optional set of pixbufs, cells, and sorting functions to be
- * used when interpreting the spec. If you pass in %NULL it uses the
- * default #ETableExtras. (See e_table_extras_new()).
- *
- * @spec is the specification of the set of viewable columns and the
- * default sorting state and such. @state is an optional string
- * specifying the current sorting state and such. If @state is NULL,
- * then the default state from the spec will be used.
- *
- * Return value:
- * The newly created #ETree or %NULL if there's an error.
- **/
-GtkWidget *
-e_tree_new (ETreeModel *etm, ETableExtras *ete, const char *spec, const char *state)
-{
- ETree *e_tree, *ret_val;
-
- g_return_val_if_fail(etm != NULL, NULL);
- g_return_val_if_fail(E_IS_TREE_MODEL(etm), NULL);
- g_return_val_if_fail(ete == NULL || E_IS_TABLE_EXTRAS(ete), NULL);
- g_return_val_if_fail(spec != NULL, NULL);
-
- e_tree = g_object_new (E_TREE_TYPE, NULL);
-
- ret_val = e_tree_construct (e_tree, etm, ete, spec, state);
-
- if (ret_val == NULL) {
- g_object_unref (e_tree);
- }
-
- return (GtkWidget *) ret_val;
-}
-
-/**
- * e_tree_new_from_spec_file:
- * @etm: The model for this tree.
- * @ete: An optional #ETableExtras. (%NULL is valid.)
- * @spec_fn: The filename of the spec.
- * @state_fn: An optional state file. (%NULL is valid.)
- *
- * This is very similar to e_tree_new(), except instead of passing in
- * strings you pass in the file names of the spec and state to load.
- *
- * @spec_fn is the filename of the spec to load. If this file doesn't
- * exist, e_tree_new_from_spec_file will return %NULL.
- *
- * @state_fn is the filename of the initial state to load. If this is
- * %NULL or if the specified file doesn't exist, the default state
- * from the spec file is used.
- *
- * Return value:
- * The newly created #ETree or %NULL if there's an error.
- **/
-GtkWidget *
-e_tree_new_from_spec_file (ETreeModel *etm, ETableExtras *ete, const char *spec_fn, const char *state_fn)
-{
- ETree *e_tree, *ret_val;
-
- g_return_val_if_fail(etm != NULL, NULL);
- g_return_val_if_fail(E_IS_TREE_MODEL(etm), NULL);
- g_return_val_if_fail(ete == NULL || E_IS_TABLE_EXTRAS(ete), NULL);
- g_return_val_if_fail(spec_fn != NULL, NULL);
-
- e_tree = g_object_new (E_TREE_TYPE, NULL);
-
- ret_val = e_tree_construct_from_spec_file (e_tree, etm, ete, spec_fn, state_fn);
-
- if (ret_val == NULL) {
- g_object_unref (e_tree);
- }
-
- return (GtkWidget *) ret_val;
-}
-
-void
-e_tree_set_cursor (ETree *e_tree, ETreePath path)
-{
-#ifndef E_TREE_USE_TREE_SELECTION
- int row;
-#endif
- g_return_if_fail(e_tree != NULL);
- g_return_if_fail(E_IS_TREE(e_tree));
- g_return_if_fail(path != NULL);
-
-#ifdef E_TREE_USE_TREE_SELECTION
- e_tree_selection_model_select_single_path (E_TREE_SELECTION_MODEL(e_tree->priv->selection), path);
- e_tree_selection_model_change_cursor (E_TREE_SELECTION_MODEL(e_tree->priv->selection), path);
-#else
- row = e_tree_table_adapter_row_of_node(E_TREE_TABLE_ADAPTER(e_tree->priv->etta), path);
-
- if (row == -1)
- return;
-
- g_object_set(e_tree->priv->selection,
- "cursor_row", row,
- NULL);
-#endif
-}
-
-ETreePath
-e_tree_get_cursor (ETree *e_tree)
-{
-#ifdef E_TREE_USE_TREE_SELECTION
- return e_tree_selection_model_get_cursor (E_TREE_SELECTION_MODEL(e_tree->priv->selection));
-#else
- int row;
- ETreePath path;
- g_return_val_if_fail(e_tree != NULL, NULL);
- g_return_val_if_fail(E_IS_TREE(e_tree), NULL);
-
- g_object_get(e_tree->priv->selection,
- "cursor_row", &row,
- NULL);
- if (row == -1)
- return NULL;
- path = e_tree_table_adapter_node_at_row(E_TREE_TABLE_ADAPTER(e_tree->priv->etta), row);
- return path;
-#endif
-}
-
-void
-e_tree_selected_row_foreach (ETree *e_tree,
- EForeachFunc callback,
- gpointer closure)
-{
- g_return_if_fail(e_tree != NULL);
- g_return_if_fail(E_IS_TREE(e_tree));
-
- e_selection_model_foreach(e_tree->priv->selection,
- callback,
- closure);
-}
-
-#ifdef E_TREE_USE_TREE_SELECTION
-void
-e_tree_selected_path_foreach (ETree *e_tree,
- ETreeForeachFunc callback,
- gpointer closure)
-{
- g_return_if_fail(e_tree != NULL);
- g_return_if_fail(E_IS_TREE(e_tree));
-
- e_tree_selection_model_foreach(E_TREE_SELECTION_MODEL (e_tree->priv->selection),
- callback,
- closure);
-}
-
-/* Standard functions */
-static void
-et_foreach_recurse (ETreeModel *model,
- ETreePath path,
- ETreeForeachFunc callback,
- gpointer closure)
-{
- ETreePath child;
-
- callback(path, closure);
-
- child = e_tree_model_node_get_first_child(E_TREE_MODEL(model), path);
- for ( ; child; child = e_tree_model_node_get_next(E_TREE_MODEL(model), child))
- if (child)
- et_foreach_recurse (model, child, callback, closure);
-}
-
-void
-e_tree_path_foreach (ETree *e_tree,
- ETreeForeachFunc callback,
- gpointer closure)
-{
- ETreePath root;
-
- g_return_if_fail(e_tree != NULL);
- g_return_if_fail(E_IS_TREE(e_tree));
-
- root = e_tree_model_get_root (e_tree->priv->model);
-
- if (root)
- et_foreach_recurse (e_tree->priv->model,
- root,
- callback,
- closure);
-}
-#endif
-
-EPrintable *
-e_tree_get_printable (ETree *e_tree)
-{
- g_return_val_if_fail(e_tree != NULL, NULL);
- g_return_val_if_fail(E_IS_TREE(e_tree), NULL);
-
- return e_table_item_get_printable(E_TABLE_ITEM(e_tree->priv->item));
-}
-
-static void
-et_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
- ETree *etree = E_TREE (object);
-
- switch (prop_id){
- case PROP_ETTA:
- g_value_set_object (value, etree->priv->etta);
- break;
- case PROP_UNIFORM_ROW_HEIGHT:
- g_value_set_boolean (value, etree->priv->uniform_row_height);
- break;
- case PROP_ALWAYS_SEARCH:
- g_value_set_boolean (value, etree->priv->always_search);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-typedef struct {
- char *arg;
- gboolean setting;
-} bool_closure;
-
-static void
-et_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- ETree *etree = E_TREE (object);
-
- switch (prop_id){
- case PROP_LENGTH_THRESHOLD:
- etree->priv->length_threshold = g_value_get_int (value);
- if (etree->priv->item) {
- gnome_canvas_item_set (GNOME_CANVAS_ITEM(etree->priv->item),
- "length_threshold", etree->priv->length_threshold,
- NULL);
- }
- break;
-
- case PROP_HORIZONTAL_DRAW_GRID:
- etree->priv->horizontal_draw_grid = g_value_get_boolean (value);
- if (etree->priv->item) {
- gnome_canvas_item_set (GNOME_CANVAS_ITEM(etree->priv->item),
- "horizontal_draw_grid", etree->priv->horizontal_draw_grid,
- NULL);
- }
- break;
-
- case PROP_VERTICAL_DRAW_GRID:
- etree->priv->vertical_draw_grid = g_value_get_boolean (value);
- if (etree->priv->item) {
- gnome_canvas_item_set (GNOME_CANVAS_ITEM(etree->priv->item),
- "vertical_draw_grid", etree->priv->vertical_draw_grid,
- NULL);
- }
- break;
-
- case PROP_DRAW_FOCUS:
- etree->priv->draw_focus = g_value_get_boolean (value);
- if (etree->priv->item) {
- gnome_canvas_item_set (GNOME_CANVAS_ITEM(etree->priv->item),
- "drawfocus", etree->priv->draw_focus,
- NULL);
- }
- break;
-
- case PROP_UNIFORM_ROW_HEIGHT:
- etree->priv->uniform_row_height = g_value_get_boolean (value);
- if (etree->priv->item) {
- gnome_canvas_item_set (GNOME_CANVAS_ITEM(etree->priv->item),
- "uniform_row_height", etree->priv->uniform_row_height,
- NULL);
- }
- break;
-
- case PROP_ALWAYS_SEARCH:
- if (etree->priv->always_search == g_value_get_boolean (value))
- return;
- etree->priv->always_search = g_value_get_boolean (value);
- clear_current_search_col (etree);
- break;
- }
-}
-
-static void
-set_scroll_adjustments (ETree *tree,
- GtkAdjustment *hadjustment,
- GtkAdjustment *vadjustment)
-{
- if (vadjustment != NULL) {
- vadjustment->step_increment = 20;
- gtk_adjustment_changed(vadjustment);
- }
- if (hadjustment != NULL) {
- hadjustment->step_increment = 20;
- gtk_adjustment_changed(hadjustment);
- }
-
- if (tree->priv) {
- gtk_layout_set_hadjustment (GTK_LAYOUT(tree->priv->table_canvas),
- hadjustment);
- gtk_layout_set_vadjustment (GTK_LAYOUT(tree->priv->table_canvas),
- vadjustment);
-
- if (tree->priv->header_canvas != NULL)
- gtk_layout_set_hadjustment (GTK_LAYOUT(tree->priv->header_canvas),
- hadjustment);
- }
-}
-
-gint
-e_tree_get_next_row (ETree *e_tree,
- gint model_row)
-{
- g_return_val_if_fail(e_tree != NULL, -1);
- g_return_val_if_fail(E_IS_TREE(e_tree), -1);
-
- if (e_tree->priv->sorter) {
- int i;
- i = e_sorter_model_to_sorted(E_SORTER (e_tree->priv->sorter), model_row);
- i++;
- if (i < e_table_model_row_count(E_TABLE_MODEL(e_tree->priv->etta))) {
- return e_sorter_sorted_to_model(E_SORTER (e_tree->priv->sorter), i);
- } else
- return -1;
- } else
- if (model_row < e_table_model_row_count(E_TABLE_MODEL(e_tree->priv->etta)) - 1)
- return model_row + 1;
- else
- return -1;
-}
-
-gint
-e_tree_get_prev_row (ETree *e_tree,
- gint model_row)
-{
- g_return_val_if_fail(e_tree != NULL, -1);
- g_return_val_if_fail(E_IS_TREE(e_tree), -1);
-
- if (e_tree->priv->sorter) {
- int i;
- i = e_sorter_model_to_sorted(E_SORTER (e_tree->priv->sorter), model_row);
- i--;
- if (i >= 0)
- return e_sorter_sorted_to_model(E_SORTER (e_tree->priv->sorter), i);
- else
- return -1;
- } else
- return model_row - 1;
-}
-
-gint
-e_tree_model_to_view_row (ETree *e_tree,
- gint model_row)
-{
- g_return_val_if_fail(e_tree != NULL, -1);
- g_return_val_if_fail(E_IS_TREE(e_tree), -1);
-
- if (e_tree->priv->sorter)
- return e_sorter_model_to_sorted(E_SORTER (e_tree->priv->sorter), model_row);
- else
- return model_row;
-}
-
-gint
-e_tree_view_to_model_row (ETree *e_tree,
- gint view_row)
-{
- g_return_val_if_fail(e_tree != NULL, -1);
- g_return_val_if_fail(E_IS_TREE(e_tree), -1);
-
- if (e_tree->priv->sorter)
- return e_sorter_sorted_to_model (E_SORTER (e_tree->priv->sorter), view_row);
- else
- return view_row;
-}
-
-
-gboolean
-e_tree_node_is_expanded (ETree *et, ETreePath path)
-{
- g_return_val_if_fail(path, FALSE);
-
- return e_tree_table_adapter_node_is_expanded (et->priv->etta, path);
-}
-
-void
-e_tree_node_set_expanded (ETree *et, ETreePath path, gboolean expanded)
-{
- g_return_if_fail (et != NULL);
- g_return_if_fail (E_IS_TREE(et));
-
- e_tree_table_adapter_node_set_expanded (et->priv->etta, path, expanded);
-}
-
-void
-e_tree_node_set_expanded_recurse (ETree *et, ETreePath path, gboolean expanded)
-{
- g_return_if_fail (et != NULL);
- g_return_if_fail (E_IS_TREE(et));
-
- e_tree_table_adapter_node_set_expanded_recurse (et->priv->etta, path, expanded);
-}
-
-void
-e_tree_root_node_set_visible (ETree *et, gboolean visible)
-{
- g_return_if_fail (et != NULL);
- g_return_if_fail (E_IS_TREE(et));
-
- e_tree_table_adapter_root_node_set_visible (et->priv->etta, visible);
-}
-
-ETreePath
-e_tree_node_at_row (ETree *et, int row)
-{
- ETreePath path;
-
- path = e_tree_table_adapter_node_at_row (et->priv->etta, row);
-
- return path;
-}
-
-int
-e_tree_row_of_node (ETree *et, ETreePath path)
-{
- return e_tree_table_adapter_row_of_node (et->priv->etta, path);
-}
-
-gboolean
-e_tree_root_node_is_visible(ETree *et)
-{
- return e_tree_table_adapter_root_node_is_visible (et->priv->etta);
-}
-
-void
-e_tree_show_node (ETree *et, ETreePath path)
-{
- g_return_if_fail (et != NULL);
- g_return_if_fail (E_IS_TREE(et));
-
- e_tree_table_adapter_show_node (et->priv->etta, path);
-}
-
-void
-e_tree_save_expanded_state (ETree *et, char *filename)
-{
- g_return_if_fail (et != NULL);
- g_return_if_fail (E_IS_TREE(et));
-
- e_tree_table_adapter_save_expanded_state (et->priv->etta, filename);
-}
-
-void
-e_tree_load_expanded_state (ETree *et, char *filename)
-{
- e_tree_table_adapter_load_expanded_state (et->priv->etta, filename);
-}
-
-gint
-e_tree_row_count (ETree *et)
-{
- return e_table_model_row_count (E_TABLE_MODEL(et->priv->etta));
-}
-
-GtkWidget *
-e_tree_get_tooltip (ETree *et)
-{
- return E_CANVAS(et->priv->table_canvas)->tooltip_window;
-}
-
-static ETreePath
-find_next_in_range (ETree *et, gint start, gint end, ETreePathFunc func, gpointer data)
-{
- ETreePath path;
- gint row;
-
- for (row = start; row <= end; row++) {
- path = e_tree_table_adapter_node_at_row (et->priv->etta, row);
- if (path && func (et->priv->model, path, data))
- return path;
- }
-
- return NULL;
-}
-
-static ETreePath
-find_prev_in_range (ETree *et, gint start, gint end, ETreePathFunc func, gpointer data)
-{
- ETreePath path;
- gint row;
-
- for (row = start; row >= end; row--) {
- path = e_tree_table_adapter_node_at_row (et->priv->etta, row);
- if (path && func (et->priv->model, path, data))
- return path;
- }
-
- return NULL;
-}
-
-gboolean
-e_tree_find_next (ETree *et, ETreeFindNextParams params, ETreePathFunc func, gpointer data)
-{
- ETreePath cursor, found;
- gint row, row_count;
-
- cursor = e_tree_get_cursor (et);
- row = e_tree_table_adapter_row_of_node (et->priv->etta, cursor);
- row_count = e_table_model_row_count (E_TABLE_MODEL (et->priv->etta));
-
- if (params & E_TREE_FIND_NEXT_FORWARD)
- found = find_next_in_range (et, row + 1, row_count - 1, func, data);
- else
- found = find_prev_in_range (et, row == -1 ? -1 : row - 1, 0, func, data);
-
- if (found) {
- e_tree_table_adapter_show_node (et->priv->etta, found);
- e_tree_set_cursor (et, found);
- return TRUE;
- }
-
- if (params & E_TREE_FIND_NEXT_WRAP) {
- if (params & E_TREE_FIND_NEXT_FORWARD)
- found = find_next_in_range (et, 0, row, func, data);
- else
- found = find_prev_in_range (et, row_count - 1, row, func, data);
-
- if (found && found != cursor) {
- e_tree_table_adapter_show_node (et->priv->etta, found);
- e_tree_set_cursor (et, found);
- return TRUE;
- }
- }
-
- return FALSE;
-}
-
-void
-e_tree_right_click_up (ETree *et)
-{
- e_selection_model_right_click_up(et->priv->selection);
-}
-
-/**
- * e_tree_get_model:
- * @et: the ETree
- *
- * Returns the model upon which this ETree is based.
- *
- * Returns: the model
- **/
-ETreeModel *
-e_tree_get_model (ETree *et)
-{
- g_return_val_if_fail (et != NULL, NULL);
- g_return_val_if_fail (E_IS_TREE (et), NULL);
-
- return et->priv->model;
-}
-
-/**
- * e_tree_get_selection_model:
- * @et: the ETree
- *
- * Returns the selection model of this ETree.
- *
- * Returns: the selection model
- **/
-ESelectionModel *
-e_tree_get_selection_model (ETree *et)
-{
- g_return_val_if_fail (et != NULL, NULL);
- g_return_val_if_fail (E_IS_TREE (et), NULL);
-
- return et->priv->selection;
-}
-
-/**
- * e_tree_get_table_adapter:
- * @et: the ETree
- *
- * Returns the table adapter this ETree uses.
- *
- * Returns: the model
- **/
-ETreeTableAdapter *
-e_tree_get_table_adapter (ETree *et)
-{
- g_return_val_if_fail (et != NULL, NULL);
- g_return_val_if_fail (E_IS_TREE (et), NULL);
-
- return et->priv->etta;
-}
-
-ETableItem *
-e_tree_get_item(ETree * et)
-{
- g_return_val_if_fail (et != NULL, NULL);
- g_return_val_if_fail (E_IS_TREE (et), NULL);
-
- return E_TABLE_ITEM (et->priv->item);
-}
-
-
-struct _ETreeDragSourceSite
-{
- GdkModifierType start_button_mask;
- GtkTargetList *target_list; /* Targets for drag data */
- GdkDragAction actions; /* Possible actions */
- GdkColormap *colormap; /* Colormap for drag icon */
- GdkPixmap *pixmap; /* Icon for drag data */
- GdkBitmap *mask;
-
- /* Stored button press information to detect drag beginning */
- gint state;
- gint x, y;
- gint row, col;
-};
-
-typedef enum
-{
- GTK_DRAG_STATUS_DRAG,
- GTK_DRAG_STATUS_WAIT,
- GTK_DRAG_STATUS_DROP
-} GtkDragStatus;
-
-typedef struct _GtkDragDestInfo GtkDragDestInfo;
-typedef struct _GtkDragSourceInfo GtkDragSourceInfo;
-
-struct _GtkDragDestInfo
-{
- GtkWidget *widget; /* Widget in which drag is in */
- GdkDragContext *context; /* Drag context */
- GtkDragSourceInfo *proxy_source; /* Set if this is a proxy drag */
- GtkSelectionData *proxy_data; /* Set while retrieving proxied data */
- gboolean dropped : 1; /* Set after we receive a drop */
- guint32 proxy_drop_time; /* Timestamp for proxied drop */
- gboolean proxy_drop_wait : 1; /* Set if we are waiting for a
- * status reply before sending
- * a proxied drop on.
- */
- gint drop_x, drop_y; /* Position of drop */
-};
-
-struct _GtkDragSourceInfo
-{
- GtkWidget *widget;
- GtkTargetList *target_list; /* Targets for drag data */
- GdkDragAction possible_actions; /* Actions allowed by source */
- GdkDragContext *context; /* drag context */
- GtkWidget *icon_window; /* Window for drag */
- GtkWidget *ipc_widget; /* GtkInvisible for grab, message passing */
- GdkCursor *cursor; /* Cursor for drag */
- gint hot_x, hot_y; /* Hot spot for drag */
- gint button; /* mouse button starting drag */
-
- GtkDragStatus status; /* drag status */
- GdkEvent *last_event; /* motion event waiting for response */
-
- gint start_x, start_y; /* Initial position */
- gint cur_x, cur_y; /* Current Position */
-
- GList *selections; /* selections we've claimed */
-
- GtkDragDestInfo *proxy_dest; /* Set if this is a proxy drag */
-
- guint drop_timeout; /* Timeout for aborting drop */
- guint destroy_icon : 1; /* If true, destroy icon_window
- */
-};
-
-/* Drag & drop stuff. */
-/* Target */
-
-void
-e_tree_drag_get_data (ETree *tree,
- int row,
- int col,
- GdkDragContext *context,
- GdkAtom target,
- guint32 time)
-{
- ETreePath path;
- g_return_if_fail(tree != NULL);
- g_return_if_fail(E_IS_TREE(tree));
-
- path = e_tree_table_adapter_node_at_row(tree->priv->etta, row);
-
- gtk_drag_get_data(GTK_WIDGET(tree),
- context,
- target,
- time);
-
-}
-
-/**
- * e_tree_drag_highlight:
- * @tree:
- * @row:
- * @col:
- *
- * Set col to -1 to highlight the entire row.
- * Set row to -1 to turn off the highlight.
- */
-void
-e_tree_drag_highlight (ETree *tree,
- int row,
- int col)
-{
- g_return_if_fail(tree != NULL);
- g_return_if_fail(E_IS_TREE(tree));
-
- if (row != -1) {
- int x, y, width, height;
- if (col == -1) {
- e_tree_get_cell_geometry (tree, row, 0, &x, &y, &width, &height);
- x = 0;
- width = GTK_WIDGET (tree->priv->table_canvas)->allocation.width;
- } else {
- e_tree_get_cell_geometry (tree, row, col, &x, &y, &width, &height);
- x += GTK_LAYOUT(tree->priv->table_canvas)->hadjustment->value;
- }
- y += GTK_LAYOUT(tree->priv->table_canvas)->vadjustment->value;
-
- if (tree->priv->drop_highlight == NULL) {
- tree->priv->drop_highlight =
- gnome_canvas_item_new (gnome_canvas_root (tree->priv->table_canvas),
- gnome_canvas_rect_get_type (),
- "fill_color", NULL,
- /* "outline_color", "black",
- "width_pixels", 1,*/
- "outline_color_gdk", &(GTK_WIDGET (tree)->style->fg[GTK_STATE_NORMAL]),
- NULL);
- }
- gnome_canvas_item_set (tree->priv->drop_highlight,
- "x1", (double) x,
- "x2", (double) x + width - 1,
- "y1", (double) y,
- "y2", (double) y + height - 1,
- NULL);
- } else {
- gtk_object_destroy (GTK_OBJECT (tree->priv->drop_highlight));
- tree->priv->drop_highlight = NULL;
- }
-}
-
-void
-e_tree_drag_unhighlight (ETree *tree)
-{
- g_return_if_fail(tree != NULL);
- g_return_if_fail(E_IS_TREE(tree));
-
- if (tree->priv->drop_highlight) {
- gtk_object_destroy (GTK_OBJECT (tree->priv->drop_highlight));
- tree->priv->drop_highlight = NULL;
- }
-}
-
-void e_tree_drag_dest_set (ETree *tree,
- GtkDestDefaults flags,
- const GtkTargetEntry *targets,
- gint n_targets,
- GdkDragAction actions)
-{
- g_return_if_fail(tree != NULL);
- g_return_if_fail(E_IS_TREE(tree));
-
- gtk_drag_dest_set(GTK_WIDGET(tree),
- flags,
- targets,
- n_targets,
- actions);
-}
-
-void e_tree_drag_dest_set_proxy (ETree *tree,
- GdkWindow *proxy_window,
- GdkDragProtocol protocol,
- gboolean use_coordinates)
-{
- g_return_if_fail(tree != NULL);
- g_return_if_fail(E_IS_TREE(tree));
-
- gtk_drag_dest_set_proxy(GTK_WIDGET(tree),
- proxy_window,
- protocol,
- use_coordinates);
-}
-
-/*
- * There probably should be functions for setting the targets
- * as a GtkTargetList
- */
-
-void
-e_tree_drag_dest_unset (GtkWidget *widget)
-{
- g_return_if_fail(widget != NULL);
- g_return_if_fail(E_IS_TREE(widget));
-
- gtk_drag_dest_unset(widget);
-}
-
-/* Source side */
-
-static gint
-et_real_start_drag (ETree *tree, int row, ETreePath path, int col, GdkEvent *event)
-{
- GtkDragSourceInfo *info;
- GdkDragContext *context;
- ETreeDragSourceSite *site;
-
- if (tree->priv->do_drag) {
- site = tree->priv->site;
-
- site->state = 0;
- context = e_tree_drag_begin (tree, row, col,
- site->target_list,
- site->actions,
- 1, event);
-
- if (context) {
- info = g_dataset_get_data (context, "gtk-info");
-
- if (info && !info->icon_window) {
- if (site->pixmap)
- gtk_drag_set_icon_pixmap (context,
- site->colormap,
- site->pixmap,
- site->mask, -2, -2);
- else
- gtk_drag_set_icon_default (context);
- }
- }
- return TRUE;
- }
- return FALSE;
-}
-
-void
-e_tree_drag_source_set (ETree *tree,
- GdkModifierType start_button_mask,
- const GtkTargetEntry *targets,
- gint n_targets,
- GdkDragAction actions)
-{
- ETreeDragSourceSite *site;
- GtkWidget *canvas;
-
- g_return_if_fail(tree != NULL);
- g_return_if_fail(E_IS_TREE(tree));
-
- canvas = GTK_WIDGET(tree->priv->table_canvas);
- site = tree->priv->site;
-
- tree->priv->do_drag = TRUE;
-
- gtk_widget_add_events (canvas,
- gtk_widget_get_events (canvas) |
- GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
- GDK_BUTTON_MOTION_MASK | GDK_STRUCTURE_MASK);
-
- if (site) {
- if (site->target_list)
- gtk_target_list_unref (site->target_list);
- } else {
- site = g_new0 (ETreeDragSourceSite, 1);
- tree->priv->site = site;
- }
-
- site->start_button_mask = start_button_mask;
-
- if (targets)
- site->target_list = gtk_target_list_new (targets, n_targets);
- else
- site->target_list = NULL;
-
- site->actions = actions;
-}
-
-void
-e_tree_drag_source_unset (ETree *tree)
-{
- ETreeDragSourceSite *site;
-
- g_return_if_fail (tree != NULL);
- g_return_if_fail (E_IS_TREE(tree));
-
- site = tree->priv->site;
-
- if (site) {
- if (site->target_list)
- gtk_target_list_unref (site->target_list);
- g_free (site);
- tree->priv->site = NULL;
- }
-}
-
-/* There probably should be functions for setting the targets
- * as a GtkTargetList
- */
-
-GdkDragContext *
-e_tree_drag_begin (ETree *tree,
- int row,
- int col,
- GtkTargetList *targets,
- GdkDragAction actions,
- gint button,
- GdkEvent *event)
-{
- ETreePath path;
- g_return_val_if_fail (tree != NULL, NULL);
- g_return_val_if_fail (E_IS_TREE(tree), NULL);
-
- path = e_tree_table_adapter_node_at_row(tree->priv->etta, row);
-
- tree->priv->drag_row = row;
- tree->priv->drag_path = path;
- tree->priv->drag_col = col;
-
- return gtk_drag_begin(GTK_WIDGET (tree->priv->table_canvas),
- targets,
- actions,
- button,
- event);
-}
-
-/**
- * e_tree_get_cell_at:
- * @tree: An ETree widget
- * @x: X coordinate for the pixel
- * @y: Y coordinate for the pixel
- * @row_return: Pointer to return the row value
- * @col_return: Pointer to return the column value
- *
- * Return the row and column for the cell in which the pixel at (@x, @y) is
- * contained.
- **/
-void
-e_tree_get_cell_at (ETree *tree,
- int x, int y,
- int *row_return, int *col_return)
-{
- g_return_if_fail (tree != NULL);
- g_return_if_fail (E_IS_TREE (tree));
- g_return_if_fail (row_return != NULL);
- g_return_if_fail (col_return != NULL);
-
- /* FIXME it would be nice if it could handle a NULL row_return or
- * col_return gracefully. */
-
- if (row_return)
- *row_return = -1;
- if (col_return)
- *col_return = -1;
-
- x += GTK_LAYOUT(tree->priv->table_canvas)->hadjustment->value;
- y += GTK_LAYOUT(tree->priv->table_canvas)->vadjustment->value;
- e_table_item_compute_location(E_TABLE_ITEM(tree->priv->item), &x, &y, row_return, col_return);
-}
-
-/**
- * e_tree_get_cell_geometry:
- * @tree: The tree.
- * @row: The row to get the geometry of.
- * @col: The col to get the geometry of.
- * @x_return: Returns the x coordinate of the upper right hand corner of the cell with respect to the widget.
- * @y_return: Returns the y coordinate of the upper right hand corner of the cell with respect to the widget.
- * @width_return: Returns the width of the cell.
- * @height_return: Returns the height of the cell.
- *
- * Computes the data about this cell.
- **/
-void
-e_tree_get_cell_geometry (ETree *tree,
- int row, int col,
- int *x_return, int *y_return,
- int *width_return, int *height_return)
-{
- g_return_if_fail (tree != NULL);
- g_return_if_fail (E_IS_TREE (tree));
- g_return_if_fail (row >= 0);
- g_return_if_fail (col >= 0);
-
- /* FIXME it would be nice if it could handle a NULL row_return or
- * col_return gracefully. */
-
- e_table_item_get_cell_geometry(E_TABLE_ITEM(tree->priv->item), &row, &col, x_return, y_return, width_return, height_return);
-
- if (x_return)
- (*x_return) -= GTK_LAYOUT(tree->priv->table_canvas)->hadjustment->value;
- if (y_return)
- (*y_return) -= GTK_LAYOUT(tree->priv->table_canvas)->vadjustment->value;
-}
-
-static void
-et_drag_begin (GtkWidget *widget,
- GdkDragContext *context,
- ETree *et)
-{
- g_signal_emit (et,
- et_signals [TREE_DRAG_BEGIN], 0,
- et->priv->drag_row,
- et->priv->drag_path,
- et->priv->drag_col,
- context);
-}
-
-static void
-et_drag_end (GtkWidget *widget,
- GdkDragContext *context,
- ETree *et)
-{
- g_signal_emit (et,
- et_signals [TREE_DRAG_END], 0,
- et->priv->drag_row,
- et->priv->drag_path,
- et->priv->drag_col,
- context);
-}
-
-static void
-et_drag_data_get(GtkWidget *widget,
- GdkDragContext *context,
- GtkSelectionData *selection_data,
- guint info,
- guint time,
- ETree *et)
-{
- g_signal_emit (et,
- et_signals [TREE_DRAG_DATA_GET], 0,
- et->priv->drag_row,
- et->priv->drag_path,
- et->priv->drag_col,
- context,
- selection_data,
- info,
- time);
-}
-
-static void
-et_drag_data_delete(GtkWidget *widget,
- GdkDragContext *context,
- ETree *et)
-{
- g_signal_emit (et,
- et_signals [TREE_DRAG_DATA_DELETE], 0,
- et->priv->drag_row,
- et->priv->drag_path,
- et->priv->drag_col,
- context);
-}
-
-static gboolean
-do_drag_motion(ETree *et,
- GdkDragContext *context,
- gint x,
- gint y,
- guint time)
-{
- gboolean ret_val = FALSE;
- int row, col;
- ETreePath path;
- GtkWidget *widget;
-
- widget = GTK_WIDGET (et);
-
- e_tree_get_cell_at (et,
- x,
- y,
- &row,
- &col);
- if (row != et->priv->drop_row && col != et->priv->drop_col) {
- g_signal_emit (et,
- et_signals [TREE_DRAG_LEAVE], 0,
- et->priv->drop_row,
- et->priv->drop_path,
- et->priv->drop_col,
- context,
- time);
- }
-
- path = e_tree_table_adapter_node_at_row(et->priv->etta, row);
-
- et->priv->drop_row = row;
- et->priv->drop_path = path;
- et->priv->drop_col = col;
- g_signal_emit (et,
- et_signals [TREE_DRAG_MOTION], 0,
- et->priv->drop_row,
- et->priv->drop_path,
- et->priv->drop_col,
- context,
- x,
- y,
- time,
- &ret_val);
-
- return ret_val;
-}
-
-static gboolean
-scroll_timeout (gpointer data)
-{
- ETree *et = data;
- int dx = 0, dy = 0;
- GtkAdjustment *v, *h;
- double vvalue, hvalue;
-
- if (et->priv->scroll_direction & ET_SCROLL_DOWN)
- dy += 20;
- if (et->priv->scroll_direction & ET_SCROLL_UP)
- dy -= 20;
-
- if (et->priv->scroll_direction & ET_SCROLL_RIGHT)
- dx += 20;
- if (et->priv->scroll_direction & ET_SCROLL_LEFT)
- dx -= 20;
-
- h = GTK_LAYOUT(et->priv->table_canvas)->hadjustment;
- v = GTK_LAYOUT(et->priv->table_canvas)->vadjustment;
-
- hvalue = h->value;
- vvalue = v->value;
-
- gtk_adjustment_set_value(h, CLAMP(h->value + dx, h->lower, h->upper - h->page_size));
- gtk_adjustment_set_value(v, CLAMP(v->value + dy, v->lower, v->upper - v->page_size));
-
- if (h->value != hvalue ||
- v->value != vvalue)
- do_drag_motion(et,
- et->priv->last_drop_context,
- et->priv->last_drop_x,
- et->priv->last_drop_y,
- et->priv->last_drop_time);
-
-
- return TRUE;
-}
-
-static void
-scroll_on (ETree *et, guint scroll_direction)
-{
- if (et->priv->scroll_idle_id == 0 || scroll_direction != et->priv->scroll_direction) {
- if (et->priv->scroll_idle_id != 0)
- g_source_remove (et->priv->scroll_idle_id);
- et->priv->scroll_direction = scroll_direction;
- et->priv->scroll_idle_id = g_timeout_add (100, scroll_timeout, et);
- }
-}
-
-static void
-scroll_off (ETree *et)
-{
- if (et->priv->scroll_idle_id) {
- g_source_remove (et->priv->scroll_idle_id);
- et->priv->scroll_idle_id = 0;
- }
-}
-
-static gboolean
-hover_timeout (gpointer data)
-{
- ETree *et = data;
- int x = et->priv->hover_x;
- int y = et->priv->hover_y;
- int row, col;
- ETreePath path;
-
- e_tree_get_cell_at (et,
- x,
- y,
- &row,
- &col);
-
- path = e_tree_table_adapter_node_at_row(et->priv->etta, row);
- if (path && e_tree_model_node_is_expandable (et->priv->model, path)) {
- if (!e_tree_table_adapter_node_is_expanded (et->priv->etta, path)) {
- if (e_tree_model_has_save_id (et->priv->model) && e_tree_model_has_get_node_by_id (et->priv->model))
- et->priv->expanded_list = g_list_prepend (et->priv->expanded_list, e_tree_model_get_save_id (et->priv->model, path));
- e_tree_table_adapter_node_set_expanded (et->priv->etta, path, TRUE);
- }
- }
-
- return TRUE;
-}
-
-static void
-hover_on (ETree *et, int x, int y)
-{
- et->priv->hover_x = x;
- et->priv->hover_y = y;
- if (et->priv->hover_idle_id != 0)
- g_source_remove (et->priv->hover_idle_id);
- et->priv->hover_idle_id = g_timeout_add (500, hover_timeout, et);
-}
-
-static void
-hover_off (ETree *et)
-{
- if (et->priv->hover_idle_id) {
- g_source_remove (et->priv->hover_idle_id);
- et->priv->hover_idle_id = 0;
- }
-}
-
-static void
-collapse_drag (ETree *et, ETreePath drop)
-{
- GList *list;
-
- /* We only want to leave open parents of the node dropped in. Not the node itself. */
- if (drop) {
- drop = e_tree_model_node_get_parent (et->priv->model, drop);
- }
-
- for (list = et->priv->expanded_list; list; list = list->next) {
- char *save_id = list->data;
- ETreePath path;
-
- path = e_tree_model_get_node_by_id (et->priv->model, save_id);
- if (path) {
- ETreePath search;
- gboolean found = FALSE;
-
- for (search = drop; search; search = e_tree_model_node_get_parent (et->priv->model, search)) {
- if (path == search) {
- found = TRUE;
- break;
- }
- }
-
- if (!found)
- e_tree_table_adapter_node_set_expanded (et->priv->etta, path, FALSE);
- }
- g_free (save_id);
- }
- g_list_free (et->priv->expanded_list);
- et->priv->expanded_list = NULL;
-}
-
-static void
-context_destroyed (gpointer data, GObject *ctx)
-{
- ETree *et = data;
- if (et->priv) {
- et->priv->last_drop_x = 0;
- et->priv->last_drop_y = 0;
- et->priv->last_drop_time = 0;
- et->priv->last_drop_context = NULL;
- collapse_drag (et, NULL);
- scroll_off (et);
- hover_off (et);
- }
- g_object_unref (et);
-}
-
-static void
-context_connect (ETree *et, GdkDragContext *context)
-{
- if (context == et->priv->last_drop_context)
- return;
-
- if (et->priv->last_drop_context)
- g_object_weak_unref (G_OBJECT(et->priv->last_drop_context), context_destroyed, et);
- else
- g_object_ref (et);
-
- g_object_weak_ref (G_OBJECT(context), context_destroyed, et);
-}
-
-static void
-et_drag_leave(GtkWidget *widget,
- GdkDragContext *context,
- guint time,
- ETree *et)
-{
- g_signal_emit (et,
- et_signals [TREE_DRAG_LEAVE], 0,
- et->priv->drop_row,
- et->priv->drop_path,
- et->priv->drop_col,
- context,
- time);
- et->priv->drop_row = -1;
- et->priv->drop_col = -1;
-
- scroll_off (et);
- hover_off (et);
-}
-
-static gboolean
-et_drag_motion(GtkWidget *widget,
- GdkDragContext *context,
- gint x,
- gint y,
- guint time,
- ETree *et)
-{
- int ret_val;
- guint direction = 0;
-
- et->priv->last_drop_x = x;
- et->priv->last_drop_y = y;
- et->priv->last_drop_time = time;
- context_connect (et, context);
- et->priv->last_drop_context = context;
-
- if (et->priv->hover_idle_id != 0) {
- if (abs (et->priv->hover_x - x) > 3 ||
- abs (et->priv->hover_y - y) > 3) {
- hover_on (et, x, y);
- }
- } else {
- hover_on (et, x, y);
- }
-
- ret_val = do_drag_motion (et,
- context,
- x,
- y,
- time);
-
- if (y < 20)
- direction |= ET_SCROLL_UP;
- if (y > widget->allocation.height - 20)
- direction |= ET_SCROLL_DOWN;
- if (x < 20)
- direction |= ET_SCROLL_LEFT;
- if (x > widget->allocation.width - 20)
- direction |= ET_SCROLL_RIGHT;
-
- if (direction != 0)
- scroll_on (et, direction);
- else
- scroll_off (et);
-
- return ret_val;
-}
-
-static gboolean
-et_drag_drop(GtkWidget *widget,
- GdkDragContext *context,
- gint x,
- gint y,
- guint time,
- ETree *et)
-{
- gboolean ret_val = FALSE;
- int row, col;
- ETreePath path;
- e_tree_get_cell_at(et,
- x,
- y,
- &row,
- &col);
- path = e_tree_table_adapter_node_at_row(et->priv->etta, row);
-
- if (row != et->priv->drop_row && col != et->priv->drop_row) {
- g_signal_emit (et,
- et_signals [TREE_DRAG_LEAVE], 0,
- et->priv->drop_row,
- et->priv->drop_path,
- et->priv->drop_col,
- context,
- time);
- g_signal_emit (et,
- et_signals [TREE_DRAG_MOTION], 0,
- row,
- path,
- col,
- context,
- x,
- y,
- time,
- &ret_val);
- }
- et->priv->drop_row = row;
- et->priv->drop_path = path;
- et->priv->drop_col = col;
-
- g_signal_emit (et,
- et_signals [TREE_DRAG_DROP], 0,
- et->priv->drop_row,
- et->priv->drop_path,
- et->priv->drop_col,
- context,
- x,
- y,
- time,
- &ret_val);
-
- et->priv->drop_row = -1;
- et->priv->drop_path = NULL;
- et->priv->drop_col = -1;
-
- collapse_drag (et, path);
-
- scroll_off (et);
- return ret_val;
-}
-
-static void
-et_drag_data_received(GtkWidget *widget,
- GdkDragContext *context,
- gint x,
- gint y,
- GtkSelectionData *selection_data,
- guint info,
- guint time,
- ETree *et)
-{
- int row, col;
- ETreePath path;
- e_tree_get_cell_at(et,
- x,
- y,
- &row,
- &col);
- path = e_tree_table_adapter_node_at_row(et->priv->etta, row);
- g_signal_emit (et,
- et_signals [TREE_DRAG_DATA_RECEIVED], 0,
- row,
- path,
- col,
- context,
- x,
- y,
- selection_data,
- info,
- time);
-}
-
-static void
-e_tree_class_init (ETreeClass *class)
-{
- GObjectClass *object_class;
- GtkWidgetClass *widget_class;
- GtkContainerClass *container_class;
-
- object_class = (GObjectClass *) class;
- widget_class = (GtkWidgetClass *) class;
- container_class = (GtkContainerClass *) class;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class->dispose = et_dispose;
- object_class->set_property = et_set_property;
- object_class->get_property = et_get_property;
-
- widget_class->grab_focus = et_grab_focus;
- widget_class->unrealize = et_unrealize;
- widget_class->style_set = et_canvas_style_set;
- widget_class->focus = et_focus;
-
- class->cursor_change = NULL;
- class->cursor_activated = NULL;
- class->selection_change = NULL;
- class->double_click = NULL;
- class->right_click = NULL;
- class->click = NULL;
- class->key_press = NULL;
- class->start_drag = et_real_start_drag;
- class->state_change = NULL;
- class->white_space_event = NULL;
-
- class->tree_drag_begin = NULL;
- class->tree_drag_end = NULL;
- class->tree_drag_data_get = NULL;
- class->tree_drag_data_delete = NULL;
-
- class->tree_drag_leave = NULL;
- class->tree_drag_motion = NULL;
- class->tree_drag_drop = NULL;
- class->tree_drag_data_received = NULL;
-
- et_signals [CURSOR_CHANGE] =
- g_signal_new ("cursor_change",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeClass, cursor_change),
- NULL, NULL,
- e_marshal_NONE__INT_POINTER,
- G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_POINTER);
-
- et_signals [CURSOR_ACTIVATED] =
- g_signal_new ("cursor_activated",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeClass, cursor_activated),
- NULL, NULL,
- e_marshal_NONE__INT_POINTER,
- G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_POINTER);
-
- et_signals [SELECTION_CHANGE] =
- g_signal_new ("selection_change",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeClass, selection_change),
- NULL, NULL,
- e_marshal_NONE__NONE,
- G_TYPE_NONE, 0);
-
- et_signals [DOUBLE_CLICK] =
- g_signal_new ("double_click",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeClass, double_click),
- NULL, NULL,
- e_marshal_NONE__INT_POINTER_INT_BOXED,
- G_TYPE_NONE, 4, G_TYPE_INT,
- G_TYPE_POINTER, G_TYPE_INT, GDK_TYPE_EVENT);
-
- et_signals [RIGHT_CLICK] =
- g_signal_new ("right_click",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeClass, right_click),
- NULL, NULL,
- e_marshal_INT__INT_POINTER_INT_BOXED,
- G_TYPE_INT, 4, G_TYPE_INT, G_TYPE_POINTER,
- G_TYPE_INT, GDK_TYPE_EVENT);
-
- et_signals [CLICK] =
- g_signal_new ("click",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeClass, click),
- NULL, NULL,
- e_marshal_INT__INT_POINTER_INT_BOXED,
- G_TYPE_INT, 4, G_TYPE_INT, G_TYPE_POINTER,
- G_TYPE_INT, GDK_TYPE_EVENT);
-
- et_signals [KEY_PRESS] =
- g_signal_new ("key_press",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeClass, key_press),
- NULL, NULL,
- e_marshal_INT__INT_POINTER_INT_BOXED,
- G_TYPE_INT, 4, G_TYPE_INT, G_TYPE_POINTER,
- G_TYPE_INT, GDK_TYPE_EVENT);
-
- et_signals [START_DRAG] =
- g_signal_new ("start_drag",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeClass, start_drag),
- NULL, NULL,
- e_marshal_NONE__INT_POINTER_INT_BOXED,
- G_TYPE_NONE, 4, G_TYPE_INT, G_TYPE_POINTER,
- G_TYPE_INT, GDK_TYPE_EVENT);
-
- et_signals [STATE_CHANGE] =
- g_signal_new ("state_change",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeClass, state_change),
- NULL, NULL,
- e_marshal_NONE__NONE,
- G_TYPE_NONE, 0);
-
- et_signals [WHITE_SPACE_EVENT] =
- g_signal_new ("white_space_event",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeClass, white_space_event),
- NULL, NULL,
- e_marshal_INT__POINTER,
- G_TYPE_INT, 1, GDK_TYPE_EVENT);
-
- et_signals[TREE_DRAG_BEGIN] =
- g_signal_new ("tree_drag_begin",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeClass, tree_drag_begin),
- NULL, NULL,
- e_marshal_NONE__INT_POINTER_INT_BOXED,
- G_TYPE_NONE, 4,
- G_TYPE_INT,
- G_TYPE_POINTER,
- G_TYPE_INT,
- GDK_TYPE_DRAG_CONTEXT);
- et_signals[TREE_DRAG_END] =
- g_signal_new ("tree_drag_end",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeClass, tree_drag_end),
- NULL, NULL,
- e_marshal_NONE__INT_POINTER_INT_BOXED,
- G_TYPE_NONE, 4,
- G_TYPE_INT,
- G_TYPE_POINTER,
- G_TYPE_INT,
- GDK_TYPE_DRAG_CONTEXT);
- et_signals[TREE_DRAG_DATA_GET] =
- g_signal_new ("tree_drag_data_get",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeClass, tree_drag_data_get),
- NULL, NULL,
- e_marshal_NONE__INT_POINTER_INT_OBJECT_BOXED_UINT_UINT,
- G_TYPE_NONE, 7,
- G_TYPE_INT,
- G_TYPE_POINTER,
- G_TYPE_INT,
- GDK_TYPE_DRAG_CONTEXT,
- GTK_TYPE_SELECTION_DATA | G_SIGNAL_TYPE_STATIC_SCOPE,
- G_TYPE_UINT,
- G_TYPE_UINT);
- et_signals[TREE_DRAG_DATA_DELETE] =
- g_signal_new ("tree_drag_data_delete",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeClass, tree_drag_data_delete),
- NULL, NULL,
- e_marshal_NONE__INT_POINTER_INT_OBJECT,
- G_TYPE_NONE, 4,
- G_TYPE_INT,
- G_TYPE_POINTER,
- G_TYPE_INT,
- GDK_TYPE_DRAG_CONTEXT);
-
- et_signals[TREE_DRAG_LEAVE] =
- g_signal_new ("tree_drag_leave",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeClass, tree_drag_leave),
- NULL, NULL,
- e_marshal_NONE__INT_POINTER_INT_OBJECT_UINT,
- G_TYPE_NONE, 5,
- G_TYPE_INT,
- G_TYPE_POINTER,
- G_TYPE_INT,
- GDK_TYPE_DRAG_CONTEXT,
- G_TYPE_UINT);
- et_signals[TREE_DRAG_MOTION] =
- g_signal_new ("tree_drag_motion",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeClass, tree_drag_motion),
- NULL, NULL,
- e_marshal_BOOLEAN__INT_POINTER_INT_OBJECT_INT_INT_UINT,
- G_TYPE_BOOLEAN, 7,
- G_TYPE_INT,
- G_TYPE_POINTER,
- G_TYPE_INT,
- GDK_TYPE_DRAG_CONTEXT,
- G_TYPE_INT,
- G_TYPE_INT,
- G_TYPE_UINT);
- et_signals[TREE_DRAG_DROP] =
- g_signal_new ("tree_drag_drop",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeClass, tree_drag_drop),
- NULL, NULL,
- e_marshal_BOOLEAN__INT_POINTER_INT_OBJECT_INT_INT_UINT,
- G_TYPE_BOOLEAN, 7,
- G_TYPE_INT,
- G_TYPE_POINTER,
- G_TYPE_INT,
- GDK_TYPE_DRAG_CONTEXT,
- G_TYPE_INT,
- G_TYPE_INT,
- G_TYPE_UINT);
- et_signals[TREE_DRAG_DATA_RECEIVED] =
- g_signal_new ("tree_drag_data_received",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeClass, tree_drag_data_received),
- NULL, NULL,
- e_marshal_NONE__INT_POINTER_INT_OBJECT_INT_INT_BOXED_UINT_UINT,
- G_TYPE_NONE, 9,
- G_TYPE_INT,
- G_TYPE_POINTER,
- G_TYPE_INT,
- GDK_TYPE_DRAG_CONTEXT,
- G_TYPE_INT,
- G_TYPE_INT,
- GTK_TYPE_SELECTION_DATA,
- G_TYPE_UINT,
- G_TYPE_UINT);
-
- class->set_scroll_adjustments = set_scroll_adjustments;
-
- widget_class->set_scroll_adjustments_signal =
- g_signal_new ("set_scroll_adjustments",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETreeClass, set_scroll_adjustments),
- NULL, NULL,
- e_marshal_NONE__POINTER_POINTER,
- G_TYPE_NONE, 2, GTK_TYPE_ADJUSTMENT,
- GTK_TYPE_ADJUSTMENT);
-
- g_object_class_install_property (object_class, PROP_LENGTH_THRESHOLD,
- g_param_spec_int ("length_threshold",
- _( "Length Threshold" ),
- _( "Length Threshold" ),
- 0, G_MAXINT, 0,
- G_PARAM_WRITABLE));
- g_object_class_install_property (object_class, PROP_HORIZONTAL_DRAW_GRID,
- g_param_spec_boolean ("horizontal_draw_grid",
- _( "Horizontal Draw Grid" ),
- _( "Horizontal Draw Grid" ),
- FALSE,
- G_PARAM_WRITABLE));
- g_object_class_install_property (object_class, PROP_VERTICAL_DRAW_GRID,
- g_param_spec_boolean ("vertical_draw_grid",
- _( "Vertical Draw Grid" ),
- _( "Vertical Draw Grid" ),
- FALSE,
- G_PARAM_WRITABLE));
- g_object_class_install_property (object_class, PROP_DRAW_FOCUS,
- g_param_spec_boolean ("drawfocus",
- _( "Draw focus" ),
- _( "Draw focus" ),
- FALSE,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_ETTA,
- g_param_spec_object ("ETreeTableAdapter",
- _( "ETree table adapter" ),
- _( "ETree table adapter" ),
- E_TREE_TABLE_ADAPTER_TYPE,
- G_PARAM_READABLE));
-
- g_object_class_install_property (object_class, PROP_UNIFORM_ROW_HEIGHT,
- g_param_spec_boolean ("uniform_row_height",
- _( "Uniform row height" ),
- _( "Uniform row height" ),
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_ALWAYS_SEARCH,
- g_param_spec_boolean ("always_search",
- _( "Always search" ),
- _( "Always search" ),
- FALSE,
- G_PARAM_READWRITE));
-
- gtk_widget_class_install_style_property (widget_class,
- g_param_spec_boolean ("retro_look",
- _("Retro Look"),
- _("Draw lines and +/- expanders."),
- FALSE,
- G_PARAM_READABLE));
-
- gtk_widget_class_install_style_property (widget_class,
- g_param_spec_int ("expander_size",
- _("Expander Size"),
- _("Size of the expander arrow"),
- 0,
- G_MAXINT,
- 10,
- G_PARAM_READABLE));
-
- gal_a11y_e_tree_init ();
-}
-
-E_MAKE_TYPE(e_tree, "ETree", ETree, e_tree_class_init, e_tree_init, PARENT_TYPE)
diff --git a/widgets/table/e-tree.h b/widgets/table/e-tree.h
deleted file mode 100644
index 197ef05fef..0000000000
--- a/widgets/table/e-tree.h
+++ /dev/null
@@ -1,312 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-tree.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_TREE_H_
-#define _E_TREE_H_
-
-#include <gtk/gtkdnd.h>
-#include <gtk/gtktable.h>
-#include <libxml/tree.h>
-#include <libgnomecanvas/gnome-canvas.h>
-#include <gal/widgets/e-printable.h>
-
-#include <gal/e-table/e-table-extras.h>
-#include <gal/e-table/e-table-specification.h>
-#include <gal/e-table/e-table-state.h>
-#include <gal/e-table/e-tree-model.h>
-#include <gal/e-table/e-tree-table-adapter.h>
-#include <gal/e-table/e-table-item.h>
-
-#define E_TREE_USE_TREE_SELECTION
-
-#ifdef E_TREE_USE_TREE_SELECTION
-#include <gal/e-table/e-tree-selection-model.h>
-#endif
-
-G_BEGIN_DECLS
-
-#define E_TREE_TYPE (e_tree_get_type ())
-#define E_TREE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TREE_TYPE, ETree))
-#define E_TREE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TREE_TYPE, ETreeClass))
-#define E_IS_TREE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TREE_TYPE))
-#define E_IS_TREE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TREE_TYPE))
-typedef struct _ETreeDragSourceSite ETreeDragSourceSite;
-typedef struct ETreePriv ETreePriv;
-
-typedef struct {
- GtkTable parent;
-
- ETreePriv *priv;
-} ETree;
-
-typedef struct {
- GtkTableClass parent_class;
-
- void (*cursor_change) (ETree *et, int row, ETreePath path);
- void (*cursor_activated) (ETree *et, int row, ETreePath path);
- void (*selection_change) (ETree *et);
- void (*double_click) (ETree *et, int row, ETreePath path, int col, GdkEvent *event);
- gint (*right_click) (ETree *et, int row, ETreePath path, int col, GdkEvent *event);
- gint (*click) (ETree *et, int row, ETreePath path, int col, GdkEvent *event);
- gint (*key_press) (ETree *et, int row, ETreePath path, int col, GdkEvent *event);
- gint (*start_drag) (ETree *et, int row, ETreePath path, int col, GdkEvent *event);
- gint (*state_change) (ETree *et);
- gint (*white_space_event) (ETree *et, GdkEvent *event);
-
- void (*set_scroll_adjustments) (ETree *tree,
- GtkAdjustment *hadjustment,
- GtkAdjustment *vadjustment);
-
- /* Source side drag signals */
- void (* tree_drag_begin) (ETree *tree,
- int row,
- ETreePath path,
- int col,
- GdkDragContext *context);
- void (* tree_drag_end) (ETree *tree,
- int row,
- ETreePath path,
- int col,
- GdkDragContext *context);
- void (* tree_drag_data_get) (ETree *tree,
- int row,
- ETreePath path,
- int col,
- GdkDragContext *context,
- GtkSelectionData *selection_data,
- guint info,
- guint time);
- void (* tree_drag_data_delete) (ETree *tree,
- int row,
- ETreePath path,
- int col,
- GdkDragContext *context);
-
- /* Target side drag signals */
- void (* tree_drag_leave) (ETree *tree,
- int row,
- ETreePath path,
- int col,
- GdkDragContext *context,
- guint time);
- gboolean (* tree_drag_motion) (ETree *tree,
- int row,
- ETreePath path,
- int col,
- GdkDragContext *context,
- gint x,
- gint y,
- guint time);
- gboolean (* tree_drag_drop) (ETree *tree,
- int row,
- ETreePath path,
- int col,
- GdkDragContext *context,
- gint x,
- gint y,
- guint time);
- void (* tree_drag_data_received) (ETree *tree,
- int row,
- ETreePath path,
- int col,
- GdkDragContext *context,
- gint x,
- gint y,
- GtkSelectionData *selection_data,
- guint info,
- guint time);
-} ETreeClass;
-
-GType e_tree_get_type (void);
-ETree *e_tree_construct (ETree *e_tree,
- ETreeModel *etm,
- ETableExtras *ete,
- const char *spec,
- const char *state);
-GtkWidget *e_tree_new (ETreeModel *etm,
- ETableExtras *ete,
- const char *spec,
- const char *state);
-
-/* Create an ETree using files. */
-ETree *e_tree_construct_from_spec_file (ETree *e_tree,
- ETreeModel *etm,
- ETableExtras *ete,
- const char *spec_fn,
- const char *state_fn);
-GtkWidget *e_tree_new_from_spec_file (ETreeModel *etm,
- ETableExtras *ete,
- const char *spec_fn,
- const char *state_fn);
-
-/* To save the state */
-gchar *e_tree_get_state (ETree *e_tree);
-void e_tree_save_state (ETree *e_tree,
- const gchar *filename);
-ETableState *e_tree_get_state_object (ETree *e_tree);
-ETableSpecification *e_tree_get_spec (ETree *e_tree);
-
-/* note that it is more efficient to provide the state at creation time */
-void e_tree_set_search_column (ETree *e_tree,
- gint col);
-void e_tree_set_state (ETree *e_tree,
- const gchar *state);
-void e_tree_set_state_object (ETree *e_tree,
- ETableState *state);
-void e_tree_load_state (ETree *e_tree,
- const gchar *filename);
-void e_tree_set_cursor (ETree *e_tree,
- ETreePath path);
-
-/* NULL means we don't have the cursor. */
-ETreePath e_tree_get_cursor (ETree *e_tree);
-void e_tree_selected_row_foreach (ETree *e_tree,
- EForeachFunc callback,
- gpointer closure);
-#ifdef E_TREE_USE_TREE_SELECTION
-void e_tree_selected_path_foreach (ETree *e_tree,
- ETreeForeachFunc callback,
- gpointer closure);
-void e_tree_path_foreach (ETree *e_tree,
- ETreeForeachFunc callback,
- gpointer closure);
-#endif
-gint e_tree_selected_count (ETree *e_tree);
-EPrintable *e_tree_get_printable (ETree *e_tree);
-gint e_tree_get_next_row (ETree *e_tree,
- gint model_row);
-gint e_tree_get_prev_row (ETree *e_tree,
- gint model_row);
-gint e_tree_model_to_view_row (ETree *e_tree,
- gint model_row);
-gint e_tree_view_to_model_row (ETree *e_tree,
- gint view_row);
-void e_tree_get_cell_at (ETree *tree,
- int x,
- int y,
- int *row_return,
- int *col_return);
-void e_tree_get_cell_geometry (ETree *tree,
- int row,
- int col,
- int *x_return,
- int *y_return,
- int *width_return,
- int *height_return);
-
-/* Useful accessors */
-ETreeModel * e_tree_get_model (ETree *et);
-ESelectionModel *e_tree_get_selection_model (ETree *et);
-ETreeTableAdapter *e_tree_get_table_adapter (ETree *et);
-
-/* Drag & drop stuff. */
-/* Target */
-void e_tree_drag_get_data (ETree *tree,
- int row,
- int col,
- GdkDragContext *context,
- GdkAtom target,
- guint32 time);
-void e_tree_drag_highlight (ETree *tree,
- int row,
- int col); /* col == -1 to highlight entire row. */
-void e_tree_drag_unhighlight (ETree *tree);
-void e_tree_drag_dest_set (ETree *tree,
- GtkDestDefaults flags,
- const GtkTargetEntry *targets,
- gint n_targets,
- GdkDragAction actions);
-void e_tree_drag_dest_set_proxy (ETree *tree,
- GdkWindow *proxy_window,
- GdkDragProtocol protocol,
- gboolean use_coordinates);
-
-/* There probably should be functions for setting the targets
- * as a GtkTargetList
- */
-void e_tree_drag_dest_unset (GtkWidget *widget);
-
-/* Source side */
-void e_tree_drag_source_set (ETree *tree,
- GdkModifierType start_button_mask,
- const GtkTargetEntry *targets,
- gint n_targets,
- GdkDragAction actions);
-void e_tree_drag_source_unset (ETree *tree);
-
-/* There probably should be functions for setting the targets
- * as a GtkTargetList
- */
-GdkDragContext *e_tree_drag_begin (ETree *tree,
- int row,
- int col,
- GtkTargetList *targets,
- GdkDragAction actions,
- gint button,
- GdkEvent *event);
-
-/* Adapter functions */
-gboolean e_tree_node_is_expanded (ETree *et,
- ETreePath path);
-void e_tree_node_set_expanded (ETree *et,
- ETreePath path,
- gboolean expanded);
-void e_tree_node_set_expanded_recurse (ETree *et,
- ETreePath path,
- gboolean expanded);
-void e_tree_root_node_set_visible (ETree *et,
- gboolean visible);
-ETreePath e_tree_node_at_row (ETree *et,
- int row);
-int e_tree_row_of_node (ETree *et,
- ETreePath path);
-gboolean e_tree_root_node_is_visible (ETree *et);
-void e_tree_show_node (ETree *et,
- ETreePath path);
-void e_tree_save_expanded_state (ETree *et,
- char *filename);
-void e_tree_load_expanded_state (ETree *et,
- char *filename);
-int e_tree_row_count (ETree *et);
-GtkWidget *e_tree_get_tooltip (ETree *et);
-
-typedef enum {
- E_TREE_FIND_NEXT_BACKWARD = 0,
- E_TREE_FIND_NEXT_FORWARD = 1 << 0,
- E_TREE_FIND_NEXT_WRAP = 1 << 1
-} ETreeFindNextParams;
-
-gboolean e_tree_find_next (ETree *et,
- ETreeFindNextParams params,
- ETreePathFunc func,
- gpointer data);
-
-/* This function is only needed in single_selection_mode. */
-void e_tree_right_click_up (ETree *et);
-
-ETableItem * e_tree_get_item(ETree * et);
-
-G_END_DECLS
-
-#endif /* _E_TREE_H_ */
-
diff --git a/widgets/table/image1.png b/widgets/table/image1.png
deleted file mode 100644
index 8326ac241f..0000000000
--- a/widgets/table/image1.png
+++ /dev/null
Binary files differ
diff --git a/widgets/table/image2.png b/widgets/table/image2.png
deleted file mode 100644
index e6a4c75dbe..0000000000
--- a/widgets/table/image2.png
+++ /dev/null
Binary files differ
diff --git a/widgets/table/image3.png b/widgets/table/image3.png
deleted file mode 100644
index 50e16e8620..0000000000
--- a/widgets/table/image3.png
+++ /dev/null
Binary files differ
diff --git a/widgets/table/remove-col.xpm b/widgets/table/remove-col.xpm
deleted file mode 100644
index ff1024f0c9..0000000000
--- a/widgets/table/remove-col.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * remove_col_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #000000",
-"+ c #FF0000",
-"... ...",
-".++. .++.",
-".+++. .+++.",
-" .+++. .+++. ",
-" .+++. .+++. ",
-" .+++..+++. ",
-" .++++++. ",
-" .++++. ",
-" .++++. ",
-" .++++++. ",
-" .+++..+++. ",
-" .+++. .+++. ",
-" .+++. .+++. ",
-".+++. .+++.",
-".++. .++.",
-"... ..."};
diff --git a/widgets/table/sample.table b/widgets/table/sample.table
deleted file mode 100644
index e1909a2bf7..0000000000
--- a/widgets/table/sample.table
+++ /dev/null
@@ -1,45 +0,0 @@
-Col1 Col2 Address Title Dorks
-c1.a c2.a a.a tit-1 DorkA
-c1.b c2.b a.b tit-2 DDork
-c1.c c2.c a.c tit-1 DorkB
-c1.d c2.d a.d tit-2 ADork
-c1.e c2.e a.e tit-1 DorkC
-c1.f c2.f a.f tit-2 UDork
-c1.g c2.g a.g tit-3 Dork---
-j k k tit-1 DorkA
-aaa1 bbb ccc ddd eee
-aaa2 bbb ccc ddd eee
-aaa3 bbb ccc ddd eee
-aaa4 bbb ccc ddd eee
-aaa5 bbb ccc ddd eee
-aaa6 bbb ccc ddd eee
-aaa7 bbb ccc ddd eee
-aaa8 bbb ccc ddd eee
-aaa9 bbb ccc ddd eee
-aaa10 bbb ccc ddd eee
-aaa11 bbb ccc ddd eee
-aaa12 bbb ccc ddd eee
-aaa13 bbb ccc ddd eee
-aaa14 bbb ccc ddd eee
-aaa15 bbb ccc ddd eee
-aaa16 bbb ccc ddd eee
-aaa17 bbb ccc ddd eee
-aaa18 bbb ccc ddd eee
-aaa19 bbb ccc ddd eee
-aaa20 bbb ccc ddd eee
-aaa21 bbb ccc ddd eee
-aaa22 bbb ccc ddd eee
-aaa23 bbb ccc ddd eee
-aaa24 bbb ccc ddd eee
-aaa25 bbb ccc ddd eee
-aaa26 bbb ccc ddd eee
-aaa27 bbb ccc ddd eee
-aaa28 bbb ccc ddd eee
-aaa29 bbb ccc ddd eee
-aaa30 bbb ccc ddd eee
-aaa31 bbb ccc ddd eee
-aaa32 bbb ccc ddd eee
-aaa33 bbb ccc ddd eee
-aaa34 bbb ccc ddd eee
-aaa35 bbb ccc ddd eee
-aaa36 bbb ccc ddd eee
diff --git a/widgets/table/spec.xml b/widgets/table/spec.xml
deleted file mode 100644
index a8e524484c..0000000000
--- a/widgets/table/spec.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<ETableSpecification no-headers="false" click-to-add="false"
- draw-grid="true" cursor-mode="simple"
- _click-to-add-message="">
- <ETableColumn model_col="0" _title="Email" expansion="1.0" minimum_width="20" resizable="true" cell="cell_left_just" compare="string"/>
- <ETableColumn model_col="1" _title="Full Name" expansion="1.0" minimum_width="20" resizable="true" cell="cell_left_just" compare="string"/>
- <ETableColumn model_col="2" _title="Address" expansion="1.0" minimum_width="20" resizable="true" cell="cell_left_just" compare="string"/>
- <ETableColumn model_col="3" _title="Phone" expansion="1.0" minimum_width="20" resizable="true" cell="cell_left_just" compare="string"/>
- <ETableState>
- <column source="0"/>
- <column source="3"/>
- <column source="1"/>
- <column source="2"/>
- <grouping>
- <group column="2" ascending="true">
- <leaf column="1" ascending="true"/>
- </group>
- </grouping>
- <!-- Column that's been added by hand. Not implemented yet.
- <ETableColumn model_col="custom-string" _title="Custom" expansion="1.0" minimum_widgth="20" resizable="true" cell="string" compare="string"/> -->
- </ETableState>
-</ETableSpecification>
diff --git a/widgets/table/table-test.c b/widgets/table/table-test.c
deleted file mode 100644
index fe211e9d21..0000000000
--- a/widgets/table/table-test.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * table-test.c
- * Copyright 1999, 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza (miguel@gnu.org)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <stdio.h>
-#include <string.h>
-#include <fcntl.h>
-#include <gnome.h>
-#include "gal/widgets/e-cursors.h"
-#include "table-test.h"
-
-int
-main (int argc, char *argv [])
-{
-
- if (isatty (0)){
- int fd;
-
- close (0);
- fd = open ("sample.table", O_RDONLY);
- if (fd == -1){
- fprintf (stderr, "Could not find sample.table, try feeding a table on stdin");
- exit (1);
- }
- dup2 (fd, 0);
- }
-
- gnome_init ("TableTest", "TableTest", argc, argv);
- e_cursors_init ();
-
-
-/* table_browser_test (); */
-/* multi_cols_test (); */
-/* check_test (); */
-
- e_table_test ();
-
- gtk_main ();
-
- e_cursors_shutdown ();
- return 0;
-}
diff --git a/widgets/table/table-test.h b/widgets/table/table-test.h
deleted file mode 100644
index d0442ca64b..0000000000
--- a/widgets/table/table-test.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * table-test.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza (miguel@gnu.org)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-void table_browser_test (void);
-void multi_cols_test (void);
-void check_test (void);
-void e_table_test (void);
diff --git a/widgets/table/test-check.c b/widgets/table/test-check.c
deleted file mode 100644
index 7fe4c126e6..0000000000
--- a/widgets/table/test-check.c
+++ /dev/null
@@ -1,221 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * test-check.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza (miguel@gnu.org)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <stdio.h>
-#include <string.h>
-#include <gnome.h>
-#include "e-table-simple.h"
-#include "e-table-header.h"
-#include "e-table-header-item.h"
-#include "e-table-item.h"
-#include "gal/widgets/e-cursors.h"
-#include "gal/widgets/e-canvas-utils.h"
-#include "gal/widgets/e-canvas.h"
-#include "gal/util/e-util.h"
-#include "e-cell-text.h"
-#include "e-cell-checkbox.h"
-
-#include "table-test.h"
-
-#define LINES 4
-
-static struct {
- int value;
- char *string;
-} my_table [LINES] = {
- { 0, "Buy food" },
- { 1, "Breathe " },
- { 0, "Cancel gdb session with shrink" },
- { 1, "Make screenshots" },
-};
-/*
- * ETableSimple callbacks
- */
-static int
-col_count (ETableModel *etc, void *data)
-{
- return 2;
-}
-
-static int
-row_count (ETableModel *etc, void *data)
-{
- return LINES;
-}
-
-static void *
-value_at (ETableModel *etc, int col, int row, void *data)
-{
- g_assert (col < 2);
- g_assert (row < LINES);
-
- if (col == 0)
- return GINT_TO_POINTER (my_table [row].value);
- else
- return my_table [row].string;
-
-}
-
-static void
-set_value_at (ETableModel *etc, int col, int row, const void *val, void *data)
-{
- g_assert (col < 2);
- g_assert (row < LINES);
-
- if (col == 0) {
- my_table [row].value = GPOINTER_TO_INT (val);
- printf ("Value at %d,%d set to %d\n", col, row, GPOINTER_TO_INT (val));
- } else {
- my_table [row].string = g_strdup (val);
- printf ("Value at %d,%d set to %s\n", col, row, (char *) val);
- }
-}
-
-static gboolean
-is_cell_editable (ETableModel *etc, int col, int row, void *data)
-{
- return TRUE;
-}
-
-static void *
-duplicate_value (ETableModel *etc, int col, const void *value, void *data)
-{
- if (col == 0) {
- return (void *) value;
- } else {
- return g_strdup (value);
- }
-}
-
-static void
-free_value (ETableModel *etc, int col, void *value, void *data)
-{
- if (col != 0) {
- g_free (value);
- }
-}
-
-static void *
-initialize_value (ETableModel *etc, int col, void *data)
-{
- if (col == 0)
- return NULL;
- else
- return g_strdup ("");
-}
-
-static gboolean
-value_is_empty (ETableModel *etc, int col, const void *value, void *data)
-{
- if (col == 0)
- return value == NULL;
- else
- return !(value && *(char *)value);
-}
-
-static char *
-value_to_string (ETableModel *etc, int col, const void *value, void *data)
-{
- if (col == 0)
- return g_strdup_printf("%d", (int) value);
- else
- return g_strdup(value);
-}
-
-static void
-set_canvas_size (GnomeCanvas *canvas, GtkAllocation *alloc)
-{
- gnome_canvas_set_scroll_region (canvas, 0, 0, alloc->width, alloc->height);
-}
-
-void
-check_test (void)
-{
- GtkWidget *canvas, *window;
- ETableModel *e_table_model;
- ETableHeader *e_table_header;
- ETableCol *col_0, *col_1;
- ECell *cell_left_just, *cell_image_check;
- GdkPixbuf *pixbuf;
- GnomeCanvasItem *item;
-
- gtk_widget_push_colormap (gdk_rgb_get_cmap ());
-
- e_table_model = e_table_simple_new (
- col_count, row_count, value_at,
- set_value_at, is_cell_editable,
- duplicate_value, free_value,
- initialize_value, value_is_empty,
- value_to_string,
- NULL);
-
- /*
- * Header
- */
- e_table_header = e_table_header_new ();
-
- cell_left_just = e_cell_text_new (e_table_model, NULL, GTK_JUSTIFY_LEFT);
-
- cell_image_check = e_cell_checkbox_new ();
- pixbuf = gdk_pixbuf_new_from_file ("clip.png");
- col_0 = e_table_col_new_with_pixbuf (0, pixbuf, 0.0, 18, cell_image_check, g_int_compare, TRUE);
- gdk_pixbuf_unref (pixbuf);
- e_table_header_add_column (e_table_header, col_0, 0);
-
- col_1 = e_table_col_new (1, "Item Name", 1.0, 20, cell_left_just, g_str_compare, TRUE);
- e_table_header_add_column (e_table_header, col_1, 1);
- e_table_col_set_arrow (col_1, E_TABLE_COL_ARROW_DOWN);
-
- /*
- * GUI
- */
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- canvas = e_canvas_new ();
-
- g_signal_connect (canvas, "size_allocate",
- G_CALLBACK (set_canvas_size), NULL);
-
- gtk_container_add (GTK_CONTAINER (window), canvas);
- gtk_widget_show_all (window);
- gnome_canvas_item_new (
- gnome_canvas_root (GNOME_CANVAS (canvas)),
- e_table_header_item_get_type (),
- "ETableHeader", e_table_header,
- NULL);
-
- item = gnome_canvas_item_new (
- gnome_canvas_root (GNOME_CANVAS (canvas)),
- e_table_item_get_type (),
- "ETableHeader", e_table_header,
- "ETableModel", e_table_model,
- "drawgrid", TRUE,
- "drawfocus", TRUE,
-#if 0
- "spreadsheet", TRUE,
-#endif
- "cursor_mode", E_TABLE_CURSOR_SIMPLE,
- NULL);
- e_canvas_item_move_absolute (item, 0, 30);
-}
-
diff --git a/widgets/table/test-cols.c b/widgets/table/test-cols.c
deleted file mode 100644
index e4873633e5..0000000000
--- a/widgets/table/test-cols.c
+++ /dev/null
@@ -1,265 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * test-cols.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza (miguel@gnu.org)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <stdio.h>
-#include <string.h>
-#include <gnome.h>
-#include "gal/widgets/e-canvas-utils.h"
-#include "gal/widgets/e-canvas.h"
-#include "gal/widgets/e-cursors.h"
-#include "gal/util/e-util.h"
-#include "e-table-simple.h"
-#include "e-table-header.h"
-#include "e-table-header-item.h"
-#include "e-table-item.h"
-#include "e-cell-text.h"
-#include "e-cell-toggle.h"
-
-#include "table-test.h"
-
-#define LINES 4
-
-static struct {
- int value;
- char *string;
-} my_table [LINES] = {
- { 0, "You are not" },
- { 1, "A beautiful and unique " },
- { 0, "Snowflake" },
- { 2, "You are not your wallet" },
-};
-/*
- * ETableSimple callbacks
- */
-static int
-col_count (ETableModel *etc, void *data)
-{
- return 2;
-}
-
-static int
-row_count (ETableModel *etc, void *data)
-{
- return LINES;
-}
-
-static void *
-value_at (ETableModel *etc, int col, int row, void *data)
-{
- g_assert (col < 2);
- g_assert (row < LINES);
-
- if (col == 0)
- return GINT_TO_POINTER (my_table [row].value);
- else
- return my_table [row].string;
-
-}
-
-static void
-set_value_at (ETableModel *etc, int col, int row, const void *val, void *data)
-{
- g_assert (col < 2);
- g_assert (row < LINES);
-
- if (col == 0){
- my_table [row].value = GPOINTER_TO_INT (val);
- printf ("Value at %d,%d set to %d\n", col, row, GPOINTER_TO_INT (val));
- } else {
- my_table [row].string = g_strdup (val);
- printf ("Value at %d,%d set to %s\n", col, row, (char *) val);
- }
-}
-
-static gboolean
-is_cell_editable (ETableModel *etc, int col, int row, void *data)
-{
- return TRUE;
-}
-
-static void *
-duplicate_value (ETableModel *etc, int col, const void *value, void *data)
-{
- if (col == 0){
- return (void *)value;
- } else {
- return g_strdup (value);
- }
-}
-
-static void
-free_value (ETableModel *etc, int col, void *value, void *data)
-{
- if (col != 0){
- g_free (value);
- }
-}
-
-static void *
-initialize_value (ETableModel *etc, int col, void *data)
-{
- if (col == 0)
- return NULL;
- else
- return g_strdup ("");
-}
-
-static gboolean
-value_is_empty (ETableModel *etc, int col, const void *value, void *data)
-{
- if (col == 0)
- return value == NULL;
- else
- return !(value && *(char *)value);
-}
-
-static char *
-value_to_string (ETableModel *etc, int col, const void *value, void *data)
-{
- if (col == 0)
- return g_strdup_printf("%d", (int) value);
- else
- return g_strdup(value);
-}
-
-static void
-set_canvas_size (GnomeCanvas *canvas, GtkAllocation *alloc)
-{
- gnome_canvas_set_scroll_region (canvas, 0, 0, alloc->width, alloc->height);
-}
-
-void
-multi_cols_test (void)
-{
- GtkWidget *canvas, *window;
- ETableModel *e_table_model;
- ETableHeader *e_table_header, *e_table_header_multiple;
- ETableCol *col_0, *col_1;
- ECell *cell_left_just, *cell_image_toggle;
- GnomeCanvasItem *item;
-
- gtk_widget_push_colormap (gdk_rgb_get_cmap ());
-
- e_table_model = e_table_simple_new (
- col_count, row_count, value_at,
- set_value_at, is_cell_editable,
- duplicate_value, free_value,
- initialize_value, value_is_empty,
- value_to_string,
- NULL);
-
- /*
- * Header
- */
- e_table_header = e_table_header_new ();
-
- cell_left_just = e_cell_text_new (e_table_model, NULL, GTK_JUSTIFY_LEFT);
-
- {
- GdkPixbuf **images = g_new (GdkPixbuf *, 3);
- int i;
-
- images [0] = gdk_pixbuf_new_from_file ("image1.png");
- images [1] = gdk_pixbuf_new_from_file ("image2.png");
- images [2] = gdk_pixbuf_new_from_file ("image3.png");
-
- cell_image_toggle = e_cell_toggle_new (0, 3, images);
-
- for (i = 0; i < 3; i++)
- gdk_pixbuf_unref (images [i]);
-
- g_free (images);
- }
-
- col_1 = e_table_col_new (1, "Item Name", 1.0, 20, cell_left_just, g_str_compare, TRUE);
- e_table_header_add_column (e_table_header, col_1, 0);
-
- col_0 = e_table_col_new (0, "A", 0.0, 48, cell_image_toggle, g_int_compare, TRUE);
- e_table_header_add_column (e_table_header, col_0, 1);
-
- /*
- * Second test
- */
- e_table_header_multiple = e_table_header_new ();
- e_table_header_add_column (e_table_header_multiple, col_0, 0);
- e_table_header_add_column (e_table_header_multiple, col_1, 1);
- e_table_header_add_column (e_table_header_multiple, col_1, 2);
-
- /*
- * GUI
- */
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- canvas = e_canvas_new ();
-
- g_signal_connect (canvas, "size_allocate",
- G_CALLBACK (set_canvas_size), NULL);
-
- gtk_container_add (GTK_CONTAINER (window), canvas);
- gtk_widget_show_all (window);
-
- gnome_canvas_item_new (
- gnome_canvas_root (GNOME_CANVAS (canvas)),
- e_table_header_item_get_type (),
- "ETableHeader", e_table_header,
- NULL);
-
- item = gnome_canvas_item_new (
- gnome_canvas_root (GNOME_CANVAS (canvas)),
- e_table_item_get_type (),
- "ETableHeader", e_table_header,
- "ETableModel", e_table_model,
- "drawgrid", TRUE,
- "drawfocus", TRUE,
- "cursor_mode", E_TABLE_CURSOR_SIMPLE,
-#if 0
- "spreadsheet", TRUE,
-#endif
- NULL);
-
- e_canvas_item_move_absolute (item, 0, 30);
-
- gnome_canvas_item_new (
- gnome_canvas_root (GNOME_CANVAS (canvas)),
- e_table_header_item_get_type (),
- "ETableHeader", e_table_header_multiple,
- NULL);
- item = gnome_canvas_item_new (
- gnome_canvas_root (GNOME_CANVAS (canvas)),
- e_table_item_get_type (),
- "ETableHeader", e_table_header_multiple,
- "ETableModel", e_table_model,
- "drawgrid", TRUE,
- "drawfocus", TRUE,
-#if 0
- "spreadsheet", TRUE,
-#endif
- "cursor_mode", E_TABLE_CURSOR_SIMPLE,
- NULL);
- e_canvas_item_move_absolute (item, 300, 30);
-}
-
-
-
-
-
diff --git a/widgets/table/test-table.c b/widgets/table/test-table.c
deleted file mode 100644
index b44b62bf42..0000000000
--- a/widgets/table/test-table.c
+++ /dev/null
@@ -1,478 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * test-table.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza (miguel@gnu.org)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <stdio.h>
-#include <string.h>
-#include <gnome.h>
-#include "gal/widgets/e-cursors.h"
-#include "gal/widgets/e-canvas.h"
-#include "e-table-simple.h"
-#include "e-table-header.h"
-#include "e-table-header-item.h"
-#include "e-table-item.h"
-#include "e-cell-text.h"
-#include "e-table.h"
-#include "e-table-config.h"
-
-#include "table-test.h"
-
-
-
-char buffer [1024];
-char **column_labels;
-char ***table_data;
-int cols = 0;
-int lines = 0;
-int lines_alloc = 0;
-
-static void
-parse_headers (void)
-{
- char *p, *s;
- int in_value = 0, i;
-
- fgets (buffer, sizeof (buffer)-1, stdin);
-
- for (p = buffer; *p; p++){
- if (*p == ' ' || *p == '\t'){
- if (in_value){
- cols++;
- in_value = 0;
- }
- } else
- in_value = 1;
- }
- if (in_value)
- cols++;
-
- if (!cols){
- fprintf (stderr, "No columns in first row\n");
- exit (1);
- }
-
- column_labels = g_new0 (char *, cols);
-
- p = buffer;
- for (i = 0; (s = strtok (p, " \t")) != NULL; i++){
- column_labels [i] = g_strdup (s);
- if (strchr (column_labels [i], '\n'))
- *strchr (column_labels [i], '\n') = 0;
- p = NULL;
- }
-
- printf ("%d headers:\n", cols);
- for (i = 0; i < cols; i++){
- printf ("header %d: %s\n", i, column_labels [i]);
- }
-}
-
-static char **
-load_line (char *buffer, int cols)
-{
- char **line = g_new0 (char *, cols);
- char *p;
- int i;
-
- for (i = 0; i < cols; i++){
- p = strtok (buffer, " \t\n");
- if (p == NULL){
- for (; i < cols; i++)
- line [i] = g_strdup ("");
- return line;
- } else
- line [i] = g_strdup (p);
- buffer = NULL;
- }
- return line;
-}
-
-static void
-append_line (char **line)
-{
- if (lines <= lines_alloc){
- lines_alloc = lines + 50;
- table_data = g_renew (char **, table_data, lines_alloc);
- }
- table_data [lines] = line;
- lines++;
-}
-
-static void
-load_data (void)
-{
- int i;
-
- {
- static int loaded;
-
- if (loaded)
- return;
-
- loaded = TRUE;
- }
-
-
- parse_headers ();
-
- while (fgets (buffer, sizeof (buffer)-1, stdin) != NULL){
- char **line;
-
- if (buffer [0] == '\n')
- continue;
- line = load_line (buffer, cols);
- append_line (line);
- }
-
- for (i = 0; i < lines; i++){
- int j;
-
- printf ("Line %d: ", i);
- for (j = 0; j < cols; j++)
- printf ("[%s] ", table_data [i][j]);
- printf ("\n");
- }
-}
-
-/*
- * ETableSimple callbacks
- */
-static int
-col_count (ETableModel *etc, void *data)
-{
- return cols;
-}
-
-static int
-row_count (ETableModel *etc, void *data)
-{
- return lines;
-}
-
-static void
-append_row (ETableModel *etm, ETableModel *model, int row, void *data)
-{
- abort ();
-}
-
-static void *
-value_at (ETableModel *etc, int col, int row, void *data)
-{
- g_assert (col < cols);
- g_assert (row < lines);
-
- fprintf (stderr, "value_at[%d,%d]\n", col, row);
-
- return (void *) table_data [row][col];
-}
-
-static void
-set_value_at (ETableModel *etc, int col, int row, const void *val, void *data)
-{
- g_assert (col < cols);
- g_assert (row < lines);
-
- g_free (table_data [row][col]);
- table_data [row][col] = g_strdup (val);
-
- printf ("Value at %d,%d set to %s\n", col, row, (char *) val);
-}
-
-static gboolean
-is_cell_editable (ETableModel *etc, int col, int row, void *data)
-{
- return TRUE;
-}
-
-static gboolean
-has_save_id (ETableModel *etm, void *data)
-{
- return FALSE;
-}
-
-static char *
-get_save_id (ETableModel *etm, int row, void *data)
-{
- abort ();
-}
-
-static void *
-duplicate_value (ETableModel *etc, int col, const void *value, void *data)
-{
- return g_strdup (value);
-}
-
-static void
-free_value (ETableModel *etc, int col, void *value, void *data)
-{
- g_free (value);
-}
-
-static void *
-initialize_value (ETableModel *etc, int col, void *data)
-{
- return g_strdup ("");
-}
-
-static gboolean
-value_is_empty (ETableModel *etc, int col, const void *value, void *data)
-{
- return !(value && *(char *)value);
-}
-
-static char *
-value_to_string (ETableModel *etc, int col, const void *value, void *data)
-{
- return g_strdup(value);
-}
-
-#ifdef BIT_ROT
-static void
-set_canvas_size (GnomeCanvas *canvas, GtkAllocation *alloc)
-{
- gnome_canvas_set_scroll_region (canvas, 0, 0, alloc->width, alloc->height);
-}
-
-void
-table_browser_test (void)
-{
- GtkWidget *canvas, *window;
- ETableModel *e_table_model;
- ETableHeader *e_table_header;
- ECell *cell_left_just;
- GnomeCanvasItem *group;
- int i;
- int priority = 20;
-
- load_data ();
-
- /*
- * Data model
- */
- e_table_model = e_table_simple_new (
- col_count, row_count, append_row,
-
- value_at, set_value_at, is_cell_editable,
-
- has_save_id, get_save_id,
-
- duplicate_value, free_value,
- initialize_value, value_is_empty,
- value_to_string,
- NULL);
-
- /*
- * Header
- */
- e_table_header = e_table_header_new ();
- cell_left_just = e_cell_text_new (NULL, GTK_JUSTIFY_LEFT);
-
- for (i = 0; i < cols; i++){
- ETableCol *ecol = e_table_col_new (
- i, column_labels [i],
- 1.0, 20, cell_left_just,
- g_str_compare, TRUE,
- priority);
-
- e_table_header_add_column (e_table_header, ecol, i);
- }
-
- /*
- * Setup GUI
- */
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- canvas = e_canvas_new ();
-
- g_signal_connect (canvas, "size_allocate",
- G_CALLBACK (set_canvas_size), NULL);
-
- gtk_container_add (GTK_CONTAINER (window), canvas);
- gtk_widget_show_all (window);
- gnome_canvas_item_new (
- gnome_canvas_root (GNOME_CANVAS (canvas)),
- e_table_header_item_get_type (),
- "ETableHeader", e_table_header,
- NULL);
-
- group = gnome_canvas_item_new (
- gnome_canvas_root (GNOME_CANVAS (canvas)),
- gnome_canvas_group_get_type (),
- "x", 30.0,
- "y", 30.0,
- NULL);
-
- gnome_canvas_item_new (
- GNOME_CANVAS_GROUP (group),
- e_table_item_get_type (),
- "ETableHeader", e_table_header,
- "ETableModel", e_table_model,
- "drawgrid", TRUE,
- "drawfocus", TRUE,
-#if 0
- "spreadsheet", TRUE,
-#endif
- NULL);
-}
-#endif
-
-static void
-save_spec (GtkWidget *button, ETable *e_table)
-{
-#ifdef BIT_ROT
- e_table_save_specification (e_table, "e-table-test.xml");
-#endif
-}
-
-#ifdef BIT_ROT
-static void
-row_selection_test (ETable *table, int row, gboolean selected)
-{
- if (selected)
- g_print ("Row %d selected\n", row);
- else
- g_print ("Row %d unselected\n", row);
-}
-#endif
-
-static void
-toggle_grid (void *nothing, ETable *etable)
-{
- static gboolean shown;
-
- g_object_get (etable, "drawgrid", &shown, NULL);
- g_object_set (etable, "drawgrid", !shown, NULL);
-}
-
-static void
-do_e_table_demo (const char *state)
-{
- GtkWidget *e_table, *window, *frame, *vbox, *button, *bhide;
- ECell *cell_left_just;
- ETableHeader *full_header;
- int i;
- GString *spec;
-
- /*
- * Data model
- */
- static ETableModel *e_table_model = NULL;
-
- if (e_table_model == NULL)
- e_table_model =
- e_table_simple_new (col_count, row_count, append_row,
- value_at, set_value_at, is_cell_editable,
- has_save_id, get_save_id,
- duplicate_value, free_value,
- initialize_value, value_is_empty,
- value_to_string,
- NULL);
-
- full_header = e_table_header_new ();
- cell_left_just = e_cell_text_new (NULL, GTK_JUSTIFY_LEFT);
-
- spec = g_string_new ("\
-<ETableSpecification \
-cursor-mode=\"line\" \
-selection-mode=\"browse\" \
-draw-focus=\"true\">");
- for (i = 0; i < cols; i++) {
- char *colspec =
- g_strdup_printf ("\
- <ETableColumn model_col=\"%d\" \
-_title=\"%s\" \
-minimum_width=\"20\" \
-resizable=\"true\" \
-cell=\"string\" \
-compare=\"string\"/>\n", i, column_labels[i]);
- g_string_append (spec, colspec);
- g_free (colspec);
- }
- g_string_append (spec, "</ETableSpecification>");
- e_table = e_table_new (e_table_model, NULL, spec->str, state);
-
- /* This makes value_at not called just to determine row height. */
- g_object_set (e_table,
- "uniform_row_height", 1,
- NULL);
-
- g_string_free (spec, TRUE);
-
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- frame = gtk_frame_new (NULL);
-#ifdef BIT_ROT
- g_signal_connect (e_table, "row_selection",
- G_CALLBACK(row_selection_test), NULL);
-#endif
-
- vbox = gtk_vbox_new (FALSE, 0);
- gtk_box_pack_start (GTK_BOX (vbox), e_table, TRUE, TRUE, 0);
- gtk_container_add (GTK_CONTAINER (frame), vbox);
- gtk_container_add (GTK_CONTAINER (window), frame);
-
-#if 0
- /*
- * gadgets
- */
- button = gtk_button_new_with_label ("Save spec");
- g_signal_connect (button, "clicked",
- G_CALLBACK (save_spec), e_table);
- gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
-
- bhide = gtk_button_new_with_label ("Toggle Grid");
- g_signal_connect (bhide, "clicked",
- G_CALLBACk (toggle_grid), e_table);
- gtk_box_pack_start (GTK_BOX (vbox), bhide, FALSE, FALSE, 0);
-#endif
-
- gtk_widget_set_usize (window, 400, 200);
- gtk_widget_show_all (window);
-
-#ifdef BIT_ROT
- if (getenv ("TEST")){
- e_table_do_gui_config (NULL, E_TABLE(e_table));
- }
-#endif
-}
-
-void
-e_table_test (void)
-{
- load_data ();
-
- if (1){/*getenv ("DO")){*/
- do_e_table_demo ("\
-<ETableState>\n\
- <column source=\"0\"/>\n\
- <column source=\"1\"/>\n\
- <column source=\"2\"/>\n\
- <column source=\"3\"/>\n\
- <column source=\"4\"/>\n\
- <grouping></grouping>\n\
-</ETableState>");
-#if 0
- do_e_table_demo ("<ETableSpecification> <columns-shown> <column> 0 </column> <column> 0 </column> <column> 1 </column> <column> 2 </column> <column> 3 </column> <column> 4 </column> </columns-shown> <grouping> <group column=\"3\" ascending=\"true\"> <group column=\"4\" ascending=\"false\"> <leaf column=\"2\" ascending=\"true\"/> </group> </group> </grouping> </ETableSpecification>");
- do_e_table_demo ("<ETableSpecification> <columns-shown> <column> 0 </column> <column> 1 </column> <column> 2 </column> <column> 3 </column> <column> 4 </column> </columns-shown> <grouping> <group column=\"4\" ascending=\"true\"> <leaf column=\"2\" ascending=\"true\"/> </group> </grouping> </ETableSpecification>");
- do_e_table_demo ("<ETableSpecification> <columns-shown> <column> 0 </column> <column> 1 </column> <column> 2 </column> <column> 3 </column> <column> 4 </column> </columns-shown> <grouping> <group column=\"3\" ascending=\"true\"> <leaf column=\"2\" ascending=\"true\"/> </group> </grouping> </ETableSpecification>");
-#endif
- }
-}
diff --git a/widgets/table/tree-expanded.xpm b/widgets/table/tree-expanded.xpm
deleted file mode 100644
index d9bda3694d..0000000000
--- a/widgets/table/tree-expanded.xpm
+++ /dev/null
@@ -1,23 +0,0 @@
-/* XPM */
-static char * tree_expanded_xpm[] = {
-"16 16 4 1",
-" c None",
-". c #FFFFFF",
-"* c #000000",
-"+ c #666666",
-" ",
-" ",
-" ",
-" ",
-" +++++++++ ",
-" +.......+ ",
-" +.......+ ",
-" +.......+ ",
-" +.*****.+ ",
-" +.......+ ",
-" +.......+ ",
-" +.......+ ",
-" +++++++++ ",
-" ",
-" ",
-" "};
diff --git a/widgets/table/tree-unexpanded.xpm b/widgets/table/tree-unexpanded.xpm
deleted file mode 100644
index e1b48448ba..0000000000
--- a/widgets/table/tree-unexpanded.xpm
+++ /dev/null
@@ -1,23 +0,0 @@
-/* XPM */
-static char * tree_unexpanded_xpm[] = {
-"16 16 4 1",
-" c None",
-". c #FFFFFF",
-"* c #000000",
-"+ c #666666",
-" ",
-" ",
-" ",
-" ",
-" +++++++++ ",
-" +.......+ ",
-" +...*...+ ",
-" +...*...+ ",
-" +.*****.+ ",
-" +...*...+ ",
-" +...*...+ ",
-" +.......+ ",
-" +++++++++ ",
-" ",
-" ",
-" "};
diff --git a/widgets/text/.cvsignore b/widgets/text/.cvsignore
deleted file mode 100644
index 792b9f5af2..0000000000
--- a/widgets/text/.cvsignore
+++ /dev/null
@@ -1,11 +0,0 @@
-.deps
-.libs
-.pure
-Makefile
-Makefile.in
-*.lo
-*.la
-e-text-test
-e-entry-test
-e-text-model-test
-e-completion-test \ No newline at end of file
diff --git a/widgets/text/e-completion-callbacks.c b/widgets/text/e-completion-callbacks.c
deleted file mode 100644
index bccc400fab..0000000000
--- a/widgets/text/e-completion-callbacks.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-completion-callbacks.c - A callback based ECompletion.
- * Copyright 2003
- *
- * Authors:
- * Chris Toshok <toshok@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <string.h>
-#include <stdio.h>
-#include <gtk/gtk.h>
-#include "gal/util/e-util.h"
-#include "e-completion-callbacks.h"
-
-static void e_completion_callbacks_class_init (ECompletionCallbacksClass *klass);
-static void e_completion_callbacks_init (ECompletionCallbacks *complete);
-
-static void callbacks_request_completion (ECompletion *comp, const gchar *search_text, gint pos, gint limit);
-static void callbacks_end_completion (ECompletion *comp);
-
-#define PARENT_TYPE E_COMPLETION_TYPE
-static ECompletionClass *parent_class;
-
-
-
-E_MAKE_TYPE (e_completion_callbacks,
- "ECompletionCallbacks",
- ECompletionCallbacks,
- e_completion_callbacks_class_init,
- e_completion_callbacks_init,
- PARENT_TYPE)
-
-static void
-e_completion_callbacks_class_init (ECompletionCallbacksClass *klass)
-{
- ECompletionClass *comp_class = (ECompletionClass *) klass;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- comp_class->request_completion = callbacks_request_completion;
- comp_class->end_completion = callbacks_end_completion;
-}
-
-static void
-e_completion_callbacks_init (ECompletionCallbacks *complete)
-{
-}
-
-static void
-callbacks_request_completion (ECompletion *comp, const gchar *search_text, gint pos, gint limit)
-{
- ECompletionCallbacks *cc = E_COMPLETION_CALLBACKS (comp);
-
- cc->request_completion (cc, search_text, pos, limit, cc->data);
-}
-
-static void
-callbacks_end_completion (ECompletion *comp)
-{
- ECompletionCallbacks *cc = E_COMPLETION_CALLBACKS (comp);
-
- cc->end_completion (cc, cc->data);
-}
-
-ECompletionCallbacks*
-e_completion_callbacks_new (ECompletionCallbacksRequestCompletionFn request_completion,
- ECompletionCallbacksEndCompletionFn end_completion,
- gpointer data)
-{
- ECompletionCallbacks *cc;
-
- g_return_val_if_fail (request_completion != NULL, NULL);
- g_return_val_if_fail (end_completion != NULL, NULL);
-
- cc = gtk_type_new (E_COMPLETION_CALLBACKS_TYPE);
-
- cc->request_completion = request_completion;
- cc->end_completion = end_completion;
- cc->data = data;
-
- return cc;
-}
diff --git a/widgets/text/e-completion-callbacks.h b/widgets/text/e-completion-callbacks.h
deleted file mode 100644
index 2661c16022..0000000000
--- a/widgets/text/e-completion-callbacks.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-completion-callback.h - A callback based completion object.
- * Copyright 2003, Ximian, Inc.
- *
- * Authors:
- * Chris Toshok <toshok@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef E_COMPLETION_CALLBACKS_H
-#define E_COMPLETION_CALLBACKS_H
-
-#include <gtk/gtkobject.h>
-#include "e-completion.h"
-
-G_BEGIN_DECLS
-
-#define E_COMPLETION_CALLBACKS_TYPE (e_completion_callbacks_get_type ())
-#define E_COMPLETION_CALLBACKS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_COMPLETION_CALLBACKS_TYPE, ECompletionCallbacks))
-#define E_COMPLETION_CALLBACKS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), E_COMPLETION_CALLBACKS_TYPE, ECompletionCallbacksClass))
-#define E_IS_COMPLETION_CALLBACKS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_COMPLETION_CALLBACKS_TYPE))
-#define E_IS_COMPLETION_CALLBACKS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_COMPLETION_CALLBACKS_TYPE))
-
-typedef struct _ECompletionCallbacks ECompletionCallbacks;
-typedef struct _ECompletionCallbacksClass ECompletionCallbacksClass;
-struct _ECompletionCallbacksPrivate;
-
-typedef void (*ECompletionCallbacksRequestCompletionFn) (ECompletionCallbacks *comp, const gchar *search_text, gint pos, gint limit, gpointer data);
-typedef void (*ECompletionCallbacksEndCompletionFn) (ECompletionCallbacks *comp, gpointer data);
-
-struct _ECompletionCallbacks {
- ECompletion parent;
-
- ECompletionCallbacksRequestCompletionFn request_completion;
- ECompletionCallbacksEndCompletionFn end_completion;
-
- gpointer data;
-};
-
-struct _ECompletionCallbacksClass {
- ECompletionClass parent_class;
-};
-
-GtkType e_completion_callbacks_get_type (void);
-
-ECompletionCallbacks* e_completion_callbacks_new (ECompletionCallbacksRequestCompletionFn request_completion,
- ECompletionCallbacksEndCompletionFn end_completion,
- gpointer data);
-
-G_END_DECLS
-
-
-#endif /* E_COMPLETION_CALLBACKS_H */
-
diff --git a/widgets/text/e-completion-match.c b/widgets/text/e-completion-match.c
deleted file mode 100644
index d13ba15973..0000000000
--- a/widgets/text/e-completion-match.c
+++ /dev/null
@@ -1,184 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-completion-match.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Jon Trowbridge <trow@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <string.h>
-#include <gal/widgets/e-unicode.h>
-#include "e-completion-match.h"
-
-static void
-e_completion_match_destroy (ECompletionMatch *match)
-{
- if (match) {
- g_free (match->match_text);
- g_free (match->menu_text);
- if (match->destroy)
- match->destroy (match);
- g_free (match);
- }
-}
-
-void
-e_completion_match_construct (ECompletionMatch *match)
-{
- g_return_if_fail (match != NULL);
-
- match->match_text = NULL;
- match->menu_text = NULL;
- match->score = 0;
- match->sort_major = 0;
- match->sort_minor = 0;
- match->user_data = NULL;
- match->ref = 1;
- match->destroy = NULL;
-}
-
-void
-e_completion_match_ref (ECompletionMatch *match)
-{
- g_return_if_fail (match != NULL);
- g_return_if_fail (match->ref > 0);
-
- ++match->ref;
-}
-
-void
-e_completion_match_unref (ECompletionMatch *match)
-{
- if (match) {
- g_return_if_fail (match->ref > 0);
-
- --match->ref;
- if (match->ref == 0) {
- e_completion_match_destroy (match);
- }
- }
-}
-
-void
-e_completion_match_set_text (ECompletionMatch *match,
- const gchar *match_text,
- const gchar *menu_text)
-{
- g_return_if_fail (match != NULL);
-
- /* We silently drop any entries w/ invalid utf8.
- This is not optimal behavior. */
-
- if (match_text && ! g_utf8_validate (match_text, -1, NULL)) {
- match_text = NULL;
- }
-
- if (menu_text && ! g_utf8_validate (menu_text, -1, NULL)) {
- menu_text = NULL;
- }
-
- if (match->match_text && match->match_text != match_text) {
- g_free (match->match_text);
- }
- match->match_text = g_strdup (match_text);
-
- if (match->menu_text && match->menu_text != menu_text) {
- g_free (match->menu_text);
- }
- match->menu_text = g_strdup (menu_text);
-}
-
-const gchar *
-e_completion_match_get_match_text (ECompletionMatch *match)
-{
- g_return_val_if_fail (match != NULL, NULL);
- return match->match_text;
-}
-
-const gchar *
-e_completion_match_get_menu_text (ECompletionMatch *match)
-{
- g_return_val_if_fail (match != NULL, NULL);
- return match->menu_text;
-}
-
-gint
-e_completion_match_compare (const ECompletionMatch *a, const ECompletionMatch *b)
-{
- gint rv;
-
- /* Deal with NULL arguments. */
- if (!(a || b)) {
- if (!(a && b))
- return 0;
- return a ? -1 : 1;
- }
-
- if ( (rv = (b->sort_major < a->sort_major) - (a->sort_major < b->sort_major)) )
- return rv;
-
- /* Sort the scores high->low. */
- if ( (rv = (b->score > a->score) - (a->score > b->score)) )
- return rv;
-
- if ( (rv = (b->sort_minor < a->sort_minor) - (a->sort_minor < b->sort_minor)) )
- return rv;
-
- return 0;
-}
-
-gint
-e_completion_match_compare_alpha (const ECompletionMatch *a, const ECompletionMatch *b)
-{
- gint rv, rv2;
-
- /* Deal with NULL arguments. */
- if (!(a || b)) {
- if (!(a && b))
- return 0;
- return a ? -1 : 1;
- }
-
- /* The sort_major trumps everything. */
- if ( (rv = (b->sort_major < a->sort_major) - (a->sort_major < b->sort_major)) )
- return rv;
-
- /* Sort the scores high->low. */
- if ( (rv = (b->score > a->score) - (a->score > b->score)) )
- return rv;
-
- /* When the match text is the same, we use the minor fields */
- rv2 = strcmp (a->match_text, b->match_text);
- if ( !rv2 && (rv = (b->sort_minor < a->sort_minor) - (a->sort_minor < b->sort_minor)) )
- return rv;
-
- return strcmp (a->menu_text, b->menu_text);
-}
-
-ECompletionMatch *
-e_completion_match_new (const gchar *match_text, const gchar *menu_text, double score)
-{
- ECompletionMatch *match = g_new0 (ECompletionMatch, 1);
-
- e_completion_match_construct (match);
- e_completion_match_set_text (match, match_text, menu_text);
- match->score = score;
-
- return match;
-}
diff --git a/widgets/text/e-completion-match.h b/widgets/text/e-completion-match.h
deleted file mode 100644
index 162373add4..0000000000
--- a/widgets/text/e-completion-match.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-completion-match.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Jon Trowbridge <trow@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef __E_COMPLETION_MATCH_H__
-#define __E_COMPLETION_MATCH_H__
-
-#include <glib.h>
-#include <gtk/gtkwidget.h>
-
-G_BEGIN_DECLS
-
-typedef struct _ECompletionMatch ECompletionMatch;
-
-struct _ECompletionMatch {
- gchar *match_text; /* in utf8 */
- gchar *menu_text; /* in utf8 */
- double score;
- gint sort_major;
- gint sort_minor;
- gpointer user_data;
-
- gint ref;
- void (*destroy) (ECompletionMatch *);
-};
-
-typedef void (*ECompletionMatchFn) (ECompletionMatch *, gpointer closure);
-
-void e_completion_match_construct (ECompletionMatch *);
-void e_completion_match_ref (ECompletionMatch *);
-void e_completion_match_unref (ECompletionMatch *);
-
-void e_completion_match_set_text (ECompletionMatch *, const gchar *match_text, const gchar *label_text);
-const gchar *e_completion_match_get_match_text (ECompletionMatch *);
-const gchar *e_completion_match_get_menu_text (ECompletionMatch *);
-
-gint e_completion_match_compare (const ECompletionMatch *, const ECompletionMatch *);
-gint e_completion_match_compare_alpha (const ECompletionMatch *, const ECompletionMatch *);
-
-ECompletionMatch *e_completion_match_new (const gchar *match_text, const gchar *menu_text, double score);
-
-
-
-
-G_END_DECLS
-
-#endif /* __E_COMPLETION_MATCH_H__ */
-
diff --git a/widgets/text/e-completion-view.c b/widgets/text/e-completion-view.c
deleted file mode 100644
index f9728de60c..0000000000
--- a/widgets/text/e-completion-view.c
+++ /dev/null
@@ -1,859 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-completion-view.c - A text completion selection widget
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza <miguel@ximian.com>
- * Adapted by Jon Trowbridge <trow@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-
-#include "e-completion-view.h"
-
-#include <math.h>
-#include <gdk/gdkkeysyms.h>
-#include <gal/e-table/e-table-simple.h>
-#include <gal/e-table/e-table-scrolled.h>
-#include <gal/util/e-i18n.h>
-#include "gal/util/e-marshal.h"
-
-enum {
- E_COMPLETION_VIEW_NONEMPTY,
- E_COMPLETION_VIEW_ADDED,
- E_COMPLETION_VIEW_FULL,
- E_COMPLETION_VIEW_BROWSE,
- E_COMPLETION_VIEW_UNBROWSE,
- E_COMPLETION_VIEW_ACTIVATE,
- E_COMPLETION_VIEW_LAST_SIGNAL
-};
-
-static guint e_completion_view_signals[E_COMPLETION_VIEW_LAST_SIGNAL] = { 0 };
-
-static void e_completion_view_disconnect (ECompletionView *cv);
-static ETable *e_completion_view_table (ECompletionView *cv);
-static void e_completion_view_clear_choices (ECompletionView *cv);
-static void e_completion_view_set_cursor_row (ECompletionView *cv, gint r);
-static void e_completion_view_select (ECompletionView *cv, gint r);
-
-static gint e_completion_view_key_press_handler (GtkWidget *w, GdkEventKey *key_event, gpointer user_data);
-
-static void e_completion_view_class_init (ECompletionViewClass *klass);
-static void e_completion_view_init (ECompletionView *completion);
-static void e_completion_view_dispose (GObject *object);
-
-#define PARENT_TYPE GTK_TYPE_EVENT_BOX
-static GtkObjectClass *parent_class;
-
-
-
-static gint
-e_completion_view_local_key_press_handler (GtkWidget *w, GdkEventKey *ev)
-{
- return e_completion_view_key_press_handler (w, ev, w);
-}
-
-static void
-e_completion_view_paint (GtkWidget *widget, GdkRectangle *area)
-{
- gint i;
-
- g_return_if_fail (widget != NULL);
- g_return_if_fail (E_IS_COMPLETION_VIEW (widget));
- g_return_if_fail (area != NULL);
-
- if (!GTK_WIDGET_DRAWABLE (widget))
- return;
-
- for (i = 0; i < E_COMPLETION_VIEW (widget)->border_width; ++i) {
-
- gdk_draw_rectangle (widget->window,
- widget->style->black_gc,
- FALSE, i, i,
- widget->allocation.width-1-2*i,
- widget->allocation.height-1-2*i);
-
- }
-
-}
-
-#if 0
-static void
-e_completion_view_draw (GtkWidget *widget, GdkRectangle *area)
-{
- GtkBin *bin;
- GdkRectangle child_area;
-
- g_return_if_fail (widget != NULL);
- g_return_if_fail (E_IS_COMPLETION_VIEW (widget));
- g_return_if_fail (area != NULL);
-
- if (GTK_WIDGET_DRAWABLE (widget)) {
- bin = GTK_BIN (widget);
-
- e_completion_view_paint (widget, area);
-
- if (bin->child && gtk_widget_intersect (bin->child, area, &child_area))
- gtk_widget_draw (bin->child, &child_area);
- }
-}
-#endif
-
-static gint
-e_completion_view_expose_event (GtkWidget *widget, GdkEventExpose *event)
-{
- GtkBin *bin;
- GdkEventExpose child_event;
-
- g_return_val_if_fail (widget != NULL, FALSE);
- g_return_val_if_fail (E_IS_COMPLETION_VIEW (widget), FALSE);
- g_return_val_if_fail (event != NULL, FALSE);
-
- if (GTK_WIDGET_DRAWABLE (widget)) {
- bin = GTK_BIN (widget);
-
- e_completion_view_paint (widget, &event->area);
-
- child_event = *event;
- if (bin->child &&
- GTK_WIDGET_NO_WINDOW (bin->child) &&
- gtk_widget_intersect (bin->child, &event->area, &child_event.area))
- gtk_widget_send_expose (bin->child, (GdkEvent*) &child_event);
- }
-
- return FALSE;
-}
-
-static void
-e_completion_view_size_request (GtkWidget *widget, GtkRequisition *requisition)
-{
- GtkBin *bin;
-
- g_return_if_fail (widget != NULL);
- g_return_if_fail (E_IS_COMPLETION_VIEW (widget));
- g_return_if_fail (requisition != NULL);
-
- bin = GTK_BIN (widget);
-
- requisition->width = 2 * E_COMPLETION_VIEW (widget)->border_width;
- requisition->height = 2 * E_COMPLETION_VIEW (widget)->border_width;
-
- if (bin->child && GTK_WIDGET_VISIBLE (bin->child)) {
- GtkRequisition child_requisition;
-
- gtk_widget_size_request (bin->child, &child_requisition);
-
- requisition->width += child_requisition.width;
- requisition->height += child_requisition.height;
- }
-
- requisition->height = MAX (100, requisition->height);
-}
-
-static void
-e_completion_view_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
-{
- GtkBin *bin;
- GtkAllocation child_allocation;
-
- g_return_if_fail (widget != NULL);
- g_return_if_fail (E_IS_COMPLETION_VIEW (widget));
- g_return_if_fail (allocation != NULL);
-
- bin = GTK_BIN (widget);
- widget->allocation = *allocation;
-
- child_allocation.x = E_COMPLETION_VIEW (widget)->border_width;
- child_allocation.width = MAX(0, (gint)allocation->width - child_allocation.x * 2);
-
- child_allocation.y = E_COMPLETION_VIEW (widget)->border_width;
- child_allocation.height = MAX (0, (gint)allocation->height - child_allocation.y * 2);
-
- if (GTK_WIDGET_REALIZED (widget)) {
- gdk_window_move_resize (widget->window,
- allocation->x,
- allocation->y,
- allocation->width,
- allocation->height);
- }
-
- if (bin->child) {
- gtk_widget_size_allocate (bin->child, &child_allocation);
- }
-}
-
-E_MAKE_TYPE (e_completion_view,
- "ECompletionView",
- ECompletionView,
- e_completion_view_class_init,
- e_completion_view_init,
- PARENT_TYPE)
-
-static void
-e_completion_view_class_init (ECompletionViewClass *klass)
-{
- GObjectClass *object_class = (GObjectClass *) klass;
- GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- e_completion_view_signals[E_COMPLETION_VIEW_NONEMPTY] =
- g_signal_new ("nonempty",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ECompletionViewClass, nonempty),
- NULL, NULL,
- e_marshal_NONE__NONE,
- G_TYPE_NONE, 0);
-
- e_completion_view_signals[E_COMPLETION_VIEW_ADDED] =
- g_signal_new ("added",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ECompletionViewClass, added),
- NULL, NULL,
- e_marshal_NONE__NONE,
- G_TYPE_NONE, 0);
-
- e_completion_view_signals[E_COMPLETION_VIEW_FULL] =
- g_signal_new ("full",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ECompletionViewClass, full),
- NULL, NULL,
- e_marshal_NONE__NONE,
- G_TYPE_NONE, 0);
-
- e_completion_view_signals[E_COMPLETION_VIEW_BROWSE] =
- g_signal_new ("browse",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ECompletionViewClass, browse),
- NULL, NULL,
- e_marshal_NONE__POINTER,
- G_TYPE_NONE, 1,
- G_TYPE_POINTER);
-
- e_completion_view_signals[E_COMPLETION_VIEW_UNBROWSE] =
- g_signal_new ("unbrowse",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ECompletionViewClass, unbrowse),
- NULL, NULL,
- e_marshal_NONE__NONE,
- G_TYPE_NONE, 0);
-
- e_completion_view_signals[E_COMPLETION_VIEW_ACTIVATE] =
- g_signal_new ("activate",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ECompletionViewClass, activate),
- NULL, NULL,
- e_marshal_NONE__POINTER,
- G_TYPE_NONE, 1,
- G_TYPE_POINTER);
-
- object_class->dispose = e_completion_view_dispose;
-
- widget_class->key_press_event = e_completion_view_local_key_press_handler;
- widget_class->expose_event = e_completion_view_expose_event;
- widget_class->size_request = e_completion_view_size_request;
- widget_class->size_allocate = e_completion_view_size_allocate;
-}
-
-static void
-e_completion_view_init (ECompletionView *completion)
-{
- completion->border_width = 2;
- completion->choices = g_ptr_array_new ();
-}
-
-static void
-e_completion_view_dispose (GObject *object)
-{
- ECompletionView *cv = E_COMPLETION_VIEW (object);
-
- e_completion_view_disconnect (cv);
-
- if (cv->choices) {
- e_completion_view_clear_choices (cv);
-
- g_ptr_array_free (cv->choices, TRUE);
- cv->choices = NULL;
- }
-
- if (cv->key_widget) {
- g_signal_handler_disconnect (cv->key_widget, cv->key_signal_id);
- g_object_unref (cv->key_widget);
- cv->key_widget = NULL;
- }
-
- if (cv->completion)
- g_object_unref (cv->completion);
- cv->completion = NULL;
-
- if (G_OBJECT_CLASS (parent_class)->dispose)
- (G_OBJECT_CLASS (parent_class)->dispose) (object);
-}
-
-static void
-e_completion_view_disconnect (ECompletionView *cv)
-{
- g_return_if_fail (cv != NULL);
- g_return_if_fail (E_IS_COMPLETION_VIEW (cv));
-
- if (cv->begin_signal_id)
- g_signal_handler_disconnect (cv->completion, cv->begin_signal_id);
- if (cv->comp_signal_id)
- g_signal_handler_disconnect (cv->completion, cv->comp_signal_id);
- if (cv->end_signal_id)
- g_signal_handler_disconnect (cv->completion, cv->end_signal_id);
-
- cv->begin_signal_id = 0;
- cv->comp_signal_id = 0;
- cv->end_signal_id = 0;
-}
-
-static ETable *
-e_completion_view_table (ECompletionView *cv)
-{
- return e_table_scrolled_get_table (E_TABLE_SCROLLED (cv->table));
-}
-
-static void
-e_completion_view_clear_choices (ECompletionView *cv)
-{
- ECompletionMatch *match;
- GPtrArray *m;
- int i;
-
- g_return_if_fail (E_IS_COMPLETION_VIEW (cv));
-
- m = cv->choices;
- for (i = 0; i < m->len; i++) {
- match = g_ptr_array_index (m, i);
- e_completion_match_unref (match);
- }
- g_ptr_array_set_size (m, 0);
-}
-
-static void
-e_completion_view_set_cursor_row (ECompletionView *cv, gint r)
-{
- ETable *table;
- GtkAdjustment *adj;
- gint x, y1, y2, r1, r2, c;
- double fracline;
- gint iteration_count=0;
-
- g_return_if_fail (cv != NULL);
- g_return_if_fail (E_IS_COMPLETION_VIEW (cv));
-#ifndef G_DISABLE_CHECKS
- /* choices->len is unsigned, but it is reasonable for r to be
- * < 0 */
- if (r > 0) {
- g_return_if_fail (r < cv->choices->len);
- }
-#endif
-
- adj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (cv->table));
-
- table = e_completion_view_table (cv);
-
- if (r < 0) {
- e_selection_model_clear (E_SELECTION_MODEL(table->selection));
-
- /* Move back to the top when we clear the selection */
- gtk_adjustment_set_value (adj, adj->lower);
- return;
- }
-
- e_table_set_cursor_row (table, r);
-
- /* OK, now the tricky bit. We try to insure that this row is
- visible. */
-
- /* If we are selecting the first or last row, then it is easy. We just
- cram the vadjustment all the way up/down. */
- if (r == 0) {
- gtk_adjustment_set_value (adj, adj->lower);
- return;
- } else if (r == cv->choices->len - 1) {
- gtk_adjustment_set_value (adj, adj->upper - adj->page_size);
- return;
- }
-
- fracline = ((adj->upper - adj->lower - adj->page_size) / (gint)cv->choices->len) / 4;
-
- while (iteration_count < 100) {
- x = GTK_LAYOUT(table->table_canvas)->hadjustment->value;
- y1 = GTK_LAYOUT(table->table_canvas)->vadjustment->value;
-
- y2 = y1 + cv->table->allocation.height;
-
- e_table_group_compute_location (e_completion_view_table (cv)->group, &x, &y1, &r1, &c);
- e_table_group_compute_location (e_completion_view_table (cv)->group, &x, &y2, &r2, &c);
-
- if (r <= r1) {
- gtk_adjustment_set_value (adj, adj->value - fracline);
- } else if (r >= r2) {
- gtk_adjustment_set_value (adj, adj->value + fracline);
- } else
- return;
-
- ++iteration_count;
- }
-
- g_assert_not_reached ();
-}
-
-static void
-e_completion_view_select (ECompletionView *cv, gint r)
-{
- ECompletionMatch *match;
-
- match = g_ptr_array_index (cv->choices, r);
-
- cv->selection = r;
- e_completion_view_set_cursor_row (cv, r);
- g_signal_emit (cv, e_completion_view_signals[E_COMPLETION_VIEW_ACTIVATE], 0, match);
-}
-
-static gint
-e_completion_view_key_press_handler (GtkWidget *w, GdkEventKey *key_event, gpointer user_data)
-{
- ECompletionView *cv = E_COMPLETION_VIEW (user_data);
- gint dir = 0;
- gboolean key_handled = TRUE, complete_key = FALSE, uncomplete_key = FALSE, is_space = FALSE;
-
- /* FIXME: This is totally lame.
- The ECompletionView should be able to specify multiple completion/uncompletion keys, or just
- have sensible defaults. */
-
- if ((cv->complete_key && key_event->keyval == cv->complete_key)
- || ((key_event->keyval == GDK_n || key_event->keyval == GDK_N) && (key_event->state & GDK_CONTROL_MASK)))
- complete_key = TRUE;
-
- if ((cv->uncomplete_key && key_event->keyval == cv->uncomplete_key)
- || ((key_event->keyval == GDK_p || key_event->keyval == GDK_P) && (key_event->state & GDK_CONTROL_MASK)))
- uncomplete_key = TRUE;
-
- /* Start up a completion.*/
- if (complete_key && !cv->editable) {
- g_signal_emit (cv, e_completion_view_signals[E_COMPLETION_VIEW_BROWSE], 0, NULL);
- goto stop_emission;
- }
-
- /* Stop our completion. */
- if (uncomplete_key && cv->editable && cv->selection < 0) {
- e_completion_view_set_cursor_row (cv, -1);
- g_signal_emit (cv, e_completion_view_signals[E_COMPLETION_VIEW_UNBROWSE], 0);
- goto stop_emission;
- }
-
- if (!cv->editable)
- return FALSE;
-
- switch (key_event->keyval) {
-
- case GDK_n:
- case GDK_N:
- /* We (heart) emacs: treat ctrl-n as down */
- if (! (key_event->state & GDK_CONTROL_MASK))
- return FALSE;
-
- case GDK_Down:
- case GDK_KP_Down:
- dir = 1;
- break;
-
- case GDK_p:
- case GDK_P:
- /* Treat ctrl-p as up */
- if (! (key_event->state & GDK_CONTROL_MASK))
- return FALSE;
-
- case GDK_Up:
- case GDK_KP_Up:
- dir = -1;
- break;
-
- case GDK_Tab:
- /* If our cursor is still up in the entry, move down into
- the popup. Otherwise unbrowse. */
- if (cv->choices->len > 0) {
- if (cv->selection < 0) {
- cv->selection = 0;
- dir = 0;
- } else {
- cv->selection = -1;
- dir = 0;
- key_handled = FALSE;
- }
- }
- break;
-
- case GDK_space:
- case GDK_KP_Space:
- is_space = TRUE;
-
- case GDK_Return:
- case GDK_KP_Enter:
- if (cv->selection < 0) {
- /* We don't have a selection yet, move to the first selection if there is
- more than one option. If there is only one option, select it automatically. */
-
- /* Let space pass through. */
- if (is_space)
- return FALSE;
-
- if (cv->choices->len == 1) {
- e_completion_view_select (cv, 0);
- goto stop_emission;
- } else {
- cv->selection = 0;
- dir = 0;
- }
-
- } else {
- /* Our cursor is down in the pop-up, so we make our selection. */
- e_completion_view_select (cv, cv->selection);
- goto stop_emission;
- }
- break;
-
- case GDK_Escape:
- /* Unbrowse hack */
- cv->selection = -1;
- dir = 0;
- break;
-
- default:
- return FALSE;
- }
-
- cv->selection += dir;
-
- if (cv->selection >= (int)cv->choices->len) {
- cv->selection = cv->choices->len - 1;
- /* Don't re-emit the browse signal */
- goto stop_emission;
- }
-
- e_completion_view_set_cursor_row (cv, cv->selection);
-
- if (cv->selection >= 0)
- g_signal_emit (cv, e_completion_view_signals[E_COMPLETION_VIEW_BROWSE], 0,
- g_ptr_array_index (cv->choices, cv->selection));
- else
- g_signal_emit (cv, e_completion_view_signals[E_COMPLETION_VIEW_UNBROWSE], 0);
-
- stop_emission:
-
- if (key_handled)
- g_signal_stop_emission_by_name (w, "key_press_event");
-
- return key_handled;
-}
-
-static void
-begin_completion_cb (ECompletion *completion, const gchar *txt, gint pos, gint limit, gpointer user_data)
-{
- ECompletionView *cv = E_COMPLETION_VIEW (user_data);
-
- e_table_model_pre_change (cv->model);
- e_completion_view_clear_choices (cv);
- cv->have_all_choices = FALSE;
-
- e_table_model_changed (cv->model);
-}
-
-static void
-completion_cb (ECompletion *completion, ECompletionMatch *match, gpointer user_data)
-{
- ECompletionView *cv = E_COMPLETION_VIEW (user_data);
- gint r = cv->choices->len;
- gboolean first = (cv->choices->len == 0);
-
- e_table_model_pre_change (cv->model);
-
- e_completion_match_ref (match);
- g_ptr_array_add (cv->choices, match);
-
- e_table_model_row_inserted (cv->model, r);
-
- if (first)
- g_signal_emit (cv, e_completion_view_signals[E_COMPLETION_VIEW_NONEMPTY], 0);
-
- g_signal_emit (cv, e_completion_view_signals[E_COMPLETION_VIEW_ADDED], 0);
-}
-
-static void
-end_completion_cb (ECompletion *completion, gpointer user_data)
-{
- ECompletionView *cv = E_COMPLETION_VIEW (user_data);
-
- /* Do a final refresh of the table. */
- e_table_model_pre_change (cv->model);
- e_table_model_changed (cv->model);
-
- cv->have_all_choices = TRUE;
- g_signal_emit (cv, e_completion_view_signals[E_COMPLETION_VIEW_FULL], 0);
-}
-
-/*** Table Callbacks ***/
-
-/* XXX toshok - we need to add sorting to this etable, through the use
- of undisplayed fields of all the sort keys we want to use */
-static char *simple_spec =
-"<ETableSpecification no-headers=\"true\" draw-grid=\"false\" cursor-mode=\"line\" alternating-row-colors=\"false\" gettext-domain=\"" E_I18N_DOMAIN "\">"
-" <ETableColumn model_col=\"0\" _title=\"Node\" expansion=\"1.0\" "
-" minimum_width=\"16\" resizable=\"true\" cell=\"string\" "
-" compare=\"string\"/> "
-" <ETableState> "
-" <column source=\"0\"/> "
-" <grouping></grouping> "
-" </ETableState> "
-"</ETableSpecification>";
-
-static gint
-table_col_count (ETableModel *etm, gpointer data)
-{
- return 1;
-}
-
-static gint
-table_row_count (ETableModel *etm, gpointer data)
-{
- ECompletionView *cv = E_COMPLETION_VIEW (data);
- return cv->choices->len;
-}
-
-static gboolean
-table_is_cell_editable (ETableModel *etm, gint c, gint r, gpointer data)
-{
- return FALSE;
-}
-
-static gpointer
-table_value_at (ETableModel *etm, gint c, gint r, gpointer data)
-{
- ECompletionView *cv = E_COMPLETION_VIEW (data);
- ECompletionMatch *match;
-
- match = g_ptr_array_index (cv->choices, r);
-
- return (gpointer) e_completion_match_get_menu_text (match);
-}
-
-static gchar *
-table_value_to_string (ETableModel *em, gint col, gconstpointer val, gpointer data)
-{
- return (gchar *) val;
-}
-
-static void
-table_click_cb (ETable *et, gint r, gint c, GdkEvent *ev, gpointer data)
-{
- ECompletionView *cv = E_COMPLETION_VIEW (data);
-
- e_completion_view_select (cv, r);
-}
-
-void
-e_completion_view_construct (ECompletionView *cv, ECompletion *completion)
-{
- g_return_if_fail (cv != NULL);
- g_return_if_fail (E_IS_COMPLETION_VIEW (cv));
- g_return_if_fail (completion != NULL);
- g_return_if_fail (E_IS_COMPLETION (completion));
-
- /* Make sure we don't call construct twice. */
- g_return_if_fail (cv->completion == NULL);
-
- GTK_WIDGET_SET_FLAGS (GTK_WIDGET (cv), GTK_CAN_FOCUS);
-
- cv->completion = completion;
- g_object_ref (completion);
-
- cv->begin_signal_id = g_signal_connect (completion,
- "completion_started",
- G_CALLBACK (begin_completion_cb),
- cv);
- cv->comp_signal_id = g_signal_connect (completion,
- "completion_found",
- G_CALLBACK (completion_cb),
- cv);
- cv->end_signal_id = g_signal_connect (completion,
- "completion_finished",
- G_CALLBACK (end_completion_cb),
- cv);
-
- cv->model = e_table_simple_new (table_col_count,
- table_row_count,
- NULL,
-
- table_value_at,
- NULL,
- table_is_cell_editable,
-
- NULL, NULL,
-
- NULL, NULL, NULL, NULL,
- table_value_to_string,
- cv);
-
- cv->table = e_table_scrolled_new (cv->model, NULL, simple_spec, NULL);
- g_object_unref (cv->model);
-
- gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (cv->table), GTK_SHADOW_NONE);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (cv->table), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
-
- gtk_container_add (GTK_CONTAINER (cv), cv->table);
- gtk_widget_show_all (cv->table);
-
- g_signal_connect (e_completion_view_table (cv),
- "click",
- G_CALLBACK (table_click_cb),
- cv);
-
- cv->selection = -1;
-}
-
-GtkWidget *
-e_completion_view_new (ECompletion *completion)
-{
- gpointer p;
-
- g_return_val_if_fail (completion != NULL, NULL);
- g_return_val_if_fail (E_IS_COMPLETION (completion), NULL);
-
- p = g_object_new (E_COMPLETION_VIEW_TYPE, NULL);
-
- e_completion_view_construct (E_COMPLETION_VIEW (p), completion);
-
- return GTK_WIDGET (p);
-}
-
-void
-e_completion_view_connect_keys (ECompletionView *cv, GtkWidget *w)
-{
- g_return_if_fail (cv != NULL);
- g_return_if_fail (E_IS_COMPLETION_VIEW (cv));
- g_return_if_fail (w == NULL || GTK_IS_WIDGET (w));
-
- if (cv->key_widget) {
- g_signal_handler_disconnect (cv->key_widget, cv->key_signal_id);
- g_object_unref (cv->key_widget);
- }
-
- if (w) {
- cv->key_widget = w;
- g_object_ref (w);
-
- cv->key_signal_id = g_signal_connect (w,
- "key_press_event",
- G_CALLBACK (e_completion_view_key_press_handler),
- cv);
- } else {
- cv->key_widget = NULL;
- cv->key_signal_id = 0;
- }
-}
-
-void
-e_completion_view_set_complete_key (ECompletionView *cv, gint keyval)
-{
- g_return_if_fail (cv != NULL);
- g_return_if_fail (E_IS_COMPLETION_VIEW (cv));
-
- cv->complete_key = keyval;
-}
-
-void
-e_completion_view_set_uncomplete_key (ECompletionView *cv, gint keyval)
-{
- g_return_if_fail (cv != NULL);
- g_return_if_fail (E_IS_COMPLETION_VIEW (cv));
-
- cv->uncomplete_key = keyval;
-}
-
-void
-e_completion_view_set_width (ECompletionView *cv, gint width)
-{
- GtkWidget *w;
- gint y, r, dummy, line_height, final_height;
- double drop_room, lines;
-
- g_return_if_fail (cv != NULL);
- g_return_if_fail (E_IS_COMPLETION_VIEW (cv));
- g_return_if_fail (width > 0);
-
- w = GTK_WIDGET (cv);
-
- if (! GTK_WIDGET_REALIZED (w)) {
- gtk_widget_set_usize (w, width, -1);
- return;
- }
-
- /* A Horrible Hack(tm) to figure out the height of a single table row */
-
- for (line_height=5, r=0; r == 0 && line_height < 1000; line_height += 2) {
- dummy = 0;
- e_table_group_compute_location (e_completion_view_table (cv)->group,
- &dummy, &line_height, &r, &dummy);
- }
-
- if (line_height >= 1000) {
- /* Something went wrong, so we make a (possibly very lame) guess */
- line_height = 30;
- }
-
-
- gdk_window_get_origin (w->window, NULL, &y);
- y += w->allocation.y;
-
- lines = 5; /* default maximum */
- lines = MIN (lines, cv->choices->len);
-
- drop_room = (gdk_screen_height () - y) / (double)line_height;
- drop_room = MAX (drop_room, 1);
-
- lines = MIN (lines, drop_room);
-
- /* We reduce the total height by a bit; in practice, this seems to work out well. */
- final_height = (gint) floor (line_height * (0.5 + (float)lines) * 0.97);
- gtk_widget_set_usize (w, width, final_height);
-}
-
-void
-e_completion_view_set_editable (ECompletionView *cv, gboolean x)
-{
- g_return_if_fail (cv != NULL);
- g_return_if_fail (E_IS_COMPLETION_VIEW (cv));
-
- if (x == cv->editable)
- return;
-
- cv->editable = x;
- cv->selection = -1;
- e_completion_view_set_cursor_row (cv, -1);
-}
-
-
diff --git a/widgets/text/e-completion-view.h b/widgets/text/e-completion-view.h
deleted file mode 100644
index 25b2eff645..0000000000
--- a/widgets/text/e-completion-view.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-completion-view.h - A text completion selection widget
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza <miguel@ximian.com>
- * Adapted by Jon Trowbridge <trow@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef E_COMPLETION_VIEW_H
-#define E_COMPLETION_VIEW_H
-
-#include <gtk/gtk.h>
-#include <gal/e-table/e-table.h>
-#include "e-completion.h"
-
-G_BEGIN_DECLS
-
-#define E_COMPLETION_VIEW_TYPE (e_completion_view_get_type ())
-#define E_COMPLETION_VIEW(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_COMPLETION_VIEW_TYPE, ECompletionView))
-#define E_COMPLETION_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), E_COMPLETION_VIEW_TYPE, ECompletionViewClass))
-#define E_IS_COMPLETION_VIEW(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_COMPLETION_VIEW_TYPE))
-#define E_IS_COMPLETION_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_COMPLETION_VIEW_TYPE))
-
-typedef struct _ECompletionView ECompletionView;
-typedef struct _ECompletionViewClass ECompletionViewClass;
-
-struct _ECompletionView {
- GtkEventBox parent;
-
- ETableModel *model;
- GtkWidget *table;
-
- GPtrArray *choices;
-
- ECompletion *completion;
- guint begin_signal_id;
- guint comp_signal_id;
- guint end_signal_id;
-
- GtkWidget *key_widget;
- guint key_signal_id;
-
- gint complete_key;
- gint uncomplete_key;
-
- gboolean have_all_choices;
-
- gboolean editable;
- gint selection;
-
- gint border_width;
-};
-
-struct _ECompletionViewClass {
- GtkEventBoxClass parent_class;
-
- /* Signals */
- void (*nonempty) (ECompletionView *cv);
- void (*added) (ECompletionView *cv);
- void (*full) (ECompletionView *cv);
- void (*browse) (ECompletionView *cv, ECompletionMatch *match);
- void (*unbrowse) (ECompletionView *cv);
- void (*activate) (ECompletionView *cv, ECompletionMatch *match);
-};
-
-GtkType e_completion_view_get_type (void);
-
-void e_completion_view_construct (ECompletionView *cv, ECompletion *completion);
-GtkWidget *e_completion_view_new (ECompletion *completion);
-
-void e_completion_view_connect_keys (ECompletionView *cv, GtkWidget *w);
-
-void e_completion_view_set_complete_key (ECompletionView *cv, gint keyval);
-void e_completion_view_set_uncomplete_key (ECompletionView *cv, gint keyval);
-
-void e_completion_view_set_width (ECompletionView *cv, gint width);
-void e_completion_view_set_editable (ECompletionView *cv, gboolean);
-
-G_END_DECLS
-
-
-#endif /* E_COMPLETION_H */
diff --git a/widgets/text/e-completion.c b/widgets/text/e-completion.c
deleted file mode 100644
index 6e455cb619..0000000000
--- a/widgets/text/e-completion.c
+++ /dev/null
@@ -1,343 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-completion.c - A base class for text completion.
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza <miguel@ximian.com>
- * Adapted by Jon Trowbridge <trow@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <string.h>
-#include <stdio.h>
-#include <gtk/gtk.h>
-#include "e-completion.h"
-#include "gal/util/e-util.h"
-#include "gal/util/e-marshal.h"
-
-enum {
- COMPLETION_STARTED,
- COMPLETION_FOUND,
- COMPLETION_CANCELED,
- COMPLETION_FINISHED,
- LAST_SIGNAL
-};
-
-static guint e_completion_signals[LAST_SIGNAL] = { 0 };
-
-struct _ECompletionPrivate {
- gboolean searching;
- gboolean done_search;
- gchar *search_text;
- GPtrArray *matches;
- gint pos;
- gint limit;
- double min_score, max_score;
-};
-
-static void e_completion_class_init (ECompletionClass *klass);
-static void e_completion_init (ECompletion *complete);
-static void e_completion_dispose (GObject *object);
-
-static void e_completion_add_match (ECompletion *complete, ECompletionMatch *);
-static void e_completion_clear_matches (ECompletion *complete);
-#if 0
-static gboolean e_completion_sort (ECompletion *complete);
-#endif
-
-#define PARENT_TYPE GTK_TYPE_OBJECT
-static GtkObjectClass *parent_class;
-
-
-
-E_MAKE_TYPE (e_completion,
- "ECompletion",
- ECompletion,
- e_completion_class_init,
- e_completion_init,
- PARENT_TYPE)
-
-static void
-e_completion_class_init (ECompletionClass *klass)
-{
- GObjectClass *object_class = (GObjectClass *) klass;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- e_completion_signals[COMPLETION_STARTED] =
- g_signal_new ("completion_started",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ECompletionClass, completion_started),
- NULL, NULL,
- e_marshal_NONE__POINTER_INT_INT,
- G_TYPE_NONE, 3,
- G_TYPE_POINTER, G_TYPE_INT, G_TYPE_INT);
-
- e_completion_signals[COMPLETION_FOUND] =
- g_signal_new ("completion_found",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ECompletionClass, completion_found),
- NULL, NULL,
- e_marshal_NONE__POINTER,
- G_TYPE_NONE, 1,
- G_TYPE_POINTER);
-
- e_completion_signals[COMPLETION_FINISHED] =
- g_signal_new ("completion_finished",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ECompletionClass, completion_finished),
- NULL, NULL,
- e_marshal_NONE__NONE,
- G_TYPE_NONE, 0);
-
- object_class->dispose = e_completion_dispose;
-}
-
-static void
-e_completion_init (ECompletion *complete)
-{
- complete->priv = g_new0 (struct _ECompletionPrivate, 1);
- complete->priv->matches = g_ptr_array_new ();
-}
-
-static void
-e_completion_dispose (GObject *object)
-{
- ECompletion *complete = E_COMPLETION (object);
-
- if (complete->priv) {
- g_free (complete->priv->search_text);
- complete->priv->search_text = NULL;
-
- e_completion_clear_matches (complete);
-
- g_ptr_array_free (complete->priv->matches, TRUE);
- complete->priv->matches = NULL;
-
- g_free (complete->priv);
- complete->priv = NULL;
- }
-
- if (G_OBJECT_CLASS (parent_class)->dispose)
- (G_OBJECT_CLASS (parent_class)->dispose) (object);
-}
-
-static void
-e_completion_add_match (ECompletion *complete, ECompletionMatch *match)
-{
- g_return_if_fail (complete && E_IS_COMPLETION (complete));
- g_return_if_fail (match != NULL);
-
- g_ptr_array_add (complete->priv->matches, match);
-
- if (complete->priv->matches->len == 1) {
-
- complete->priv->min_score = complete->priv->max_score = match->score;
-
- } else {
-
- complete->priv->min_score = MIN (complete->priv->min_score, match->score);
- complete->priv->max_score = MAX (complete->priv->max_score, match->score);
-
- }
-}
-
-static void
-e_completion_clear_matches (ECompletion *complete)
-{
- ECompletionMatch *match;
- GPtrArray *m;
- int i;
-
- g_return_if_fail (E_IS_COMPLETION (complete));
-
- m = complete->priv->matches;
- for (i = 0; i < m->len; i++) {
- match = g_ptr_array_index (m, i);
- e_completion_match_unref (match);
- }
- g_ptr_array_set_size (m, 0);
-
- complete->priv->min_score = 0;
- complete->priv->max_score = 0;
-}
-
-void
-e_completion_begin_search (ECompletion *complete, const gchar *text, gint pos, gint limit)
-{
- ECompletionClass *klass;
-
- g_return_if_fail (complete != NULL);
- g_return_if_fail (E_IS_COMPLETION (complete));
- g_return_if_fail (text != NULL);
-
- klass = E_COMPLETION_CLASS (GTK_OBJECT_GET_CLASS (complete));
-
- g_free (complete->priv->search_text);
- complete->priv->search_text = g_strdup (text);
-
- complete->priv->pos = pos;
- complete->priv->searching = TRUE;
- complete->priv->done_search = FALSE;
-
- e_completion_clear_matches (complete);
-
- complete->priv->limit = limit > 0 ? limit : G_MAXINT;
-
- g_signal_emit (complete, e_completion_signals[COMPLETION_STARTED], 0, text, pos, limit);
- if (klass->request_completion)
- klass->request_completion (complete, text, pos, limit);
-}
-
-gboolean
-e_completion_searching (ECompletion *complete)
-{
- g_return_val_if_fail (complete != NULL, FALSE);
- g_return_val_if_fail (E_IS_COMPLETION (complete), FALSE);
-
- return complete->priv->searching;
-}
-
-const gchar *
-e_completion_search_text (ECompletion *complete)
-{
- g_return_val_if_fail (complete != NULL, NULL);
- g_return_val_if_fail (E_IS_COMPLETION (complete), NULL);
-
- return complete->priv->search_text;
-}
-
-gint
-e_completion_search_text_pos (ECompletion *complete)
-{
- g_return_val_if_fail (complete != NULL, -1);
- g_return_val_if_fail (E_IS_COMPLETION (complete), -1);
-
- return complete->priv->pos;
-}
-
-gint
-e_completion_match_count (ECompletion *complete)
-{
- g_return_val_if_fail (complete != NULL, 0);
- g_return_val_if_fail (E_IS_COMPLETION (complete), 0);
-
- return complete->priv->matches->len;
-}
-
-void
-e_completion_foreach_match (ECompletion *complete, ECompletionMatchFn fn, gpointer closure)
-{
- GPtrArray *m;
- int i;
-
- g_return_if_fail (complete != NULL);
- g_return_if_fail (E_IS_COMPLETION (complete));
-
- if (fn == NULL)
- return;
-
- m = complete->priv->matches;
- for (i = 0; i < m->len; i++) {
- ECompletionMatch *match = g_ptr_array_index (m, i);
- fn (match, closure);
- }
-}
-
-ECompletion *
-e_completion_new (void)
-{
- return E_COMPLETION (g_object_new (E_COMPLETION_TYPE, NULL));
-}
-
-#if 0
-static gboolean
-e_completion_sort (ECompletion *complete)
-{
- GPtrArray *m;
- int i;
- GList *sort_list = NULL, *j;
- gboolean diff;
-
- m = complete->priv->matches;
-
- for (i = 0; i < m->len; i++)
- sort_list = g_list_append (sort_list,
- g_ptr_array_index (m, i));
-
- sort_list = g_list_sort (sort_list, (GCompareFunc) e_completion_match_compare_alpha);
-
- diff = FALSE;
-
- for (i=0, j=sort_list; i < m->len; i++, j = g_list_next (j)) {
- if (g_ptr_array_index (m, i) == j->data)
- continue;
-
- diff = TRUE;
- g_ptr_array_index (m, i) = j->data;
- }
-
- g_list_free (sort_list);
-
- return diff;
-}
-#endif
-
-void
-e_completion_found_match (ECompletion *complete, ECompletionMatch *match)
-{
- g_return_if_fail (complete);
- g_return_if_fail (E_IS_COMPLETION (complete));
- g_return_if_fail (match != NULL);
-
- if (! complete->priv->searching) {
- g_warning ("e_completion_found_match(...,\"%s\",...) called outside of a search", match->match_text);
- return;
- }
-
- /* For now, do nothing when we hit the limit --- just don't
- * announce the incoming matches. */
- if (complete->priv->matches->len >= complete->priv->limit) {
- e_completion_match_unref (match);
- return;
- }
-
- e_completion_add_match (complete, match);
-
- g_signal_emit (complete, e_completion_signals[COMPLETION_FOUND], 0, match);
-}
-
-void
-e_completion_end_search (ECompletion *comp)
-{
- g_return_if_fail (comp != NULL);
- g_return_if_fail (E_IS_COMPLETION (comp));
- g_return_if_fail (comp->priv->searching);
-
- if (E_COMPLETION_CLASS (GTK_OBJECT_GET_CLASS (comp))->end_completion) {
- E_COMPLETION_CLASS (GTK_OBJECT_GET_CLASS (comp))->end_completion (comp);
- }
- g_signal_emit (comp, e_completion_signals[COMPLETION_FINISHED], 0);
-
- comp->priv->searching = FALSE;
- comp->priv->done_search = TRUE;
-}
-
diff --git a/widgets/text/e-completion.h b/widgets/text/e-completion.h
deleted file mode 100644
index 74976e579c..0000000000
--- a/widgets/text/e-completion.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-completion.h - A base class for text completion.
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Miguel de Icaza <miguel@ximian.com>
- * Adapted by Jon Trowbridge <trow@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef E_COMPLETION_H
-#define E_COMPLETION_H
-
-#include <gtk/gtkobject.h>
-#include "e-completion-match.h"
-
-G_BEGIN_DECLS
-
-#define E_COMPLETION_TYPE (e_completion_get_type ())
-#define E_COMPLETION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_COMPLETION_TYPE, ECompletion))
-#define E_COMPLETION_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), E_COMPLETION_TYPE, ECompletionClass))
-#define E_IS_COMPLETION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_COMPLETION_TYPE))
-#define E_IS_COMPLETION_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_COMPLETION_TYPE))
-
-typedef struct _ECompletion ECompletion;
-typedef struct _ECompletionClass ECompletionClass;
-struct _ECompletionPrivate;
-
-typedef gboolean (*ECompletionRefineFn) (ECompletion *, ECompletionMatch *, const gchar *search_text, gint pos);
-
-struct _ECompletion {
- GtkObject parent;
-
- struct _ECompletionPrivate *priv;
-};
-
-struct _ECompletionClass {
- GtkObjectClass parent_class;
-
- /* virtual functions */
- void (*request_completion) (ECompletion *comp, const gchar *search_text, gint pos, gint limit);
- void (*end_completion) (ECompletion *comp);
-
- /* Signals */
- void (*completion_started) (ECompletion *comp, const gchar *search_text, gint pos, gint limit);
-
- void (*completion_found) (ECompletion *comp, ECompletionMatch *match);
-
- void (*completion_finished) (ECompletion *comp);
-};
-
-GtkType e_completion_get_type (void);
-
-void e_completion_begin_search (ECompletion *comp, const gchar *text, gint pos, gint limit);
-
-gboolean e_completion_searching (ECompletion *comp);
-gboolean e_completion_refining (ECompletion *comp);
-const gchar *e_completion_search_text (ECompletion *comp);
-gint e_completion_search_text_pos (ECompletion *comp);
-gint e_completion_match_count (ECompletion *comp);
-void e_completion_foreach_match (ECompletion *comp, ECompletionMatchFn fn, gpointer user_data);
-
-ECompletion *e_completion_new (void);
-
-
-
-/* These functions should only be called by derived classes or search callbacks,
- or very bad things might happen. */
-
-void e_completion_found_match (ECompletion *comp, ECompletionMatch *);
-void e_completion_end_search (ECompletion *comp);
-
-G_END_DECLS
-
-
-#endif /* E_COMPLETION_H */
-
diff --git a/widgets/text/e-entry-test.c b/widgets/text/e-entry-test.c
deleted file mode 100644
index d30ba20a9f..0000000000
--- a/widgets/text/e-entry-test.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-entry-test.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-
-#include <gnome.h>
-#include "e-entry.h"
-#include <gal/util/e-i18n.h>
-
-static void destroy_callback(gpointer data, GObject *where_object_was)
-{
- exit(0);
-}
-
-#if 0
-static void about_callback( GtkWidget *widget, gpointer data )
-{
-
- const gchar *authors[] =
- {
- "Christopher James Lahey <clahey@umich.edu>",
- NULL
- };
-
- GtkWidget *about =
- gnome_about_new ( _( "Minicard Test" ), VERSION,
- _( "Copyright (C) 2000, Helix Code, Inc." ),
- authors,
- _( "This should test the minicard canvas item" ),
- NULL);
- gtk_widget_show (about);
-}
-#endif
-
-int main( int argc, char *argv[] )
-{
- GtkWidget *app;
- GtkWidget *entry;
-
- /* bindtextdomain (PACKAGE, GNOMELOCALEDIR);
- textdomain (PACKAGE);*/
-
- gnome_init( "EEntry Test", VERSION, argc, argv);
- app = gnome_app_new("EEntry Test", NULL);
-
- entry = e_entry_new();
- g_object_set(entry,
- "editable", TRUE,
- "use_ellipsis", TRUE,
- NULL);
- gnome_app_set_contents( GNOME_APP( app ), entry );
-
- /* Connect the signals */
- g_object_weak_ref (G_OBJECT (app),
- destroy_callback, app);
-
- gtk_widget_show_all( app );
-
- gtk_main();
-
- /* Not reached. */
- return 0;
-}
diff --git a/widgets/text/e-entry.c b/widgets/text/e-entry.c
deleted file mode 100644
index f66a066921..0000000000
--- a/widgets/text/e-entry.c
+++ /dev/null
@@ -1,1392 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-entry.c - An EText-based entry widget
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Jon Trowbridge <trow@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <math.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <ctype.h>
-#include <stdio.h>
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtksignal.h>
-#include <gtk/gtktypebuiltins.h>
-#include <libxml/parser.h>
-#include <libgnomecanvas/gnome-canvas.h>
-#include "gal/util/e-util.h"
-#include "gal/util/e-i18n.h"
-#include "gal/widgets/e-canvas.h"
-#include "gal/widgets/e-canvas-utils.h"
-#include "e-completion-view.h"
-#include "e-text.h"
-#include "e-entry.h"
-
-#define MIN_ENTRY_WIDTH 150
-#define INNER_BORDER 2
-
-#define d(x)
-
-#define PARENT_TYPE gtk_table_get_type ()
-
-static GtkObjectClass *parent_class;
-
-enum {
- E_ENTRY_CHANGED,
- E_ENTRY_ACTIVATE,
- E_ENTRY_POPULATE_POPUP,
- E_ENTRY_COMPLETION_POPUP,
- E_ENTRY_LAST_SIGNAL
-};
-
-static guint e_entry_signals[E_ENTRY_LAST_SIGNAL] = { 0 };
-
-/* Object argument IDs */
-enum {
- PROP_0,
- PROP_MODEL,
- PROP_EVENT_PROCESSOR,
- PROP_TEXT,
- PROP_FONT,
- PROP_FONTSET,
- PROP_FONT_GDK,
- PROP_ANCHOR,
- PROP_JUSTIFICATION,
- PROP_X_OFFSET,
- PROP_Y_OFFSET,
- PROP_FILL_COLOR,
- PROP_FILL_COLOR_GDK,
- PROP_FILL_COLOR_RGBA,
- PROP_FILL_STIPPLE,
- PROP_EDITABLE,
- PROP_USE_ELLIPSIS,
- PROP_ELLIPSIS,
- PROP_LINE_WRAP,
- PROP_BREAK_CHARACTERS,
- PROP_MAX_LINES,
- PROP_ALLOW_NEWLINES,
- PROP_DRAW_BORDERS,
- PROP_DRAW_BACKGROUND,
- PROP_DRAW_BUTTON,
- PROP_EMULATE_LABEL_RESIZE,
- PROP_CURSOR_POS
-};
-
-typedef struct _EEntryPrivate EEntryPrivate;
-struct _EEntryPrivate {
- GtkJustification justification;
-
- guint changed_proxy_tag;
- guint activate_proxy_tag;
- guint populate_popup_proxy_tag;
- /* Data related to completions */
- ECompletion *completion;
- EEntryCompletionHandler handler;
- GtkWidget *completion_view;
- guint nonempty_signal_id;
- guint added_signal_id;
- guint full_signal_id;
- guint browse_signal_id;
- guint unbrowse_signal_id;
- guint activate_signal_id;
- GtkWidget *completion_view_popup;
- gboolean popup_is_visible;
- gchar *pre_browse_text;
- gint completion_delay;
- guint completion_delay_tag;
- gboolean ptr_grab;
- gboolean changed_since_keypress;
- guint changed_since_keypress_tag;
- gint last_completion_pos;
-
- guint draw_borders : 1;
- guint emulate_label_resize : 1;
- guint have_set_transient : 1;
- guint item_chosen : 1;
- gint last_width;
-};
-
-static gboolean e_entry_is_empty (EEntry *entry);
-static void e_entry_show_popup (EEntry *entry, gboolean x);
-static void e_entry_start_completion (EEntry *entry);
-static void e_entry_start_delayed_completion (EEntry *entry, gint delay);
-static void e_entry_cancel_delayed_completion (EEntry *entry);
-
-static void
-canvas_size_allocate (GtkWidget *widget, GtkAllocation *alloc,
- EEntry *entry)
-{
- gnome_canvas_set_scroll_region (entry->canvas,
- 0, 0, alloc->width, alloc->height);
- g_object_set (entry->item,
- "clip_width", (double) (alloc->width),
- "clip_height", (double) (alloc->height),
- NULL);
-
- switch (entry->priv->justification) {
- case GTK_JUSTIFY_RIGHT:
- e_canvas_item_move_absolute(GNOME_CANVAS_ITEM(entry->item),
- alloc->width, 0);
- break;
- case GTK_JUSTIFY_CENTER:
- e_canvas_item_move_absolute(GNOME_CANVAS_ITEM(entry->item),
- alloc->width / 2, 0);
- break;
- default:
- e_canvas_item_move_absolute(GNOME_CANVAS_ITEM(entry->item),
- 0, 0);
- break;
- }
-}
-
-#if 0
-static void
-get_borders (EEntry *entry,
- gint *xborder,
- gint *yborder)
-{
- GtkWidget *widget = GTK_WIDGET (entry);
- gint focus_width;
- gboolean interior_focus;
-
- gtk_widget_style_get (widget,
- "interior-focus", &interior_focus,
- "focus-line-width", &focus_width,
- NULL);
-
- *xborder = widget->style->xthickness;
- *yborder = widget->style->ythickness;
-
- if (!interior_focus)
- {
- *xborder += focus_width;
- *yborder += focus_width;
- }
-}
-#endif
-
-static void
-canvas_size_request (GtkWidget *widget, GtkRequisition *requisition,
- EEntry *entry)
-{
- int xthick, ythick;
- PangoContext *context;
- PangoFontMetrics *metrics;
-
- g_return_if_fail (widget != NULL);
- g_return_if_fail (GNOME_IS_CANVAS (widget));
- g_return_if_fail (requisition != NULL);
-
- if (entry->priv->draw_borders) {
- /* get_borders (entry, &xthick, &ythick); */
- xthick = ythick = 3;
- } else {
- xthick = ythick = 0;
- }
-
- if (entry->priv->emulate_label_resize) {
- gdouble width;
- g_object_get (entry->item,
- "text_width", &width,
- NULL);
- requisition->width = 2*xthick + width;
- } else {
- requisition->width = MIN_ENTRY_WIDTH + 2*xthick;
- }
- if (entry->priv->last_width != requisition->width)
- gtk_widget_queue_resize (widget);
- entry->priv->last_width = requisition->width;
-
- d(g_print("%s: width = %d\n", __FUNCTION__, requisition->width));
-
- context = gtk_widget_get_pango_context (widget);
- metrics = pango_context_get_metrics (context, gtk_widget_get_style (widget)->font_desc,
- pango_context_get_language (context));
-
- requisition->height = (PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) +
- pango_font_metrics_get_descent (metrics)) +
- 2 * ythick);
-
- pango_font_metrics_unref (metrics);
-}
-
-static gint
-canvas_focus_in_event (GtkWidget *widget, GdkEventFocus *focus, EEntry *entry)
-{
- if (entry->canvas->focused_item != GNOME_CANVAS_ITEM(entry->item))
- gnome_canvas_item_grab_focus(GNOME_CANVAS_ITEM(entry->item));
-
- return FALSE;
-}
-
-static void
-e_entry_text_keypress (EText *text, guint keyval, guint state, EEntry *entry)
-{
- if (entry->priv->changed_since_keypress_tag) {
- gtk_timeout_remove (entry->priv->changed_since_keypress_tag);
- entry->priv->changed_since_keypress_tag = 0;
- }
-
- if (entry->priv->changed_since_keypress
- || (entry->priv->popup_is_visible && e_entry_get_position (entry) != entry->priv->last_completion_pos)) {
- if (e_entry_is_empty (entry)) {
- e_entry_cancel_delayed_completion (entry);
- e_entry_show_popup (entry, FALSE);
- } else if (entry->priv->completion_delay >= 0) {
- int delay;
- delay = entry->priv->popup_is_visible
- ? 1
- : entry->priv->completion_delay;
- e_entry_start_delayed_completion (entry, delay);
- }
- }
- entry->priv->changed_since_keypress = FALSE;
-}
-
-static gint
-changed_since_keypress_timeout_fn (gpointer user_data)
-{
- EEntry *entry = E_ENTRY (user_data);
- entry->priv->changed_since_keypress = FALSE;
- entry->priv->changed_since_keypress_tag = 0;
- return FALSE;
-}
-
-static void
-proxy_changed (EText *text, EEntry *entry)
-{
- if (entry->priv->changed_since_keypress_tag)
- gtk_timeout_remove (entry->priv->changed_since_keypress_tag);
- entry->priv->changed_since_keypress = TRUE;
- entry->priv->changed_since_keypress_tag = gtk_timeout_add (20, changed_since_keypress_timeout_fn, entry);
-
- g_signal_emit (entry, e_entry_signals [E_ENTRY_CHANGED], 0);
-}
-
-static void
-proxy_activate (EText *text, EEntry *entry)
-{
- g_signal_emit (entry, e_entry_signals [E_ENTRY_ACTIVATE], 0);
-}
-
-static void
-proxy_populate_popup (EText *text, GdkEventButton *ev, gint pos, GtkWidget *menu, EEntry *entry)
-{
- g_signal_emit (entry, e_entry_signals [E_ENTRY_POPULATE_POPUP], 0, ev, pos, menu);
-}
-
-static void
-e_entry_init (GtkObject *object)
-{
- EEntry *entry = E_ENTRY (object);
- GtkTable *gtk_table = GTK_TABLE (object);
-
- entry->priv = g_new0 (EEntryPrivate, 1);
-
- entry->priv->emulate_label_resize = FALSE;
-
- entry->canvas = GNOME_CANVAS (e_canvas_new ());
-
- g_signal_connect (entry->canvas,
- "size_allocate",
- G_CALLBACK (canvas_size_allocate),
- entry);
-
- g_signal_connect (entry->canvas,
- "size_request",
- G_CALLBACK (canvas_size_request),
- entry);
-
- g_signal_connect (entry->canvas,
- "focus_in_event",
- G_CALLBACK(canvas_focus_in_event),
- entry);
-
- entry->priv->draw_borders = TRUE;
- entry->priv->last_width = -1;
-
- entry->item = E_TEXT(gnome_canvas_item_new(
- gnome_canvas_root (entry->canvas),
- e_text_get_type(),
- "clip", TRUE,
- "fill_clip_rectangle", TRUE,
- "anchor", GTK_ANCHOR_NW,
- "draw_borders", TRUE,
- "draw_background", TRUE,
- "draw_button", FALSE,
- "max_lines", 1,
- "editable", TRUE,
- "allow_newlines", FALSE,
- "im_context", E_CANVAS (entry->canvas)->im_context,
- "handle_popup", TRUE,
- NULL));
-
- g_signal_connect (entry->item,
- "keypress",
- G_CALLBACK (e_entry_text_keypress),
- entry);
-
- entry->priv->justification = GTK_JUSTIFY_LEFT;
- gtk_table_attach (gtk_table, GTK_WIDGET (entry->canvas),
- 0, 1, 0, 1,
- GTK_EXPAND | GTK_FILL | GTK_SHRINK,
- GTK_EXPAND | GTK_FILL | GTK_SHRINK,
- 0, 0);
- gtk_widget_show (GTK_WIDGET (entry->canvas));
-
- /*
- * Proxy functions: we proxy the changed and activate signals
- * from the item to ourselves
- */
- entry->priv->changed_proxy_tag = g_signal_connect (entry->item,
- "changed",
- G_CALLBACK (proxy_changed),
- entry);
- entry->priv->activate_proxy_tag = g_signal_connect (entry->item,
- "activate",
- G_CALLBACK (proxy_activate),
- entry);
- entry->priv->populate_popup_proxy_tag = g_signal_connect (entry->item,
- "populate_popup",
- G_CALLBACK (proxy_populate_popup),
- entry);
-
- entry->priv->completion_delay = 1;
-}
-
-/**
- * e_entry_construct
- *
- * Constructs the given EEntry.
- *
- **/
-void
-e_entry_construct (EEntry *entry)
-{
- /* Do nothing */
-}
-
-
-/**
- * e_entry_new
- *
- * Creates a new EEntry.
- *
- * Returns: The new EEntry
- **/
-GtkWidget *
-e_entry_new (void)
-{
- EEntry *entry;
- entry = g_object_new (E_ENTRY_TYPE, NULL);
- e_entry_construct (entry);
-
- return GTK_WIDGET (entry);
-}
-
-const gchar *
-e_entry_get_text (EEntry *entry)
-{
- g_return_val_if_fail (entry != NULL && E_IS_ENTRY (entry), NULL);
-
- return e_text_model_get_text (entry->item->model);
-}
-
-void
-e_entry_set_text (EEntry *entry, const gchar *txt)
-{
- g_return_if_fail (entry != NULL && E_IS_ENTRY (entry));
-
- e_text_model_set_text (entry->item->model, txt);
-}
-
-static void
-e_entry_set_text_quiet (EEntry *entry, const gchar *txt)
-{
- g_return_if_fail (entry != NULL && E_IS_ENTRY (entry));
-
- g_signal_handler_block (entry->item, entry->priv->changed_proxy_tag);
- e_entry_set_text (entry, txt);
- g_signal_handler_unblock (entry->item, entry->priv->changed_proxy_tag);
-}
-
-
-void
-e_entry_set_editable (EEntry *entry, gboolean am_i_editable)
-{
- g_return_if_fail (entry != NULL && E_IS_ENTRY (entry));
-
- g_object_set (entry->item, "editable", am_i_editable, NULL);
-}
-
-gint
-e_entry_get_position (EEntry *entry)
-{
- g_return_val_if_fail (entry != NULL && E_IS_ENTRY (entry), -1);
-
- return entry->item->selection_start;
-}
-
-void
-e_entry_set_position (EEntry *entry, gint pos)
-{
- g_return_if_fail (entry != NULL && E_IS_ENTRY (entry));
- if (pos < 0)
- pos = 0;
- else if (pos > e_text_model_get_text_length (entry->item->model))
- pos = e_text_model_get_text_length (entry->item->model);
-
- entry->item->selection_start = entry->item->selection_end = pos;
-}
-
-void
-e_entry_select_region (EEntry *entry, gint pos1, gint pos2)
-{
- gint len;
-
- g_return_if_fail (entry != NULL && E_IS_ENTRY (entry));
-
- len = e_text_model_get_text_length (entry->item->model);
- pos1 = CLAMP (pos1, 0, len);
- pos2 = CLAMP (pos2, 0, len);
-
- entry->item->selection_start = MIN (pos1, pos2);
- entry->item->selection_end = MAX (pos1, pos2);
-}
-
-/** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **/
-
-/*** Completion-related code ***/
-
-static gboolean
-e_entry_is_empty (EEntry *entry)
-{
- const gchar *txt = e_entry_get_text (entry);
-
- if (txt == NULL)
- return TRUE;
-
- while (*txt) {
- if (!isspace ((gint) *txt))
- return FALSE;
- ++txt;
- }
-
- return TRUE;
-}
-
-static void
-e_entry_show_popup (EEntry *entry, gboolean visible)
-{
- GtkWidget *pop = entry->priv->completion_view_popup;
-
- if (pop == NULL)
- return;
-
- /* The async query can give us a result after the focus was
- lost by the widget. In that case, we don't want to show
- the pop-up.
-
- but only return early if we're popping *up* the completion
- view. If we're trying to pop down the view, continue on
- regardless of whether or not the canvas has focus. */
- if (/*visible && */! GTK_WIDGET_HAS_FOCUS (entry->canvas))
- return;
-
- if (visible) {
- GtkAllocation *dim = &(GTK_WIDGET (entry)->allocation);
- gint x, y, xo, yo, fudge;
- const GdkEventMask grab_mask = (GdkEventMask)GDK_BUTTON_PRESS_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_RELEASE_MASK;
-
- /* Figure out where to put our popup. */
- gdk_window_get_origin (GTK_WIDGET (entry)->window, &xo, &yo);
- x = xo + dim->x;
- y = yo + dim->height + dim->y;
-
- fudge = 1;
- y -= fudge;
-
- gtk_widget_set_uposition (pop, x, y);
- e_completion_view_set_width (E_COMPLETION_VIEW (entry->priv->completion_view), dim->width);
-
- gtk_widget_set_sensitive(pop, TRUE);
- gtk_widget_show (pop);
-
-
- if (getenv ("GAL_E_ENTRY_NO_GRABS_HACK") == NULL && !entry->priv->ptr_grab) {
- entry->priv->ptr_grab = (0 == gdk_pointer_grab (GTK_WIDGET (entry->priv->completion_view)->window, TRUE,
- grab_mask, NULL, NULL, GDK_CURRENT_TIME));
- if (entry->priv->ptr_grab) {
- gtk_grab_add (GTK_WIDGET (entry->priv->completion_view));
- }
- }
-
-
- } else {
-
- gtk_widget_hide (pop);
- /* hack to force the popup to lose focus, which it gets if you click on it */
- gtk_widget_set_sensitive(pop, FALSE);
-
- if (entry->priv->ptr_grab) {
- gdk_pointer_ungrab (GDK_CURRENT_TIME);
- gtk_grab_remove (GTK_WIDGET (entry->priv->completion_view));
- }
-
- entry->priv->ptr_grab = FALSE;
-
- entry->priv->last_completion_pos = -1;
- }
-
- e_completion_view_set_editable (E_COMPLETION_VIEW (entry->priv->completion_view), visible);
-
- if (entry->priv->popup_is_visible != visible) {
- entry->priv->popup_is_visible = visible;
- g_signal_emit (entry, e_entry_signals[E_ENTRY_COMPLETION_POPUP], 0, (gint) visible);
- }
-}
-
-static void
-e_entry_start_completion (EEntry *entry)
-{
- if (entry->priv->completion == NULL)
- return;
-
- if (e_entry_is_empty (entry))
- return;
-
- entry->priv->item_chosen = FALSE;
-
- e_completion_begin_search (entry->priv->completion,
- e_entry_get_text (entry),
- entry->priv->last_completion_pos = e_entry_get_position (entry),
- 0); /* No limit. Probably a bad idea. */
-}
-
-static gboolean
-start_delayed_cb (gpointer user_data)
-{
- EEntry *entry = E_ENTRY (user_data);
- entry->priv->completion_delay_tag = 0;
- e_entry_start_completion (entry);
- return FALSE;
-}
-
-static void
-e_entry_start_delayed_completion (EEntry *entry, gint delay)
-{
- if (delay < 0)
- return;
-
- e_entry_cancel_delayed_completion (entry);
- entry->priv->completion_delay_tag = gtk_timeout_add (MAX (delay, 1), start_delayed_cb, entry);
-}
-
-static void
-e_entry_cancel_delayed_completion (EEntry *entry)
-{
- if (entry->priv->completion == NULL)
- return;
-
- if (entry->priv->completion_delay_tag) {
- gtk_timeout_remove (entry->priv->completion_delay_tag);
- entry->priv->completion_delay_tag = 0;
- }
-}
-
-static void
-nonempty_cb (ECompletionView *view, gpointer user_data)
-{
- EEntry *entry = E_ENTRY (user_data);
-
- e_entry_show_popup (entry, TRUE);
-}
-
-static void
-full_cb (ECompletionView *view, gpointer user_data)
-{
- EEntry *entry = E_ENTRY (user_data);
- gboolean show;
-
- show = GTK_WIDGET_HAS_FOCUS (GTK_WIDGET (entry->canvas)) && view->choices->len > 0 && !entry->priv->item_chosen;
- e_entry_show_popup (entry, show);
-}
-
-static void
-browse_cb (ECompletionView *view, ECompletionMatch *match, gpointer user_data)
-{
- EEntry *entry = E_ENTRY (user_data);
-
- if (match == NULL) {
- /* Requesting a completion. */
- e_entry_start_completion (entry);
- return;
- }
-
- if (entry->priv->pre_browse_text == NULL)
- entry->priv->pre_browse_text = g_strdup (e_entry_get_text (entry));
-
- /* If there is no other handler in place, echo the selected completion in
- the entry. */
- if (entry->priv->handler == NULL)
- e_entry_set_text_quiet (entry, e_completion_match_get_match_text (match));
-}
-
-static void
-unbrowse_cb (ECompletionView *view, gpointer user_data)
-{
- EEntry *entry = E_ENTRY (user_data);
-
- if (entry->priv->pre_browse_text) {
-
- if (entry->priv->handler == NULL)
- e_entry_set_text_quiet (entry, entry->priv->pre_browse_text);
-
- g_free (entry->priv->pre_browse_text);
- entry->priv->pre_browse_text = NULL;
- }
-
- e_entry_show_popup (entry, FALSE);
-}
-
-static void
-activate_cb (ECompletionView *view, ECompletionMatch *match, gpointer user_data)
-{
- EEntry *entry = E_ENTRY (user_data);
-
- e_entry_cancel_delayed_completion (entry);
-
- g_free (entry->priv->pre_browse_text);
- entry->priv->pre_browse_text = NULL;
- e_entry_show_popup (entry, FALSE);
-
- if (entry->priv->handler)
- entry->priv->handler (entry, match);
- else
- e_entry_set_text (entry, match->match_text);
-
- entry->priv->item_chosen = TRUE;
-
- e_entry_cancel_delayed_completion (entry);
-}
-
-void
-e_entry_enable_completion (EEntry *entry, ECompletion *completion)
-{
- g_return_if_fail (entry != NULL && E_IS_ENTRY (entry));
- g_return_if_fail (completion != NULL && E_IS_COMPLETION (completion));
-
- e_entry_enable_completion_full (entry, completion, -1, NULL);
-}
-
-static void
-button_press_cb (GtkWidget *w, GdkEvent *ev, gpointer user_data)
-{
- EEntry *entry = E_ENTRY (user_data);
- GtkWidget *child;
-
- /* Bail out if our click happened inside of our widget. */
- child = gtk_get_event_widget (ev);
- if (child != w) {
- while (child) {
- if (child == w)
- return;
- child = child->parent;
- }
- }
-
- /* Treat this as an unbrowse */
- unbrowse_cb (E_COMPLETION_VIEW (w), entry);
-}
-
-static void
-cancel_completion_cb (ETextModel *model, gpointer user_data)
-{
- EEntry *entry = E_ENTRY (user_data);
-
- /* If we get the signal from the underlying text model, unbrowse.
- This usually means that the text model itself has done some
- sort of completion, or has otherwise transformed its contents
- in some way that would render any previous completion invalid. */
- unbrowse_cb (E_COMPLETION_VIEW (entry->priv->completion_view), entry);
-}
-
-static gint
-key_press_cb (GtkWidget *w, GdkEventKey *ev, gpointer user_data)
-{
- gint rv = 0;
- /* Forward signal */
- g_signal_emit_by_name (user_data, "key_press_event", ev, &rv);
- return rv;
-}
-
-static gint
-key_release_cb (GtkWidget *w, GdkEventKey *ev, gpointer user_data)
-{
- gint rv = 0;
- /* Forward signal */
- g_signal_emit_by_name (user_data, "key_release_event", ev, &rv);
- return rv;
-}
-
-static void
-e_entry_make_completion_window_transient (EEntry *entry)
-{
- GtkWidget *w;
-
- if (entry->priv->have_set_transient || entry->priv->completion_view_popup == NULL)
- return;
-
- w = GTK_WIDGET (entry)->parent;
- while (w && ! GTK_IS_WINDOW (w))
- w = w->parent;
-
- if (w) {
- gtk_window_set_transient_for (GTK_WINDOW (entry->priv->completion_view_popup),
- GTK_WINDOW (w));
- entry->priv->have_set_transient = 1;
- }
-}
-
-void
-e_entry_enable_completion_full (EEntry *entry, ECompletion *completion, gint delay, EEntryCompletionHandler handler)
-{
- g_return_if_fail (entry != NULL && E_IS_ENTRY (entry));
- g_return_if_fail (completion != NULL && E_IS_COMPLETION (completion));
-
- /* For now, completion can't be changed mid-stream. */
- g_return_if_fail (entry->priv->completion == NULL);
-
- entry->priv->completion = completion;
- g_object_ref (completion);
- gtk_object_sink (GTK_OBJECT (completion));
-
- entry->priv->completion_delay = delay;
- entry->priv->handler = handler;
-
- entry->priv->completion_view = e_completion_view_new (completion);
- /* Make the up and down keys enable and disable completions. */
- e_completion_view_set_complete_key (E_COMPLETION_VIEW (entry->priv->completion_view), GDK_Down);
- e_completion_view_set_uncomplete_key (E_COMPLETION_VIEW (entry->priv->completion_view), GDK_Up);
-
- g_signal_connect_after (entry->priv->completion_view,
- "button_press_event",
- G_CALLBACK (button_press_cb),
- entry);
-
- entry->priv->nonempty_signal_id = g_signal_connect (entry->priv->completion_view,
- "nonempty",
- G_CALLBACK (nonempty_cb),
- entry);
-
- entry->priv->full_signal_id = g_signal_connect (entry->priv->completion_view,
- "full",
- G_CALLBACK (full_cb),
- entry);
-
- entry->priv->browse_signal_id = g_signal_connect (entry->priv->completion_view,
- "browse",
- G_CALLBACK (browse_cb),
- entry);
-
- entry->priv->unbrowse_signal_id = g_signal_connect (entry->priv->completion_view,
- "unbrowse",
- G_CALLBACK (unbrowse_cb),
- entry);
-
- entry->priv->activate_signal_id = g_signal_connect (entry->priv->completion_view,
- "activate",
- G_CALLBACK (activate_cb),
- entry);
-
- entry->priv->completion_view_popup = gtk_window_new (GTK_WINDOW_POPUP);
-
- e_entry_make_completion_window_transient (entry);
-
- g_signal_connect (entry->item->model,
- "cancel_completion",
- G_CALLBACK (cancel_completion_cb),
- entry);
-
- g_signal_connect (entry->priv->completion_view_popup,
- "key_press_event",
- G_CALLBACK (key_press_cb),
- entry->canvas);
- g_signal_connect (entry->priv->completion_view_popup,
- "key_release_event",
- G_CALLBACK (key_release_cb),
- entry->canvas);
-
- e_completion_view_connect_keys (E_COMPLETION_VIEW (entry->priv->completion_view),
- GTK_WIDGET (entry->canvas));
-
- g_object_ref (entry->priv->completion_view_popup);
- gtk_object_sink (GTK_OBJECT (entry->priv->completion_view_popup));
- gtk_window_set_policy (GTK_WINDOW (entry->priv->completion_view_popup), TRUE, TRUE, TRUE);
- gtk_container_add (GTK_CONTAINER (entry->priv->completion_view_popup), entry->priv->completion_view);
- gtk_widget_show (entry->priv->completion_view);
-}
-
-gboolean
-e_entry_completion_popup_is_visible (EEntry *entry)
-{
- g_return_val_if_fail (E_IS_ENTRY (entry), FALSE);
-
- return entry->priv->popup_is_visible;
-}
-
-/** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **/
-
-static void
-et_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
- EEntry *entry = E_ENTRY (object);
- GtkObject *item = GTK_OBJECT (entry->item);
-
- switch (prop_id){
- case PROP_MODEL:
- g_object_get_property (G_OBJECT (item), "model", value);
- break;
- case PROP_EVENT_PROCESSOR:
- g_object_get_property (G_OBJECT (item), "event_processor", value);
- break;
- case PROP_TEXT:
- g_object_get_property (G_OBJECT (item), "text", value);
- break;
-
- case PROP_FONT_GDK:
- g_object_get_property (G_OBJECT (item), "font_gdk", value);
- break;
-
- case PROP_JUSTIFICATION:
- g_object_get_property (G_OBJECT (item), "justification", value);
- break;
-
- case PROP_FILL_COLOR_GDK:
- g_object_get_property (G_OBJECT (item), "fill_color_gdk", value);
- break;
-
- case PROP_FILL_COLOR_RGBA:
- g_object_get_property (G_OBJECT (item), "fill_color_rgba", value);
- break;
-
- case PROP_FILL_STIPPLE:
- g_object_get_property (G_OBJECT (item), "fill_stiple", value);
- break;
-
- case PROP_EDITABLE:
- g_object_get_property (G_OBJECT (item), "editable", value);
- break;
-
- case PROP_USE_ELLIPSIS:
- g_object_get_property (G_OBJECT (item), "use_ellipsis", value);
- break;
-
- case PROP_ELLIPSIS:
- g_object_get_property (G_OBJECT (item), "ellipsis", value);
- break;
-
- case PROP_LINE_WRAP:
- g_object_get_property (G_OBJECT (item), "line_wrap", value);
- break;
-
- case PROP_BREAK_CHARACTERS:
- g_object_get_property (G_OBJECT (item), "break_characters", value);
- break;
-
- case PROP_MAX_LINES:
- g_object_get_property (G_OBJECT (item), "max_lines", value);
- break;
- case PROP_ALLOW_NEWLINES:
- g_object_get_property (G_OBJECT (item), "allow_newlines", value);
- break;
-
- case PROP_DRAW_BORDERS:
- g_value_set_boolean (value, entry->priv->draw_borders);
- break;
-
- case PROP_DRAW_BACKGROUND:
- g_object_get_property (G_OBJECT (item), "draw_background", value);
- break;
-
- case PROP_DRAW_BUTTON:
- g_object_get_property (G_OBJECT (item), "draw_button", value);
- break;
-
- case PROP_EMULATE_LABEL_RESIZE:
- g_value_set_boolean (value, entry->priv->emulate_label_resize);
- break;
-
- case PROP_CURSOR_POS:
- g_object_get_property (G_OBJECT (item), "cursor_pos", value);
-
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-et_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- EEntry *entry = E_ENTRY (object);
- GtkObject *item = GTK_OBJECT (entry->item);
- GtkAnchorType anchor;
- double width, height;
- gint xthick;
- gint ythick;
- GtkWidget *widget = GTK_WIDGET(entry->canvas);
-
- d(g_print("%s: prop_id: %d\n", __FUNCTION__, prop_id));
-
- switch (prop_id){
- case PROP_MODEL:
- g_object_set_property (G_OBJECT (item), "model", value);
- if (entry->priv->emulate_label_resize)
- gtk_widget_queue_resize (widget);
- break;
-
- case PROP_EVENT_PROCESSOR:
- g_object_set_property (G_OBJECT (item), "event_processor", value);
- break;
-
- case PROP_TEXT:
- g_object_set_property (G_OBJECT (item), "text", value);
- d(g_print("%s: text: %s\n", __FUNCTION__, g_value_get_string (value)));
- if (entry->priv->emulate_label_resize)
- gtk_widget_queue_resize (widget);
- break;
-
- case PROP_FONT:
- g_object_set_property (G_OBJECT (item), "font", value);
- d(g_print("%s: font: %s\n", __FUNCTION__, g_value_get_string (value)));
- if (entry->priv->emulate_label_resize)
- gtk_widget_queue_resize (widget);
- break;
-
- case PROP_FONTSET:
- g_object_set_property (G_OBJECT (item), "fontset", value);
- if (entry->priv->emulate_label_resize)
- gtk_widget_queue_resize (widget);
- break;
-
- case PROP_FONT_GDK:
- g_object_set_property (G_OBJECT (item), "font_gdk", value);
- if (entry->priv->emulate_label_resize)
- gtk_widget_queue_resize (widget);
- break;
-
- case PROP_JUSTIFICATION:
- entry->priv->justification = g_value_get_enum (value);
- g_object_get(item,
- "clip_width", &width,
- "clip_height", &height,
- NULL);
-
- if (entry->priv->draw_borders) {
- xthick = 0;
- ythick = 0;
- } else {
- xthick = widget->style->xthickness;
- ythick = widget->style->ythickness;
- }
-
- switch (entry->priv->justification) {
- case GTK_JUSTIFY_CENTER:
- anchor = GTK_ANCHOR_N;
- e_canvas_item_move_absolute(GNOME_CANVAS_ITEM(entry->item), width / 2, ythick);
- break;
- case GTK_JUSTIFY_RIGHT:
- anchor = GTK_ANCHOR_NE;
- e_canvas_item_move_absolute(GNOME_CANVAS_ITEM(entry->item), width - xthick, ythick);
- break;
- default:
- anchor = GTK_ANCHOR_NW;
- e_canvas_item_move_absolute(GNOME_CANVAS_ITEM(entry->item), xthick, ythick);
- break;
- }
- g_object_set(item,
- "justification", entry->priv->justification,
- "anchor", anchor,
- NULL);
- break;
-
- case PROP_FILL_COLOR:
- g_object_set_property (G_OBJECT (item), "fill_color", value);
- break;
-
- case PROP_FILL_COLOR_GDK:
- g_object_set_property (G_OBJECT (item), "fill_color_gdk", value);
- break;
-
- case PROP_FILL_COLOR_RGBA:
- g_object_set_property (G_OBJECT (item), "fill_color_rgba", value);
- break;
-
- case PROP_FILL_STIPPLE:
- g_object_set_property (G_OBJECT (item), "fill_stiple", value);
- break;
-
- case PROP_EDITABLE:
- g_object_set_property (G_OBJECT (item), "editable", value);
- break;
-
- case PROP_USE_ELLIPSIS:
- g_object_set_property (G_OBJECT (item), "use_ellipsis", value);
- if (entry->priv->emulate_label_resize)
- gtk_widget_queue_resize (widget);
- break;
-
- case PROP_ELLIPSIS:
- g_object_set_property (G_OBJECT (item), "ellipsis", value);
- if (entry->priv->emulate_label_resize)
- gtk_widget_queue_resize (widget);
- break;
-
- case PROP_LINE_WRAP:
- g_object_set_property (G_OBJECT (item), "line_wrap", value);
- if (entry->priv->emulate_label_resize)
- gtk_widget_queue_resize (widget);
- break;
-
- case PROP_BREAK_CHARACTERS:
- g_object_set_property (G_OBJECT (item), "break_characters", value);
- if (entry->priv->emulate_label_resize)
- gtk_widget_queue_resize (widget);
- break;
-
- case PROP_MAX_LINES:
- g_object_set_property (G_OBJECT (item), "max_lines", value);
- if (entry->priv->emulate_label_resize)
- gtk_widget_queue_resize (widget);
- break;
-
- case PROP_ALLOW_NEWLINES:
- g_object_set_property (G_OBJECT (item), "allow_newlines", value);
- break;
-
- case PROP_DRAW_BORDERS:
- if (entry->priv->draw_borders != g_value_get_boolean (value)) {
- entry->priv->draw_borders = g_value_get_boolean (value);
- g_object_set (item,
- "draw_borders", entry->priv->draw_borders,
- NULL);
- gtk_widget_queue_resize (GTK_WIDGET (entry));
- }
- break;
-
- case PROP_CURSOR_POS:
- g_object_set_property (G_OBJECT (item), "cursor_pos", value);
- break;
-
- case PROP_DRAW_BACKGROUND:
- g_object_set_property (G_OBJECT (item), "draw_background", value);
- break;
-
- case PROP_DRAW_BUTTON:
- g_object_set_property (G_OBJECT (item), "draw_button", value);
- break;
-
- case PROP_EMULATE_LABEL_RESIZE:
- if (entry->priv->emulate_label_resize != g_value_get_boolean (value)) {
- entry->priv->emulate_label_resize = g_value_get_boolean (value);
- gtk_widget_queue_resize (widget);
- }
- break;
- }
-}
-
-static void
-e_entry_dispose (GObject *object)
-{
- EEntry *entry = E_ENTRY (object);
-
- if (entry->priv) {
- if (entry->priv->completion_delay_tag)
- gtk_timeout_remove (entry->priv->completion_delay_tag);
-
- if (entry->priv->completion)
- g_object_unref (entry->priv->completion);
-
- if (entry->priv->ptr_grab) {
- gdk_pointer_ungrab (GDK_CURRENT_TIME);
- gtk_grab_remove (GTK_WIDGET (entry->priv->completion_view));
- }
-
- if (entry->priv->completion_view_popup) {
- gtk_widget_destroy (GTK_WIDGET (entry->priv->completion_view_popup));
- g_object_unref (entry->priv->completion_view_popup);
- }
- g_free (entry->priv->pre_browse_text);
-
- if (entry->priv->changed_since_keypress_tag)
- gtk_timeout_remove (entry->priv->changed_since_keypress_tag);
-
- g_free (entry->priv);
- entry->priv = NULL;
- }
-
- if (G_OBJECT_CLASS (parent_class)->dispose)
- (* G_OBJECT_CLASS (parent_class)->dispose) (object);
-}
-
-static void
-e_entry_realize (GtkWidget *widget)
-{
- EEntry *entry;
-
- if (GTK_WIDGET_CLASS (parent_class)->realize)
- (* GTK_WIDGET_CLASS (parent_class)->realize) (widget);
-
- entry = E_ENTRY (widget);
-
- e_entry_make_completion_window_transient (entry);
-
- if (entry->priv->emulate_label_resize) {
- d(g_print("%s: queue_resize\n", __FUNCTION__));
- gtk_widget_queue_resize (GTK_WIDGET (entry->canvas));
- }
-}
-
-static void
-e_entry_class_init (GObjectClass *object_class)
-{
- EEntryClass *klass = E_ENTRY_CLASS(object_class);
- GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(object_class);
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class->set_property = et_set_property;
- object_class->get_property = et_get_property;
- object_class->dispose = e_entry_dispose;
-
- widget_class->realize = e_entry_realize;
-
- klass->changed = NULL;
- klass->activate = NULL;
-
- e_entry_signals[E_ENTRY_CHANGED] =
- g_signal_new ("changed",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EEntryClass, changed),
- NULL, NULL,
- e_marshal_NONE__NONE,
- G_TYPE_NONE, 0);
-
- e_entry_signals[E_ENTRY_ACTIVATE] =
- g_signal_new ("activate",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EEntryClass, activate),
- NULL, NULL,
- e_marshal_NONE__NONE,
- G_TYPE_NONE, 0);
-
- e_entry_signals[E_ENTRY_POPULATE_POPUP] =
- g_signal_new ("populate_popup",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EEntryClass, populate_popup),
- NULL, NULL,
- e_marshal_NONE__POINTER_INT_OBJECT,
- G_TYPE_NONE, 3, G_TYPE_POINTER, G_TYPE_INT, GTK_TYPE_MENU);
-
- e_entry_signals[E_ENTRY_COMPLETION_POPUP] =
- g_signal_new ("completion_popup",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EEntryClass, completion_popup),
- NULL, NULL,
- gtk_marshal_NONE__INT,
- G_TYPE_NONE, 1, G_TYPE_INT);
-
- g_object_class_install_property (object_class, PROP_MODEL,
- g_param_spec_object ("model",
- _( "Model" ),
- _( "Model" ),
- E_TYPE_TEXT_MODEL,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_EVENT_PROCESSOR,
- g_param_spec_object ("event_processor",
- _( "Event Processor" ),
- _( "Event Processor" ),
- E_TEXT_EVENT_PROCESSOR_TYPE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_TEXT,
- g_param_spec_string ("text",
- _( "Text" ),
- _( "Text" ),
- NULL,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_FONT,
- g_param_spec_string ("font",
- _( "Font" ),
- _( "Font" ),
- NULL,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_FONTSET,
- g_param_spec_string ("fontset",
- _( "Fontset" ),
- _( "Fontset" ),
- NULL,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_FONT_GDK,
- g_param_spec_boxed ("font_gdk",
- _( "GDKFont" ),
- _( "GDKFont" ),
- GDK_TYPE_FONT,
- G_PARAM_WRITABLE));
-
- g_object_class_install_property (object_class, PROP_JUSTIFICATION,
- g_param_spec_enum ("justification",
- _( "Justification" ),
- _( "Justification" ),
- GTK_TYPE_JUSTIFICATION, GTK_JUSTIFY_LEFT,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_FILL_COLOR,
- g_param_spec_string ("fill_color",
- _( "Fill color" ),
- _( "Fill color" ),
- NULL,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_FILL_COLOR_GDK,
- g_param_spec_boxed ("fill_color_gdk",
- _( "GDK fill color" ),
- _( "GDK fill color" ),
- GDK_TYPE_COLOR,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_FILL_COLOR_RGBA,
- g_param_spec_uint ("fill_color_rgba",
- _( "GDK fill color" ),
- _( "GDK fill color" ),
- 0, G_MAXUINT, 0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_FILL_STIPPLE,
- g_param_spec_object ("fill_stipple",
- _( "Fill stipple" ),
- _( "FIll stipple" ),
- GDK_TYPE_WINDOW,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_EDITABLE,
- g_param_spec_boolean ("editable",
- _( "Editable" ),
- _( "Editable" ),
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_USE_ELLIPSIS,
- g_param_spec_boolean ("use_ellipsis",
- _( "Use ellipsis" ),
- _( "Use ellipsis" ),
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_ELLIPSIS,
- g_param_spec_string ("ellipsis",
- _( "Ellipsis" ),
- _( "Ellipsis" ),
- NULL,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_LINE_WRAP,
- g_param_spec_boolean ("line_wrap",
- _( "Line wrap" ),
- _( "Line wrap" ),
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_BREAK_CHARACTERS,
- g_param_spec_string ("break_characters",
- _( "Break characters" ),
- _( "Break characters" ),
- NULL,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_MAX_LINES,
- g_param_spec_int ("max_lines",
- _( "Max lines" ),
- _( "Max lines" ),
- 0, G_MAXINT, 0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_ALLOW_NEWLINES,
- g_param_spec_boolean ("allow_newlines",
- _( "Allow newlines" ),
- _( "Allow newlines" ),
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_DRAW_BORDERS,
- g_param_spec_boolean ("draw_borders",
- _( "Draw borders" ),
- _( "Draw borders" ),
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_DRAW_BACKGROUND,
- g_param_spec_boolean ("draw_background",
- _( "Draw background" ),
- _( "Draw background" ),
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_DRAW_BUTTON,
- g_param_spec_boolean ("draw_button",
- _( "Draw button" ),
- _( "Draw button" ),
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_CURSOR_POS,
- g_param_spec_int ("cursor_pos",
- _( "Cursor position" ),
- _( "Cursor position" ),
- 0, G_MAXINT, 0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (object_class, PROP_EMULATE_LABEL_RESIZE,
- g_param_spec_boolean ("emulate_label_resize",
- _( "Emulate label resize" ),
- _( "Emulate label resize" ),
- FALSE,
- G_PARAM_READWRITE));
-}
-
-E_MAKE_TYPE(e_entry, "EEntry", EEntry, e_entry_class_init, e_entry_init, PARENT_TYPE)
diff --git a/widgets/text/e-entry.h b/widgets/text/e-entry.h
deleted file mode 100644
index 6e71364ee1..0000000000
--- a/widgets/text/e-entry.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-entry.h - An EText-based entry widget
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Jon Trowbridge <trow@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef _E_ENTRY_H_
-#define _E_ENTRY_H_
-
-#include <libgnomecanvas/gnome-canvas.h>
-#include <gtk/gtktable.h>
-#include <libxml/tree.h>
-#include <gal/e-text/e-text.h>
-#include "e-completion.h"
-
-G_BEGIN_DECLS
-
-#define E_ENTRY_TYPE (e_entry_get_type ())
-#define E_ENTRY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_ENTRY_TYPE, EEntry))
-#define E_ENTRY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_ENTRY_TYPE, EEntryClass))
-#define E_IS_ENTRY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_ENTRY_TYPE))
-#define E_IS_ENTRY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_ENTRY_TYPE))
-
-typedef struct _EEntry EEntry;
-typedef struct _EEntryClass EEntryClass;
-struct _EEntryPrivate;
-
-typedef void (*EEntryCompletionHandler) (EEntry *entry, ECompletionMatch *match);
-
-struct _EEntry {
- GtkTable parent;
-
- GnomeCanvas *canvas;
- EText *item;
-
- struct _EEntryPrivate *priv;
-};
-
-struct _EEntryClass {
- GtkTableClass parent_class;
-
- void (* changed) (EEntry *entry);
- void (* activate) (EEntry *entry);
- void (* populate_popup) (EEntry *entry, GdkEventButton *ev, gint pos, GtkMenu *menu);
- void (* completion_popup) (EEntry *entry, gint visible);
-};
-
-GtkType e_entry_get_type (void);
-
-void e_entry_construct (EEntry *entry);
-GtkWidget *e_entry_new (void);
-
-const gchar *e_entry_get_text (EEntry *entry);
-void e_entry_set_text (EEntry *entry, const gchar *text);
-
-gint e_entry_get_position (EEntry *entry);
-void e_entry_set_position (EEntry *entry, gint);
-void e_entry_select_region (EEntry *entry, gint start, gint end);
-
-void e_entry_set_editable (EEntry *entry, gboolean editable);
-
-void e_entry_enable_completion (EEntry *entry, ECompletion *completion);
-void e_entry_enable_completion_full (EEntry *entry, ECompletion *completion, gint autocomplete_delay,
- EEntryCompletionHandler handler);
-gboolean e_entry_completion_popup_is_visible (EEntry *entry);
-
-G_END_DECLS
-
-#endif /* _E_ENTRY_H_ */
diff --git a/widgets/text/e-table-text-model.c b/widgets/text/e-table-text-model.c
deleted file mode 100644
index 909a982528..0000000000
--- a/widgets/text/e-table-text-model.c
+++ /dev/null
@@ -1,234 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-text-model.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <ctype.h>
-#include <gtk/gtksignal.h>
-#include <gal/util/e-util.h>
-#include "e-table-text-model.h"
-
-static void e_table_text_model_class_init (ETableTextModelClass *class);
-static void e_table_text_model_init (ETableTextModel *model);
-static void e_table_text_model_dispose (GObject *object);
-
-static const gchar *e_table_text_model_get_text (ETextModel *model);
-static void e_table_text_model_set_text (ETextModel *model, const gchar *text);
-static void e_table_text_model_insert (ETextModel *model, gint postion, const gchar *text);
-static void e_table_text_model_insert_length (ETextModel *model, gint postion, const gchar *text, gint length);
-static void e_table_text_model_delete (ETextModel *model, gint postion, gint length);
-
-#define PARENT_TYPE E_TYPE_TEXT_MODEL
-static GtkObject *parent_class;
-
-
-
-/**
- * e_table_text_model_get_type:
- * @void:
- *
- * Registers the &ETableTextModel class if necessary, and returns the type ID
- * associated to it.
- *
- * Return value: The type ID of the &ETableTextModel class.
- **/
-E_MAKE_TYPE (e_table_text_model,
- "ETableTextModel",
- ETableTextModel,
- e_table_text_model_class_init,
- e_table_text_model_init,
- PARENT_TYPE)
-
-/* Class initialization function for the text item */
-static void
-e_table_text_model_class_init (ETableTextModelClass *klass)
-{
- GObjectClass *object_class;
- ETextModelClass *model_class;
-
- object_class = (GObjectClass *) klass;
- model_class = (ETextModelClass *) klass;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- model_class->get_text = e_table_text_model_get_text;
- model_class->set_text = e_table_text_model_set_text;
- model_class->insert = e_table_text_model_insert;
- model_class->insert_length = e_table_text_model_insert_length;
- model_class->delete = e_table_text_model_delete;
-
- object_class->dispose = e_table_text_model_dispose;
-}
-
-/* Object initialization function for the text item */
-static void
-e_table_text_model_init (ETableTextModel *model)
-{
- model->model = NULL;
- model->row = 0;
- model->model_col = 0;
- model->cell_changed_signal_id = 0;
- model->row_changed_signal_id = 0;
-}
-
-/* Dispose handler for the text item */
-static void
-e_table_text_model_dispose (GObject *object)
-{
- ETableTextModel *model;
-
- g_return_if_fail (object != NULL);
- g_return_if_fail (E_IS_TABLE_TEXT_MODEL (object));
-
- model = E_TABLE_TEXT_MODEL (object);
-
- if (model->model)
- g_assert (GTK_IS_OBJECT (model->model));
-
- if (model->cell_changed_signal_id)
- g_signal_handler_disconnect (model->model,
- model->cell_changed_signal_id);
- model->cell_changed_signal_id = 0;
-
- if (model->row_changed_signal_id)
- g_signal_handler_disconnect (model->model,
- model->row_changed_signal_id);
- model->row_changed_signal_id = 0;
-
- if (model->model)
- g_object_unref (model->model);
- model->model = NULL;
-
- if (G_OBJECT_CLASS (parent_class)->dispose)
- (* G_OBJECT_CLASS (parent_class)->dispose) (object);
-}
-static const gchar *
-e_table_text_model_get_text (ETextModel *text_model)
-{
- ETableTextModel *model = E_TABLE_TEXT_MODEL(text_model);
- if (model->model)
- return (gchar *)e_table_model_value_at (model->model, model->model_col, model->row);
- else
- return "";
-}
-
-static void
-e_table_text_model_set_text (ETextModel *text_model, const gchar *text)
-{
- ETableTextModel *model = E_TABLE_TEXT_MODEL(text_model);
- if (model->model)
- e_table_model_set_value_at (model->model, model->model_col, model->row, (void *) text);
-}
-
-static void
-e_table_text_model_insert (ETextModel *text_model, gint position, const gchar *text)
-{
- ETableTextModel *model = E_TABLE_TEXT_MODEL(text_model);
- if (model->model){
- gchar *temp = (gchar *)e_table_model_value_at (model->model, model->model_col, model->row);
- /* Can't use g_strdup_printf here because on some
- systems printf ("%.*s"); is locale dependent. */
- temp = e_strdup_append_strings (temp, position,
- text, -1,
- temp + position, -1,
- NULL);
- e_table_model_set_value_at (model->model, model->model_col, model->row, temp);
- g_free (temp);
- }
-}
-
-static void
-e_table_text_model_insert_length (ETextModel *text_model, gint position, const gchar *text, gint length)
-{
- ETableTextModel *model = E_TABLE_TEXT_MODEL(text_model);
- if (model->model){
- gchar *temp = (gchar *)e_table_model_value_at (model->model, model->model_col, model->row);
- /* Can't use g_strdup_printf here because on some
- systems printf ("%.*s"); is locale dependent. */
- temp = e_strdup_append_strings (temp, position,
- text, length,
- temp + position, -1,
- NULL);
- e_table_model_set_value_at (model->model, model->model_col, model->row, temp);
- g_free (temp);
- }
-}
-
-static void
-e_table_text_model_delete (ETextModel *text_model, gint position, gint length)
-{
- ETableTextModel *model = E_TABLE_TEXT_MODEL(text_model);
- if (model->model){
- gchar *temp = (gchar *)e_table_model_value_at (model->model, model->model_col, model->row);
- /* Can't use g_strdup_printf here because on some
- systems printf ("%.*s"); is locale dependent. */
- temp = e_strdup_append_strings (temp, position,
- temp + position + length, -1,
- NULL);
- e_table_model_set_value_at (model->model, model->model_col, model->row, temp);
- g_free (temp);
- }
-}
-
-static void
-cell_changed (ETableModel *table_model, int model_col, int row, ETableTextModel *model)
-{
- if (model->model_col == model_col &&
- model->row == row)
- e_text_model_changed (E_TEXT_MODEL(model));
-}
-
-static void
-row_changed (ETableModel *table_model, int row, ETableTextModel *model)
-{
- if (model->row == row)
- e_text_model_changed (E_TEXT_MODEL(model));
-}
-
-ETableTextModel *
-e_table_text_model_new (ETableModel *table_model, int row, int model_col)
-{
- ETableTextModel *model;
-
- g_return_val_if_fail(table_model != NULL, NULL);
- g_return_val_if_fail(E_IS_TABLE_MODEL(table_model), NULL);
-
- model = g_object_new (E_TYPE_TABLE_TEXT_MODEL, NULL);
- model->model = table_model;
- if (model->model){
- g_object_ref (model->model);
- model->cell_changed_signal_id =
- g_signal_connect (model->model,
- "model_cell_changed",
- G_CALLBACK(cell_changed),
- model);
- model->row_changed_signal_id =
- g_signal_connect (model->model,
- "model_row_changed",
- G_CALLBACK(row_changed),
- model);
- }
- model->row = row;
- model->model_col = model_col;
- return model;
-}
-
diff --git a/widgets/text/e-table-text-model.h b/widgets/text/e-table-text-model.h
deleted file mode 100644
index 46e82de1c4..0000000000
--- a/widgets/text/e-table-text-model.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-table-text-model.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef E_TABLE_TEXT_MODEL_H
-#define E_TABLE_TEXT_MODEL_H
-
-#include <gal/e-text/e-text-model.h>
-#include <gal/e-table/e-table-model.h>
-
-G_BEGIN_DECLS
-
-#define E_TYPE_TABLE_TEXT_MODEL (e_table_text_model_get_type ())
-#define E_TABLE_TEXT_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_TABLE_TEXT_MODEL, ETableTextModel))
-#define E_TABLE_TEXT_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_TYPE_TABLE_TEXT_MODEL, ETableTextModelClass))
-#define E_IS_TABLE_TEXT_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_TYPE_TABLE_TEXT_MODEL))
-#define E_IS_TABLE_TEXT_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), E_TYPE_TABLE_TEXT_MODEL))
-
-typedef struct _ETableTextModel ETableTextModel;
-typedef struct _ETableTextModelClass ETableTextModelClass;
-
-struct _ETableTextModel {
- ETextModel parent;
-
- ETableModel *model;
- int row;
- int model_col;
-
- int cell_changed_signal_id;
- int row_changed_signal_id;
-};
-
-struct _ETableTextModelClass {
- ETextModelClass parent_class;
-
-};
-
-
-/* Standard Gtk function */
-GtkType e_table_text_model_get_type (void);
-ETableTextModel *e_table_text_model_new (ETableModel *table_model, int row, int model_col);
-
-G_END_DECLS
-
-#endif
diff --git a/widgets/text/e-text-model-repos.c b/widgets/text/e-text-model-repos.c
deleted file mode 100644
index 17ffe07578..0000000000
--- a/widgets/text/e-text-model-repos.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-text-model-repos.c - Standard ETextModelReposFn definitions
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Jon Trowbridge <trow@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include "e-text-model-repos.h"
-
-#define MODEL_CLAMP(model, pos) (CLAMP((pos), 0, strlen((model)->text)))
-
-gint
-e_repos_shift (gint pos, gpointer data)
-{
- EReposShift *info = (EReposShift *) data;
- g_return_val_if_fail (data, -1);
-
- return e_text_model_validate_position (info->model, pos + info->change);
-}
-
-gint
-e_repos_absolute (gint pos, gpointer data)
-{
- EReposAbsolute *info = (EReposAbsolute *) data;
- g_return_val_if_fail (data, -1);
-
- pos = info->pos;
- if (pos < 0) {
- gint len = e_text_model_get_text_length (info->model);
- pos += len + 1;
- }
-
- return e_text_model_validate_position (info->model, pos);
-}
-
-gint
-e_repos_insert_shift (gint pos, gpointer data)
-{
- EReposInsertShift *info = (EReposInsertShift *) data;
- g_return_val_if_fail (data, -1);
-
- if (pos >= info->pos)
- pos += info->len;
-
- return e_text_model_validate_position (info->model, pos);
-}
-
-gint
-e_repos_delete_shift (gint pos, gpointer data)
-{
- EReposDeleteShift *info = (EReposDeleteShift *) data;
- g_return_val_if_fail (data, -1);
-
- if (pos > info->pos + info->len)
- pos -= info->len;
- else if (pos > info->pos)
- pos = info->pos;
-
- return e_text_model_validate_position (info->model, pos);
-}
-
-gint
-e_repos_clamp (gint pos, gpointer data)
-{
- ETextModel *model;
-
- g_return_val_if_fail (data != NULL && E_IS_TEXT_MODEL (data), -1);
- model = E_TEXT_MODEL (data);
-
- return e_text_model_validate_position (model, pos);
-}
diff --git a/widgets/text/e-text-model-repos.h b/widgets/text/e-text-model-repos.h
deleted file mode 100644
index 5f0c93ee6a..0000000000
--- a/widgets/text/e-text-model-repos.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-text-model-repos.h - Standard ETextModelReposFn definitions
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Jon Trowbridge <trow@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef E_TEXT_MODEL_REPOS_H
-#define E_TEXT_MODEL_REPOS_H
-
-#include "e-text-model.h"
-
-typedef struct {
- ETextModel *model;
- gint change; /* Relative change to position. */
-} EReposShift;
-
-gint e_repos_shift (gint pos, gpointer data);
-
-
-typedef struct {
- ETextModel *model;
- gint pos; /* Position to move to. Negative values count from the end buffer.
- (i.e. -1 puts cursor at the end, -2 one character from end, etc.) */
-} EReposAbsolute;
-
-gint e_repos_absolute (gint pos, gpointer data);
-
-
-typedef struct {
- ETextModel *model;
- gint pos; /* Location of first inserted character. */
- gint len; /* Number of characters inserted. */
-} EReposInsertShift;
-
-gint e_repos_insert_shift (gint pos, gpointer data);
-
-
-typedef struct {
- ETextModel *model;
- gint pos; /* Location of first deleted character. */
- gint len; /* Number of characters deleted. */
-} EReposDeleteShift;
-
-gint e_repos_delete_shift (gint pos, gpointer data);
-
-
-/* For e_repos_clamp, data is a pointer to an ETextModel. The only repositioning
- that occurs is to avoid buffer overruns. */
-
-gint e_repos_clamp (gint pos, gpointer data);
-
-#endif
diff --git a/widgets/text/e-text-model-test.c b/widgets/text/e-text-model-test.c
deleted file mode 100644
index 4913b7774e..0000000000
--- a/widgets/text/e-text-model-test.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-text-model-test.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <gnome.h>
-#include <gal/widgets/e-canvas.h>
-#include "e-text-model.h"
-#include "e-text-model-uri.h"
-#include "e-text.h"
-#include <gal/util/e-util.h>
-
-#if 0
-static void
-describe_model (ETextModel *model)
-{
- gint i, N;
- g_return_if_fail (E_IS_TEXT_MODEL (model));
-
- N = e_text_model_object_count (model);
-
- g_print ("text: %s\n", e_text_model_get_text (model));
- g_print ("objs: %d\n", N);
-
- for (i=0; i<N; ++i) {
- gchar *s = e_text_model_strdup_nth_object (model, i);
- g_print ("obj%d: %s\n", i, s);
- g_free (s);
- }
-}
-#endif
-
-int
-main (int argc, gchar **argv)
-{
- GtkWidget *win[2], *canvas[2];
- GnomeCanvasItem *item[2];
- ETextModel *model;
- gint i;
-
- gnome_init ("ETextModelTest", "0.0", argc, argv);
-
- model = e_text_model_uri_new ();
-
- e_text_model_set_text (model, "My favorite website is http://www.ximian.com. My next favorite www.assbarn.com.");
-
- // describe_model (model);
-
- for (i=0; i<2; ++i) {
- win[i] = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-
- gtk_widget_push_colormap (gdk_rgb_get_cmap ());
- canvas[i] = e_canvas_new ();
- gtk_widget_pop_colormap ();
-
- item[i] = gnome_canvas_item_new (gnome_canvas_root (GNOME_CANVAS (canvas[i])),
- e_text_get_type (),
- "model", model,
- "font", "-adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1",
- "anchor", GTK_ANCHOR_NORTH,
- "line_wrap", TRUE,
- "width", 150.0,
- "editable", TRUE,
- NULL);
-
- gtk_container_add (GTK_CONTAINER (win[i]), canvas[i]);
- gtk_widget_show_all (win[i]);
- }
-
- gtk_main ();
-
- return 0;
-}
diff --git a/widgets/text/e-text-model-uri.c b/widgets/text/e-text-model-uri.c
deleted file mode 100644
index 858771b481..0000000000
--- a/widgets/text/e-text-model-uri.c
+++ /dev/null
@@ -1,344 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-text-model-uri.c - a text model w/ clickable URIs
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Jon Trowbridge <trow@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-
-#include "e-text-model-uri.h"
-
-#include <ctype.h>
-#include <sys/types.h>
-#include <regex.h>
-#include <gtk/gtkmain.h>
-#include <libgnome/gnome-url.h>
-#include <gal/util/e-util.h>
-
-static void e_text_model_uri_class_init (ETextModelURIClass *class);
-static void e_text_model_uri_init (ETextModelURI *model);
-static void e_text_model_uri_dispose (GObject *object);
-
-static void objectify_uris (ETextModelURI *model);
-
-static void e_text_model_uri_objectify (ETextModel *model);
-static gint e_text_model_uri_validate_pos (ETextModel *model, gint pos);
-static gint e_text_model_uri_get_obj_count (ETextModel *model);
-static const gchar *e_text_model_uri_get_nth_object (ETextModel *model, gint i, gint *len);
-static void e_text_model_uri_activate_nth_object (ETextModel *model, gint);
-
-typedef struct _ObjInfo ObjInfo;
-struct _ObjInfo {
- gint offset, len;
-};
-
-#define PARENT_TYPE E_TYPE_TEXT_MODEL
-static GtkObject *parent_class;
-
-E_MAKE_TYPE (e_text_model_uri,
- "ETextModelURI",
- ETextModelURI,
- e_text_model_uri_class_init,
- e_text_model_uri_init,
- PARENT_TYPE)
-
-static void
-e_text_model_uri_class_init (ETextModelURIClass *klass)
-{
- GObjectClass *object_class;
- ETextModelClass *model_class;
-
- object_class = (GObjectClass *) klass;
- model_class = E_TEXT_MODEL_CLASS (klass);
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- object_class->dispose = e_text_model_uri_dispose;
-
- model_class->object_activated = e_text_model_uri_activate_nth_object;
-
- model_class->objectify = e_text_model_uri_objectify;
- model_class->validate_pos = e_text_model_uri_validate_pos;
- model_class->obj_count = e_text_model_uri_get_obj_count;
- model_class->get_nth_obj = e_text_model_uri_get_nth_object;
-
-}
-
-static void
-e_text_model_uri_init (ETextModelURI *model)
-{
-
-}
-
-static void
-e_text_model_uri_dispose (GObject *object)
-{
- ETextModelURI *model_uri = E_TEXT_MODEL_URI (object);
- GList *iter;
-
- if (model_uri->objectify_idle) {
- gtk_idle_remove (model_uri->objectify_idle);
- model_uri->objectify_idle = 0;
- }
-
- for (iter = model_uri->uris; iter != NULL; iter = g_list_next (iter))
- g_free (iter->data);
- g_list_free (model_uri->uris);
- model_uri->uris = NULL;
-
- if (G_OBJECT_CLASS (parent_class)->dispose)
- (* G_OBJECT_CLASS (parent_class)->dispose) (object);
-
-}
-
-static const gchar *uri_regex[] = {
- "(((news|telnet|nttp|file|http|ftp|https)://)|(www|ftp))[-A-Za-z0-9\\.]+(:[0-9]*)?/[-A-Za-z0-9_\\$\\.\\+\\!\\*\\(\\),;:@&=\\?/~\\#\\%]*[^]'\\.}>\\) ,\\\"]",
- "(((news|telnet|nttp|file|http|ftp|https)://)|(www|ftp))[-A-Za-z0-9\\.]+[-A-Za-z0-9](:[0-9]*)?",
- "mailto:[A-Za-z0-9_]+@[-A-Za-z0-9_]+\\.[-A-Za-z0-9\\.]+[-A-Za-z0-9]",
- NULL
-};
-static gint regex_count = 0;
-static regex_t *regex_compiled = NULL;
-
-static void
-regex_init (void)
-{
- gint i;
-
- if (regex_count != 0)
- return;
-
- while (uri_regex[regex_count]) ++regex_count;
-
- regex_compiled = g_new0 (regex_t, regex_count);
-
- for (i=0; i<regex_count; ++i) {
- if (regcomp (&regex_compiled[i], uri_regex[i], REG_EXTENDED))
- g_error ("Bad regex?: %s", uri_regex[i]);
- }
-}
-
-
-static void
-objectify_uris (ETextModelURI *model_uri)
-{
- static gboolean objectifying = FALSE;
-
- ETextModel *model = E_TEXT_MODEL (model_uri);
- const gchar *txt;
- GList *iter, *old_uris;
- gint offset, len;
- gboolean found_match;
- regmatch_t match;
- gboolean changed;
-
- if (objectifying)
- return;
-
- objectifying = TRUE;
-
- if (regex_count == 0)
- regex_init ();
-
- txt = e_text_model_get_text (model);
- len = e_text_model_get_text_length (model);
-
- old_uris = model_uri->uris;
- model_uri->uris = NULL;
-
- if (txt) {
- offset = 0;
- found_match = TRUE;
-
- while (offset < len && found_match) {
-
- gint i, so=-1, eo=-1;
-
- found_match = FALSE;
-
- for (i=0; i<regex_count; ++i) {
-
- if (regexec (&regex_compiled[i], txt+offset, 1, &match, 0) == 0) {
-
- /* Take earliest match possible. In case of a tie, take the
- largest possible match. */
- if (!found_match
- || match.rm_so < so
- || (match.rm_so == so && match.rm_eo > eo)) {
- so = match.rm_so;
- eo = match.rm_eo;
- }
- found_match = TRUE;
- }
- }
-
- if (found_match) {
-
- ObjInfo *info = g_new0 (ObjInfo, 1);
- info->offset = offset + so;
- info->len = eo - so;
-
- model_uri->uris = g_list_append (model_uri->uris, info);
-
- offset += eo;
- }
- }
- }
-
- changed = (g_list_length (old_uris) != g_list_length (model_uri->uris));
-
- if (!changed) {
- /* Check that there is a 1-1 correspondence between object positions. */
- GList *jter;
-
- for (iter = model_uri->uris; iter != NULL && !changed; iter = g_list_next (iter)) {
- ObjInfo *info = (ObjInfo *) iter->data;
- found_match = FALSE;
- for (jter = old_uris; jter != NULL && !found_match; jter = g_list_next (jter)) {
- ObjInfo *jnfo = (ObjInfo *) jter->data;
-
- if (info->offset == jnfo->offset && info->len == jnfo->len)
- found_match = TRUE;
- }
- changed = !found_match;
- }
- }
-
- if (changed)
- e_text_model_changed (model);
-
- /* Free old uris */
- for (iter = old_uris; iter != NULL; iter = g_list_next (iter))
- g_free (iter->data);
- g_list_free (old_uris);
-
- objectifying = FALSE;
-}
-
-static gboolean
-objectify_idle_cb (gpointer ptr)
-{
- ETextModelURI *model_uri = E_TEXT_MODEL_URI (ptr);
-
- g_assert (model_uri->objectify_idle);
- objectify_uris (model_uri);
- model_uri->objectify_idle = 0;
-
- return FALSE;
-}
-
-static void
-e_text_model_uri_objectify (ETextModel *model)
-{
- ETextModelURI *model_uri = E_TEXT_MODEL_URI (model);
-
- if (model_uri->objectify_idle == 0)
- model_uri->objectify_idle = gtk_idle_add (objectify_idle_cb, model);
-
- if (E_TEXT_MODEL_CLASS(parent_class)->objectify)
- E_TEXT_MODEL_CLASS(parent_class)->objectify (model);
-}
-
-static void
-objectify_idle_flush (ETextModelURI *model_uri)
-{
- if (model_uri->objectify_idle) {
- gtk_idle_remove (model_uri->objectify_idle);
- model_uri->objectify_idle = 0;
- objectify_uris (model_uri);
- }
-}
-
-static gint
-e_text_model_uri_validate_pos (ETextModel *model, gint pos)
-{
- gint obj_num;
-
- /* Cause us to skip over objects */
-
- obj_num = e_text_model_get_object_at_offset (model, pos);
- if (obj_num != -1) {
- gint pos0, pos1, mp;
- e_text_model_get_nth_object_bounds (model, obj_num, &pos0, &pos1);
- mp = (pos0 + pos1)/2;
- if (pos0 < pos && pos < mp)
- pos = pos1;
- else if (mp <= pos && pos < pos1)
- pos = pos0;
- }
-
-
-
- if (E_TEXT_MODEL_CLASS (parent_class)->validate_pos)
- pos = E_TEXT_MODEL_CLASS (parent_class)->validate_pos (model, pos);
-
- return pos;
-}
-
-static gint
-e_text_model_uri_get_obj_count (ETextModel *model)
-{
- ETextModelURI *model_uri = E_TEXT_MODEL_URI (model);
-
- objectify_idle_flush (model_uri);
-
- return g_list_length (model_uri->uris);
-}
-
-static const gchar *
-e_text_model_uri_get_nth_object (ETextModel *model, gint i, gint *len)
-{
- ETextModelURI *model_uri = E_TEXT_MODEL_URI (model);
- ObjInfo *info;
- const gchar *txt;
-
- objectify_idle_flush (model_uri);
-
- txt = e_text_model_get_text (model);
-
- info = (ObjInfo *) g_list_nth_data (model_uri->uris, i);
- g_return_val_if_fail (info != NULL, NULL);
-
-
- if (len)
- *len = info->len;
- return txt + info->offset;
-}
-
-static void
-e_text_model_uri_activate_nth_object (ETextModel *model, gint i)
-{
- gchar *obj_str;
-
- objectify_idle_flush (E_TEXT_MODEL_URI (model));
-
- obj_str = e_text_model_strdup_nth_object (model, i);
- gnome_url_show (obj_str, NULL);
- g_free (obj_str);
-}
-
-ETextModel *
-e_text_model_uri_new (void)
-{
- return E_TEXT_MODEL (g_object_new (E_TYPE_TEXT_MODEL_URI, NULL));
-}
-
-
-/* $Id$ */
diff --git a/widgets/text/e-text-model-uri.h b/widgets/text/e-text-model-uri.h
deleted file mode 100644
index 64cd7b2a57..0000000000
--- a/widgets/text/e-text-model-uri.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-text-model-uri.h - a text model w/ clickable URIs
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Jon Trowbridge <trow@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef E_TEXT_MODEL_URI_H
-#define E_TEXT_MODEL_URI_H
-
-#include <gal/e-text/e-text-model.h>
-
-G_BEGIN_DECLS
-
-#define E_TYPE_TEXT_MODEL_URI (e_text_model_uri_get_type ())
-#define E_TEXT_MODEL_URI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_TEXT_MODEL_URI, ETextModelURI))
-#define E_TEXT_MODEL_URI_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_TYPE_TEXT_MODEL_URI, ETextModelURIClass))
-#define E_IS_TEXT_MODEL_URI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_TYPE_TEXT_MODEL_URI))
-#define E_IS_TEXT_MODEL_URI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), E_TYPE_TEXT_MODEL_URI))
-
-typedef struct _ETextModelURI ETextModelURI;
-typedef struct _ETextModelURIClass ETextModelURIClass;
-
-struct _ETextModelURI {
- ETextModel item;
- GList *uris;
-
- guint objectify_idle;
-};
-
-struct _ETextModelURIClass {
- ETextModelClass parent_class;
-};
-
-GtkType e_text_model_uri_get_type (void);
-ETextModel *e_text_model_uri_new (void);
-
-G_END_DECLS
-
-#endif
diff --git a/widgets/text/e-text-model.c b/widgets/text/e-text-model.c
deleted file mode 100644
index ed6be10672..0000000000
--- a/widgets/text/e-text-model.c
+++ /dev/null
@@ -1,600 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-text-model.c
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#undef PARANOID_DEBUGGING
-
-#include <config.h>
-#include <ctype.h>
-#include <string.h>
-#include <gtk/gtksignal.h>
-#include <gal/util/e-util.h>
-#include "e-text-model-repos.h"
-#include "e-text-model.h"
-#include "gal/util/e-util.h"
-
-enum {
- E_TEXT_MODEL_CHANGED,
- E_TEXT_MODEL_REPOSITION,
- E_TEXT_MODEL_OBJECT_ACTIVATED,
- E_TEXT_MODEL_CANCEL_COMPLETION,
- E_TEXT_MODEL_LAST_SIGNAL
-};
-
-static guint e_text_model_signals[E_TEXT_MODEL_LAST_SIGNAL] = { 0 };
-
-struct _ETextModelPrivate {
- GString *text;
-};
-
-static void e_text_model_class_init (ETextModelClass *class);
-static void e_text_model_init (ETextModel *model);
-static void e_text_model_dispose (GObject *object);
-
-static gint e_text_model_real_validate_position (ETextModel *, gint pos);
-static const gchar *e_text_model_real_get_text (ETextModel *model);
-static gint e_text_model_real_get_text_length (ETextModel *model);
-static void e_text_model_real_set_text (ETextModel *model, const gchar *text);
-static void e_text_model_real_insert (ETextModel *model, gint postion, const gchar *text);
-static void e_text_model_real_insert_length (ETextModel *model, gint postion, const gchar *text, gint length);
-static void e_text_model_real_delete (ETextModel *model, gint postion, gint length);
-
-#define PARENT_TYPE G_TYPE_OBJECT
-static GObject *parent_class;
-
-
-
-/**
- * e_text_model_get_type:
- * @void:
- *
- * Registers the &ETextModel class if necessary, and returns the type ID
- * associated to it.
- *
- * Return value: The type ID of the &ETextModel class.
- **/
-E_MAKE_TYPE (e_text_model,
- "ETextModel",
- ETextModel,
- e_text_model_class_init,
- e_text_model_init,
- PARENT_TYPE)
-
-/* Class initialization function for the text item */
-static void
-e_text_model_class_init (ETextModelClass *klass)
-{
- GObjectClass *object_class;
-
- object_class = (GObjectClass *) klass;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- e_text_model_signals[E_TEXT_MODEL_CHANGED] =
- g_signal_new ("changed",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETextModelClass, changed),
- NULL, NULL,
- e_marshal_NONE__NONE,
- G_TYPE_NONE, 0);
-
- e_text_model_signals[E_TEXT_MODEL_REPOSITION] =
- g_signal_new ("reposition",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETextModelClass, reposition),
- NULL, NULL,
- e_marshal_NONE__POINTER_POINTER,
- G_TYPE_NONE, 2,
- G_TYPE_POINTER, G_TYPE_POINTER);
-
- e_text_model_signals[E_TEXT_MODEL_OBJECT_ACTIVATED] =
- g_signal_new ("object_activated",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETextModelClass, object_activated),
- NULL, NULL,
- e_marshal_NONE__INT,
- G_TYPE_NONE, 1,
- G_TYPE_INT);
-
- e_text_model_signals[E_TEXT_MODEL_CANCEL_COMPLETION] =
- g_signal_new ("cancel_completion",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETextModelClass, cancel_completion),
- NULL, NULL,
- e_marshal_NONE__NONE,
- G_TYPE_NONE, 0);
-
- /* No default signal handlers. */
- klass->changed = NULL;
- klass->reposition = NULL;
- klass->object_activated = NULL;
-
- klass->validate_pos = e_text_model_real_validate_position;
-
- klass->get_text = e_text_model_real_get_text;
- klass->get_text_len = e_text_model_real_get_text_length;
- klass->set_text = e_text_model_real_set_text;
- klass->insert = e_text_model_real_insert;
- klass->insert_length = e_text_model_real_insert_length;
- klass->delete = e_text_model_real_delete;
-
- /* We explicitly don't define default handlers for these. */
- klass->objectify = NULL;
- klass->obj_count = NULL;
- klass->get_nth_obj = NULL;
-
- object_class->dispose = e_text_model_dispose;
-}
-
-/* Object initialization function for the text item */
-static void
-e_text_model_init (ETextModel *model)
-{
- model->priv = g_new0 (struct _ETextModelPrivate, 1);
- model->priv->text = g_string_new ("");
-}
-
-/* Dispose handler for the text item */
-static void
-e_text_model_dispose (GObject *object)
-{
- ETextModel *model;
-
- g_return_if_fail (object != NULL);
- g_return_if_fail (E_IS_TEXT_MODEL (object));
-
- model = E_TEXT_MODEL (object);
-
- if (model->priv) {
- g_string_free (model->priv->text, TRUE);
-
- g_free (model->priv);
- model->priv = NULL;
- }
-
- if (G_OBJECT_CLASS (parent_class)->dispose)
- G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-static gint
-e_text_model_real_validate_position (ETextModel *model, gint pos)
-{
- gint len = e_text_model_get_text_length (model);
-
- if (pos < 0)
- pos = 0;
- else if (pos > len)
- pos = len;
-
- return pos;
-}
-
-static const gchar *
-e_text_model_real_get_text (ETextModel *model)
-{
- if (model->priv->text)
- return model->priv->text->str;
- else
- return "";
-}
-
-static gint
-e_text_model_real_get_text_length (ETextModel *model)
-{
- return g_utf8_strlen (model->priv->text->str, -1);
-}
-
-static void
-e_text_model_real_set_text (ETextModel *model, const gchar *text)
-{
- EReposAbsolute repos;
- gboolean changed = FALSE;
-
- if (text == NULL) {
- changed = (*model->priv->text->str != '\0');
-
- g_string_set_size (model->priv->text, 0);
-
- } else if (*model->priv->text->str == '\0' || strcmp (model->priv->text->str, text)) {
-
- g_string_assign (model->priv->text, text);
-
- changed = TRUE;
- }
-
- if (changed) {
- e_text_model_changed (model);
- repos.model = model;
- repos.pos = -1;
- e_text_model_reposition (model, e_repos_absolute, &repos);
- }
-}
-
-static void
-e_text_model_real_insert (ETextModel *model, gint position, const gchar *text)
-{
- e_text_model_insert_length (model, position, text, strlen (text));
-}
-
-static void
-e_text_model_real_insert_length (ETextModel *model, gint position, const gchar *text, gint length)
-{
- EReposInsertShift repos;
- int model_len = e_text_model_real_get_text_length (model);
- char *offs;
- const char *p;
- int byte_length, l;
-
- if (position > model_len)
- return;
-
- offs = g_utf8_offset_to_pointer (model->priv->text->str, position);
-
- for (p = text, l = 0;
- l < length;
- p = g_utf8_next_char (p), l ++) ;
-
- byte_length = p - text;
-
- g_string_insert_len (model->priv->text,
- offs - model->priv->text->str,
- text, byte_length);
-
- e_text_model_changed (model);
-
- repos.model = model;
- repos.pos = position;
- repos.len = length;
-
- e_text_model_reposition (model, e_repos_insert_shift, &repos);
-}
-
-static void
-e_text_model_real_delete (ETextModel *model, gint position, gint length)
-{
- EReposDeleteShift repos;
- int byte_position, byte_length;
- char *offs, *p;
- int l;
-
- offs = g_utf8_offset_to_pointer (model->priv->text->str, position);
- byte_position = offs - model->priv->text->str;
-
- for (p = offs, l = 0;
- l < length;
- p = g_utf8_next_char (p), l ++) ;
-
- byte_length = p - offs;
-
- g_string_erase (model->priv->text,
- byte_position, byte_length);
-
- e_text_model_changed (model);
-
- repos.model = model;
- repos.pos = position;
- repos.len = length;
-
- e_text_model_reposition (model, e_repos_delete_shift, &repos);
-}
-
-void
-e_text_model_changed (ETextModel *model)
-{
- g_return_if_fail (model != NULL);
- g_return_if_fail (E_IS_TEXT_MODEL (model));
-
- /*
- Objectify before emitting any signal.
- While this method could, in theory, do pretty much anything, it is meant
- for scanning objects and converting substrings into embedded objects.
- */
- if (E_TEXT_MODEL_GET_CLASS (model)->objectify)
- E_TEXT_MODEL_GET_CLASS (model)->objectify (model);
-
- g_signal_emit (model,
- e_text_model_signals[E_TEXT_MODEL_CHANGED], 0);
-}
-
-void
-e_text_model_cancel_completion (ETextModel *model)
-{
- g_return_if_fail (E_IS_TEXT_MODEL (model));
-
- g_signal_emit (model, e_text_model_signals[E_TEXT_MODEL_CANCEL_COMPLETION], 0);
-}
-
-void
-e_text_model_reposition (ETextModel *model, ETextModelReposFn fn, gpointer repos_data)
-{
- g_return_if_fail (model != NULL);
- g_return_if_fail (E_IS_TEXT_MODEL (model));
- g_return_if_fail (fn != NULL);
-
- g_signal_emit (model,
- e_text_model_signals[E_TEXT_MODEL_REPOSITION], 0,
- fn, repos_data);
-}
-
-gint
-e_text_model_validate_position (ETextModel *model, gint pos)
-{
- g_return_val_if_fail (model != NULL, 0);
- g_return_val_if_fail (E_IS_TEXT_MODEL (model), 0);
-
- if (E_TEXT_MODEL_GET_CLASS (model)->validate_pos)
- pos = E_TEXT_MODEL_GET_CLASS (model)->validate_pos (model, pos);
-
- return pos;
-}
-
-const gchar *
-e_text_model_get_text (ETextModel *model)
-{
- g_return_val_if_fail (model != NULL, NULL);
- g_return_val_if_fail (E_IS_TEXT_MODEL (model), NULL);
-
- if (E_TEXT_MODEL_GET_CLASS (model)->get_text)
- return E_TEXT_MODEL_GET_CLASS (model)->get_text (model);
-
- return "";
-}
-
-gint
-e_text_model_get_text_length (ETextModel *model)
-{
- g_return_val_if_fail (model != NULL, 0);
- g_return_val_if_fail (E_IS_TEXT_MODEL (model), 0);
-
- if (E_TEXT_MODEL_GET_CLASS (model)->get_text_len (model)) {
-
- gint len = E_TEXT_MODEL_GET_CLASS (model)->get_text_len (model);
-
-#ifdef PARANOID_DEBUGGING
- const gchar *str = e_text_model_get_text (model);
- gint len2 = str ? g_utf8_strlen (str, -1) : 0;
- if (len != len)
- g_error ("\"%s\" length reported as %d, not %d.", str, len, len2);
-#endif
-
- return len;
-
- } else {
- /* Calculate length the old-fashioned way... */
- const gchar *str = e_text_model_get_text (model);
- return str ? g_utf8_strlen (str, -1) : 0;
- }
-}
-
-void
-e_text_model_set_text (ETextModel *model, const gchar *text)
-{
- g_return_if_fail (model != NULL);
- g_return_if_fail (E_IS_TEXT_MODEL (model));
-
- if (E_TEXT_MODEL_GET_CLASS (model)->set_text)
- E_TEXT_MODEL_GET_CLASS (model)->set_text (model, text);
-}
-
-void
-e_text_model_insert (ETextModel *model, gint position, const gchar *text)
-{
- g_return_if_fail (model != NULL);
- g_return_if_fail (E_IS_TEXT_MODEL (model));
-
- if (text == NULL)
- return;
-
- if (E_TEXT_MODEL_GET_CLASS (model)->insert)
- E_TEXT_MODEL_GET_CLASS (model)->insert (model, position, text);
-}
-
-void
-e_text_model_insert_length (ETextModel *model, gint position, const gchar *text, gint length)
-{
- g_return_if_fail (model != NULL);
- g_return_if_fail (E_IS_TEXT_MODEL (model));
- g_return_if_fail (length >= 0);
-
-
- if (text == NULL || length == 0)
- return;
-
- if (E_TEXT_MODEL_GET_CLASS (model)->insert_length)
- E_TEXT_MODEL_GET_CLASS (model)->insert_length (model, position, text, length);
-}
-
-void
-e_text_model_prepend (ETextModel *model, const gchar *text)
-{
- g_return_if_fail (model != NULL);
- g_return_if_fail (E_IS_TEXT_MODEL (model));
-
- if (text == NULL)
- return;
-
- e_text_model_insert (model, 0, text);
-}
-
-void
-e_text_model_append (ETextModel *model, const gchar *text)
-{
- g_return_if_fail (model != NULL);
- g_return_if_fail (E_IS_TEXT_MODEL (model));
-
- if (text == NULL)
- return;
-
- e_text_model_insert (model, e_text_model_get_text_length (model), text);
-}
-
-void
-e_text_model_delete (ETextModel *model, gint position, gint length)
-{
- gint txt_len;
-
- g_return_if_fail (model != NULL);
- g_return_if_fail (E_IS_TEXT_MODEL (model));
- g_return_if_fail (length >= 0);
-
- txt_len = e_text_model_get_text_length (model);
- if (position + length > txt_len)
- length = txt_len - position;
-
- if (length <= 0)
- return;
-
- if (E_TEXT_MODEL_GET_CLASS (model)->delete)
- E_TEXT_MODEL_GET_CLASS (model)->delete (model, position, length);
-}
-
-gint
-e_text_model_object_count (ETextModel *model)
-{
- g_return_val_if_fail (model != NULL, 0);
- g_return_val_if_fail (E_IS_TEXT_MODEL (model), 0);
-
- if (E_TEXT_MODEL_GET_CLASS (model)->obj_count)
- return E_TEXT_MODEL_GET_CLASS (model)->obj_count (model);
-
- return 0;
-}
-
-const gchar *
-e_text_model_get_nth_object (ETextModel *model, gint n, gint *len)
-{
- g_return_val_if_fail (model != NULL, NULL);
- g_return_val_if_fail (E_IS_TEXT_MODEL (model), NULL);
-
- if (n < 0 || n >= e_text_model_object_count (model))
- return NULL;
-
- if (E_TEXT_MODEL_GET_CLASS (model)->get_nth_obj)
- return E_TEXT_MODEL_GET_CLASS (model)->get_nth_obj (model, n, len);
-
- return NULL;
-}
-
-gchar *
-e_text_model_strdup_nth_object (ETextModel *model, gint n)
-{
- const gchar *obj;
- gint len = 0;
-
- g_return_val_if_fail (model != NULL, NULL);
- g_return_val_if_fail (E_IS_TEXT_MODEL (model), NULL);
-
- obj = e_text_model_get_nth_object (model, n, &len);
-
- if (obj) {
- gint byte_len;
- byte_len = g_utf8_offset_to_pointer (obj, len) - obj;
- return g_strndup (obj, byte_len);
- }
- else {
- return NULL;
- }
-}
-
-void
-e_text_model_get_nth_object_bounds (ETextModel *model, gint n, gint *start, gint *end)
-{
- const gchar *txt = NULL, *obj = NULL;
- gint len = 0;
-
- g_return_if_fail (model != NULL);
- g_return_if_fail (E_IS_TEXT_MODEL (model));
-
- txt = e_text_model_get_text (model);
- obj = e_text_model_get_nth_object (model, n, &len);
-
- g_return_if_fail (obj != NULL);
-
- if (start)
- *start = g_utf8_pointer_to_offset (txt, obj);
- if (end)
- *end = *start + len;
-}
-
-gint
-e_text_model_get_object_at_offset (ETextModel *model, gint offset)
-{
- g_return_val_if_fail (model != NULL, -1);
- g_return_val_if_fail (E_IS_TEXT_MODEL (model), -1);
-
- if (offset < 0 || offset >= e_text_model_get_text_length (model))
- return -1;
-
- /* If an optimized version has been provided, we use it. */
- if (E_TEXT_MODEL_GET_CLASS (model)->obj_at_offset) {
-
- return E_TEXT_MODEL_GET_CLASS (model)->obj_at_offset (model, offset);
-
- } else {
- /* If not, we fake it.*/
-
- gint i, N, pos0, pos1;
-
- N = e_text_model_object_count (model);
-
- for (i = 0; i < N; ++i) {
- e_text_model_get_nth_object_bounds (model, i, &pos0, &pos1);
- if (pos0 <= offset && offset < pos1)
- return i;
- }
-
- }
-
- return -1;
-}
-
-gint
-e_text_model_get_object_at_pointer (ETextModel *model, const gchar *s)
-{
- g_return_val_if_fail (model != NULL, -1);
- g_return_val_if_fail (E_IS_TEXT_MODEL (model), -1);
- g_return_val_if_fail (s != NULL, -1);
-
- return e_text_model_get_object_at_offset (model, s - e_text_model_get_text (model));
-}
-
-void
-e_text_model_activate_nth_object (ETextModel *model, gint n)
-{
- g_return_if_fail (model != NULL);
- g_return_if_fail (E_IS_TEXT_MODEL (model));
- g_return_if_fail (n >= 0);
- g_return_if_fail (n < e_text_model_object_count (model));
-
- g_signal_emit (model, e_text_model_signals[E_TEXT_MODEL_OBJECT_ACTIVATED], 0, n);
-}
-
-ETextModel *
-e_text_model_new (void)
-{
- ETextModel *model = g_object_new (E_TYPE_TEXT_MODEL, NULL);
- return model;
-}
diff --git a/widgets/text/e-text-model.h b/widgets/text/e-text-model.h
deleted file mode 100644
index 2e472ead44..0000000000
--- a/widgets/text/e-text-model.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-text-model.h
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef E_TEXT_MODEL_H
-#define E_TEXT_MODEL_H
-
-#include <glib.h>
-#include <gtk/gtkobject.h>
-
-G_BEGIN_DECLS
-
-#define E_TYPE_TEXT_MODEL (e_text_model_get_type ())
-#define E_TEXT_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_TEXT_MODEL, ETextModel))
-#define E_TEXT_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_TYPE_TEXT_MODEL, ETextModelClass))
-#define E_IS_TEXT_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_TYPE_TEXT_MODEL))
-#define E_IS_TEXT_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), E_TYPE_TEXT_MODEL))
-#define E_TEXT_MODEL_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), E_TYPE_TEXT_MODEL_TYPE, ETextModelClass))
-
-typedef struct _ETextModel ETextModel;
-typedef struct _ETextModelClass ETextModelClass;
-
-struct _ETextModelPrivate;
-
-typedef gint (*ETextModelReposFn) (gint, gpointer);
-
-struct _ETextModel {
- GObject item;
-
- struct _ETextModelPrivate *priv;
-};
-
-struct _ETextModelClass {
- GObjectClass parent_class;
-
- /* Signal */
- void (* changed) (ETextModel *model);
- void (* reposition) (ETextModel *model, ETextModelReposFn fn, gpointer repos_fn_data);
- void (* object_activated) (ETextModel *model, gint obj_num);
- void (* cancel_completion) (ETextModel *model);
-
- /* Virtual methods */
-
- gint (* validate_pos) (ETextModel *model, gint pos);
-
- const char *(* get_text) (ETextModel *model);
- gint (* get_text_len) (ETextModel *model);
- void (* set_text) (ETextModel *model, const gchar *text);
- void (* insert) (ETextModel *model, gint position, const gchar *text);
- void (* insert_length) (ETextModel *model, gint position, const gchar *text, gint length);
- void (* delete) (ETextModel *model, gint position, gint length);
-
- void (* objectify) (ETextModel *model);
- gint (* obj_count) (ETextModel *model);
- const gchar *(* get_nth_obj) (ETextModel *model, gint n, gint *len);
- gint (* obj_at_offset) (ETextModel *model, gint offset);
-};
-
-GType e_text_model_get_type (void);
-
-ETextModel *e_text_model_new (void);
-
-void e_text_model_changed (ETextModel *model);
-void e_text_model_cancel_completion (ETextModel *model);
-
-void e_text_model_reposition (ETextModel *model, ETextModelReposFn fn, gpointer repos_data);
-gint e_text_model_validate_position (ETextModel *model, gint pos);
-
-
-/* Functions for manipulating the underlying text. */
-
-const gchar *e_text_model_get_text (ETextModel *model);
-gint e_text_model_get_text_length (ETextModel *model);
-void e_text_model_set_text (ETextModel *model, const gchar *text);
-void e_text_model_insert (ETextModel *model, gint position, const gchar *text);
-void e_text_model_insert_length (ETextModel *model, gint position, const gchar *text, gint length);
-void e_text_model_prepend (ETextModel *model, const gchar *text);
-void e_text_model_append (ETextModel *model, const gchar *text);
-void e_text_model_delete (ETextModel *model, gint position, gint length);
-
-
-/* Functions for accessing embedded objects. */
-
-gint e_text_model_object_count (ETextModel *model);
-const gchar *e_text_model_get_nth_object (ETextModel *model, gint n, gint *len);
-gchar *e_text_model_strdup_nth_object (ETextModel *model, gint n);
-void e_text_model_get_nth_object_bounds (ETextModel *model, gint n, gint *start_pos, gint *end_pos);
-gint e_text_model_get_object_at_offset (ETextModel *model, gint offset);
-gint e_text_model_get_object_at_pointer (ETextModel *model, const gchar *c);
-void e_text_model_activate_nth_object (ETextModel *model, gint n);
-
-G_END_DECLS
-
-#endif
diff --git a/widgets/text/e-text-test.c b/widgets/text/e-text-test.c
deleted file mode 100644
index d10a745d85..0000000000
--- a/widgets/text/e-text-test.c
+++ /dev/null
@@ -1,168 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-text-test.c - E-Text item test program
- * Copyright 2000: Iain Holmes <ih@csd.abdn.ac.uk>
- *
- * Authors:
- * Iain Holmes <ih@csd.abdn.ac.uk>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include "e-text.h"
-#include <gnome.h>
-#include "gal/widgets/e-canvas.h"
-#include "gal/widgets/e-unicode.h"
-
-GnomeCanvasItem *rect;
-
-static void allocate_callback(GtkWidget *canvas, GtkAllocation *allocation, GnomeCanvasItem *item)
-{
- double height;
- gnome_canvas_item_set( item,
- "width", (double) allocation->width,
- NULL );
- g_object_get(item,
- "height", &height,
- NULL);
- height = MAX(height, allocation->height);
- gnome_canvas_set_scroll_region(GNOME_CANVAS( canvas ), 0, 0, allocation->width, height );
- gnome_canvas_item_set( rect,
- "x2", (double) allocation->width,
- "y2", (double) height,
- NULL );
-}
-
-static void
-reflow (GtkWidget *canvas, GnomeCanvasItem *item)
-{
- double height;
- g_object_get(item,
- "height", &height,
- NULL);
- height = MAX(height, canvas->allocation.height);
- gnome_canvas_set_scroll_region(GNOME_CANVAS( canvas ), 0, 0, canvas->allocation.width, height );
- gnome_canvas_item_set( rect,
- "x2", (double) canvas->allocation.width,
- "y2", (double) height,
- NULL );
-}
-
-static void
-quit_cb (gpointer data, GObject *where_object_was)
-{
- gtk_main_quit ();
-}
-
-static void
-change_text_cb (GtkEntry *entry,
- EText *text)
-{
- gchar *str;
-
- str = e_utf8_gtk_entry_get_text (entry);
- gnome_canvas_item_set (GNOME_CANVAS_ITEM (text),
- "text", str,
- NULL);
-}
-
-static void
-change_font_cb (GtkEntry *entry,
- EText *text)
-{
- gchar *font;
-
- font = gtk_entry_get_text (entry);
- gnome_canvas_item_set (GNOME_CANVAS_ITEM (text),
- "font", font,
- NULL);
-}
-
-int
-main (int argc,
- char **argv)
-{
- GtkWidget *window, *canvas, *scroller, *vbox, *text, *font;
- GtkWidget *frame;
- GnomeCanvasItem *item;
-
- gnome_init ("ETextTest", "0.0.1", argc, argv);
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gtk_window_set_title (GTK_WINDOW (window), "EText Test");
- g_object_weak_ref (G_OBJECT (window),
- quit_cb, NULL);
-
- gtk_widget_push_colormap (gdk_rgb_get_cmap ());
- canvas = e_canvas_new ();
- gtk_widget_pop_colormap ();
- scroller = gtk_scrolled_window_new (NULL, NULL);
- vbox = gtk_vbox_new (FALSE, 2);
-
- gtk_container_add (GTK_CONTAINER (window), vbox);
- gtk_box_pack_start (GTK_BOX (vbox), scroller, TRUE, TRUE, 2);
- gtk_container_add (GTK_CONTAINER (scroller), canvas);
-
- frame = gtk_frame_new ("Text");
- text = gtk_entry_new ();
- gtk_entry_set_text(GTK_ENTRY(text), "Hello World! This is a really long string to test out the ellipsis stuff.");
- gtk_container_add (GTK_CONTAINER (frame), text);
- gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
-
- frame = gtk_frame_new ("Font");
- font = gtk_entry_new ();
- gtk_entry_set_text(GTK_ENTRY(font), "fixed");
- gtk_container_add (GTK_CONTAINER (frame), font);
- gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
-
- rect = gnome_canvas_item_new( gnome_canvas_root( GNOME_CANVAS( canvas ) ),
- gnome_canvas_rect_get_type(),
- "x1", (double) 0,
- "y1", (double) 0,
- "x2", (double) 100,
- "y2", (double) 100,
- "fill_color", "white",
- NULL );
-
- item = gnome_canvas_item_new (gnome_canvas_root (GNOME_CANVAS (canvas)),
- e_text_get_type (),
- "text", "Hello World! This is a really long string to test out the ellipsis stuff.",
- "font", "fixed",
- "fill_color", "black",
- "anchor", GTK_ANCHOR_NW,
- "clip", TRUE,
- "use_ellipsis", TRUE,
- "editable", TRUE,
- "line_wrap", TRUE,
- "max_lines", 2,
- "width", 150.0,
- NULL);
-
- g_signal_connect (text, "activate",
- G_CALLBACK (change_text_cb), item);
- g_signal_connect (font, "activate",
- G_CALLBACK (change_font_cb), item);
-
- g_signal_connect (canvas , "size_allocate",
- G_CALLBACK (allocate_callback),
- item );
- g_signal_connect (canvas , "reflow",
- G_CALLBACK (reflow),
- item );
- gnome_canvas_set_scroll_region (GNOME_CANVAS (canvas), 0.0, 0.0, 400.0, 400.0);
- gtk_widget_show_all (window);
- gtk_main ();
-
- return 0;
-}
diff --git a/widgets/text/e-text.c b/widgets/text/e-text.c
deleted file mode 100644
index 8bf0ffcfc1..0000000000
--- a/widgets/text/e-text.c
+++ /dev/null
@@ -1,3867 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-text.c - Text item for evolution.
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Jon Trowbridge <trow@ximian.com>
- *
- * A majority of code taken from:
- *
- * Text item type for GnomeCanvas widget
- *
- * GnomeCanvas is basically a port of the Tk toolkit's most excellent
- * canvas widget. Tk is copyrighted by the Regents of the University
- * of California, Sun Microsystems, and other parties.
- *
- * Copyright (C) 1998 The Free Software Foundation
- *
- * Author: Federico Mena <federico@nuclecu.unam.mx>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-
-#include "e-text.h"
-
-#include <math.h>
-#include <ctype.h>
-#include <string.h>
-#include <glib-object.h>
-#include <gdk/gdkx.h> /* for BlackPixel */
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtkclipboard.h>
-#include <gtk/gtkmain.h>
-#include <gtk/gtkselection.h>
-#include <gtk/gtkstock.h>
-#include <gtk/gtkwindow.h>
-#include <gtk/gtktypebuiltins.h>
-#include <gtk/gtkmenu.h>
-#include <gtk/gtkimagemenuitem.h>
-#include <gtk/gtkimmulticontext.h>
-#include <gtk/gtkmenuitem.h>
-#include <gtk/gtkseparatormenuitem.h>
-#include <libgnomecanvas/gnome-canvas-rect-ellipse.h>
-#include <libgnome/gnome-i18n.h>
-#include "gal/util/e-util.h"
-#include "gal/widgets/e-canvas.h"
-#include "gal/widgets/e-canvas-utils.h"
-#include "gal/widgets/e-unicode.h"
-#include "gal/util/e-text-event-processor-emacs-like.h"
-#include "gal/util/e-util.h"
-#include <libart_lgpl/art_affine.h>
-#include <libart_lgpl/art_rgb.h>
-#include <libart_lgpl/art_rgb_bitmap_affine.h>
-
-#include <atk/atk.h>
-#include "gal/a11y/e-text/gal-a11y-e-text.h"
-
-#define PARENT_TYPE (gnome_canvas_item_get_type())
-
-#define BORDER_INDENT 3
-#define d(x)
-
-enum {
- E_TEXT_CHANGED,
- E_TEXT_ACTIVATE,
- E_TEXT_KEYPRESS,
- E_TEXT_POPULATE_POPUP,
- E_TEXT_STYLE_SET,
- E_TEXT_LAST_SIGNAL
-};
-
-static GQuark e_text_signals[E_TEXT_LAST_SIGNAL] = { 0 };
-
-/* Object argument IDs */
-enum {
- PROP_0,
- PROP_MODEL,
- PROP_EVENT_PROCESSOR,
- PROP_TEXT,
- PROP_BOLD,
- PROP_STRIKEOUT,
- PROP_ANCHOR,
- PROP_JUSTIFICATION,
- PROP_CLIP_WIDTH,
- PROP_CLIP_HEIGHT,
- PROP_CLIP,
- PROP_FILL_CLIP_RECTANGLE,
- PROP_X_OFFSET,
- PROP_Y_OFFSET,
- PROP_FILL_COLOR,
- PROP_FILL_COLOR_GDK,
- PROP_FILL_COLOR_RGBA,
- PROP_FILL_STIPPLE,
- PROP_TEXT_WIDTH,
- PROP_TEXT_HEIGHT,
- PROP_EDITABLE,
- PROP_USE_ELLIPSIS,
- PROP_ELLIPSIS,
- PROP_LINE_WRAP,
- PROP_BREAK_CHARACTERS,
- PROP_MAX_LINES,
- PROP_WIDTH,
- PROP_HEIGHT,
- PROP_DRAW_BORDERS,
- PROP_ALLOW_NEWLINES,
- PROP_DRAW_BACKGROUND,
- PROP_DRAW_BUTTON,
- PROP_CURSOR_POS,
- PROP_IM_CONTEXT,
- PROP_HANDLE_POPUP
-};
-
-static void e_text_command(ETextEventProcessor *tep, ETextEventProcessorCommand *command, gpointer data);
-
-static void e_text_text_model_changed(ETextModel *model, EText *text);
-static void e_text_text_model_reposition (ETextModel *model, ETextModelReposFn fn, gpointer repos_data, gpointer data);
-
-static void _get_tep(EText *text);
-
-static void calc_height (EText *text);
-
-static gboolean show_pango_rectangle (EText *text, PangoRectangle rect);
-
-static void e_text_do_popup (EText *text, GdkEventButton *button, int position);
-
-static void e_text_update_primary_selection (EText *text);
-static void e_text_paste (EText *text, GdkAtom selection);
-static void e_text_insert(EText *text, const char *string);
-
-static void reset_layout_attrs (EText *text);
-
-#if 0
-/* GtkEditable Methods */
-static void e_text_editable_do_insert_text (GtkEditable *editable,
- const gchar *text,
- gint length,
- gint *position);
-static void e_text_editable_do_delete_text (GtkEditable *editable,
- gint start_pos,
- gint end_pos);
-static gchar* e_text_editable_get_chars (GtkEditable *editable,
- gint start_pos,
- gint end_pos);
-static void e_text_editable_set_selection_bounds (GtkEditable *editable,
- gint start_pos,
- gint end_pos);
-static gboolean e_text_editable_get_selection_bounds (GtkEditable *editable,
- gint *start_pos,
- gint *end_pos);
-static void e_text_editable_set_position (GtkEditable *editable,
- gint position);
-static gint e_text_editable_get_position (GtkEditable *editable);
-#endif
-
-/* IM Context Callbacks */
-static void e_text_commit_cb (GtkIMContext *context,
- const gchar *str,
- EText *text);
-static void e_text_preedit_changed_cb (GtkIMContext *context,
- EText *text);
-static gboolean e_text_retrieve_surrounding_cb (GtkIMContext *context,
- EText *text);
-static gboolean e_text_delete_surrounding_cb (GtkIMContext *context,
- gint offset,
- gint n_chars,
- EText *text);
-
-static GnomeCanvasItemClass *parent_class;
-static GdkAtom clipboard_atom = GDK_NONE;
-
-
-
-/* Dispose handler for the text item */
-
-#if 0
-static void
-e_text_style_set (EText *text, GtkStyle *previous_style)
-{
- if ( text->line_wrap ) {
- text->needs_split_into_lines = 1;
- } else {
- text->needs_calc_height = 1;
- }
- e_canvas_item_request_reflow (GNOME_CANVAS_ITEM (text));
-}
-#endif
-
-static void
-e_text_dispose (GObject *object)
-{
- EText *text;
-
- g_return_if_fail (object != NULL);
- g_return_if_fail (E_IS_TEXT (object));
-
- text = E_TEXT (object);
-
- if (text->tooltip_owner)
- e_canvas_hide_tooltip (E_CANVAS(GNOME_CANVAS_ITEM(text)->canvas));
- text->tooltip_owner = 0;
-
- if (text->model_changed_signal_id)
- g_signal_handler_disconnect (text->model,
- text->model_changed_signal_id);
- text->model_changed_signal_id = 0;
-
- if (text->model_repos_signal_id)
- g_signal_handler_disconnect (text->model,
- text->model_repos_signal_id);
- text->model_repos_signal_id = 0;
-
- if (text->model)
- g_object_unref(text->model);
- text->model = NULL;
-
- if (text->tep_command_id)
- g_signal_handler_disconnect(text->tep,
- text->tep_command_id);
- text->tep_command_id = 0;
-
- if (text->tep)
- g_object_unref (text->tep);
- text->tep = NULL;
-
- g_free (text->revert);
- text->revert = NULL;
-
- if (text->stipple)
- gdk_bitmap_unref (text->stipple);
- text->stipple = NULL;
-
- if (text->timeout_id) {
- g_source_remove(text->timeout_id);
- text->timeout_id = 0;
- }
-
- if (text->timer) {
- g_timer_stop(text->timer);
- g_timer_destroy(text->timer);
- text->timer = NULL;
- }
-
- if ( text->tooltip_timeout ) {
- gtk_timeout_remove (text->tooltip_timeout);
- text->tooltip_timeout = 0;
- }
-
- if ( text->dbl_timeout ) {
- gtk_timeout_remove (text->dbl_timeout);
- text->dbl_timeout = 0;
- }
-
- if ( text->tpl_timeout ) {
- gtk_timeout_remove (text->tpl_timeout);
- text->tpl_timeout = 0;
- }
-
- if (text->layout) {
- g_object_unref (text->layout);
- text->layout = NULL;
- }
-
- if (text->im_context) {
- g_signal_handlers_disconnect_matched (text->im_context,
- G_SIGNAL_MATCH_DATA,
- 0, 0, NULL,
- NULL, text);
- g_object_unref (text->im_context);
- text->im_context = NULL;
- }
-
- if (G_OBJECT_CLASS (parent_class)->dispose)
- (* G_OBJECT_CLASS (parent_class)->dispose) (object);
-}
-
-static void
-insert_preedit_text (EText *text)
-{
- PangoAttrList *attrs = NULL;
- PangoAttrList *preedit_attrs = NULL;
- gchar *preedit_string = NULL;
- GString *tmp_string = g_string_new (NULL);
- gint length = 0, cpos = 0, preedit_length = 0;
- gboolean new_attrs = FALSE;
-
- if (text->layout == NULL || !GTK_IS_IM_CONTEXT (text->im_context))
- return;
-
- text->text = e_text_model_get_text(text->model);
- length = strlen (text->text);
-
- g_string_prepend_len (tmp_string, text->text,length);
-
- if (text->preedit_len)
- gtk_im_context_get_preedit_string (text->im_context,
- &preedit_string, &preedit_attrs,
- NULL);
-
- if (preedit_string && g_utf8_validate (preedit_string, -1, NULL))
- text->preedit_len = preedit_length = strlen (preedit_string);
- else
- text->preedit_len = preedit_length = 0;
-
- cpos = g_utf8_offset_to_pointer (text->text, text->selection_start) - text->text;
-
- if (preedit_length) {
- g_string_insert (tmp_string, cpos, preedit_string);
-
- reset_layout_attrs (text);
-
- attrs = pango_layout_get_attributes (text->layout);
- if (!attrs) {
- attrs = pango_attr_list_new ();
- new_attrs = TRUE;
- }
-
- pango_layout_set_text (text->layout, tmp_string->str, tmp_string->len);
-
- pango_attr_list_splice (attrs, preedit_attrs, cpos, preedit_length);
-
- if (new_attrs) {
- pango_layout_set_attributes (text->layout, attrs);
- pango_attr_list_unref (attrs);
- }
- }
-
- if (preedit_string)
- g_free (preedit_string);
- if (preedit_attrs)
- pango_attr_list_unref (preedit_attrs);
- if (tmp_string)
- g_string_free (tmp_string, TRUE);
-}
-
-static void
-reset_layout_attrs (EText *text)
-{
- PangoAttrList *attrs = NULL;
- int object_count;
-
- if (text->layout == NULL)
- return;
-
- object_count = e_text_model_object_count (text->model);
-
- if (text->bold || text->strikeout || object_count > 0) {
- int length = 0;
- int i;
-
- attrs = pango_attr_list_new ();
-
- for (i = 0; i < object_count; i++) {
- int start_pos, end_pos;
- PangoAttribute *attr = pango_attr_underline_new (PANGO_UNDERLINE_SINGLE);
-
- e_text_model_get_nth_object_bounds (text->model, i, &start_pos, &end_pos);
-
- attr->start_index = g_utf8_offset_to_pointer (text->text, start_pos) - text->text;
- attr->end_index = g_utf8_offset_to_pointer (text->text, end_pos) - text->text;
-
- pango_attr_list_insert (attrs, attr);
- }
-
- if (text->bold || text->strikeout)
- length = strlen (text->text);
-
- if (text->bold) {
- PangoAttribute *attr = pango_attr_weight_new (PANGO_WEIGHT_BOLD);
- attr->start_index = 0;
- attr->end_index = length;
-
- pango_attr_list_insert_before (attrs, attr);
- }
- if (text->strikeout) {
- PangoAttribute *attr = pango_attr_strikethrough_new (TRUE);
- attr->start_index = 0;
- attr->end_index = length;
-
- pango_attr_list_insert_before (attrs, attr);
- }
- }
- pango_layout_set_attributes (text->layout, attrs);
- if (attrs)
- pango_attr_list_unref (attrs);
- calc_height (text);
-}
-
-static void
-create_layout (EText *text)
-{
- GnomeCanvasItem *item = GNOME_CANVAS_ITEM (text);
-
- if (text->layout)
- return;
-
- text->layout = gtk_widget_create_pango_layout (GTK_WIDGET (item->canvas), text->text);
- if (text->line_wrap)
- pango_layout_set_width (text->layout, text->clip_width < 0 ? -1 : text->clip_width * PANGO_SCALE);
- reset_layout_attrs (text);
-}
-
-static void
-reset_layout (EText *text)
-{
- if (text->layout == NULL) {
- create_layout (text);
- }
- else {
- pango_layout_set_text (text->layout, text->text, -1);
- reset_layout_attrs (text);
- }
-
- if (!text->button_down) {
- PangoRectangle strong_pos, weak_pos;
- char *offs = g_utf8_offset_to_pointer (text->text, text->selection_start);
-
- pango_layout_get_cursor_pos (text->layout, offs - text->text, &strong_pos, &weak_pos);
-
- if (strong_pos.x != weak_pos.x ||
- strong_pos.y != weak_pos.y ||
- strong_pos.width != weak_pos.width ||
- strong_pos.height != weak_pos.height)
- show_pango_rectangle (text, weak_pos);
-
- show_pango_rectangle (text, strong_pos);
- }
-}
-
-static void
-e_text_text_model_changed (ETextModel *model, EText *text)
-{
- gint model_len = e_text_model_get_text_length (model);
- text->text = e_text_model_get_text(model);
-
- /* Make sure our selection doesn't extend past the bounds of our text. */
- text->selection_start = CLAMP (text->selection_start, 0, model_len);
- text->selection_end = CLAMP (text->selection_end, 0, model_len);
-
- text->needs_reset_layout = 1;
- text->needs_split_into_lines = 1;
- text->needs_redraw = 1;
- e_canvas_item_request_reflow (GNOME_CANVAS_ITEM(text));
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM (text));
-
- g_signal_emit (text, e_text_signals[E_TEXT_CHANGED], 0);
-}
-
-static void
-e_text_text_model_reposition (ETextModel *model, ETextModelReposFn fn, gpointer repos_data, gpointer user_data)
-{
- EText *text = E_TEXT (user_data);
- gint model_len = e_text_model_get_text_length (model);
-
- text->selection_start = fn (text->selection_start, repos_data);
- text->selection_end = fn (text->selection_end, repos_data);
-
- /* Our repos function should make sure we don't overrun the buffer, but it never
- hurts to be paranoid. */
- text->selection_start = CLAMP (text->selection_start, 0, model_len);
- text->selection_end = CLAMP (text->selection_end, 0, model_len);
-
- if (text->selection_start > text->selection_end) {
- gint tmp = text->selection_start;
- text->selection_start = text->selection_end;
- text->selection_end = tmp;
- }
-}
-
-static void
-get_bounds (EText *text, double *px1, double *py1, double *px2, double *py2)
-{
- GnomeCanvasItem *item;
- double wx, wy, clip_width, clip_height;
-
- item = GNOME_CANVAS_ITEM (text);
-
- /* Get canvas pixel coordinates for text position */
-
- wx = 0;
- wy = 0;
- gnome_canvas_item_i2w (item, &wx, &wy);
- gnome_canvas_w2c (item->canvas, wx + text->xofs, wy + text->yofs, &text->cx, &text->cy);
- gnome_canvas_w2c (item->canvas, wx, wy, &text->clip_cx, &text->clip_cy);
-
- if (text->clip_width < 0)
- clip_width = text->width;
- else
- clip_width = text->clip_width;
-
- if ( text->clip_height < 0 )
- clip_height = text->height;
- else
- clip_height = text->clip_height;
-
- /* Get canvas pixel coordinates for clip rectangle position */
- text->clip_cwidth = clip_width * item->canvas->pixels_per_unit;
- text->clip_cheight = clip_height * item->canvas->pixels_per_unit;
-
- /* Anchor text */
-
- switch (text->anchor) {
- case GTK_ANCHOR_NW:
- case GTK_ANCHOR_W:
- case GTK_ANCHOR_SW:
- break;
-
- case GTK_ANCHOR_N:
- case GTK_ANCHOR_CENTER:
- case GTK_ANCHOR_S:
- text->cx -= text->width / 2;
- text->clip_cx -= text->clip_cwidth / 2;
- break;
-
- case GTK_ANCHOR_NE:
- case GTK_ANCHOR_E:
- case GTK_ANCHOR_SE:
- text->cx -= text->width;
- text->clip_cx -= text->clip_cwidth;
- break;
- }
-
- switch (text->anchor) {
- case GTK_ANCHOR_NW:
- case GTK_ANCHOR_N:
- case GTK_ANCHOR_NE:
- break;
-
- case GTK_ANCHOR_W:
- case GTK_ANCHOR_CENTER:
- case GTK_ANCHOR_E:
- text->cy -= text->height / 2;
- text->clip_cy -= text->clip_cheight / 2;
- break;
-
- case GTK_ANCHOR_SW:
- case GTK_ANCHOR_S:
- case GTK_ANCHOR_SE:
- text->cy -= text->height;
- text->clip_cy -= text->clip_cheight;
- break;
- }
-
- text->text_cx = text->cx;
- text->text_cy = text->cy;
-
- if (text->draw_borders) {
- text->text_cx += BORDER_INDENT;
- text->text_cy += BORDER_INDENT;
- }
-
- /* Bounds */
-
- if (text->clip) {
- *px1 = text->clip_cx;
- *py1 = text->clip_cy;
- *px2 = text->clip_cx + text->clip_cwidth;
- *py2 = text->clip_cy + text->clip_cheight;
- } else {
- *px1 = text->cx;
- *py1 = text->cy;
- *px2 = text->cx + text->width;
- *py2 = text->cy + text->height;
- }
-}
-
-static void
-calc_height (EText *text)
-{
- GnomeCanvasItem *item;
- int old_height;
- int old_width;
- int width = 0;
- int height = 0;
-
- item = GNOME_CANVAS_ITEM (text);
-
- /* Calculate text dimensions */
-
- old_height = text->height;
- old_width = text->width;
-
- if (text->layout)
- pango_layout_get_pixel_size (text->layout, &width, &height);
-
- text->height = height;
- text->width = width;
-
- if (old_height != text->height || old_width != text->width)
- e_canvas_item_request_parent_reflow(item);
-}
-
-static void
-calc_ellipsis (EText *text)
-{
-#warning "AIEEEE FIX ME. a pango layout per calc_ellipsis sucks"
- int width;
- PangoLayout *layout = gtk_widget_create_pango_layout (GTK_WIDGET (GNOME_CANVAS_ITEM (text)->canvas),
- text->ellipsis ? text->ellipsis : "...");
- pango_layout_get_size (layout, &width, NULL);
-
- text->ellipsis_width = width;
-
- g_object_unref (layout);
-}
-
-static void
-split_into_lines (EText *text)
-{
- text->num_lines = pango_layout_get_line_count (text->layout);
-}
-
-/* Convenience function to set the text's GC's foreground color */
-static void
-set_text_gc_foreground (EText *text)
-{
- if (!text->gc)
- return;
-
- gdk_gc_set_foreground (text->gc, &text->color);
-}
-
-/* Sets the stipple pattern for the text */
-static void
-set_stipple (EText *text, GdkBitmap *stipple, int reconfigure)
-{
- if (text->stipple && !reconfigure)
- gdk_bitmap_unref (text->stipple);
-
- text->stipple = stipple;
- if (stipple && !reconfigure)
- gdk_bitmap_ref (stipple);
-
- if (text->gc) {
- if (stipple) {
- gdk_gc_set_stipple (text->gc, stipple);
- gdk_gc_set_fill (text->gc, GDK_STIPPLED);
- } else
- gdk_gc_set_fill (text->gc, GDK_SOLID);
- }
-}
-
-/* Set_arg handler for the text item */
-static void
-e_text_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- GnomeCanvasItem *item;
- EText *text;
- GdkColor color = { 0, 0, 0, 0, };
- GdkColor *pcolor;
- gboolean color_changed;
- int have_pixel;
-
- gboolean needs_update = 0;
- gboolean needs_reflow = 0;
-
- item = GNOME_CANVAS_ITEM (object);
- text = E_TEXT (object);
-
- color_changed = FALSE;
- have_pixel = FALSE;
-
- switch (prop_id) {
- case PROP_MODEL:
-
- if ( text->model_changed_signal_id )
- g_signal_handler_disconnect (text->model,
- text->model_changed_signal_id);
-
- if ( text->model_repos_signal_id )
- g_signal_handler_disconnect (text->model,
- text->model_repos_signal_id);
-
- g_object_unref (text->model);
- text->model = E_TEXT_MODEL (g_value_get_object (value));
- g_object_ref (text->model);
-
- text->model_changed_signal_id =
- g_signal_connect (text->model,
- "changed",
- G_CALLBACK (e_text_text_model_changed),
- text);
-
- text->model_repos_signal_id =
- g_signal_connect (text->model,
- "reposition",
- G_CALLBACK (e_text_text_model_reposition),
- text);
-
- text->text = e_text_model_get_text(text->model);
- g_signal_emit (text, e_text_signals[E_TEXT_CHANGED], 0);
-
- text->needs_split_into_lines = 1;
- needs_reflow = 1;
- break;
-
- case PROP_EVENT_PROCESSOR:
- if ( text->tep && text->tep_command_id )
- g_signal_handler_disconnect(text->tep,
- text->tep_command_id);
- if ( text->tep ) {
- g_object_unref(text->tep);
- }
- text->tep = E_TEXT_EVENT_PROCESSOR(g_value_get_object (value));
- g_object_ref(text->tep);
- text->tep_command_id =
- g_signal_connect(text->tep,
- "command",
- G_CALLBACK(e_text_command),
- text);
- if (!text->allow_newlines)
- g_object_set (text->tep,
- "allow_newlines", FALSE,
- NULL);
- break;
-
- case PROP_TEXT:
- e_text_model_set_text(text->model, g_value_get_string (value));
- break;
-
- case PROP_BOLD:
- text->bold = g_value_get_boolean (value);
-
- text->needs_redraw = 1;
- text->needs_recalc_bounds = 1;
- if ( text->line_wrap )
- text->needs_split_into_lines = 1;
- else {
- text->needs_calc_height = 1;
- }
- needs_update = 1;
- needs_reflow = 1;
- break;
-
- case PROP_STRIKEOUT:
- text->strikeout = g_value_get_boolean (value);
- text->needs_redraw = 1;
- needs_update = 1;
- break;
-
- case PROP_ANCHOR:
- text->anchor = g_value_get_enum (value);
- text->needs_recalc_bounds = 1;
- needs_update = 1;
- break;
-
- case PROP_JUSTIFICATION:
- text->justification = g_value_get_enum (value);
- text->needs_redraw = 1;
- needs_update = 1;
- break;
-
- case PROP_CLIP_WIDTH:
- text->clip_width = fabs (g_value_get_double (value));
- calc_ellipsis (text);
- if ( text->line_wrap )
- text->needs_split_into_lines = 1;
- else {
- text->needs_calc_height = 1;
- }
- needs_reflow = 1;
- break;
-
- case PROP_CLIP_HEIGHT:
- text->clip_height = fabs (g_value_get_double (value));
- text->needs_recalc_bounds = 1;
- /* toshok: kind of a hack - set needs_reset_layout
- here so when something about the style/them
- changes, we redraw the text at the proper size/with
- the proper font. */
- text->needs_reset_layout = 1;
- needs_reflow = 1;
- break;
-
- case PROP_CLIP:
- text->clip = g_value_get_boolean (value);
- calc_ellipsis (text);
- if ( text->line_wrap )
- text->needs_split_into_lines = 1;
- else {
- text->needs_calc_height = 1;
- }
- needs_reflow = 1;
- break;
-
- case PROP_FILL_CLIP_RECTANGLE:
- text->fill_clip_rectangle = g_value_get_boolean (value);
- needs_update = 1;
- break;
-
- case PROP_X_OFFSET:
- text->xofs = g_value_get_double (value);
- text->needs_recalc_bounds = 1;
- needs_update = 1;
- break;
-
- case PROP_Y_OFFSET:
- text->yofs = g_value_get_double (value);
- text->needs_recalc_bounds = 1;
- needs_update = 1;
- break;
-
- case PROP_FILL_COLOR:
- if (g_value_get_string (value))
- gdk_color_parse (g_value_get_string (value), &color);
-
- text->rgba = ((color.red & 0xff00) << 16 |
- (color.green & 0xff00) << 8 |
- (color.blue & 0xff00) |
- 0xff);
- color_changed = TRUE;
- break;
-
- case PROP_FILL_COLOR_GDK:
- pcolor = g_value_get_boxed (value);
- if (pcolor) {
- color = *pcolor;
- }
-
- text->rgba = ((color.red & 0xff00) << 16 |
- (color.green & 0xff00) << 8 |
- (color.blue & 0xff00) |
- 0xff);
- color_changed = TRUE;
- break;
-
- case PROP_FILL_COLOR_RGBA:
- text->rgba = g_value_get_uint (value);
- color.red = ((text->rgba >> 24) & 0xff) * 0x101;
- color.green = ((text->rgba >> 16) & 0xff) * 0x101;
- color.blue = ((text->rgba >> 8) & 0xff) * 0x101;
- color_changed = TRUE;
- break;
-
- case PROP_FILL_STIPPLE:
- set_stipple (text, g_value_get_object (value), FALSE);
- text->needs_redraw = 1;
- needs_update = 1;
- break;
-
- case PROP_EDITABLE:
- text->editable = g_value_get_boolean (value);
- text->needs_redraw = 1;
- needs_update = 1;
- break;
-
- case PROP_USE_ELLIPSIS:
- text->use_ellipsis = g_value_get_boolean (value);
- needs_reflow = 1;
- break;
-
- case PROP_ELLIPSIS:
- if (text->ellipsis)
- g_free (text->ellipsis);
-
- text->ellipsis = g_strdup (g_value_get_string (value));
- calc_ellipsis (text);
- needs_reflow = 1;
- break;
-
- case PROP_LINE_WRAP:
- text->line_wrap = g_value_get_boolean (value);
- if (text->line_wrap) {
- if (text->layout) {
- pango_layout_set_width (text->layout, text->width < 0 ? -1 : text->width * PANGO_SCALE);
- }
- }
- text->needs_split_into_lines = 1;
- needs_reflow = 1;
- break;
-
- case PROP_BREAK_CHARACTERS:
- if ( text->break_characters ) {
- g_free(text->break_characters);
- text->break_characters = NULL;
- }
- if ( g_value_get_string (value) )
- text->break_characters = g_strdup( g_value_get_string (value) );
- text->needs_split_into_lines = 1;
- needs_reflow = 1;
- break;
-
- case PROP_MAX_LINES:
- text->max_lines = g_value_get_int (value);
- text->needs_split_into_lines = 1;
- needs_reflow = 1;
- break;
-
- case PROP_WIDTH:
- text->clip_width = fabs (g_value_get_double (value));
- calc_ellipsis (text);
- if ( text->line_wrap ) {
- if (text->layout) {
- pango_layout_set_width (text->layout, text->width < 0 ? -1 : text->width * PANGO_SCALE);
- }
- text->needs_split_into_lines = 1;
- }
- else {
- text->needs_calc_height = 1;
- }
- needs_reflow = 1;
- break;
-
- case PROP_DRAW_BORDERS:
- if (text->draw_borders != g_value_get_boolean (value)) {
- text->draw_borders = g_value_get_boolean (value);
- text->needs_calc_height = 1;
- text->needs_redraw = 1;
- needs_reflow = 1;
- needs_update = 1;
- }
- break;
-
- case PROP_DRAW_BACKGROUND:
- if (text->draw_background != g_value_get_boolean (value)) {
- text->draw_background = g_value_get_boolean (value);
- text->needs_redraw = 1;
- }
- break;
-
- case PROP_DRAW_BUTTON:
- if (text->draw_button != g_value_get_boolean (value)) {
- text->draw_button = g_value_get_boolean (value);
- text->needs_redraw = 1;
- }
- break;
-
- case PROP_ALLOW_NEWLINES:
- text->allow_newlines = g_value_get_boolean (value);
- _get_tep(text);
- g_object_set (text->tep,
- "allow_newlines", g_value_get_boolean (value),
- NULL);
- break;
-
- case PROP_CURSOR_POS: {
- ETextEventProcessorCommand command;
-
- command.action = E_TEP_MOVE;
- command.position = E_TEP_VALUE;
- command.value = g_value_get_int (value);
- command.time = GDK_CURRENT_TIME;
- e_text_command (text->tep, &command, text);
- break;
- }
-
- case PROP_IM_CONTEXT:
- if (text->im_context)
- g_object_unref (text->im_context);
-
- text->im_context = g_value_get_object (value);
- if (text->im_context)
- g_object_ref (text->im_context);
-
- text->need_im_reset = FALSE;
- break;
-
- case PROP_HANDLE_POPUP:
- text->handle_popup = g_value_get_boolean (value);
- break;
-
- default:
- return;
- }
-
- if (color_changed) {
- GdkColormap *colormap = gtk_widget_get_colormap (GTK_WIDGET (item->canvas));
-
- text->color = color;
- gdk_rgb_find_color (colormap, &text->color);
-
- if (!item->canvas->aa)
- set_text_gc_foreground (text);
-
- text->needs_redraw = 1;
- needs_update = 1;
- }
-
- if ( needs_reflow )
- e_canvas_item_request_reflow (item);
- if ( needs_update )
- gnome_canvas_item_request_update (item);
-}
-
-/* Get_arg handler for the text item */
-static void
-e_text_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
- EText *text;
-
- text = E_TEXT (object);
-
- switch (prop_id) {
- case PROP_MODEL:
- g_value_set_object (value, text->model);
- break;
-
- case PROP_EVENT_PROCESSOR:
- _get_tep(text);
- g_value_set_object (value, text->tep);
- break;
-
- case PROP_TEXT:
- g_value_set_string (value, g_strdup (text->text));
- break;
-
- case PROP_BOLD:
- g_value_set_boolean (value, text->bold);
- break;
-
- case PROP_STRIKEOUT:
- g_value_set_boolean (value, text->strikeout);
- break;
-
- case PROP_ANCHOR:
- g_value_set_enum (value, text->anchor);
- break;
-
- case PROP_JUSTIFICATION:
- g_value_set_enum (value, text->justification);
- break;
-
- case PROP_CLIP_WIDTH:
- g_value_set_double (value, text->clip_width);
- break;
-
- case PROP_CLIP_HEIGHT:
- g_value_set_double (value, text->clip_height);
- break;
-
- case PROP_CLIP:
- g_value_set_boolean (value, text->clip);
- break;
-
- case PROP_FILL_CLIP_RECTANGLE:
- g_value_set_boolean (value, text->fill_clip_rectangle);
- break;
-
- case PROP_X_OFFSET:
- g_value_set_double (value, text->xofs);
- break;
-
- case PROP_Y_OFFSET:
- g_value_set_double (value, text->yofs);
- break;
-
- case PROP_FILL_COLOR_GDK:
- g_value_set_boxed (value, &text->color);
- break;
-
- case PROP_FILL_COLOR_RGBA:
- g_value_set_uint (value, text->rgba);
- break;
-
- case PROP_FILL_STIPPLE:
- g_value_set_object (value, text->stipple);
- break;
-
- case PROP_TEXT_WIDTH:
- g_value_set_double (value, text->width / text->item.canvas->pixels_per_unit);
- break;
-
- case PROP_TEXT_HEIGHT:
- g_value_set_double (value, text->height / text->item.canvas->pixels_per_unit);
- break;
-
- case PROP_EDITABLE:
- g_value_set_boolean (value, text->editable);
- break;
-
- case PROP_USE_ELLIPSIS:
- g_value_set_boolean (value, text->use_ellipsis);
- break;
-
- case PROP_ELLIPSIS:
- g_value_set_string (value, g_strdup (text->ellipsis));
- break;
-
- case PROP_LINE_WRAP:
- g_value_set_boolean (value, text->line_wrap);
- break;
-
- case PROP_BREAK_CHARACTERS:
- g_value_set_string (value, g_strdup (text->break_characters));
- break;
-
- case PROP_MAX_LINES:
- g_value_set_int (value, text->max_lines);
- break;
-
- case PROP_WIDTH:
- g_value_set_double (value, text->clip_width);
- break;
-
- case PROP_HEIGHT:
- g_value_set_double (value, text->clip && text->clip_height != -1 ? text->clip_height : text->height / text->item.canvas->pixels_per_unit);
- break;
-
- case PROP_DRAW_BORDERS:
- g_value_set_boolean (value, text->draw_borders);
- break;
-
- case PROP_DRAW_BACKGROUND:
- g_value_set_boolean (value, text->draw_background);
- break;
-
- case PROP_DRAW_BUTTON:
- g_value_set_boolean (value, text->draw_button);
- break;
-
- case PROP_ALLOW_NEWLINES:
- g_value_set_boolean (value, text->allow_newlines);
- break;
-
- case PROP_CURSOR_POS:
- g_value_set_int (value, text->selection_start);
- break;
-
- case PROP_IM_CONTEXT:
- g_value_set_object (value, text->im_context);
- break;
-
- case PROP_HANDLE_POPUP:
- g_value_set_boolean (value, text->handle_popup);
- break;
-
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-/* Update handler for the text item */
-static void
-e_text_reflow (GnomeCanvasItem *item, int flags)
-{
- EText *text;
-
- text = E_TEXT (item);
-
- if (text->needs_reset_layout) {
- reset_layout (text);
- text->needs_reset_layout = 0;
- text->needs_calc_height = 1;
- }
-
- if (text->needs_split_into_lines) {
- split_into_lines (text);
-
- text->needs_split_into_lines = 0;
- text->needs_calc_height = 1;
- }
-
- if ( text->needs_calc_height ) {
- calc_height (text);
- gnome_canvas_item_request_update(item);
- text->needs_calc_height = 0;
- text->needs_recalc_bounds = 1;
- }
-}
-
-/* Update handler for the text item */
-static void
-e_text_update (GnomeCanvasItem *item, double *affine, ArtSVP *clip_path, int flags)
-{
- EText *text;
- double x1, y1, x2, y2;
-
- text = E_TEXT (item);
-
- if (parent_class->update)
- (* parent_class->update) (item, affine, clip_path, flags);
-
- if ( text->needs_recalc_bounds
- || (flags & GNOME_CANVAS_UPDATE_AFFINE)) {
- if (!item->canvas->aa) {
- set_text_gc_foreground (text);
- set_stipple (text, text->stipple, TRUE);
- get_bounds (text, &x1, &y1, &x2, &y2);
- if ( item->x1 != x1 ||
- item->x2 != x2 ||
- item->y1 != y1 ||
- item->y2 != y2 ) {
- gnome_canvas_request_redraw (item->canvas, item->x1, item->y1, item->x2, item->y2);
- item->x1 = x1;
- item->y1 = y1;
- item->x2 = x2;
- item->y2 = y2;
- text->needs_redraw = 1;
- item->canvas->need_repick = TRUE;
- }
- if (!text->fill_clip_rectangle)
- item->canvas->need_repick = TRUE;
- }
- text->needs_recalc_bounds = 0;
- }
- if ( text->needs_redraw ) {
- gnome_canvas_request_redraw (item->canvas, item->x1, item->y1, item->x2, item->y2);
- text->needs_redraw = 0;
- }
-}
-
-/* Realize handler for the text item */
-static void
-e_text_realize (GnomeCanvasItem *item)
-{
- EText *text;
-
- text = E_TEXT (item);
-
- if (parent_class->realize)
- (* parent_class->realize) (item);
-
- create_layout (text);
-
- text->gc = gdk_gc_new (item->canvas->layout.bin_window);
-#ifndef NO_WARNINGS
-#warning Color brokenness ...
-#endif
-#if 0
- gdk_color_context_query_color (item->canvas->cc, &text->color);
- gdk_gc_set_foreground (text->gc, &text->color);
-#endif
-
- text->i_cursor = gdk_cursor_new (GDK_XTERM);
- text->default_cursor = gdk_cursor_new (GDK_LEFT_PTR);
-}
-
-/* Unrealize handler for the text item */
-static void
-e_text_unrealize (GnomeCanvasItem *item)
-{
- EText *text;
-
- text = E_TEXT (item);
-
- gdk_gc_unref (text->gc);
- text->gc = NULL;
-
- gdk_cursor_destroy (text->i_cursor);
- text->i_cursor = NULL;
- gdk_cursor_destroy (text->default_cursor);
- text->default_cursor = NULL;
-
- if (parent_class->unrealize)
- (* parent_class->unrealize) (item);
-}
-
-static void
-_get_tep(EText *text)
-{
- if (!text->tep) {
- text->tep = e_text_event_processor_emacs_like_new();
- text->tep_command_id =
- g_signal_connect(text->tep,
- "command",
- G_CALLBACK(e_text_command),
- text);
- }
-}
-
-static void
-draw_pango_rectangle (GdkDrawable *drawable, GdkGC *gc, int x1, int y1, PangoRectangle rect)
-{
- int width = rect.width / PANGO_SCALE;
- int height = rect.height / PANGO_SCALE;
- if (width <= 0)
- width = 1;
- if (height <= 0)
- height = 1;
- gdk_draw_rectangle (drawable, gc, TRUE,
- x1 + rect.x / PANGO_SCALE, y1 + rect.y / PANGO_SCALE, width, height);
-}
-
-static gboolean
-show_pango_rectangle (EText *text, PangoRectangle rect)
-{
- int x1 = rect.x / PANGO_SCALE;
- int x2 = (rect.x + rect.width) / PANGO_SCALE;
-
- int y1 = rect.y / PANGO_SCALE;
- int y2 = (rect.y + rect.height) / PANGO_SCALE;
-
- int new_xofs_edit = text->xofs_edit;
- int new_yofs_edit = text->yofs_edit;
-
- int clip_width, clip_height;
-
- clip_width = text->clip_width;
- if (clip_width >= 0 && text->draw_borders) {
- clip_width -= 6;
- if (clip_width < 0)
- clip_width = 0;
- }
-
- clip_height = text->clip_height;
-
- if (clip_height >= 0 && text->draw_borders) {
- clip_height -= 6;
- if (clip_height < 0)
- clip_height = 0;
- }
-
- if (x1 < new_xofs_edit)
- new_xofs_edit = x1;
-
- if (y1 < new_yofs_edit)
- new_yofs_edit = y1;
-
- if (clip_width >= 0) {
- if (2 + x2 - clip_width > new_xofs_edit)
- new_xofs_edit = 2 + x2 - clip_width;
- } else {
- new_xofs_edit = 0;
- }
-
- if (clip_height >= 0) {
- if (y2 - clip_height > new_yofs_edit)
- new_yofs_edit = y2 - clip_height;
- } else {
- new_yofs_edit = 0;
- }
-
- if (new_xofs_edit < 0)
- new_xofs_edit = 0;
- if (new_yofs_edit < 0)
- new_yofs_edit = 0;
-
- if (new_xofs_edit != text->xofs_edit ||
- new_yofs_edit != text->yofs_edit) {
- text->xofs_edit = new_xofs_edit;
- text->yofs_edit = new_yofs_edit;
- return TRUE;
- }
-
- return FALSE;
-}
-
-/* Draw handler for the text item */
-static void
-e_text_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
- int x, int y, int width, int height)
-{
- EText *text;
- GdkRectangle rect, *clip_rect;
- int xpos, ypos;
- GdkGC *main_gc;
- GnomeCanvas *canvas;
- GtkWidget *widget;
-
- text = E_TEXT (item);
- canvas = GNOME_CANVAS_ITEM(text)->canvas;
- widget = GTK_WIDGET(canvas);
-
- if (text->draw_background || text->draw_button) {
- main_gc = widget->style->fg_gc[GTK_WIDGET_STATE (widget)];
- } else {
- main_gc = text->gc;
- }
-
- if (text->draw_borders || text->draw_background) {
- gdouble thisx = item->x1 - x;
- gdouble thisy = item->y1 - y;
- gdouble thiswidth, thisheight;
- GtkWidget *widget = GTK_WIDGET(item->canvas);
-
- g_object_get(text,
- "width", &thiswidth,
- "height", &thisheight,
- NULL);
-
- if (text->draw_borders){
-
- gtk_paint_shadow (widget->style, drawable,
- GTK_STATE_NORMAL, GTK_SHADOW_IN,
- NULL, widget, "entry",
- thisx, thisy, thiswidth, thisheight);
-
- }
-
- if (text->draw_background) {
- gtk_paint_flat_box (widget->style, drawable,
- GTK_WIDGET_STATE(widget), GTK_SHADOW_NONE,
- NULL, widget, "entry_bg",
- thisx + widget->style->xthickness,
- thisy + widget->style->ythickness,
- thiswidth - widget->style->xthickness * 2,
- thisheight - widget->style->ythickness * 2);
- }
- }
- if (text->draw_button) {
- GtkWidget *widget;
- int xoff = item->x1 - x;
- int yoff = item->y1 - y;
-
- widget = GTK_WIDGET (item->canvas);
-
- xoff -= widget->allocation.x;
- yoff -= widget->allocation.y;
-
- widget = widget->parent;
-
- while (widget && !GTK_IS_BUTTON(widget)) {
- if (!GTK_WIDGET_NO_WINDOW (widget)) {
- widget = NULL;
- break;
- }
- widget = widget->parent;
- }
- if (widget) {
- GtkButton *button = GTK_BUTTON (widget);
- GtkShadowType shadow_type;
- int thisx, thisy, thisheight, thiswidth;
- int default_spacing;
- GdkRectangle area;
- area.x = 0;
- area.y = 0;
- area.width = width;
- area.height = height;
-
-#define DEFAULT_SPACING 7
-#if 0
- default_spacing = gtk_style_get_prop_experimental (widget->style,
- "GtkButton::default_spacing",
- DEFAULT_SPACING);
-#endif
- default_spacing = 7;
-
- thisx = 0;
- thisy = 0;
- thiswidth = widget->allocation.width - GTK_CONTAINER (widget)->border_width * 2;
- thisheight = widget->allocation.height - GTK_CONTAINER (widget)->border_width * 2;
-
- if (GTK_WIDGET_HAS_DEFAULT (widget) &&
- GTK_BUTTON (widget)->relief == GTK_RELIEF_NORMAL)
- {
- gtk_paint_box (widget->style, drawable,
- GTK_STATE_NORMAL, GTK_SHADOW_IN,
- &area, widget, "buttondefault",
- thisx + xoff, thisy + yoff, thiswidth, thisheight);
- }
-
- if (GTK_WIDGET_CAN_DEFAULT (widget)) {
- thisx += widget->style->xthickness;
- thisy += widget->style->ythickness;
- thiswidth -= 2 * thisx + default_spacing;
- thisheight -= 2 * thisy + default_spacing;
- thisx += (1 + default_spacing) / 2;
- thisy += (1 + default_spacing) / 2;
- }
-
- if (GTK_WIDGET_HAS_FOCUS (widget)) {
- thisx += 1;
- thisy += 1;
- thiswidth -= 2;
- thisheight -= 2;
- }
-
- if (GTK_WIDGET_STATE (widget) == GTK_STATE_ACTIVE)
- shadow_type = GTK_SHADOW_IN;
- else
- shadow_type = GTK_SHADOW_OUT;
-
- if ((button->relief != GTK_RELIEF_NONE) ||
- ((GTK_WIDGET_STATE(widget) != GTK_STATE_NORMAL) &&
- (GTK_WIDGET_STATE(widget) != GTK_STATE_INSENSITIVE)))
- gtk_paint_box (widget->style, drawable,
- GTK_WIDGET_STATE (widget),
- shadow_type, &area, widget, "button",
- thisx + xoff, thisy + yoff, thiswidth, thisheight);
-
- if (GTK_WIDGET_HAS_FOCUS (widget)) {
- thisx -= 1;
- thisy -= 1;
- thiswidth += 2;
- thisheight += 2;
-
- gtk_paint_focus (widget->style, widget->window, GTK_WIDGET_STATE (widget),
- &area, widget, "button",
- thisx + xoff, thisy + yoff, thiswidth - 1, thisheight - 1);
- }
- }
- }
-
-
- insert_preedit_text (text);
-
- if (!pango_layout_get_text (text->layout))
- return;
-
- if (text->stipple)
- gnome_canvas_set_stipple_origin (item->canvas, main_gc);
-
- xpos = text->text_cx;
- ypos = text->text_cy;
-
- xpos -= x;
- ypos -= y;
-
- clip_rect = NULL;
- if (text->clip) {
- rect.x = xpos;
- rect.y = ypos;
- rect.width = text->clip_cwidth;
- rect.height = text->clip_cheight;
-
- gdk_gc_set_clip_rectangle (main_gc, &rect);
- clip_rect = &rect;
- }
-
- if (text->editing) {
- xpos -= text->xofs_edit;
- ypos -= text->yofs_edit;
- }
-
- gdk_draw_layout (drawable, main_gc,
- xpos, ypos,
- text->layout);
-
- if (text->editing) {
- if (text->selection_start != text->selection_end) {
- PangoLayoutIter *iter;
- GdkRegion *clip_region = gdk_region_new ();
- GdkGC *selection_gc;
- GdkGC *text_gc;
- int start_index, end_index;
-
- start_index = MIN (text->selection_start, text->selection_end);
- end_index = MAX (text->selection_start, text->selection_end);
-
- /* convert these into byte indices */
- start_index = g_utf8_offset_to_pointer(text->text, start_index) - text->text;
- end_index = g_utf8_offset_to_pointer(text->text, end_index) - text->text;
-
- if (text->has_selection) {
- selection_gc = widget->style->base_gc [GTK_STATE_SELECTED];
- text_gc = widget->style->text_gc[GTK_STATE_SELECTED];
- } else {
- selection_gc = widget->style->base_gc [GTK_STATE_ACTIVE];
- text_gc = widget->style->text_gc[GTK_STATE_ACTIVE];
- }
-
- gdk_gc_set_clip_rectangle (selection_gc, clip_rect);
-
- iter = pango_layout_get_iter (text->layout);
-
- do {
- PangoLayoutLine *line = pango_layout_iter_get_line (iter);
- gint n_ranges, i;
- gint *ranges;
- int y0, y1;
- int s, e;
-
- if (start_index < line->start_index + line->length
- && end_index > line->start_index) {
-
- if (start_index <= line->start_index)
- s = line->start_index;
- else
- s = start_index;
-
- if (end_index > line->start_index + line->length)
- e = line->start_index + line->length;
- else
- e = end_index;
-
- pango_layout_line_get_x_ranges (line, s, e, &ranges, &n_ranges);
-
- pango_layout_iter_get_line_yrange (iter, &y0, &y1);
-
- for (i=0; i < n_ranges; i++) {
- GdkRectangle sel_rect;
-
- sel_rect.x = xpos + PANGO_PIXELS (ranges[2*i]);
- sel_rect.y = ypos + PANGO_PIXELS (y0);
- sel_rect.width = (ranges[2*i + 1] - ranges[2*i]) / PANGO_SCALE;
- sel_rect.height = (y1 - y0 + PANGO_SCALE / 2) / PANGO_SCALE;
-
- gdk_draw_rectangle (drawable, selection_gc, TRUE,
- sel_rect.x, sel_rect.y, sel_rect.width, sel_rect.height);
-
- gdk_region_union_with_rect (clip_region, &sel_rect);
- }
- g_free (ranges);
- }
- } while (pango_layout_iter_next_line (iter));
-
- pango_layout_iter_free (iter);
-
- if (clip_rect) {
- GdkRegion *rect_region = gdk_region_rectangle (clip_rect);
- gdk_region_intersect (clip_region, rect_region);
- gdk_region_destroy (rect_region);
- }
-
- gdk_gc_set_clip_region (text_gc, clip_region);
- gdk_draw_layout (drawable, text_gc,
- xpos, ypos,
- text->layout);
-
- gdk_gc_set_clip_region (text_gc, NULL);
- gdk_gc_set_clip_region (selection_gc, NULL);
-
- gdk_region_destroy (clip_region);
- } else {
- if (text->show_cursor) {
- PangoRectangle strong_pos, weak_pos;
- char *offs = g_utf8_offset_to_pointer (text->text, text->selection_start);
-
- pango_layout_get_cursor_pos (text->layout, offs - text->text + text->preedit_len, &strong_pos, &weak_pos);
- draw_pango_rectangle (drawable, main_gc, xpos, ypos, strong_pos);
- if (strong_pos.x != weak_pos.x ||
- strong_pos.y != weak_pos.y ||
- strong_pos.width != weak_pos.width ||
- strong_pos.height != weak_pos.height)
- draw_pango_rectangle (drawable, main_gc, xpos, ypos, weak_pos);
- }
- }
- }
-
-
- if (text->clip) {
- gdk_gc_set_clip_rectangle (main_gc, NULL);
- }
-}
-
-/* Point handler for the text item */
-static double
-e_text_point (GnomeCanvasItem *item, double x, double y,
- int cx, int cy, GnomeCanvasItem **actual_item)
-{
- EText *text;
- double clip_width;
- double clip_height;
-
- text = E_TEXT (item);
-
- *actual_item = item;
-
- /* The idea is to build bounding rectangles for each of the lines of
- * text (clipped by the clipping rectangle, if it is activated) and see
- * whether the point is inside any of these. If it is, we are done.
- * Otherwise, calculate the distance to the nearest rectangle.
- */
-
- if (text->clip_width < 0)
- clip_width = text->width;
- else
- clip_width = text->clip_width;
-
- if ( text->clip_height < 0 )
- clip_height = text->height;
- else
- clip_height = text->clip_height;
-
- /* Get canvas pixel coordinates for clip rectangle position */
- clip_width = clip_width * item->canvas->pixels_per_unit;
- clip_height = clip_height * item->canvas->pixels_per_unit;
-
- if (cx < text->clip_cx ||
- cx > text->clip_cx + clip_width ||
- cy < text->clip_cy ||
- cy > text->clip_cy + clip_height)
- return 1;
-
- if (text->fill_clip_rectangle)
- return 0;
-
- cx -= text->cx;
-
- if (pango_layout_xy_to_index (text->layout, cx, cy, NULL, NULL))
- return 0;
-
- return 1;
-}
-
-/* Bounds handler for the text item */
-static void
-e_text_bounds (GnomeCanvasItem *item, double *x1, double *y1, double *x2, double *y2)
-{
- EText *text;
- double width, height;
-
- text = E_TEXT (item);
-
- *x1 = 0;
- *y1 = 0;
-
- width = text->width;
- height = text->height;
-
- if (text->clip) {
- if (text->clip_width >= 0)
- width = text->clip_width;
- if ( text->clip_height >= 0 )
- height = text->clip_height;
- }
-
- width = width / item->canvas->pixels_per_unit;
- height = height / item->canvas->pixels_per_unit;
-
- switch (text->anchor) {
- case GTK_ANCHOR_NW:
- case GTK_ANCHOR_W:
- case GTK_ANCHOR_SW:
- break;
-
- case GTK_ANCHOR_N:
- case GTK_ANCHOR_CENTER:
- case GTK_ANCHOR_S:
- *x1 -= width / 2.0;
- break;
-
- case GTK_ANCHOR_NE:
- case GTK_ANCHOR_E:
- case GTK_ANCHOR_SE:
- *x1 -= width;
- break;
- }
-
- switch (text->anchor) {
- case GTK_ANCHOR_NW:
- case GTK_ANCHOR_N:
- case GTK_ANCHOR_NE:
- break;
-
- case GTK_ANCHOR_W:
- case GTK_ANCHOR_CENTER:
- case GTK_ANCHOR_E:
- *y1 -= height / 2.0;
- break;
-
- case GTK_ANCHOR_SW:
- case GTK_ANCHOR_S:
- case GTK_ANCHOR_SE:
- *y1 -= height;
- break;
- }
-
- *x2 = *x1 + width;
- *y2 = *y1 + height;
-}
-
-static gint
-get_position_from_xy (EText *text, gint x, gint y)
-{
- int index;
- int trailing;
-
- if (text->draw_borders) {
- x -= BORDER_INDENT;
- y -= BORDER_INDENT;
- }
-
- x -= text->xofs;
- y -= text->yofs;
-
- if (text->editing) {
- x += text->xofs_edit;
- y += text->yofs_edit;
- }
-
- x -= text->cx;
- y -= text->cy;
-
- pango_layout_xy_to_index (text->layout, x * PANGO_SCALE, y * PANGO_SCALE, &index, &trailing);
-
- return g_utf8_pointer_to_offset (text->text, text->text + index + trailing);
-}
-
-#define SCROLL_WAIT_TIME 30000
-
-static gboolean
-_blink_scroll_timeout (gpointer data)
-{
- EText *text = E_TEXT(data);
- gulong current_time;
- gboolean scroll = FALSE;
- gboolean redraw = FALSE;
-
- g_timer_elapsed(text->timer, &current_time);
-
- if (text->scroll_start + SCROLL_WAIT_TIME > 1000000) {
- if (current_time > text->scroll_start - (1000000 - SCROLL_WAIT_TIME) &&
- current_time < text->scroll_start)
- scroll = TRUE;
- } else {
- if (current_time > text->scroll_start + SCROLL_WAIT_TIME ||
- current_time < text->scroll_start)
- scroll = TRUE;
- }
- if (scroll && text->button_down && text->clip) {
- int old_xofs_edit = text->xofs_edit;
- int old_yofs_edit = text->yofs_edit;
-
- if (text->clip_cwidth >= 0 &&
- text->lastx - text->clip_cx > text->clip_cwidth &&
- text->xofs_edit < text->width - text->clip_cwidth) {
- text->xofs_edit += 4;
- if (text->xofs_edit > text->width - text->clip_cwidth + 1)
- text->xofs_edit = text->width - text->clip_cwidth + 1;
- }
- if (text->lastx - text->clip_cx < 0 &&
- text->xofs_edit > 0) {
- text->xofs_edit -= 4;
- if (text->xofs_edit < 0)
- text->xofs_edit = 0;
- }
-
- if (text->clip_cheight >= 0 &&
- text->lasty - text->clip_cy > text->clip_cheight &&
- text->yofs_edit < text->height - text->clip_cheight) {
- text->yofs_edit += 4;
- if (text->yofs_edit > text->height - text->clip_cheight + 1)
- text->yofs_edit = text->height - text->clip_cheight + 1;
- }
- if (text->lasty - text->clip_cy < 0 &&
- text->yofs_edit > 0) {
- text->yofs_edit -= 4;
- if (text->yofs_edit < 0)
- text->yofs_edit = 0;
- }
-
- if (old_xofs_edit != text->xofs_edit ||
- old_yofs_edit != text->yofs_edit) {
- ETextEventProcessorEvent e_tep_event;
- e_tep_event.type = GDK_MOTION_NOTIFY;
- e_tep_event.motion.state = text->last_state;
- e_tep_event.motion.time = 0;
- e_tep_event.motion.position = get_position_from_xy(text, text->lastx, text->lasty);
- _get_tep(text);
- e_text_event_processor_handle_event (text->tep,
- &e_tep_event);
- text->scroll_start = current_time;
- redraw = TRUE;
- }
- }
-
- if (!((current_time / 500000) % 2)) {
- if (!text->show_cursor)
- redraw = TRUE;
- text->show_cursor = TRUE;
- } else {
- if (text->show_cursor)
- redraw = TRUE;
- text->show_cursor = FALSE;
- }
- if (redraw) {
- text->needs_redraw = 1;
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM(text));
- }
- return TRUE;
-}
-
-static gboolean
-tooltip_event(GtkWidget *tooltip, GdkEvent *event, EText *text)
-{
- gint ret_val = FALSE;
-
- if (!text->model)
- return FALSE;
-
- switch (event->type) {
- case GDK_LEAVE_NOTIFY:
- e_canvas_hide_tooltip (E_CANVAS(GNOME_CANVAS_ITEM(text)->canvas));
- break;
- case GDK_BUTTON_PRESS:
- case GDK_BUTTON_RELEASE:
- if (event->type == GDK_BUTTON_RELEASE) {
- e_canvas_hide_tooltip (E_CANVAS(GNOME_CANVAS_ITEM(text)->canvas));
- }
- /* Forward events to the text item */
- g_signal_emit_by_name (text, "event", event,
- &ret_val);
- if (!ret_val)
- gtk_propagate_event (GTK_WIDGET(GNOME_CANVAS_ITEM(text)->canvas), event);
- ret_val = TRUE;
- default:
- break;
- }
- return ret_val;
-}
-
-static void
-tooltip_destroy(gpointer data, GObject *where_object_was)
-{
- EText *text = data;
- text->tooltip_owner = FALSE;
- g_object_unref (text);
-}
-
-static gboolean
-_do_tooltip (gpointer data)
-{
-#warning "need to sort out tooltip stuff."
- EText *text = E_TEXT (data);
- GtkWidget *canvas;
- int i;
- int max_width;
- gboolean cut_off;
- double i2c[6];
- ArtPoint origin = {0, 0};
- ArtPoint pixel_origin;
- int canvas_x, canvas_y;
- GnomeCanvasItem *tooltip_text;
- double tooltip_width;
- double tooltip_height;
- double tooltip_x;
- double tooltip_y;
-#if 0
- double x1, x2, y1, y2;
-#endif
- GnomeCanvasItem *rect;
- GtkWidget *tooltip_window; /* GtkWindow for displaying the tooltip */
-
- text->tooltip_count = 0;
-
- if (E_CANVAS(GNOME_CANVAS_ITEM(text)->canvas)->tooltip_window || text->editing || !text->num_lines) {
- text->tooltip_timeout = 0;
- return FALSE;
- }
-
- cut_off = FALSE;
- for ( i = 0; i < text->num_lines; i++ ) {
- PangoLayoutLine *line = pango_layout_get_line (text->layout, i);
- PangoRectangle rect;
-
- pango_layout_line_get_pixel_extents (line, &rect, NULL);
-
- if (rect.width > text->clip_width) {
- cut_off = TRUE;
- break;
- }
- }
- if ( ! cut_off ) {
- text->tooltip_timeout = 0;
- return FALSE;
- }
-
- gnome_canvas_item_i2c_affine(GNOME_CANVAS_ITEM(text), i2c);
- art_affine_point (&pixel_origin, &origin, i2c);
-
- gdk_window_get_origin (GTK_WIDGET(GNOME_CANVAS_ITEM(text)->canvas)->window, &canvas_x, &canvas_y);
- pixel_origin.x += canvas_x;
- pixel_origin.y += canvas_y;
- pixel_origin.x -= (int) gtk_layout_get_hadjustment(GTK_LAYOUT(GNOME_CANVAS_ITEM(text)->canvas))->value;
- pixel_origin.y -= (int) gtk_layout_get_vadjustment(GTK_LAYOUT(GNOME_CANVAS_ITEM(text)->canvas))->value;
-
- tooltip_window = gtk_window_new (GTK_WINDOW_POPUP);
- gtk_container_set_border_width (GTK_CONTAINER (tooltip_window), 1);
-
- canvas = e_canvas_new ();
-
- gtk_container_add (GTK_CONTAINER (tooltip_window), canvas);
-
- /* Get the longest line length */
- pango_layout_get_size (text->layout, &max_width, NULL);
-
- rect = gnome_canvas_item_new (gnome_canvas_root (GNOME_CANVAS (canvas)),
- gnome_canvas_rect_get_type (),
- "x1", (double) 0,
- "y1", (double) 0,
- "x2", (double) max_width + 4,
- "y2", (double) text->height + 4,
- NULL);
-
- tooltip_text = gnome_canvas_item_new (gnome_canvas_root (GNOME_CANVAS (canvas)),
- e_text_get_type (),
- "anchor", GTK_ANCHOR_NW,
- "bold", text->bold,
- "strikeout", text->strikeout,
- "text", text->text,
- "editable", FALSE,
- "clip_width", text->max_lines != 1 ? text->clip_width : max_width,
- "clip_height", text->max_lines != 1 ? -1 : (double)text->height,
- "clip", TRUE,
- "line_wrap", text->line_wrap,
- "justification", text->justification,
- NULL);
-
-
-
- if (text->draw_borders)
- e_canvas_item_move_absolute(tooltip_text, 1 + BORDER_INDENT, 1 + BORDER_INDENT);
- else
- e_canvas_item_move_absolute(tooltip_text, 1, 1);
-
- create_layout (E_TEXT (tooltip_text));
-
- split_into_lines (E_TEXT(tooltip_text));
- calc_height (E_TEXT(tooltip_text));
-
- gnome_canvas_item_set (tooltip_text,
- "clip_height", (double) E_TEXT(tooltip_text)->height,
- "clip_width", (double) E_TEXT(tooltip_text)->width,
- NULL);
-
- tooltip_width = E_TEXT(tooltip_text)->width;
- tooltip_height = E_TEXT(tooltip_text)->height;
- tooltip_x = 0;
- tooltip_y = 0;
- switch(E_TEXT(tooltip_text)->justification) {
- case GTK_JUSTIFY_CENTER:
- tooltip_x = - tooltip_width / 2;
- break;
- case GTK_JUSTIFY_RIGHT:
- tooltip_x = tooltip_width / 2;
- break;
- case GTK_JUSTIFY_FILL:
- case GTK_JUSTIFY_LEFT:
- tooltip_x = 0;
- break;
- }
- switch(text->anchor) {
- case GTK_ANCHOR_NW:
- case GTK_ANCHOR_N:
- case GTK_ANCHOR_NE:
- break;
-
- case GTK_ANCHOR_W:
- case GTK_ANCHOR_CENTER:
- case GTK_ANCHOR_E:
- tooltip_y -= tooltip_height / 2.0;
- break;
-
- case GTK_ANCHOR_SW:
- case GTK_ANCHOR_S:
- case GTK_ANCHOR_SE:
- tooltip_y -= tooltip_height;
- break;
- }
- switch(E_TEXT(tooltip_text)->anchor) {
- case GTK_ANCHOR_NW:
- case GTK_ANCHOR_W:
- case GTK_ANCHOR_SW:
- break;
-
- case GTK_ANCHOR_N:
- case GTK_ANCHOR_CENTER:
- case GTK_ANCHOR_S:
- tooltip_x -= tooltip_width / 2.0;
- break;
-
- case GTK_ANCHOR_NE:
- case GTK_ANCHOR_E:
- case GTK_ANCHOR_SE:
- tooltip_x -= tooltip_width;
- break;
- }
-
- gnome_canvas_item_set(rect,
- "x2", (double) tooltip_width + 4 + (text->draw_borders ? BORDER_INDENT * 2 : 0),
- "y2", (double) tooltip_height + 4 + (text->draw_borders ? BORDER_INDENT * 2 : 0),
- NULL);
-
- gtk_widget_show (canvas);
- gtk_widget_realize (tooltip_window);
-
- gtk_widget_set_usize (tooltip_window,
- tooltip_width + 4 + (text->draw_borders ? BORDER_INDENT * 2 : 0),
- tooltip_height + 4 + (text->draw_borders ? BORDER_INDENT * 2 : 0));
- gnome_canvas_set_scroll_region (GNOME_CANVAS(canvas), 0.0, 0.0,
- tooltip_width + (text->draw_borders ? BORDER_INDENT * 2 : 0),
- (double)tooltip_height + (text->draw_borders ? BORDER_INDENT * 2 : 0));
- g_signal_connect (tooltip_window, "event",
- G_CALLBACK(tooltip_event), text);
- g_object_weak_ref (G_OBJECT (tooltip_window),
- tooltip_destroy, text);
- g_object_ref (text);
-
- e_canvas_popup_tooltip (E_CANVAS(GNOME_CANVAS_ITEM(text)->canvas),
- tooltip_window,
- pixel_origin.x - 2 + tooltip_x,
- pixel_origin.y - 2 + tooltip_y);
- text->tooltip_owner = TRUE;
-
- text->tooltip_timeout = 0;
-
- return FALSE;
-}
-
-static void
-start_editing (EText *text)
-{
- if (text->editing)
- return;
-
- g_free (text->revert);
- text->revert = g_strdup (text->text);
-
- text->editing = TRUE;
- if (text->pointer_in) {
- if (text->default_cursor_shown && (!text->draw_borders)) {
- gdk_window_set_cursor (GTK_WIDGET (GNOME_CANVAS_ITEM (text)->canvas)->window, text->i_cursor);
- text->default_cursor_shown = FALSE;
- }
- }
- text->select_by_word = FALSE;
- text->xofs_edit = 0;
- text->yofs_edit = 0;
- if (text->timeout_id == 0)
- text->timeout_id = g_timeout_add(10, _blink_scroll_timeout, text);
- text->timer = g_timer_new();
- g_timer_elapsed(text->timer, &(text->scroll_start));
- g_timer_start(text->timer);
-}
-
-void
-e_text_stop_editing (EText *text)
-{
- if (!text->editing)
- return;
-
- g_free (text->revert);
- text->revert = NULL;
-
- text->editing = FALSE;
- if ( (!text->default_cursor_shown) && (!text->draw_borders) ) {
- gdk_window_set_cursor (GTK_WIDGET (GNOME_CANVAS_ITEM (text)->canvas)->window, text->default_cursor);
- text->default_cursor_shown = TRUE;
- }
- if (text->timer) {
- g_timer_stop(text->timer);
- g_timer_destroy(text->timer);
- text->timer = NULL;
- }
-}
-
-void
-e_text_cancel_editing (EText *text)
-{
- if (text->revert)
- e_text_model_set_text(text->model, text->revert);
- e_text_stop_editing (text);
-}
-
-static gboolean
-_click (gpointer data)
-{
- *(gint *)data = 0;
- return FALSE;
-}
-
-static gint
-e_text_event (GnomeCanvasItem *item, GdkEvent *event)
-{
- EText *text = E_TEXT(item);
- ETextEventProcessorEvent e_tep_event;
-
- static EText *save_text = NULL;
-
- gint return_val = 0;
-
- if (!text->model)
- return FALSE;
-
- e_tep_event.type = event->type;
- switch (event->type) {
- case GDK_FOCUS_CHANGE:
- if (text->editable) {
- GdkEventFocus *focus_event;
- focus_event = (GdkEventFocus *) event;
- if (focus_event->in) {
-
- /* Evil hack to disconnect the signal handlers for the previous Etext
- * which was not disconnected because of being in preedit mode.
- * In preedit mode the widget can go out of focus due to popups associated
- * with preedit.,but still the callbacks need to be connected.
- * Here when a new text widget comes into focus we can disconnect the
- * old one.Shouldn't hurt much, as in worst case, save_text which should
- * be disconnected will be overwritten and we will have signal
- * handlers connect to multiple e-texts but with subsequent commit these
- * should go away.
- */
-
- if (save_text && save_text->im_context) {
- g_signal_handlers_disconnect_matched (save_text->im_context,
- G_SIGNAL_MATCH_DATA,
- 0, 0, NULL,
- NULL, save_text);
- save_text->im_context_signals_registered = FALSE;
- }
-
- if (text->im_context) {
- if (!text->im_context_signals_registered) {
- g_signal_connect (text->im_context, "commit",
- G_CALLBACK (e_text_commit_cb), text);
- g_signal_connect (text->im_context, "preedit_changed",
- G_CALLBACK (e_text_preedit_changed_cb), text);
- g_signal_connect (text->im_context, "retrieve_surrounding",
- G_CALLBACK (e_text_retrieve_surrounding_cb), text);
- g_signal_connect (text->im_context, "delete_surrounding",
- G_CALLBACK (e_text_delete_surrounding_cb), text);
- text->im_context_signals_registered = TRUE;
- }
- }
- start_editing (text);
- text->show_cursor = FALSE; /* so we'll redraw and the cursor will be shown */
- } else {
- /* Incase we are not disconnecting the signals
- * for text, we are saving text for
- * disconnecting in the next focus_in.
- */
- if (!text->preedit_len && text->im_context) {
- g_signal_handlers_disconnect_matched (text->im_context,
- G_SIGNAL_MATCH_DATA,
- 0, 0, NULL,
- NULL, text);
- text->im_context_signals_registered = FALSE;
- } else {
- save_text = text;
- }
-
- e_text_stop_editing (text);
- if (text->timeout_id) {
- g_source_remove(text->timeout_id);
- text->timeout_id = 0;
- }
- if (text->show_cursor || text->draw_borders) {
- text->show_cursor = FALSE;
- text->needs_redraw = 1;
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM(text));
- }
- }
- if ( text->line_wrap )
- text->needs_split_into_lines = 1;
- e_canvas_item_request_reflow (GNOME_CANVAS_ITEM(text));
- }
- return_val = 0;
- break;
- case GDK_KEY_PRESS:
-
- /* Handle S-F10 key binding here. */
-
- if (event->key.keyval == GDK_F10
- && (event->key.state & GDK_SHIFT_MASK)
- && text->handle_popup ){
-
- /* Simulate a GdkEventButton here, so that we can call e_text_do_popup directly */
-
- GdkEventButton *button = (GdkEventButton *) gdk_event_new (GDK_BUTTON_PRESS);
- button->time = event->key.time;
- button->button = 0;
- e_text_do_popup (text, button, 0);
- return TRUE;
- }
-
- /* Fall Through */
-
- case GDK_KEY_RELEASE:
-
- if (text->editing) {
- GdkEventKey key;
- gint ret;
-
- if (text->im_context && gtk_im_context_filter_keypress (text->im_context, (GdkEventKey*)event)) {
- text->need_im_reset = TRUE;
- return 1;
- }
-
- key = event->key;
- e_tep_event.key.time = key.time;
- e_tep_event.key.state = key.state;
- e_tep_event.key.keyval = key.keyval;
-
- /* This is probably ugly hack, but we have to handle UTF-8 input somehow */
-#if 0
- e_tep_event.key.length = key.length;
- e_tep_event.key.string = key.string;
-#else
- e_tep_event.key.string = e_utf8_from_gtk_event_key (GTK_WIDGET (item->canvas), key.keyval, key.string);
- if (e_tep_event.key.string != NULL) {
- e_tep_event.key.length = strlen (e_tep_event.key.string);
- } else {
- e_tep_event.key.length = 0;
- }
-#endif
- _get_tep(text);
- ret = e_text_event_processor_handle_event (text->tep, &e_tep_event);
-
- if (event->type == GDK_KEY_PRESS)
- g_signal_emit (text, e_text_signals[E_TEXT_KEYPRESS], 0,
- e_tep_event.key.keyval, e_tep_event.key.state);
-
-
- if (e_tep_event.key.string)
- g_free (e_tep_event.key.string);
-
-
- return ret;
- }
- break;
- case GDK_BUTTON_PRESS: /* Fall Through */
- case GDK_BUTTON_RELEASE:
- if (text->tooltip_timeout) {
- gtk_timeout_remove (text->tooltip_timeout);
- text->tooltip_timeout = 0;
- }
- e_canvas_hide_tooltip (E_CANVAS(GNOME_CANVAS_ITEM(text)->canvas));
-#if 0
- if ((!text->editing)
- && text->editable
- && event->type == GDK_BUTTON_RELEASE
- && event->button.button == 1) {
- GdkEventButton button = event->button;
-
- e_canvas_item_grab_focus (item, TRUE);
-
- e_tep_event.type = GDK_BUTTON_RELEASE;
- e_tep_event.button.time = button.time;
- e_tep_event.button.state = button.state;
- e_tep_event.button.button = button.button;
- e_tep_event.button.position = get_position_from_xy(text, button.x, button.y);
- _get_tep(text);
- return_val = e_text_event_processor_handle_event (text->tep,
- &e_tep_event);
- e_tep_event.type = GDK_BUTTON_RELEASE;
- }
-#else
- if ((!text->editing)
- && text->editable
- && (event->button.button == 1 ||
- event->button.button == 2)) {
- e_canvas_item_grab_focus (item, TRUE);
- start_editing (text);
- }
-#endif
-
- /* We follow convention and emit popup events on right-clicks. */
- if (event->type == GDK_BUTTON_PRESS && event->button.button == 3) {
- if (text->handle_popup) {
- e_text_do_popup (text, &(event->button),
- get_position_from_xy (text, event->button.x, event->button.y));
- return TRUE;
- }
- else {
- break;
- }
- }
-
- /* Create our own double and triple click events,
- as gnome-canvas doesn't forward them to us */
- if (event->type == GDK_BUTTON_PRESS) {
- if (text->dbl_timeout == 0 &&
- text->tpl_timeout == 0) {
- text->dbl_timeout = gtk_timeout_add (200,
- _click,
- &(text->dbl_timeout));
- } else {
- if (text->tpl_timeout == 0) {
- e_tep_event.type = GDK_2BUTTON_PRESS;
- text->tpl_timeout = gtk_timeout_add (200, _click, &(text->tpl_timeout));
- } else {
- e_tep_event.type = GDK_3BUTTON_PRESS;
- }
- }
- }
-
- if (text->editing) {
- GdkEventButton button = event->button;
- e_tep_event.button.time = button.time;
- e_tep_event.button.state = button.state;
- e_tep_event.button.button = button.button;
- e_tep_event.button.position = get_position_from_xy(text, button.x, button.y);
- _get_tep(text);
- return_val = e_text_event_processor_handle_event (text->tep,
- &e_tep_event);
- if (event->button.button == 1) {
- if (event->type == GDK_BUTTON_PRESS)
- text->button_down = TRUE;
- else
- text->button_down = FALSE;
- }
- text->lastx = button.x;
- text->lasty = button.y;
- text->last_state = button.state;
- }
- break;
- case GDK_MOTION_NOTIFY:
- if (text->editing) {
- GdkEventMotion motion = event->motion;
- e_tep_event.motion.time = motion.time;
- e_tep_event.motion.state = motion.state;
- e_tep_event.motion.position = get_position_from_xy(text, motion.x, motion.y);
- _get_tep(text);
- return_val = e_text_event_processor_handle_event (text->tep,
- &e_tep_event);
- text->lastx = motion.x;
- text->lasty = motion.y;
- text->last_state = motion.state;
- }
- break;
- case GDK_ENTER_NOTIFY:
- {
- if ( text->tooltip_count == 0 && text->clip) {
- if (!text->tooltip_timeout)
- text->tooltip_timeout = gtk_timeout_add (1000, _do_tooltip, text);
- }
- text->tooltip_count ++;
- }
-
- text->pointer_in = TRUE;
- if (text->editing || text->draw_borders) {
- if ( text->default_cursor_shown ) {
- gdk_window_set_cursor(GTK_WIDGET(item->canvas)->window, text->i_cursor);
- text->default_cursor_shown = FALSE;
- }
- }
- break;
- case GDK_LEAVE_NOTIFY:
- if (text->tooltip_count > 0)
- text->tooltip_count --;
- if ( text->tooltip_count == 0 && text->clip) {
- if ( text->tooltip_timeout ) {
- gtk_timeout_remove (text->tooltip_timeout);
- text->tooltip_timeout = 0;
- }
- }
-
- text->pointer_in = FALSE;
- if (text->editing || text->draw_borders) {
- if ( ! text->default_cursor_shown ) {
- gdk_window_set_cursor(GTK_WIDGET(item->canvas)->window, text->default_cursor);
- text->default_cursor_shown = TRUE;
- }
- }
- break;
- default:
- break;
- }
- if (return_val)
- return return_val;
- if (GNOME_CANVAS_ITEM_CLASS(parent_class)->event)
- return GNOME_CANVAS_ITEM_CLASS(parent_class)->event(item, event);
- else
- return 0;
-}
-
-void
-e_text_copy_clipboard (EText *text)
-{
- gint selection_start_pos;
- gint selection_end_pos;
- char *str;
-
- selection_start_pos = MIN (text->selection_start, text->selection_end);
- selection_end_pos = MAX (text->selection_start, text->selection_end);
-
- /* convert sel_start/sel_end to byte indices */
- selection_start_pos = g_utf8_offset_to_pointer (text->text, selection_start_pos) - text->text;
- selection_end_pos = g_utf8_offset_to_pointer (text->text, selection_end_pos) - text->text;
-
- str = g_strndup (text->text + selection_start_pos,
- selection_end_pos - selection_start_pos);
-
- gtk_clipboard_set_text (
-#ifdef GTK_2_2
- gtk_widget_get_clipboard (GTK_WIDGET (GNOME_CANVAS_ITEM (text)->canvas),
- GDK_SELECTION_CLIPBOARD),
-#else
- gtk_clipboard_get (GDK_SELECTION_CLIPBOARD),
-#endif
- str, -1);
- g_free (str);
-}
-
-void
-e_text_delete_selection(EText *text)
-{
- int sel_start, sel_end;
-
- sel_start = MIN(text->selection_start, text->selection_end);
- sel_end = MAX(text->selection_start, text->selection_end);
-
- if (sel_start != sel_end)
- e_text_model_delete(text->model, sel_start, sel_end - sel_start);
-}
-
-void
-e_text_cut_clipboard (EText *text)
-{
- e_text_copy_clipboard (text);
- e_text_delete_selection (text);
-}
-
-void
-e_text_paste_clipboard (EText *text)
-{
- ETextEventProcessorCommand command;
-
- command.action = E_TEP_PASTE;
- command.position = E_TEP_SELECTION;
- command.string = "";
- command.value = 0;
- e_text_command(text->tep, &command, text);
-}
-
-void
-e_text_select_all (EText *text)
-{
- ETextEventProcessorCommand command;
-
- command.action = E_TEP_SELECT;
- command.position = E_TEP_SELECT_ALL;
- command.string = "";
- command.value = 0;
- e_text_command(text->tep, &command, text);
-}
-
-
-static void
-primary_get_cb (GtkClipboard *clipboard,
- GtkSelectionData *selection_data,
- guint info,
- gpointer data)
-{
- EText *text = E_TEXT (data);
- int sel_start, sel_end;
-
- sel_start = MIN(text->selection_start, text->selection_end);
- sel_end = MAX(text->selection_start, text->selection_end);
-
- /* convert sel_start/sel_end to byte indices */
- sel_start = g_utf8_offset_to_pointer (text->text, sel_start) - text->text;
- sel_end = g_utf8_offset_to_pointer (text->text, sel_end) - text->text;
-
- if (sel_start != sel_end) {
- gchar *str = g_strndup (text->text + sel_start,
- sel_end - sel_start);
- gtk_selection_data_set_text (selection_data, str, -1);
- g_free (str);
- }
-}
-
-static void
-primary_clear_cb (GtkClipboard *clipboard,
- gpointer data)
-{
-#if notyet
- /* XXX */
- gtk_editable_select_region (GTK_EDITABLE (entry), entry->current_pos, entry->current_pos);
-#endif
-}
-
-static void
-e_text_update_primary_selection (EText *text)
-{
- static const GtkTargetEntry targets[] = {
- { "UTF8_STRING", 0, 0 },
- { "UTF-8", 0, 0 },
- { "STRING", 0, 0 },
- { "TEXT", 0, 0 },
- { "COMPOUND_TEXT", 0, 0 }
- };
- GtkClipboard *clipboard;
-
-#ifdef GTK_2_2
- clipboard = gtk_widget_get_clipboard (GTK_WIDGET (GNOME_CANVAS_ITEM (text)->canvas), GDK_SELECTION_PRIMARY);
-#else
- clipboard = gtk_clipboard_get (GDK_SELECTION_PRIMARY);
-#endif
-
- if (text->selection_start != text->selection_end) {
- if (!gtk_clipboard_set_with_owner (clipboard, targets, G_N_ELEMENTS (targets),
- primary_get_cb, primary_clear_cb, G_OBJECT (text)))
- primary_clear_cb (clipboard, text);
- }
- else {
- if (gtk_clipboard_get_owner (clipboard) == G_OBJECT (text))
- gtk_clipboard_clear (clipboard);
- }
-}
-
-static void
-paste_received (GtkClipboard *clipboard,
- const gchar *text,
- gpointer data)
-{
- EText *etext = E_TEXT (data);
-
- if (text && g_utf8_validate (text, strlen (text), NULL)) {
- if (etext->selection_end != etext->selection_start)
- e_text_delete_selection (etext);
-
- e_text_insert (etext, text);
- }
-
- g_object_unref (etext);
-}
-
-static void
-e_text_paste (EText *text, GdkAtom selection)
-{
- g_object_ref (text);
- gtk_clipboard_request_text (
-#ifdef GTK_2_2
-
- gtk_widget_get_clipboard (GTK_WIDGET (GNOME_CANVAS_ITEM (text)->canvas),
- selection),
-#else
- gtk_clipboard_get (selection),
-#endif
- paste_received, text);
-}
-
-typedef struct {
- EText *text;
- GdkEventButton *button;
- int position;
-} PopupClosure;
-
-static void
-popup_menu_detach (GtkWidget *attach_widget,
- GtkMenu *menu)
-{
-}
-
-static void
-popup_menu_placement_cb (GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer user_data)
-{
- EText *text = E_TEXT(user_data);
- GnomeCanvasItem *item = &text->item;
- GnomeCanvas *parent = item->canvas;
-
- if (parent){
- gdk_window_get_origin (((GtkWidget*) parent)->window, x, y);
- *x += item->x1 + text->width / 2;
- *y += item->y1 + text->height / 2;
- }
-
- return;
-}
-
-static void
-popup_targets_received (GtkClipboard *clipboard,
- GtkSelectionData *data,
- gpointer user_data)
-{
- PopupClosure *closure = user_data;
- EText *text = closure->text;
- GdkEventButton *button = closure->button;
- int position = closure->position;
- GtkWidget *popup_menu = gtk_menu_new ();
- GtkWidget *menuitem, *submenu;
-
- g_free (closure);
-
- gtk_menu_attach_to_widget (GTK_MENU (popup_menu),
- GTK_WIDGET(GNOME_CANVAS_ITEM (text)->canvas),
- popup_menu_detach);
-
- /* cut menu item */
- menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_CUT, NULL);
- gtk_widget_show (menuitem);
- gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), menuitem);
- g_signal_connect_swapped (menuitem, "activate",
- G_CALLBACK (e_text_cut_clipboard), text);
- gtk_widget_set_sensitive (menuitem, text->editable && (text->selection_start != text->selection_end));
-
- /* copy menu item */
- menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_COPY, NULL);
- gtk_widget_show (menuitem);
- gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), menuitem);
- g_signal_connect_swapped (menuitem, "activate",
- G_CALLBACK (e_text_copy_clipboard), text);
- gtk_widget_set_sensitive (menuitem, text->selection_start != text->selection_end);
-
- /* paste menu item */
- menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_PASTE, NULL);
- gtk_widget_show (menuitem);
- gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), menuitem);
- g_signal_connect_swapped (menuitem, "activate",
- G_CALLBACK (e_text_paste_clipboard), text);
- gtk_widget_set_sensitive (menuitem, text->editable && gtk_selection_data_targets_include_text (data));
-
- menuitem = gtk_menu_item_new_with_label (_("Select All"));
- gtk_widget_show (menuitem);
- gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), menuitem);
- g_signal_connect_swapped (menuitem, "activate",
- G_CALLBACK (e_text_select_all), text);
- gtk_widget_set_sensitive (menuitem, strlen (text->text) > 0);
-
- menuitem = gtk_separator_menu_item_new ();
- gtk_widget_show (menuitem);
- gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), menuitem);
-
- if (text->im_context && GTK_IS_IM_MULTICONTEXT (text->im_context)) {
- menuitem = gtk_menu_item_new_with_label (_("Input Methods"));
- gtk_widget_show (menuitem);
- submenu = gtk_menu_new ();
- gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), submenu);
-
- gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), menuitem);
-
- gtk_im_multicontext_append_menuitems (GTK_IM_MULTICONTEXT (text->im_context),
- GTK_MENU_SHELL (submenu));
- }
-
- g_signal_emit (text,
- e_text_signals[E_TEXT_POPULATE_POPUP],
- 0,
- button, position,
- popup_menu);
-
- /* If invoked by S-F10 key binding, button will be 0. */
- if (button->button == 0){
- gtk_menu_popup (GTK_MENU (popup_menu), NULL, NULL,
- popup_menu_placement_cb, (gpointer)text,
- button->button, GDK_CURRENT_TIME);
- } else {
- gtk_menu_popup (GTK_MENU (popup_menu), NULL, NULL,
- NULL, NULL,
- button->button, button->time);
- }
-
- g_object_unref (text);
- gdk_event_free ((GdkEvent *)button);
-}
-
-static void
-e_text_do_popup (EText *text, GdkEventButton *button, int position)
-{
- PopupClosure *closure = g_new (PopupClosure, 1);
-
- closure->text = text;
- g_object_ref (closure->text);
- closure->button = (GdkEventButton *) gdk_event_copy ((GdkEvent *)button);
- closure->position = position;
-
- gtk_clipboard_request_contents (
-#ifdef GTK_2_2
-
- gtk_widget_get_clipboard (GTK_WIDGET (GNOME_CANVAS_ITEM (text)->canvas),
- GDK_SELECTION_CLIPBOARD),
-#else
- gtk_clipboard_get (GDK_SELECTION_CLIPBOARD),
-#endif
- gdk_atom_intern ("TARGETS", FALSE),
- popup_targets_received,
- closure);
-}
-
-#if 0
-static void
-e_text_reset_im_context (EText *text)
-{
- if (text->need_im_reset) {
- text->need_im_reset = 0;
- gtk_im_context_reset (text->im_context);
- }
-}
-#endif
-
-/* fixme: */
-
-static int
-next_word (EText *text, int start)
-{
- char *p = g_utf8_offset_to_pointer (text->text, start);
- int length;
-
- length = g_utf8_strlen (text->text, -1);
-
- if (start >= length) {
- return length;
- } else {
- p = g_utf8_next_char (p);
- start++;
-
- while (p && *p) {
- gunichar unival = g_utf8_get_char (p);
- if (g_unichar_isspace (unival)) {
- return start + 1;
- }
- else {
- p = g_utf8_next_char (p);
- start++;
- }
- }
- }
-
- return g_utf8_pointer_to_offset (text->text, p);
-}
-
-static int
-find_offset_into_line (EText *text, int offset_into_text, char **start_of_line)
-{
- char *p;
-
- p = g_utf8_offset_to_pointer (text->text, offset_into_text);
-
- if (p == text->text) {
- if (start_of_line)
- *start_of_line = (char*)text->text;
- return 0;
- }
- else {
- p = g_utf8_find_prev_char (text->text, p);
-
- while (p && p > text->text) {
- if (*p == '\n') {
- if (start_of_line)
- *start_of_line = p+1;
- return offset_into_text - g_utf8_pointer_to_offset (text->text, p + 1);
- }
- p = g_utf8_find_prev_char (text->text, p);
- }
-
- if (start_of_line)
- *start_of_line = (char*)text->text;
- return offset_into_text;
- }
-}
-
-static int
-_get_position(EText *text, ETextEventProcessorCommand *command)
-{
- int length, obj_num;
- gunichar unival;
- char *p = NULL;
- gint new_pos = 0;
-
- switch (command->position) {
-
- case E_TEP_VALUE:
- new_pos = command->value;
- break;
-
- case E_TEP_SELECTION:
- new_pos = text->selection_end;
- break;
-
- case E_TEP_START_OF_BUFFER:
- new_pos = 0;
- break;
-
- case E_TEP_END_OF_BUFFER:
- new_pos = strlen (text->text);
- break;
-
- case E_TEP_START_OF_LINE:
-
- if (text->selection_end >= 1) {
-
- p = g_utf8_offset_to_pointer (text->text, text->selection_end);
- if (p != text->text) {
- p = g_utf8_find_prev_char (text->text, p);
- while (p && p > text->text) {
- if (*p == '\n') {
- new_pos = g_utf8_pointer_to_offset (text->text, p) + 1;
- break;
- }
- p = g_utf8_find_prev_char (text->text, p);
- }
- }
- }
-
- break;
-
- case E_TEP_END_OF_LINE:
- new_pos = -1;
- length = g_utf8_strlen (text->text, -1);
-
- if (text->selection_end >= length) {
- new_pos = length;
- } else {
-
- p = g_utf8_offset_to_pointer (text->text, text->selection_end);
-
- while (p && *p) {
- if (*p == '\n') {
- new_pos = g_utf8_pointer_to_offset (text->text, p);
- p = NULL;
- } else
- p = g_utf8_next_char (p);
- }
- }
-
- if (new_pos == -1)
- new_pos = g_utf8_pointer_to_offset (text->text, p);
-
- break;
-
- case E_TEP_FORWARD_CHARACTER:
- length = g_utf8_strlen (text->text, -1);
-
- if (text->selection_end >= length)
- new_pos = length;
- else
- new_pos = text->selection_end + 1;
-
- break;
-
- case E_TEP_BACKWARD_CHARACTER:
- new_pos = 0;
- if (text->selection_end >= 1) {
- new_pos = text->selection_end - 1;
- }
-
- break;
-
- case E_TEP_FORWARD_WORD:
- new_pos = next_word (text, text->selection_end);
- break;
-
- case E_TEP_BACKWARD_WORD:
- new_pos = 0;
- if (text->selection_end >= 1) {
- int pos = text->selection_end;
-
- p = g_utf8_find_prev_char (text->text, g_utf8_offset_to_pointer (text->text, text->selection_end));
- pos --;
-
- if (p != text->text) {
- p = g_utf8_find_prev_char (text->text, p);
- pos --;
-
- while (p && p > text->text) {
- unival = g_utf8_get_char (p);
- if (g_unichar_isspace (unival)) {
- new_pos = pos + 1;
- p = NULL;
- }
- else {
- p = g_utf8_find_prev_char (text->text, p);
- pos --;
- }
- }
- }
- }
-
- break;
-
- case E_TEP_FORWARD_LINE: {
- int offset_into_line;
- char *p;
-
- offset_into_line = find_offset_into_line (text, text->selection_end, NULL);
- if (offset_into_line == -1)
- return text->selection_end;
-
- /* now we search forward til we hit a \n, and then
- offset_into_line more characters */
- p = g_utf8_offset_to_pointer (text->text, text->selection_end);
- while (p && *p) {
- if (*p == '\n')
- break;
- p = g_utf8_next_char (p);
- }
- if (p && *p == '\n') {
- /* now we loop forward offset_into_line
- characters, or until we hit \n or \0 */
-
- p = g_utf8_next_char (p);
- while (offset_into_line > 0 && p && *p != '\n' && *p != '\0') {
- p = g_utf8_next_char (p);
- offset_into_line --;
- }
- }
-
- /* at this point, p points to the new location,
- convert it to an offset and we're done */
- new_pos = g_utf8_pointer_to_offset (text->text, p);
- break;
- }
- case E_TEP_BACKWARD_LINE: {
- char *p;
- int offset_into_line = find_offset_into_line (text, text->selection_end, &p);
-
- if (offset_into_line == -1)
- return text->selection_end;
-
- /* p points to the first character on our line. if we
- have a \n before it, skip it and scan til we hit
- the next one */
- if (p != text->text) {
- p = g_utf8_find_prev_char (text->text, p);
- if (*p == '\n') {
- p = g_utf8_find_prev_char (text->text, p);
- while (p > text->text) {
- if (*p == '\n') {
- p ++;
- break;
- }
- p = g_utf8_find_prev_char (text->text, p);
- }
- }
- }
-
- /* at this point 'p' points to the start of the
- previous line, move forward 'offset_into_line'
- times. */
-
- while (offset_into_line > 0 && p && *p != '\n' && *p != '\0') {
- p = g_utf8_next_char (p);
- offset_into_line --;
- }
-
- /* at this point, p points to the new location,
- convert it to an offset and we're done */
- new_pos = g_utf8_pointer_to_offset (text->text, p);
- break;
- }
- case E_TEP_SELECT_WORD:
- /* This is a silly hack to cause double-clicking on an object
- to activate that object.
- (Normally, double click == select word, which is why this is here.) */
-
- obj_num = e_text_model_get_object_at_offset (text->model, text->selection_start);
- if (obj_num != -1) {
- e_text_model_activate_nth_object (text->model, obj_num);
- new_pos = text->selection_start;
- break;
- }
-
- if (text->selection_end < 1) {
- new_pos = 0;
- break;
- }
-
- p = g_utf8_offset_to_pointer (text->text, text->selection_end);
-
- p = g_utf8_find_prev_char (text->text, p);
-
- while (p && p > text->text) {
- unival = g_utf8_get_char (p);
- if (g_unichar_isspace (unival)) {
- p = g_utf8_next_char (p);
- break;
- }
- p = g_utf8_find_prev_char (text->text, p);
- }
-
- if (!p)
- text->selection_start = 0;
- else
- text->selection_start = g_utf8_pointer_to_offset (text->text, p);
-
-
- text->selection_start = e_text_model_validate_position (text->model, text->selection_start);
-
- length = g_utf8_strlen (text->text, -1);
- if (text->selection_end >= length) {
- new_pos = length;
- break;
- }
-
- p = g_utf8_offset_to_pointer (text->text, text->selection_end);
- while (p && *p) {
- unival = g_utf8_get_char (p);
- if (g_unichar_isspace (unival)) {
- new_pos = g_utf8_pointer_to_offset (text->text, p);
- break;
- } else
- p = g_utf8_next_char (p);
- }
-
- if (!new_pos)
- new_pos = g_utf8_strlen (text->text, -1);
-
- return new_pos;
-
- case E_TEP_SELECT_ALL:
- text->selection_start = 0;
- new_pos = g_utf8_strlen (text->text, -1);
- break;
-
- case E_TEP_FORWARD_PARAGRAPH:
- case E_TEP_BACKWARD_PARAGRAPH:
-
- case E_TEP_FORWARD_PAGE:
- case E_TEP_BACKWARD_PAGE:
- new_pos = text->selection_end;
- break;
-
- default:
- new_pos = text->selection_end;
- break;
- }
-
- new_pos = e_text_model_validate_position (text->model, new_pos);
-
- return new_pos;
-}
-
-static void
-e_text_insert(EText *text, const char *string)
-{
- int len = strlen (string);
-
- if (len > 0) {
- int utf8len = 0;
-
- if (!text->allow_newlines) {
- const char *i;
- char *new_string = g_malloc (len + 1);
- char *j = new_string;
-
- for (i = string; *i; i = g_utf8_next_char(i)) {
- if (*i != '\n') {
- gunichar c;
- int charlen;
-
- c = g_utf8_get_char (i);
- charlen = g_unichar_to_utf8 (c, j);
- j += charlen;
- utf8len++;
- }
- }
- *j = 0;
- e_text_model_insert_length(text->model, text->selection_start, new_string, utf8len);
- g_free (new_string);
- }
- else {
- utf8len = g_utf8_strlen (string, -1);
- e_text_model_insert_length(text->model, text->selection_start, string, utf8len);
- }
- }
-}
-
-static void
-capitalize (EText *text, int start, int end, ETextEventProcessorCaps type)
-{
- gboolean first = TRUE;
- const char *p = g_utf8_offset_to_pointer (text->text, start);
- const char *text_end = g_utf8_offset_to_pointer (text->text, end);
- int utf8len = text_end - p;
-
- if (utf8len > 0) {
- char *new_text = g_new0 (char, utf8len * 6);
- char *output = new_text;
-
- while (p && *p && p < text_end) {
- gunichar unival = g_utf8_get_char (p);
- gunichar newval = unival;
-
- switch (type) {
- case E_TEP_CAPS_UPPER:
- newval = g_unichar_toupper (unival);
- break;
- case E_TEP_CAPS_LOWER:
- newval = g_unichar_tolower (unival);
- break;
- case E_TEP_CAPS_TITLE:
- if (g_unichar_isalpha (unival)) {
- if (first)
- newval = g_unichar_totitle (unival);
- else
- newval = g_unichar_tolower (unival);
- first = FALSE;
- } else {
- first = TRUE;
- }
- break;
- }
- g_unichar_to_utf8 (newval, output);
- output = g_utf8_next_char (output);
-
- p = g_utf8_next_char (p);
- }
- *output = 0;
-
- e_text_model_delete (text->model, start, utf8len);
- e_text_model_insert_length (text->model, start, new_text, utf8len);
- g_free (new_text);
- }
-}
-
-static void
-e_text_command(ETextEventProcessor *tep, ETextEventProcessorCommand *command, gpointer data)
-{
- EText *text = E_TEXT(data);
- gboolean scroll = TRUE;
- gboolean use_start = TRUE;
-
- switch (command->action) {
- case E_TEP_MOVE:
- text->selection_start = _get_position(text, command);
- text->selection_end = text->selection_start;
- if (text->timer) {
- g_timer_reset(text->timer);
- }
-
- use_start = TRUE;
- break;
- case E_TEP_SELECT:
- text->selection_start = e_text_model_validate_position (text->model, text->selection_start); /* paranoia */
- text->selection_end = _get_position(text, command);
-
- e_text_update_primary_selection (text);
-
- use_start = FALSE;
-
- break;
- case E_TEP_DELETE:
- if (text->selection_end == text->selection_start) {
- text->selection_end = _get_position(text, command);
- }
- e_text_delete_selection(text);
- if (text->timer) {
- g_timer_reset(text->timer);
- }
-
- use_start = FALSE;
-
- break;
-
- case E_TEP_INSERT:
- if (g_utf8_validate (command->string, command->value, NULL)) {
- if (text->selection_end != text->selection_start) {
- e_text_delete_selection(text);
- }
- e_text_insert(text, command->string);
- if (text->timer) {
- g_timer_reset(text->timer);
- }
- }
- break;
- case E_TEP_COPY:
- e_text_copy_clipboard (text);
-
- if (text->timer) {
- g_timer_reset(text->timer);
- }
- scroll = FALSE;
- break;
- case E_TEP_PASTE:
- e_text_paste (text, GDK_NONE);
- if (text->timer) {
- g_timer_reset(text->timer);
- }
- break;
- case E_TEP_GET_SELECTION:
- e_text_paste (text, GDK_SELECTION_PRIMARY);
- break;
- case E_TEP_ACTIVATE:
- g_signal_emit (text, e_text_signals[E_TEXT_ACTIVATE], 0);
- if (text->timer) {
- g_timer_reset(text->timer);
- }
- break;
- case E_TEP_SET_SELECT_BY_WORD:
- text->select_by_word = command->value;
- break;
- case E_TEP_GRAB:
- e_canvas_item_grab (E_CANVAS (GNOME_CANVAS_ITEM(text)->canvas),
- GNOME_CANVAS_ITEM(text),
- GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK,
- text->i_cursor,
- command->time,
- NULL,
- NULL);
- scroll = FALSE;
- break;
- case E_TEP_UNGRAB:
- e_canvas_item_ungrab (E_CANVAS (GNOME_CANVAS_ITEM(text)->canvas),
- GNOME_CANVAS_ITEM(text),
- command->time);
- scroll = FALSE;
- break;
- case E_TEP_CAPS:
- if (text->selection_start == text->selection_end) {
- capitalize (text, text->selection_start, next_word (text, text->selection_start), command->value);
- } else {
- int selection_start = MIN (text->selection_start, text->selection_end);
- int selection_end = MAX (text->selection_start, text->selection_end);
- capitalize (text, selection_start, selection_end, command->value);
- }
- break;
- case E_TEP_NOP:
- scroll = FALSE;
- break;
- }
-
- /* it's possible to get here without ever having been realized
- by our canvas (if the e-text started completely obscured.)
- so let's create our layout object if we don't already have
- one. */
- if (!text->layout)
- create_layout (text);
-
- if (scroll && !text->button_down) {
- /* XXX do we really need the @trailing logic here? if
- we don't we can scrap the loop and just use
- pango_layout_index_to_pos */
- PangoLayoutLine *cur_line = NULL;
- int selection_index;
- PangoLayoutIter *iter = pango_layout_get_iter (text->layout);
-
- selection_index = use_start ? text->selection_start : text->selection_end;
- /* convert to a byte index */
- selection_index = g_utf8_offset_to_pointer (text->text, selection_index) - text->text;
-
- do {
- PangoLayoutLine *line = pango_layout_iter_get_line (iter);
-
- if (selection_index >= line->start_index && selection_index <= line->start_index + line->length) {
- /* found the line with the start of the selection */
- cur_line = line;
- break;
- }
-
- } while (pango_layout_iter_next_line (iter));
-
- if (cur_line) {
- int xpos, ypos;
- double clip_width, clip_height;
- gboolean trailing = FALSE;
- PangoRectangle pango_pos;
-
- if (selection_index > 0 && selection_index == cur_line->start_index + cur_line->length) {
- selection_index--;
- trailing = TRUE;
- }
-
- pango_layout_index_to_pos (text->layout, selection_index, &pango_pos);
-
- pango_pos.x = PANGO_PIXELS (pango_pos.x);
- pango_pos.y = PANGO_PIXELS (pango_pos.y);
- pango_pos.width = (pango_pos.width + PANGO_SCALE / 2) / PANGO_SCALE;
- pango_pos.height = (pango_pos.height + PANGO_SCALE / 2) / PANGO_SCALE;
-
- /* scroll for X */
- xpos = pango_pos.x; /* + (trailing ? 0 : pango_pos.width);*/
-
- if (xpos + 2 < text->xofs_edit) {
- text->xofs_edit = xpos;
- }
-
- clip_width = text->clip_width;
- if (clip_width >= 0 && text->draw_borders) {
- clip_width -= 6;
- if (clip_width < 0)
- clip_width = 0;
- }
-
- if (xpos + pango_pos.width - clip_width > text->xofs_edit) {
- text->xofs_edit = xpos + pango_pos.width - clip_width;
- }
-
- /* scroll for Y */
- if (pango_pos.y + 2 < text->yofs_edit) {
- ypos = pango_pos.y;
- text->yofs_edit = ypos;
- }
- else {
- ypos = pango_pos.y + pango_pos.height;
- }
-
- if ( text->clip_height < 0 )
- clip_height = text->height;
- else
- clip_height = text->clip_height;
-
- if (clip_height >= 0 && text->draw_borders) {
- clip_height -= 6;
- if (clip_height < 0)
- clip_height = 0;
- }
-
- if (ypos - clip_height > text->yofs_edit) {
- text->yofs_edit = ypos - clip_height;
- }
-
- }
-
- pango_layout_iter_free (iter);
- }
-
- text->needs_redraw = 1;
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM(text));
-}
-
-
-/* Class initialization function for the text item */
-static void
-e_text_class_init (ETextClass *klass)
-{
- GObjectClass *gobject_class;
- GnomeCanvasItemClass *item_class;
-
- gobject_class = (GObjectClass *) klass;
- item_class = (GnomeCanvasItemClass *) klass;
-
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- gobject_class->dispose = e_text_dispose;
- gobject_class->set_property = e_text_set_property;
- gobject_class->get_property = e_text_get_property;
-
- item_class->update = e_text_update;
- item_class->realize = e_text_realize;
- item_class->unrealize = e_text_unrealize;
- item_class->draw = e_text_draw;
- item_class->point = e_text_point;
- item_class->bounds = e_text_bounds;
- item_class->event = e_text_event;
-
- klass->changed = NULL;
- klass->activate = NULL;
-
- e_text_signals[E_TEXT_CHANGED] =
- g_signal_new ("changed",
- G_OBJECT_CLASS_TYPE (gobject_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETextClass, changed),
- NULL, NULL,
- e_marshal_NONE__NONE,
- G_TYPE_NONE, 0);
-
- e_text_signals[E_TEXT_ACTIVATE] =
- g_signal_new ("activate",
- G_OBJECT_CLASS_TYPE (gobject_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETextClass, activate),
- NULL, NULL,
- e_marshal_NONE__NONE,
- G_TYPE_NONE, 0);
-
- e_text_signals[E_TEXT_KEYPRESS] =
- g_signal_new ("keypress",
- G_OBJECT_CLASS_TYPE (gobject_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETextClass, keypress),
- NULL, NULL,
- e_marshal_NONE__INT_INT,
- G_TYPE_NONE, 2, G_TYPE_UINT, G_TYPE_UINT);
-
- e_text_signals[E_TEXT_POPULATE_POPUP] =
- g_signal_new ("populate_popup",
- G_OBJECT_CLASS_TYPE (gobject_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (ETextClass, populate_popup),
- NULL, NULL,
- e_marshal_NONE__POINTER_INT_OBJECT,
- G_TYPE_NONE, 3, G_TYPE_POINTER, G_TYPE_INT, GTK_TYPE_MENU);
-
- g_object_class_install_property (gobject_class, PROP_MODEL,
- g_param_spec_object ("model",
- _( "Model" ),
- _( "Model" ),
- E_TYPE_TEXT_MODEL,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_EVENT_PROCESSOR,
- g_param_spec_object ("event_processor",
- _( "Event Processor" ),
- _( "Event Processor" ),
- E_TEXT_EVENT_PROCESSOR_TYPE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_TEXT,
- g_param_spec_string ("text",
- _( "Text" ),
- _( "Text" ),
- NULL,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_BOLD,
- g_param_spec_boolean ("bold",
- _( "Bold" ),
- _( "Bold" ),
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_STRIKEOUT,
- g_param_spec_boolean ("strikeout",
- _( "Strikeout" ),
- _( "Strikeout" ),
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_ANCHOR,
- g_param_spec_enum ("anchor",
- _( "Anchor" ),
- _( "Anchor" ),
- GTK_TYPE_ANCHOR_TYPE, GTK_ANCHOR_CENTER,
- G_PARAM_READWRITE));
-
-
- g_object_class_install_property (gobject_class, PROP_JUSTIFICATION,
- g_param_spec_enum ("justification",
- _( "Justification" ),
- _( "Justification" ),
- GTK_TYPE_JUSTIFICATION, GTK_JUSTIFY_LEFT,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_CLIP_WIDTH,
- g_param_spec_double ("clip_width",
- _( "Clip Width" ),
- _( "Clip Width" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_CLIP_HEIGHT,
- g_param_spec_double ("clip_height",
- _( "Clip Height" ),
- _( "Clip Height" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_CLIP,
- g_param_spec_boolean ("clip",
- _( "Clip" ),
- _( "Clip" ),
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_FILL_CLIP_RECTANGLE,
- g_param_spec_boolean ("fill_clip_rectangle",
- _( "Fill clip rectangle" ),
- _( "Fill clip rectangle" ),
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_X_OFFSET,
- g_param_spec_double ("x_offset",
- _( "X Offset" ),
- _( "X Offset" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_Y_OFFSET,
- g_param_spec_double ("y_offset",
- _( "Y Offset" ),
- _( "Y Offset" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_FILL_COLOR,
- g_param_spec_string ("fill_color",
- _( "Fill color" ),
- _( "Fill color" ),
- NULL,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_FILL_COLOR_GDK,
- g_param_spec_boxed ("fill_color_gdk",
- _( "GDK fill color" ),
- _( "GDK fill color" ),
- GDK_TYPE_COLOR,
- G_PARAM_READWRITE));
-
-
- g_object_class_install_property (gobject_class, PROP_FILL_COLOR_RGBA,
- g_param_spec_uint ("fill_color_rgba",
- _( "GDK fill color" ),
- _( "GDK fill color" ),
- 0, G_MAXUINT, 0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_FILL_STIPPLE,
- g_param_spec_object ("fill_stipple",
- _( "Fill stipple" ),
- _( "Fill stipple" ),
- GDK_TYPE_DRAWABLE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_TEXT_WIDTH,
- g_param_spec_double ("text_width",
- _( "Text width" ),
- _( "Text width" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READABLE));
-
- g_object_class_install_property (gobject_class, PROP_TEXT_HEIGHT,
- g_param_spec_double ("text_height",
- _( "Text height" ),
- _( "Text height" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READABLE));
-
-
- g_object_class_install_property (gobject_class, PROP_EDITABLE,
- g_param_spec_boolean ("editable",
- _( "Editable" ),
- _( "Editable" ),
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_USE_ELLIPSIS,
- g_param_spec_boolean ("use_ellipsis",
- _( "Use ellipsis" ),
- _( "Use ellipsis" ),
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_ELLIPSIS,
- g_param_spec_string ("ellipsis",
- _( "Ellipsis" ),
- _( "Ellipsis" ),
- NULL,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_LINE_WRAP,
- g_param_spec_boolean ("line_wrap",
- _( "Line wrap" ),
- _( "Line wrap" ),
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_BREAK_CHARACTERS,
- g_param_spec_string ("break_characters",
- _( "Break characters" ),
- _( "Break characters" ),
- NULL,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_MAX_LINES,
- g_param_spec_int ("max_lines",
- _( "Max lines" ),
- _( "Max lines" ),
- 0, G_MAXINT, 0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_WIDTH,
- g_param_spec_double ("width",
- _( "Width" ),
- _( "Width" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
-
-
- g_object_class_install_property (gobject_class, PROP_HEIGHT,
- g_param_spec_double ("height",
- _( "Height" ),
- _( "Height" ),
- 0.0, G_MAXDOUBLE, 0.0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_DRAW_BORDERS,
- g_param_spec_boolean ("draw_borders",
- _( "Draw borders" ),
- _( "Draw borders" ),
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_ALLOW_NEWLINES,
- g_param_spec_boolean ("allow_newlines",
- _( "Allow newlines" ),
- _( "Allow newlines" ),
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_DRAW_BACKGROUND,
- g_param_spec_boolean ("draw_background",
- _( "Draw background" ),
- _( "Draw background" ),
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_DRAW_BUTTON,
- g_param_spec_boolean ("draw_button",
- _( "Draw button" ),
- _( "Draw button" ),
- FALSE,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_CURSOR_POS,
- g_param_spec_int ("cursor_pos",
- _( "Cursor position" ),
- _( "Cursor position" ),
- 0, G_MAXINT, 0,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_IM_CONTEXT,
- g_param_spec_object ("im_context",
- _( "IM Context" ),
- _( "IM Context" ),
- GTK_TYPE_IM_CONTEXT,
- G_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class, PROP_HANDLE_POPUP,
- g_param_spec_boolean ("handle_popup",
- _( "Handle Popup" ),
- _( "Handle Popup" ),
- FALSE,
- G_PARAM_READWRITE));
-
- if (!clipboard_atom)
- clipboard_atom = gdk_atom_intern ("CLIPBOARD", FALSE);
-
- gal_a11y_e_text_init ();
-}
-
-/* Object initialization function for the text item */
-static void
-e_text_init (EText *text)
-{
- text->model = e_text_model_new ();
- text->text = e_text_model_get_text (text->model);
- text->preedit_len = 0;
- text->layout = NULL;
-
- text->revert = NULL;
-
- text->model_changed_signal_id =
- g_signal_connect (text->model,
- "changed",
- G_CALLBACK (e_text_text_model_changed),
- text);
- text->model_repos_signal_id =
- g_signal_connect (text->model,
- "reposition",
- G_CALLBACK (e_text_text_model_reposition),
- text);
-
- text->anchor = GTK_ANCHOR_CENTER;
- text->justification = GTK_JUSTIFY_LEFT;
- text->clip_width = -1.0;
- text->clip_height = -1.0;
- text->xofs = 0.0;
- text->yofs = 0.0;
-
- text->ellipsis = NULL;
- text->use_ellipsis = FALSE;
- text->ellipsis_width = 0;
-
- text->editable = FALSE;
- text->editing = FALSE;
- text->xofs_edit = 0;
- text->yofs_edit = 0;
-
- text->selection_start = 0;
- text->selection_end = 0;
- text->select_by_word = FALSE;
-
- text->timeout_id = 0;
- text->timer = NULL;
-
- text->lastx = 0;
- text->lasty = 0;
- text->last_state = 0;
-
- text->scroll_start = 0;
- text->show_cursor = TRUE;
- text->button_down = FALSE;
-
- text->tep = NULL;
- text->tep_command_id = 0;
-
- text->has_selection = FALSE;
-
- text->pointer_in = FALSE;
- text->default_cursor_shown = TRUE;
- text->line_wrap = FALSE;
- text->break_characters = NULL;
- text->max_lines = -1;
- text->tooltip_timeout = 0;
- text->tooltip_count = 0;
- text->tooltip_owner = FALSE;
- text->dbl_timeout = 0;
- text->tpl_timeout = 0;
-
- text->draw_background = FALSE;
- text->draw_button = FALSE;
-
- text->bold = FALSE;
- text->strikeout = FALSE;
-
- text->allow_newlines = TRUE;
-
- text->last_type_request = -1;
- d(g_print ("Setting last_type_request to %d at line %d\n", text->last_type_request, __LINE__));
- text->last_time_request = 0;
- text->queued_requests = NULL;
-
- text->im_context = NULL;
- text->need_im_reset = FALSE;
- text->im_context_signals_registered = FALSE;
-
- text->handle_popup = FALSE;
-
-
- e_canvas_item_set_reflow_callback(GNOME_CANVAS_ITEM(text), e_text_reflow);
-}
-
-/**
- * e_text_get_type:
- * @void:
- *
- * Registers the &EText class if necessary, and returns the type ID
- * associated to it.
- *
- * Return value: The type ID of the &EText class.
- **/
-E_MAKE_TYPE (e_text,
- "EText",
- EText,
- e_text_class_init,
- e_text_init,
- PARENT_TYPE)
-
-
-
-/* IM Context Callbacks */
-static void
-e_text_commit_cb (GtkIMContext *context,
- const gchar *str,
- EText *text)
-{
- if (g_utf8_validate (str, strlen (str), NULL)) {
- if (text->selection_end != text->selection_start)
- e_text_delete_selection (text);
- e_text_insert (text, str);
- g_signal_emit (text, e_text_signals[E_TEXT_KEYPRESS], 0, 0, 0);
- }
-}
-
-static void
-e_text_preedit_changed_cb (GtkIMContext *context,
- EText *etext)
-{
- gchar *preedit_string = NULL;
-
- gtk_im_context_get_preedit_string (context, &preedit_string,
- NULL, NULL);
-
- etext->preedit_len = strlen (preedit_string);
-
- g_signal_emit (etext, e_text_signals[E_TEXT_KEYPRESS], 0, 0, 0);
-}
-
-static gboolean
-e_text_retrieve_surrounding_cb (GtkIMContext *context,
- EText *text)
-{
- gtk_im_context_set_surrounding (context,
- text->text,
- strlen (text->text),
- g_utf8_offset_to_pointer (text->text, MIN (text->selection_start, text->selection_end)) - text->text);
-
- return TRUE;
-}
-
-static gboolean
-e_text_delete_surrounding_cb (GtkIMContext *context,
- gint offset,
- gint n_chars,
- EText *text)
-{
- e_text_model_delete (text->model,
- MIN (text->selection_start, text->selection_end) + offset,
- n_chars);
-
- return TRUE;
-}
diff --git a/widgets/text/e-text.h b/widgets/text/e-text.h
deleted file mode 100644
index 4eb3fa830b..0000000000
--- a/widgets/text/e-text.h
+++ /dev/null
@@ -1,244 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-text.h - Text item for evolution.
- * Copyright 2000, 2001, Ximian, Inc.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- * Jon Trowbridge <trow@ximian.com>
- *
- * A majority of code taken from:
- *
- * Text item type for GnomeCanvas widget
- *
- * GnomeCanvas is basically a port of the Tk toolkit's most excellent
- * canvas widget. Tk is copyrighted by the Regents of the University
- * of California, Sun Microsystems, and other parties.
- *
- * Copyright (C) 1998 The Free Software Foundation
- *
- * Author: Federico Mena <federico@nuclecu.unam.mx>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef E_TEXT_H
-#define E_TEXT_H
-
-#include <gtk/gtkmenu.h>
-
-#include <gal/util/e-text-event-processor.h>
-#include <gal/e-text/e-text-model.h>
-#include <gal/widgets/e-canvas.h>
-
-G_BEGIN_DECLS
-
-
-/* Text item for the canvas. Text items are positioned by an anchor point and an anchor direction.
- *
- * A clipping rectangle may be specified for the text. The rectangle is anchored at the text's anchor
- * point, and is specified by clipping width and height parameters. If the clipping rectangle is
- * enabled, it will clip the text.
- *
- * In addition, x and y offset values may be specified. These specify an offset from the anchor
- * position. If used in conjunction with the clipping rectangle, these could be used to implement
- * simple scrolling of the text within the clipping rectangle.
- *
- * The following object arguments are available:
- *
- * name type read/write description
- * ------------------------------------------------------------------------------------------
- * text string RW The string of the text label
- * bold boolean RW Bold?
- * anchor GtkAnchorType RW Anchor side for the text
- * justification GtkJustification RW Justification for multiline text
- * fill_color string W X color specification for text
- * fill_color_gdk GdkColor* RW Pointer to an allocated GdkColor
- * fill_stipple GdkBitmap* RW Stipple pattern for filling the text
- * clip_width double RW Width of clip rectangle
- * clip_height double RW Height of clip rectangle
- * clip boolean RW Use clipping rectangle?
- * fill_clip_rect boolean RW Whether the text item represents itself as being the size of the clipping rectangle.
- * x_offset double RW Horizontal offset distance from anchor position
- * y_offset double RW Vertical offset distance from anchor position
- * text_width double R Used to query the width of the rendered text
- * text_height double R Used to query the rendered height of the text
- * width double RW A synonym for clip_width
- * height double R A synonym for text_height
- *
- * These are currently ignored in the AA version:
- * editable boolean RW Can this item be edited
- * use_ellipsis boolean RW Whether to use ellipsises if text gets cut off. Meaningless if clip == false.
- * ellipsis string RW The characters to use as ellipsis. NULL = "...".
- * line_wrap boolean RW Line wrap when not editing.
- * break_characters string RW List of characters to optionally break on.
- * max_lines int RW Number of lines possible when doing line wrap.
- * draw_borders boolean RW Whether to draw borders.
- * draw_background boolean RW Whether to draw the background.
- * draw_button boolean RW This makes EText handle being the child of a button properly and highlighting as it should.
- */
-
-#define E_TYPE_TEXT (e_text_get_type ())
-#define E_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_TEXT, EText))
-#define E_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_TYPE_TEXT, ETextClass))
-#define E_IS_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_TYPE_TEXT))
-#define E_IS_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), E_TYPE_TEXT))
-
-
-typedef struct _EText EText;
-typedef struct _ETextClass ETextClass;
-
-struct _EText {
- GnomeCanvasItem item;
-
- ETextModel *model;
- gint model_changed_signal_id;
- gint model_repos_signal_id;
-
- const gchar *text; /* Text to display --- from the ETextModel */
- gint preedit_len; /* preedit length to display */
- PangoLayout *layout;
- int num_lines; /* Number of lines of text */
-
- gchar *revert; /* Text to revert to */
-
- GtkAnchorType anchor; /* Anchor side for text */
- GtkJustification justification; /* Justification for text */
-
- double clip_width; /* Width of optional clip rectangle */
- double clip_height; /* Height of optional clip rectangle */
-
- double xofs, yofs; /* Text offset distance from anchor position */
-
- GdkColor color; /* Fill color */
- GdkBitmap *stipple; /* Stipple for text */
- GdkGC *gc; /* GC for drawing text */
-
- int cx, cy; /* Top-left canvas coordinates for text */
- int text_cx, text_cy; /* Top-left canvas coordinates for text */
- int clip_cx, clip_cy; /* Top-left canvas coordinates for clip rectangle */
- int clip_cwidth, clip_cheight; /* Size of clip rectangle in pixels */
- int max_width; /* Maximum width of text lines */
- int width; /* Rendered text width in pixels */
- int height; /* Rendered text height in pixels */
-
- guint32 rgba; /* RGBA color for text */
- double affine[6]; /* The item -> canvas affine */
-
- char *ellipsis; /* The ellipsis characters. NULL = "...". */
- double ellipsis_width; /* The width of the ellipsis. */
-
- int xofs_edit; /* Offset because of editing */
- int yofs_edit; /* Offset because of editing */
-
- /* This needs to be reworked a bit once we get line wrapping. */
- int selection_start; /* Start of selection IN BYTES */
- int selection_end; /* End of selection IN BYTES */
- gboolean select_by_word; /* Current selection is by word */
-
- /* This section is for drag scrolling and blinking cursor. */
- gint timeout_id; /* Current timeout id for scrolling */
- GTimer *timer; /* Timer for blinking cursor and scrolling */
-
- gint lastx, lasty; /* Last x and y motion events */
- gint last_state; /* Last state */
- gulong scroll_start; /* Starting time for scroll (microseconds) */
-
- gint show_cursor; /* Is cursor currently shown */
- gboolean button_down; /* Is mouse button 1 down */
-
- ETextEventProcessor *tep; /* Text Event Processor */
- gint tep_command_id;
-
- gboolean has_selection; /* TRUE if we have the selection */
-
- guint clip : 1; /* Use clip rectangle? */
- guint fill_clip_rectangle : 1; /* Fill the clipping rectangle. */
-
- guint pointer_in : 1; /* Is the pointer currently over us? */
- guint default_cursor_shown : 1; /* Is the default cursor currently shown? */
- guint draw_borders : 1; /* Draw borders? */
- guint draw_background : 1; /* Draw background? */
- guint draw_button : 1; /* Draw button? */
-
- guint line_wrap : 1; /* Do line wrap */
-
- guint needs_redraw : 1; /* Needs redraw */
- guint needs_recalc_bounds : 1; /* Need recalc_bounds */
- guint needs_calc_height : 1; /* Need calc_height */
- guint needs_split_into_lines : 1; /* Needs split_into_lines */
- guint needs_reset_layout : 1; /* Needs split_into_lines */
-
- guint bold : 1;
- guint strikeout : 1;
-
- guint tooltip_owner : 1;
- guint allow_newlines : 1;
-
- guint use_ellipsis : 1; /* Whether to use the ellipsis. */
-
- guint editable : 1; /* Item is editable */
- guint editing : 1; /* Item is currently being edited */
-
- gchar *break_characters; /* Characters to optionally break after */
-
- gint max_lines; /* Max number of lines (-1 = infinite) */
-
- GdkCursor *default_cursor; /* Default cursor (arrow) */
- GdkCursor *i_cursor; /* I beam cursor */
-
- gint tooltip_timeout; /* Timeout for the tooltip */
- gint tooltip_count; /* GDK_ENTER_NOTIFY count. */
-
- gint dbl_timeout; /* Double click timeout */
- gint tpl_timeout; /* Triple click timeout */
-
- gint last_type_request; /* Last selection type requested. */
- guint32 last_time_request; /* The time of the last selection request. */
- GdkAtom last_selection_request; /* The time of the last selection request. */
- GList *queued_requests; /* Queued selection requests. */
-
- GtkIMContext *im_context;
- gboolean need_im_reset;
- gboolean im_context_signals_registered;
-
- gboolean handle_popup;
-};
-
-struct _ETextClass {
- GnomeCanvasItemClass parent_class;
-
- void (* changed) (EText *text);
- void (* activate) (EText *text);
- void (* keypress) (EText *text, guint keyval, guint state);
- void (* populate_popup) (EText *text, GdkEventButton *ev, gint pos, GtkMenu *menu);
- void (* style_set) (EText *text, GtkStyle *previous_style);
-};
-
-
-/* Standard Gtk function */
-GtkType e_text_get_type (void);
-void e_text_cancel_editing (EText *text);
-void e_text_stop_editing (EText *text);
-
-void e_text_delete_selection (EText *text);
-void e_text_cut_clipboard (EText *text);
-void e_text_copy_clipboard (EText *text);
-void e_text_paste_clipboard (EText *text);
-void e_text_select_all (EText *text);
-
-G_END_DECLS
-
-#endif