Index: src/poi.c
===================================================================
--- src/poi.c	(revision 14)
+++ src/poi.c	(revision 15)
@@ -1228,6 +1228,7 @@
     GtkTextIter begin, end;
     DeletePOI dpoi;
     PoiCategoryEditInfo pcedit;
+    gint cols = (DEG_FORMAT_ENUM_TEXT[_degformat].field_2_in_use) ? 6 : 4;
 
     gchar tmp1[LL_FMT_LEN], tmp2[LL_FMT_LEN];
     
@@ -1243,31 +1244,30 @@
     else if(_degformat != last_deg_format)
     	last_deg_format = _degformat;
 
-    if (is_add_dialog)
-    {
-        dialog = gtk_dialog_new_with_buttons(_("Add POI"),
-                GTK_WINDOW(parent), GTK_DIALOG_MODAL,
-                GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
-                GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT,
-                NULL);
-    }
-    else
-    {
-        dialog = gtk_dialog_new_with_buttons(_("Edit POI"),
-                GTK_WINDOW(parent), GTK_DIALOG_MODAL,
-                GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
-                NULL);
+    dialog = gtk_dialog_new_with_buttons(_("Add POI"),
+            GTK_WINDOW(parent), GTK_DIALOG_MODAL,
+            GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
+            NULL);
 
+    if (!is_add_dialog)
+    {
         gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->action_area),
                 btn_delete = gtk_button_new_with_label(_("Delete...")));
-
-        gtk_dialog_add_button(GTK_DIALOG(dialog),
-                GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT);
+        g_signal_connect(G_OBJECT(btn_delete), "clicked",
+                G_CALLBACK(poi_delete), &dpoi);
     }
 
+    gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->action_area),
+            btn_catedit = gtk_button_new_with_label(_("Edit Cats...")));
+    g_signal_connect(G_OBJECT(btn_catedit), "clicked",
+            G_CALLBACK(poi_edit_cat), &pcedit);
+
+    gtk_dialog_add_button(GTK_DIALOG(dialog),
+            GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT);
+
     /* Set the lat/lon strings. */
     gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox),
-            table = gtk_table_new(6, 4, FALSE), TRUE, TRUE, 0);
+            table = gtk_table_new(6, cols, FALSE), TRUE, TRUE, 0);
 
     gtk_table_attach(GTK_TABLE(table),
             label = gtk_label_new(DEG_FORMAT_ENUM_TEXT[_degformat]
@@ -1292,31 +1292,23 @@
     }
 
     gtk_table_attach(GTK_TABLE(table),
-            label = gtk_label_new(_("Label")),
-            0, 1, 1, 2, GTK_FILL, 0, 2, 0);
+            label = gtk_label_new(_("Cat")),
+            cols - 2, cols - 1, 0, 1, GTK_FILL, 0, 2, 0);
     gtk_misc_set_alignment(GTK_MISC(label), 1.f, 0.5f);
     gtk_table_attach(GTK_TABLE(table),
-            txt_label = gtk_entry_new(),
-            1, 4, 1, 2, GTK_EXPAND | GTK_FILL, 0, 2, 0);
+            cmb_category = poi_create_cat_combo(),
+            cols - 1, cols - 0, 0, 1, GTK_EXPAND | GTK_FILL, 0, 2, 0);
 
     gtk_table_attach(GTK_TABLE(table),
-            label = gtk_label_new(_("Category")),
-            0, 1, 3, 4, GTK_FILL, 0, 2, 0);
+            label = gtk_label_new(_("Label")),
+            0, 1, 1, 2, GTK_FILL, 0, 2, 0);
     gtk_misc_set_alignment(GTK_MISC(label), 1.f, 0.5f);
     gtk_table_attach(GTK_TABLE(table),
-            hbox = gtk_hbox_new(FALSE, 4),
-            1, 4, 3, 4, GTK_EXPAND | GTK_FILL, 0, 2, 0);
-    gtk_box_pack_start(GTK_BOX(hbox),
-            cmb_category = poi_create_cat_combo(),
-            FALSE, FALSE, 0);
+            txt_label = gtk_entry_new(),
+            1, cols, 1, 2, GTK_EXPAND | GTK_FILL, 0, 2, 0);
 
-    gtk_box_pack_start(GTK_BOX(hbox),
-            btn_catedit = gtk_button_new_with_label(
-                _("Edit Categories...")),
-            FALSE, FALSE, 0);
-
     gtk_table_attach(GTK_TABLE(table),
-            label = gtk_label_new(_("Description")),
+            label = gtk_label_new(_("Desc")),
             0, 1, 5, 6, GTK_FILL, GTK_FILL, 2, 0);
     gtk_misc_set_alignment(GTK_MISC(label), 1.f, 0.0f);
 
@@ -1325,22 +1317,20 @@
             GTK_SHADOW_IN);
     gtk_table_attach(GTK_TABLE(table),
             txt_scroll,
-            1, 4, 5, 6, GTK_EXPAND | GTK_FILL, 0, 2, 0);
+            1, cols, 5, 6, GTK_EXPAND | GTK_FILL, 0, 2, 0);
 
     gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(txt_scroll),
-            GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+            GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
 
     txt_desc = gtk_text_view_new();
-    gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(txt_desc), GTK_WRAP_WORD);
+    gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(txt_desc),
+            GTK_WRAP_WORD_CHAR);
 
     gtk_container_add(GTK_CONTAINER(txt_scroll), txt_desc);
-    gtk_widget_set_size_request(GTK_WIDGET(txt_scroll), 550, 120);
+    gtk_widget_set_size_request(GTK_WIDGET(txt_scroll), 600, 200);
 
     desc_txt = gtk_text_view_get_buffer(GTK_TEXT_VIEW (txt_desc));
 
-    g_signal_connect(G_OBJECT(btn_catedit), "clicked",
-            G_CALLBACK(poi_edit_cat), &pcedit);
-
     dpoi.txt_label = NULL;
     dpoi.deleted = FALSE;
     if (!is_add_dialog)
@@ -1348,9 +1338,6 @@
         dpoi.dialog = dialog;
         dpoi.txt_label = g_strdup(poi->label);
         dpoi.id = poi->poi_id;
-
-        g_signal_connect(G_OBJECT(btn_delete), "clicked",
-                G_CALLBACK(poi_delete), &dpoi);
     }
 
     /* Lat/Lon */
