diff --git a/ChangeLog b/ChangeLog
index 712959b2eb331c5207a0f69da7184492c37fe9df..1191749cb50e906f84f1ebc86a488a31e6148374 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,33 @@
+2006-03-12	Benedikt Meurer <benny@xfce.org>
+
+	* thunar/thunar-enum-types.{c,h}, thunar/thunar-list-model.c,
+	  thunar/thunar-path-entry.c: Rename THUNAR_COLUMN_REAL_NAME to
+	  THUNAR_COLUMN_FILE_NAME.
+	* thunar/thunar-enum-types.{c,h}, thunar/thunar-list-model.c: Add new
+	  list model columns THUNAR_COLUMN_GROUP and THUNAR_COLUMN_OWNER.
+	* thunar/thunar-enum-types.{c,h}: Divide ThunarColumns into visible and
+	  special columns.
+	* thunar/thunar-text-renderer.c(thunar_text_renderer_get_size): Improve
+	  guessing the required width for text columns.
+	* thunar/thunar-text-renderer.c(thunar_text_renderer_set_widget): Set
+	  fixed height for the text render.
+	* thunar/thunar-preferences.c, docs/README.thunarrc: Add preferences for
+	  the configurable detailed list view columns. Bug #1351.
+	* thunar/thunar-column-editor.{c,h}, thunar/thunar-column-model.{c,h},
+	  thunar/Makefile.am: Import ThunarColumnModel and ThunarColumnEditor
+	  classes. The ThunarColumnModel class handles the order, visibility and
+	  fixed widths of columns. The ThunarColumnEditor class provides a
+	  dialog to configure the ThunarColumnModel. Bug #1351.
+	* thunar/thunar-details-view.{c,h}, thunar/thunar-details-view-ui.xml,
+	  thunar/Makefile.am: Use column order and visibility from the
+	  ThunarColumnOrder. Add "Configure Columns..." menu item to "View",
+	  which pops up the ThunarColumnEditor. For fixed column mode, we use
+	  the fixed height mode provided by GtkTreeView, which speeds up the
+	  detailed list view a lot, esp. with older Pango version. Bug #1351.
+	* po/POTFILES.in: Add new files here.
+	* po/Thunar.pot, po/*.po: Merge new strings.
+	* po/de.po: Update the german translations.
+
 2006-03-11	Benedikt Meurer <benny@xfce.org>
 
 	* thunar-uca/thunar-uca-editor.c(thunar_uca_editor_command_clicked),
diff --git a/docs/README.thunarrc b/docs/README.thunarrc
index 4aaf47a185c8bc50bc02e2234b2cd6613d3f7cc9..29bec9d4d8f097026c2ad5528d17f0a85dfe2571 100644
--- a/docs/README.thunarrc
+++ b/docs/README.thunarrc
@@ -24,6 +24,48 @@ The Thunar Configuration File (thunarrc)
 
      The last selected zoom level for the detailed list view.
 
+   * LastDetailsViewColumnOrder
+
+     A comma separated list of columns, which specifies the order of
+     information that appears in the detailed list view. Valid names
+     for the detailed list columns are:
+
+	- THUNAR_COLUMN_DATE_ACCESSED
+        - THUNAR_COLUMN_DATE_MODIFIED
+        - THUNAR_COLUMN_GROUP
+        - THUNAR_COLUMN_MIME_TYPE
+        - THUNAR_COLUMN_NAME
+        - THUNAR_COLUMN_OWNER
+        - THUNAR_COLUMN_PERMISSIONS
+        - THUNAR_COLUMN_SIZE
+        - THUNAR_COLUMN_TYPE
+
+   * LastDetailsViewColumnWidths
+
+     A comma separated list of column widths, used if the details view
+     is in fixed column mode. The exact format of this list should be
+     considered an implementation detail and may change in future
+     versions of Thunar.
+
+   * LastDetailsViewFixedColumns (FALSE/TRUE)
+
+     Whether to use fixed column widths in the detailed list view.
+
+   * LastDetailsViewVisibleColumns
+
+     The comma separated list of visible columns in the detailed list
+     view. Valid names for the detailed list columns are:
+
+	- THUNAR_COLUMN_DATE_ACCESSED
+        - THUNAR_COLUMN_DATE_MODIFIED
+        - THUNAR_COLUMN_GROUP
+        - THUNAR_COLUMN_MIME_TYPE
+        - THUNAR_COLUMN_NAME
+        - THUNAR_COLUMN_OWNER
+        - THUNAR_COLUMN_PERMISSIONS
+        - THUNAR_COLUMN_SIZE
+        - THUNAR_COLUMN_TYPE
+
    * LastIconViewZoomLevel (THUNAR_ZOOM_LEVEL_SMALLEST/
    			    THUNAR_ZOOM_LEVEL_SMALLER/
    			    THUNAR_ZOOM_LEVEL_SMALL/
@@ -51,8 +93,10 @@ The Thunar Configuration File (thunarrc)
 
    * LastSortColumn (THUNAR_COLUMN_DATE_ACCESSED/
                      THUNAR_COLUMN_DATE_MODIFIED/
+                     THUNAR_COLUMN_GROUP/
                      THUNAR_COLUMN_MIME_TYPE/
                      THUNAR_COLUMN_NAME/
+                     THUNAR_COLUMN_OWNER/
                      THUNAR_COLUMN_PERMISSIONS/
                      THUNAR_COLUMN_SIZE/
                      THUNAR_COLUMN_TYPE)
diff --git a/po/ChangeLog b/po/ChangeLog
index d67796f599ea39ba17c93e2b62a558cd17187026..6a48737ee9e5c00323a5860de4b72364c4f93b8e 100644
--- a/po/ChangeLog
+++ b/po/ChangeLog
@@ -1,3 +1,9 @@
+2006-03-12  Benedikt Meurer <benny@xfce.org>
+
+	* POTFILES.in: Add new files here.
+	* Thunar.pot, *.po: Merge new strings.
+	* de.po: Update the german translations.
+
 2006-03-12  Daichi Kawahata <daichi@xfce.org>
 
 	* ja.po: Updated Japanese translations.
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 587730b8f6ec7f75aafedcd05d74bde741b2b662..803c0dac658ceec11fdcd9681f1818b5e71afc77 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -41,11 +41,14 @@ thunar/thunar-chooser-button.c
 thunar/thunar-chooser-dialog.c
 thunar/thunar-chooser-model.c
 thunar/thunar-clipboard-manager.c
+thunar/thunar-column-editor.c
+thunar/thunar-column-model.c
 thunar/thunar-create-dialog.c
 thunar/thunar-details-view.c
 thunar/thunar-dialogs.c
 thunar/thunar-dnd.c
 thunar/thunar-emblem-chooser.c
+thunar/thunar-enum-types.c
 thunar/thunar-file.c
 thunar/thunar-folder.c
 thunar/thunar-gdk-pixbuf-extensions.c
diff --git a/po/Thunar.pot b/po/Thunar.pot
index 49e747d3b93cd8e524496fa051f80e8ef789fc51..7157ff202b56434a9192c2da6a4b5d68120e9bb1 100644
--- a/po/Thunar.pot
+++ b/po/Thunar.pot
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-11 18:15+0100\n"
+"POT-Creation-Date: 2006-03-12 18:55+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -160,7 +160,7 @@ msgid "The icon of the mime handler"
 msgstr ""
 
 #: ../thunar-vfs/thunar-vfs-mime-handler.c:176
-#: ../thunar/thunar-details-view.c:178
+#: ../thunar/thunar-enum-types.c:64
 msgid "Name"
 msgstr ""
 
@@ -186,7 +186,7 @@ msgstr ""
 msgid "URI too long to fit into buffer"
 msgstr ""
 
-#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-details-view.c:197
+#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-enum-types.c:67
 msgid "Size"
 msgstr ""
 
@@ -248,7 +248,7 @@ msgstr ""
 msgid "copy of %s"
 msgstr ""
 
-#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:716
+#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:752
 #: ../thunar/thunar-properties-dialog.c:658
 #, c-format
 msgid "link to %s"
@@ -562,6 +562,70 @@ msgstr ""
 msgid "There is nothing on the clipboard to paste"
 msgstr ""
 
+#: ../thunar/thunar-column-editor.c:153
+msgid "Configure Columns in the Detailed List View"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:164
+msgid "Visible Columns"
+msgstr ""
+
+#. create the top label for the column editor dialog
+#: ../thunar/thunar-column-editor.c:177
+msgid ""
+"Chooser the order of information to appear in the\n"
+"detailed list view."
+msgstr ""
+
+#. create the "Move Up" button
+#: ../thunar/thunar-column-editor.c:218
+msgid "Move _Up"
+msgstr ""
+
+#. create the "Move Down" button
+#: ../thunar/thunar-column-editor.c:228
+msgid "Move Dow_n"
+msgstr ""
+
+#. create the "Show" button
+#: ../thunar/thunar-column-editor.c:238
+msgid "_Show"
+msgstr ""
+
+#. create the "Hide" button
+#: ../thunar/thunar-column-editor.c:244
+msgid "Hi_de"
+msgstr ""
+
+#. create the "Use Default" button
+#: ../thunar/thunar-column-editor.c:255
+msgid "Use De_fault"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:264
+msgid "Column Sizing"
+msgstr ""
+
+#. create the label that explains the column sizing option
+#: ../thunar/thunar-column-editor.c:277
+msgid ""
+"By default columns will be automatically expanded if\n"
+"needed to ensure the text is fully visible. If you dis-\n"
+"able this behavior below the file manager will always\n"
+"use the user defined column widths."
+msgstr ""
+
+#. create the "Automatically expand columns as needed" button
+#: ../thunar/thunar-column-editor.c:286
+msgid "Automatically _expand columns as needed"
+msgstr ""
+
+#: ../thunar/thunar-column-model.c:894 ../thunar/thunar-list-model.c:702
+#: ../thunar/thunar-list-model.c:731
+#: ../thunar/thunar-permissions-chooser.c:270
+msgid "Unknown"
+msgstr ""
+
 #: ../thunar/thunar-create-dialog.c:180 ../thunar/thunar-standard-view.c:2242
 msgid "Enter the new name:"
 msgstr ""
@@ -572,27 +636,19 @@ msgstr ""
 msgid "Cannot convert filename \"%s\" to the local encoding"
 msgstr ""
 
-#.
-#. Permissions chooser
-#.
-#: ../thunar/thunar-details-view.c:212
-#: ../thunar/thunar-properties-dialog.c:414
-msgid "Permissions"
-msgstr ""
-
-#: ../thunar/thunar-details-view.c:227
-msgid "Type"
+#: ../thunar/thunar-details-view.c:130
+msgid "Configure _Columns..."
 msgstr ""
 
-#: ../thunar/thunar-details-view.c:239
-msgid "Date modified"
+#: ../thunar/thunar-details-view.c:130
+msgid "Configure the columns in the detailed list view"
 msgstr ""
 
-#: ../thunar/thunar-details-view.c:268
+#: ../thunar/thunar-details-view.c:411
 msgid "Detailed directory listing"
 msgstr ""
 
-#: ../thunar/thunar-details-view.c:269
+#: ../thunar/thunar-details-view.c:412
 msgid "Details view"
 msgstr ""
 
@@ -620,6 +676,45 @@ msgstr ""
 msgid "Failed to execute file \"%s\""
 msgstr ""
 
+#: ../thunar/thunar-enum-types.c:60
+msgid "Date Accessed"
+msgstr ""
+
+#: ../thunar/thunar-enum-types.c:61
+msgid "Date Modified"
+msgstr ""
+
+#: ../thunar/thunar-enum-types.c:62
+msgid "Group"
+msgstr ""
+
+#: ../thunar/thunar-enum-types.c:63
+msgid "MIME Type"
+msgstr ""
+
+#: ../thunar/thunar-enum-types.c:65
+msgid "Owner"
+msgstr ""
+
+#.
+#. Permissions chooser
+#.
+#: ../thunar/thunar-enum-types.c:66 ../thunar/thunar-properties-dialog.c:414
+msgid "Permissions"
+msgstr ""
+
+#: ../thunar/thunar-enum-types.c:68
+msgid "Type"
+msgstr ""
+
+#: ../thunar/thunar-enum-types.c:69
+msgid "File"
+msgstr ""
+
+#: ../thunar/thunar-enum-types.c:70
+msgid "File Name"
+msgstr ""
+
 #: ../thunar/thunar-file.c:727
 msgid "The root folder has no parent"
 msgstr ""
@@ -839,47 +934,47 @@ msgstr[1] ""
 msgid "Open With \"%s\""
 msgstr ""
 
-#: ../thunar/thunar-list-model.c:714 ../thunar/thunar-properties-dialog.c:656
+#: ../thunar/thunar-list-model.c:750 ../thunar/thunar-properties-dialog.c:656
 msgid "broken link"
 msgstr ""
 
-#: ../thunar/thunar-list-model.c:1989
+#: ../thunar/thunar-list-model.c:2075
 #, c-format
 msgid "%d item, Free space: %s"
 msgid_plural "%d items, Free space: %s"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../thunar/thunar-list-model.c:1994
+#: ../thunar/thunar-list-model.c:2080
 #, c-format
 msgid "%d item"
 msgid_plural "%d items"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../thunar/thunar-list-model.c:2010
+#: ../thunar/thunar-list-model.c:2096
 #, c-format
 msgid "\"%s\" broken link"
 msgstr ""
 
-#: ../thunar/thunar-list-model.c:2014
+#: ../thunar/thunar-list-model.c:2100
 #, c-format
 msgid "\"%s\" (%s) link to %s"
 msgstr ""
 
-#: ../thunar/thunar-list-model.c:2019
+#: ../thunar/thunar-list-model.c:2105
 #, c-format
 msgid "\"%s\" (%s) %s"
 msgstr ""
 
-#: ../thunar/thunar-list-model.c:2036
+#: ../thunar/thunar-list-model.c:2122
 #, c-format
 msgid "%d item selected (%s)"
 msgid_plural "%d items selected (%s)"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../thunar/thunar-list-model.c:2041
+#: ../thunar/thunar-list-model.c:2127
 #, c-format
 msgid "%d item selected"
 msgid_plural "%d items selected"
@@ -961,10 +1056,6 @@ msgstr ""
 msgid "Owner:"
 msgstr ""
 
-#: ../thunar/thunar-permissions-chooser.c:270
-msgid "Unknown"
-msgstr ""
-
 #: ../thunar/thunar-permissions-chooser.c:284
 #: ../thunar/thunar-permissions-chooser.c:337
 msgid "Access:"
diff --git a/po/ca.po b/po/ca.po
index 43ae027f59d461eb395aa43e7eb72c061f20e94e..ac23158a5dc507168d24e19c35cc8c66474c6b42 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Thunar 0.2.1svn\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-11 18:15+0100\n"
+"POT-Creation-Date: 2006-03-12 18:55+0100\n"
 "PO-Revision-Date: 2006-01-29 15:14+0900\n"
 "Last-Translator: Pau Rul·lan Ferragut <paurullan@bulma.net>\n"
 "Language-Team: Catalan\n"
@@ -177,7 +177,7 @@ msgid "The icon of the mime handler"
 msgstr ""
 
 #: ../thunar-vfs/thunar-vfs-mime-handler.c:176
-#: ../thunar/thunar-details-view.c:178
+#: ../thunar/thunar-enum-types.c:64
 msgid "Name"
 msgstr "Nom"
 
@@ -203,7 +203,7 @@ msgstr "El camí és massa llarg per caber a la memòria intermèdia"
 msgid "URI too long to fit into buffer"
 msgstr "La URI és massa llarg per caber a la memòria intermèdia"
 
-#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-details-view.c:197
+#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-enum-types.c:67
 msgid "Size"
 msgstr "Mida"
 
@@ -266,7 +266,7 @@ msgstr "Ha fallat"
 msgid "copy of %s"
 msgstr "còpia de %s"
 
-#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:716
+#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:752
 #: ../thunar/thunar-properties-dialog.c:658
 #, c-format
 msgid "link to %s"
@@ -586,6 +586,72 @@ msgstr "Altres aplicacions:"
 msgid "There is nothing on the clipboard to paste"
 msgstr "El portaretalls no té res per enganxar"
 
+#: ../thunar/thunar-column-editor.c:153
+msgid "Configure Columns in the Detailed List View"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:164
+msgid "Visible Columns"
+msgstr ""
+
+#. create the top label for the column editor dialog
+#: ../thunar/thunar-column-editor.c:177
+msgid ""
+"Chooser the order of information to appear in the\n"
+"detailed list view."
+msgstr ""
+
+#. create the "Move Up" button
+#: ../thunar/thunar-column-editor.c:218
+msgid "Move _Up"
+msgstr ""
+
+#. create the "Move Down" button
+#: ../thunar/thunar-column-editor.c:228
+msgid "Move Dow_n"
+msgstr ""
+
+#. create the "Show" button
+#: ../thunar/thunar-column-editor.c:238
+msgid "_Show"
+msgstr ""
+
+#. create the "Hide" button
+#: ../thunar/thunar-column-editor.c:244
+#, fuzzy
+msgid "Hi_de"
+msgstr "Amagad_a"
+
+#. create the "Use Default" button
+#: ../thunar/thunar-column-editor.c:255
+msgid "Use De_fault"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:264
+msgid "Column Sizing"
+msgstr ""
+
+#. create the label that explains the column sizing option
+#: ../thunar/thunar-column-editor.c:277
+msgid ""
+"By default columns will be automatically expanded if\n"
+"needed to ensure the text is fully visible. If you dis-\n"
+"able this behavior below the file manager will always\n"
+"use the user defined column widths."
+msgstr ""
+
+#. create the "Automatically expand columns as needed" button
+#: ../thunar/thunar-column-editor.c:286
+msgid "Automatically _expand columns as needed"
+msgstr ""
+
+#: ../thunar/thunar-column-model.c:894 ../thunar/thunar-list-model.c:702
+#: ../thunar/thunar-list-model.c:731
+#: ../thunar/thunar-permissions-chooser.c:270
+#, fuzzy
+msgid "Unknown"
+msgstr "Desconegut"
+
 #: ../thunar/thunar-create-dialog.c:180 ../thunar/thunar-standard-view.c:2242
 msgid "Enter the new name:"
 msgstr "Introduïu el nom nou:"
@@ -596,27 +662,21 @@ msgstr "Introduïu el nom nou:"
 msgid "Cannot convert filename \"%s\" to the local encoding"
 msgstr "converteix"
 
-#.
-#. Permissions chooser
-#.
-#: ../thunar/thunar-details-view.c:212
-#: ../thunar/thunar-properties-dialog.c:414
-msgid "Permissions"
-msgstr "Permisos"
-
-#: ../thunar/thunar-details-view.c:227
-msgid "Type"
-msgstr "Tipus"
+#: ../thunar/thunar-details-view.c:130
+#, fuzzy
+msgid "Configure _Columns..."
+msgstr "Configura accions personalitzades..."
 
-#: ../thunar/thunar-details-view.c:239
-msgid "Date modified"
-msgstr "Data modificada"
+#: ../thunar/thunar-details-view.c:130
+#, fuzzy
+msgid "Configure the columns in the detailed list view"
+msgstr "Pantalla in a llista"
 
-#: ../thunar/thunar-details-view.c:268
+#: ../thunar/thunar-details-view.c:411
 msgid "Detailed directory listing"
 msgstr "Llistat detallat de directoris"
 
-#: ../thunar/thunar-details-view.c:269
+#: ../thunar/thunar-details-view.c:412
 msgid "Details view"
 msgstr "Mostra detalls"
 
@@ -645,6 +705,52 @@ msgstr "_Enllaça aquí"
 msgid "Failed to execute file \"%s\""
 msgstr "No s'ha pogut executar `%s'"
 
+#: ../thunar/thunar-enum-types.c:60
+#, fuzzy
+msgid "Date Accessed"
+msgstr "Accedit:"
+
+#: ../thunar/thunar-enum-types.c:61
+#, fuzzy
+msgid "Date Modified"
+msgstr "Data modificada"
+
+#: ../thunar/thunar-enum-types.c:62
+#, fuzzy
+msgid "Group"
+msgstr "Grup:"
+
+#: ../thunar/thunar-enum-types.c:63
+#, fuzzy
+msgid "MIME Type"
+msgstr "Tipus"
+
+#: ../thunar/thunar-enum-types.c:65
+#, fuzzy
+msgid "Owner"
+msgstr "Propietari:"
+
+#.
+#. Permissions chooser
+#.
+#: ../thunar/thunar-enum-types.c:66 ../thunar/thunar-properties-dialog.c:414
+msgid "Permissions"
+msgstr "Permisos"
+
+#: ../thunar/thunar-enum-types.c:68
+msgid "Type"
+msgstr "Tipus"
+
+#: ../thunar/thunar-enum-types.c:69
+#, fuzzy
+msgid "File"
+msgstr "_Fitxers"
+
+#: ../thunar/thunar-enum-types.c:70
+#, fuzzy
+msgid "File Name"
+msgstr "Gestor de fitxers"
+
 #: ../thunar/thunar-file.c:727
 msgid "The root folder has no parent"
 msgstr "La carpeta arrel no té pare"
@@ -885,48 +991,48 @@ msgstr[1] "seleccionat"
 msgid "Open With \"%s\""
 msgstr "Obre amb"
 
-#: ../thunar/thunar-list-model.c:714 ../thunar/thunar-properties-dialog.c:656
+#: ../thunar/thunar-list-model.c:750 ../thunar/thunar-properties-dialog.c:656
 #, fuzzy
 msgid "broken link"
 msgstr "enllaç"
 
-#: ../thunar/thunar-list-model.c:1989
+#: ../thunar/thunar-list-model.c:2075
 #, fuzzy, c-format
 msgid "%d item, Free space: %s"
 msgid_plural "%d items, Free space: %s"
 msgstr[0] "element Lliure espai"
 msgstr[1] "element Lliure espai"
 
-#: ../thunar/thunar-list-model.c:1994
+#: ../thunar/thunar-list-model.c:2080
 #, fuzzy, c-format
 msgid "%d item"
 msgid_plural "%d items"
 msgstr[0] "element"
 msgstr[1] "element"
 
-#: ../thunar/thunar-list-model.c:2010
+#: ../thunar/thunar-list-model.c:2096
 #, fuzzy, c-format
 msgid "\"%s\" broken link"
 msgstr "enllaç"
 
-#: ../thunar/thunar-list-model.c:2014
+#: ../thunar/thunar-list-model.c:2100
 #, fuzzy, c-format
 msgid "\"%s\" (%s) link to %s"
 msgstr "enllaç"
 
-#: ../thunar/thunar-list-model.c:2019
+#: ../thunar/thunar-list-model.c:2105
 #, c-format
 msgid "\"%s\" (%s) %s"
 msgstr "\"%s\" (%s) %s"
 
-#: ../thunar/thunar-list-model.c:2036
+#: ../thunar/thunar-list-model.c:2122
 #, fuzzy, c-format
 msgid "%d item selected (%s)"
 msgid_plural "%d items selected (%s)"
 msgstr[0] "element seleccionat"
 msgstr[1] "element seleccionat"
 
-#: ../thunar/thunar-list-model.c:2041
+#: ../thunar/thunar-list-model.c:2127
 #, fuzzy, c-format
 msgid "%d item selected"
 msgid_plural "%d items selected"
@@ -1016,11 +1122,6 @@ msgstr "Llegit Escriptura"
 msgid "Owner:"
 msgstr "Propietari:"
 
-#: ../thunar/thunar-permissions-chooser.c:270
-#, fuzzy
-msgid "Unknown"
-msgstr "Desconegut"
-
 #: ../thunar/thunar-permissions-chooser.c:284
 #: ../thunar/thunar-permissions-chooser.c:337
 #, fuzzy
diff --git a/po/de.po b/po/de.po
index 3d2aa85815a5fe7037097701f7c8e170704b5175..192c0891558c77518ebc4b46eab952bdb40f88f8 100644
--- a/po/de.po
+++ b/po/de.po
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Thunar 0.2.3svn\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-11 18:15+0100\n"
-"PO-Revision-Date: 2006-03-11 18:16+0100\n"
+"POT-Creation-Date: 2006-03-12 18:55+0100\n"
+"PO-Revision-Date: 2006-03-12 18:56+0100\n"
 "Last-Translator: Benedikt Meurer <benny@xfce.org>\n"
 "Language-Team: German <de@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -174,7 +174,7 @@ msgid "The icon of the mime handler"
 msgstr "Das Symbol für den Mime-Handler"
 
 #: ../thunar-vfs/thunar-vfs-mime-handler.c:176
-#: ../thunar/thunar-details-view.c:178
+#: ../thunar/thunar-enum-types.c:64
 msgid "Name"
 msgstr "Name"
 
@@ -200,7 +200,7 @@ msgstr "Puffer zu klein um Pfad aufzunehmen"
 msgid "URI too long to fit into buffer"
 msgstr "Puffer zu klein um URI aufzunehmen"
 
-#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-details-view.c:197
+#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-enum-types.c:67
 msgid "Size"
 msgstr "Größe"
 
@@ -262,7 +262,7 @@ msgstr "Konnte /proc/mounts nicht öffnen: %s"
 msgid "copy of %s"
 msgstr "Kopie von %s"
 
-#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:716
+#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:752
 #: ../thunar/thunar-properties-dialog.c:658
 #, c-format
 msgid "link to %s"
@@ -585,6 +585,77 @@ msgid "There is nothing on the clipboard to paste"
 msgstr ""
 "In der Zwischenablage befindet sich nichts was hier eingefügt werden könnte"
 
+#: ../thunar/thunar-column-editor.c:153
+msgid "Configure Columns in the Detailed List View"
+msgstr "Die Spalten in der Detailansicht festlegen"
+
+#: ../thunar/thunar-column-editor.c:164
+msgid "Visible Columns"
+msgstr "Anzuzeigende Spalten"
+
+#. create the top label for the column editor dialog
+#: ../thunar/thunar-column-editor.c:177
+msgid ""
+"Chooser the order of information to appear in the\n"
+"detailed list view."
+msgstr ""
+"Legen Sie die Reihenfolge fest, in der in der Detailansicht\n"
+"Informationen angezeigt werden sollen."
+
+#. create the "Move Up" button
+#: ../thunar/thunar-column-editor.c:218
+msgid "Move _Up"
+msgstr "_Raufschieben"
+
+#. create the "Move Down" button
+#: ../thunar/thunar-column-editor.c:228
+msgid "Move Dow_n"
+msgstr "R_unterschieben"
+
+#. create the "Show" button
+#: ../thunar/thunar-column-editor.c:238
+msgid "_Show"
+msgstr "_Anzeigen"
+
+#. create the "Hide" button
+#: ../thunar/thunar-column-editor.c:244
+msgid "Hi_de"
+msgstr "_Verbergen"
+
+#. create the "Use Default" button
+#: ../thunar/thunar-column-editor.c:255
+msgid "Use De_fault"
+msgstr "V_orgabe verwenden"
+
+#: ../thunar/thunar-column-editor.c:264
+msgid "Column Sizing"
+msgstr "Spaltengröße"
+
+#. create the label that explains the column sizing option
+#: ../thunar/thunar-column-editor.c:277
+msgid ""
+"By default columns will be automatically expanded if\n"
+"needed to ensure the text is fully visible. If you dis-\n"
+"able this behavior below the file manager will always\n"
+"use the user defined column widths."
+msgstr ""
+"Standardmäßig werden die Listenspalten automatisch\n"
+"vergrößert, falls notwendig, so daß der Text vollstän-\n"
+"dig angezeigt werden kann. Wird diese Einstellung de-\n"
+"aktiviert, merkt sich der Dateimanager die benutzerde-\n"
+"finierten Spaltengrößen."
+
+#. create the "Automatically expand columns as needed" button
+#: ../thunar/thunar-column-editor.c:286
+msgid "Automatically _expand columns as needed"
+msgstr "Listenspalten automatisch ver_größern"
+
+#: ../thunar/thunar-column-model.c:894 ../thunar/thunar-list-model.c:702
+#: ../thunar/thunar-list-model.c:731
+#: ../thunar/thunar-permissions-chooser.c:270
+msgid "Unknown"
+msgstr "Unbekannt"
+
 #: ../thunar/thunar-create-dialog.c:180 ../thunar/thunar-standard-view.c:2242
 msgid "Enter the new name:"
 msgstr "Neuen Namen eingeben:"
@@ -597,27 +668,19 @@ msgstr ""
 "Der Dateiname »%s« kann nicht in den Dateisystem Zeichensatz umgewandelt "
 "werden"
 
-#.
-#. Permissions chooser
-#.
-#: ../thunar/thunar-details-view.c:212
-#: ../thunar/thunar-properties-dialog.c:414
-msgid "Permissions"
-msgstr "Berechtigungen"
+#: ../thunar/thunar-details-view.c:130
+msgid "Configure _Columns..."
+msgstr "Listens_palten festlegen..."
 
-#: ../thunar/thunar-details-view.c:227
-msgid "Type"
-msgstr "Typ"
+#: ../thunar/thunar-details-view.c:130
+msgid "Configure the columns in the detailed list view"
+msgstr "Die Listenspalten in der Detailansicht festlegen"
 
-#: ../thunar/thunar-details-view.c:239
-msgid "Date modified"
-msgstr "Letzte Änderung"
-
-#: ../thunar/thunar-details-view.c:268
+#: ../thunar/thunar-details-view.c:411
 msgid "Detailed directory listing"
 msgstr "Detailierte Verzeichnisansicht"
 
-#: ../thunar/thunar-details-view.c:269
+#: ../thunar/thunar-details-view.c:412
 msgid "Details view"
 msgstr "Detailansicht"
 
@@ -645,6 +708,45 @@ msgstr "Hierher verknü_pfen"
 msgid "Failed to execute file \"%s\""
 msgstr "Konnte »%s« nicht umbenennen"
 
+#: ../thunar/thunar-enum-types.c:60
+msgid "Date Accessed"
+msgstr "Zugriffsdatum"
+
+#: ../thunar/thunar-enum-types.c:61
+msgid "Date Modified"
+msgstr "Änderungsdatum"
+
+#: ../thunar/thunar-enum-types.c:62
+msgid "Group"
+msgstr "Gruppe"
+
+#: ../thunar/thunar-enum-types.c:63
+msgid "MIME Type"
+msgstr "MIME-Typ"
+
+#: ../thunar/thunar-enum-types.c:65
+msgid "Owner"
+msgstr "Besitzer"
+
+#.
+#. Permissions chooser
+#.
+#: ../thunar/thunar-enum-types.c:66 ../thunar/thunar-properties-dialog.c:414
+msgid "Permissions"
+msgstr "Berechtigungen"
+
+#: ../thunar/thunar-enum-types.c:68
+msgid "Type"
+msgstr "Typ"
+
+#: ../thunar/thunar-enum-types.c:69
+msgid "File"
+msgstr "Datei"
+
+#: ../thunar/thunar-enum-types.c:70
+msgid "File Name"
+msgstr "Dateiname"
+
 #: ../thunar/thunar-file.c:727
 msgid "The root folder has no parent"
 msgstr "Das Wurzelverzeichnis hat kein übergeordnetes Verzeichnis"
@@ -870,47 +972,47 @@ msgstr[1] "Die ausgewählten Dateien mit den Standardanwendungen öffnen"
 msgid "Open With \"%s\""
 msgstr "Mit »%s« öffnen"
 
-#: ../thunar/thunar-list-model.c:714 ../thunar/thunar-properties-dialog.c:656
+#: ../thunar/thunar-list-model.c:750 ../thunar/thunar-properties-dialog.c:656
 msgid "broken link"
 msgstr "Verknüpfung (fehlerhaft)"
 
-#: ../thunar/thunar-list-model.c:1989
+#: ../thunar/thunar-list-model.c:2075
 #, c-format
 msgid "%d item, Free space: %s"
 msgid_plural "%d items, Free space: %s"
 msgstr[0] "%d Objekt, Freier Speicher: %s"
 msgstr[1] "%d Objekte, Freier Speicher: %s"
 
-#: ../thunar/thunar-list-model.c:1994
+#: ../thunar/thunar-list-model.c:2080
 #, c-format
 msgid "%d item"
 msgid_plural "%d items"
 msgstr[0] "%d Objekt"
 msgstr[1] "%d Objekte"
 
-#: ../thunar/thunar-list-model.c:2010
+#: ../thunar/thunar-list-model.c:2096
 #, c-format
 msgid "\"%s\" broken link"
 msgstr "»%s« Verknüpfung (fehlerhaft)"
 
-#: ../thunar/thunar-list-model.c:2014
+#: ../thunar/thunar-list-model.c:2100
 #, c-format
 msgid "\"%s\" (%s) link to %s"
 msgstr "»%s« (%s) Verknüpfung mit %s"
 
-#: ../thunar/thunar-list-model.c:2019
+#: ../thunar/thunar-list-model.c:2105
 #, c-format
 msgid "\"%s\" (%s) %s"
 msgstr "»%s« (%s) %s"
 
-#: ../thunar/thunar-list-model.c:2036
+#: ../thunar/thunar-list-model.c:2122
 #, c-format
 msgid "%d item selected (%s)"
 msgid_plural "%d items selected (%s)"
 msgstr[0] "%d Objekt ausgewählt (%s)"
 msgstr[1] "%d Objekte ausgewählt (%s)"
 
-#: ../thunar/thunar-list-model.c:2041
+#: ../thunar/thunar-list-model.c:2127
 #, c-format
 msgid "%d item selected"
 msgid_plural "%d items selected"
@@ -992,10 +1094,6 @@ msgstr "Lesen & Schreiben"
 msgid "Owner:"
 msgstr "Besitzer:"
 
-#: ../thunar/thunar-permissions-chooser.c:270
-msgid "Unknown"
-msgstr "Unbekannt"
-
 #: ../thunar/thunar-permissions-chooser.c:284
 #: ../thunar/thunar-permissions-chooser.c:337
 msgid "Access:"
diff --git a/po/el.po b/po/el.po
index f8082e429e7fc627d9e604568a090f7f681061e8..fe3d063e9cee805255c32854dd95852a9da5ba61 100644
--- a/po/el.po
+++ b/po/el.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Thunar 0.2.1svn\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-11 18:15+0100\n"
+"POT-Creation-Date: 2006-03-12 18:55+0100\n"
 "PO-Revision-Date: 2006-03-03 21:38+0200\n"
 "Last-Translator: Stavros Giannouris <stavrosg2002@freemail.gr>\n"
 "Language-Team: Greek <nls@tux.hellug.gr>\n"
@@ -175,7 +175,7 @@ msgid "The icon of the mime handler"
 msgstr ""
 
 #: ../thunar-vfs/thunar-vfs-mime-handler.c:176
-#: ../thunar/thunar-details-view.c:178
+#: ../thunar/thunar-enum-types.c:64
 msgid "Name"
 msgstr "Όνομα"
 
@@ -201,7 +201,7 @@ msgstr "Η διαδρομή είναι υπερβολικά μεγάλη για
 msgid "URI too long to fit into buffer"
 msgstr "Το URI είναι υπερβολικά μεγάλο για να χωρέσει στην προσωρινή μνήμη"
 
-#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-details-view.c:197
+#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-enum-types.c:67
 msgid "Size"
 msgstr "Μέγεθος"
 
@@ -263,7 +263,7 @@ msgstr "Το άνοιγμα του /proc/mounts απέτυχε: %s"
 msgid "copy of %s"
 msgstr "αντίγραφο του %s"
 
-#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:716
+#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:752
 #: ../thunar/thunar-properties-dialog.c:658
 #, c-format
 msgid "link to %s"
@@ -582,6 +582,71 @@ msgstr "Άλλες Εφαρμογές"
 msgid "There is nothing on the clipboard to paste"
 msgstr "Δεν υπάρχει τίποτα στο πρόχειρο για να επικολληθεί."
 
+#: ../thunar/thunar-column-editor.c:153
+msgid "Configure Columns in the Detailed List View"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:164
+msgid "Visible Columns"
+msgstr ""
+
+#. create the top label for the column editor dialog
+#: ../thunar/thunar-column-editor.c:177
+msgid ""
+"Chooser the order of information to appear in the\n"
+"detailed list view."
+msgstr ""
+
+#. create the "Move Up" button
+#: ../thunar/thunar-column-editor.c:218
+msgid "Move _Up"
+msgstr ""
+
+#. create the "Move Down" button
+#: ../thunar/thunar-column-editor.c:228
+msgid "Move Dow_n"
+msgstr ""
+
+#. create the "Show" button
+#: ../thunar/thunar-column-editor.c:238
+msgid "_Show"
+msgstr ""
+
+#. create the "Hide" button
+#: ../thunar/thunar-column-editor.c:244
+#, fuzzy
+msgid "Hi_de"
+msgstr "Κ_ρυφό"
+
+#. create the "Use Default" button
+#: ../thunar/thunar-column-editor.c:255
+msgid "Use De_fault"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:264
+msgid "Column Sizing"
+msgstr ""
+
+#. create the label that explains the column sizing option
+#: ../thunar/thunar-column-editor.c:277
+msgid ""
+"By default columns will be automatically expanded if\n"
+"needed to ensure the text is fully visible. If you dis-\n"
+"able this behavior below the file manager will always\n"
+"use the user defined column widths."
+msgstr ""
+
+#. create the "Automatically expand columns as needed" button
+#: ../thunar/thunar-column-editor.c:286
+msgid "Automatically _expand columns as needed"
+msgstr ""
+
+#: ../thunar/thunar-column-model.c:894 ../thunar/thunar-list-model.c:702
+#: ../thunar/thunar-list-model.c:731
+#: ../thunar/thunar-permissions-chooser.c:270
+msgid "Unknown"
+msgstr "Άγνωστο"
+
 #: ../thunar/thunar-create-dialog.c:180 ../thunar/thunar-standard-view.c:2242
 msgid "Enter the new name:"
 msgstr "Εισάγετε νέο όνομα:"
@@ -594,27 +659,21 @@ msgstr ""
 "Δεν είναι δυνατή η μετατροπή του ονόματος αρχείου \"%s\" στην τοπική "
 "κωδικοποίηση"
 
-#.
-#. Permissions chooser
-#.
-#: ../thunar/thunar-details-view.c:212
-#: ../thunar/thunar-properties-dialog.c:414
-msgid "Permissions"
-msgstr "Δικαιώματα"
-
-#: ../thunar/thunar-details-view.c:227
-msgid "Type"
-msgstr "Τύπος"
+#: ../thunar/thunar-details-view.c:130
+#, fuzzy
+msgid "Configure _Columns..."
+msgstr "Ρυθμίσεις προσαρμο_σμένων ενεργειών..."
 
-#: ../thunar/thunar-details-view.c:239
-msgid "Date modified"
-msgstr "Ημερομηνία Τροποποίησης"
+#: ../thunar/thunar-details-view.c:130
+#, fuzzy
+msgid "Configure the columns in the detailed list view"
+msgstr "Εμφάνιση περιεχομένων φακέλου ως λεπτομερή λίστα"
 
-#: ../thunar/thunar-details-view.c:268
+#: ../thunar/thunar-details-view.c:411
 msgid "Detailed directory listing"
 msgstr "Λεπτομερής απεικόνιση καταλόγων"
 
-#: ../thunar/thunar-details-view.c:269
+#: ../thunar/thunar-details-view.c:412
 msgid "Details view"
 msgstr "Προβολή λεπτομεριών"
 
@@ -642,6 +701,52 @@ msgstr "Δ_ημιουργία δεσμού εδώ"
 msgid "Failed to execute file \"%s\""
 msgstr "Η εκτέλεση του \"%s\" απέτυχε"
 
+#: ../thunar/thunar-enum-types.c:60
+#, fuzzy
+msgid "Date Accessed"
+msgstr "Προσπελάστηκε:"
+
+#: ../thunar/thunar-enum-types.c:61
+#, fuzzy
+msgid "Date Modified"
+msgstr "Ημερομηνία Τροποποίησης"
+
+#: ../thunar/thunar-enum-types.c:62
+#, fuzzy
+msgid "Group"
+msgstr "Ομάδα:"
+
+#: ../thunar/thunar-enum-types.c:63
+#, fuzzy
+msgid "MIME Type"
+msgstr "Τύπος"
+
+#: ../thunar/thunar-enum-types.c:65
+#, fuzzy
+msgid "Owner"
+msgstr "Ιδιοκτήτης:"
+
+#.
+#. Permissions chooser
+#.
+#: ../thunar/thunar-enum-types.c:66 ../thunar/thunar-properties-dialog.c:414
+msgid "Permissions"
+msgstr "Δικαιώματα"
+
+#: ../thunar/thunar-enum-types.c:68
+msgid "Type"
+msgstr "Τύπος"
+
+#: ../thunar/thunar-enum-types.c:69
+#, fuzzy
+msgid "File"
+msgstr "_Αρχείο"
+
+#: ../thunar/thunar-enum-types.c:70
+#, fuzzy
+msgid "File Name"
+msgstr "Διαχειριστής Αρχείων"
+
 #: ../thunar/thunar-file.c:727
 msgid "The root folder has no parent"
 msgstr "Ο ριζικός φάκελος δεν έχει γονεϊκό φάκελο"
@@ -862,47 +967,47 @@ msgstr[1] "Άνοιγμα των επιλεγμένων αρχείων με τι
 msgid "Open With \"%s\""
 msgstr "Άνοιγμα Με το \"%s\""
 
-#: ../thunar/thunar-list-model.c:714 ../thunar/thunar-properties-dialog.c:656
+#: ../thunar/thunar-list-model.c:750 ../thunar/thunar-properties-dialog.c:656
 msgid "broken link"
 msgstr "σπασμένος δεσμός"
 
-#: ../thunar/thunar-list-model.c:1989
+#: ../thunar/thunar-list-model.c:2075
 #, c-format
 msgid "%d item, Free space: %s"
 msgid_plural "%d items, Free space: %s"
 msgstr[0] "%d αντικείμενο, Ελεύθερος χώρος: %s"
 msgstr[1] "%d αντικείμενα, Ελεύθερος χώρος: %s"
 
-#: ../thunar/thunar-list-model.c:1994
+#: ../thunar/thunar-list-model.c:2080
 #, c-format
 msgid "%d item"
 msgid_plural "%d items"
 msgstr[0] "%d αντικείμενο"
 msgstr[1] "%d αντικείμενα"
 
-#: ../thunar/thunar-list-model.c:2010
+#: ../thunar/thunar-list-model.c:2096
 #, c-format
 msgid "\"%s\" broken link"
 msgstr "σπασμένος δεσμός \"%s\""
 
-#: ../thunar/thunar-list-model.c:2014
+#: ../thunar/thunar-list-model.c:2100
 #, c-format
 msgid "\"%s\" (%s) link to %s"
 msgstr "\"%s\" (%s) δεσμός προς το %s"
 
-#: ../thunar/thunar-list-model.c:2019
+#: ../thunar/thunar-list-model.c:2105
 #, c-format
 msgid "\"%s\" (%s) %s"
 msgstr "\"%s\" (%s) %s"
 
-#: ../thunar/thunar-list-model.c:2036
+#: ../thunar/thunar-list-model.c:2122
 #, c-format
 msgid "%d item selected (%s)"
 msgid_plural "%d items selected (%s)"
 msgstr[0] "%d επιλεγμένο αντικείμενο (%s)"
 msgstr[1] "%d επιλεγμένα αντικείμενα (%s)"
 
-#: ../thunar/thunar-list-model.c:2041
+#: ../thunar/thunar-list-model.c:2127
 #, c-format
 msgid "%d item selected"
 msgid_plural "%d items selected"
@@ -984,10 +1089,6 @@ msgstr "Εγγραφή & Ανάγνωση"
 msgid "Owner:"
 msgstr "Ιδιοκτήτης:"
 
-#: ../thunar/thunar-permissions-chooser.c:270
-msgid "Unknown"
-msgstr "Άγνωστο"
-
 #: ../thunar/thunar-permissions-chooser.c:284
 #: ../thunar/thunar-permissions-chooser.c:337
 msgid "Access:"
diff --git a/po/es.po b/po/es.po
index 752e0293f95e200ddd7d0ece8897b4b1f3336ac8..2966a9b805b8bbe832cffb08acb06f729bf3e9fe 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Thunar 0.2.1svn\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-11 18:15+0100\n"
+"POT-Creation-Date: 2006-03-12 18:55+0100\n"
 "PO-Revision-Date: 2005-10-14 23:57+0900\n"
 "Last-Translator: Pablo Hernández-M. Saiz <homeless3d@gmail.com>\n"
 "Language-Team: Spanish <es@li.org>\n"
@@ -174,7 +174,7 @@ msgid "The icon of the mime handler"
 msgstr ""
 
 #: ../thunar-vfs/thunar-vfs-mime-handler.c:176
-#: ../thunar/thunar-details-view.c:178
+#: ../thunar/thunar-enum-types.c:64
 msgid "Name"
 msgstr "Nombre"
 
@@ -200,7 +200,7 @@ msgstr ""
 msgid "URI too long to fit into buffer"
 msgstr ""
 
-#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-details-view.c:197
+#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-enum-types.c:67
 msgid "Size"
 msgstr "Tamaño"
 
@@ -264,7 +264,7 @@ msgstr "Imposible renombrar %s."
 msgid "copy of %s"
 msgstr ""
 
-#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:716
+#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:752
 #: ../thunar/thunar-properties-dialog.c:658
 #, c-format
 msgid "link to %s"
@@ -589,6 +589,71 @@ msgstr "Otra aplicación..."
 msgid "There is nothing on the clipboard to paste"
 msgstr "No hay nada en el portapapeles que pueda ser pegado"
 
+#: ../thunar/thunar-column-editor.c:153
+msgid "Configure Columns in the Detailed List View"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:164
+msgid "Visible Columns"
+msgstr ""
+
+#. create the top label for the column editor dialog
+#: ../thunar/thunar-column-editor.c:177
+msgid ""
+"Chooser the order of information to appear in the\n"
+"detailed list view."
+msgstr ""
+
+#. create the "Move Up" button
+#: ../thunar/thunar-column-editor.c:218
+msgid "Move _Up"
+msgstr ""
+
+#. create the "Move Down" button
+#: ../thunar/thunar-column-editor.c:228
+msgid "Move Dow_n"
+msgstr ""
+
+#. create the "Show" button
+#: ../thunar/thunar-column-editor.c:238
+msgid "_Show"
+msgstr ""
+
+#. create the "Hide" button
+#: ../thunar/thunar-column-editor.c:244
+#, fuzzy
+msgid "Hi_de"
+msgstr "_Oculto/a"
+
+#. create the "Use Default" button
+#: ../thunar/thunar-column-editor.c:255
+msgid "Use De_fault"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:264
+msgid "Column Sizing"
+msgstr ""
+
+#. create the label that explains the column sizing option
+#: ../thunar/thunar-column-editor.c:277
+msgid ""
+"By default columns will be automatically expanded if\n"
+"needed to ensure the text is fully visible. If you dis-\n"
+"able this behavior below the file manager will always\n"
+"use the user defined column widths."
+msgstr ""
+
+#. create the "Automatically expand columns as needed" button
+#: ../thunar/thunar-column-editor.c:286
+msgid "Automatically _expand columns as needed"
+msgstr ""
+
+#: ../thunar/thunar-column-model.c:894 ../thunar/thunar-list-model.c:702
+#: ../thunar/thunar-list-model.c:731
+#: ../thunar/thunar-permissions-chooser.c:270
+msgid "Unknown"
+msgstr ""
+
 #: ../thunar/thunar-create-dialog.c:180 ../thunar/thunar-standard-view.c:2242
 msgid "Enter the new name:"
 msgstr ""
@@ -599,27 +664,19 @@ msgstr ""
 msgid "Cannot convert filename \"%s\" to the local encoding"
 msgstr ""
 
-#.
-#. Permissions chooser
-#.
-#: ../thunar/thunar-details-view.c:212
-#: ../thunar/thunar-properties-dialog.c:414
-msgid "Permissions"
-msgstr "Permisos"
-
-#: ../thunar/thunar-details-view.c:227
-msgid "Type"
-msgstr "Tipo"
+#: ../thunar/thunar-details-view.c:130
+msgid "Configure _Columns..."
+msgstr ""
 
-#: ../thunar/thunar-details-view.c:239
-msgid "Date modified"
-msgstr "Fecha de modificación"
+#: ../thunar/thunar-details-view.c:130
+msgid "Configure the columns in the detailed list view"
+msgstr ""
 
-#: ../thunar/thunar-details-view.c:268
+#: ../thunar/thunar-details-view.c:411
 msgid "Detailed directory listing"
 msgstr "Listado detallado del directorio"
 
-#: ../thunar/thunar-details-view.c:269
+#: ../thunar/thunar-details-view.c:412
 msgid "Details view"
 msgstr "Vista detallada"
 
@@ -649,6 +706,50 @@ msgstr ""
 msgid "Failed to execute file \"%s\""
 msgstr "Imposible renombrar %s."
 
+#: ../thunar/thunar-enum-types.c:60
+#, fuzzy
+msgid "Date Accessed"
+msgstr "Accedido:"
+
+#: ../thunar/thunar-enum-types.c:61
+#, fuzzy
+msgid "Date Modified"
+msgstr "Fecha de modificación"
+
+#: ../thunar/thunar-enum-types.c:62
+msgid "Group"
+msgstr ""
+
+#: ../thunar/thunar-enum-types.c:63
+#, fuzzy
+msgid "MIME Type"
+msgstr "Tipo"
+
+#: ../thunar/thunar-enum-types.c:65
+msgid "Owner"
+msgstr ""
+
+#.
+#. Permissions chooser
+#.
+#: ../thunar/thunar-enum-types.c:66 ../thunar/thunar-properties-dialog.c:414
+msgid "Permissions"
+msgstr "Permisos"
+
+#: ../thunar/thunar-enum-types.c:68
+msgid "Type"
+msgstr "Tipo"
+
+#: ../thunar/thunar-enum-types.c:69
+#, fuzzy
+msgid "File"
+msgstr "_Archivo"
+
+#: ../thunar/thunar-enum-types.c:70
+#, fuzzy
+msgid "File Name"
+msgstr "Gestor de archivos"
+
 #: ../thunar/thunar-file.c:727
 msgid "The root folder has no parent"
 msgstr ""
@@ -877,47 +978,47 @@ msgstr[1] ""
 msgid "Open With \"%s\""
 msgstr "Abrir con"
 
-#: ../thunar/thunar-list-model.c:714 ../thunar/thunar-properties-dialog.c:656
+#: ../thunar/thunar-list-model.c:750 ../thunar/thunar-properties-dialog.c:656
 msgid "broken link"
 msgstr ""
 
-#: ../thunar/thunar-list-model.c:1989
+#: ../thunar/thunar-list-model.c:2075
 #, c-format
 msgid "%d item, Free space: %s"
 msgid_plural "%d items, Free space: %s"
 msgstr[0] "%d elemento, espacio libre %s"
 msgstr[1] "%d elementos, espacio libre %s"
 
-#: ../thunar/thunar-list-model.c:1994
+#: ../thunar/thunar-list-model.c:2080
 #, c-format
 msgid "%d item"
 msgid_plural "%d items"
 msgstr[0] "%d elemento"
 msgstr[1] "%d elementos"
 
-#: ../thunar/thunar-list-model.c:2010
+#: ../thunar/thunar-list-model.c:2096
 #, c-format
 msgid "\"%s\" broken link"
 msgstr ""
 
-#: ../thunar/thunar-list-model.c:2014
+#: ../thunar/thunar-list-model.c:2100
 #, fuzzy, c-format
 msgid "\"%s\" (%s) link to %s"
 msgstr "\"%s\" (%s) %s"
 
-#: ../thunar/thunar-list-model.c:2019
+#: ../thunar/thunar-list-model.c:2105
 #, c-format
 msgid "\"%s\" (%s) %s"
 msgstr "\"%s\" (%s) %s"
 
-#: ../thunar/thunar-list-model.c:2036
+#: ../thunar/thunar-list-model.c:2122
 #, c-format
 msgid "%d item selected (%s)"
 msgid_plural "%d items selected (%s)"
 msgstr[0] "%d elemento seleccionado (%s)"
 msgstr[1] "%d elementos seleccionados (%s)"
 
-#: ../thunar/thunar-list-model.c:2041
+#: ../thunar/thunar-list-model.c:2127
 #, c-format
 msgid "%d item selected"
 msgid_plural "%d items selected"
@@ -1000,10 +1101,6 @@ msgstr ""
 msgid "Owner:"
 msgstr ""
 
-#: ../thunar/thunar-permissions-chooser.c:270
-msgid "Unknown"
-msgstr ""
-
 #: ../thunar/thunar-permissions-chooser.c:284
 #: ../thunar/thunar-permissions-chooser.c:337
 #, fuzzy
diff --git a/po/eu.po b/po/eu.po
index 9b91765d8e41f2f792f4a420efa00a302c977ef6..f6d4db9b074ef3481c47fe786ef85d38e2426649 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Thunar 0.2.1svn\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-11 18:15+0100\n"
+"POT-Creation-Date: 2006-03-12 18:55+0100\n"
 "PO-Revision-Date: 2006-02-22 12:03+0100\n"
 "Last-Translator: Piarres Beobide <pi@beobide.net>\n"
 "Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
@@ -174,7 +174,7 @@ msgid "The icon of the mime handler"
 msgstr "Mime kudeatzailearen ikonoa"
 
 #: ../thunar-vfs/thunar-vfs-mime-handler.c:176
-#: ../thunar/thunar-details-view.c:178
+#: ../thunar/thunar-enum-types.c:64
 msgid "Name"
 msgstr "Izena"
 
@@ -200,7 +200,7 @@ msgstr "Bidea luzeegia buferrean sartzeko"
 msgid "URI too long to fit into buffer"
 msgstr "URI-a luzeegia buferrean sartzeko"
 
-#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-details-view.c:197
+#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-enum-types.c:67
 msgid "Size"
 msgstr "Tamaina"
 
@@ -262,7 +262,7 @@ msgstr "Huts /proc/mounts irekitzerkaoan: %s"
 msgid "copy of %s"
 msgstr "%s-ren kopia"
 
-#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:716
+#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:752
 #: ../thunar/thunar-properties-dialog.c:658
 #, c-format
 msgid "link to %s"
@@ -580,6 +580,71 @@ msgstr "BEste Aplikazioak"
 msgid "There is nothing on the clipboard to paste"
 msgstr "Ez dago itsasteko ezer arbelan "
 
+#: ../thunar/thunar-column-editor.c:153
+msgid "Configure Columns in the Detailed List View"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:164
+msgid "Visible Columns"
+msgstr ""
+
+#. create the top label for the column editor dialog
+#: ../thunar/thunar-column-editor.c:177
+msgid ""
+"Chooser the order of information to appear in the\n"
+"detailed list view."
+msgstr ""
+
+#. create the "Move Up" button
+#: ../thunar/thunar-column-editor.c:218
+msgid "Move _Up"
+msgstr ""
+
+#. create the "Move Down" button
+#: ../thunar/thunar-column-editor.c:228
+msgid "Move Dow_n"
+msgstr ""
+
+#. create the "Show" button
+#: ../thunar/thunar-column-editor.c:238
+msgid "_Show"
+msgstr ""
+
+#. create the "Hide" button
+#: ../thunar/thunar-column-editor.c:244
+#, fuzzy
+msgid "Hi_de"
+msgstr "_Ezkutatua"
+
+#. create the "Use Default" button
+#: ../thunar/thunar-column-editor.c:255
+msgid "Use De_fault"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:264
+msgid "Column Sizing"
+msgstr ""
+
+#. create the label that explains the column sizing option
+#: ../thunar/thunar-column-editor.c:277
+msgid ""
+"By default columns will be automatically expanded if\n"
+"needed to ensure the text is fully visible. If you dis-\n"
+"able this behavior below the file manager will always\n"
+"use the user defined column widths."
+msgstr ""
+
+#. create the "Automatically expand columns as needed" button
+#: ../thunar/thunar-column-editor.c:286
+msgid "Automatically _expand columns as needed"
+msgstr ""
+
+#: ../thunar/thunar-column-model.c:894 ../thunar/thunar-list-model.c:702
+#: ../thunar/thunar-list-model.c:731
+#: ../thunar/thunar-permissions-chooser.c:270
+msgid "Unknown"
+msgstr "Ezezaguna"
+
 #: ../thunar/thunar-create-dialog.c:180 ../thunar/thunar-standard-view.c:2242
 msgid "Enter the new name:"
 msgstr "Izen berria idatzi:"
@@ -590,27 +655,21 @@ msgstr "Izen berria idatzi:"
 msgid "Cannot convert filename \"%s\" to the local encoding"
 msgstr "Ezin da `%s' fitxategi izena kodeketa lokalera bihurtu"
 
-#.
-#. Permissions chooser
-#.
-#: ../thunar/thunar-details-view.c:212
-#: ../thunar/thunar-properties-dialog.c:414
-msgid "Permissions"
-msgstr "Baimenak"
-
-#: ../thunar/thunar-details-view.c:227
-msgid "Type"
-msgstr "Mota"
+#: ../thunar/thunar-details-view.c:130
+#, fuzzy
+msgid "Configure _Columns..."
+msgstr "E_kintza pertsonalizatuak konfiguratu..."
 
-#: ../thunar/thunar-details-view.c:239
-msgid "Date modified"
-msgstr "Data aldaturik"
+#: ../thunar/thunar-details-view.c:130
+#, fuzzy
+msgid "Configure the columns in the detailed list view"
+msgstr "Karpeta edukia zehazturiko zerrenda ikuspegian bistarazi"
 
-#: ../thunar/thunar-details-view.c:268
+#: ../thunar/thunar-details-view.c:411
 msgid "Detailed directory listing"
 msgstr "Xeheturiko direktorio zerrendatzea"
 
-#: ../thunar/thunar-details-view.c:269
+#: ../thunar/thunar-details-view.c:412
 msgid "Details view"
 msgstr "Xeheturiko ikuspegia"
 
@@ -639,6 +698,52 @@ msgstr "Hona _lotu"
 msgid "Failed to execute file \"%s\""
 msgstr "Huts \"%s\" fitxategia abiaraztean"
 
+#: ../thunar/thunar-enum-types.c:60
+#, fuzzy
+msgid "Date Accessed"
+msgstr "Erabilia:"
+
+#: ../thunar/thunar-enum-types.c:61
+#, fuzzy
+msgid "Date Modified"
+msgstr "Data aldaturik"
+
+#: ../thunar/thunar-enum-types.c:62
+#, fuzzy
+msgid "Group"
+msgstr "Taldea:"
+
+#: ../thunar/thunar-enum-types.c:63
+#, fuzzy
+msgid "MIME Type"
+msgstr "Mota"
+
+#: ../thunar/thunar-enum-types.c:65
+#, fuzzy
+msgid "Owner"
+msgstr "Jabea:"
+
+#.
+#. Permissions chooser
+#.
+#: ../thunar/thunar-enum-types.c:66 ../thunar/thunar-properties-dialog.c:414
+msgid "Permissions"
+msgstr "Baimenak"
+
+#: ../thunar/thunar-enum-types.c:68
+msgid "Type"
+msgstr "Mota"
+
+#: ../thunar/thunar-enum-types.c:69
+#, fuzzy
+msgid "File"
+msgstr "_Fitxategia"
+
+#: ../thunar/thunar-enum-types.c:70
+#, fuzzy
+msgid "File Name"
+msgstr "Fitxategi Kudeatzailea"
+
 #: ../thunar/thunar-file.c:727
 msgid "The root folder has no parent"
 msgstr "Erro karpetak ez du gurasorik"
@@ -859,47 +964,47 @@ msgstr[1] "Aukeratutako fitxategiak lehenetsiriko aplikazioak ireki"
 msgid "Open With \"%s\""
 msgstr "\"%s\"-rekin Ireki"
 
-#: ../thunar/thunar-list-model.c:714 ../thunar/thunar-properties-dialog.c:656
+#: ../thunar/thunar-list-model.c:750 ../thunar/thunar-properties-dialog.c:656
 msgid "broken link"
 msgstr "Apurturiko lotura"
 
-#: ../thunar/thunar-list-model.c:1989
+#: ../thunar/thunar-list-model.c:2075
 #, c-format
 msgid "%d item, Free space: %s"
 msgid_plural "%d items, Free space: %s"
 msgstr[0] "Elementu %d, Leku librea: %s"
 msgstr[1] "%d elementu, Leku librea: %s"
 
-#: ../thunar/thunar-list-model.c:1994
+#: ../thunar/thunar-list-model.c:2080
 #, c-format
 msgid "%d item"
 msgid_plural "%d items"
 msgstr[0] "Elementu %d"
 msgstr[1] "%d elementu"
 
-#: ../thunar/thunar-list-model.c:2010
+#: ../thunar/thunar-list-model.c:2096
 #, c-format
 msgid "\"%s\" broken link"
 msgstr "\"%s\" apurturiko lotura"
 
-#: ../thunar/thunar-list-model.c:2014
+#: ../thunar/thunar-list-model.c:2100
 #, c-format
 msgid "\"%s\" (%s) link to %s"
 msgstr "\"%s\" (%s) %s-ra lotzen du"
 
-#: ../thunar/thunar-list-model.c:2019
+#: ../thunar/thunar-list-model.c:2105
 #, c-format
 msgid "\"%s\" (%s) %s"
 msgstr "\"%s\" (%s) %s"
 
-#: ../thunar/thunar-list-model.c:2036
+#: ../thunar/thunar-list-model.c:2122
 #, c-format
 msgid "%d item selected (%s)"
 msgid_plural "%d items selected (%s)"
 msgstr[0] "Elementu %d aukeraturik (%s)"
 msgstr[1] "%d elementu aukeraturik (%s)"
 
-#: ../thunar/thunar-list-model.c:2041
+#: ../thunar/thunar-list-model.c:2127
 #, c-format
 msgid "%d item selected"
 msgid_plural "%d items selected"
@@ -981,10 +1086,6 @@ msgstr "Irakurri eta Idatzi"
 msgid "Owner:"
 msgstr "Jabea:"
 
-#: ../thunar/thunar-permissions-chooser.c:270
-msgid "Unknown"
-msgstr "Ezezaguna"
-
 #: ../thunar/thunar-permissions-chooser.c:284
 #: ../thunar/thunar-permissions-chooser.c:337
 msgid "Access:"
diff --git a/po/fi.po b/po/fi.po
index 4610968783379a500722e845ffb0a991a6693e30..0366d9bbf2a62e05f45a0a4eb033ff4d55620531 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Thunar 0.2.1svn\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-11 18:15+0100\n"
+"POT-Creation-Date: 2006-03-12 18:55+0100\n"
 "PO-Revision-Date: 2006-03-01 21:36+0200\n"
 "Last-Translator: jari <jari.rahkonen@pp1.inet.fi>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -171,7 +171,7 @@ msgid "The icon of the mime handler"
 msgstr "Mime-käsittelijän kuvake"
 
 #: ../thunar-vfs/thunar-vfs-mime-handler.c:176
-#: ../thunar/thunar-details-view.c:178
+#: ../thunar/thunar-enum-types.c:64
 msgid "Name"
 msgstr "Nimi"
 
@@ -197,7 +197,7 @@ msgstr "Polku ei mahdu puskuriin"
 msgid "URI too long to fit into buffer"
 msgstr "URI ei mahdu puskuriin"
 
-#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-details-view.c:197
+#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-enum-types.c:67
 msgid "Size"
 msgstr "Koko"
 
@@ -259,7 +259,7 @@ msgstr "Kohteen /proc/mounts avaaminen epäonnistui: %s"
 msgid "copy of %s"
 msgstr "kopio kohteesta %s"
 
-#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:716
+#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:752
 #: ../thunar/thunar-properties-dialog.c:658
 #, c-format
 msgid "link to %s"
@@ -576,6 +576,71 @@ msgstr "Muut sovellukset"
 msgid "There is nothing on the clipboard to paste"
 msgstr "Leikepöydällä ei ole liitettävää"
 
+#: ../thunar/thunar-column-editor.c:153
+msgid "Configure Columns in the Detailed List View"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:164
+msgid "Visible Columns"
+msgstr ""
+
+#. create the top label for the column editor dialog
+#: ../thunar/thunar-column-editor.c:177
+msgid ""
+"Chooser the order of information to appear in the\n"
+"detailed list view."
+msgstr ""
+
+#. create the "Move Up" button
+#: ../thunar/thunar-column-editor.c:218
+msgid "Move _Up"
+msgstr ""
+
+#. create the "Move Down" button
+#: ../thunar/thunar-column-editor.c:228
+msgid "Move Dow_n"
+msgstr ""
+
+#. create the "Show" button
+#: ../thunar/thunar-column-editor.c:238
+msgid "_Show"
+msgstr ""
+
+#. create the "Hide" button
+#: ../thunar/thunar-column-editor.c:244
+#, fuzzy
+msgid "Hi_de"
+msgstr "_Piilota"
+
+#. create the "Use Default" button
+#: ../thunar/thunar-column-editor.c:255
+msgid "Use De_fault"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:264
+msgid "Column Sizing"
+msgstr ""
+
+#. create the label that explains the column sizing option
+#: ../thunar/thunar-column-editor.c:277
+msgid ""
+"By default columns will be automatically expanded if\n"
+"needed to ensure the text is fully visible. If you dis-\n"
+"able this behavior below the file manager will always\n"
+"use the user defined column widths."
+msgstr ""
+
+#. create the "Automatically expand columns as needed" button
+#: ../thunar/thunar-column-editor.c:286
+msgid "Automatically _expand columns as needed"
+msgstr ""
+
+#: ../thunar/thunar-column-model.c:894 ../thunar/thunar-list-model.c:702
+#: ../thunar/thunar-list-model.c:731
+#: ../thunar/thunar-permissions-chooser.c:270
+msgid "Unknown"
+msgstr "Tuntematon"
+
 #: ../thunar/thunar-create-dialog.c:180 ../thunar/thunar-standard-view.c:2242
 msgid "Enter the new name:"
 msgstr "Syötä uusi nimi:"
@@ -586,27 +651,21 @@ msgstr "Syötä uusi nimi:"
 msgid "Cannot convert filename \"%s\" to the local encoding"
 msgstr "Tiedostonimeä \"%s\" ei voi muuttaa käytössä olevaan merkistöön"
 
-#.
-#. Permissions chooser
-#.
-#: ../thunar/thunar-details-view.c:212
-#: ../thunar/thunar-properties-dialog.c:414
-msgid "Permissions"
-msgstr "Käyttöoikeudet"
-
-#: ../thunar/thunar-details-view.c:227
-msgid "Type"
-msgstr "Tyyppi"
+#: ../thunar/thunar-details-view.c:130
+#, fuzzy
+msgid "Configure _Columns..."
+msgstr "_Mukautetut toiminnot..."
 
-#: ../thunar/thunar-details-view.c:239
-msgid "Date modified"
-msgstr "Muokkauspäivämäärä"
+#: ../thunar/thunar-details-view.c:130
+#, fuzzy
+msgid "Configure the columns in the detailed list view"
+msgstr "Näytä hakemiston sisältö yksityiskohtaisessa listanäkymässä"
 
-#: ../thunar/thunar-details-view.c:268
+#: ../thunar/thunar-details-view.c:411
 msgid "Detailed directory listing"
 msgstr "Yksityiskohtainen hakemistolistaus"
 
-#: ../thunar/thunar-details-view.c:269
+#: ../thunar/thunar-details-view.c:412
 msgid "Details view"
 msgstr "Yksityiskohtainen näkymä"
 
@@ -634,6 +693,52 @@ msgstr "_Linkitä tähän"
 msgid "Failed to execute file \"%s\""
 msgstr "Tiedoston \"%s\" suorittaminen epäonnistui"
 
+#: ../thunar/thunar-enum-types.c:60
+#, fuzzy
+msgid "Date Accessed"
+msgstr "Käytetty:"
+
+#: ../thunar/thunar-enum-types.c:61
+#, fuzzy
+msgid "Date Modified"
+msgstr "Muokkauspäivämäärä"
+
+#: ../thunar/thunar-enum-types.c:62
+#, fuzzy
+msgid "Group"
+msgstr "Ryhmä:"
+
+#: ../thunar/thunar-enum-types.c:63
+#, fuzzy
+msgid "MIME Type"
+msgstr "Tyyppi"
+
+#: ../thunar/thunar-enum-types.c:65
+#, fuzzy
+msgid "Owner"
+msgstr "Omistaja:"
+
+#.
+#. Permissions chooser
+#.
+#: ../thunar/thunar-enum-types.c:66 ../thunar/thunar-properties-dialog.c:414
+msgid "Permissions"
+msgstr "Käyttöoikeudet"
+
+#: ../thunar/thunar-enum-types.c:68
+msgid "Type"
+msgstr "Tyyppi"
+
+#: ../thunar/thunar-enum-types.c:69
+#, fuzzy
+msgid "File"
+msgstr "_Tiedosto"
+
+#: ../thunar/thunar-enum-types.c:70
+#, fuzzy
+msgid "File Name"
+msgstr "Tiedostonhallinta"
+
 #: ../thunar/thunar-file.c:727
 msgid "The root folder has no parent"
 msgstr "Juurella ei ole ylähakemistoa"
@@ -854,47 +959,47 @@ msgstr[1] "Avaa valitut tiedostot oletussovelluksissa"
 msgid "Open With \"%s\""
 msgstr "Avaa sovelluksessa \"%s\""
 
-#: ../thunar/thunar-list-model.c:714 ../thunar/thunar-properties-dialog.c:656
+#: ../thunar/thunar-list-model.c:750 ../thunar/thunar-properties-dialog.c:656
 msgid "broken link"
 msgstr "rikkinäinen linkki"
 
-#: ../thunar/thunar-list-model.c:1989
+#: ../thunar/thunar-list-model.c:2075
 #, c-format
 msgid "%d item, Free space: %s"
 msgid_plural "%d items, Free space: %s"
 msgstr[0] "%d kohde, vapaata tilaa: %s"
 msgstr[1] "%d kohdetta, vapaata tilaa: %s"
 
-#: ../thunar/thunar-list-model.c:1994
+#: ../thunar/thunar-list-model.c:2080
 #, c-format
 msgid "%d item"
 msgid_plural "%d items"
 msgstr[0] "%d kohde"
 msgstr[1] "%d kohdetta"
 
-#: ../thunar/thunar-list-model.c:2010
+#: ../thunar/thunar-list-model.c:2096
 #, c-format
 msgid "\"%s\" broken link"
 msgstr "\"%s\" rikkinäinen linkki"
 
-#: ../thunar/thunar-list-model.c:2014
+#: ../thunar/thunar-list-model.c:2100
 #, c-format
 msgid "\"%s\" (%s) link to %s"
 msgstr "\"%s\" (%s) linkki kohteeseen %s"
 
-#: ../thunar/thunar-list-model.c:2019
+#: ../thunar/thunar-list-model.c:2105
 #, c-format
 msgid "\"%s\" (%s) %s"
 msgstr "\"%s\" (%s) %s"
 
-#: ../thunar/thunar-list-model.c:2036
+#: ../thunar/thunar-list-model.c:2122
 #, c-format
 msgid "%d item selected (%s)"
 msgid_plural "%d items selected (%s)"
 msgstr[0] "%d kohde valittu (%s)"
 msgstr[1] "%d kohdetta valittu (%s)"
 
-#: ../thunar/thunar-list-model.c:2041
+#: ../thunar/thunar-list-model.c:2127
 #, c-format
 msgid "%d item selected"
 msgid_plural "%d items selected"
@@ -976,10 +1081,6 @@ msgstr "Luku ja kirjoitus"
 msgid "Owner:"
 msgstr "Omistaja:"
 
-#: ../thunar/thunar-permissions-chooser.c:270
-msgid "Unknown"
-msgstr "Tuntematon"
-
 #: ../thunar/thunar-permissions-chooser.c:284
 #: ../thunar/thunar-permissions-chooser.c:337
 msgid "Access:"
diff --git a/po/fr.po b/po/fr.po
index e3db74bb19def97ccf3e05363622fe93b6674f9e..cd2441e86f8e20cd8d73321ed6ec4a393a2f9d62 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Thunar 0.2.1svn\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-11 18:15+0100\n"
+"POT-Creation-Date: 2006-03-12 18:55+0100\n"
 "PO-Revision-Date: 2006-03-02 11:55+0100\n"
 "Last-Translator: Stephane Roy <sroy@j2n.net>\n"
 "Language-Team: French <traduc@traduc.org>\n"
@@ -172,7 +172,7 @@ msgid "The icon of the mime handler"
 msgstr ""
 
 #: ../thunar-vfs/thunar-vfs-mime-handler.c:176
-#: ../thunar/thunar-details-view.c:178
+#: ../thunar/thunar-enum-types.c:64
 msgid "Name"
 msgstr "Nom"
 
@@ -198,7 +198,7 @@ msgstr "Chemin trop long pour être stockée dans le cache"
 msgid "URI too long to fit into buffer"
 msgstr "URI trop longue pour être stockée dans le cache"
 
-#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-details-view.c:197
+#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-enum-types.c:67
 msgid "Size"
 msgstr "Taille"
 
@@ -260,7 +260,7 @@ msgstr "Échec à l'ouverture de /proc/mounts : %s"
 msgid "copy of %s"
 msgstr "copie de %s"
 
-#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:716
+#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:752
 #: ../thunar/thunar-properties-dialog.c:658
 #, c-format
 msgid "link to %s"
@@ -581,6 +581,71 @@ msgstr "Autres applications :"
 msgid "There is nothing on the clipboard to paste"
 msgstr "Il n'y a rien à coller dans le presse-papier"
 
+#: ../thunar/thunar-column-editor.c:153
+msgid "Configure Columns in the Detailed List View"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:164
+msgid "Visible Columns"
+msgstr ""
+
+#. create the top label for the column editor dialog
+#: ../thunar/thunar-column-editor.c:177
+msgid ""
+"Chooser the order of information to appear in the\n"
+"detailed list view."
+msgstr ""
+
+#. create the "Move Up" button
+#: ../thunar/thunar-column-editor.c:218
+msgid "Move _Up"
+msgstr ""
+
+#. create the "Move Down" button
+#: ../thunar/thunar-column-editor.c:228
+msgid "Move Dow_n"
+msgstr ""
+
+#. create the "Show" button
+#: ../thunar/thunar-column-editor.c:238
+msgid "_Show"
+msgstr ""
+
+#. create the "Hide" button
+#: ../thunar/thunar-column-editor.c:244
+#, fuzzy
+msgid "Hi_de"
+msgstr "_Caché"
+
+#. create the "Use Default" button
+#: ../thunar/thunar-column-editor.c:255
+msgid "Use De_fault"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:264
+msgid "Column Sizing"
+msgstr ""
+
+#. create the label that explains the column sizing option
+#: ../thunar/thunar-column-editor.c:277
+msgid ""
+"By default columns will be automatically expanded if\n"
+"needed to ensure the text is fully visible. If you dis-\n"
+"able this behavior below the file manager will always\n"
+"use the user defined column widths."
+msgstr ""
+
+#. create the "Automatically expand columns as needed" button
+#: ../thunar/thunar-column-editor.c:286
+msgid "Automatically _expand columns as needed"
+msgstr ""
+
+#: ../thunar/thunar-column-model.c:894 ../thunar/thunar-list-model.c:702
+#: ../thunar/thunar-list-model.c:731
+#: ../thunar/thunar-permissions-chooser.c:270
+msgid "Unknown"
+msgstr "Inconnu"
+
 #: ../thunar/thunar-create-dialog.c:180 ../thunar/thunar-standard-view.c:2242
 msgid "Enter the new name:"
 msgstr "Entrer le nouveau nom :"
@@ -591,27 +656,21 @@ msgstr "Entrer le nouveau nom :"
 msgid "Cannot convert filename \"%s\" to the local encoding"
 msgstr "Ne peut pas convertir le nom du fichier \"%s\" vers le codage local"
 
-#.
-#. Permissions chooser
-#.
-#: ../thunar/thunar-details-view.c:212
-#: ../thunar/thunar-properties-dialog.c:414
-msgid "Permissions"
-msgstr "Permissions"
-
-#: ../thunar/thunar-details-view.c:227
-msgid "Type"
-msgstr "Type"
+#: ../thunar/thunar-details-view.c:130
+#, fuzzy
+msgid "Configure _Columns..."
+msgstr "Configurer les actions pers_onnalisée..."
 
-#: ../thunar/thunar-details-view.c:239
-msgid "Date modified"
-msgstr "Date modifiée"
+#: ../thunar/thunar-details-view.c:130
+#, fuzzy
+msgid "Configure the columns in the detailed list view"
+msgstr "Affiche le contenu du dossier sous forme de liste détaillée"
 
-#: ../thunar/thunar-details-view.c:268
+#: ../thunar/thunar-details-view.c:411
 msgid "Detailed directory listing"
 msgstr "Liste détaillée des répertoires"
 
-#: ../thunar/thunar-details-view.c:269
+#: ../thunar/thunar-details-view.c:412
 msgid "Details view"
 msgstr "Vue détails"
 
@@ -639,6 +698,52 @@ msgstr "_Lier ici"
 msgid "Failed to execute file \"%s\""
 msgstr "Échec à l'exécution du fichier \"%s\""
 
+#: ../thunar/thunar-enum-types.c:60
+#, fuzzy
+msgid "Date Accessed"
+msgstr "Accédé :"
+
+#: ../thunar/thunar-enum-types.c:61
+#, fuzzy
+msgid "Date Modified"
+msgstr "Date modifiée"
+
+#: ../thunar/thunar-enum-types.c:62
+#, fuzzy
+msgid "Group"
+msgstr "Groupe :"
+
+#: ../thunar/thunar-enum-types.c:63
+#, fuzzy
+msgid "MIME Type"
+msgstr "Type"
+
+#: ../thunar/thunar-enum-types.c:65
+#, fuzzy
+msgid "Owner"
+msgstr "Propriétaire :"
+
+#.
+#. Permissions chooser
+#.
+#: ../thunar/thunar-enum-types.c:66 ../thunar/thunar-properties-dialog.c:414
+msgid "Permissions"
+msgstr "Permissions"
+
+#: ../thunar/thunar-enum-types.c:68
+msgid "Type"
+msgstr "Type"
+
+#: ../thunar/thunar-enum-types.c:69
+#, fuzzy
+msgid "File"
+msgstr "_Fichier"
+
+#: ../thunar/thunar-enum-types.c:70
+#, fuzzy
+msgid "File Name"
+msgstr "Gestionnaire de fichier"
+
 #: ../thunar/thunar-file.c:727
 msgid "The root folder has no parent"
 msgstr "Le dossier racine n'a pas de père"
@@ -860,47 +965,47 @@ msgstr[1] "Ouvrir les fichiers sélectionnés avec l'application par défaut"
 msgid "Open With \"%s\""
 msgstr "Ouvrir avec \"%s\""
 
-#: ../thunar/thunar-list-model.c:714 ../thunar/thunar-properties-dialog.c:656
+#: ../thunar/thunar-list-model.c:750 ../thunar/thunar-properties-dialog.c:656
 msgid "broken link"
 msgstr "lien cassé"
 
-#: ../thunar/thunar-list-model.c:1989
+#: ../thunar/thunar-list-model.c:2075
 #, c-format
 msgid "%d item, Free space: %s"
 msgid_plural "%d items, Free space: %s"
 msgstr[0] "%d élément, espace libre : %s"
 msgstr[1] "%d éléments, espace libre : %s"
 
-#: ../thunar/thunar-list-model.c:1994
+#: ../thunar/thunar-list-model.c:2080
 #, c-format
 msgid "%d item"
 msgid_plural "%d items"
 msgstr[0] "%d élément"
 msgstr[1] "%d éléments"
 
-#: ../thunar/thunar-list-model.c:2010
+#: ../thunar/thunar-list-model.c:2096
 #, c-format
 msgid "\"%s\" broken link"
 msgstr "\"%s\" lien cassé"
 
-#: ../thunar/thunar-list-model.c:2014
+#: ../thunar/thunar-list-model.c:2100
 #, c-format
 msgid "\"%s\" (%s) link to %s"
 msgstr "\"%s\" (%s) lien vers %s"
 
-#: ../thunar/thunar-list-model.c:2019
+#: ../thunar/thunar-list-model.c:2105
 #, c-format
 msgid "\"%s\" (%s) %s"
 msgstr "\"%s\" (%s) %s"
 
-#: ../thunar/thunar-list-model.c:2036
+#: ../thunar/thunar-list-model.c:2122
 #, c-format
 msgid "%d item selected (%s)"
 msgid_plural "%d items selected (%s)"
 msgstr[0] "%d élément sélectionné (%s)"
 msgstr[1] "%d éléments sélectionnés (%s)"
 
-#: ../thunar/thunar-list-model.c:2041
+#: ../thunar/thunar-list-model.c:2127
 #, c-format
 msgid "%d item selected"
 msgid_plural "%d items selected"
@@ -982,10 +1087,6 @@ msgstr "lecture & écriture"
 msgid "Owner:"
 msgstr "Propriétaire :"
 
-#: ../thunar/thunar-permissions-chooser.c:270
-msgid "Unknown"
-msgstr "Inconnu"
-
 #: ../thunar/thunar-permissions-chooser.c:284
 #: ../thunar/thunar-permissions-chooser.c:337
 msgid "Access:"
diff --git a/po/hu.po b/po/hu.po
index bcbe4c5198acaff9e856c8c943746a061249e38d..bb841afc14106f61f6ce898446b4db0701529427 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Thunar 0.2.1svn\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-11 18:15+0100\n"
+"POT-Creation-Date: 2006-03-12 18:55+0100\n"
 "PO-Revision-Date: 2006-03-02 11:43+0100\n"
 "Last-Translator: SZERVÑC Attila <sas@321.hu>\n"
 "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
@@ -173,7 +173,7 @@ msgid "The icon of the mime handler"
 msgstr "A mime kezelő ikonja"
 
 #: ../thunar-vfs/thunar-vfs-mime-handler.c:176
-#: ../thunar/thunar-details-view.c:178
+#: ../thunar/thunar-enum-types.c:64
 msgid "Name"
 msgstr "Név"
 
@@ -199,7 +199,7 @@ msgstr "Az ösvény túl hosszú"
 msgid "URI too long to fit into buffer"
 msgstr "Az URI túl hosszú"
 
-#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-details-view.c:197
+#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-enum-types.c:67
 msgid "Size"
 msgstr "Méret"
 
@@ -261,7 +261,7 @@ msgstr "/proc/mounts megnyitása sikertelen: %s"
 msgid "copy of %s"
 msgstr "%s másolata"
 
-#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:716
+#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:752
 #: ../thunar/thunar-properties-dialog.c:658
 #, c-format
 msgid "link to %s"
@@ -576,6 +576,71 @@ msgstr "Más alkalmazások:"
 msgid "There is nothing on the clipboard to paste"
 msgstr "Nincs beillesztenivaló a vágólapon"
 
+#: ../thunar/thunar-column-editor.c:153
+msgid "Configure Columns in the Detailed List View"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:164
+msgid "Visible Columns"
+msgstr ""
+
+#. create the top label for the column editor dialog
+#: ../thunar/thunar-column-editor.c:177
+msgid ""
+"Chooser the order of information to appear in the\n"
+"detailed list view."
+msgstr ""
+
+#. create the "Move Up" button
+#: ../thunar/thunar-column-editor.c:218
+msgid "Move _Up"
+msgstr ""
+
+#. create the "Move Down" button
+#: ../thunar/thunar-column-editor.c:228
+msgid "Move Dow_n"
+msgstr ""
+
+#. create the "Show" button
+#: ../thunar/thunar-column-editor.c:238
+msgid "_Show"
+msgstr ""
+
+#. create the "Hide" button
+#: ../thunar/thunar-column-editor.c:244
+#, fuzzy
+msgid "Hi_de"
+msgstr "_Rejtett"
+
+#. create the "Use Default" button
+#: ../thunar/thunar-column-editor.c:255
+msgid "Use De_fault"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:264
+msgid "Column Sizing"
+msgstr ""
+
+#. create the label that explains the column sizing option
+#: ../thunar/thunar-column-editor.c:277
+msgid ""
+"By default columns will be automatically expanded if\n"
+"needed to ensure the text is fully visible. If you dis-\n"
+"able this behavior below the file manager will always\n"
+"use the user defined column widths."
+msgstr ""
+
+#. create the "Automatically expand columns as needed" button
+#: ../thunar/thunar-column-editor.c:286
+msgid "Automatically _expand columns as needed"
+msgstr ""
+
+#: ../thunar/thunar-column-model.c:894 ../thunar/thunar-list-model.c:702
+#: ../thunar/thunar-list-model.c:731
+#: ../thunar/thunar-permissions-chooser.c:270
+msgid "Unknown"
+msgstr "Ismeretlen"
+
 #: ../thunar/thunar-create-dialog.c:180 ../thunar/thunar-standard-view.c:2242
 msgid "Enter the new name:"
 msgstr "Új fájlnév megadása:"
@@ -586,27 +651,21 @@ msgstr "Új fájlnév megadása:"
 msgid "Cannot convert filename \"%s\" to the local encoding"
 msgstr "Nem tudom átalakítani helyi kódolásra e fájlnevet: \"%s\""
 
-#.
-#. Permissions chooser
-#.
-#: ../thunar/thunar-details-view.c:212
-#: ../thunar/thunar-properties-dialog.c:414
-msgid "Permissions"
-msgstr "Jogok"
-
-#: ../thunar/thunar-details-view.c:227
-msgid "Type"
-msgstr "Típus"
+#: ../thunar/thunar-details-view.c:130
+#, fuzzy
+msgid "Configure _Columns..."
+msgstr "Egyéni műveletek beállítása..."
 
-#: ../thunar/thunar-details-view.c:239
-msgid "Date modified"
-msgstr "Módosítás ideje"
+#: ../thunar/thunar-details-view.c:130
+#, fuzzy
+msgid "Configure the columns in the detailed list view"
+msgstr "Mappa megjelenítése részletes lista nézetben"
 
-#: ../thunar/thunar-details-view.c:268
+#: ../thunar/thunar-details-view.c:411
 msgid "Detailed directory listing"
 msgstr "Részletes könyvtárlista"
 
-#: ../thunar/thunar-details-view.c:269
+#: ../thunar/thunar-details-view.c:412
 msgid "Details view"
 msgstr "Részletes nézet"
 
@@ -634,6 +693,52 @@ msgstr "_Lánc ide"
 msgid "Failed to execute file \"%s\""
 msgstr "Nem futtatható fájl: \"%s\""
 
+#: ../thunar/thunar-enum-types.c:60
+#, fuzzy
+msgid "Date Accessed"
+msgstr "Megnyitva:"
+
+#: ../thunar/thunar-enum-types.c:61
+#, fuzzy
+msgid "Date Modified"
+msgstr "Módosítás ideje"
+
+#: ../thunar/thunar-enum-types.c:62
+#, fuzzy
+msgid "Group"
+msgstr "Csoport:"
+
+#: ../thunar/thunar-enum-types.c:63
+#, fuzzy
+msgid "MIME Type"
+msgstr "Típus"
+
+#: ../thunar/thunar-enum-types.c:65
+#, fuzzy
+msgid "Owner"
+msgstr "Tulajdonos:"
+
+#.
+#. Permissions chooser
+#.
+#: ../thunar/thunar-enum-types.c:66 ../thunar/thunar-properties-dialog.c:414
+msgid "Permissions"
+msgstr "Jogok"
+
+#: ../thunar/thunar-enum-types.c:68
+msgid "Type"
+msgstr "Típus"
+
+#: ../thunar/thunar-enum-types.c:69
+#, fuzzy
+msgid "File"
+msgstr "_Fájl"
+
+#: ../thunar/thunar-enum-types.c:70
+#, fuzzy
+msgid "File Name"
+msgstr "Fájlkezelő"
+
 #: ../thunar/thunar-file.c:727
 msgid "The root folder has no parent"
 msgstr "A gyökérkönyvtárnak nincsenek szülei"
@@ -845,44 +950,44 @@ msgstr[0] "Minden kijelölt fájlt az alapalkalmazással nyit meg"
 msgid "Open With \"%s\""
 msgstr "Megnyitás ezzel: \"%s\""
 
-#: ../thunar/thunar-list-model.c:714 ../thunar/thunar-properties-dialog.c:656
+#: ../thunar/thunar-list-model.c:750 ../thunar/thunar-properties-dialog.c:656
 msgid "broken link"
 msgstr "törött lánc"
 
-#: ../thunar/thunar-list-model.c:1989
+#: ../thunar/thunar-list-model.c:2075
 #, c-format
 msgid "%d item, Free space: %s"
 msgid_plural "%d items, Free space: %s"
 msgstr[0] "%d elem, Szabad: %s"
 
-#: ../thunar/thunar-list-model.c:1994
+#: ../thunar/thunar-list-model.c:2080
 #, c-format
 msgid "%d item"
 msgid_plural "%d items"
 msgstr[0] "%d elem"
 
-#: ../thunar/thunar-list-model.c:2010
+#: ../thunar/thunar-list-model.c:2096
 #, c-format
 msgid "\"%s\" broken link"
 msgstr "\"%s\" törött lánc"
 
-#: ../thunar/thunar-list-model.c:2014
+#: ../thunar/thunar-list-model.c:2100
 #, c-format
 msgid "\"%s\" (%s) link to %s"
 msgstr "\"%s\" (%s) lánc ide: %s"
 
-#: ../thunar/thunar-list-model.c:2019
+#: ../thunar/thunar-list-model.c:2105
 #, c-format
 msgid "\"%s\" (%s) %s"
 msgstr "\"%s\" (%s) %s"
 
-#: ../thunar/thunar-list-model.c:2036
+#: ../thunar/thunar-list-model.c:2122
 #, c-format
 msgid "%d item selected (%s)"
 msgid_plural "%d items selected (%s)"
 msgstr[0] "%d elem kijelölve (%s)"
 
-#: ../thunar/thunar-list-model.c:2041
+#: ../thunar/thunar-list-model.c:2127
 #, c-format
 msgid "%d item selected"
 msgid_plural "%d items selected"
@@ -963,10 +1068,6 @@ msgstr "Írás/olvasás"
 msgid "Owner:"
 msgstr "Tulajdonos:"
 
-#: ../thunar/thunar-permissions-chooser.c:270
-msgid "Unknown"
-msgstr "Ismeretlen"
-
 #: ../thunar/thunar-permissions-chooser.c:284
 #: ../thunar/thunar-permissions-chooser.c:337
 msgid "Access:"
diff --git a/po/it.po b/po/it.po
index 68ce51856047e9842693e90910915d279dab53fe..c9ae37d65db5e2c0082e5a0e076b54a04dfb4cc5 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Thunar 0.2.1svn\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-11 18:15+0100\n"
+"POT-Creation-Date: 2006-03-12 18:55+0100\n"
 "PO-Revision-Date: 2006-03-04 13:55+0100\n"
 "Last-Translator: Roberto Pariset <r.pariset@gmail.com>\n"
 "Language-Team: GUFI <traduzioni@gufi.org>\n"
@@ -174,7 +174,7 @@ msgid "The icon of the mime handler"
 msgstr "L'icona del gestore mime"
 
 #: ../thunar-vfs/thunar-vfs-mime-handler.c:176
-#: ../thunar/thunar-details-view.c:178
+#: ../thunar/thunar-enum-types.c:64
 msgid "Name"
 msgstr "Nome"
 
@@ -200,7 +200,7 @@ msgstr "Path troppo lunga per entrare nel buffer"
 msgid "URI too long to fit into buffer"
 msgstr "URI troppo lunga per entrare nel buffer"
 
-#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-details-view.c:197
+#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-enum-types.c:67
 msgid "Size"
 msgstr "Dimensione"
 
@@ -262,7 +262,7 @@ msgstr "Impossibile aprire /proc/mounts: %s"
 msgid "copy of %s"
 msgstr "copia di %s"
 
-#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:716
+#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:752
 #: ../thunar/thunar-properties-dialog.c:658
 #, c-format
 msgid "link to %s"
@@ -581,6 +581,71 @@ msgstr "Altre applicazioni"
 msgid "There is nothing on the clipboard to paste"
 msgstr "Nella clipboard non c'è niente da incollare"
 
+#: ../thunar/thunar-column-editor.c:153
+msgid "Configure Columns in the Detailed List View"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:164
+msgid "Visible Columns"
+msgstr ""
+
+#. create the top label for the column editor dialog
+#: ../thunar/thunar-column-editor.c:177
+msgid ""
+"Chooser the order of information to appear in the\n"
+"detailed list view."
+msgstr ""
+
+#. create the "Move Up" button
+#: ../thunar/thunar-column-editor.c:218
+msgid "Move _Up"
+msgstr ""
+
+#. create the "Move Down" button
+#: ../thunar/thunar-column-editor.c:228
+msgid "Move Dow_n"
+msgstr ""
+
+#. create the "Show" button
+#: ../thunar/thunar-column-editor.c:238
+msgid "_Show"
+msgstr ""
+
+#. create the "Hide" button
+#: ../thunar/thunar-column-editor.c:244
+#, fuzzy
+msgid "Hi_de"
+msgstr "_Nascosto"
+
+#. create the "Use Default" button
+#: ../thunar/thunar-column-editor.c:255
+msgid "Use De_fault"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:264
+msgid "Column Sizing"
+msgstr ""
+
+#. create the label that explains the column sizing option
+#: ../thunar/thunar-column-editor.c:277
+msgid ""
+"By default columns will be automatically expanded if\n"
+"needed to ensure the text is fully visible. If you dis-\n"
+"able this behavior below the file manager will always\n"
+"use the user defined column widths."
+msgstr ""
+
+#. create the "Automatically expand columns as needed" button
+#: ../thunar/thunar-column-editor.c:286
+msgid "Automatically _expand columns as needed"
+msgstr ""
+
+#: ../thunar/thunar-column-model.c:894 ../thunar/thunar-list-model.c:702
+#: ../thunar/thunar-list-model.c:731
+#: ../thunar/thunar-permissions-chooser.c:270
+msgid "Unknown"
+msgstr "Sconosciuto"
+
 #: ../thunar/thunar-create-dialog.c:180 ../thunar/thunar-standard-view.c:2242
 msgid "Enter the new name:"
 msgstr "Inserire il nuovo nome:"
@@ -591,27 +656,23 @@ msgstr "Inserire il nuovo nome:"
 msgid "Cannot convert filename \"%s\" to the local encoding"
 msgstr "Impossibile convertire il nome del file \"%s\" nella codifica locale"
 
-#.
-#. Permissions chooser
-#.
-#: ../thunar/thunar-details-view.c:212
-#: ../thunar/thunar-properties-dialog.c:414
-msgid "Permissions"
-msgstr "Permessi"
-
-#: ../thunar/thunar-details-view.c:227
-msgid "Type"
-msgstr "Tipo"
+#: ../thunar/thunar-details-view.c:130
+#, fuzzy
+msgid "Configure _Columns..."
+msgstr "Imposta azio_ni personalizzate..."
 
-#: ../thunar/thunar-details-view.c:239
-msgid "Date modified"
-msgstr "Data di modifica"
+#: ../thunar/thunar-details-view.c:130
+#, fuzzy
+msgid "Configure the columns in the detailed list view"
+msgstr ""
+"Mostra il contenuto della directory con una visualizzazione a lista "
+"dettagliata"
 
-#: ../thunar/thunar-details-view.c:268
+#: ../thunar/thunar-details-view.c:411
 msgid "Detailed directory listing"
 msgstr "Lista dettagliata delle directory"
 
-#: ../thunar/thunar-details-view.c:269
+#: ../thunar/thunar-details-view.c:412
 msgid "Details view"
 msgstr "Visualizzazione dettagliata"
 
@@ -639,6 +700,52 @@ msgstr "_Crea link qui"
 msgid "Failed to execute file \"%s\""
 msgstr "Impossibile eseguire \"%s\""
 
+#: ../thunar/thunar-enum-types.c:60
+#, fuzzy
+msgid "Date Accessed"
+msgstr "Acceduto:"
+
+#: ../thunar/thunar-enum-types.c:61
+#, fuzzy
+msgid "Date Modified"
+msgstr "Data di modifica"
+
+#: ../thunar/thunar-enum-types.c:62
+#, fuzzy
+msgid "Group"
+msgstr "Gruppo:"
+
+#: ../thunar/thunar-enum-types.c:63
+#, fuzzy
+msgid "MIME Type"
+msgstr "Tipo"
+
+#: ../thunar/thunar-enum-types.c:65
+#, fuzzy
+msgid "Owner"
+msgstr "Proprietario:"
+
+#.
+#. Permissions chooser
+#.
+#: ../thunar/thunar-enum-types.c:66 ../thunar/thunar-properties-dialog.c:414
+msgid "Permissions"
+msgstr "Permessi"
+
+#: ../thunar/thunar-enum-types.c:68
+msgid "Type"
+msgstr "Tipo"
+
+#: ../thunar/thunar-enum-types.c:69
+#, fuzzy
+msgid "File"
+msgstr "_File"
+
+#: ../thunar/thunar-enum-types.c:70
+#, fuzzy
+msgid "File Name"
+msgstr "File Manager"
+
 #: ../thunar/thunar-file.c:727
 msgid "The root folder has no parent"
 msgstr "La directory radice non ha padre"
@@ -860,47 +967,47 @@ msgstr[1] "Apri i file selezionati con l'applicazione di default"
 msgid "Open With \"%s\""
 msgstr "Apri con \"%s\""
 
-#: ../thunar/thunar-list-model.c:714 ../thunar/thunar-properties-dialog.c:656
+#: ../thunar/thunar-list-model.c:750 ../thunar/thunar-properties-dialog.c:656
 msgid "broken link"
 msgstr "link rotto"
 
-#: ../thunar/thunar-list-model.c:1989
+#: ../thunar/thunar-list-model.c:2075
 #, c-format
 msgid "%d item, Free space: %s"
 msgid_plural "%d items, Free space: %s"
 msgstr[0] "%d elemento, spazio libero %s"
 msgstr[1] "%d elementi, spazio libero %s"
 
-#: ../thunar/thunar-list-model.c:1994
+#: ../thunar/thunar-list-model.c:2080
 #, c-format
 msgid "%d item"
 msgid_plural "%d items"
 msgstr[0] "%d elemento"
 msgstr[1] "%d elementi"
 
-#: ../thunar/thunar-list-model.c:2010
+#: ../thunar/thunar-list-model.c:2096
 #, c-format
 msgid "\"%s\" broken link"
 msgstr "\"%s\" link rotto"
 
-#: ../thunar/thunar-list-model.c:2014
+#: ../thunar/thunar-list-model.c:2100
 #, c-format
 msgid "\"%s\" (%s) link to %s"
 msgstr "\"%s\" (%s) punta a %s"
 
-#: ../thunar/thunar-list-model.c:2019
+#: ../thunar/thunar-list-model.c:2105
 #, c-format
 msgid "\"%s\" (%s) %s"
 msgstr "\"%s\" (%s) %s"
 
-#: ../thunar/thunar-list-model.c:2036
+#: ../thunar/thunar-list-model.c:2122
 #, c-format
 msgid "%d item selected (%s)"
 msgid_plural "%d items selected (%s)"
 msgstr[0] "%d elemento selezionato (%s)"
 msgstr[1] "%d elementi selezionati (%s)"
 
-#: ../thunar/thunar-list-model.c:2041
+#: ../thunar/thunar-list-model.c:2127
 #, c-format
 msgid "%d item selected"
 msgid_plural "%d items selected"
@@ -982,10 +1089,6 @@ msgstr "Lettura più scrittura"
 msgid "Owner:"
 msgstr "Proprietario:"
 
-#: ../thunar/thunar-permissions-chooser.c:270
-msgid "Unknown"
-msgstr "Sconosciuto"
-
 #: ../thunar/thunar-permissions-chooser.c:284
 #: ../thunar/thunar-permissions-chooser.c:337
 msgid "Access:"
diff --git a/po/ja.po b/po/ja.po
index 258db91aa32179878d3e7e134d598e3dba6d394b..f3f7e5580879cdf8c1aacefbdb527b68347d3d43 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Thunar 0.2.1svn\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-11 18:15+0100\n"
+"POT-Creation-Date: 2006-03-12 18:55+0100\n"
 "PO-Revision-Date: 2006-03-12 18:48+0900\n"
 "Last-Translator: Daichi Kawahata <daichi@xfce.org>\n"
 "Language-Team: Japanese <xfce-users-jp@ml.fdiary.net>\n"
@@ -181,7 +181,7 @@ msgid "The icon of the mime handler"
 msgstr "MIMEハンドラーのアイコンです。"
 
 #: ../thunar-vfs/thunar-vfs-mime-handler.c:176
-#: ../thunar/thunar-details-view.c:178
+#: ../thunar/thunar-enum-types.c:64
 msgid "Name"
 msgstr "名前"
 
@@ -207,7 +207,7 @@ msgstr "バッファに格納するにはパスが長すぎます。"
 msgid "URI too long to fit into buffer"
 msgstr "バッファに格納するには URI が長すぎます。"
 
-#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-details-view.c:197
+#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-enum-types.c:67
 msgid "Size"
 msgstr "サイズ"
 
@@ -269,7 +269,7 @@ msgstr "/proc/mounts を開くのに失敗しました: %s"
 msgid "copy of %s"
 msgstr "%s のコピー"
 
-#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:716
+#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:752
 #: ../thunar/thunar-properties-dialog.c:658
 #, c-format
 msgid "link to %s"
@@ -591,6 +591,71 @@ msgstr "他のアプリケーション"
 msgid "There is nothing on the clipboard to paste"
 msgstr "クリップボードに貼り付けるものはありません。"
 
+#: ../thunar/thunar-column-editor.c:153
+msgid "Configure Columns in the Detailed List View"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:164
+msgid "Visible Columns"
+msgstr ""
+
+#. create the top label for the column editor dialog
+#: ../thunar/thunar-column-editor.c:177
+msgid ""
+"Chooser the order of information to appear in the\n"
+"detailed list view."
+msgstr ""
+
+#. create the "Move Up" button
+#: ../thunar/thunar-column-editor.c:218
+msgid "Move _Up"
+msgstr ""
+
+#. create the "Move Down" button
+#: ../thunar/thunar-column-editor.c:228
+msgid "Move Dow_n"
+msgstr ""
+
+#. create the "Show" button
+#: ../thunar/thunar-column-editor.c:238
+msgid "_Show"
+msgstr ""
+
+#. create the "Hide" button
+#: ../thunar/thunar-column-editor.c:244
+#, fuzzy
+msgid "Hi_de"
+msgstr "表示しない(_H)"
+
+#. create the "Use Default" button
+#: ../thunar/thunar-column-editor.c:255
+msgid "Use De_fault"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:264
+msgid "Column Sizing"
+msgstr ""
+
+#. create the label that explains the column sizing option
+#: ../thunar/thunar-column-editor.c:277
+msgid ""
+"By default columns will be automatically expanded if\n"
+"needed to ensure the text is fully visible. If you dis-\n"
+"able this behavior below the file manager will always\n"
+"use the user defined column widths."
+msgstr ""
+
+#. create the "Automatically expand columns as needed" button
+#: ../thunar/thunar-column-editor.c:286
+msgid "Automatically _expand columns as needed"
+msgstr ""
+
+#: ../thunar/thunar-column-model.c:894 ../thunar/thunar-list-model.c:702
+#: ../thunar/thunar-list-model.c:731
+#: ../thunar/thunar-permissions-chooser.c:270
+msgid "Unknown"
+msgstr "不明"
+
 #: ../thunar/thunar-create-dialog.c:180 ../thunar/thunar-standard-view.c:2242
 msgid "Enter the new name:"
 msgstr "新しい名前を入力して下さい:"
@@ -601,27 +666,21 @@ msgstr "新しい名前を入力して下さい:"
 msgid "Cannot convert filename \"%s\" to the local encoding"
 msgstr "ファイル名「%s」をあなたのエンコード方式に変換できません。"
 
-#.
-#. Permissions chooser
-#.
-#: ../thunar/thunar-details-view.c:212
-#: ../thunar/thunar-properties-dialog.c:414
-msgid "Permissions"
-msgstr "アクセス権"
-
-#: ../thunar/thunar-details-view.c:227
-msgid "Type"
-msgstr "タイプ"
+#: ../thunar/thunar-details-view.c:130
+#, fuzzy
+msgid "Configure _Columns..."
+msgstr "アクションの設定(_U)..."
 
-#: ../thunar/thunar-details-view.c:239
-msgid "Date modified"
-msgstr "変更日時"
+#: ../thunar/thunar-details-view.c:130
+#, fuzzy
+msgid "Configure the columns in the detailed list view"
+msgstr "フォルダの内容を詳細なリストで表示します。"
 
-#: ../thunar/thunar-details-view.c:268
+#: ../thunar/thunar-details-view.c:411
 msgid "Detailed directory listing"
 msgstr "詳細なファイル情報と共にフォルダをリスト表示します。"
 
-#: ../thunar/thunar-details-view.c:269
+#: ../thunar/thunar-details-view.c:412
 msgid "Details view"
 msgstr "詳細表示"
 
@@ -649,6 +708,52 @@ msgstr "ここにリンク(_L)"
 msgid "Failed to execute file \"%s\""
 msgstr "ファイル「%s」の実行に失敗しました。"
 
+#: ../thunar/thunar-enum-types.c:60
+#, fuzzy
+msgid "Date Accessed"
+msgstr "アクセス日時:"
+
+#: ../thunar/thunar-enum-types.c:61
+#, fuzzy
+msgid "Date Modified"
+msgstr "変更日時"
+
+#: ../thunar/thunar-enum-types.c:62
+#, fuzzy
+msgid "Group"
+msgstr "所属グループ:"
+
+#: ../thunar/thunar-enum-types.c:63
+#, fuzzy
+msgid "MIME Type"
+msgstr "タイプ"
+
+#: ../thunar/thunar-enum-types.c:65
+#, fuzzy
+msgid "Owner"
+msgstr "ファイル所有者:"
+
+#.
+#. Permissions chooser
+#.
+#: ../thunar/thunar-enum-types.c:66 ../thunar/thunar-properties-dialog.c:414
+msgid "Permissions"
+msgstr "アクセス権"
+
+#: ../thunar/thunar-enum-types.c:68
+msgid "Type"
+msgstr "タイプ"
+
+#: ../thunar/thunar-enum-types.c:69
+#, fuzzy
+msgid "File"
+msgstr "ファイル(_F)"
+
+#: ../thunar/thunar-enum-types.c:70
+#, fuzzy
+msgid "File Name"
+msgstr "ファイルマネージャー"
+
 #: ../thunar/thunar-file.c:727
 msgid "The root folder has no parent"
 msgstr "ルートフォルダに上位のフォルダがありません。"
@@ -861,44 +966,44 @@ msgstr[0] "標準のアプリケーションを使用して選択したファイ
 msgid "Open With \"%s\""
 msgstr "%sで開く"
 
-#: ../thunar/thunar-list-model.c:714 ../thunar/thunar-properties-dialog.c:656
+#: ../thunar/thunar-list-model.c:750 ../thunar/thunar-properties-dialog.c:656
 msgid "broken link"
 msgstr "壊れたリンク"
 
-#: ../thunar/thunar-list-model.c:1989
+#: ../thunar/thunar-list-model.c:2075
 #, c-format
 msgid "%d item, Free space: %s"
 msgid_plural "%d items, Free space: %s"
 msgstr[0] "%d 個のアイテムがあります。空き容量: %s"
 
-#: ../thunar/thunar-list-model.c:1994
+#: ../thunar/thunar-list-model.c:2080
 #, c-format
 msgid "%d item"
 msgid_plural "%d items"
 msgstr[0] "%d 個のアイテムがあります。"
 
-#: ../thunar/thunar-list-model.c:2010
+#: ../thunar/thunar-list-model.c:2096
 #, c-format
 msgid "\"%s\" broken link"
 msgstr "「%s」壊れたリンク"
 
-#: ../thunar/thunar-list-model.c:2014
+#: ../thunar/thunar-list-model.c:2100
 #, c-format
 msgid "\"%s\" (%s) link to %s"
 msgstr "「%1$s」%3$sへのリンク (%2$s)"
 
-#: ../thunar/thunar-list-model.c:2019
+#: ../thunar/thunar-list-model.c:2105
 #, c-format
 msgid "\"%s\" (%s) %s"
 msgstr "「%1$s」%3$s (%2$s)"
 
-#: ../thunar/thunar-list-model.c:2036
+#: ../thunar/thunar-list-model.c:2122
 #, c-format
 msgid "%d item selected (%s)"
 msgid_plural "%d items selected (%s)"
 msgstr[0] "%d 個のアイテム (%s) が選択されています。"
 
-#: ../thunar/thunar-list-model.c:2041
+#: ../thunar/thunar-list-model.c:2127
 #, c-format
 msgid "%d item selected"
 msgid_plural "%d items selected"
@@ -979,10 +1084,6 @@ msgstr "読込と書込"
 msgid "Owner:"
 msgstr "ファイル所有者:"
 
-#: ../thunar/thunar-permissions-chooser.c:270
-msgid "Unknown"
-msgstr "不明"
-
 #: ../thunar/thunar-permissions-chooser.c:284
 #: ../thunar/thunar-permissions-chooser.c:337
 msgid "Access:"
diff --git a/po/nl.po b/po/nl.po
index cb8b66dd1703ce022bc78a9cd4b52cda5e4d6e81..eb0274b1bb9127175f728ee93781537860ba734a 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Thunar 0.2.1svn\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-11 18:15+0100\n"
+"POT-Creation-Date: 2006-03-12 18:55+0100\n"
 "PO-Revision-Date: 2006-01-31 14:07+0100\n"
 "Last-Translator: Vincent Tunru <imnotb@gmail.com>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
@@ -183,7 +183,7 @@ msgid "The icon of the mime handler"
 msgstr ""
 
 #: ../thunar-vfs/thunar-vfs-mime-handler.c:176
-#: ../thunar/thunar-details-view.c:178
+#: ../thunar/thunar-enum-types.c:64
 msgid "Name"
 msgstr "Naam:"
 
@@ -209,7 +209,7 @@ msgstr "Pad te lang voor buffer"
 msgid "URI too long to fit into buffer"
 msgstr "URI te lang voor buffer"
 
-#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-details-view.c:197
+#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-enum-types.c:67
 msgid "Size"
 msgstr "Grootte"
 
@@ -272,7 +272,7 @@ msgstr "Fout bij het wijzigen van de naam van `%s'"
 msgid "copy of %s"
 msgstr "Kopie van %s"
 
-#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:716
+#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:752
 #: ../thunar/thunar-properties-dialog.c:658
 #, c-format
 msgid "link to %s"
@@ -593,6 +593,71 @@ msgstr "Andere Programma's"
 msgid "There is nothing on the clipboard to paste"
 msgstr "Er is niets op het klembord om te plakken"
 
+#: ../thunar/thunar-column-editor.c:153
+msgid "Configure Columns in the Detailed List View"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:164
+msgid "Visible Columns"
+msgstr ""
+
+#. create the top label for the column editor dialog
+#: ../thunar/thunar-column-editor.c:177
+msgid ""
+"Chooser the order of information to appear in the\n"
+"detailed list view."
+msgstr ""
+
+#. create the "Move Up" button
+#: ../thunar/thunar-column-editor.c:218
+msgid "Move _Up"
+msgstr ""
+
+#. create the "Move Down" button
+#: ../thunar/thunar-column-editor.c:228
+msgid "Move Dow_n"
+msgstr ""
+
+#. create the "Show" button
+#: ../thunar/thunar-column-editor.c:238
+msgid "_Show"
+msgstr ""
+
+#. create the "Hide" button
+#: ../thunar/thunar-column-editor.c:244
+#, fuzzy
+msgid "Hi_de"
+msgstr "_Verborgen"
+
+#. create the "Use Default" button
+#: ../thunar/thunar-column-editor.c:255
+msgid "Use De_fault"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:264
+msgid "Column Sizing"
+msgstr ""
+
+#. create the label that explains the column sizing option
+#: ../thunar/thunar-column-editor.c:277
+msgid ""
+"By default columns will be automatically expanded if\n"
+"needed to ensure the text is fully visible. If you dis-\n"
+"able this behavior below the file manager will always\n"
+"use the user defined column widths."
+msgstr ""
+
+#. create the "Automatically expand columns as needed" button
+#: ../thunar/thunar-column-editor.c:286
+msgid "Automatically _expand columns as needed"
+msgstr ""
+
+#: ../thunar/thunar-column-model.c:894 ../thunar/thunar-list-model.c:702
+#: ../thunar/thunar-list-model.c:731
+#: ../thunar/thunar-permissions-chooser.c:270
+msgid "Unknown"
+msgstr "Onbekend"
+
 #: ../thunar/thunar-create-dialog.c:180 ../thunar/thunar-standard-view.c:2242
 msgid "Enter the new name:"
 msgstr "Nieuwe naam invoeren:"
@@ -603,27 +668,21 @@ msgstr "Nieuwe naam invoeren:"
 msgid "Cannot convert filename \"%s\" to the local encoding"
 msgstr "Can bestandsnaam `%s' niet naar locale codering converteren"
 
-#.
-#. Permissions chooser
-#.
-#: ../thunar/thunar-details-view.c:212
-#: ../thunar/thunar-properties-dialog.c:414
-msgid "Permissions"
-msgstr "Toestemmingen"
-
-#: ../thunar/thunar-details-view.c:227
-msgid "Type"
-msgstr "Type"
+#: ../thunar/thunar-details-view.c:130
+#, fuzzy
+msgid "Configure _Columns..."
+msgstr "_Alternatieve acties instellen"
 
-#: ../thunar/thunar-details-view.c:239
-msgid "Date modified"
-msgstr "Datum van laatste bewerking"
+#: ../thunar/thunar-details-view.c:130
+#, fuzzy
+msgid "Configure the columns in the detailed list view"
+msgstr "Mapinhoud weergeven als gedetailleerde lijst"
 
-#: ../thunar/thunar-details-view.c:268
+#: ../thunar/thunar-details-view.c:411
 msgid "Detailed directory listing"
 msgstr "Gedetailleerde mappenweergave"
 
-#: ../thunar/thunar-details-view.c:269
+#: ../thunar/thunar-details-view.c:412
 msgid "Details view"
 msgstr "Gedetailleerde weergavemodus"
 
@@ -652,6 +711,52 @@ msgstr "Hierheen een snelkoppeling maken"
 msgid "Failed to execute file \"%s\""
 msgstr "Fout bij het uitvoeren van `%s'"
 
+#: ../thunar/thunar-enum-types.c:60
+#, fuzzy
+msgid "Date Accessed"
+msgstr "Geopend:"
+
+#: ../thunar/thunar-enum-types.c:61
+#, fuzzy
+msgid "Date Modified"
+msgstr "Datum van laatste bewerking"
+
+#: ../thunar/thunar-enum-types.c:62
+#, fuzzy
+msgid "Group"
+msgstr "Groep:"
+
+#: ../thunar/thunar-enum-types.c:63
+#, fuzzy
+msgid "MIME Type"
+msgstr "Type"
+
+#: ../thunar/thunar-enum-types.c:65
+#, fuzzy
+msgid "Owner"
+msgstr "Eigenaar:"
+
+#.
+#. Permissions chooser
+#.
+#: ../thunar/thunar-enum-types.c:66 ../thunar/thunar-properties-dialog.c:414
+msgid "Permissions"
+msgstr "Toestemmingen"
+
+#: ../thunar/thunar-enum-types.c:68
+msgid "Type"
+msgstr "Type"
+
+#: ../thunar/thunar-enum-types.c:69
+#, fuzzy
+msgid "File"
+msgstr "_Bestand"
+
+#: ../thunar/thunar-enum-types.c:70
+#, fuzzy
+msgid "File Name"
+msgstr "Bestandsbeheerder"
+
 #: ../thunar/thunar-file.c:727
 msgid "The root folder has no parent"
 msgstr "Het hoofdmap heeft geen bovenliggende map"
@@ -881,47 +986,47 @@ msgstr[1] "geselecteerde bestandsnamen (zonder paden)"
 msgid "Open With \"%s\""
 msgstr "Openen Met"
 
-#: ../thunar/thunar-list-model.c:714 ../thunar/thunar-properties-dialog.c:656
+#: ../thunar/thunar-list-model.c:750 ../thunar/thunar-properties-dialog.c:656
 msgid "broken link"
 msgstr "foute verwijzing"
 
-#: ../thunar/thunar-list-model.c:1989
+#: ../thunar/thunar-list-model.c:2075
 #, c-format
 msgid "%d item, Free space: %s"
 msgid_plural "%d items, Free space: %s"
 msgstr[0] "%d item, vrije ruimte: %s"
 msgstr[1] "%d items, vrije ruimte: %s"
 
-#: ../thunar/thunar-list-model.c:1994
+#: ../thunar/thunar-list-model.c:2080
 #, c-format
 msgid "%d item"
 msgid_plural "%d items"
 msgstr[0] "%d item"
 msgstr[1] "%d items"
 
-#: ../thunar/thunar-list-model.c:2010
+#: ../thunar/thunar-list-model.c:2096
 #, c-format
 msgid "\"%s\" broken link"
 msgstr "\"%s\" foute verwijzing"
 
-#: ../thunar/thunar-list-model.c:2014
+#: ../thunar/thunar-list-model.c:2100
 #, c-format
 msgid "\"%s\" (%s) link to %s"
 msgstr "\"%s\" (%s) verwijzing naar %s"
 
-#: ../thunar/thunar-list-model.c:2019
+#: ../thunar/thunar-list-model.c:2105
 #, c-format
 msgid "\"%s\" (%s) %s"
 msgstr "\"%s\" (%s) %s"
 
-#: ../thunar/thunar-list-model.c:2036
+#: ../thunar/thunar-list-model.c:2122
 #, c-format
 msgid "%d item selected (%s)"
 msgid_plural "%d items selected (%s)"
 msgstr[0] "%d item geselecteerd (%s)"
 msgstr[1] "%d items geselecteerd (%s)"
 
-#: ../thunar/thunar-list-model.c:2041
+#: ../thunar/thunar-list-model.c:2127
 #, c-format
 msgid "%d item selected"
 msgid_plural "%d items selected"
@@ -1004,10 +1109,6 @@ msgstr "Lezen en schrijven"
 msgid "Owner:"
 msgstr "Eigenaar:"
 
-#: ../thunar/thunar-permissions-chooser.c:270
-msgid "Unknown"
-msgstr "Onbekend"
-
 #: ../thunar/thunar-permissions-chooser.c:284
 #: ../thunar/thunar-permissions-chooser.c:337
 msgid "Access:"
diff --git a/po/pl.po b/po/pl.po
index cb4077b2818fa5cbbc81f253d1bf7f337cd5cae3..0d96623e53a2e5b2efeb06eb93712b22f3bcd57c 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Thunar 0.2.1svn\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-11 18:15+0100\n"
+"POT-Creation-Date: 2006-03-12 18:55+0100\n"
 "PO-Revision-Date: 2006-01-13 14:21+0100\n"
 "Last-Translator: Tomasz Michał Łukaszewski <T.Lukaszewski@aster.pl>\n"
 "Language-Team: Polish <pl@li.org>\n"
@@ -174,7 +174,7 @@ msgid "The icon of the mime handler"
 msgstr ""
 
 #: ../thunar-vfs/thunar-vfs-mime-handler.c:176
-#: ../thunar/thunar-details-view.c:178
+#: ../thunar/thunar-enum-types.c:64
 msgid "Name"
 msgstr "Nazwa"
 
@@ -200,7 +200,7 @@ msgstr "Ścieżka jest zbyt długa"
 msgid "URI too long to fit into buffer"
 msgstr "Identyfikator URI jest zbyt długi"
 
-#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-details-view.c:197
+#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-enum-types.c:67
 msgid "Size"
 msgstr "Rozmiar"
 
@@ -264,7 +264,7 @@ msgstr "Nie udało się zmienić nazwy %s."
 msgid "copy of %s"
 msgstr "kopia %s"
 
-#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:716
+#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:752
 #: ../thunar/thunar-properties-dialog.c:658
 #, c-format
 msgid "link to %s"
@@ -586,6 +586,72 @@ msgstr "Inne aplikacje"
 msgid "There is nothing on the clipboard to paste"
 msgstr "W schowku nie ma nic do wklejenia"
 
+#: ../thunar/thunar-column-editor.c:153
+msgid "Configure Columns in the Detailed List View"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:164
+msgid "Visible Columns"
+msgstr ""
+
+#. create the top label for the column editor dialog
+#: ../thunar/thunar-column-editor.c:177
+msgid ""
+"Chooser the order of information to appear in the\n"
+"detailed list view."
+msgstr ""
+
+#. create the "Move Up" button
+#: ../thunar/thunar-column-editor.c:218
+msgid "Move _Up"
+msgstr ""
+
+#. create the "Move Down" button
+#: ../thunar/thunar-column-editor.c:228
+msgid "Move Dow_n"
+msgstr ""
+
+#. create the "Show" button
+#: ../thunar/thunar-column-editor.c:238
+msgid "_Show"
+msgstr ""
+
+#. create the "Hide" button
+#: ../thunar/thunar-column-editor.c:244
+#, fuzzy
+msgid "Hi_de"
+msgstr "Niewidoczny"
+
+#. create the "Use Default" button
+#: ../thunar/thunar-column-editor.c:255
+msgid "Use De_fault"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:264
+msgid "Column Sizing"
+msgstr ""
+
+#. create the label that explains the column sizing option
+#: ../thunar/thunar-column-editor.c:277
+msgid ""
+"By default columns will be automatically expanded if\n"
+"needed to ensure the text is fully visible. If you dis-\n"
+"able this behavior below the file manager will always\n"
+"use the user defined column widths."
+msgstr ""
+
+#. create the "Automatically expand columns as needed" button
+#: ../thunar/thunar-column-editor.c:286
+msgid "Automatically _expand columns as needed"
+msgstr ""
+
+#: ../thunar/thunar-column-model.c:894 ../thunar/thunar-list-model.c:702
+#: ../thunar/thunar-list-model.c:731
+#: ../thunar/thunar-permissions-chooser.c:270
+#, fuzzy
+msgid "Unknown"
+msgstr "data nieznana"
+
 #: ../thunar/thunar-create-dialog.c:180 ../thunar/thunar-standard-view.c:2242
 msgid "Enter the new name:"
 msgstr ""
@@ -596,27 +662,19 @@ msgstr ""
 msgid "Cannot convert filename \"%s\" to the local encoding"
 msgstr ""
 
-#.
-#. Permissions chooser
-#.
-#: ../thunar/thunar-details-view.c:212
-#: ../thunar/thunar-properties-dialog.c:414
-msgid "Permissions"
-msgstr "Prawa dostępu"
-
-#: ../thunar/thunar-details-view.c:227
-msgid "Type"
-msgstr "Typ"
+#: ../thunar/thunar-details-view.c:130
+msgid "Configure _Columns..."
+msgstr ""
 
-#: ../thunar/thunar-details-view.c:239
-msgid "Date modified"
-msgstr "Ostatnia modyfikacja"
+#: ../thunar/thunar-details-view.c:130
+msgid "Configure the columns in the detailed list view"
+msgstr ""
 
-#: ../thunar/thunar-details-view.c:268
+#: ../thunar/thunar-details-view.c:411
 msgid "Detailed directory listing"
 msgstr "Pokazuj szczegóły elementów w katalogu"
 
-#: ../thunar/thunar-details-view.c:269
+#: ../thunar/thunar-details-view.c:412
 msgid "Details view"
 msgstr "Widok szczegółowy"
 
@@ -645,6 +703,50 @@ msgstr "Utwórz _łacze"
 msgid "Failed to execute file \"%s\""
 msgstr "Nie udało się uruchomić %s"
 
+#: ../thunar/thunar-enum-types.c:60
+#, fuzzy
+msgid "Date Accessed"
+msgstr "Ostatnio otwarty:"
+
+#: ../thunar/thunar-enum-types.c:61
+#, fuzzy
+msgid "Date Modified"
+msgstr "Ostatnia modyfikacja"
+
+#: ../thunar/thunar-enum-types.c:62
+msgid "Group"
+msgstr ""
+
+#: ../thunar/thunar-enum-types.c:63
+#, fuzzy
+msgid "MIME Type"
+msgstr "Typ"
+
+#: ../thunar/thunar-enum-types.c:65
+msgid "Owner"
+msgstr ""
+
+#.
+#. Permissions chooser
+#.
+#: ../thunar/thunar-enum-types.c:66 ../thunar/thunar-properties-dialog.c:414
+msgid "Permissions"
+msgstr "Prawa dostępu"
+
+#: ../thunar/thunar-enum-types.c:68
+msgid "Type"
+msgstr "Typ"
+
+#: ../thunar/thunar-enum-types.c:69
+#, fuzzy
+msgid "File"
+msgstr "_Plik"
+
+#: ../thunar/thunar-enum-types.c:70
+#, fuzzy
+msgid "File Name"
+msgstr "Menedżer plików"
+
 #: ../thunar/thunar-file.c:727
 msgid "The root folder has no parent"
 msgstr "Katalog główny nie ma katalogu nadrzędnego"
@@ -881,11 +983,11 @@ msgstr[1] ""
 msgid "Open With \"%s\""
 msgstr "Otwórz z"
 
-#: ../thunar/thunar-list-model.c:714 ../thunar/thunar-properties-dialog.c:656
+#: ../thunar/thunar-list-model.c:750 ../thunar/thunar-properties-dialog.c:656
 msgid "broken link"
 msgstr "nieprawidłowe łącze"
 
-#: ../thunar/thunar-list-model.c:1989
+#: ../thunar/thunar-list-model.c:2075
 #, c-format
 msgid "%d item, Free space: %s"
 msgid_plural "%d items, Free space: %s"
@@ -893,7 +995,7 @@ msgstr[0] "%d element, dostępna przestrzeń: %s"
 msgstr[1] "%d elementy, dostępna przestrzeń: %s"
 msgstr[2] "%d elementów, dostępna przestrzeń: %s"
 
-#: ../thunar/thunar-list-model.c:1994
+#: ../thunar/thunar-list-model.c:2080
 #, c-format
 msgid "%d item"
 msgid_plural "%d items"
@@ -901,22 +1003,22 @@ msgstr[0] "%d element"
 msgstr[1] "%d elementy"
 msgstr[2] "%d elementów"
 
-#: ../thunar/thunar-list-model.c:2010
+#: ../thunar/thunar-list-model.c:2096
 #, fuzzy, c-format
 msgid "\"%s\" broken link"
 msgstr "nieprawidłowe łącze"
 
-#: ../thunar/thunar-list-model.c:2014
+#: ../thunar/thunar-list-model.c:2100
 #, fuzzy, c-format
 msgid "\"%s\" (%s) link to %s"
 msgstr "%u. Å‚Ä…cze do %s"
 
-#: ../thunar/thunar-list-model.c:2019
+#: ../thunar/thunar-list-model.c:2105
 #, c-format
 msgid "\"%s\" (%s) %s"
 msgstr ""
 
-#: ../thunar/thunar-list-model.c:2036
+#: ../thunar/thunar-list-model.c:2122
 #, c-format
 msgid "%d item selected (%s)"
 msgid_plural "%d items selected (%s)"
@@ -924,7 +1026,7 @@ msgstr[0] "%d zaznaczony element (%s)"
 msgstr[1] "%d zaznaczone elementy (%s)"
 msgstr[2] "%d zaznaczonych elementów (%s)"
 
-#: ../thunar/thunar-list-model.c:2041
+#: ../thunar/thunar-list-model.c:2127
 #, c-format
 msgid "%d item selected"
 msgid_plural "%d items selected"
@@ -1008,11 +1110,6 @@ msgstr ""
 msgid "Owner:"
 msgstr ""
 
-#: ../thunar/thunar-permissions-chooser.c:270
-#, fuzzy
-msgid "Unknown"
-msgstr "data nieznana"
-
 #: ../thunar/thunar-permissions-chooser.c:284
 #: ../thunar/thunar-permissions-chooser.c:337
 #, fuzzy
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 0bd1730c9edd5de86907438ab9dce1f0a9f9df86..9db2b5b6b7b2c6cb3b9efa97c337f16e922e9734 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Thunar 0.2.1svn\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-11 18:15+0100\n"
+"POT-Creation-Date: 2006-03-12 18:55+0100\n"
 "PO-Revision-Date: 2006-02-10 22:34-0200\n"
 "Last-Translator: Rodrigo Coacci <rcoacci@gmail.com>\n"
 "Language-Team: os-cillation <info@os-cillation.com>\n"
@@ -174,7 +174,7 @@ msgid "The icon of the mime handler"
 msgstr ""
 
 #: ../thunar-vfs/thunar-vfs-mime-handler.c:176
-#: ../thunar/thunar-details-view.c:178
+#: ../thunar/thunar-enum-types.c:64
 msgid "Name"
 msgstr "Nome"
 
@@ -200,7 +200,7 @@ msgstr "Caminho longo demais para caber no buffer"
 msgid "URI too long to fit into buffer"
 msgstr "URI longo demais para caber no buffer"
 
-#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-details-view.c:197
+#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-enum-types.c:67
 msgid "Size"
 msgstr "Tamanho"
 
@@ -262,7 +262,7 @@ msgstr "Falha ao abrir \"%s\": %s"
 msgid "copy of %s"
 msgstr "cópia de %s"
 
-#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:716
+#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:752
 #: ../thunar/thunar-properties-dialog.c:658
 #, c-format
 msgid "link to %s"
@@ -582,6 +582,71 @@ msgstr "Outras Aplicações"
 msgid "There is nothing on the clipboard to paste"
 msgstr "Não há nada na área de transferência para colar"
 
+#: ../thunar/thunar-column-editor.c:153
+msgid "Configure Columns in the Detailed List View"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:164
+msgid "Visible Columns"
+msgstr ""
+
+#. create the top label for the column editor dialog
+#: ../thunar/thunar-column-editor.c:177
+msgid ""
+"Chooser the order of information to appear in the\n"
+"detailed list view."
+msgstr ""
+
+#. create the "Move Up" button
+#: ../thunar/thunar-column-editor.c:218
+msgid "Move _Up"
+msgstr ""
+
+#. create the "Move Down" button
+#: ../thunar/thunar-column-editor.c:228
+msgid "Move Dow_n"
+msgstr ""
+
+#. create the "Show" button
+#: ../thunar/thunar-column-editor.c:238
+msgid "_Show"
+msgstr ""
+
+#. create the "Hide" button
+#: ../thunar/thunar-column-editor.c:244
+#, fuzzy
+msgid "Hi_de"
+msgstr "_Invisível"
+
+#. create the "Use Default" button
+#: ../thunar/thunar-column-editor.c:255
+msgid "Use De_fault"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:264
+msgid "Column Sizing"
+msgstr ""
+
+#. create the label that explains the column sizing option
+#: ../thunar/thunar-column-editor.c:277
+msgid ""
+"By default columns will be automatically expanded if\n"
+"needed to ensure the text is fully visible. If you dis-\n"
+"able this behavior below the file manager will always\n"
+"use the user defined column widths."
+msgstr ""
+
+#. create the "Automatically expand columns as needed" button
+#: ../thunar/thunar-column-editor.c:286
+msgid "Automatically _expand columns as needed"
+msgstr ""
+
+#: ../thunar/thunar-column-model.c:894 ../thunar/thunar-list-model.c:702
+#: ../thunar/thunar-list-model.c:731
+#: ../thunar/thunar-permissions-chooser.c:270
+msgid "Unknown"
+msgstr "Desconhecido"
+
 #: ../thunar/thunar-create-dialog.c:180 ../thunar/thunar-standard-view.c:2242
 msgid "Enter the new name:"
 msgstr "Entre com o novo nome:"
@@ -592,27 +657,20 @@ msgstr "Entre com o novo nome:"
 msgid "Cannot convert filename \"%s\" to the local encoding"
 msgstr "Não pode converter nome de arquivo `%s' para a codificação local"
 
-#.
-#. Permissions chooser
-#.
-#: ../thunar/thunar-details-view.c:212
-#: ../thunar/thunar-properties-dialog.c:414
-msgid "Permissions"
-msgstr "Permissões"
-
-#: ../thunar/thunar-details-view.c:227
-msgid "Type"
-msgstr "Tipo"
+#: ../thunar/thunar-details-view.c:130
+msgid "Configure _Columns..."
+msgstr ""
 
-#: ../thunar/thunar-details-view.c:239
-msgid "Date modified"
-msgstr "Data modificada"
+#: ../thunar/thunar-details-view.c:130
+#, fuzzy
+msgid "Configure the columns in the detailed list view"
+msgstr "Mostrar conteúdo de pasta em uma visualização de lista detalhada"
 
-#: ../thunar/thunar-details-view.c:268
+#: ../thunar/thunar-details-view.c:411
 msgid "Detailed directory listing"
 msgstr "Listagem de diretório detalhada"
 
-#: ../thunar/thunar-details-view.c:269
+#: ../thunar/thunar-details-view.c:412
 msgid "Details view"
 msgstr "Visualização de detalhes"
 
@@ -641,6 +699,52 @@ msgstr "_Ligue aqui"
 msgid "Failed to execute file \"%s\""
 msgstr "Falha ao executar o arquivo \"%s\""
 
+#: ../thunar/thunar-enum-types.c:60
+#, fuzzy
+msgid "Date Accessed"
+msgstr "Acessado:"
+
+#: ../thunar/thunar-enum-types.c:61
+#, fuzzy
+msgid "Date Modified"
+msgstr "Data modificada"
+
+#: ../thunar/thunar-enum-types.c:62
+#, fuzzy
+msgid "Group"
+msgstr "Grupo"
+
+#: ../thunar/thunar-enum-types.c:63
+#, fuzzy
+msgid "MIME Type"
+msgstr "Tipo"
+
+#: ../thunar/thunar-enum-types.c:65
+#, fuzzy
+msgid "Owner"
+msgstr "Dono"
+
+#.
+#. Permissions chooser
+#.
+#: ../thunar/thunar-enum-types.c:66 ../thunar/thunar-properties-dialog.c:414
+msgid "Permissions"
+msgstr "Permissões"
+
+#: ../thunar/thunar-enum-types.c:68
+msgid "Type"
+msgstr "Tipo"
+
+#: ../thunar/thunar-enum-types.c:69
+#, fuzzy
+msgid "File"
+msgstr "_Arquivo"
+
+#: ../thunar/thunar-enum-types.c:70
+#, fuzzy
+msgid "File Name"
+msgstr "Gerenciador de Arquivos"
+
 #: ../thunar/thunar-file.c:727
 msgid "The root folder has no parent"
 msgstr "A pasta raiz não tem parente"
@@ -861,47 +965,47 @@ msgstr[1] "Abrir os arquivos selecionados com as aplicações padrão"
 msgid "Open With \"%s\""
 msgstr "Abrir Com \"%s\""
 
-#: ../thunar/thunar-list-model.c:714 ../thunar/thunar-properties-dialog.c:656
+#: ../thunar/thunar-list-model.c:750 ../thunar/thunar-properties-dialog.c:656
 msgid "broken link"
 msgstr "ligação quebrada"
 
-#: ../thunar/thunar-list-model.c:1989
+#: ../thunar/thunar-list-model.c:2075
 #, c-format
 msgid "%d item, Free space: %s"
 msgid_plural "%d items, Free space: %s"
 msgstr[0] "%d item, espaço livre: %s"
 msgstr[1] "%d ítens, espaço livre: %s"
 
-#: ../thunar/thunar-list-model.c:1994
+#: ../thunar/thunar-list-model.c:2080
 #, c-format
 msgid "%d item"
 msgid_plural "%d items"
 msgstr[0] "%d item"
 msgstr[1] "%d ítens"
 
-#: ../thunar/thunar-list-model.c:2010
+#: ../thunar/thunar-list-model.c:2096
 #, c-format
 msgid "\"%s\" broken link"
 msgstr "ligação quebrada \"%s\""
 
-#: ../thunar/thunar-list-model.c:2014
+#: ../thunar/thunar-list-model.c:2100
 #, c-format
 msgid "\"%s\" (%s) link to %s"
 msgstr "\"%s\" (%s) ligação para %s"
 
-#: ../thunar/thunar-list-model.c:2019
+#: ../thunar/thunar-list-model.c:2105
 #, c-format
 msgid "\"%s\" (%s) %s"
 msgstr "\"%s\" (%s) %s"
 
-#: ../thunar/thunar-list-model.c:2036
+#: ../thunar/thunar-list-model.c:2122
 #, c-format
 msgid "%d item selected (%s)"
 msgid_plural "%d items selected (%s)"
 msgstr[0] "%d item selecionado (%s)"
 msgstr[1] "%d ítens selecionados (%s)"
 
-#: ../thunar/thunar-list-model.c:2041
+#: ../thunar/thunar-list-model.c:2127
 #, c-format
 msgid "%d item selected"
 msgid_plural "%d items selected"
@@ -984,10 +1088,6 @@ msgstr "Leitura & Escrita"
 msgid "Owner:"
 msgstr "Dono"
 
-#: ../thunar/thunar-permissions-chooser.c:270
-msgid "Unknown"
-msgstr "Desconhecido"
-
 #: ../thunar/thunar-permissions-chooser.c:284
 #: ../thunar/thunar-permissions-chooser.c:337
 msgid "Access:"
diff --git a/po/ru.po b/po/ru.po
index 53101941fe5c6a724c4f090b26edd60f6903d11a..230737910827977d55e6afa256063b8599942cd7 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Thunar 0.2.1svn\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-11 18:15+0100\n"
+"POT-Creation-Date: 2006-03-12 18:55+0100\n"
 "PO-Revision-Date: 2006-02-24 16:14+0500\n"
 "Last-Translator: Sergey Fedoseev <fedoseev.sergey@gmail.com>\n"
 "Language-Team: Russian <ru@li.org>\n"
@@ -174,7 +174,7 @@ msgid "The icon of the mime handler"
 msgstr ""
 
 #: ../thunar-vfs/thunar-vfs-mime-handler.c:176
-#: ../thunar/thunar-details-view.c:178
+#: ../thunar/thunar-enum-types.c:64
 msgid "Name"
 msgstr "Имя"
 
@@ -200,7 +200,7 @@ msgstr "Слишком длинный путь, чтобы поместить е
 msgid "URI too long to fit into buffer"
 msgstr "Слишком длинный URI, чтобы поместить его в буфер"
 
-#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-details-view.c:197
+#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-enum-types.c:67
 msgid "Size"
 msgstr "Размер"
 
@@ -262,7 +262,7 @@ msgstr "Не удалось открыть /proc/mounts: %s"
 msgid "copy of %s"
 msgstr "копия %s"
 
-#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:716
+#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:752
 #: ../thunar/thunar-properties-dialog.c:658
 #, c-format
 msgid "link to %s"
@@ -583,6 +583,71 @@ msgstr "Другие приложения"
 msgid "There is nothing on the clipboard to paste"
 msgstr "Буфер обмена пуст"
 
+#: ../thunar/thunar-column-editor.c:153
+msgid "Configure Columns in the Detailed List View"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:164
+msgid "Visible Columns"
+msgstr ""
+
+#. create the top label for the column editor dialog
+#: ../thunar/thunar-column-editor.c:177
+msgid ""
+"Chooser the order of information to appear in the\n"
+"detailed list view."
+msgstr ""
+
+#. create the "Move Up" button
+#: ../thunar/thunar-column-editor.c:218
+msgid "Move _Up"
+msgstr ""
+
+#. create the "Move Down" button
+#: ../thunar/thunar-column-editor.c:228
+msgid "Move Dow_n"
+msgstr ""
+
+#. create the "Show" button
+#: ../thunar/thunar-column-editor.c:238
+msgid "_Show"
+msgstr ""
+
+#. create the "Hide" button
+#: ../thunar/thunar-column-editor.c:244
+#, fuzzy
+msgid "Hi_de"
+msgstr "_Скрыть"
+
+#. create the "Use Default" button
+#: ../thunar/thunar-column-editor.c:255
+msgid "Use De_fault"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:264
+msgid "Column Sizing"
+msgstr ""
+
+#. create the label that explains the column sizing option
+#: ../thunar/thunar-column-editor.c:277
+msgid ""
+"By default columns will be automatically expanded if\n"
+"needed to ensure the text is fully visible. If you dis-\n"
+"able this behavior below the file manager will always\n"
+"use the user defined column widths."
+msgstr ""
+
+#. create the "Automatically expand columns as needed" button
+#: ../thunar/thunar-column-editor.c:286
+msgid "Automatically _expand columns as needed"
+msgstr ""
+
+#: ../thunar/thunar-column-model.c:894 ../thunar/thunar-list-model.c:702
+#: ../thunar/thunar-list-model.c:731
+#: ../thunar/thunar-permissions-chooser.c:270
+msgid "Unknown"
+msgstr "Неизвестно"
+
 #: ../thunar/thunar-create-dialog.c:180 ../thunar/thunar-standard-view.c:2242
 msgid "Enter the new name:"
 msgstr "Введите имя:"
@@ -593,27 +658,21 @@ msgstr "Введите имя:"
 msgid "Cannot convert filename \"%s\" to the local encoding"
 msgstr "Не удается преобразовать имя \"%s\" файла в локальную кодировку"
 
-#.
-#. Permissions chooser
-#.
-#: ../thunar/thunar-details-view.c:212
-#: ../thunar/thunar-properties-dialog.c:414
-msgid "Permissions"
-msgstr "Права"
-
-#: ../thunar/thunar-details-view.c:227
-msgid "Type"
-msgstr "Тип"
+#: ../thunar/thunar-details-view.c:130
+#, fuzzy
+msgid "Configure _Columns..."
+msgstr "Настроить особые действия..."
 
-#: ../thunar/thunar-details-view.c:239
-msgid "Date modified"
-msgstr "Дата изменения"
+#: ../thunar/thunar-details-view.c:130
+#, fuzzy
+msgid "Configure the columns in the detailed list view"
+msgstr "Отображает содержимое текущей папки в виде списка"
 
-#: ../thunar/thunar-details-view.c:268
+#: ../thunar/thunar-details-view.c:411
 msgid "Detailed directory listing"
 msgstr "Подробный список"
 
-#: ../thunar/thunar-details-view.c:269
+#: ../thunar/thunar-details-view.c:412
 msgid "Details view"
 msgstr "Просмотр в виде списка"
 
@@ -642,6 +701,51 @@ msgstr "Создать ссылку здесь"
 msgid "Failed to execute file \"%s\""
 msgstr "Не удалось запустить \"%s\""
 
+#: ../thunar/thunar-enum-types.c:60
+msgid "Date Accessed"
+msgstr ""
+
+#: ../thunar/thunar-enum-types.c:61
+#, fuzzy
+msgid "Date Modified"
+msgstr "Дата изменения"
+
+#: ../thunar/thunar-enum-types.c:62
+#, fuzzy
+msgid "Group"
+msgstr "Группа:"
+
+#: ../thunar/thunar-enum-types.c:63
+#, fuzzy
+msgid "MIME Type"
+msgstr "Тип"
+
+#: ../thunar/thunar-enum-types.c:65
+#, fuzzy
+msgid "Owner"
+msgstr "Владелец:"
+
+#.
+#. Permissions chooser
+#.
+#: ../thunar/thunar-enum-types.c:66 ../thunar/thunar-properties-dialog.c:414
+msgid "Permissions"
+msgstr "Права"
+
+#: ../thunar/thunar-enum-types.c:68
+msgid "Type"
+msgstr "Тип"
+
+#: ../thunar/thunar-enum-types.c:69
+#, fuzzy
+msgid "File"
+msgstr "_Файл"
+
+#: ../thunar/thunar-enum-types.c:70
+#, fuzzy
+msgid "File Name"
+msgstr "Файловый менеджер"
+
 #: ../thunar/thunar-file.c:727
 msgid "The root folder has no parent"
 msgstr "Корневой каталог не имеет родительского каталога"
@@ -870,11 +974,11 @@ msgstr[2] "Открыть выбранные файлы в приложении
 msgid "Open With \"%s\""
 msgstr "Открыть с помощью \"%s\""
 
-#: ../thunar/thunar-list-model.c:714 ../thunar/thunar-properties-dialog.c:656
+#: ../thunar/thunar-list-model.c:750 ../thunar/thunar-properties-dialog.c:656
 msgid "broken link"
 msgstr "битая ссылка"
 
-#: ../thunar/thunar-list-model.c:1989
+#: ../thunar/thunar-list-model.c:2075
 #, c-format
 msgid "%d item, Free space: %s"
 msgid_plural "%d items, Free space: %s"
@@ -882,7 +986,7 @@ msgstr[0] "%d объект, свободного места: %s"
 msgstr[1] "%d объекта, свободного места: %s"
 msgstr[2] "%d объектов, свободного места: %s"
 
-#: ../thunar/thunar-list-model.c:1994
+#: ../thunar/thunar-list-model.c:2080
 #, c-format
 msgid "%d item"
 msgid_plural "%d items"
@@ -890,22 +994,22 @@ msgstr[0] "%d объект"
 msgstr[1] "%d объекта"
 msgstr[2] "%d объектов"
 
-#: ../thunar/thunar-list-model.c:2010
+#: ../thunar/thunar-list-model.c:2096
 #, c-format
 msgid "\"%s\" broken link"
 msgstr "\"%s\" битая ссылка"
 
-#: ../thunar/thunar-list-model.c:2014
+#: ../thunar/thunar-list-model.c:2100
 #, c-format
 msgid "\"%s\" (%s) link to %s"
 msgstr "\"%s\" (%s) ссылается на %s"
 
-#: ../thunar/thunar-list-model.c:2019
+#: ../thunar/thunar-list-model.c:2105
 #, c-format
 msgid "\"%s\" (%s) %s"
 msgstr "\"%s\" (%s) %s"
 
-#: ../thunar/thunar-list-model.c:2036
+#: ../thunar/thunar-list-model.c:2122
 #, c-format
 msgid "%d item selected (%s)"
 msgid_plural "%d items selected (%s)"
@@ -913,7 +1017,7 @@ msgstr[0] "выбран %d объект (%s)"
 msgstr[1] "выбрано %d объекта (%s)"
 msgstr[2] "выбрано %d объектов (%s)"
 
-#: ../thunar/thunar-list-model.c:2041
+#: ../thunar/thunar-list-model.c:2127
 #, c-format
 msgid "%d item selected"
 msgid_plural "%d items selected"
@@ -996,10 +1100,6 @@ msgstr "Чтение/Запись"
 msgid "Owner:"
 msgstr "Владелец:"
 
-#: ../thunar/thunar-permissions-chooser.c:270
-msgid "Unknown"
-msgstr "Неизвестно"
-
 #: ../thunar/thunar-permissions-chooser.c:284
 #: ../thunar/thunar-permissions-chooser.c:337
 msgid "Access:"
diff --git a/po/sv.po b/po/sv.po
index 1a0ce54705e48021f8adf4ecb6e3c5d31ceb6e33..6c80a7ed98e69e3fe65b4a0608a9e1d05045fe0c 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Thunar 0.2.1svn\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-11 18:15+0100\n"
+"POT-Creation-Date: 2006-03-12 18:55+0100\n"
 "PO-Revision-Date: 2006-02-22 16:28+0100\n"
 "Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -171,7 +171,7 @@ msgid "The icon of the mime handler"
 msgstr "Ikonen för mime-handtaget"
 
 #: ../thunar-vfs/thunar-vfs-mime-handler.c:176
-#: ../thunar/thunar-details-view.c:178
+#: ../thunar/thunar-enum-types.c:64
 msgid "Name"
 msgstr "Namn"
 
@@ -197,7 +197,7 @@ msgstr "Sökväg för lång för att passa i buffert"
 msgid "URI too long to fit into buffer"
 msgstr "URI för lång för att passa i buffert"
 
-#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-details-view.c:197
+#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-enum-types.c:67
 msgid "Size"
 msgstr "Storlek"
 
@@ -259,7 +259,7 @@ msgstr "Misslyckades att öppna /proc/mounts: %s"
 msgid "copy of %s"
 msgstr "kopia av %s"
 
-#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:716
+#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:752
 #: ../thunar/thunar-properties-dialog.c:658
 #, c-format
 msgid "link to %s"
@@ -578,6 +578,71 @@ msgstr "Andra program"
 msgid "There is nothing on the clipboard to paste"
 msgstr "Det finns inget i Urklipp att klistra in"
 
+#: ../thunar/thunar-column-editor.c:153
+msgid "Configure Columns in the Detailed List View"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:164
+msgid "Visible Columns"
+msgstr ""
+
+#. create the top label for the column editor dialog
+#: ../thunar/thunar-column-editor.c:177
+msgid ""
+"Chooser the order of information to appear in the\n"
+"detailed list view."
+msgstr ""
+
+#. create the "Move Up" button
+#: ../thunar/thunar-column-editor.c:218
+msgid "Move _Up"
+msgstr ""
+
+#. create the "Move Down" button
+#: ../thunar/thunar-column-editor.c:228
+msgid "Move Dow_n"
+msgstr ""
+
+#. create the "Show" button
+#: ../thunar/thunar-column-editor.c:238
+msgid "_Show"
+msgstr ""
+
+#. create the "Hide" button
+#: ../thunar/thunar-column-editor.c:244
+#, fuzzy
+msgid "Hi_de"
+msgstr "_Dold"
+
+#. create the "Use Default" button
+#: ../thunar/thunar-column-editor.c:255
+msgid "Use De_fault"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:264
+msgid "Column Sizing"
+msgstr ""
+
+#. create the label that explains the column sizing option
+#: ../thunar/thunar-column-editor.c:277
+msgid ""
+"By default columns will be automatically expanded if\n"
+"needed to ensure the text is fully visible. If you dis-\n"
+"able this behavior below the file manager will always\n"
+"use the user defined column widths."
+msgstr ""
+
+#. create the "Automatically expand columns as needed" button
+#: ../thunar/thunar-column-editor.c:286
+msgid "Automatically _expand columns as needed"
+msgstr ""
+
+#: ../thunar/thunar-column-model.c:894 ../thunar/thunar-list-model.c:702
+#: ../thunar/thunar-list-model.c:731
+#: ../thunar/thunar-permissions-chooser.c:270
+msgid "Unknown"
+msgstr "Okänd"
+
 #: ../thunar/thunar-create-dialog.c:180 ../thunar/thunar-standard-view.c:2242
 msgid "Enter the new name:"
 msgstr "Ange det nya namnet:"
@@ -588,27 +653,21 @@ msgstr "Ange det nya namnet:"
 msgid "Cannot convert filename \"%s\" to the local encoding"
 msgstr "Kan inte konvertera filnamnet \"%s\" till lokal teckenkodning"
 
-#.
-#. Permissions chooser
-#.
-#: ../thunar/thunar-details-view.c:212
-#: ../thunar/thunar-properties-dialog.c:414
-msgid "Permissions"
-msgstr "Rättigheter"
-
-#: ../thunar/thunar-details-view.c:227
-msgid "Type"
-msgstr "Typ"
+#: ../thunar/thunar-details-view.c:130
+#, fuzzy
+msgid "Configure _Columns..."
+msgstr "Konfigurera a_npassade åtgärder..."
 
-#: ../thunar/thunar-details-view.c:239
-msgid "Date modified"
-msgstr "Ändringsdatum"
+#: ../thunar/thunar-details-view.c:130
+#, fuzzy
+msgid "Configure the columns in the detailed list view"
+msgstr "Visa mappinnehåll i en detaljerad listvy"
 
-#: ../thunar/thunar-details-view.c:268
+#: ../thunar/thunar-details-view.c:411
 msgid "Detailed directory listing"
 msgstr "Detaljerad kataloglistning"
 
-#: ../thunar/thunar-details-view.c:269
+#: ../thunar/thunar-details-view.c:412
 msgid "Details view"
 msgstr "Detaljvy"
 
@@ -637,6 +696,52 @@ msgstr "_Länka hit"
 msgid "Failed to execute file \"%s\""
 msgstr "Misslyckades att starta filen \"%s\""
 
+#: ../thunar/thunar-enum-types.c:60
+#, fuzzy
+msgid "Date Accessed"
+msgstr "Ã…tkommen:"
+
+#: ../thunar/thunar-enum-types.c:61
+#, fuzzy
+msgid "Date Modified"
+msgstr "Ändringsdatum"
+
+#: ../thunar/thunar-enum-types.c:62
+#, fuzzy
+msgid "Group"
+msgstr "Grupp:"
+
+#: ../thunar/thunar-enum-types.c:63
+#, fuzzy
+msgid "MIME Type"
+msgstr "Typ"
+
+#: ../thunar/thunar-enum-types.c:65
+#, fuzzy
+msgid "Owner"
+msgstr "Ägare:"
+
+#.
+#. Permissions chooser
+#.
+#: ../thunar/thunar-enum-types.c:66 ../thunar/thunar-properties-dialog.c:414
+msgid "Permissions"
+msgstr "Rättigheter"
+
+#: ../thunar/thunar-enum-types.c:68
+msgid "Type"
+msgstr "Typ"
+
+#: ../thunar/thunar-enum-types.c:69
+#, fuzzy
+msgid "File"
+msgstr "_Arkiv"
+
+#: ../thunar/thunar-enum-types.c:70
+#, fuzzy
+msgid "File Name"
+msgstr "Filhanterare"
+
 #: ../thunar/thunar-file.c:727
 msgid "The root folder has no parent"
 msgstr "Rotmappen har ingen förälder"
@@ -858,47 +963,47 @@ msgstr[1] "Öppna de markerade filerna med standardprogrammen"
 msgid "Open With \"%s\""
 msgstr "Öppna med \"%s\""
 
-#: ../thunar/thunar-list-model.c:714 ../thunar/thunar-properties-dialog.c:656
+#: ../thunar/thunar-list-model.c:750 ../thunar/thunar-properties-dialog.c:656
 msgid "broken link"
 msgstr "trasig länk"
 
-#: ../thunar/thunar-list-model.c:1989
+#: ../thunar/thunar-list-model.c:2075
 #, c-format
 msgid "%d item, Free space: %s"
 msgid_plural "%d items, Free space: %s"
 msgstr[0] "%d objekt, Ledigt utrymme: %s"
 msgstr[1] "%d objekt, Ledigt utrymme: %s"
 
-#: ../thunar/thunar-list-model.c:1994
+#: ../thunar/thunar-list-model.c:2080
 #, c-format
 msgid "%d item"
 msgid_plural "%d items"
 msgstr[0] "%d objekt"
 msgstr[1] "%d objekt"
 
-#: ../thunar/thunar-list-model.c:2010
+#: ../thunar/thunar-list-model.c:2096
 #, c-format
 msgid "\"%s\" broken link"
 msgstr "\"%s\" trasig länk"
 
-#: ../thunar/thunar-list-model.c:2014
+#: ../thunar/thunar-list-model.c:2100
 #, c-format
 msgid "\"%s\" (%s) link to %s"
 msgstr "\"%s\" (%s) länk till %s"
 
-#: ../thunar/thunar-list-model.c:2019
+#: ../thunar/thunar-list-model.c:2105
 #, c-format
 msgid "\"%s\" (%s) %s"
 msgstr "\"%s\" (%s) %s"
 
-#: ../thunar/thunar-list-model.c:2036
+#: ../thunar/thunar-list-model.c:2122
 #, c-format
 msgid "%d item selected (%s)"
 msgid_plural "%d items selected (%s)"
 msgstr[0] "%d objekt markerat (%s)"
 msgstr[1] "%d objekt markerade (%s)"
 
-#: ../thunar/thunar-list-model.c:2041
+#: ../thunar/thunar-list-model.c:2127
 #, c-format
 msgid "%d item selected"
 msgid_plural "%d items selected"
@@ -980,10 +1085,6 @@ msgstr "Läsa/Skriva"
 msgid "Owner:"
 msgstr "Ägare:"
 
-#: ../thunar/thunar-permissions-chooser.c:270
-msgid "Unknown"
-msgstr "Okänd"
-
 #: ../thunar/thunar-permissions-chooser.c:284
 #: ../thunar/thunar-permissions-chooser.c:337
 msgid "Access:"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 2514169da7a7ab15e18a535f315db9c8bcd5c5a2..583cbdbde00a3095c4e4b0b32d17c462d28ddf8c 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Thunar 0.2.1svn\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-11 18:15+0100\n"
+"POT-Creation-Date: 2006-03-12 18:55+0100\n"
 "PO-Revision-Date: 2006-03-05 21:50+0800\n"
 "Last-Translator: Hydonsingore Cia <hydonsingore@mail.educities.edu.tw>\n"
 "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
@@ -171,7 +171,7 @@ msgid "The icon of the mime handler"
 msgstr "mime 處置程式的圖示"
 
 #: ../thunar-vfs/thunar-vfs-mime-handler.c:176
-#: ../thunar/thunar-details-view.c:178
+#: ../thunar/thunar-enum-types.c:64
 msgid "Name"
 msgstr "名稱"
 
@@ -197,7 +197,7 @@ msgstr "路徑太長,無法放入緩衝區"
 msgid "URI too long to fit into buffer"
 msgstr "URI 太長,無法放入緩衝區"
 
-#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-details-view.c:197
+#: ../thunar-vfs/thunar-vfs-thumb.c:176 ../thunar/thunar-enum-types.c:67
 msgid "Size"
 msgstr "大小"
 
@@ -259,7 +259,7 @@ msgstr "無法開啟 /proc/mounts: %s"
 msgid "copy of %s"
 msgstr "%s 的拷貝"
 
-#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:716
+#: ../thunar-vfs/thunar-vfs-xfer.c:190 ../thunar/thunar-list-model.c:752
 #: ../thunar/thunar-properties-dialog.c:658
 #, c-format
 msgid "link to %s"
@@ -572,6 +572,70 @@ msgstr "其他應用程式"
 msgid "There is nothing on the clipboard to paste"
 msgstr "剪貼簿中沒有東西可以貼上"
 
+#: ../thunar/thunar-column-editor.c:153
+msgid "Configure Columns in the Detailed List View"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:164
+msgid "Visible Columns"
+msgstr ""
+
+#. create the top label for the column editor dialog
+#: ../thunar/thunar-column-editor.c:177
+msgid ""
+"Chooser the order of information to appear in the\n"
+"detailed list view."
+msgstr ""
+
+#. create the "Move Up" button
+#: ../thunar/thunar-column-editor.c:218
+msgid "Move _Up"
+msgstr ""
+
+#. create the "Move Down" button
+#: ../thunar/thunar-column-editor.c:228
+msgid "Move Dow_n"
+msgstr ""
+
+#. create the "Show" button
+#: ../thunar/thunar-column-editor.c:238
+msgid "_Show"
+msgstr ""
+
+#. create the "Hide" button
+#: ../thunar/thunar-column-editor.c:244
+msgid "Hi_de"
+msgstr ""
+
+#. create the "Use Default" button
+#: ../thunar/thunar-column-editor.c:255
+msgid "Use De_fault"
+msgstr ""
+
+#: ../thunar/thunar-column-editor.c:264
+msgid "Column Sizing"
+msgstr ""
+
+#. create the label that explains the column sizing option
+#: ../thunar/thunar-column-editor.c:277
+msgid ""
+"By default columns will be automatically expanded if\n"
+"needed to ensure the text is fully visible. If you dis-\n"
+"able this behavior below the file manager will always\n"
+"use the user defined column widths."
+msgstr ""
+
+#. create the "Automatically expand columns as needed" button
+#: ../thunar/thunar-column-editor.c:286
+msgid "Automatically _expand columns as needed"
+msgstr ""
+
+#: ../thunar/thunar-column-model.c:894 ../thunar/thunar-list-model.c:702
+#: ../thunar/thunar-list-model.c:731
+#: ../thunar/thunar-permissions-chooser.c:270
+msgid "Unknown"
+msgstr ""
+
 #: ../thunar/thunar-create-dialog.c:180 ../thunar/thunar-standard-view.c:2242
 msgid "Enter the new name:"
 msgstr "鍵入新名稱:"
@@ -582,27 +646,19 @@ msgstr "鍵入新名稱:"
 msgid "Cannot convert filename \"%s\" to the local encoding"
 msgstr "無法將檔名 \"%s\" 轉成本地編碼"
 
-#.
-#. Permissions chooser
-#.
-#: ../thunar/thunar-details-view.c:212
-#: ../thunar/thunar-properties-dialog.c:414
-msgid "Permissions"
-msgstr "權限"
-
-#: ../thunar/thunar-details-view.c:227
-msgid "Type"
-msgstr "é¡žåž‹"
+#: ../thunar/thunar-details-view.c:130
+msgid "Configure _Columns..."
+msgstr ""
 
-#: ../thunar/thunar-details-view.c:239
-msgid "Date modified"
-msgstr "資料修改"
+#: ../thunar/thunar-details-view.c:130
+msgid "Configure the columns in the detailed list view"
+msgstr ""
 
-#: ../thunar/thunar-details-view.c:268
+#: ../thunar/thunar-details-view.c:411
 msgid "Detailed directory listing"
 msgstr "詳細目錄列表"
 
-#: ../thunar/thunar-details-view.c:269
+#: ../thunar/thunar-details-view.c:412
 msgid "Details view"
 msgstr "詳細檢視"
 
@@ -630,6 +686,49 @@ msgstr "連結到這裡(_L)"
 msgid "Failed to execute file \"%s\""
 msgstr "無法執行檔案 \"%s\""
 
+#: ../thunar/thunar-enum-types.c:60
+msgid "Date Accessed"
+msgstr ""
+
+#: ../thunar/thunar-enum-types.c:61
+#, fuzzy
+msgid "Date Modified"
+msgstr "資料修改"
+
+#: ../thunar/thunar-enum-types.c:62
+msgid "Group"
+msgstr ""
+
+#: ../thunar/thunar-enum-types.c:63
+#, fuzzy
+msgid "MIME Type"
+msgstr "é¡žåž‹"
+
+#: ../thunar/thunar-enum-types.c:65
+msgid "Owner"
+msgstr ""
+
+#.
+#. Permissions chooser
+#.
+#: ../thunar/thunar-enum-types.c:66 ../thunar/thunar-properties-dialog.c:414
+msgid "Permissions"
+msgstr "權限"
+
+#: ../thunar/thunar-enum-types.c:68
+msgid "Type"
+msgstr "é¡žåž‹"
+
+#: ../thunar/thunar-enum-types.c:69
+#, fuzzy
+msgid "File"
+msgstr "所有檔案"
+
+#: ../thunar/thunar-enum-types.c:70
+#, fuzzy
+msgid "File Name"
+msgstr "名稱"
+
 #: ../thunar/thunar-file.c:727
 msgid "The root folder has no parent"
 msgstr "沒有比根目錄更上層的目錄"
@@ -848,47 +947,47 @@ msgstr[1] ""
 msgid "Open With \"%s\""
 msgstr ""
 
-#: ../thunar/thunar-list-model.c:714 ../thunar/thunar-properties-dialog.c:656
+#: ../thunar/thunar-list-model.c:750 ../thunar/thunar-properties-dialog.c:656
 msgid "broken link"
 msgstr ""
 
-#: ../thunar/thunar-list-model.c:1989
+#: ../thunar/thunar-list-model.c:2075
 #, c-format
 msgid "%d item, Free space: %s"
 msgid_plural "%d items, Free space: %s"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../thunar/thunar-list-model.c:1994
+#: ../thunar/thunar-list-model.c:2080
 #, c-format
 msgid "%d item"
 msgid_plural "%d items"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../thunar/thunar-list-model.c:2010
+#: ../thunar/thunar-list-model.c:2096
 #, c-format
 msgid "\"%s\" broken link"
 msgstr ""
 
-#: ../thunar/thunar-list-model.c:2014
+#: ../thunar/thunar-list-model.c:2100
 #, c-format
 msgid "\"%s\" (%s) link to %s"
 msgstr ""
 
-#: ../thunar/thunar-list-model.c:2019
+#: ../thunar/thunar-list-model.c:2105
 #, c-format
 msgid "\"%s\" (%s) %s"
 msgstr ""
 
-#: ../thunar/thunar-list-model.c:2036
+#: ../thunar/thunar-list-model.c:2122
 #, c-format
 msgid "%d item selected (%s)"
 msgid_plural "%d items selected (%s)"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../thunar/thunar-list-model.c:2041
+#: ../thunar/thunar-list-model.c:2127
 #, c-format
 msgid "%d item selected"
 msgid_plural "%d items selected"
@@ -970,10 +1069,6 @@ msgstr ""
 msgid "Owner:"
 msgstr ""
 
-#: ../thunar/thunar-permissions-chooser.c:270
-msgid "Unknown"
-msgstr ""
-
 #: ../thunar/thunar-permissions-chooser.c:284
 #: ../thunar/thunar-permissions-chooser.c:337
 msgid "Access:"
diff --git a/thunar/Makefile.am b/thunar/Makefile.am
index 66a93989bda5abd0f9724640fc883d0916bc77a1..0afbd2670992dc0c36584a2b799500d66f82d7c7 100644
--- a/thunar/Makefile.am
+++ b/thunar/Makefile.am
@@ -38,10 +38,15 @@ Thunar_SOURCES =							\
 	thunar-chooser-model.h						\
 	thunar-clipboard-manager.c					\
 	thunar-clipboard-manager.h					\
+	thunar-column-editor.c						\
+	thunar-column-editor.h						\
+	thunar-column-model.c						\
+	thunar-column-model.h						\
 	thunar-component.c						\
 	thunar-component.h						\
 	thunar-create-dialog.c						\
 	thunar-create-dialog.h						\
+	thunar-details-view-ui.h					\
 	thunar-details-view.c						\
 	thunar-details-view.h						\
 	thunar-dialogs.c						\
@@ -202,6 +207,7 @@ CLEANFILES =								\
 DISTCLEANFILES =							\
 	$(thunar_built_sources)						\
 	stamp-thunar-marshal.h						\
+	thunar-details-view-ui.h					\
 	thunar-icon-view-ui.h						\
 	thunar-launcher-ui.h						\
 	thunar-location-buttons-ui.h					\
@@ -213,6 +219,7 @@ DISTCLEANFILES =							\
 
 BUILT_SOURCES =								\
 	$(thunar_built_sources)						\
+	thunar-details-view-ui.h					\
 	thunar-icon-view-ui.h						\
 	thunar-launcher-ui.h						\
 	thunar-location-buttons-ui.h					\
@@ -233,6 +240,9 @@ thunar-throbber-fallback.c: $(srcdir)/thunar-throbber-fallback.png Makefile
 thunar-thumbnail-frame.c: $(srcdir)/thunar-thumbnail-frame.png Makefile
 	(echo "#include <thunar/thunar-thumbnail-frame.h>" && gdk-pixbuf-csource --extern --raw --stream --name=thunar_thumbnail_frame $(srcdir)/thunar-thumbnail-frame.png) > thunar-thumbnail-frame.c
 
+thunar-details-view-ui.h: Makefile $(srcdir)/thunar-details-view-ui.xml
+	exo-csource --static --name=thunar_details_view_ui $(srcdir)/thunar-details-view-ui.xml > thunar-details-view-ui.h
+
 thunar-icon-view-ui.h: Makefile $(srcdir)/thunar-icon-view-ui.xml
 	exo-csource --static --name=thunar_icon_view_ui $(srcdir)/thunar-icon-view-ui.xml > thunar-icon-view-ui.h
 
@@ -271,6 +281,7 @@ endif
 
 EXTRA_DIST =								\
 	thunar-dbus-service-infos.xml					\
+	thunar-details-view-ui.xml					\
 	thunar-icon-view-ui.xml						\
 	thunar-launcher-ui.xml						\
 	thunar-location-buttons-ui.xml					\
diff --git a/thunar/thunar-column-editor.c b/thunar/thunar-column-editor.c
new file mode 100644
index 0000000000000000000000000000000000000000..53b4cbe0e115d9f80519a85de89740a2e508cca4
--- /dev/null
+++ b/thunar/thunar-column-editor.c
@@ -0,0 +1,603 @@
+/* $Id$ */
+/*-
+ * Copyright (c) 2006 Benedikt Meurer <benny@xfce.org>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * 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
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <thunar/thunar-abstract-dialog.h>
+#include <thunar/thunar-column-editor.h>
+#include <thunar/thunar-pango-extensions.h>
+#include <thunar/thunar-preferences.h>
+
+
+
+static void thunar_column_editor_class_init         (ThunarColumnEditorClass  *klass);
+static void thunar_column_editor_init               (ThunarColumnEditor       *column_editor);
+static void thunar_column_editor_finalize           (GObject                  *object);
+static void thunar_column_editor_move_down          (GtkWidget                *button,
+                                                     ThunarColumnEditor       *column_editor);
+static void thunar_column_editor_move_up            (GtkWidget                *button,
+                                                     ThunarColumnEditor       *column_editor);
+static void thunar_column_editor_toggled            (GtkCellRendererToggle    *cell_renderer,
+                                                     const gchar              *path_string,
+                                                     ThunarColumnEditor       *column_editor);
+static void thunar_column_editor_toggle_visibility  (GtkWidget                *button,
+                                                     ThunarColumnEditor       *column_editor);
+static void thunar_column_editor_update_buttons     (ThunarColumnEditor       *column_editor);
+static void thunar_column_editor_use_defaults       (GtkWidget                *button,
+                                                     ThunarColumnEditor       *column_editor);
+
+
+
+struct _ThunarColumnEditorClass
+{
+  ThunarAbstractDialogClass __parent__;
+};
+
+struct _ThunarColumnEditor
+{
+  ThunarAbstractDialog __parent__;
+
+  ThunarPreferences *preferences;
+
+  ThunarColumnModel *column_model;
+
+  GtkWidget         *tree_view;
+  GtkWidget         *up_button;
+  GtkWidget         *down_button;
+  GtkWidget         *show_button;
+  GtkWidget         *hide_button;
+};
+
+
+
+static GObjectClass *thunar_column_editor_parent_class;
+
+
+
+GType
+thunar_column_editor_get_type (void)
+{
+  static GType type = G_TYPE_INVALID;
+
+  if (G_UNLIKELY (type == G_TYPE_INVALID))
+    {
+      static const GTypeInfo info =
+      {
+        sizeof (ThunarColumnEditorClass),
+        NULL,
+        NULL,
+        (GClassInitFunc) thunar_column_editor_class_init,
+        NULL,
+        NULL,
+        sizeof (ThunarColumnEditor),
+        0,
+        (GInstanceInitFunc) thunar_column_editor_init,
+        NULL,
+      };
+
+      type = g_type_register_static (THUNAR_TYPE_ABSTRACT_DIALOG, I_("ThunarColumnEditor"), &info, 0);
+    }
+
+  return type;
+}
+
+
+
+static void
+thunar_column_editor_class_init (ThunarColumnEditorClass *klass)
+{
+  GObjectClass *gobject_class;
+
+  /* determine the parent type class */
+  thunar_column_editor_parent_class = g_type_class_peek_parent (klass);
+
+  gobject_class = G_OBJECT_CLASS (klass);
+  gobject_class->finalize = thunar_column_editor_finalize;
+}
+
+
+
+static void
+thunar_column_editor_init (ThunarColumnEditor *column_editor)
+{
+  GtkTreeViewColumn *column;
+  GtkTreeSelection  *selection;
+  GtkCellRenderer   *renderer;
+  AtkRelationSet    *relations;
+  AtkRelation       *relation;
+  GtkTreeIter        iter;
+  AtkObject         *object;
+  GtkWidget         *separator;
+  GtkWidget         *button;
+  GtkWidget         *frame;
+  GtkWidget         *image;
+  GtkWidget         *label;
+  GtkWidget         *table;
+  GtkWidget         *vbox;
+  GtkWidget         *swin;
+
+  /* grab a reference on the preferences */
+  column_editor->preferences = thunar_preferences_get ();
+
+  /* grab a reference on the shared column model */
+  column_editor->column_model = thunar_column_model_get_default ();
+  g_signal_connect_data (G_OBJECT (column_editor->column_model), "row-changed", G_CALLBACK (thunar_column_editor_update_buttons),
+                         column_editor, NULL, G_CONNECT_AFTER | G_CONNECT_SWAPPED);
+  g_signal_connect_data (G_OBJECT (column_editor->column_model), "rows-reordered", G_CALLBACK (thunar_column_editor_update_buttons),
+                         column_editor, NULL, G_CONNECT_AFTER | G_CONNECT_SWAPPED);
+
+  /* setup the dialog */
+  gtk_dialog_add_button (GTK_DIALOG (column_editor), GTK_STOCK_HELP, GTK_RESPONSE_HELP);
+  gtk_dialog_add_button (GTK_DIALOG (column_editor), GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE);
+  gtk_dialog_set_default_response (GTK_DIALOG (column_editor), GTK_RESPONSE_CLOSE);
+  gtk_dialog_set_has_separator (GTK_DIALOG (column_editor), FALSE);
+  gtk_window_set_resizable (GTK_WINDOW (column_editor), FALSE);
+  gtk_window_set_title (GTK_WINDOW (column_editor), _("Configure Columns in the Detailed List View"));
+
+  vbox = gtk_vbox_new (FALSE, 6);
+  gtk_container_set_border_width (GTK_CONTAINER (vbox), 6);
+  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (column_editor)->vbox), vbox, TRUE, TRUE, 0);
+  gtk_widget_show (vbox);
+
+  frame = g_object_new (GTK_TYPE_FRAME, "border-width", 0, "shadow-type", GTK_SHADOW_NONE, NULL);
+  gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
+  gtk_widget_show (frame);
+
+  label = gtk_label_new (_("Visible Columns"));
+  gtk_label_set_attributes (GTK_LABEL (label), thunar_pango_attr_list_bold ());
+  gtk_frame_set_label_widget (GTK_FRAME (frame), label);
+  gtk_widget_show (label);
+
+  table = gtk_table_new (8, 2, FALSE);
+  gtk_table_set_row_spacings (GTK_TABLE (table), 6);
+  gtk_table_set_col_spacings (GTK_TABLE (table), 6);
+  gtk_container_set_border_width (GTK_CONTAINER (table), 12);
+  gtk_container_add (GTK_CONTAINER (frame), table);
+  gtk_widget_show (table);
+
+  /* create the top label for the column editor dialog */
+  label = gtk_label_new (_("Chooser the order of information to appear in the\ndetailed list view."));
+  gtk_misc_set_alignment (GTK_MISC (label), 0.0f, 0.5f);
+  gtk_table_attach (GTK_TABLE (table), label, 0, 2, 0, 1, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
+  gtk_widget_show (label);
+
+  /* create the scrolled window for the tree view */
+  swin = gtk_scrolled_window_new (NULL, NULL);
+  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (swin), GTK_SHADOW_IN);
+  gtk_table_attach (GTK_TABLE (table), swin, 0, 1, 1, 7, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
+  gtk_widget_show (swin);
+
+  /* create the tree view */
+  column_editor->tree_view = gtk_tree_view_new ();
+  gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (column_editor->tree_view), FALSE);
+  gtk_tree_view_set_model (GTK_TREE_VIEW (column_editor->tree_view), GTK_TREE_MODEL (column_editor->column_model));
+  gtk_container_add (GTK_CONTAINER (swin), column_editor->tree_view);
+  gtk_widget_show (column_editor->tree_view);
+
+  /* append the toggle column */
+  column = gtk_tree_view_column_new ();
+  renderer = gtk_cell_renderer_toggle_new ();
+  g_signal_connect (G_OBJECT (renderer), "toggled", G_CALLBACK (thunar_column_editor_toggled), column_editor);
+  gtk_tree_view_column_pack_start (column, renderer, FALSE);
+  gtk_tree_view_column_set_attributes (column, renderer,
+                                       "active", THUNAR_COLUMN_MODEL_COLUMN_VISIBLE,
+                                       "activatable", THUNAR_COLUMN_MODEL_COLUMN_MUTABLE,
+                                       NULL);
+  gtk_tree_view_append_column (GTK_TREE_VIEW (column_editor->tree_view), column);
+
+  /* append the name column */
+  column = gtk_tree_view_column_new ();
+  gtk_tree_view_column_set_expand (column, TRUE);
+  renderer = gtk_cell_renderer_text_new ();
+  gtk_tree_view_column_pack_start (column, renderer, TRUE);
+  gtk_tree_view_column_set_attributes (column, renderer,
+                                       "text", THUNAR_COLUMN_MODEL_COLUMN_NAME,
+                                       NULL);
+  gtk_tree_view_append_column (GTK_TREE_VIEW (column_editor->tree_view), column);
+
+  /* create the "Move Up" button */
+  column_editor->up_button = gtk_button_new_with_mnemonic (_("Move _Up"));
+  g_signal_connect (G_OBJECT (column_editor->up_button), "clicked", G_CALLBACK (thunar_column_editor_move_up), column_editor);
+  gtk_table_attach (GTK_TABLE (table), column_editor->up_button, 1, 2, 1, 2, GTK_FILL, 0, 0, 0);
+  gtk_widget_show (column_editor->up_button);
+
+  image = gtk_image_new_from_stock (GTK_STOCK_GO_UP, GTK_ICON_SIZE_BUTTON);
+  gtk_button_set_image (GTK_BUTTON (column_editor->up_button), image);
+  gtk_widget_show (image);
+
+  /* create the "Move Down" button */
+  column_editor->down_button = gtk_button_new_with_mnemonic (_("Move Dow_n"));
+  g_signal_connect (G_OBJECT (column_editor->down_button), "clicked", G_CALLBACK (thunar_column_editor_move_down), column_editor);
+  gtk_table_attach (GTK_TABLE (table), column_editor->down_button, 1, 2, 2, 3, GTK_FILL, 0, 0, 0);
+  gtk_widget_show (column_editor->down_button);
+
+  image = gtk_image_new_from_stock (GTK_STOCK_GO_DOWN, GTK_ICON_SIZE_BUTTON);
+  gtk_button_set_image (GTK_BUTTON (column_editor->down_button), image);
+  gtk_widget_show (image);
+
+  /* create the "Show" button */
+  column_editor->show_button = gtk_button_new_with_mnemonic (_("_Show"));
+  g_signal_connect (G_OBJECT (column_editor->show_button), "clicked", G_CALLBACK (thunar_column_editor_toggle_visibility), column_editor);
+  gtk_table_attach (GTK_TABLE (table), column_editor->show_button, 1, 2, 3, 4, GTK_FILL, 0, 0, 0);
+  gtk_widget_show (column_editor->show_button);
+
+  /* create the "Hide" button */
+  column_editor->hide_button = gtk_button_new_with_mnemonic (_("Hi_de"));
+  g_signal_connect (G_OBJECT (column_editor->hide_button), "clicked", G_CALLBACK (thunar_column_editor_toggle_visibility), column_editor);
+  gtk_table_attach (GTK_TABLE (table), column_editor->hide_button, 1, 2, 4, 5, GTK_FILL, 0, 0, 0);
+  gtk_widget_show (column_editor->hide_button);
+
+  /* create the horiz separator */
+  separator = gtk_hseparator_new ();
+  gtk_table_attach (GTK_TABLE (table), separator, 1, 2, 5, 6, GTK_FILL, 0, 0, 0);
+  gtk_widget_show (separator);
+
+  /* create the "Use Default" button */
+  button = gtk_button_new_with_mnemonic (_("Use De_fault"));
+  g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (thunar_column_editor_use_defaults), column_editor);
+  gtk_table_attach (GTK_TABLE (table), button, 1, 2, 6, 7, GTK_FILL, 0, 0, 0);
+  gtk_widget_show (button);
+
+  frame = g_object_new (GTK_TYPE_FRAME, "border-width", 0, "shadow-type", GTK_SHADOW_NONE, NULL);
+  gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, TRUE, 0);
+  gtk_widget_show (frame);
+
+  label = gtk_label_new (_("Column Sizing"));
+  gtk_label_set_attributes (GTK_LABEL (label), thunar_pango_attr_list_bold ());
+  gtk_frame_set_label_widget (GTK_FRAME (frame), label);
+  gtk_widget_show (label);
+
+  table = gtk_table_new (2, 1, FALSE);
+  gtk_table_set_row_spacings (GTK_TABLE (table), 6);
+  gtk_table_set_col_spacings (GTK_TABLE (table), 6);
+  gtk_container_set_border_width (GTK_CONTAINER (table), 12);
+  gtk_container_add (GTK_CONTAINER (frame), table);
+  gtk_widget_show (table);
+
+  /* create the label that explains the column sizing option */
+  label = gtk_label_new (_("By default columns will be automatically expanded if\n"
+                           "needed to ensure the text is fully visible. If you dis-\n"
+                           "able this behavior below the file manager will always\n"
+                           "use the user defined column widths."));
+  gtk_misc_set_alignment (GTK_MISC (label), 0.0f, 0.5f);
+  gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1, GTK_FILL, GTK_FILL, 0, 0);
+  gtk_widget_show (label);
+
+  /* create the "Automatically expand columns as needed" button */
+  button = gtk_check_button_new_with_mnemonic (_("Automatically _expand columns as needed"));
+  exo_mutual_binding_new_with_negation (G_OBJECT (column_editor->preferences), "last-details-view-fixed-columns", G_OBJECT (button), "active");
+  gtk_table_attach (GTK_TABLE (table), button, 0, 1, 1, 2, GTK_FILL, GTK_FILL, 0, 0);
+  gtk_widget_show (button);
+
+  /* set Atk label relation for the button */
+  object = gtk_widget_get_accessible (button);
+  relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label));
+  relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR);
+  atk_relation_set_add (relations, relation);
+  g_object_unref (G_OBJECT (relation));
+
+  /* setup the tree selection */
+  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (column_editor->tree_view));
+  g_signal_connect_swapped (G_OBJECT (selection), "changed", G_CALLBACK (thunar_column_editor_update_buttons), column_editor);
+
+  /* select the first item */
+  if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (column_editor->column_model), &iter))
+    gtk_tree_selection_select_iter (selection, &iter);
+
+  /* grab focus to the tree view */
+  gtk_widget_grab_focus (column_editor->tree_view);
+}
+
+
+
+static void
+thunar_column_editor_finalize (GObject *object)
+{
+  ThunarColumnEditor *column_editor = THUNAR_COLUMN_EDITOR (object);
+
+  /* release our reference on the shared column model */
+  g_signal_handlers_disconnect_matched (G_OBJECT (column_editor->column_model), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, column_editor);
+  g_object_unref (G_OBJECT (column_editor->column_model));
+
+  /* release our reference on the preferences */
+  g_object_unref (G_OBJECT (column_editor->preferences));
+
+  (*G_OBJECT_CLASS (thunar_column_editor_parent_class)->finalize) (object);
+}
+
+
+
+static void
+thunar_column_editor_move_down (GtkWidget          *button,
+                                ThunarColumnEditor *column_editor)
+{
+  GtkTreeSelection *selection;
+  GtkTreeModel     *model;
+  GtkTreeIter       iter1;
+  GtkTreeIter       iter2;
+
+  g_return_if_fail (THUNAR_IS_COLUMN_EDITOR (column_editor));
+  g_return_if_fail (GTK_IS_BUTTON (button));
+
+  /* determine the selected tree iterator */
+  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (column_editor->tree_view));
+  if (gtk_tree_selection_get_selected (selection, &model, &iter1))
+    {
+      /* copy the iterator */
+      iter2 = iter1;
+
+      /* determine the next iterator and exchange the rows */
+      if (gtk_tree_model_iter_next (model, &iter2))
+        thunar_column_model_exchange (THUNAR_COLUMN_MODEL (model), &iter1, &iter2);
+    }
+}
+
+
+
+static void
+thunar_column_editor_move_up (GtkWidget          *button,
+                              ThunarColumnEditor *column_editor)
+{
+  GtkTreeSelection *selection;
+  GtkTreeModel     *model;
+  GtkTreePath      *path;
+  GtkTreeIter       iter1;
+  GtkTreeIter       iter2;
+
+  g_return_if_fail (THUNAR_IS_COLUMN_EDITOR (column_editor));
+  g_return_if_fail (GTK_IS_BUTTON (button));
+
+  /* determine the selected tree iterator */
+  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (column_editor->tree_view));
+  if (gtk_tree_selection_get_selected (selection, &model, &iter1))
+    {
+      /* determine the path for the iterator */
+      path = gtk_tree_model_get_path (model, &iter1);
+      if (G_LIKELY (path != NULL))
+        {
+          /* advance to the prev path */
+          if (gtk_tree_path_prev (path) && gtk_tree_model_get_iter (model, &iter2, path))
+            {
+              /* exchange the rows */
+              thunar_column_model_exchange (THUNAR_COLUMN_MODEL (model), &iter1, &iter2);
+            }
+
+          /* release the path */
+          gtk_tree_path_free (path);
+        }
+    }
+}
+
+
+
+static void
+thunar_column_editor_toggled (GtkCellRendererToggle *cell_renderer,
+                              const gchar           *path_string,
+                              ThunarColumnEditor    *column_editor)
+{
+  ThunarColumn column;
+  GtkTreePath *path;
+  GtkTreeIter  iter;
+  gboolean     visible;
+
+  g_return_if_fail (GTK_IS_CELL_RENDERER_TOGGLE (cell_renderer));
+  g_return_if_fail (THUNAR_IS_COLUMN_EDITOR (column_editor));
+  g_return_if_fail (path_string != NULL);
+
+  /* determine the tree path for the string */
+  path = gtk_tree_path_new_from_string (path_string);
+  if (gtk_tree_model_get_iter (GTK_TREE_MODEL (column_editor->column_model), &iter, path))
+    {
+      /* determine the column for the iterator... */
+      column = thunar_column_model_get_column_for_iter (column_editor->column_model, &iter);
+
+      /* ...determine the existing visbility setting... */
+      visible = thunar_column_model_get_column_visible (column_editor->column_model, column);
+
+      /* ...and change the visibility of the column */
+      thunar_column_model_set_column_visible (column_editor->column_model, column, !visible);
+    }
+  gtk_tree_path_free (path);
+}
+
+
+
+static void
+thunar_column_editor_toggle_visibility (GtkWidget          *button,
+                                        ThunarColumnEditor *column_editor)
+{
+  GtkTreeSelection *selection;
+  ThunarColumn      column;
+  GtkTreeIter       iter;
+  gboolean          visible;
+
+  g_return_if_fail (THUNAR_IS_COLUMN_EDITOR (column_editor));
+  g_return_if_fail (GTK_IS_BUTTON (button));
+
+  /* determine the selected tree iterator */
+  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (column_editor->tree_view));
+  if (gtk_tree_selection_get_selected (selection, NULL, &iter))
+    {
+      /* determine the column for the iterator... */
+      column = thunar_column_model_get_column_for_iter (column_editor->column_model, &iter);
+
+      /* ...determine the existing visbility setting... */
+      visible = thunar_column_model_get_column_visible (column_editor->column_model, column);
+
+      /* ...and change the visibility of the column */
+      thunar_column_model_set_column_visible (column_editor->column_model, column, !visible);
+    }
+}
+
+
+
+static void
+thunar_column_editor_update_buttons (ThunarColumnEditor *column_editor)
+{
+  GtkTreeSelection *selection;
+  GtkTreeModel     *model;
+  GtkTreePath      *path;
+  GtkTreeIter       iter;
+  gboolean          mutable;
+  gboolean          visible;
+  gint              index;
+
+  /* determine the selected row */
+  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (column_editor->tree_view));
+  if (gtk_tree_selection_get_selected (selection, &model, &iter))
+    {
+      /* determine the tree path for the iter */
+      path = gtk_tree_model_get_path (model, &iter);
+      if (G_UNLIKELY (path == NULL))
+        return;
+
+      /* update the "Move Up"/"Move Down" buttons */
+      index = gtk_tree_path_get_indices (path)[0];
+      gtk_widget_set_sensitive (column_editor->up_button, (index > 0));
+      gtk_widget_set_sensitive (column_editor->down_button, (index + 1 < gtk_tree_model_iter_n_children (model, NULL)));
+
+      /* update the "Show"/"Hide" buttons */
+      gtk_tree_model_get (model, &iter, THUNAR_COLUMN_MODEL_COLUMN_MUTABLE, &mutable, THUNAR_COLUMN_MODEL_COLUMN_VISIBLE, &visible, -1);
+      gtk_widget_set_sensitive (column_editor->show_button, mutable && !visible);
+      gtk_widget_set_sensitive (column_editor->hide_button, mutable && visible);
+
+      /* release the path */
+      gtk_tree_path_free (path);
+    }
+  else
+    {
+      /* just disable all buttons */
+      gtk_widget_set_sensitive (column_editor->hide_button, FALSE);
+      gtk_widget_set_sensitive (column_editor->show_button, FALSE);
+      gtk_widget_set_sensitive (column_editor->down_button, FALSE);
+      gtk_widget_set_sensitive (column_editor->up_button, FALSE);
+    }
+}
+
+
+
+static void
+thunar_column_editor_use_defaults (GtkWidget          *button,
+                                   ThunarColumnEditor *column_editor)
+{
+  static const gchar *PROPERTY_NAMES[] =
+  {
+    "last-details-view-column-order",
+    "last-details-view-visible-columns",
+  };
+
+  GtkTreeSelection *selection;
+  GParamSpec       *pspec;
+  GValue            value = { 0, };
+  gint              n;
+
+  /* reset the given properties to its default values */
+  for (n = 0; n < G_N_ELEMENTS (PROPERTY_NAMES); ++n)
+    {
+      pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (column_editor->preferences), PROPERTY_NAMES[n]);
+      g_value_init (&value, pspec->value_type);
+      g_param_value_set_default (pspec, &value);
+      g_object_set_property (G_OBJECT (column_editor->preferences), PROPERTY_NAMES[n], &value);
+      g_value_unset (&value);
+    }
+
+  /* reset the tree view selection */
+  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (column_editor->tree_view));
+  gtk_tree_selection_unselect_all (selection);
+}
+
+
+
+/**
+ * thunar_column_editor_new:
+ *
+ * Allocates a new #ThunarColumnEditor instance.
+ *
+ * Return value: the newly allocated #ThunarColumnEditor.
+ **/
+GtkWidget*
+thunar_column_editor_new (void)
+{
+  return g_object_new (THUNAR_TYPE_COLUMN_EDITOR, NULL);
+}
+
+
+
+/**
+ * thunar_show_column_editor:
+ * @parent : the #GtkWidget the #GdkScreen on which to open the
+ *           column editor dialog. May also be %NULL in which case
+ *           the default #GdkScreen will be used.
+ *
+ * Convenience function to display a #ThunarColumnEditor.
+ *
+ * If @parent is a #GtkWidget the editor dialog will be opened as
+ * modal dialog above the @parent. Else if @parent is a screen (if
+ * @parent is %NULL the default screen is used), the dialog won't
+ * be modal and it will simply popup on the specified screen.
+ **/
+void
+thunar_show_column_editor (gpointer parent)
+{
+  GtkWidget *window = NULL;
+  GtkWidget *dialog;
+  GdkScreen *screen;
+
+  g_return_if_fail (parent == NULL || GDK_IS_SCREEN (parent) || GTK_IS_WIDGET (parent));
+
+  /* determine the screen for the dialog */
+  if (G_UNLIKELY (parent == NULL))
+    {
+      /* just use the default screen, no toplevel window */
+      screen = gdk_screen_get_default ();
+    }
+  else if (GTK_IS_WIDGET (parent))
+    {
+      /* use the screen for the widget and the toplevel window */
+      screen = gtk_widget_get_screen (parent);
+      window = gtk_widget_get_toplevel (parent);
+    }
+  else
+    {
+      /* parent is a screen, no toplevel window */
+      screen = GDK_SCREEN (parent);
+    }
+
+  /* display the column editor */
+  dialog = thunar_column_editor_new ();
+
+  /* check if we have a toplevel window */
+  if (G_LIKELY (window != NULL && GTK_WIDGET_TOPLEVEL (window)))
+    {
+      /* dialog is transient for toplevel window and modal */
+      gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE);
+      gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
+      gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (window));
+    }
+
+  /* run the dialog */
+  gtk_dialog_run (GTK_DIALOG (dialog));
+
+  /* destroy the dialog */
+  gtk_widget_destroy (dialog);
+}
+
diff --git a/thunar/thunar-column-editor.h b/thunar/thunar-column-editor.h
new file mode 100644
index 0000000000000000000000000000000000000000..b630a13f4fb446b6dc6545725ecbe93fa0bdc654
--- /dev/null
+++ b/thunar/thunar-column-editor.h
@@ -0,0 +1,45 @@
+/* $Id$ */
+/*-
+ * Copyright (c) 2006 Benedikt Meurer <benny@xfce.org>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * 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
+ */
+
+#ifndef __THUNAR_COLUMN_EDITOR_H__
+#define __THUNAR_COLUMN_EDITOR_H__
+
+#include <thunar/thunar-column-model.h>
+
+G_BEGIN_DECLS;
+
+typedef struct _ThunarColumnEditorClass ThunarColumnEditorClass;
+typedef struct _ThunarColumnEditor      ThunarColumnEditor;
+
+#define THUNAR_TYPE_COLUMN_EDITOR             (thunar_column_editor_get_type ())
+#define THUNAR_COLUMN_EDITOR(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), THUNAR_TYPE_COLUMN_EDITOR, ThunarColumnEditor))
+#define THUNAR_COLUMN_EDITOR_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), THUNAR_TYPE_COLUMN_EDITOR, ThunarColumnEditorClass))
+#define THUNAR_IS_COLUMN_EDITOR(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), THUNAR_TYPE_COLUMN_EDITOR))
+#define THUNAR_IS_COLUMN_EDITOR_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), THUNAR_TYPE_COLUMN_EDITOR))
+#define THUNAR_COLUMN_EDITOR_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), THUNAR_TYPE_COLUMN_EDITOR, ThunarColumnEditorClass))
+
+GType      thunar_column_editor_get_type (void) G_GNUC_CONST;
+
+GtkWidget *thunar_column_editor_new      (void) G_GNUC_MALLOC;
+
+void       thunar_show_column_editor     (gpointer parent);
+
+G_END_DECLS;
+
+#endif /* !__THUNAR_COLUMN_EDITOR_H__ */
diff --git a/thunar/thunar-column-model.c b/thunar/thunar-column-model.c
new file mode 100644
index 0000000000000000000000000000000000000000..4ea5bd5667bcdca668419e2610c9d5632d09f9da
--- /dev/null
+++ b/thunar/thunar-column-model.c
@@ -0,0 +1,1047 @@
+/* $Id$ */
+/*-
+ * Copyright (c) 2006 Benedikt Meurer <benny@xfce.org>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * 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
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+
+#include <thunar/thunar-column-model.h>
+#include <thunar/thunar-preferences.h>
+
+
+
+/* Signal identifiers */
+enum
+{
+  COLUMNS_CHANGED,
+  LAST_SIGNAL,
+};
+
+
+
+static void               thunar_column_model_class_init              (ThunarColumnModelClass *klass);
+static void               thunar_column_model_tree_model_init         (GtkTreeModelIface      *iface);
+static void               thunar_column_model_init                    (ThunarColumnModel      *column_model);
+static void               thunar_column_model_finalize                (GObject                *object);
+static GtkTreeModelFlags  thunar_column_model_get_flags               (GtkTreeModel           *tree_model);
+static gint               thunar_column_model_get_n_columns           (GtkTreeModel           *tree_model);
+static GType              thunar_column_model_get_column_type         (GtkTreeModel           *tree_model,  
+                                                                       gint                    index);
+static gboolean           thunar_column_model_get_iter                (GtkTreeModel           *tree_model,
+                                                                       GtkTreeIter            *iter,
+                                                                       GtkTreePath            *path);
+static GtkTreePath       *thunar_column_model_get_path                (GtkTreeModel           *tree_model,
+                                                                       GtkTreeIter            *iter);
+static void               thunar_column_model_get_value               (GtkTreeModel           *tree_model,
+                                                                       GtkTreeIter            *iter,
+                                                                       gint                    index,
+                                                                       GValue                 *value);
+static gboolean           thunar_column_model_iter_next               (GtkTreeModel           *tree_model,
+                                                                       GtkTreeIter            *iter);
+static gboolean           thunar_column_model_iter_children           (GtkTreeModel           *tree_model,
+                                                                       GtkTreeIter            *iter,
+                                                                       GtkTreeIter            *parent);
+static gboolean           thunar_column_model_iter_has_child          (GtkTreeModel           *tree_model,
+                                                                       GtkTreeIter            *iter);
+static gint               thunar_column_model_iter_n_children         (GtkTreeModel           *tree_model,
+                                                                       GtkTreeIter            *iter);
+static gboolean           thunar_column_model_iter_nth_child          (GtkTreeModel           *tree_model,
+                                                                       GtkTreeIter            *iter,
+                                                                       GtkTreeIter            *parent,
+                                                                       gint                    n);
+static gboolean           thunar_column_model_iter_parent             (GtkTreeModel           *tree_model,
+                                                                       GtkTreeIter            *iter,
+                                                                       GtkTreeIter            *child);
+static void               thunar_column_model_load_column_order       (ThunarColumnModel      *column_model);
+static void               thunar_column_model_save_column_order       (ThunarColumnModel      *column_model);
+static void               thunar_column_model_notify_column_order     (ThunarPreferences      *preferences,
+                                                                       GParamSpec             *pspec,
+                                                                       ThunarColumnModel      *column_model);
+static void               thunar_column_model_load_column_widths      (ThunarColumnModel      *column_model);
+static void               thunar_column_model_save_column_widths      (ThunarColumnModel      *column_model);
+static void               thunar_column_model_notify_column_widths    (ThunarPreferences      *preferences,
+                                                                       GParamSpec             *pspec,
+                                                                       ThunarColumnModel      *column_model);
+static void               thunar_column_model_load_visible_columns    (ThunarColumnModel      *column_model);
+static void               thunar_column_model_save_visible_columns    (ThunarColumnModel      *column_model);
+static void               thunar_column_model_notify_visible_columns  (ThunarPreferences      *preferences,
+                                                                       GParamSpec             *pspec,
+                                                                       ThunarColumnModel      *column_model);
+
+
+
+struct _ThunarColumnModelClass
+{
+  GObjectClass __parent__;
+
+  /* signals */
+  void (*columns_changed) (ThunarColumnModel *column_model);
+};
+
+struct _ThunarColumnModel
+{
+  GObject __parent__;
+
+  ThunarPreferences *preferences;
+  ThunarColumn       order[THUNAR_N_VISIBLE_COLUMNS];
+  gboolean           visible[THUNAR_N_VISIBLE_COLUMNS];
+  gint               width[THUNAR_N_VISIBLE_COLUMNS];
+  guint              stamp;
+};
+
+
+
+static GObjectClass *thunar_column_model_parent_class;
+static guint         column_model_signals[LAST_SIGNAL];
+
+
+
+GType
+thunar_column_model_get_type (void)
+{
+  static GType type = G_TYPE_INVALID;
+
+  if (G_UNLIKELY (type == G_TYPE_INVALID))
+    {
+      static const GTypeInfo info =
+      {
+        sizeof (ThunarColumnModelClass),
+        NULL,
+        NULL,
+        (GClassInitFunc) thunar_column_model_class_init,
+        NULL,
+        NULL,
+        sizeof (ThunarColumnModel),
+        0,
+        (GInstanceInitFunc) thunar_column_model_init,
+        NULL,
+      };
+
+      static const GInterfaceInfo tree_model_info =
+      {
+        (GInterfaceInitFunc) thunar_column_model_tree_model_init,
+        NULL,
+        NULL,
+      };
+
+      type = g_type_register_static (G_TYPE_OBJECT, I_("ThunarColumnModel"), &info, 0);
+      g_type_add_interface_static (type, GTK_TYPE_TREE_MODEL, &tree_model_info);
+    }
+
+  return type;
+}
+
+
+
+static void
+thunar_column_model_class_init (ThunarColumnModelClass *klass)
+{
+  GObjectClass *gobject_class;
+
+  /* determine the parent type class */
+  thunar_column_model_parent_class = g_type_class_peek_parent (klass);
+
+  gobject_class = G_OBJECT_CLASS (klass);
+  gobject_class->finalize = thunar_column_model_finalize;
+
+  /**
+   * ThunarColumnModel::columns-changed:
+   * @column_model : a #ThunarColumnModel.
+   *
+   * Emitted by @column_model whenever the
+   * order of the columns or the visibility
+   * of a column in @column_model is changed.
+   **/
+  column_model_signals[COLUMNS_CHANGED] =
+    g_signal_new (I_("columns-changed"),
+                  G_TYPE_FROM_CLASS (klass),
+                  G_SIGNAL_RUN_LAST,
+                  G_STRUCT_OFFSET (ThunarColumnModelClass, columns_changed),
+                  NULL, NULL,
+                  g_cclosure_marshal_VOID__VOID,
+                  G_TYPE_NONE, 0);
+}
+
+
+
+static void
+thunar_column_model_tree_model_init (GtkTreeModelIface *iface)
+{
+  iface->get_flags = thunar_column_model_get_flags;
+  iface->get_n_columns = thunar_column_model_get_n_columns;
+  iface->get_column_type = thunar_column_model_get_column_type;
+  iface->get_iter = thunar_column_model_get_iter;
+  iface->get_path = thunar_column_model_get_path;
+  iface->get_value = thunar_column_model_get_value;
+  iface->iter_next = thunar_column_model_iter_next;
+  iface->iter_children = thunar_column_model_iter_children;
+  iface->iter_has_child = thunar_column_model_iter_has_child;
+  iface->iter_n_children = thunar_column_model_iter_n_children;
+  iface->iter_nth_child = thunar_column_model_iter_nth_child;
+  iface->iter_parent = thunar_column_model_iter_parent;
+}
+
+
+
+static void
+thunar_column_model_init (ThunarColumnModel *column_model)
+{
+  /* grab a reference on the preferences */
+  column_model->preferences = thunar_preferences_get ();
+  g_signal_connect (G_OBJECT (column_model->preferences), "notify::last-details-view-column-order",
+                    G_CALLBACK (thunar_column_model_notify_column_order), column_model);
+  g_signal_connect (G_OBJECT (column_model->preferences), "notify::last-details-view-column-widths",
+                    G_CALLBACK (thunar_column_model_notify_column_widths), column_model);
+  g_signal_connect (G_OBJECT (column_model->preferences), "notify::last-details-view-visible-columns",
+                    G_CALLBACK (thunar_column_model_notify_visible_columns), column_model);
+
+  /* generate a random stamp */
+  column_model->stamp = g_random_int ();
+
+  /* load the column order */
+  thunar_column_model_load_column_order (column_model);
+
+  /* load the column widths */
+  thunar_column_model_load_column_widths (column_model);
+
+  /* load the list of visible columns */
+  thunar_column_model_load_visible_columns (column_model);
+}
+
+
+
+static void
+thunar_column_model_finalize (GObject *object)
+{
+  ThunarColumnModel *column_model = THUNAR_COLUMN_MODEL (object);
+
+  /* disconnect from the global preferences */
+  g_signal_handlers_disconnect_matched (G_OBJECT (column_model->preferences), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, column_model);
+  g_object_unref (G_OBJECT (column_model->preferences));
+
+  (*G_OBJECT_CLASS (thunar_column_model_parent_class)->finalize) (object);
+}
+
+
+
+static GtkTreeModelFlags
+thunar_column_model_get_flags (GtkTreeModel *tree_model)
+{
+  return GTK_TREE_MODEL_LIST_ONLY;
+}
+
+
+
+static gint
+thunar_column_model_get_n_columns (GtkTreeModel *tree_model)
+{
+  return THUNAR_COLUMN_MODEL_N_COLUMNS;
+}
+
+
+
+static GType
+thunar_column_model_get_column_type (GtkTreeModel *tree_model,  
+                                     gint          index)
+{
+  switch (index)
+    {
+    case THUNAR_COLUMN_MODEL_COLUMN_NAME:
+      return G_TYPE_STRING;
+
+    case THUNAR_COLUMN_MODEL_COLUMN_MUTABLE:
+      return G_TYPE_BOOLEAN;
+
+    case THUNAR_COLUMN_MODEL_COLUMN_VISIBLE:
+      return G_TYPE_BOOLEAN;
+    }
+
+  g_assert_not_reached ();
+  return G_TYPE_INVALID;
+}
+
+
+
+static gboolean
+thunar_column_model_get_iter (GtkTreeModel *tree_model,
+                              GtkTreeIter  *iter,
+                              GtkTreePath  *path)
+{
+  ThunarColumnModel *column_model = THUNAR_COLUMN_MODEL (tree_model);
+  ThunarColumn       column;
+
+  g_return_val_if_fail (THUNAR_IS_COLUMN_MODEL (column_model), FALSE);
+  g_return_val_if_fail (gtk_tree_path_get_depth (path) > 0, FALSE);
+
+  /* check if the path is valid */
+  column = gtk_tree_path_get_indices (path)[0];
+  if (G_UNLIKELY (column >= THUNAR_N_VISIBLE_COLUMNS))
+    return FALSE;
+
+  /* generate an iterator */
+  iter->stamp = column_model->stamp;
+  iter->user_data = GINT_TO_POINTER (column);
+
+  return TRUE;
+}
+
+
+
+static GtkTreePath*
+thunar_column_model_get_path (GtkTreeModel *tree_model,
+                              GtkTreeIter  *iter)
+{
+  ThunarColumnModel *column_model = THUNAR_COLUMN_MODEL (tree_model);
+
+  g_return_val_if_fail (THUNAR_IS_COLUMN_MODEL (column_model), NULL);
+  g_return_val_if_fail (iter->stamp == column_model->stamp, NULL);
+
+  /* generate the path for the iterator */
+  return gtk_tree_path_new_from_indices (GPOINTER_TO_INT (iter->user_data), -1);
+}
+
+
+
+static void
+thunar_column_model_get_value (GtkTreeModel *tree_model,
+                               GtkTreeIter  *iter,
+                               gint          index,
+                               GValue       *value)
+{
+  ThunarColumnModel *column_model = THUNAR_COLUMN_MODEL (tree_model);
+  ThunarColumn       column;
+
+  g_return_if_fail (THUNAR_IS_COLUMN_MODEL (column_model));
+  g_return_if_fail (index < THUNAR_COLUMN_MODEL_N_COLUMNS);
+  g_return_if_fail (iter->stamp == column_model->stamp);
+
+  /* determine the column from the iterator */
+  column = GPOINTER_TO_INT (iter->user_data);
+
+  /* resolve the column according to the order */
+  column = column_model->order[column];
+
+  switch (index)
+    {
+    case THUNAR_COLUMN_MODEL_COLUMN_NAME:
+      g_value_init (value, G_TYPE_STRING);
+      g_value_set_static_string (value, thunar_column_model_get_column_name (column_model, column));
+      break;
+
+    case THUNAR_COLUMN_MODEL_COLUMN_MUTABLE:
+      g_value_init (value, G_TYPE_BOOLEAN);
+      g_value_set_boolean (value, (column != THUNAR_COLUMN_NAME));
+      break;
+
+    case THUNAR_COLUMN_MODEL_COLUMN_VISIBLE:
+      g_value_init (value, G_TYPE_BOOLEAN);
+      g_value_set_boolean (value, thunar_column_model_get_column_visible (column_model, column));
+      break;
+
+    default:
+      g_assert_not_reached ();
+      break;
+    }
+}
+
+
+
+static gboolean
+thunar_column_model_iter_next (GtkTreeModel *tree_model,
+                               GtkTreeIter  *iter)
+{
+  ThunarColumnModel *column_model = THUNAR_COLUMN_MODEL (tree_model);
+  ThunarColumn       column;
+
+  g_return_val_if_fail (THUNAR_IS_COLUMN_MODEL (column_model), FALSE);
+  g_return_val_if_fail (iter->stamp == column_model->stamp, FALSE);
+
+  /* move the iterator to the next column */
+  column = GPOINTER_TO_INT (iter->user_data) + 1;
+  iter->user_data = GINT_TO_POINTER (column);
+
+  /* check if the iterator is still valid */
+  return (column < THUNAR_N_VISIBLE_COLUMNS);
+}
+
+
+
+static gboolean
+thunar_column_model_iter_children (GtkTreeModel *tree_model,
+                                   GtkTreeIter  *iter,
+                                   GtkTreeIter  *parent)
+{
+  ThunarColumnModel *column_model = THUNAR_COLUMN_MODEL (tree_model);
+
+  g_return_val_if_fail (THUNAR_IS_COLUMN_MODEL (column_model), FALSE);
+
+  if (G_LIKELY (parent == NULL))
+    {
+      iter->stamp = column_model->stamp;
+      iter->user_data = GINT_TO_POINTER (0);
+    }
+
+  return FALSE;
+}
+
+
+
+static gboolean
+thunar_column_model_iter_has_child (GtkTreeModel *tree_model,
+                                    GtkTreeIter  *iter)
+{
+  return FALSE;
+}
+
+
+
+static gint
+thunar_column_model_iter_n_children (GtkTreeModel *tree_model,
+                                     GtkTreeIter  *iter)
+{
+  ThunarColumnModel *column_model = THUNAR_COLUMN_MODEL (tree_model);
+
+  g_return_val_if_fail (THUNAR_IS_COLUMN_MODEL (column_model), 0);
+
+  return (iter == NULL) ? THUNAR_N_VISIBLE_COLUMNS : 0;
+}
+
+
+
+static gboolean
+thunar_column_model_iter_nth_child (GtkTreeModel *tree_model,
+                                    GtkTreeIter  *iter,
+                                    GtkTreeIter  *parent,
+                                    gint          n)
+{
+  ThunarColumnModel *column_model = THUNAR_COLUMN_MODEL (tree_model);
+
+  g_return_val_if_fail (THUNAR_IS_COLUMN_MODEL (column_model), FALSE);
+
+  if (G_LIKELY (parent == NULL && n < THUNAR_N_VISIBLE_COLUMNS))
+    {
+      iter->stamp = column_model->stamp;
+      iter->user_data = GINT_TO_POINTER (n);
+      return TRUE;
+    }
+
+  return FALSE;
+}
+
+
+
+static gboolean
+thunar_column_model_iter_parent (GtkTreeModel *tree_model,
+                                 GtkTreeIter  *iter,
+                                 GtkTreeIter  *child)
+{
+  return FALSE;
+}
+
+
+
+static void
+thunar_column_model_load_column_order (ThunarColumnModel *column_model)
+{
+  ThunarColumn column;
+  GEnumClass  *klass;
+  GEnumValue  *value;
+  gchar      **column_order;
+  gchar       *tmp;
+  gint         i, j;
+
+  /* determine the column order from the preferences */
+  g_object_get (G_OBJECT (column_model->preferences), "last-details-view-column-order", &tmp, NULL);
+  column_order = g_strsplit (tmp, ",", -1);
+  g_free (tmp);
+
+  /* reset the column order to its default */
+  for (j = 0; j < THUNAR_N_VISIBLE_COLUMNS; ++j)
+    column_model->order[j] = j;
+
+  /* now rearrange the columns according to the preferences */
+  klass = g_type_class_ref (THUNAR_TYPE_COLUMN);
+  for (i = 0; column_order[i] != NULL; ++i)
+    {
+      /* determine the enum value for the name */
+      value = g_enum_get_value_by_name (klass, column_order[i]);
+      if (G_UNLIKELY (value == NULL || value->value == i))
+        continue;
+
+      /* find the current position of the value */
+      for (j = 0; j < THUNAR_N_VISIBLE_COLUMNS; ++j)
+        if (column_model->order[j] == value->value)
+          break;
+
+      /* check if valid */
+      if (G_LIKELY (j < THUNAR_N_VISIBLE_COLUMNS))
+        {
+          /* exchange the positions of i and j */
+          column = column_model->order[i];
+          column_model->order[i] = column_model->order[j];
+          column_model->order[j] = column;
+        }
+    }
+  g_type_class_unref (klass);
+
+  /* release the column order */
+  g_strfreev (column_order);
+}
+
+
+
+static void
+thunar_column_model_save_column_order (ThunarColumnModel *column_model)
+{
+  GEnumClass *klass;
+  GEnumValue *value;
+  GString    *column_order;
+  gint        n;
+
+  /* allocate a string for the column order */
+  column_order = g_string_sized_new (256);
+
+  /* transform the internal visible column list */
+  klass = g_type_class_ref (THUNAR_TYPE_COLUMN);
+  for (n = 0; n < THUNAR_N_VISIBLE_COLUMNS; ++n)
+    {
+      /* append a comma if not empty */
+      if (*column_order->str != '\0')
+        g_string_append_c (column_order, ',');
+
+      /* append the enum value name */
+      value = g_enum_get_value (klass, column_model->order[n]);
+      g_string_append (column_order, value->value_name);
+    }
+  g_type_class_unref (klass);
+
+  /* save the list of visible columns */
+  g_signal_handlers_block_by_func (G_OBJECT (column_model->preferences), thunar_column_model_notify_column_order, column_model);
+  g_object_set (G_OBJECT (column_model->preferences), "last-details-view-column-order", column_order->str, NULL);
+  g_signal_handlers_unblock_by_func (G_OBJECT (column_model->preferences), thunar_column_model_notify_column_order, column_model);
+
+  /* release the string */
+  g_string_free (column_order, TRUE);
+}
+
+
+
+static void
+thunar_column_model_notify_column_order (ThunarPreferences *preferences,
+                                         GParamSpec        *pspec,
+                                         ThunarColumnModel *column_model)
+{
+  GtkTreePath *path;
+  GtkTreeIter  iter;
+  gint         n;
+
+  g_return_if_fail (THUNAR_IS_COLUMN_MODEL (column_model));
+  g_return_if_fail (THUNAR_IS_PREFERENCES (preferences));
+
+  /* load the new column order */
+  thunar_column_model_load_column_order (column_model);
+
+  /* emit "row-changed" for all rows */
+  for (n = 0; n < THUNAR_N_VISIBLE_COLUMNS; ++n)
+    {
+      path = gtk_tree_path_new_from_indices (n, -1);
+      if (gtk_tree_model_get_iter (GTK_TREE_MODEL (column_model), &iter, path))
+        gtk_tree_model_row_changed (GTK_TREE_MODEL (column_model), path, &iter);
+      gtk_tree_path_free (path);
+    }
+
+  /* emit "columns-changed" */
+  g_signal_emit (G_OBJECT (column_model), column_model_signals[COLUMNS_CHANGED], 0);
+}
+
+
+
+static void
+thunar_column_model_load_column_widths (ThunarColumnModel *column_model)
+{
+  gchar **column_widths;
+  gchar  *tmp;
+  gint    width;
+  gint    n;
+
+  /* determine the column widths from the preferences */
+  g_object_get (G_OBJECT (column_model->preferences), "last-details-view-column-widths", &tmp, NULL);
+  column_widths = g_strsplit (tmp, ",", -1);
+  g_free (tmp);
+
+  /* reset the column widths for the model */
+  for (n = 0; n < THUNAR_N_VISIBLE_COLUMNS; ++n)
+    column_model->width[n] = 50;
+  column_model->width[THUNAR_COLUMN_NAME] = 200;
+
+  /* parse the widths from the preferences */
+  for (n = 0; column_widths[n] != NULL; ++n)
+    {
+      width = strtol (column_widths[n], NULL, 10);
+      if (G_LIKELY (width >= 0))
+        column_model->width[n] = width;
+    }
+
+  /* release the column width array */
+  g_strfreev (column_widths);
+}
+
+
+
+static void
+thunar_column_model_save_column_widths (ThunarColumnModel *column_model)
+{
+  GString *column_widths;
+  gint     n;
+
+  /* allocate a string for the column widths */
+  column_widths = g_string_sized_new (96);
+
+  /* transform the column widths to a string */
+  for (n = 0; n < THUNAR_N_VISIBLE_COLUMNS; ++n)
+    {
+      /* append a comma if not empty */
+      if (*column_widths->str != '\0')
+        g_string_append_c (column_widths, ',');
+
+      /* append the width */
+      g_string_append_printf (column_widths, "%d", column_model->width[n]);
+    }
+
+  /* save the column widths */
+  g_signal_handlers_block_by_func (G_OBJECT (column_model->preferences), thunar_column_model_notify_column_widths, column_model);
+  g_object_set (G_OBJECT (column_model->preferences), "last-details-view-column-widths", column_widths->str, NULL);
+  g_signal_handlers_unblock_by_func (G_OBJECT (column_model->preferences), thunar_column_model_notify_column_widths, column_model);
+
+  /* release the string */
+  g_string_free (column_widths, TRUE);
+}
+
+
+
+static void
+thunar_column_model_notify_column_widths (ThunarPreferences *preferences,
+                                          GParamSpec        *pspec,
+                                          ThunarColumnModel *column_model)
+{
+  g_return_if_fail (THUNAR_IS_COLUMN_MODEL (column_model));
+  g_return_if_fail (THUNAR_IS_PREFERENCES (preferences));
+
+  /* load the new column widths */
+  thunar_column_model_load_column_widths (column_model);
+}
+
+
+
+static void
+thunar_column_model_load_visible_columns (ThunarColumnModel *column_model)
+{
+  GEnumClass *klass;
+  GEnumValue *value;
+  gchar     **visible_columns;
+  gchar      *tmp;
+  gint        n;
+
+  /* determine the list of visible columns from the preferences */
+  g_object_get (G_OBJECT (column_model->preferences), "last-details-view-visible-columns", &tmp, NULL);
+  visible_columns = g_strsplit (tmp, ",", -1);
+  g_free (tmp);
+
+  /* reset the visible columns for the model */
+  for (n = 0; n < THUNAR_N_VISIBLE_COLUMNS; ++n)
+    column_model->visible[n] = FALSE;
+
+  /* mark all columns included in the list as visible */
+  klass = g_type_class_ref (THUNAR_TYPE_COLUMN);
+  for (n = 0; visible_columns[n] != NULL; ++n)
+    {
+      /* determine the enum value from the string */
+      value = g_enum_get_value_by_name (klass, visible_columns[n]);
+      if (G_LIKELY (value != NULL && value->value < THUNAR_N_VISIBLE_COLUMNS))
+        column_model->visible[value->value] = TRUE;
+    }
+  g_type_class_unref (klass);
+
+  /* the name column is always visible */
+  column_model->visible[THUNAR_COLUMN_NAME] = TRUE;
+
+  /* release the list of visible columns */
+  g_strfreev (visible_columns);
+}
+
+
+
+static void
+thunar_column_model_save_visible_columns (ThunarColumnModel *column_model)
+{
+  GEnumClass *klass;
+  GString    *visible_columns;
+  gint        n;
+
+  /* allocate a string for the visible columns list */
+  visible_columns = g_string_sized_new (128);
+
+  /* transform the internal visible column list */
+  klass = g_type_class_ref (THUNAR_TYPE_COLUMN);
+  for (n = 0; n < THUNAR_N_VISIBLE_COLUMNS; ++n)
+    if (column_model->visible[klass->values[n].value])
+      {
+        /* append a comma if not empty */
+        if (*visible_columns->str != '\0')
+          g_string_append_c (visible_columns, ',');
+
+        /* append the enum value name */
+        g_string_append (visible_columns, klass->values[n].value_name);
+      }
+  g_type_class_unref (klass);
+
+  /* save the list of visible columns */
+  g_signal_handlers_block_by_func (G_OBJECT (column_model->preferences), thunar_column_model_notify_visible_columns, column_model);
+  g_object_set (G_OBJECT (column_model->preferences), "last-details-view-visible-columns", visible_columns->str, NULL);
+  g_signal_handlers_unblock_by_func (G_OBJECT (column_model->preferences), thunar_column_model_notify_visible_columns, column_model);
+
+  /* release the string */
+  g_string_free (visible_columns, TRUE);
+}
+
+
+
+static void
+thunar_column_model_notify_visible_columns (ThunarPreferences *preferences,
+                                            GParamSpec        *pspec,
+                                            ThunarColumnModel *column_model)
+{
+  GtkTreePath *path;
+  GtkTreeIter  iter;
+  gint         n;
+
+  g_return_if_fail (THUNAR_IS_COLUMN_MODEL (column_model));
+  g_return_if_fail (THUNAR_IS_PREFERENCES (preferences));
+
+  /* load the new list of visible columns */
+  thunar_column_model_load_visible_columns (column_model);
+
+  /* emit "row-changed" for all rows */
+  for (n = 0; n < THUNAR_N_VISIBLE_COLUMNS; ++n)
+    {
+      path = gtk_tree_path_new_from_indices (n, -1);
+      if (gtk_tree_model_get_iter (GTK_TREE_MODEL (column_model), &iter, path))
+        gtk_tree_model_row_changed (GTK_TREE_MODEL (column_model), path, &iter);
+      gtk_tree_path_free (path);
+    }
+
+  /* emit "columns-changed" */
+  g_signal_emit (G_OBJECT (column_model), column_model_signals[COLUMNS_CHANGED], 0);
+}
+
+
+
+/**
+ * thunar_column_model_get_default:
+ *
+ * Returns the default, shared #ThunarColumnModel
+ * instance.
+ *
+ * The caller is responsible to free the returned
+ * object using g_object_unref() when no longer
+ * needed.
+ *
+ * Return value: the default #ThunarColumnModel.
+ **/
+ThunarColumnModel*
+thunar_column_model_get_default (void)
+{
+  static ThunarColumnModel *column_model = NULL;
+
+  if (G_UNLIKELY (column_model == NULL))
+    {
+      column_model = g_object_new (THUNAR_TYPE_COLUMN_MODEL, NULL);
+      g_object_add_weak_pointer (G_OBJECT (column_model), (gpointer) &column_model);
+    }
+  else
+    {
+      g_object_ref (G_OBJECT (column_model));
+    }
+
+  return column_model;
+}
+
+
+
+/**
+ * thunar_column_model_exchange:
+ * @column_model : a #ThunarColumnModel.
+ * @iter1        : first #GtkTreeIter.
+ * @iter2        : second #GtkTreeIter.
+ *
+ * Exchanges the columns at @iter1 and @iter2
+ * in @column_model.
+ **/
+void
+thunar_column_model_exchange (ThunarColumnModel *column_model,
+                              GtkTreeIter       *iter1,
+                              GtkTreeIter       *iter2)
+{
+  ThunarColumn column;
+  GtkTreePath *path;
+  gint         new_order[THUNAR_N_VISIBLE_COLUMNS];
+  gint         n;
+
+  g_return_if_fail (THUNAR_IS_COLUMN_MODEL (column_model));
+  g_return_if_fail (iter1->stamp == column_model->stamp);
+  g_return_if_fail (iter2->stamp == column_model->stamp);
+
+  /* swap the columns */
+  column = column_model->order[GPOINTER_TO_INT (iter1->user_data)];
+  column_model->order[GPOINTER_TO_INT (iter1->user_data)] = column_model->order[GPOINTER_TO_INT (iter2->user_data)];
+  column_model->order[GPOINTER_TO_INT (iter2->user_data)] = column;
+
+  /* initialize the new order array */
+  for (n = 0; n < THUNAR_N_VISIBLE_COLUMNS; ++n)
+    new_order[n] = n;
+
+  /* perform the swapping on the new order array */
+  new_order[GPOINTER_TO_INT (iter1->user_data)] = GPOINTER_TO_INT (iter2->user_data);
+  new_order[GPOINTER_TO_INT (iter2->user_data)] = GPOINTER_TO_INT (iter1->user_data);
+
+  /* emit "rows-reordered" */
+  path = gtk_tree_path_new ();
+  gtk_tree_model_rows_reordered (GTK_TREE_MODEL (column_model), path, NULL, new_order);
+  gtk_tree_path_free (path);
+
+  /* emit "columns-changed" */
+  g_signal_emit (G_OBJECT (column_model), column_model_signals[COLUMNS_CHANGED], 0);
+
+  /* save the new column order */
+  thunar_column_model_save_column_order (column_model);
+}
+
+
+
+/**
+ * thunar_column_model_get_column_for_iter:
+ * @column_model : a #ThunarColumnModel.
+ * @iter         : a valid #GtkTreeIter for @column_model.
+ *
+ * Returns the #ThunarColumn for the given @iter in
+ * @column_model.
+ *
+ * Return value: the #ThunarColumn for @iter.
+ **/
+ThunarColumn
+thunar_column_model_get_column_for_iter (ThunarColumnModel *column_model,
+                                         GtkTreeIter       *iter)
+{
+  g_return_val_if_fail (THUNAR_IS_COLUMN_MODEL (column_model), -1);
+  g_return_val_if_fail (iter->stamp == column_model->stamp, -1);
+  return column_model->order[GPOINTER_TO_INT (iter->user_data)];
+}
+
+
+
+/**
+ * thunar_column_model_get_column_order:
+ * @column_model : a #ThunarColumnModel.
+ *
+ * Returns the current #ThunarColumn order for @column_model.
+ *
+ * Return value: the current #ThunarColumn order for the given
+ *               @column_model instance.
+ **/
+const ThunarColumn*
+thunar_column_model_get_column_order (ThunarColumnModel *column_model)
+{
+  g_return_val_if_fail (THUNAR_IS_COLUMN_MODEL (column_model), NULL);
+  return column_model->order;
+}
+
+
+
+/**
+ * thunar_column_model_get_column_name:
+ * @column_model : a #ThunarColumnModel.
+ * @column       : a #ThunarColumn.
+ *
+ * Returns the user visible name for the @column in
+ * the @column_model.
+ *
+ * Return value: the user visible name for @column.
+ **/
+const gchar*
+thunar_column_model_get_column_name (ThunarColumnModel *column_model,
+                                     ThunarColumn       column)
+{
+  const gchar *column_name = _("Unknown");
+  GEnumClass  *klass;
+  gint         n;
+
+  g_return_val_if_fail (THUNAR_IS_COLUMN_MODEL (column_model), NULL);
+  g_return_val_if_fail (column < THUNAR_N_VISIBLE_COLUMNS, NULL);
+  g_return_val_if_fail (column >= 0, NULL);
+
+  /* determine the column name from the ThunarColumn enum type */
+  klass = g_type_class_ref (THUNAR_TYPE_COLUMN);
+  for (n = 0; n < klass->n_values; ++n)
+    if (klass->values[n].value == column)
+      column_name = _(klass->values[n].value_nick);
+  g_type_class_unref (klass);
+
+  return column_name;
+}
+
+
+
+/**
+ * thunar_column_model_get_column_visible:
+ * @column_model : a #ThunarColumnModel.
+ * @column       : a #ThunarColumn.
+ *
+ * Returns %TRUE if the @column should be displayed
+ * in the details view.
+ *
+ * Return value: %TRUE if @column is visible.
+ **/
+gboolean
+thunar_column_model_get_column_visible (ThunarColumnModel *column_model,
+                                        ThunarColumn       column)
+{
+  g_return_val_if_fail (THUNAR_IS_COLUMN_MODEL (column_model), FALSE);
+  g_return_val_if_fail (column < THUNAR_N_VISIBLE_COLUMNS, FALSE);
+  g_return_val_if_fail (column >= 0, FALSE);
+  return column_model->visible[column];
+}
+
+
+
+/**
+ * thunar_column_model_set_column_visible:
+ * @column_model : a #ThunarColumnModel.
+ * @column       : a #ThunarColumn.
+ * @visible      : %TRUE to make @column visible.
+ *
+ * Changes the visibility of the @column to @visible in
+ * @column_model.
+ **/
+void
+thunar_column_model_set_column_visible (ThunarColumnModel *column_model,
+                                        ThunarColumn       column,
+                                        gboolean           visible)
+{
+  GtkTreePath *path;
+  GtkTreeIter  iter;
+  gint         n;
+
+  g_return_if_fail (THUNAR_IS_COLUMN_MODEL (column_model));
+  g_return_if_fail (column < THUNAR_N_VISIBLE_COLUMNS);
+  g_return_if_fail (column >= 0);
+
+  /* cannot change the visibility of the name column */
+  if (G_UNLIKELY (column == THUNAR_COLUMN_NAME))
+    return;
+
+  /* normalize the value */
+  visible = !!visible;
+
+  /* check if we have a new value */
+  if (G_LIKELY (column_model->visible[column] != visible))
+    {
+      /* apply the new value */
+      column_model->visible[column] = visible;
+
+      /* reverse lookup the real column */
+      for (n = 0; n < THUNAR_N_VISIBLE_COLUMNS; ++n)
+        if (column_model->order[n] == column)
+          {
+            column = n;
+            break;
+          }
+
+      /* emit "row-changed" */
+      path = gtk_tree_path_new_from_indices (column, -1);
+      if (gtk_tree_model_get_iter (GTK_TREE_MODEL (column_model), &iter, path))
+        gtk_tree_model_row_changed (GTK_TREE_MODEL (column_model), path, &iter);
+      gtk_tree_path_free (path);
+
+      /* emit "columns-changed" */
+      g_signal_emit (G_OBJECT (column_model), column_model_signals[COLUMNS_CHANGED], 0);
+
+      /* save the list of visible columns */
+      thunar_column_model_save_visible_columns (column_model);
+    }
+}
+
+
+
+/**
+ * thunar_column_model_get_column_width:
+ * @column_model : a #ThunarColumnModel.
+ * @column       : a #ThunarColumn.
+ *
+ * Returns the fixed column width for @column in
+ * @column_model.
+ *
+ * Return value: the fixed width for @column.
+ **/
+gint
+thunar_column_model_get_column_width (ThunarColumnModel *column_model,
+                                      ThunarColumn       column)
+{
+  g_return_val_if_fail (THUNAR_IS_COLUMN_MODEL (column_model), -1);
+  g_return_val_if_fail (column < THUNAR_N_VISIBLE_COLUMNS, -1);
+  g_return_val_if_fail (column >= 0, -1);
+  return column_model->width[column];
+}
+
+
+
+/**
+ * thunar_column_model_set_column_width:
+ * @column_model : a #ThunarColumnModel.
+ * @column       : a #ThunarColumn.
+ * @width        : the new fixed width for @column.
+ *
+ * Sets the fixed width for @column in @column_model
+ * to @width.
+ **/
+void
+thunar_column_model_set_column_width (ThunarColumnModel *column_model,
+                                      ThunarColumn       column,
+                                      gint               width)
+{
+  g_return_if_fail (THUNAR_IS_COLUMN_MODEL (column_model));
+  g_return_if_fail (column < THUNAR_N_VISIBLE_COLUMNS);
+  g_return_if_fail (column >= 0);
+  g_return_if_fail (width >= 0);
+
+  /* check if we have a new width */
+  if (G_LIKELY (column_model->width[column] != width))
+    {
+      /* apply the new value */
+      column_model->width[column] = width;
+
+      /* store the settings */
+      thunar_column_model_save_column_widths (column_model);
+    }
+}
+
+
diff --git a/thunar/thunar-column-model.h b/thunar/thunar-column-model.h
new file mode 100644
index 0000000000000000000000000000000000000000..a0847245fe1442aecdf1d258570e2cfe61206f9a
--- /dev/null
+++ b/thunar/thunar-column-model.h
@@ -0,0 +1,83 @@
+/* $Id$ */
+/*-
+ * Copyright (c) 2006 Benedikt Meurer <benny@xfce.org>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * 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
+ */
+
+#ifndef __THUNAR_COLUMN_MODEL_H__
+#define __THUNAR_COLUMN_MODEL_H__
+
+#include <thunar/thunar-enum-types.h>
+
+G_BEGIN_DECLS;
+
+typedef struct _ThunarColumnModelClass ThunarColumnModelClass;
+typedef struct _ThunarColumnModel      ThunarColumnModel;
+
+#define THUNAR_TYPE_COLUMN_MODEL            (thunar_column_model_get_type ())
+#define THUNAR_COLUMN_MODEL(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), THUNAR_TYPE_COLUMN_MODEL, ThunarColumnModel))
+#define THUNAR_COLUMN_MODEL_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), THUNAR_TYPE_COLUMN_MODEL, ThunarColumnModelClass))
+#define THUNAR_IS_COLUMN_MODEL(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), THUNAR_TYPE_COLUMN_MODEL))
+#define THUNAR_IS_COLUMN_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), THUNAR_TYPE_COLUMN_MODEL))
+#define THUNAR_COLUMN_MODEL_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), THUNAR_TYPE_COLUMN_MODEL, ThunarColumnModelClass))
+
+/**
+ * ThunarColumnModelColumn:
+ * @THUNAR_COLUMN_MODEL_COLUMN_NAME    : the name of the column.
+ * @THUNAR_COLUMN_MODEL_COLUMN_MUTABLE : TRUE if the visibility can be changed.
+ * @THUNAR_COLUMN_MODEL_COLUMN_VISIBLE : whether the column is visible.
+ *
+ * The #ThunarColumnModel columns used by the #ThunarColumnEditor.
+ **/
+typedef enum
+{
+  THUNAR_COLUMN_MODEL_COLUMN_NAME,
+  THUNAR_COLUMN_MODEL_COLUMN_MUTABLE,
+  THUNAR_COLUMN_MODEL_COLUMN_VISIBLE,
+  THUNAR_COLUMN_MODEL_N_COLUMNS,
+} ThunarColumnModelColumn;
+
+GType               thunar_column_model_get_type            (void) G_GNUC_CONST;
+
+ThunarColumnModel  *thunar_column_model_get_default         (void);
+
+void                thunar_column_model_exchange            (ThunarColumnModel *column_model,
+                                                             GtkTreeIter       *iter1,
+                                                             GtkTreeIter       *iter2);
+
+ThunarColumn        thunar_column_model_get_column_for_iter (ThunarColumnModel *column_model,
+                                                             GtkTreeIter       *iter);
+
+const ThunarColumn *thunar_column_model_get_column_order    (ThunarColumnModel *column_model);
+
+const gchar        *thunar_column_model_get_column_name     (ThunarColumnModel *column_model,
+                                                             ThunarColumn       column);
+
+gboolean            thunar_column_model_get_column_visible  (ThunarColumnModel *column_model,
+                                                             ThunarColumn       column);
+void                thunar_column_model_set_column_visible  (ThunarColumnModel *column_model,
+                                                             ThunarColumn       column,
+                                                             gboolean           visible);
+
+gint                thunar_column_model_get_column_width    (ThunarColumnModel *column_model,
+                                                             ThunarColumn       column);
+void                thunar_column_model_set_column_width    (ThunarColumnModel *column_model,
+                                                             ThunarColumn       column,
+                                                             gint               width);
+
+G_END_DECLS;
+
+#endif /* !__THUNAR_COLUMN_MODEL_H__ */
diff --git a/thunar/thunar-details-view-ui.xml b/thunar/thunar-details-view-ui.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f2f8df35134aab69e0c730b3775db2ff4cc58b26
--- /dev/null
+++ b/thunar/thunar-details-view-ui.xml
@@ -0,0 +1,23 @@
+<ui>
+
+  <!--
+    $Id$
+
+    Copyright (c) 2006 Benedikt Meurer <benny@xfce.org>
+
+    Thunar details view user interface description file. Do NOT
+    simply edit this file if you don't know how the whole system
+    works, because it's too easy to break something.
+  -->
+
+  <menubar name="main-menu">
+    <menu action="view-menu">
+      <placeholder name="placeholder-view-items-actions">
+        <menuitem action="setup-columns" />
+      </placeholder>
+    </menu>
+  </menubar>
+
+</ui>
+
+<!-- vi: set ts=2 sw=2 et ai nocindent syntax=xml: -->
diff --git a/thunar/thunar-details-view.c b/thunar/thunar-details-view.c
index b68f27f5229d2d0df8a1530ba1aa0fc4c3138bce..e98d1fdb50d72b3a71e735b16d24151500f7d5a2 100644
--- a/thunar/thunar-details-view.c
+++ b/thunar/thunar-details-view.c
@@ -23,49 +23,81 @@
 
 #include <gdk/gdkkeysyms.h>
 
+#include <thunar/thunar-column-editor.h>
 #include <thunar/thunar-details-view.h>
+#include <thunar/thunar-details-view-ui.h>
 #include <thunar/thunar-gtk-extensions.h>
 #include <thunar/thunar-text-renderer.h>
 
 
-static void         thunar_details_view_class_init            (ThunarDetailsViewClass *klass);
-static void         thunar_details_view_init                  (ThunarDetailsView      *details_view);
-static AtkObject   *thunar_details_view_get_accessible        (GtkWidget              *widget);
-static GList       *thunar_details_view_get_selected_items    (ThunarStandardView     *standard_view);
-static void         thunar_details_view_select_all            (ThunarStandardView     *standard_view);
-static void         thunar_details_view_unselect_all          (ThunarStandardView     *standard_view);
-static void         thunar_details_view_select_path           (ThunarStandardView     *standard_view,
-                                                               GtkTreePath            *path);
-static void         thunar_details_view_set_cursor            (ThunarStandardView     *standard_view,
-                                                               GtkTreePath            *path,
-                                                               gboolean                start_editing);
-static void         thunar_details_view_scroll_to_path        (ThunarStandardView     *standard_view,
-                                                               GtkTreePath            *path,
-                                                               gboolean                use_align,
-                                                               gfloat                  row_align,
-                                                               gfloat                  col_align);
-static GtkTreePath *thunar_details_view_get_path_at_pos       (ThunarStandardView     *standard_view,
-                                                               gint                    x,
-                                                               gint                    y);
-static gboolean     thunar_details_view_get_visible_range     (ThunarStandardView     *standard_view,
-                                                               GtkTreePath           **start_path,
-                                                               GtkTreePath           **end_path);
-static void         thunar_details_view_highlight_path        (ThunarStandardView     *standard_view,
-                                                               GtkTreePath            *path);
-static void         thunar_details_view_notify_model          (GtkTreeView            *tree_view,
-                                                               GParamSpec             *pspec,
-                                                               ThunarDetailsView      *details_view);
-static gboolean     thunar_details_view_button_press_event    (GtkTreeView            *tree_view,
-                                                               GdkEventButton         *event,
-                                                               ThunarDetailsView      *details_view);
-static gboolean     thunar_details_view_key_press_event       (GtkTreeView            *tree_view,
-                                                               GdkEventKey            *event,
-                                                               ThunarDetailsView      *details_view);
-static void         thunar_details_view_row_activated         (GtkTreeView            *tree_view,
-                                                               GtkTreePath            *path,
-                                                               GtkTreeViewColumn      *column,
-                                                               ThunarDetailsView      *details_view);
-static void         thunar_details_view_zoom_level_changed    (ThunarDetailsView      *details_view);
+
+/* Property identifiers */
+enum
+{
+  PROP_0,
+  PROP_FIXED_COLUMNS,
+};
+
+
+
+static void         thunar_details_view_class_init              (ThunarDetailsViewClass *klass);
+static void         thunar_details_view_init                    (ThunarDetailsView      *details_view);
+static void         thunar_details_view_finalize                (GObject                *object);
+static void         thunar_details_view_get_property            (GObject                *object,
+                                                                 guint                   prop_id,
+                                                                 GValue                 *value,
+                                                                 GParamSpec             *pspec);
+static void         thunar_details_view_set_property            (GObject                *object,
+                                                                 guint                   prop_id,
+                                                                 const GValue           *value,
+                                                                 GParamSpec             *pspec);
+static AtkObject   *thunar_details_view_get_accessible          (GtkWidget              *widget);
+static void         thunar_details_view_connect_ui_manager      (ThunarStandardView     *standard_view,
+                                                                 GtkUIManager           *ui_manager);
+static void         thunar_details_view_disconnect_ui_manager   (ThunarStandardView     *standard_view,
+                                                                 GtkUIManager           *ui_manager);
+static GList       *thunar_details_view_get_selected_items      (ThunarStandardView     *standard_view);
+static void         thunar_details_view_select_all              (ThunarStandardView     *standard_view);
+static void         thunar_details_view_unselect_all            (ThunarStandardView     *standard_view);
+static void         thunar_details_view_select_path             (ThunarStandardView     *standard_view,
+                                                                 GtkTreePath            *path);
+static void         thunar_details_view_set_cursor              (ThunarStandardView     *standard_view,
+                                                                 GtkTreePath            *path,
+                                                                 gboolean                start_editing);
+static void         thunar_details_view_scroll_to_path          (ThunarStandardView     *standard_view,
+                                                                 GtkTreePath            *path,
+                                                                 gboolean                use_align,
+                                                                 gfloat                  row_align,
+                                                                 gfloat                  col_align);
+static GtkTreePath *thunar_details_view_get_path_at_pos         (ThunarStandardView     *standard_view,
+                                                                 gint                    x,
+                                                                 gint                    y);
+static gboolean     thunar_details_view_get_visible_range       (ThunarStandardView     *standard_view,
+                                                                 GtkTreePath           **start_path,
+                                                                 GtkTreePath           **end_path);
+static void         thunar_details_view_highlight_path          (ThunarStandardView     *standard_view,
+                                                                 GtkTreePath            *path);
+static void         thunar_details_view_notify_model            (GtkTreeView            *tree_view,
+                                                                 GParamSpec             *pspec,
+                                                                 ThunarDetailsView      *details_view);
+static void         thunar_details_view_notify_width            (GtkTreeViewColumn      *tree_view_column,
+                                                                 GParamSpec             *pspec,
+                                                                 ThunarDetailsView      *details_view);
+static gboolean     thunar_details_view_button_press_event      (GtkTreeView            *tree_view,
+                                                                 GdkEventButton         *event,
+                                                                 ThunarDetailsView      *details_view);
+static gboolean     thunar_details_view_key_press_event         (GtkTreeView            *tree_view,
+                                                                 GdkEventKey            *event,
+                                                                 ThunarDetailsView      *details_view);
+static void         thunar_details_view_row_activated           (GtkTreeView            *tree_view,
+                                                                 GtkTreePath            *path,
+                                                                 GtkTreeViewColumn      *column,
+                                                                 ThunarDetailsView      *details_view);
+static void         thunar_details_view_columns_changed         (ThunarColumnModel      *column_model,
+                                                                 ThunarDetailsView      *details_view);
+static void         thunar_details_view_zoom_level_changed      (ThunarDetailsView      *details_view);
+static void         thunar_details_view_action_setup_columns    (GtkAction              *action,
+                                                                 ThunarDetailsView      *details_view);
 
 
 
@@ -77,10 +109,27 @@ struct _ThunarDetailsViewClass
 struct _ThunarDetailsView
 {
   ThunarStandardView __parent__;
+
+  /* the column model */
+  ThunarColumnModel *column_model;
+
+  /* the tree view columns */
+  GtkTreeViewColumn *columns[THUNAR_N_VISIBLE_COLUMNS];
+
+  /* whether to use fixed column widths */
+  gboolean           fixed_columns;
+
+  /* the UI manager merge id for the details view */
+  guint              ui_merge_id;
 };
 
 
 
+static const GtkActionEntry action_entries[] =
+{
+  { "setup-columns", NULL, N_ ("Configure _Columns..."), NULL, N_ ("Configure the columns in the detailed list view"), G_CALLBACK (thunar_details_view_action_setup_columns), },
+};
+
 static GObjectClass *thunar_details_view_parent_class;
 
 
@@ -119,14 +168,22 @@ thunar_details_view_class_init (ThunarDetailsViewClass *klass)
 {
   ThunarStandardViewClass *thunarstandard_view_class;
   GtkWidgetClass          *gtkwidget_class;
+  GObjectClass            *gobject_class;
 
   /* determine the parent type class */
   thunar_details_view_parent_class = g_type_class_peek_parent (klass);
 
+  gobject_class = G_OBJECT_CLASS (klass);
+  gobject_class->finalize = thunar_details_view_finalize;
+  gobject_class->get_property = thunar_details_view_get_property;
+  gobject_class->set_property = thunar_details_view_set_property;
+
   gtkwidget_class = GTK_WIDGET_CLASS (klass);
   gtkwidget_class->get_accessible = thunar_details_view_get_accessible;
 
   thunarstandard_view_class = THUNAR_STANDARD_VIEW_CLASS (klass);
+  thunarstandard_view_class->connect_ui_manager = thunar_details_view_connect_ui_manager;
+  thunarstandard_view_class->disconnect_ui_manager = thunar_details_view_disconnect_ui_manager;
   thunarstandard_view_class->get_selected_items = thunar_details_view_get_selected_items;
   thunarstandard_view_class->select_all = thunar_details_view_select_all;
   thunarstandard_view_class->unselect_all = thunar_details_view_unselect_all;
@@ -137,6 +194,19 @@ thunar_details_view_class_init (ThunarDetailsViewClass *klass)
   thunarstandard_view_class->get_visible_range = thunar_details_view_get_visible_range;
   thunarstandard_view_class->highlight_path = thunar_details_view_highlight_path;
   thunarstandard_view_class->zoom_level_property_name = "last-details-view-zoom-level";
+
+  /**
+   * ThunarDetailsView:fixed-columns:
+   *
+   * %TRUE to use fixed column widths.
+   **/
+  g_object_class_install_property (gobject_class,
+                                   PROP_FIXED_COLUMNS,
+                                   g_param_spec_boolean ("fixed-columns",
+                                                         "fixed-columns",
+                                                         "fixed-columns",
+                                                         FALSE,
+                                                         EXO_PARAM_READWRITE));
 }
 
 
@@ -144,16 +214,23 @@ thunar_details_view_class_init (ThunarDetailsViewClass *klass)
 static void
 thunar_details_view_init (ThunarDetailsView *details_view)
 {
-  GtkTreeViewColumn *column;
-  GtkTreeSelection  *selection;
-  GtkCellRenderer   *renderer;
-  GtkWidget         *tree_view;
+  GtkTreeSelection *selection;
+  GtkCellRenderer  *right_aligned_renderer;
+  GtkCellRenderer  *left_aligned_renderer;
+  GtkCellRenderer  *renderer;
+  ThunarColumn      column;
+  GtkWidget        *tree_view;
 
   /* we need to force the GtkTreeView to recalculate column sizes
    * whenever the zoom-level changes, so we connect a handler here.
    */
   g_signal_connect (G_OBJECT (details_view), "notify::zoom-level", G_CALLBACK (thunar_details_view_zoom_level_changed), NULL);
 
+  /* setup the details view actions */
+  gtk_action_group_add_actions (THUNAR_STANDARD_VIEW (details_view)->action_group,
+                                action_entries, G_N_ELEMENTS (action_entries),
+                                GTK_WIDGET (details_view));
+
   /* create the tree view to embed */
   tree_view = exo_tree_view_new ();
   g_signal_connect (G_OBJECT (tree_view), "notify::model",
@@ -171,85 +248,151 @@ thunar_details_view_init (ThunarDetailsView *details_view)
   gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (tree_view), TRUE);
   gtk_tree_view_set_enable_search (GTK_TREE_VIEW (tree_view), TRUE);
 
-  /* first column (icon, name) */
-  column = g_object_new (GTK_TYPE_TREE_VIEW_COLUMN,
-                         "expand", TRUE,
-                         "resizable", TRUE,
-                         "title", _("Name"),
-                         NULL);
-  gtk_tree_view_column_pack_start (column, THUNAR_STANDARD_VIEW (details_view)->icon_renderer, FALSE);
-  gtk_tree_view_column_set_attributes (column, THUNAR_STANDARD_VIEW (details_view)->icon_renderer,
-                                       "file", THUNAR_COLUMN_FILE,
-                                       NULL);
-  g_object_set (G_OBJECT (THUNAR_STANDARD_VIEW (details_view)->name_renderer),
-                "xalign", 0.0,
-                NULL);
-  gtk_tree_view_column_pack_start (column, THUNAR_STANDARD_VIEW (details_view)->name_renderer, TRUE);
-  gtk_tree_view_column_set_attributes (column, THUNAR_STANDARD_VIEW (details_view)->name_renderer,
-                                       "text", THUNAR_COLUMN_NAME,
-                                       NULL);
-  gtk_tree_view_column_set_sort_column_id (column, THUNAR_COLUMN_NAME);
-  gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
-
-  /* second column (size) */
-  column = g_object_new (GTK_TYPE_TREE_VIEW_COLUMN,
-                         "resizable", TRUE,
-                         "title", _("Size"),
-                         NULL);
-  renderer = g_object_new (THUNAR_TYPE_TEXT_RENDERER,
-                           "xalign", 1.0,
-                           NULL);
-  gtk_tree_view_column_pack_start (column, renderer, TRUE);
-  gtk_tree_view_column_set_attributes (column, renderer,
-                                       "text", THUNAR_COLUMN_SIZE,
-                                       NULL);
-  gtk_tree_view_column_set_sort_column_id (column, THUNAR_COLUMN_SIZE);
-  gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
-
-  /* third column (permissions) */
-  column = g_object_new (GTK_TYPE_TREE_VIEW_COLUMN,
-                         "resizable", TRUE,
-                         "title", _("Permissions"),
-                         NULL);
-  renderer = g_object_new (THUNAR_TYPE_TEXT_RENDERER,
-                           "xalign", 0.0,
-                           NULL);
-  gtk_tree_view_column_pack_start (column, renderer, TRUE);
-  gtk_tree_view_column_set_attributes (column, renderer,
-                                       "text", THUNAR_COLUMN_PERMISSIONS,
-                                       NULL);
-  gtk_tree_view_column_set_sort_column_id (column, THUNAR_COLUMN_PERMISSIONS);
-  gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
-
-  /* fourth column (type) */
-  column = g_object_new (GTK_TYPE_TREE_VIEW_COLUMN,
-                         "resizable", TRUE,
-                         "title", _("Type"),
-                         NULL);
-  gtk_tree_view_column_pack_start (column, renderer, TRUE);
-  gtk_tree_view_column_set_attributes (column, renderer,
-                                       "text", THUNAR_COLUMN_TYPE,
-                                       NULL);
-  gtk_tree_view_column_set_sort_column_id (column, THUNAR_COLUMN_TYPE);
-  gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
-
-  /* fifth column (modification date) */
-  column = g_object_new (GTK_TYPE_TREE_VIEW_COLUMN,
-                         "resizable", TRUE,
-                         "title", _("Date modified"),
-                         NULL);
-  gtk_tree_view_column_pack_start (column, renderer, TRUE);
-  gtk_tree_view_column_set_attributes (column, renderer,
-                                       "text", THUNAR_COLUMN_DATE_MODIFIED,
-                                       NULL);
-  gtk_tree_view_column_set_sort_column_id (column, THUNAR_COLUMN_DATE_MODIFIED);
-  gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
+  /* connect to the default column model */
+  details_view->column_model = thunar_column_model_get_default ();
+  g_signal_connect (G_OBJECT (details_view->column_model), "columns-changed", G_CALLBACK (thunar_details_view_columns_changed), details_view);
+
+  /* allocate the shared right-aligned text renderer */
+  right_aligned_renderer = g_object_new (THUNAR_TYPE_TEXT_RENDERER, "xalign", 1.0f, NULL);
+  exo_gtk_object_ref_sink (GTK_OBJECT (right_aligned_renderer));
+
+  /* allocate the shared left-aligned text renderer */
+  left_aligned_renderer = g_object_new (THUNAR_TYPE_TEXT_RENDERER, "xalign", 0.0f, NULL);
+  exo_gtk_object_ref_sink (GTK_OBJECT (left_aligned_renderer));
+
+  /* allocate the tree view columns */
+  for (column = 0; column < THUNAR_N_VISIBLE_COLUMNS; ++column)
+    {
+      /* allocate the tree view column */
+      details_view->columns[column] = gtk_tree_view_column_new ();
+      exo_gtk_object_ref_sink (GTK_OBJECT (details_view->columns[column]));
+      gtk_tree_view_column_set_min_width (details_view->columns[column], 50);
+      gtk_tree_view_column_set_resizable (details_view->columns[column], TRUE);
+      gtk_tree_view_column_set_sort_column_id (details_view->columns[column], column);
+      gtk_tree_view_column_set_title (details_view->columns[column], thunar_column_model_get_column_name (details_view->column_model, column));
+
+      /* stay informed whenever the width of the column is changed */
+      g_signal_connect (G_OBJECT (details_view->columns[column]), "notify::width", G_CALLBACK (thunar_details_view_notify_width), details_view);
+
+      /* name column gets special renderers */
+      if (G_UNLIKELY (column == THUNAR_COLUMN_NAME))
+        {
+          /* add the icon renderer */
+          gtk_tree_view_column_pack_start (details_view->columns[column], THUNAR_STANDARD_VIEW (details_view)->icon_renderer, FALSE);
+          gtk_tree_view_column_set_attributes (details_view->columns[column], THUNAR_STANDARD_VIEW (details_view)->icon_renderer,
+                                               "file", THUNAR_COLUMN_FILE,
+                                               NULL);
+
+          /* add the name renderer */
+          g_object_set (G_OBJECT (THUNAR_STANDARD_VIEW (details_view)->name_renderer), "xalign", 0.0, NULL);
+          gtk_tree_view_column_pack_start (details_view->columns[column], THUNAR_STANDARD_VIEW (details_view)->name_renderer, TRUE);
+          gtk_tree_view_column_set_attributes (details_view->columns[column], THUNAR_STANDARD_VIEW (details_view)->name_renderer,
+                                               "text", THUNAR_COLUMN_NAME,
+                                               NULL);
+        }
+      else
+        {
+          /* size is right aligned, everything else is left aligned */
+          renderer = (column == THUNAR_COLUMN_SIZE) ? right_aligned_renderer : left_aligned_renderer;
+
+          /* add the renderer */
+          gtk_tree_view_column_pack_start (details_view->columns[column], renderer, TRUE);
+          gtk_tree_view_column_set_attributes (details_view->columns[column], renderer, "text", column, NULL);
+        }
+
+      /* append the tree view column to the tree view */
+      gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), details_view->columns[column]);
+    }
 
   /* configure the tree selection */
   selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
   gtk_tree_selection_set_mode (selection, GTK_SELECTION_MULTIPLE);
   g_signal_connect_swapped (G_OBJECT (selection), "changed",
                             G_CALLBACK (thunar_standard_view_selection_changed), details_view);
+
+  /* apply the initial column order and visibility from the column model */
+  thunar_details_view_columns_changed (details_view->column_model, details_view);
+
+  /* synchronize the "fixed-columns" property */
+  exo_binding_new (G_OBJECT (THUNAR_STANDARD_VIEW (details_view)->preferences),
+                   "last-details-view-fixed-columns",
+                   G_OBJECT (details_view),
+                   "fixed-columns");
+
+  /* apply fixed column widths if we start in fixed column mode */
+  if (G_UNLIKELY (details_view->fixed_columns))
+    {
+      /* apply to all columns */
+      for (column = 0; column < THUNAR_N_VISIBLE_COLUMNS; ++column)
+        gtk_tree_view_column_set_fixed_width (details_view->columns[column], thunar_column_model_get_column_width (details_view->column_model, column));
+    }
+
+  /* release the shared text renderers */
+  g_object_unref (G_OBJECT (right_aligned_renderer));
+  g_object_unref (G_OBJECT (left_aligned_renderer));
+}
+
+
+
+static void
+thunar_details_view_get_property (GObject    *object,
+                                  guint       prop_id,
+                                  GValue     *value,
+                                  GParamSpec *pspec)
+{
+  ThunarDetailsView *details_view = THUNAR_DETAILS_VIEW (object);
+
+  switch (prop_id)
+    {
+    case PROP_FIXED_COLUMNS:
+      g_value_set_boolean (value, thunar_details_view_get_fixed_columns (details_view));
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+    }
+}
+
+
+
+static void
+thunar_details_view_set_property (GObject      *object,
+                                  guint         prop_id,
+                                  const GValue *value,
+                                  GParamSpec   *pspec)
+{
+  ThunarDetailsView *details_view = THUNAR_DETAILS_VIEW (object);
+
+  switch (prop_id)
+    {
+    case PROP_FIXED_COLUMNS:
+      thunar_details_view_set_fixed_columns (details_view, g_value_get_boolean (value));
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+    }
+}
+
+
+
+static void
+thunar_details_view_finalize (GObject *object)
+{
+  ThunarDetailsView *details_view = THUNAR_DETAILS_VIEW (object);
+  ThunarColumn       column;
+
+  /* release the tree view columns array */
+  for (column = 0; column < THUNAR_N_VISIBLE_COLUMNS; ++column)
+    g_object_unref (G_OBJECT (details_view->columns[column]));
+
+  /* disconnect from the default column model */
+  g_signal_handlers_disconnect_by_func (G_OBJECT (details_view->column_model), thunar_details_view_columns_changed, details_view);
+  g_object_unref (G_OBJECT (details_view->column_model));
+
+  (*G_OBJECT_CLASS (thunar_details_view_parent_class)->finalize) (object);
 }
 
 
@@ -275,6 +418,33 @@ thunar_details_view_get_accessible (GtkWidget *widget)
 
 
 
+static void
+thunar_details_view_connect_ui_manager (ThunarStandardView *standard_view,
+                                        GtkUIManager       *ui_manager)
+{
+  ThunarDetailsView *details_view = THUNAR_DETAILS_VIEW (standard_view);
+  GError            *error = NULL;
+
+  details_view->ui_merge_id = gtk_ui_manager_add_ui_from_string (ui_manager, thunar_details_view_ui,
+                                                                 thunar_details_view_ui_length, &error);
+  if (G_UNLIKELY (details_view->ui_merge_id == 0))
+    {
+      g_error ("Failed to merge ThunarDetailsView menus: %s", error->message);
+      g_error_free (error);
+    }
+}
+
+
+
+static void
+thunar_details_view_disconnect_ui_manager (ThunarStandardView *standard_view,
+                                           GtkUIManager       *ui_manager)
+{
+  gtk_ui_manager_remove_ui (ui_manager, THUNAR_DETAILS_VIEW (standard_view)->ui_merge_id);
+}
+
+
+
 static GList*
 thunar_details_view_get_selected_items (ThunarStandardView *standard_view)
 {
@@ -428,6 +598,28 @@ thunar_details_view_notify_model (GtkTreeView       *tree_view,
 
 
 
+static void
+thunar_details_view_notify_width (GtkTreeViewColumn *tree_view_column,
+                                  GParamSpec        *pspec,
+                                  ThunarDetailsView *details_view)
+{
+  ThunarColumn column;
+
+  g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_view_column));
+  g_return_if_fail (THUNAR_IS_DETAILS_VIEW (details_view));
+
+  /* lookup the column no for the given tree view column */
+  for (column = 0; column < THUNAR_N_VISIBLE_COLUMNS; ++column)
+    if (details_view->columns[column] == tree_view_column)
+      {
+        /* save the new width as default fixed width */
+        thunar_column_model_set_column_width (details_view->column_model, column, gtk_tree_view_column_get_width (tree_view_column));
+        break;
+      }
+}
+
+
+
 static gboolean
 thunar_details_view_button_press_event (GtkTreeView       *tree_view,
                                         GdkEventButton    *event,
@@ -439,6 +631,10 @@ thunar_details_view_button_press_event (GtkTreeView       *tree_view,
   ThunarFile       *file;
   GtkAction        *action;
 
+  /* check if the event is for the bin window */
+  if (G_UNLIKELY (event->window != gtk_tree_view_get_bin_window (tree_view)))
+    return FALSE;
+
   /* we unselect all selected items if the user clicks on an empty
    * area of the treeview and no modifier key is active.
    */
@@ -562,24 +758,54 @@ thunar_details_view_row_activated (GtkTreeView       *tree_view,
 
 
 
+static void
+thunar_details_view_columns_changed (ThunarColumnModel *column_model,
+                                     ThunarDetailsView *details_view)
+{
+  const ThunarColumn *column_order;
+  ThunarColumn        column;
+
+  g_return_if_fail (THUNAR_IS_DETAILS_VIEW (details_view));
+  g_return_if_fail (THUNAR_IS_COLUMN_MODEL (column_model));
+  g_return_if_fail (details_view->column_model == column_model);
+
+  /* determine the new column order */
+  column_order = thunar_column_model_get_column_order (column_model);
+
+  /* apply new order and visibility */
+  for (column = 0; column < THUNAR_N_VISIBLE_COLUMNS; ++column)
+    {
+      /* apply the new visibility for the tree view column */
+      gtk_tree_view_column_set_visible (details_view->columns[column], thunar_column_model_get_column_visible (column_model, column));
+
+      /* change the order of the column relative to its predecessor */
+      if (G_LIKELY (column > 0))
+        {
+          gtk_tree_view_move_column_after (GTK_TREE_VIEW (GTK_BIN (details_view)->child),
+                                           details_view->columns[column_order[column]],
+                                           details_view->columns[column_order[column - 1]]);
+        }
+    }
+}
+
+
+
 static void
 thunar_details_view_zoom_level_changed (ThunarDetailsView *details_view)
 {
-  GList *columns;
-  GList *lp;
+  ThunarColumn column;
 
   g_return_if_fail (THUNAR_IS_DETAILS_VIEW (details_view));
 
   /* determine the list of tree view columns */
-  columns = gtk_tree_view_get_columns (GTK_TREE_VIEW (GTK_BIN (details_view)->child));
-  for (lp = columns; lp != NULL; lp = lp->next)
+  for (column = 0; column < THUNAR_N_VISIBLE_COLUMNS; ++column)
     {
 #if GTK_CHECK_VERSION(2,8,0)
       /* just queue a resize on this column */
-      gtk_tree_view_column_queue_resize (lp->data);
+      gtk_tree_view_column_queue_resize (details_view->columns[column]);
 #else
       /* determine the renderers for this column */
-      GList *renderers = gtk_tree_view_column_get_cell_renderers (lp->data);
+      GList *renderers = gtk_tree_view_column_get_cell_renderers (details_view->columns[column]);
       if (G_LIKELY (renderers != NULL))
         {
           /* this is really an awfull hack, but it works! It forces GtkTreeView to recalculate
@@ -591,7 +817,19 @@ thunar_details_view_zoom_level_changed (ThunarDetailsView *details_view)
         }
 #endif
     }
-  g_list_free (columns);
+}
+
+
+
+static void
+thunar_details_view_action_setup_columns (GtkAction         *action,
+                                          ThunarDetailsView *details_view)
+{
+  g_return_if_fail (THUNAR_IS_DETAILS_VIEW (details_view));
+  g_return_if_fail (GTK_IS_ACTION (action));
+
+  /* popup the column editor dialog */
+  thunar_show_column_editor (details_view);
 }
 
 
@@ -612,3 +850,78 @@ thunar_details_view_new (void)
 
 
 
+/**
+ * thunar_details_view_get_fixed_columns:
+ * @details_view : a #ThunarDetailsView.
+ *
+ * Returns %TRUE if @details_view uses fixed column widths.
+ *
+ * Return value: %TRUE if @details_view uses fixed column widths.
+ **/
+gboolean
+thunar_details_view_get_fixed_columns (ThunarDetailsView *details_view)
+{
+  g_return_val_if_fail (THUNAR_IS_DETAILS_VIEW (details_view), FALSE);
+  return details_view->fixed_columns;
+}
+
+
+
+/**
+ * thunar_details_view_set_fixed_columns:
+ * @details_view  : a #ThunarDetailsView.
+ * @fixed_columns : %TRUE to use fixed column widths.
+ *
+ * Applies @fixed_columns to @details_view.
+ **/
+void
+thunar_details_view_set_fixed_columns (ThunarDetailsView *details_view,
+                                       gboolean           fixed_columns)
+{
+  ThunarColumn column;
+  gint         width;
+
+  g_return_if_fail (THUNAR_IS_DETAILS_VIEW (details_view));
+
+  /* normalize the value */
+  fixed_columns = !!fixed_columns;
+
+  /* check if we have a new value */
+  if (G_LIKELY (details_view->fixed_columns != fixed_columns))
+    {
+      /* apply the new value */
+      details_view->fixed_columns = fixed_columns;
+
+      /* apply the new setting to all columns */
+      for (column = 0; column < THUNAR_N_VISIBLE_COLUMNS; ++column)
+        {
+          /* apply the new column mode */
+          if (G_LIKELY (fixed_columns))
+            {
+              /* apply "width" as "fixed-width" for fixed columns mode */
+              width = gtk_tree_view_column_get_width (details_view->columns[column]);
+              if (G_UNLIKELY (width <= 0))
+                width = thunar_column_model_get_column_width (details_view->column_model, column);
+              gtk_tree_view_column_set_fixed_width (details_view->columns[column], MAX (width, 1));
+
+              /* set column to fixed width */
+              gtk_tree_view_column_set_sizing (details_view->columns[column], GTK_TREE_VIEW_COLUMN_FIXED);
+            }
+          else
+            {
+              /* reset column to grow-only mode */
+              gtk_tree_view_column_set_sizing (details_view->columns[column], GTK_TREE_VIEW_COLUMN_GROW_ONLY);
+            }
+        }
+
+      /* for fixed columns mode, we can enable the fixed height
+       * mode to improve the performance of the GtkTreeVeiw.
+       */
+      gtk_tree_view_set_fixed_height_mode (GTK_TREE_VIEW (GTK_BIN (details_view)->child), fixed_columns);
+
+      /* notify listeners */
+      g_object_notify (G_OBJECT (details_view), "fixed-columns");
+    }
+}
+
+
diff --git a/thunar/thunar-details-view.h b/thunar/thunar-details-view.h
index 956f163b0e67be1bb331cf7e2b2ba2fe30bf4784..7c346a59f8df07892f573f3a88f8a11714866654 100644
--- a/thunar/thunar-details-view.h
+++ b/thunar/thunar-details-view.h
@@ -34,9 +34,13 @@ typedef struct _ThunarDetailsView      ThunarDetailsView;
 #define THUNAR_IS_DETAILS_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), THUNAR_TYPE_DETAILS_VIEW))
 #define THUNAR_DETAILS_VIEW_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), THUNAR_TYPE_DETAILS_VIEW, ThunarDetailsViewClass))
 
-GType      thunar_details_view_get_type (void) G_GNUC_CONST;
+GType      thunar_details_view_get_type          (void) G_GNUC_CONST;
 
-GtkWidget *thunar_details_view_new      (void);
+GtkWidget *thunar_details_view_new               (void);
+
+gboolean   thunar_details_view_get_fixed_columns (ThunarDetailsView *details_view);
+void       thunar_details_view_set_fixed_columns (ThunarDetailsView *details_view,
+                                                  gboolean           fixed_columns);
 
 G_END_DECLS;
 
diff --git a/thunar/thunar-enum-types.c b/thunar/thunar-enum-types.c
index 13ec6adffbbca13190317ae4c35e1729ce7d58f0..d6f61bad966e356f76c43bb1edbab60e93aa5782 100644
--- a/thunar/thunar-enum-types.c
+++ b/thunar/thunar-enum-types.c
@@ -57,16 +57,18 @@ thunar_column_get_type (void)
 {
   static const GEnumValue values[] =
   {
-    { THUNAR_COLUMN_DATE_ACCESSED, "THUNAR_COLUMN_DATE_ACCESSED", "date-accessed", },
-    { THUNAR_COLUMN_DATE_MODIFIED, "THUNAR_COLUMN_DATE_MODIFIED", "date-modified", },
-    { THUNAR_COLUMN_FILE,          "THUNAR_COLUMN_FILE",          "file",          },
-    { THUNAR_COLUMN_MIME_TYPE,     "THUNAR_COLUMN_MIME_TYPE",     "mime-type",     },
-    { THUNAR_COLUMN_NAME,          "THUNAR_COLUMN_NAME",          "name",          },
-    { THUNAR_COLUMN_PERMISSIONS,   "THUNAR_COLUMN_PERMISSIONS",   "permissions",   },
-    { THUNAR_COLUMN_REAL_NAME,     "THUNAR_COLUMN_REAL_NAME",     "real-name",     },
-    { THUNAR_COLUMN_SIZE,          "THUNAR_COLUMN_SIZE",          "size",          },
-    { THUNAR_COLUMN_TYPE,          "THUNAR_COLUMN_TYPE",          "type",          },
-    { 0,                           NULL,                          NULL,            },
+    { THUNAR_COLUMN_DATE_ACCESSED, "THUNAR_COLUMN_DATE_ACCESSED", N_ ("Date Accessed"), },
+    { THUNAR_COLUMN_DATE_MODIFIED, "THUNAR_COLUMN_DATE_MODIFIED", N_ ("Date Modified"), },
+    { THUNAR_COLUMN_GROUP,         "THUNAR_COLUMN_GROUP",         N_ ("Group"),         },
+    { THUNAR_COLUMN_MIME_TYPE,     "THUNAR_COLUMN_MIME_TYPE",     N_ ("MIME Type"),     },
+    { THUNAR_COLUMN_NAME,          "THUNAR_COLUMN_NAME",          N_ ("Name"),          },
+    { THUNAR_COLUMN_OWNER,         "THUNAR_COLUMN_OWNER",         N_ ("Owner"),         },
+    { THUNAR_COLUMN_PERMISSIONS,   "THUNAR_COLUMN_PERMISSIONS",   N_ ("Permissions"),   },
+    { THUNAR_COLUMN_SIZE,          "THUNAR_COLUMN_SIZE",          N_ ("Size"),          },
+    { THUNAR_COLUMN_TYPE,          "THUNAR_COLUMN_TYPE",          N_ ("Type"),          },
+    { THUNAR_COLUMN_FILE,          "THUNAR_COLUMN_FILE",          N_ ("File"),          },
+    { THUNAR_COLUMN_FILE_NAME,     "THUNAR_COLUMN_FILE_NAME",     N_ ("File Name"),     },
+    { 0,                           NULL,                          NULL,                 },
   };
 
   return thunar_enum_register_type ("ThunarColumn", values);
diff --git a/thunar/thunar-enum-types.h b/thunar/thunar-enum-types.h
index 9689df2dc9b7f50ca1fa3c2c93146af883ab9720..080ef12bf472546b5185b0dbda32b27e3067a46a 100644
--- a/thunar/thunar-enum-types.h
+++ b/thunar/thunar-enum-types.h
@@ -20,7 +20,7 @@
 #ifndef __THUNAR_ENUM_TYPES_H__
 #define __THUNAR_ENUM_TYPES_H__
 
-#include <glib-object.h>
+#include <exo/exo.h>
 
 G_BEGIN_DECLS;
 
@@ -50,29 +50,41 @@ GType thunar_color_style_get_type (void) G_GNUC_CONST G_GNUC_INTERNAL;
  * ThunarColumn:
  * @THUNAR_COLUMN_DATE_ACCESSED : last access time.
  * @THUNAR_COLUMN_DATE_MODIFIED : last modification time.
- * @THUNAR_COLUMN_FILE          : #ThunarFile object.
+ * @THUNAR_COLUMN_GROUP         : group's name.
  * @THUNAR_COLUMN_MIME_TYPE     : mime type (i.e. "text/plain").
  * @THUNAR_COLUMN_NAME          : display name.
+ * @THUNAR_COLUMN_OWNER         : owner's name.
  * @THUNAR_COLUMN_PERMISSIONS   : permissions bits.
- * @THUNAR_COLUMN_REAL_NAME     : real file name.
  * @THUNAR_COLUMN_SIZE          : file size.
  * @THUNAR_COLUMN_TYPE          : file type (i.e. 'plain text document').
+ * @THUNAR_COLUMN_FILE          : #ThunarFile object.
+ * @THUNAR_COLUMN_FILE_NAME     : real file name.
  *
  * Columns exported by #ThunarListModel using the #GtkTreeModel
  * interface.
  **/
 typedef enum
 {
+  /* visible columns */
   THUNAR_COLUMN_DATE_ACCESSED,
   THUNAR_COLUMN_DATE_MODIFIED,
-  THUNAR_COLUMN_FILE,
+  THUNAR_COLUMN_GROUP,
   THUNAR_COLUMN_MIME_TYPE,
   THUNAR_COLUMN_NAME,
+  THUNAR_COLUMN_OWNER,
   THUNAR_COLUMN_PERMISSIONS,
-  THUNAR_COLUMN_REAL_NAME,
   THUNAR_COLUMN_SIZE,
   THUNAR_COLUMN_TYPE,
+
+  /* special internal columns */
+  THUNAR_COLUMN_FILE,
+  THUNAR_COLUMN_FILE_NAME,
+
+  /* number of columns */
   THUNAR_N_COLUMNS,
+
+  /* number of visible columns */
+  THUNAR_N_VISIBLE_COLUMNS = THUNAR_COLUMN_FILE,
 } ThunarColumn;
 
 GType thunar_column_get_type (void) G_GNUC_CONST G_GNUC_INTERNAL;
diff --git a/thunar/thunar-list-model.c b/thunar/thunar-list-model.c
index c58f43d9fd0d78e9699f06b9743d7a210ec53b06..9710464b55254d52bb4d6592e6ce735589f76701 100644
--- a/thunar/thunar-list-model.c
+++ b/thunar/thunar-list-model.c
@@ -155,11 +155,15 @@ static gint               sort_by_date_accessed                   (const ThunarF
                                                                    const ThunarFile       *b);
 static gint               sort_by_date_modified                   (const ThunarFile       *a,
                                                                    const ThunarFile       *b);
+static gint               sort_by_file_name                       (const ThunarFile       *a,
+                                                                   const ThunarFile       *b);
+static gint               sort_by_group                           (const ThunarFile       *a,
+                                                                   const ThunarFile       *b);
 static gint               sort_by_mime_type                       (const ThunarFile       *a,
                                                                    const ThunarFile       *b);
 static gint               sort_by_name                            (const ThunarFile       *a,
                                                                    const ThunarFile       *b);
-static gint               sort_by_real_name                       (const ThunarFile       *a,
+static gint               sort_by_owner                           (const ThunarFile       *a,
                                                                    const ThunarFile       *b);
 static gint               sort_by_permissions                     (const ThunarFile       *a,
                                                                    const ThunarFile       *b);
@@ -359,7 +363,7 @@ thunar_list_model_class_init (ThunarListModelClass *klass)
    **/
   list_model_signals[ERROR] =
     g_signal_new (I_("error"),
-                  G_TYPE_FROM_CLASS (gobject_class),
+                  G_TYPE_FROM_CLASS (klass),
                   G_SIGNAL_RUN_LAST,
                   G_STRUCT_OFFSET (ThunarListModelClass, error),
                   NULL, NULL,
@@ -558,8 +562,8 @@ thunar_list_model_get_column_type (GtkTreeModel *model,
     case THUNAR_COLUMN_DATE_MODIFIED:
       return G_TYPE_STRING;
 
-    case THUNAR_COLUMN_FILE:
-      return THUNAR_TYPE_FILE;
+    case THUNAR_COLUMN_GROUP:
+      return G_TYPE_STRING;
 
     case THUNAR_COLUMN_MIME_TYPE:
       return G_TYPE_STRING;
@@ -567,7 +571,7 @@ thunar_list_model_get_column_type (GtkTreeModel *model,
     case THUNAR_COLUMN_NAME:
       return G_TYPE_STRING;
 
-    case THUNAR_COLUMN_REAL_NAME:
+    case THUNAR_COLUMN_OWNER:
       return G_TYPE_STRING;
 
     case THUNAR_COLUMN_PERMISSIONS:
@@ -578,10 +582,16 @@ thunar_list_model_get_column_type (GtkTreeModel *model,
 
     case THUNAR_COLUMN_TYPE:
       return G_TYPE_STRING;
+
+    case THUNAR_COLUMN_FILE:
+      return THUNAR_TYPE_FILE;
+
+    case THUNAR_COLUMN_FILE_NAME:
+      return G_TYPE_STRING;
     }
 
   g_assert_not_reached ();
-  return (GType) -1;
+  return G_TYPE_INVALID;
 }
 
 
@@ -652,6 +662,10 @@ thunar_list_model_get_value (GtkTreeModel *model,
                              GValue       *value)
 {
   ThunarVfsMimeInfo *mime_info;
+  ThunarVfsGroup    *group;
+  ThunarVfsUser     *user;
+  const gchar       *name;
+  const gchar       *real_name;
   gchar             *str;
   Row               *row;
 
@@ -675,9 +689,18 @@ thunar_list_model_get_value (GtkTreeModel *model,
       g_value_take_string (value, str);
       break;
 
-    case THUNAR_COLUMN_FILE:
-      g_value_init (value, THUNAR_TYPE_FILE);
-      g_value_set_object (value, row->file);
+    case THUNAR_COLUMN_GROUP:
+      g_value_init (value, G_TYPE_STRING);
+      group = thunar_file_get_group (row->file);
+      if (G_LIKELY (group != NULL))
+        {
+          g_value_set_string (value, thunar_vfs_group_get_name (group));
+          g_object_unref (G_OBJECT (group));
+        }
+      else
+        {
+          g_value_set_static_string (value, _("Unknown"));
+        }
       break;
 
     case THUNAR_COLUMN_MIME_TYPE:
@@ -691,9 +714,22 @@ thunar_list_model_get_value (GtkTreeModel *model,
       g_value_set_static_string (value, thunar_file_get_display_name (row->file));
       break;
 
-    case THUNAR_COLUMN_REAL_NAME:
+    case THUNAR_COLUMN_OWNER:
       g_value_init (value, G_TYPE_STRING);
-      g_value_take_string (value, g_filename_display_name (thunar_vfs_path_get_name (thunar_file_get_path (row->file))));
+      user = thunar_file_get_user (row->file);
+      if (G_LIKELY (user != NULL))
+        {
+          /* determine sane display name for the owner */
+          name = thunar_vfs_user_get_name (user);
+          real_name = thunar_vfs_user_get_real_name (user);
+          str = G_LIKELY (real_name != NULL) ? g_strdup_printf ("%s (%s)", real_name, name) : g_strdup (name);
+          g_value_take_string (value, str);
+          g_object_unref (G_OBJECT (user));
+        }
+      else
+        {
+          g_value_set_static_string (value, _("Unknown"));
+        }
       break;
 
     case THUNAR_COLUMN_PERMISSIONS:
@@ -718,6 +754,16 @@ thunar_list_model_get_value (GtkTreeModel *model,
         g_value_set_static_string (value, thunar_vfs_mime_info_get_comment (mime_info));
       break;
 
+    case THUNAR_COLUMN_FILE:
+      g_value_init (value, THUNAR_TYPE_FILE);
+      g_value_set_object (value, row->file);
+      break;
+
+    case THUNAR_COLUMN_FILE_NAME:
+      g_value_init (value, G_TYPE_STRING);
+      g_value_take_string (value, g_filename_display_name (thunar_vfs_path_get_name (thunar_file_get_path (row->file))));
+      break;
+
     default:
       g_assert_not_reached ();
     }
@@ -855,8 +901,8 @@ thunar_list_model_get_sort_column_id (GtkTreeSortable *sortable,
     *sort_column_id = THUNAR_COLUMN_MIME_TYPE;
   else if (store->sort_func == sort_by_name)
     *sort_column_id = THUNAR_COLUMN_NAME;
-  else if (store->sort_func == sort_by_real_name)
-    *sort_column_id = THUNAR_COLUMN_REAL_NAME;
+  else if (store->sort_func == sort_by_file_name)
+    *sort_column_id = THUNAR_COLUMN_FILE_NAME;
   else if (store->sort_func == sort_by_permissions)
     *sort_column_id = THUNAR_COLUMN_PERMISSIONS;
   else if (store->sort_func == sort_by_size)
@@ -867,6 +913,10 @@ thunar_list_model_get_sort_column_id (GtkTreeSortable *sortable,
     *sort_column_id = THUNAR_COLUMN_DATE_MODIFIED;
   else if (store->sort_func == sort_by_type)
     *sort_column_id = THUNAR_COLUMN_TYPE;
+  else if (store->sort_func == sort_by_owner)
+    *sort_column_id = THUNAR_COLUMN_OWNER;
+  else if (store->sort_func == sort_by_group)
+    *sort_column_id = THUNAR_COLUMN_GROUP;
   else
     g_assert_not_reached ();
 
@@ -899,6 +949,10 @@ thunar_list_model_set_sort_column_id (GtkTreeSortable *sortable,
       store->sort_func = sort_by_date_modified;
       break;
 
+    case THUNAR_COLUMN_GROUP:
+      store->sort_func = sort_by_group;
+      break;
+
     case THUNAR_COLUMN_MIME_TYPE:
       store->sort_func = sort_by_mime_type;
       break;
@@ -907,8 +961,8 @@ thunar_list_model_set_sort_column_id (GtkTreeSortable *sortable,
       store->sort_func = sort_by_name;
       break;
 
-    case THUNAR_COLUMN_REAL_NAME:
-      store->sort_func = sort_by_real_name;
+    case THUNAR_COLUMN_OWNER:
+      store->sort_func = sort_by_owner;
       break;
 
     case THUNAR_COLUMN_PERMISSIONS:
@@ -923,6 +977,10 @@ thunar_list_model_set_sort_column_id (GtkTreeSortable *sortable,
       store->sort_func = sort_by_type;
       break;
 
+    case THUNAR_COLUMN_FILE_NAME:
+      store->sort_func = sort_by_file_name;
+      break;
+
     default:
       g_assert_not_reached ();
     }
@@ -1351,6 +1409,30 @@ sort_by_date_modified (const ThunarFile *a,
 
 
 
+static gint
+sort_by_file_name (const ThunarFile *a,
+                   const ThunarFile *b)
+{
+  return strcmp (thunar_vfs_path_get_name (thunar_file_get_path (a)),
+                 thunar_vfs_path_get_name (thunar_file_get_path (b)));
+}
+
+
+
+static gint
+sort_by_group (const ThunarFile *a,
+               const ThunarFile *b)
+{
+  if (a->info->gid < b->info->gid)
+    return -1;
+  else if (a->info->gid > b->info->gid)
+    return 1;
+  else
+    return sort_by_name (a, b);
+}
+
+
+
 static gint
 sort_by_mime_type (const ThunarFile *a,
                    const ThunarFile *b)
@@ -1384,11 +1466,15 @@ sort_by_name (const ThunarFile *a,
 
 
 static gint
-sort_by_real_name (const ThunarFile *a,
-                   const ThunarFile *b)
+sort_by_owner (const ThunarFile *a,
+               const ThunarFile *b)
 {
-  return strcmp (thunar_vfs_path_get_name (thunar_file_get_path (a)),
-                 thunar_vfs_path_get_name (thunar_file_get_path (b)));
+  if (a->info->uid < b->info->uid)
+    return -1;
+  else if (a->info->uid > b->info->uid)
+    return 1;
+  else
+    return sort_by_name (a, b);
 }
 
 
diff --git a/thunar/thunar-path-entry.c b/thunar/thunar-path-entry.c
index 4d5d8c795e67489ea7ca3cc747603858c25e200b..9348848704862ab67b3b4f6dc3a4296d4789270b 100644
--- a/thunar/thunar-path-entry.c
+++ b/thunar/thunar-path-entry.c
@@ -304,7 +304,7 @@ thunar_path_entry_init (ThunarPathEntry *path_entry)
   preferences = thunar_preferences_get ();
   exo_binding_new (G_OBJECT (preferences), "last-show-hidden", G_OBJECT (store), "show-hidden");
   exo_binding_new (G_OBJECT (preferences), "misc-folders-first", G_OBJECT (store), "folders-first");
-  gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store), THUNAR_COLUMN_REAL_NAME, GTK_SORT_ASCENDING);
+  gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store), THUNAR_COLUMN_FILE_NAME, GTK_SORT_ASCENDING);
   gtk_entry_completion_set_model (completion, GTK_TREE_MODEL (store));
   g_object_unref (G_OBJECT (preferences));
   g_object_unref (G_OBJECT (store));
@@ -1055,7 +1055,7 @@ thunar_path_entry_common_prefix_lookup (ThunarPathEntry *path_entry,
       do 
         {
           /* determine the real file name for the iter */
-          gtk_tree_model_get (model, &iter, THUNAR_COLUMN_REAL_NAME, &name, -1);
+          gtk_tree_model_get (model, &iter, THUNAR_COLUMN_FILE_NAME, &name, -1);
 
           /* check if we have a valid prefix here */
           if (g_str_has_prefix (name, text))
@@ -1121,7 +1121,7 @@ thunar_path_entry_match_func (GtkEntryCompletion *completion,
 
   /* determine the real file name for the iter */
   model = gtk_entry_completion_get_model (completion);
-  gtk_tree_model_get (model, iter, THUNAR_COLUMN_REAL_NAME, &name, -1);
+  gtk_tree_model_get (model, iter, THUNAR_COLUMN_FILE_NAME, &name, -1);
   name_normalized = g_utf8_normalize (name, -1, G_NORMALIZE_ALL);
   g_free (name);
 
@@ -1158,7 +1158,7 @@ thunar_path_entry_match_selected (GtkEntryCompletion *completion,
   gtk_tree_model_get (model, iter, THUNAR_COLUMN_FILE, &file, -1);
   
   /* determine the real name for the file */
-  gtk_tree_model_get (model, iter, THUNAR_COLUMN_REAL_NAME, &real_name, -1);
+  gtk_tree_model_get (model, iter, THUNAR_COLUMN_FILE_NAME, &real_name, -1);
 
   /* append a slash if we have a folder here */
   if (G_LIKELY (thunar_file_is_directory (file)))
diff --git a/thunar/thunar-preferences.c b/thunar/thunar-preferences.c
index 55348eb0c9668af21eb63b8d591028cc9216471d..e9c1c07b5a9ad6988addaf808d46af5bfe27caed 100644
--- a/thunar/thunar-preferences.c
+++ b/thunar/thunar-preferences.c
@@ -50,6 +50,10 @@ enum
 {
   PROP_0,
   PROP_DEFAULT_VIEW,
+  PROP_LAST_DETAILS_VIEW_COLUMN_ORDER,
+  PROP_LAST_DETAILS_VIEW_COLUMN_WIDTHS,
+  PROP_LAST_DETAILS_VIEW_FIXED_COLUMNS,
+  PROP_LAST_DETAILS_VIEW_VISIBLE_COLUMNS,
   PROP_LAST_DETAILS_VIEW_ZOOM_LEVEL,
   PROP_LAST_ICON_VIEW_ZOOM_LEVEL,
   PROP_LAST_LOCATION_BAR,
@@ -189,6 +193,61 @@ thunar_preferences_class_init (ThunarPreferencesClass *klass)
                                                         "void",
                                                         EXO_PARAM_READWRITE));
 
+  /**
+   * ThunarPreferences:last-details-view-column-order:
+   *
+   * The comma separated list of columns that specifies the order of the
+   * columns in the #ThunarDetailsView.
+   **/
+  g_object_class_install_property (gobject_class,
+                                   PROP_LAST_DETAILS_VIEW_COLUMN_ORDER,
+                                   g_param_spec_string ("last-details-view-column-order",
+                                                        "last-details-view-column-order",
+                                                        "last-details-view-column-order",
+                                                        "THUNAR_COLUMN_NAME,THUNAR_COLUMN_SIZE,THUNAR_COLUMN_TYPE,THUNAR_COLUMN_DATE_MODIFIED",
+                                                        EXO_PARAM_READWRITE));
+
+  /**
+   * ThunarPreferences:last-details-view-column-widths:
+   *
+   * The comma separated list of column widths used for fixed width
+   * #ThunarDetailsView<!---->s.
+   **/
+  g_object_class_install_property (gobject_class,
+                                   PROP_LAST_DETAILS_VIEW_COLUMN_WIDTHS,
+                                   g_param_spec_string ("last-details-view-column-widths",
+                                                        "last-details-view-column-widths",
+                                                        "last-details-view-column-widths",
+                                                        "",
+                                                        EXO_PARAM_READWRITE));
+
+  /**
+   * ThunarPreferences:last-details-view-fixed-columns:
+   *
+   * %TRUE to use fixed column widths in the #ThunarDetailsView. Else the
+   * column widths will be automatically determined from the model contents.
+   **/
+  g_object_class_install_property (gobject_class,
+                                   PROP_LAST_DETAILS_VIEW_FIXED_COLUMNS,
+                                   g_param_spec_boolean ("last-details-view-fixed-columns",
+                                                         "last-details-view-fixed-columns",
+                                                         "last-details-view-fixed-columns",
+                                                         FALSE,
+                                                         EXO_PARAM_READWRITE));
+
+  /**
+   * ThunarPreferences:last-details-view-visible-columns:
+   *
+   * The comma separated list of visible columns in the #ThunarDetailsView.
+   **/
+  g_object_class_install_property (gobject_class,
+                                   PROP_LAST_DETAILS_VIEW_VISIBLE_COLUMNS,
+                                   g_param_spec_string ("last-details-view-visible-columns",
+                                                        "last-details-view-visible-columns",
+                                                        "last-details-view-visible-columns",
+                                                        "THUNAR_COLUMN_DATE_MODIFIED,THUNAR_COLUMN_NAME,THUNAR_COLUMN_SIZE,THUNAR_COLUMN_TYPE",
+                                                        EXO_PARAM_READWRITE));
+
   /**
    * ThunarPreferences:last-details-view-zoom-level:
    *
diff --git a/thunar/thunar-text-renderer.c b/thunar/thunar-text-renderer.c
index c253aa997e10ef63ef641cc2b9590825a819e581..d4a01f53871fa205ead71388969c2b6b3f1dddc2 100644
--- a/thunar/thunar-text-renderer.c
+++ b/thunar/thunar-text-renderer.c
@@ -423,6 +423,9 @@ thunar_text_renderer_get_size (GtkCellRenderer *renderer,
       /* determine the text_length in characters */
       text_length = g_utf8_strlen (text_renderer->text, -1);
 
+      /* the approximation is usually 1-2 chars wrong, so wth */
+      text_length += 2;
+
       /* calculate the appromixate text width/height */
       text_width = text_renderer->char_width * text_length;
       text_height = text_renderer->char_height;
@@ -720,6 +723,9 @@ thunar_text_renderer_set_widget (ThunarTextRenderer *text_renderer,
       text_renderer->char_height = PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) + pango_font_metrics_get_descent (metrics));
       pango_font_metrics_unref (metrics);
 
+      /* tell the cell renderer about the fixed height */
+      gtk_cell_renderer_set_fixed_size (GTK_CELL_RENDERER (text_renderer), -1, text_renderer->char_height);
+
       /* determine the focus-padding and focus-line-width style properties from the widget */
       gtk_widget_style_get (widget, "focus-padding", &focus_padding, "focus-line-width", &focus_line_width, NULL);
       text_renderer->focus_width = focus_padding + focus_line_width;