From c9cfd6d4bfbd8f676542ed9fbd9bdbcaede001ba Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Wed, 20 Jul 2011 05:51:31 -0400
Subject: [PATCH] - Improved parent folder selector

---
 program/steps/settings/edit_folder.inc |   19 +++++++++----------
 1 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/program/steps/settings/edit_folder.inc b/program/steps/settings/edit_folder.inc
index 440a119..70d8c56 100644
--- a/program/steps/settings/edit_folder.inc
+++ b/program/steps/settings/edit_folder.inc
@@ -106,25 +106,24 @@
         ),
     );
 
-    if (strlen($path)) {
+    if (strlen($path) || !strlen($mbox)) {
         if (!empty($options) && ($options['norename'] || $options['namespace'] != 'personal')) {
             // prevent user from moving folder
             $hidden_path = new html_hiddenfield(array('name' => '_parent', 'value' => $path));
             $form['props']['fieldsets']['location']['content']['name']['value'] .= $hidden_path->show();
         }
         else {
-            $radio1 = new html_radiobutton(array('name' => '_parent', 'value' => ''));
-            $radio2 = new html_radiobutton(array('name' => '_parent', 'value' => $path_id));
-            $selected  = isset($_POST['_parent']) ? $_POST['_parent'] : $path_id;
-
-            $html_path = str_replace($delimiter, ' &raquo; ', rcmail_localize_folderpath($path));
-
-            $folderpath = $radio1->show($selected) . Q(rcube_label('none')) . '&nbsp;'
-                .$radio2->show($selected) . Q($html_path);
+            $selected = isset($_POST['_parent']) ? $_POST['_parent'] : $path_id;
+            $select = rcmail_mailbox_select(array(
+                'name'        => '_parent',
+                'noselection' => '---',
+                'realnames'   => false,
+                'maxlength'   => 150
+            ));
 
             $form['props']['fieldsets']['location']['content']['path'] = array(
                 'label' => rcube_label('parentfolder'),
-                'value' => $folderpath,
+                'value' => $select->show($selected),
             );
         }
     }

--
Gitblit v1.9.1