Show
Ignore:
Timestamp:
2000-08-21 08:42:19 (8 years ago)
Author:
Thomas Roessler <roessler@…>
Branch:
HEAD
Message:

patch-bac.createplus-1

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • browser.c

    r2001 r2069  
    203203        snprintf (dest, destlen, tmp, permission); 
    204204      } 
     205#ifdef USE_IMAP 
     206      else if (folder->ff->imap) 
     207      { 
     208        /* mark folders with subfolders AND mail */ 
     209        sprintf (permission, "IMAP %c", 
     210          (folder->ff->inferiors && folder->ff->selectable) ? '+' : ' '); 
     211        snprintf (tmp, sizeof (tmp), "%%%ss", fmt); 
     212        snprintf (dest, destlen, tmp, permission); 
     213      }                                         
     214#endif 
    205215      else 
    206216      { 
    207 #ifdef USE_IMAP 
    208         if (folder->ff->imap) 
    209         { 
    210           /* mark folders with subfolders AND mail */ 
    211           sprintf (permission, "IMAP %c", 
    212             (folder->ff->inferiors && folder->ff->selectable) ? '+' : ' '); 
    213           snprintf (tmp, sizeof (tmp), "%%%ss", fmt); 
    214           snprintf (dest, destlen, tmp, permission); 
    215         }                                         
    216 #endif 
     217        snprintf (tmp, sizeof (tmp), "%%%ss", fmt); 
     218        snprintf (dest, destlen, tmp, ""); 
    217219      } 
    218220      break; 
     
    253255       
    254256    case 'N': 
     257#ifdef USE_IMAP 
     258      if (mx_is_imap (folder->ff->desc)) 
     259      { 
     260        snprintf (tmp, sizeof (tmp), "%%%sd", fmt); 
     261        snprintf (dest, destlen, tmp, folder->ff->new); 
     262        break; 
     263      } 
     264#endif 
    255265      snprintf (tmp, sizeof (tmp), "%%%sc", fmt); 
    256       snprintf (dest, destlen, tmp, folder->ff->is_new ? 'N' : ' '); 
     266      snprintf (dest, destlen, tmp, folder->ff->new ? 'N' : ' '); 
    257267      break; 
    258268       
     
    328338  } 
    329339 
    330   (state->entry)[state->entrylen].is_new = new; 
     340  (state->entry)[state->entrylen].new = new; 
    331341  (state->entry)[state->entrylen].name = safe_strdup (name); 
    332342  (state->entry)[state->entrylen].desc = safe_strdup (name); 
     
    816826        break; 
    817827 
    818       case OP_NEW_MAILBOX: 
    819         mutt_error (_("Creating mailboxes is not yet supported.")); 
     828      case OP_CREATE_MAILBOX: 
     829        if (!state.imap_browse) 
     830          mutt_error (_("Create is only supported for IMAP mailboxes")); 
     831        else 
     832        { 
     833          imap_mailbox_create (LastDir); 
     834          /* TODO: find a way to detect if the new folder would appear in 
     835           *   this window, and insert it without starting over. */ 
     836          destroy_state (&state); 
     837          init_state (&state, NULL); 
     838          state.imap_browse = 1; 
     839          imap_browse (LastDir, &state); 
     840          menu->data = state.entry; 
     841          menu->current = 0;  
     842          menu->top = 0;  
     843          init_menu (&state, menu, title, sizeof (title), buffy); 
     844          MAYBE_REDRAW (menu->redraw); 
     845        } 
    820846        break; 
    821847 
     
    825851        else 
    826852        { 
    827           char msg[LONG_STRING]; 
     853          char msg[SHORT_STRING]; 
    828854          IMAP_MBOX mx; 
    829855          int nentry = menu->current; 
     
    851877          else 
    852878            mutt_message _("Mailbox not deleted."); 
     879          FREE (&mx.mbox); 
    853880        } 
    854881        break;