Index: wp-admin/post-new.php
===================================================================
--- wp-admin/post-new.php	(revision 5668)
+++ wp-admin/post-new.php	(working copy)
@@ -24,31 +24,46 @@
 <div id="message" class="updated fade"><p><strong><?php _e('Post saved.'); ?></strong> <a href="<?php echo get_permalink( $_GET['posted'] ); ?>"><?php _e('View post'); ?> &raquo;</a></p></div>
 <?php
 endif;
-
-if ( $drafts = get_users_drafts( $user_ID ) ) { ?>
-<div class="wrap">
-<p><strong><?php _e('Your Drafts:') ?></strong>
-<?php
-// Show drafts.
-	$num_drafts = count($drafts);
-	if ( $num_drafts > 15 ) $num_drafts = 15;
-	for ( $i = 0; $i < $num_drafts; $i++ ) {
-		$draft = $drafts[$i];
-		if ( 0 != $i )
-			echo ', ';
-		if ( empty($draft->post_title) )
-			$draft->post_title = sprintf(__('Post # %s'), $draft->ID);
-		echo "<a href='post.php?action=edit&amp;post=$draft->ID' title='" . __('Edit this draft') . "'>$draft->post_title</a>";
+?>
+	
+	<?php
+	
+	$drafts = get_users_drafts( $user_ID );
+	
+	if ( !empty( $drafts ) ) {
+		$num_drafts = count( $drafts );
+		
+		echo '<div class="wrap">';
+		
+		if ( $num_drafts < 3 ) {
+			echo '<p><strong>' . __( 'Your Drafts:' ) . '</strong> ';
+			
+			$i = 0;
+			
+			foreach ( $drafts as $post ) {
+				if ( $i++ != 0 ) {
+					echo ', ';
+				}
+				
+				echo '<a href="post.php?action=edit&amp;post=' . $post->ID . '">';
+				the_title();
+				echo '</a>';
+			}
+			
+			echo '.</p>';
+		} else {
+			printf(
+				'<p>' . __( 'You currently have <a href="%s">%d drafts</a>.' ) . '</p>', 
+				'drafts.php', $num_drafts
+			);
+		}
+		
+		echo "</div>\n";
 	}
+	
+	?>
 
-	if ( 15 < count($drafts) ) { ?>
-		, <a href="edit.php"><?php echo sprintf(__('and %s more'), (count($drafts) - 15) ); ?> &raquo;</a>
-	<?php } ?>
-.</p>
-</div>
 <?php
-}
-
 // Show post form.
 $post = get_default_post_to_edit();
 include('edit-form-advanced.php');
Index: wp-admin/drafts.php
===================================================================
--- wp-admin/drafts.php	(revision 0)
+++ wp-admin/drafts.php	(revision 0)
@@ -0,0 +1,54 @@
+<?php
+
+require_once './admin.php';
+
+$parent_file = 'edit.php';
+$submenu_file = 'drafts.php';
+
+if ( !current_user_can( 'edit_posts' ) ) {
+	wp_die( __( 'Sorry, but you don&#8217;t have the capability to create and edit posts.' ) );
+}
+
+wp_enqueue_script( 'listman' );
+
+require_once './admin-header.php';
+
+$drafts = get_users_drafts( $user_ID );
+
+if ( empty( $drafts ) ) {
+?>
+	<div class="wrap">
+		<p><?php _e( 'You currently do not have any drafts.' ); ?></p>
+	</div>
+<?php
+	include_once './admin-footer.php';
+	exit;
+}
+
+?>
+	<div class="wrap">
+		<h2><?php _e( 'Your Drafts' ); ?></h2>
+		
+		<table class="widefat">
+			<thead><tr>
+				<th scope="col" style="text-align:center"><?php _e( 'ID' ); ?></th>
+				<th scope="col"><?php _e( 'Title' ); ?></th>
+				<th scope="col"><?php _e( 'Categories' ); ?></th>
+				<th scope="col"></th>
+				<th scope="col"></th>
+				<th scope="col"></th>
+			</tr></thead>
+			
+		<?php foreach ( $drafts as $post ) { ?>
+			<tr>
+				<td style="text-align:center"><?php echo $post->ID; ?></td>
+				<td><?php the_title(); ?></td>
+				<td><?php the_category( ', ' ); ?></td>
+				<td><a href="<?php echo clean_url( apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', get_permalink( $post->ID ) ) ) ); ?>" class="edit" target="_blank"><?php _e( 'Preview' ); ?></a></td>
+				<td><?php if ( current_user_can( 'edit_post', $post->ID ) ) { ?><a href="<?php bloginfo( 'wpurl' ); ?>/wp-admin/post.php?action=edit&amp;post=<?php echo $post->ID; ?>" class="edit"><?php _e( 'Edit' ); ?></a><?php } ?></td>
+				<td><?php if ( current_user_can( 'delete_post', $post->ID ) ) { ?><a href="<?php echo wp_nonce_url( 'post.php?action=delete&amp;post=' . $post->ID, 'delete-post_' . $post->ID ); ?>" class="delete" onclick="return deleteSomething( 'post', <?php echo $post->ID; ?>, '<?php echo js_escape( sprintf( __( "You are about to delete this post '%s'.\n'OK' to delete, 'Cancel' to stop." ), get_the_title() ) ); ?>' );"><?php _e( 'Delete' ); ?></a><?php } ?></td>
+			</tr>
+		<?php } ?>
+		</table>
+	</div>
+<?php include_once './admin-footer.php'; ?>
\ No newline at end of file
Index: wp-admin/menu.php
===================================================================
--- wp-admin/menu.php	(revision 5668)
+++ wp-admin/menu.php	(working copy)
@@ -36,6 +36,7 @@
 
 
 $submenu['edit.php'][5] = array(__('Posts'), 'edit_posts', 'edit.php');
+$submenu['edit.php'][7] = array( __( 'Drafts' ), 'edit_posts', 'drafts.php' );
 $submenu['edit.php'][10] = array(__('Pages'), 'edit_pages', 'edit-pages.php');
 $submenu['edit.php'][12] = array(__('Uploads'), 'upload_files', 'upload.php');
 $submenu['edit.php'][15] = array(__('Categories'), 'manage_categories', 'categories.php');
