improve form styling
authorTero Marttila <terom@fixme.fi>
Mon, 09 Feb 2009 07:06:49 +0200
changeset 60 759369a79527
parent 59 8ec729c5d998
child 61 d4b2b2fa9fc5
improve form styling
helpers.py
static/irclogs.css
templates/preferences.tmpl
--- a/helpers.py	Mon Feb 09 06:56:04 2009 +0200
+++ b/helpers.py	Mon Feb 09 07:06:49 2009 +0200
@@ -2,9 +2,11 @@
     Some additional helpers
 """
 
+import datetime, calendar
+
 import qmsk.web.helpers
 
-import datetime, calendar
+import preferences
 
 class Helpers (qmsk.web.helpers.Helpers) :
     """
@@ -18,14 +20,6 @@
 
         return str(tz)
 
-    def fmt_date (self, date) :
-        """
-            Formats a date
-        """
-        
-        # XXX: hardcoded
-        return date.strftime('%Y-%m-%d')
-
     def fmt_month (self, date) :
         """
             Formats a month
@@ -121,4 +115,26 @@
 
         else :
             return month.month + 1
+    
+    def fmt_time (self, time=None) :
+        """
+            Format given time, or current time
+        """
+        
+        # defaults
+        if not time :
+            time = self.now()
 
+        return time.strftime(self.ctx['prefs'][preferences.time_format])
+
+    def fmt_date (self, date=None) :
+        """
+            Format given date, or current date
+        """
+        
+        # defaults
+        if not date :
+            date = self.now()
+
+        return date.strftime(self.ctx['prefs'][preferences.date_format])
+
--- a/static/irclogs.css	Mon Feb 09 06:56:04 2009 +0200
+++ b/static/irclogs.css	Mon Feb 09 07:06:49 2009 +0200
@@ -223,4 +223,41 @@
     font-weight: bold;
 }
 
+/* Preferences form */
+fieldset {
+    background-color: #e8e8e8;
 
+    margin-bottom: 1em;
+}
+
+legend {
+    padding: 0.2em 0.5em;
+    
+    background-color: inherit;
+    border: inherit;
+}
+
+label {
+    display: block;
+    float: left;
+
+    width: 8em;
+    margin-right: 0.5em;
+
+    text-align: right;
+}
+
+fieldset input,
+fieldset select {
+    width: 15em;
+}
+
+input[type=submit] {
+    width: 8em;
+}
+
+fieldset span.example {
+    font-size: x-small;
+
+    margin-left: 1em;
+}
--- a/templates/preferences.tmpl	Mon Feb 09 06:56:04 2009 +0200
+++ b/templates/preferences.tmpl	Mon Feb 09 07:06:49 2009 +0200
@@ -6,33 +6,40 @@
     <fieldset>
         <legend>Dates / Times</legend>
         
-        <label for="timezone">Timezone:</label>
-        <select name="timezone">
-        % for tz_name in timezones :
-            <option${' selected="selected"' if tz_name == prefs[preferences.timezone].zone else ''}>${tz_name}</option>
-        % endfor
-        </select>
-        <br/>
+        <p>
+            <label for="timezone">Timezone:</label>
+            <select name="timezone">
+            % for tz_name in timezones :
+                <option${' selected="selected"' if tz_name == prefs[preferences.timezone].zone else ''}>${tz_name}</option>
+            % endfor
+            </select>
+        </p>
 
-        <label for="date_format">Date format:</label>
-        <input type="text" name="date_format" value="${prefs[preferences.date_format]}" />
-        <br/>
+        <p>
+            <label for="date_format">Date format:</label>
+            <input type="text" name="date_format" value="${prefs[preferences.date_format]}" />
+            <span class="example">(${h.fmt_date()})</span>
+        </p>
         
-        <label for="time_format">Time format:</label>
-        <input type="text" name="time_format" value="${prefs[preferences.time_format]}" />
-        <br/>
+        <p>
+            <label for="time_format">Time format:</label>
+            <input type="text" name="time_format" value="${prefs[preferences.time_format]}" />
+            <span class="example">(${h.fmt_time()})</span>
+        </p>
 
     </fieldset>
 
     <fieldset>
         <legend>Log Output</legend>
-
-        <label for="formatter">Formatter:</label>
-        <select name="formatter">
-        % for fmt_name, fmt in preferences.formatter.formatters.iteritems() :
-            <option value="${fmt_name}">${fmt.title}</option>
-        % endfor
-        </select>
+        
+        <p>
+            <label for="formatter">Formatter:</label>
+            <select name="formatter">
+            % for fmt_name, fmt in preferences.formatter.formatters.iteritems() :
+                <option value="${fmt_name}">${fmt.title}</option>
+            % endfor
+            </select>
+        </p>
     </fieldset>
 
     <input type="submit" value="Save" />