changeset 2653:011a118feecf

Improved the Index GUI using bootstrap classes in the basic theme. Used navbar to show actions instead of the previous list. Fixed the popup for new files, which was earlier always present on the index page itself. Also added smileys for the basic theme which were missing earlier.
author Ajitesh Gupta <ajgupta93@gmail.com>
date Fri, 27 Jun 2014 12:27:41 +0530
parents 9645576dd44d
children 5099cf7b32ea
files MoinMoin/apps/frontend/views.py MoinMoin/constants/contenttypes.py MoinMoin/items/__init__.py MoinMoin/items/_tests/test_Item.py MoinMoin/items/content.py MoinMoin/static/js/index_action.js MoinMoin/templates/index.html MoinMoin/themes/basic/static/css/basic.css MoinMoin/themes/basic/static/custom-less/basic.less MoinMoin/themes/basic/static/img/admonitions/caution.png MoinMoin/themes/basic/static/img/admonitions/important.png MoinMoin/themes/basic/static/img/admonitions/note.png MoinMoin/themes/basic/static/img/admonitions/tip.png MoinMoin/themes/basic/static/img/admonitions/warning.png MoinMoin/themes/basic/static/img/smileys/alert.png MoinMoin/themes/basic/static/img/smileys/angry.png MoinMoin/themes/basic/static/img/smileys/attention.png MoinMoin/themes/basic/static/img/smileys/biggrin.png MoinMoin/themes/basic/static/img/smileys/checkmark.png MoinMoin/themes/basic/static/img/smileys/devil.png MoinMoin/themes/basic/static/img/smileys/frown.png MoinMoin/themes/basic/static/img/smileys/icon-error.png MoinMoin/themes/basic/static/img/smileys/icon-info.png MoinMoin/themes/basic/static/img/smileys/idea.png MoinMoin/themes/basic/static/img/smileys/ohwell.png MoinMoin/themes/basic/static/img/smileys/prio1.png MoinMoin/themes/basic/static/img/smileys/prio2.png MoinMoin/themes/basic/static/img/smileys/prio3.png MoinMoin/themes/basic/static/img/smileys/redface.png MoinMoin/themes/basic/static/img/smileys/sad.png MoinMoin/themes/basic/static/img/smileys/smile.png MoinMoin/themes/basic/static/img/smileys/smile2.png MoinMoin/themes/basic/static/img/smileys/smile3.png MoinMoin/themes/basic/static/img/smileys/smile4.png MoinMoin/themes/basic/static/img/smileys/star_off.png MoinMoin/themes/basic/static/img/smileys/star_on.png MoinMoin/themes/basic/static/img/smileys/thumbs-up.png MoinMoin/themes/basic/static/img/smileys/tired.png MoinMoin/themes/basic/static/img/smileys/tongue.png MoinMoin/themes/basic/templates/index.html MoinMoin/themes/foobar/static/css/common.css MoinMoin/themes/foobar/static/css/stylus/main.styl MoinMoin/themes/modernized/static/css/common.css MoinMoin/themes/modernized/static/css/stylus/main.styl
diffstat 44 files changed, 687 insertions(+), 93 deletions(-) [+]
line wrap: on
line diff
--- a/MoinMoin/apps/frontend/views.py	Thu Jun 26 15:25:44 2014 +0530
+++ b/MoinMoin/apps/frontend/views.py	Fri Jun 27 12:27:41 2014 +0530
@@ -898,7 +898,7 @@
     for g in content_registry.group_names:
         description = u', '.join([e.display_name for e in content_registry.groups[g]])
         yield g, None, description
-    yield u'unknown items', None, u'Items of contenttype unknown to MoinMoin'
+    yield u'Unknown Items', None, u'Items of contenttype unknown to MoinMoin'
 
 ContenttypeGroup = MultiSelect.of(Enum.out_of(contenttype_selects_gen())).using(optional=True)
 
--- a/MoinMoin/constants/contenttypes.py	Thu Jun 26 15:25:44 2014 +0530
+++ b/MoinMoin/constants/contenttypes.py	Fri Jun 27 12:27:41 2014 +0530
@@ -107,12 +107,12 @@
     u'application/pdf': 'PDF',
 }
 
-GROUP_MARKUP_TEXT = 'markup text items'
-GROUP_OTHER_TEXT = 'other text items'
-GROUP_IMAGE = 'image items'
-GROUP_AUDIO = 'audio items'
-GROUP_VIDEO = 'video items'
-GROUP_DRAWING = 'drawing items'
-GROUP_OTHER = 'other items'
+GROUP_MARKUP_TEXT = 'Markup Text Items'
+GROUP_OTHER_TEXT = 'Other Text Items'
+GROUP_IMAGE = 'Image Items'
+GROUP_AUDIO = 'Audio Items'
+GROUP_VIDEO = 'Video Items'
+GROUP_DRAWING = 'Drawing Items'
+GROUP_OTHER = 'Other Items'
 
 DRAWING_EXTENSIONS = ['.tdraw', '.adraw', '.svg', '.png', '.jpg', '.jpeg', '.gif', ]
--- a/MoinMoin/items/__init__.py	Thu Jun 26 15:25:44 2014 +0530
+++ b/MoinMoin/items/__init__.py	Fri Jun 27 12:27:41 2014 +0530
@@ -247,7 +247,7 @@
         return form
 
 
-UNKNOWN_ITEM_GROUP = "unknown items"
+UNKNOWN_ITEM_GROUP = "Unknown Items"
 
 
 def _build_contenttype_query(groups):
--- a/MoinMoin/items/_tests/test_Item.py	Thu Jun 26 15:25:44 2014 +0530
+++ b/MoinMoin/items/_tests/test_Item.py	Fri Jun 27 12:27:41 2014 +0530
@@ -124,7 +124,7 @@
         assert files == build_index(basename, [u'ab'])
 
         # check filtered index when contenttype_groups is passed
-        ctgroups = ["other text items"]
+        ctgroups = ["Other Text Items"]
         dirs, files = baseitem.get_index(selected_groups=ctgroups)
         assert dirs == build_index(basename, [u'cd', u'ij'])
         assert files == build_index(basename, [u'ab', u'gh', u'ij'])
--- a/MoinMoin/items/content.py	Thu Jun 26 15:25:44 2014 +0530
+++ b/MoinMoin/items/content.py	Fri Jun 27 12:27:41 2014 +0530
@@ -411,7 +411,7 @@
     Fallback Content for uploaded file of unknown contenttype.
     """
     contenttype = 'application/octet-stream'
-    display_name = 'binary file'
+    display_name = 'Binary File'
 
 
 class RenderableBinary(Binary):
@@ -1037,31 +1037,31 @@
 @register
 class PlainText(Text):
     contenttype = 'text/plain'
-    display_name = 'plain text'
+    display_name = 'Plain Text'
 
 
 @register
 class Diff(Text):
     contenttype = 'text/x-diff'
-    display_name = 'diff/patch'
+    display_name = 'Diff/Patch'
 
 
 @register
 class PythonCode(Text):
     contenttype = 'text/x-python'
-    display_name = 'python code'
+    display_name = 'Python Code'
 
 
 @register
 class CSV(Text):
     contenttype = 'text/csv'
-    display_name = 'csv'
+    display_name = 'CSV'
 
 
 @register
 class IRCLog(Text):
     contenttype = 'text/x-irclog'
-    display_name = 'IRC log'
+    display_name = 'IRC Log'
 
 
 class Draw(TarMixin, Image):
--- a/MoinMoin/static/js/index_action.js	Thu Jun 26 15:25:44 2014 +0530
+++ b/MoinMoin/static/js/index_action.js	Fri Jun 27 12:27:41 2014 +0530
@@ -126,9 +126,15 @@
         if ($(this).hasClass("allitem-toselect")) {
             $(".moin-item-index div").removeClass().addClass("selected-item");
             $(this).removeClass("allitem-toselect").addClass("allitem-selected");
+            $(".moin-select-item > input[type='checkbox']").each(function () {
+                $(this).prop('checked', true);
+            });
         } else {
             $(this).removeClass("allitem-selected").addClass("allitem-toselect");
             $(".moin-item-index div").removeClass();
+            $(".moin-select-item > input[type='checkbox']").each(function () {
+                $(this).prop('checked', false);
+            });
         }
     });
 
@@ -272,6 +278,7 @@
     // add click handlers to all items shown on global index page
     $(".moin-select-item").click(function () {
         // toggle selection classes
+        $(this > "input[type='checkbox']").prop('checked', !$(this > "input[type='checkbox']").is(':checked'));
         if ($(this).parent().hasClass("selected-item")) {
             $(this).parent().removeClass("selected-item");
             if ($(".moin-select-allitem").hasClass("allitem-selected")) {
--- a/MoinMoin/templates/index.html	Thu Jun 26 15:25:44 2014 +0530
+++ b/MoinMoin/templates/index.html	Fri Jun 27 12:27:41 2014 +0530
@@ -89,7 +89,9 @@
 
 {% macro render_file_entry(e) %}
     <div>
-        <span class="moin-select-item">&nbsp;</span>
+        <span class="moin-select-item">
+            <input type="checkbox"></input>
+        </span>
         {% set mimetype = "application/x.moin.download" %}
         <a href="{{ url_for('.download_item', item_name=e.fullname, mimetype=mimetype) }}" class="moin-download-link">
         </a>
--- a/MoinMoin/themes/basic/static/css/basic.css	Thu Jun 26 15:25:44 2014 +0530
+++ b/MoinMoin/themes/basic/static/css/basic.css	Fri Jun 27 12:27:41 2014 +0530
@@ -6611,6 +6611,282 @@
 body {
   height: 100%;
 }
+#filter-btn {
+  background-color: #428bca;
+  border-radius: 3px;
+  display: inline;
+  padding: 10px;
+  color: #ffffff;
+  margin-bottom: 10px;
+}
+.moin-contenttypes-wrapper div {
+  cursor: pointer;
+  display: block;
+}
+.moin-contenttypes-wrapper form {
+  display: none;
+}
+.moin-contenttypes-wrapper form ul {
+  -webkit-padding-start: 0px;
+  -moz-padding-start: 0px;
+  overflow: hidden;
+}
+.moin-contenttypes-wrapper form li {
+  list-style-type: none;
+  float: left;
+  width: 50%;
+  border-radius: 5px;
+  display: inline;
+  padding: 5px;
+  margin-top: 5px;
+}
+.moin-contenttypes-wrapper form li label {
+  cursor: pointer;
+  display: inline;
+  line-height: 1.5em;
+  vertical-align: middle;
+  color: #1e90ff;
+}
+.moin-contenttypes-wrapper form li span {
+  font-size: .8em;
+  display: block;
+}
+.moin-contenttypes-wrapper form .filters {
+  background-color: white;
+  border: none;
+  margin-top: 1em;
+  float: none;
+  display: block;
+}
+.moin-contenttypes-wrapper form .filters .filter-toggle,
+.moin-contenttypes-wrapper form .filters .filter-more {
+  font-size: 1em;
+  background-color: #eeeeee;
+  border: 1px solid #dddddd;
+  padding: 0.5em;
+  border-radius: 0.5em;
+  margin: 0.2em;
+  text-decoration: none;
+}
+.moin-item-index div .moin-select-item {
+  display: inline-block;
+  width: 17px;
+  cursor: default;
+  margin-top: 1em;
+}
+.moin-download-link {
+  display: none;
+}
+.moin-index-message {
+  width: 50%;
+  margin: 1em auto;
+  text-align: center;
+  display: none;
+}
+.moin-index-message span {
+  padding: 4px;
+  background-color: #007cef;
+  color: #ffffff;
+  border: 1px solid #ccc;
+  border-radius: 5px;
+}
+.moin-index-path {
+  margin-left: .5em;
+}
+.moin-index-path:before {
+  content: icon-folder-close;
+  margin: 0.3em;
+}
+.moin-clr {
+  clear: both;
+}
+.moin-item-index {
+  width: 100%;
+  margin-left: 0.5em;
+}
+.moin-item-index div {
+  float: left;
+  width: 16.5em;
+}
+.moin-item-index div .moin-select-item {
+  display: inline-block;
+  width: 17px;
+  cursor: default;
+  margin-top: 1em;
+}
+.moin-index-separator {
+  clear: both;
+  border-top: 1px dashed #ccc;
+  display: none;
+}
+.popup-container {
+  margin: 0;
+  border: 5px solid #428bca;
+  border-radius: 6px 6px 0 0;
+}
+.popup-header {
+  background-color: #428bca;
+  color: #ffffff;
+  padding: 10px;
+  margin: 0;
+}
+input[value="X"] {
+  padding: 0.1px;
+  margin: -0.2em;
+  width: 19px;
+  border-radius: 2em;
+  float: right;
+}
+input[value="X"]:hover {
+  background: #f4f4f4;
+}
+input[type="text"] {
+  width: 96%;
+}
+input[type="submit"],
+input[type="button"],
+input button {
+  font-weight: bold;
+  font-size: .75em;
+  background: #d6d5d0;
+  padding: 4px 15px;
+  border: 1px solid #ccc;
+  border-radius: 6px;
+  box-shadow: 1px 1px 2px #9d9d9b;
+  cursor: pointer;
+}
+input:hover {
+  box-shadow: 1px 1px 2px #000;
+}
+input:active {
+  position: relative;
+  top: 1px;
+}
+input,
+select {
+  padding: 3px;
+  background: #f4f4f4;
+  border: 1px solid #ccc;
+  border-radius: 2px;
+}
+.popup-body {
+  clear: both;
+  background-color: #f4f4f4;
+  color: #000000;
+  padding: 10px;
+  margin: 0;
+}
+.popup-body label {
+  margin: 5px;
+}
+.popup-body input {
+  margin: 8px 5px;
+}
+#moin-initials {
+  width: 90%;
+  margin: 5px auto;
+  text-align: center;
+}
+#moin-initials a {
+  display: inline-block;
+  margin: 0;
+  padding: 4px 5px;
+}
+#moin-initials a:hover,
+#moin-initials a.selected {
+  background: #428bca;
+  border-radius: 5px;
+  color: #ffffff;
+  text-decoration: none;
+}
+#popup {
+  background: transparent;
+  padding: 5px;
+  width: 40%;
+  position: absolute;
+  top: 10%;
+  left: 30%;
+  display: none;
+  z-index: 10;
+}
+.moin-error {
+  color: #ff2727;
+  background: #d6d5d0;
+  padding: 4px;
+  margin: 1em;
+  text-align: center;
+  list-style-type: none;
+  border-radius: 5px;
+}
+.moin-textcha {
+  padding-top: .2em;
+}
+#moin-upload-cont {
+  min-height: 10px;
+}
+#file_upload {
+  margin-top: 2em;
+}
+form.upload_file {
+  background-color: #d6d5d0;
+  border: 1px solid #ccc;
+  cursor: pointer;
+  direction: ltr;
+  font-weight: bold;
+  height: 2.5em;
+  line-height: 2.5em;
+  overflow: hidden;
+  position: relative;
+  text-align: center;
+  width: 15em;
+  display: block;
+  box-shadow: 0 0 5px #9d9d9b;
+}
+form.upload_file:hover {
+  box-shadow: 0 0 5px #000;
+}
+form.upload_file input {
+  cursor: pointer;
+  height: 100%;
+  margin: 0;
+  opacity: 0;
+  position: absolute;
+}
+form.upload_file button {
+  display: none;
+}
+.file_upload_template .file_upload_start {
+  visibility: hidden;
+  border-width: 0;
+  padding: 0;
+}
+.file_upload_template .file_upload_start button {
+  width: 0;
+}
+.file_name {
+  word-break: break-all;
+  word-wrap: break-word;
+  max-width: 10em;
+}
+.upload-form {
+  display: none;
+}
+.moin-drag {
+  font-size: .7em;
+  color: #9d9d9b;
+}
+#lightbox {
+  background: #f4f4f4;
+  opacity: .7;
+  position: absolute;
+  left: 0;
+  top: 0;
+  width: 100%;
+  height: 100%;
+  z-index: 9;
+  margin: 0;
+  display: none;
+}
 .moin-content {
   padding-bottom: 100px;
 }
--- a/MoinMoin/themes/basic/static/custom-less/basic.less	Thu Jun 26 15:25:44 2014 +0530
+++ b/MoinMoin/themes/basic/static/custom-less/basic.less	Fri Jun 27 12:27:41 2014 +0530
@@ -309,6 +309,313 @@
 html, body {
   height: 100%;
 }
+// CSS definitions for Index UI borrowed from foobar and modernized theme
+#filter-btn { 
+  background-color: #428bca;
+  border-radius: 3px;
+  display: inline;
+  padding: 10px;
+  color: #ffffff;
+  margin-bottom: 10px;
+}
+.moin-contenttypes-wrapper { 
+
+  div {
+    cursor: pointer;
+    display: block;
+  }
+
+  form {
+    display: none;
+
+    ul {
+      -webkit-padding-start: 0px;
+      -moz-padding-start: 0px;
+      overflow: hidden;
+    }
+   
+    li {
+
+      list-style-type: none;
+      float: left;
+      width: 50%;
+      border-radius: 5px;
+      display: inline;
+      padding: 5px;
+      margin-top: 5px;
+
+      label {
+        cursor:  pointer;
+        display: inline;
+        line-height: 1.5em;
+        vertical-align: middle;
+        color: #1e90ff;
+      }
+
+      span {
+        font-size: .8em;
+        display: block;
+      }
+
+    }
+
+    .filters {
+      background-color: white;
+      border: none;
+      margin-top: 1em;
+      float: none;
+      display: block;
+
+      .filter-toggle, .filter-more { 
+        font-size: 1em;
+        background-color: #eeeeee;
+        border: 1px solid #dddddd;
+        padding: 0.5em;
+        border-radius: 0.5em;
+        margin: 0.2em;
+        text-decoration: none;
+      }
+    }
+  }
+}
+.moin-item-index div {
+
+  .moin-select-item {
+    display: inline-block;
+    width: 17px;
+    cursor: default;
+    margin-top: 1em;
+  }
+}
+.moin-download-link {
+  display: none;
+}
+.moin-index-message {
+  width: 50%;
+  margin: 1em auto;
+  text-align: center;
+  display: none;
+
+  span {
+    padding: 4px;
+    background-color: #007cef;
+    color: #ffffff;
+    border: 1px solid #ccc;
+    border-radius: 5px;
+  }
+}
+.moin-index-path {
+  margin-left: .5em;
+
+  &:before {
+    content: icon-folder-close;
+    margin: 0.3em
+  }
+}
+.moin-clr {
+  clear: both;
+}
+.moin-item-index {
+  width: 100%;
+  margin-left: 0.5em;
+
+  div {
+    float: left;
+    width: 16.5em;
+
+    .moin-select-item {
+      display: inline-block;
+      width: 17px;
+      cursor: default;
+      margin-top: 1em;
+    }
+  }
+}
+.moin-index-separator {
+  clear: both;
+  border-top: 1px dashed #ccc;
+  display: none;
+}
+.popup-container {
+  margin: 0;
+  border: 5px solid #428bca;
+  border-radius: 6px 6px 0 0;
+}
+.popup-header {
+  background-color: #428bca;
+  color: #ffffff;
+  padding: 10px;
+  margin: 0;
+}
+input {
+
+  &[value="X"] {
+    padding: 0.1px;
+    margin: -.2em;
+    width: 19px;
+    border-radius: 2em;
+    float: right;
+
+    &:hover {
+      background: #f4f4f4;
+    }
+  }
+
+  &[type="text"] {
+    width: 96%;
+  }
+
+  &[type="submit"],&[type="button"],button {
+    font-weight: bold;
+    font-size: .75em;
+    background: #d6d5d0;
+    padding: 4px 15px;
+    border: 1px solid #ccc;
+    border-radius: 6px;
+    box-shadow: 1px 1px 2px #9d9d9b;
+    cursor: pointer;
+  }
+
+  &:hover {
+    box-shadow: 1px 1px 2px #000;
+  }
+
+  &:active {
+    position: relative;
+    top: 1px;
+  }
+}
+input,select {
+  padding: 3px;
+  background: #f4f4f4;
+  border: 1px solid #ccc;
+  border-radius: 2px;
+}
+.popup-body {
+  clear: both;
+  background-color: #f4f4f4;
+  color: #000000;
+  padding: 10px;
+  margin: 0;
+
+  label {
+    margin: 5px;
+  }
+
+  input {
+    margin: 8px 5px;
+  }
+}
+#moin-initials {
+  width: 90%;
+  margin: 5px auto;
+  text-align: center;
+
+  a {
+    display: inline-block;
+    margin: 0;
+    padding: 4px 5px;
+
+    &:hover,&.selected {
+      background: #428bca;
+      border-radius: 5px;
+      color: #ffffff;
+      text-decoration: none
+    }
+  }
+}
+#popup {
+  background: transparent;
+  padding: 5px;
+  width: 40%;
+  position: absolute;
+  top: 10%;
+  left: 30%;
+  display: none;
+  z-index: 10;
+}
+.moin-error {
+  color: #ff2727;
+  background: #d6d5d0;
+  padding: 4px;
+  margin: 1em;
+  text-align: center;
+  list-style-type: none;
+  border-radius: 5px;
+}
+.moin-textcha {
+  padding-top: .2em;
+}
+#moin-upload-cont {
+  min-height: 10px;
+}
+#file_upload {
+  margin-top: 2em;
+}
+form.upload_file {
+  background-color: #d6d5d0;
+  border: 1px solid #ccc;
+ cursor: pointer;
+  direction: ltr;
+  font-weight: bold;
+  height: 2.5em;
+  line-height: 2.5em;
+  overflow: hidden;
+  position: relative;
+  text-align: center;
+  width: 15em;
+  display: block;
+  box-shadow: 0 0 5px #9d9d9b;
+
+  &:hover {
+    box-shadow: 0 0 5px #000;
+  }
+
+  input {
+    cursor: pointer;
+    height: 100%;
+    margin: 0;
+    opacity: 0;
+    position: absolute;
+  }
+
+  button {
+    display: none
+  }
+}
+.file_upload_template .file_upload_start {
+  visibility: hidden;
+  border-width: 0;
+  padding: 0;
+
+  button {
+    width: 0;
+  }
+}
+.file_name {
+  word-break: break-all;
+  word-wrap: break-word;
+  max-width: 10em;
+}
+.upload-form {
+  display: none;
+}
+.moin-drag {
+  font-size: .7em;
+  color: #9d9d9b;
+}
+#lightbox {
+  background: #f4f4f4;
+  opacity: .7;
+  position: absolute;
+  left: 0;
+  top: 0;
+  width: 100%;
+  height: 100%;
+  z-index: 9;
+  margin: 0;
+  display: none
+}
 .moin-content {
   padding-bottom: 100px;
 }
Binary file MoinMoin/themes/basic/static/img/admonitions/caution.png has changed
Binary file MoinMoin/themes/basic/static/img/admonitions/important.png has changed
Binary file MoinMoin/themes/basic/static/img/admonitions/note.png has changed
Binary file MoinMoin/themes/basic/static/img/admonitions/tip.png has changed
Binary file MoinMoin/themes/basic/static/img/admonitions/warning.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/alert.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/angry.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/attention.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/biggrin.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/checkmark.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/devil.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/frown.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/icon-error.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/icon-info.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/idea.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/ohwell.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/prio1.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/prio2.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/prio3.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/redface.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/sad.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/smile.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/smile2.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/smile3.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/smile4.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/star_off.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/star_on.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/thumbs-up.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/tired.png has changed
Binary file MoinMoin/themes/basic/static/img/smileys/tongue.png has changed
--- a/MoinMoin/themes/basic/templates/index.html	Thu Jun 26 15:25:44 2014 +0530
+++ b/MoinMoin/themes/basic/templates/index.html	Fri Jun 27 12:27:41 2014 +0530
@@ -6,61 +6,74 @@
     {{ itemviews }}
 {% endblock %}
 
-{% if item_name %}
-    {% set title = _("Index of subitems of '%(item_name)s'", item_name=item_name) %}
-{% else %}
-    {% set title = _("Global Index") %}
-{% endif %}
-
 {% block action_bars_inner %}
-    <ul>
-        {% if dirs or files %}
-        <li class="action-bar">
-        <div class="moin-select-all">
-            <span class="moin-select-allitem allitem-toselect" title="{{ _("Select All") }}">{{ _("Select All") }}</span>
-        </div>
-        </li>
-        {% endif %}
-        <li class="action-bar">
-        <div class="moin-select-actions">
-            <div>
-                <span class="show-action">Actions</span>
+    <nav class="navbar navbar-default" role="navigation">
+        <div class="container-fluid">
+            <div class="navbar-header">
+                {% if item_name %}
+                    {% set title = _("Index of subitems of '%(item_name)s'", item_name=item_name) %}
+                {% else %}
+                    {% set title = _("Global Index ") %}
+                {% endif %}
+                <a class="navbar-brand" href="#">{{ title }}</a>
             </div>
-            <ul>
-                <li id="moin-create-newitem">{{ _("New item") }}</li>
-                {% if dirs or files %}
-                <li id="moin-download-trigger">{{ _("Download") }}</li>
-                <li class="moin-action-tab"
-                    id="moin-delete-trigger"
-                    data-actionurl="{{ url_for('frontend.ajaxdelete', item_name=item_name) }}">
-                    {{ _("Delete") }}
-                </li>
-                <li class="moin-action-tab"
-                    id="moin-destroy-trigger"
-                    data-actionurl="{{ url_for('frontend.ajaxdestroy', item_name=item_name) }}">
-                    {{ _("Destroy") }}
-                </li>
-                {% endif %}
-            </ul>
+            <div class="collapse navbar-collapse">
+                <ul class="nav navbar-nav">
+                    {% if dirs or files %}
+                        <li class="moin-select-all"><a href="#" class="moin-select-allitem allitem-toselect">
+                           <span class="icon-ok"></span>
+                           {{ _("Select All") }}</a>
+                        </li>
+                    {% endif %}
+                    <li class="moin-select-actions"><a id="moin-create-newitem" href="#">
+                           <span class="icon-file"></span>
+                           {{ _("New Item") }}</a>
+                    </li>
+                    {% if dirs or files %}
+                    <li><a id="moin-download-trigger" href="#">
+                           <span class="icon-download-alt"></span>
+                           {{ _("Download") }}</a>
+                    </li>
+                    <li><a class="moin-action-tab"
+                           id="moin-delete-trigger"
+                           data-actionurl="{{ url_for('frontend.ajaxdelete', item_name=item_name) }}"href="#">
+                           <span class="icon-minus-sign"></span>
+                           {{ _("Delete") }}</a>
+                    </li>
+                    <li><a class="moin-action-tab"
+                           id="moin-destroy-trigger"
+                           data-actionurl="{{ url_for('frontend.ajaxdestroy', item_name=item_name) }}"href="#">
+                           <span class="icon-remove-sign"></span>
+                           {{ _("Destroy") }}</a>
+                    </li>
+                   {% endif %}
+                </ul>
+            </div>
         </div>
-        </li>
-        <li class="action-bar">
-        <div class="moin-contenttypes-wrapper">
-            <div class="ct-hide">{{ _("Filter by content type") }}</div>
-            {% set unknown_items_label = _("items having unknown mime types") %}
-            {{ gen.form.open(form, method="get", action=url_for('frontend.index', item_name=item_name)) }}
-            <ul>
-                <li>
-                    <a href="#" class="filter-toggle">&raquo; {{ _("Toggle") }}</a>
-                    <a href="#" class="filter-more">&raquo; {{ _("More") }}</a>
-                </li>
-                {{ forms.render(form['contenttype']) }}
-            </ul>
-            {{ forms.render_submit(form) }}
-            {{ gen.form.close() }}
+    </nav>
+    <div class="moin-contenttypes-wrapper">
+        <div class="ct-hide" id="filter-btn">
+            <span class="icon-filter"></span>
+            {{ _("Filter by content type") }}
         </div>
-        </li>
-    </ul>
+        {% set unknown_items_label = _("items having unknown mime types") %}
+        {{ gen.form.open(form, method="get", action=url_for('frontend.index', item_name=item_name)) }}
+        <ul>
+            <li class="filters">
+                <a href="#" class="filter-toggle">
+                    <span class="icon-refresh" style="display:inline;"></span>
+                    {{ _("Toggle") }}
+                </a>
+                <a href="#" class="filter-more">
+                    <span class="icon-plus" style="display:inline;"></span>
+                    {{ _("More") }}
+                </a>
+            </li>
+            {{ forms.render(form['contenttype']) }}
+        </ul>
+        {{ forms.render_submit(form) }}
+        {{ gen.form.close() }}
+    </div>
 {% endblock %}
 
 {% block action_bars %}
@@ -94,7 +107,9 @@
 
 {% macro render_file_entry(e) %}
     <div>
-        <span class="moin-select-item">&nbsp;</span>
+        <span class="moin-select-item">
+            <input type="checkbox">
+        </input></span>
         {% set mimetype = "application/x.moin.download" %}
         <a href="{{ url_for('.download_item', item_name=e.fullname, mimetype=mimetype) }}" class="moin-download-link">
         </a>
@@ -120,6 +135,7 @@
     {% if item_name: %}
         <h1>{{ title }}</h1>
         <div class="moin-index-path">
+            <span class="icon icon-folder-close"></span>
             <a href="{{ url_for('frontend.index') }}" title="{{ _("Global Index") }}">{{ ("..") }}</a>
             <span class="moin-path-separator">{{ ("/") }}</span>
             {% for i in range(0, item_names|count) %}
@@ -144,9 +160,15 @@
     {% if files or dirs %}
     <div id="moin-initials">
         {% if not startswith %}
-            <a class="selected" href="{{ url_for('frontend.index', item_name=item_name) }}">{{ _("All") }}</a>
+            <a class="selected" href="{{ url_for('frontend.index', item_name=item_name) }}">
+                <span class="icon-th"></span>
+                {{ _("Show All") }}
+            </a>
         {% else %}
-            <a href="{{ url_for('frontend.index', item_name=item_name) }}">{{ _("All") }}</a>
+            <a href="{{ url_for('frontend.index', item_name=item_name) }}">
+                <span class="icon-th"></span>
+                {{ _("Show All") }}
+            </a>
         {% endif %}
         {% for initial in initials %}
             {% if startswith == initial %}
--- a/MoinMoin/themes/foobar/static/css/common.css	Thu Jun 26 15:25:44 2014 +0530
+++ b/MoinMoin/themes/foobar/static/css/common.css	Fri Jun 27 12:27:41 2014 +0530
@@ -251,9 +251,7 @@
 #moin-initials a:hover,#moin-initials a.selected{background:#1e90ff;border-radius:5px;color:#fff;text-decoration:none}
 .moin-item-index{width:100%;margin-left:.5em;}
 .moin-item-index div{float:left;width:16.5em;}
-.moin-item-index div .moin-select-item{visibility:hidden;display:inline-block;width:17px;cursor:default;background:transparent url("../img/moin-checkbox-off.png") no-repeat;margin-top:1em}
-.moin-item-index div.selected-item .moin-select-item,.moin-item-index div:hover .moin-select-item{visibility:visible}
-.moin-item-index div.selected-item .moin-select-item{background-image:url("../img/moin-checkbox-on.png")}
+.moin-item-index div .moin-select-item{display:inline-block;width:17px;cursor:default;margin-top:1em}
 #lightbox{background:#f4f4f4;opacity:.7;position:absolute;left:0;top:0;width:100%;height:100%;z-index:9;margin:0;display:none}
 .filter-toggle{margin:0 .2em;font-size:.9em}
 .moin-more-index{background:transparent url("../img/moin-expand.png") no-repeat;display:inline-block;width:20px;}
--- a/MoinMoin/themes/foobar/static/css/stylus/main.styl	Thu Jun 26 15:25:44 2014 +0530
+++ b/MoinMoin/themes/foobar/static/css/stylus/main.styl	Fri Jun 27 12:27:41 2014 +0530
@@ -361,17 +361,10 @@
         float left
         width 16.5em
         .moin-select-item
-            visibility hidden
             display inline-block
             width 17px
             cursor default
-            background transparent url("../img/moin-checkbox-off.png") no-repeat
             margin-top 1em
-        &.selected-item .moin-select-item,
-        &:hover .moin-select-item
-            visibility visible
-        &.selected-item .moin-select-item
-            background-image url("../img/moin-checkbox-on.png")
 
 #lightbox
     background page_color
--- a/MoinMoin/themes/modernized/static/css/common.css	Thu Jun 26 15:25:44 2014 +0530
+++ b/MoinMoin/themes/modernized/static/css/common.css	Fri Jun 27 12:27:41 2014 +0530
@@ -372,9 +372,7 @@
 #moin-initials a:hover,#moin-initials a.selected{background:#00008b;border-radius:5px;color:#fff;text-decoration:none}
 .moin-item-index{width:99%;margin-left:.5%}
 .moin-item-index div{float:left;width:15em}
-.moin-item-index div .moin-select-item{visibility:hidden;display:inline-block;width:17px;cursor:default;background:transparent url("../img/moin-checkbox-off.png") no-repeat}
-.moin-item-index div.selected-item .moin-select-item,.moin-item-index div:hover .moin-select-item{visibility:visible}
-.moin-item-index div.selected-item .moin-select-item{background-image:url("../img/moin-checkbox-on.png")}
+.moin-item-index div .moin-select-item{display:inline-block;width:17px;cursor:default}
 .moin-align-right{text-align:right;float:right}
 .moin-align-right ul{margin:0;padding:0}
 .moin-align-right ul li.action-bar{list-style-type:none;display:inline-block;*display:inline;zoom:1}
--- a/MoinMoin/themes/modernized/static/css/stylus/main.styl	Thu Jun 26 15:25:44 2014 +0530
+++ b/MoinMoin/themes/modernized/static/css/stylus/main.styl	Fri Jun 27 12:27:41 2014 +0530
@@ -812,18 +812,9 @@
     width 15em
 
 .moin-item-index div .moin-select-item
-    visibility hidden
     display inline-block
     width 17px
     cursor default
-    background transparent url("../img/moin-checkbox-off.png") no-repeat
-
-.moin-item-index div.selected-item .moin-select-item,
-.moin-item-index div:hover .moin-select-item
-    visibility visible
-
-.moin-item-index div.selected-item .moin-select-item
-    background-image url("../img/moin-checkbox-on.png")
 
 .moin-align-right
     text-align right