diff -r 9d9d4de746af applications/admin/static/folder.gif
Binary file applications/admin/static/folder.gif has changed
diff -r 9d9d4de746af applications/admin/static/styles.css
--- a/applications/admin/static/styles.css	Mon Nov 01 12:38:06 2010 -0500
+++ b/applications/admin/static/styles.css	Mon Nov 01 23:11:56 2010 +0100
@@ -10,7 +10,7 @@
  img.icon { border: 0px; vertical-align: middle; }
  img.floatTL { float: left; margin-right: 1.5em; margin-bottom: 1.5em; margin-top: 0.5em; }
  body.RTLbody img.floatTL { float: right; margin-left: 1.5em; }
- a { text-decoration: none; color: #E8953C; }
+ a { text-decoration: none; color: #E8953C; font-weight: bold; }
  a:hover { text-decoration: underline; }
  textarea { font-family: Bitstream Vera Sans Mono,monospace; }
  ul { margin-bottom: 1em; }
@@ -103,5 +103,19 @@
  /* Footer */
 .untranslated { background-color: #FFCC00; }
 .translated { background-color: white; }
-.button {background-color: #DDDDDD; padding: 2px 5px 2px 5px; line-height: 25px;   -moz-border-radius: 3px;    -webkit-border-radius: 3px;}
-.box {background-color: #DDDDDD; padding: 5px; -moz-border-radius: 3px; -webkit-border-radius: 3px; }
\ No newline at end of file
+ /* Eyecandy */
+button, .button {background-color: #E8953C; padding: 2px 5px 2px 5px; line-height: 25px;   -moz-border-radius: 0.3em;    -webkit-border-radius: 0.3em; color: #fff; border: none; font-size: 100%; border: 1px solid #E8953C; font-weight: normal; }
+button:hover, .button:hover { background-color: #fff; color: #333; text-decoration: none; border: 1px solid #302D25; }
+.editbutton { background-color: #302D25; color: #E8953C; font-weight: bold; padding: 3px 6px; }
+.filebutton { background-color: #eee; color: #333; font-weight: bold; border: 1px solid #aaa; }
+.box {background-color: #DDDDDD; padding: 5px; -moz-border-radius: 3px; -webkit-border-radius: 3px; }
+.subbox { padding: 0.3em 0; border-bottom: 2px solid #fff; margin-bottom: 0.3em; }
+.main_panel { background-color: #e6e6e6; }
+.application { border-bottom: 2px solid #fff; padding: 0.5em; }
+.application h4, .appcontents h4 { font-size: 160%; font-weight: bold; padding: 0.2em 0; }
+.application img, .appcontents img { vertical-align: middle; }
+.appcontents h4 { cursor: pointer; }
+.appcontents li { list-style: none; padding: 0.2em 0; }
+h3, .pwbox { background: black url('heading_bg.png') repeat-x; color: #ddd; font-size: 120%; padding: 0.3em; font-weight: bold; -moz-border-radius: 0.3em; -webikit-border-radius: 0.3em; margin-bottom: 0.2em; }
+.pwbox { text-align: right; font-size: 120%; font-weight: normal; }
+#vernum { font-size: 120%; }
diff -r 9d9d4de746af applications/admin/views/default/design.html
--- a/applications/admin/views/default/design.html	Mon Nov 01 12:38:06 2010 -0500
+++ b/applications/admin/views/default/design.html	Mon Nov 01 23:11:56 2010 +0100
@@ -2,9 +2,9 @@
 {{
 import os
 def peekfile(path,file):
-    return A(file.replace('\\\\','/'),_href=URL('peek/%s/%s/%s' % (app, path, file)))
+    return A(file.replace('\\\\','/'),_class='button filebutton',_href=URL('peek/%s/%s/%s' % (app, path, file)))
 def editfile(path,file):
-    return A(T('edit'),_class="button",_href=URL('edit/%s/%s/%s' % (app, path, file)))
+    return A(T('edit'),_class="button editbutton",_href=URL('edit/%s/%s/%s' % (app, path, file)))
 def testfile(path,file):
     return A(T('test'),_class="button",_href=URL('test/%s/%s' % (app, file)))
 def editlanguagefile(path,file):
@@ -31,7 +31,6 @@
               INPUT(_type="submit",_value=T("submit")))
     return form
 }}
-<h1>{{=T("Edit application")}} "{{=A(app,_href=URL(app,'default','index'),_target="_blank")}}"</h1>
 <div class="right_aligned">
 <a class="button" href="#" onclick="jQuery('h2').click();return false">{{=T("collapse")}}</a>
 <a class="button" href="#models">{{=T("models")}}</a>
@@ -44,8 +43,11 @@
 </div>
 <br/>
 
-<h2 id="models" onclick="collapse('models_inner');">
-<img src="{{=URL('static','folder.gif')}}"/> {{=T("Models")}}</h2>
+<div class="box appcontents">
+<div class="subbox">
+<h3>{{=T("Edit application")}} "{{=A(app,_href=URL(app,'default','index'),_target="_blank")}}"</h3>
+<h4 id="models" onclick="collapse('models_inner');">
+<img src="{{=URL('static','folder.gif')}}"/> {{=T("Models")}}</h4>
 <div id="models_inner">
 <i>{{=T("the data representation, define database tables and sets")}}</i>
 <br/><br/>
@@ -61,13 +63,15 @@
 <li>{{=file_create_form('%s/models/' % app)}}</li>
 </ul>
 </div>
+</div>
 
+<div class="subbox">
 {{
 controller_functions=[]
 for c in controllers: controller_functions+=[c[:-3]+'/%s.html'%x for x in functions[c]]
 }}
-<h2 id="controllers" onclick="collapse('controllers_inner');">
-<img src="{{=URL('static','folder.gif')}}"/> {{=T("Controllers")}}</h2>
+<h4 id="controllers" onclick="collapse('controllers_inner');">
+<img src="{{=URL('static','folder.gif')}}"/> {{=T("Controllers")}}</h4>
 <div id="controllers_inner"><i>{{=T("the application logic, each URL path is mapped in one exposed function in the controller")}}</i>
 <br/><br/>
 {{if not controllers:}}{{=T("There are no controllers")}}{{else:}}
@@ -89,9 +93,12 @@
   <li>{{=file_create_form('%s/controllers/' % app)}}</li>
 </ul>
 </div>
+</div>
 
-<h2 id="views" onclick="collapse('views_inner');">
-<img src="{{=URL('static','folder.gif')}}"/> {{=T("Views")}}</h2>
+
+<div class="subbox">
+<h4 id="views" onclick="collapse('views_inner');">
+<img src="{{=URL('static','folder.gif')}}"/> {{=T("Views")}}</h4>
 <div id="views_inner"><i>{{=T("the presentations layer, views are also known as templates")}}</i>
 <br/><br/>
 <a class="button" href="{{=LAYOUTS_APP}}">{{=T("download layouts")}}</a>
@@ -109,9 +116,12 @@
 <li>{{=file_create_form('%s/views/' % app)}}</li>
 </ul>
 </div>
+</div>
 
-<h2 id="languages" onclick="collapse('languages_inner');">
-<img src="{{=URL('static','folder.gif')}}"/> {{=T("Languages")}}</h2>
+
+<div class="subbox">
+<h4 id="languages" onclick="collapse('languages_inner');">
+<img src="{{=URL('static','folder.gif')}}"/> {{=T("Languages")}}</h4>
 <div id="languages_inner"><i>{{=T("translation strings for the application")}}</i>
 <br/><br/>
 {{=A(T('update all languages'),_class="button",_href=URL('update_languages/'+app))}}<br/>
@@ -124,9 +134,12 @@
 <li>{{=file_create_form('%s/languages/' % app)}}{{=T('(something like "it-it")')}}</li>
 </ul>
 </div>
+</div>
 
-<h2 id="static" onclick="collapse('static_inner');">
-<img src="{{=URL('static','folder.gif')}}"/> {{=T("Static files")}}</h2>
+
+<div class="subbox">
+<h4 id="static" onclick="collapse('static_inner');">
+<img src="{{=URL('static','folder.gif')}}"/> {{=T("Static files")}}</h4>
 <div id="static_inner"><i>{{=T("these files are served without processing, your images go here")}}</i>
 <br/><br/>
 {{if not statics:}}{{=T("There are no static files")}}{{pass}}
@@ -142,7 +155,7 @@
         if i>=len(path):
             path.append(file_path[i])
             thispath='static__'+'__'.join(path)
-}}<li>{{='/'.join(file_path[:i]+[''])}}<a href="javascript:collapse('{{=thispath}}');">{{=file_path[i]}}/</a></li><div id="{{=thispath}}" style="display: none;">{{
+            }}<li>{{='/'.join(file_path[:i]+[''])}}<a class="button" href="javascript:collapse('{{=thispath}}');"><img src="{{=URL('static', 'folder_sm.gif')}}" /> {{=file_path[i]}}/</a></li><div id="{{=thispath}}" style="display: none;">{{
         elif i>=len(file_path) or path[i]!=file_path[i]:
             file_path=file_path[:i]
             for j in range(len(path)-1,i-1,-1):
@@ -153,7 +166,7 @@
         i=i+1
         pass
     if filename:
-}}<li>{{='/'.join(file_path[:i]+[''])}}<a href="{{=URL(a=app,c='static',f=file)}}">{{=filename}}</a> {{=editfile('static',file)}} <a class="button" href="{{=URL('delete',args=[app,'static',file],vars=dict(sender=request.function+'/'+app))}}">{{=T("delete")}}</a></li>{{
+}}<li>{{='/'.join(file_path[:i]+[''])}}<a class="button filebutton" href="{{=URL(a=app,c='static',f=file)}}">{{=filename}}</a> {{=editfile('static',file)}} <a class="button" href="{{=URL('delete',args=[app,'static',file],vars=dict(sender=request.function+'/'+app))}}">{{=T("delete")}}</a></li>{{
         pass
     pass
 }}
@@ -162,9 +175,11 @@
 <li>{{=file_upload_form('%s/static/' % app)}}</li>
 </ul>
 </div>
+</div>
 
-<h2 id="modules" onclick="collapse('modules_inner');">
-<img src="{{=URL('static','folder.gif')}}"/> {{=T("Modules")}}</h2>
+<div class="subbox">
+<h4 id="modules" onclick="collapse('modules_inner');">
+<img src="{{=URL('static','folder.gif')}}"/> {{=T("Modules")}}</h4>
 <div id="modules_inner"><i>{{=T("additional code for your application")}}</i>
 <br/><br/>
 {{if not modules:}}
@@ -179,9 +194,12 @@
 <li>{{=file_upload_form('%s/modules/' % app)}}</li>
 </ul>
 </div>
+</div>
 
-<h2 id="plugins" onclick="collapse('plugins_inner');">
-<img src="{{=URL('static','folder.gif')}}"/> {{=T("Plugins")}}</h2>
+
+<div class="subbox">
+<h4 id="plugins" onclick="collapse('plugins_inner');">
+<img src="{{=URL('static','folder.gif')}}"/> {{=T("Plugins")}}</h4>
 <div id="plugins_inner"><i>{{=T("To create a plugin, name a file/folder plugin_[name]")}}</i>
 <br/><br/>
 <a class="button" href="{{=PLUGINS_APP}}">{{=T("download plugins")}}</a>
@@ -192,3 +210,6 @@
 <li>{{=upload_plugin_form(app)}}</li>
 </ul>
 </div>
+</div>
+
+</div>
diff -r 9d9d4de746af applications/admin/views/default/edit.html
--- a/applications/admin/views/default/edit.html	Mon Nov 01 12:38:06 2010 -0500
+++ b/applications/admin/views/default/edit.html	Mon Nov 01 23:11:56 2010 +0100
@@ -12,7 +12,6 @@
 });
 </script>
 {{pass}}
-
 <h1>{{=T('Editing file "%s"',filename)}}</h1>
 
 <div style="text-align:left;" id="exposed">
@@ -41,18 +40,19 @@
 <br/><br/>
 
 <form action="{{=URL('edit',args=filename)}}" method="post">
-<input type="submit" value="save" name="save" onclick="return doClickSave();"/>
+  <button class="editbutton" type="submit" value="save" name="save" onclick="return doClickSave();">{{=T('Save')}}</button>
 {{=T('Saved file hash:')}}
 <input type="input" name="file_hash" value="{{=file_hash}}" readonly="readonly"/>
 {{=T('Last saved on:')}} <input type="input" name="saved_on" value="{{=saved_on}}" readonly="readonly"/>
 <br/>
+<br/>
 {{if TEXT_EDITOR=='amy':}}
 <textarea style="width: auto; height:400px;direction:ltr;" rows="58" cols="100" -amy-enabled="true" id="body" name="data">{{=data}}</textarea>
 {{else:}}
 <textarea cols="80" rows="25" id="body" style="width: 100%;direction:ltr;" name="data">{{=data}}</textarea>
 {{pass}}
 <br/>
-<button onclick="window.location.reload(); return false">{{=T('restore')}}</button> {{=T('currently saved or')}} <input type="submit" name="revert" value="{{=T('revert')}}" />
+<button class="editbutton" onclick="window.location.reload(); return false">{{=T('restore')}}</button> {{=T('currently saved or')}} <button class="editbutton" type="submit" name="revert">{{=T('revert')}}</button>
 {{=T('to  previous version.')}}
 <br/>
 </form>
diff -r 9d9d4de746af applications/admin/views/default/site.html
--- a/applications/admin/views/default/site.html	Mon Nov 01 12:38:06 2010 -0500
+++ b/applications/admin/views/default/site.html	Mon Nov 01 23:11:56 2010 +0100
@@ -1,16 +1,17 @@
 {{extend 'layout.html'}}
 {{import os, glob}}
 
-<h1>{{=T("Installed applications")}}</h1>
-
 <table padding="5px"><tr><td width="60%">
+<div class="main_panel box">
+<h3>{{=T("Installed applications")}}</h3>
 {{for a in apps:}} 
+<div class="application">
 {{if a==request.application:}}
-<h2><img src="{{=URL('static','folder.gif')}}"/><a href="#nil">{{=a}}</a></h2>  
+<h4><img src="{{=URL('static','folder_current.gif')}}"/>{{=a}}</h2>  
 {{else:}}
-<h2><img src="{{=URL('static','folder.gif')}}"/><a href="{{=URL(a,'default','index')}}">{{=a}}</a></h2> 
+<h4><img src="{{=URL('static','folder.gif')}}"/><a href="{{=URL(a,'default','index')}}">{{=a}}</a></h2> 
 {{if not os.path.exists('applications/%s/compiled' % a):}}
-<a class="button" href="{{=URL('design',args=a)}}">{{=T("EDIT")}}</a>
+<a class="button editbutton" href="{{=URL('design',args=a)}}">{{=T("EDIT")}}</a>
 {{else:}}
 <a class="button" href="{{=URL(a,'appadmin','index')}}">{{=T("appadmin")}}</a>
 {{pass}}
@@ -31,13 +32,19 @@
 <a class="button" href="{{=URL('uninstall',args=a)}}">{{=T("uninstall")}}</a> 
 {{pass}}
 <br/>
+</div>
 {{pass}}
 <br/>
+</div>
 
 </td><td align="right">
+<div class="box pwbox">
+<a class="button" href="{{=URL('change_password')}}">{{=T('change admin password')}}</a>
+</div>
+<br/>
 <div class="box">
-<h3>{{=T('Version')}}</h3>
-web2py {{=myversion}}<br />
+<h3>{{=T('web2py Version')}}</h3>
+<strong id="vernum">{{=myversion}}</strong><br />
 {{if session.check_version:}}
 <div id="check_version">
 {{=T('Checking for upgrades...')}}
@@ -45,28 +52,41 @@
 <script>ajax('{{=URL('check_version')}}',[],'check_version');</script>{{session.check_version=False}}
 {{else:}}
 <div id="check_version">
-{{=A(T('click to check for upgrades'),_href="javascript:ajax('"+URL('check_version')+"',[],'check_version')")}}
+{{=A(T('click to check for upgrades'),_class="button",_href="javascript:ajax('"+URL('check_version')+"',[],'check_version')")}}
 </div>
 {{pass}}
-<a href="{{=URL('upgrade_web2py')}}">{{=T('upgrade web2py now')}}</a>
+<a class="button" href="{{=URL('upgrade_web2py')}}">{{=T('upgrade web2py now')}}</a>
 </div><br/>
 
 <div class="box">
-<h3>{{=T("Create new application using the Wizard")}}</h3>
-<a href="{{=URL('wizard','index')}}">{{=T('start wizard')}}</a>
-(requires network)
+<h3>{{=T("New application wizard")}}</h3>
+<a class="button" href="{{=URL('wizard','index')}}">{{=T('start wizard')}}</a>
+<strong>requires network</strong>
 </div><br/>
 
 <div class="box">
-<h3>{{=T("Create new simple application")}}</h3>
-<form action="" enctype="multipart/form-data" method="post"><table padding="0"><tr><td class="nowrap">{{=T("create new application:")}} </td><td><input name="filename" type="text" /></td></tr><tr><td></td><td><input type="submit" value="{{=T('create')}}" /></td></tr></table><div class="hidden"></div></form>
+<h3>{{=T("New simple application")}}</h3>
+<form action="" enctype="multipart/form-data" method="post">{{=T("Application name:")}} <input name="filename" type="text" /> <button type="submit">{{=T('create')}}</button> <div class="hidden"></div></form>
 </div><br/>
 
 
 <div class="box">
 <h3>{{=T("Upload & install packed application")}}</h3>
-<form action="" enctype="multipart/form-data" method="post"><table padding="0"><tr><td class="nowrap">{{=T("upload application:")}} </td><td><input name="file" type="file" /></td></tr><tr><td class="nowrap">{{=T("or provide app url:")}} </td><td><input name="appurl" type="text" /></td></tr><tr><td class="nowrap">{{=T("and rename it (required):")}}</td><td><input name="filename" type="text" /></td></tr><tr><td class="nowrap">{{=T("overwrite installed app")}}</td><td><input type="checkbox" name="overwrite_check"}}/></td></tr><tr><td></td><td><input type="submit" value="{{=T('install')}}" />
-</td></tr></table><div class="hidden"></div></form>
+<form action="" enctype="multipart/form-data" method="post">
+<div class="subbox">
+<h4>{{=T("Upload a package")}}</h4>
+<label for="file">File:</label> <input id="file" name="file" type="file" />
+</div>
+<div class="subbox">
+<h4>{{=T("or provide app url:")}}</h4>
+<label for="appurl">URL:</label> <input id="appurl" name="appurl" type="text" /><br />
+<label for="url_filename">{{=T("Rename (required):")}}</label> <input id="url_filename" name="filename" type="text" />
+</div>
+<div class="subbox">
+<input type="checkbox" name="overwrite_check"}}/> {{=T("overwrite installed app")}}
+</div>
+<button type="submit">{{=T('install')}}</button>
+<div class="hidden"></div></form>
 
 
 
@@ -75,7 +95,7 @@
 
 <div class="box">
 <h3>{{=T("Deploy on Google App Engine")}}</h3>
-<a href="{{=URL(request.application,'gae','deploy')}}"><img src="{{=URL(r=request,c='static',f='gae.png')}}" alt="deploy"/></a>
+<a class="button" href="{{=URL(request.application,'gae','deploy')}}">deploy</a>
 </div><br/>
 
 <div class="box">
@@ -85,8 +105,4 @@
   jQuery(document).ready(function(){jQuery('#tweets').load('{{=URL('twitter')}}')});
 </script>
 </div><br/>
-
-<div class="box">
-<a href="{{=URL('change_password')}}">{{=T('change admin password')}}</a>
-<br/>
 </td></tr></table>
