Merge branch 'MDL-36638-master' of git://github.com/FMCorz/moodle
authorDan Poltawski <dan@moodle.com>
Thu, 29 Nov 2012 06:53:11 +0000 (14:53 +0800)
committerDan Poltawski <dan@moodle.com>
Thu, 29 Nov 2012 06:53:11 +0000 (14:53 +0800)
33 files changed:
backup/util/ui/backup_ui_setting.class.php
backup/util/ui/renderer.php
blog/external_blogs.php
cache/renderer.php
lib/outputrenderers.php
mod/lti/mod_form.php
mod/quiz/lib.php
mod/quiz/renderer.php
mod/quiz/report/attemptsreport_table.php
mod/quiz/styles.css
mod/resource/lib.php
mod/workshop/allocation/scheduled/settings_form.php
pix/i/caution.png [new file with mode: 0644]
pix/i/caution.svg [new file with mode: 0644]
pix/i/grade_correct.png [new file with mode: 0644]
pix/i/grade_correct.svg [new file with mode: 0644]
pix/i/grade_incorrect.png [new file with mode: 0644]
pix/i/grade_incorrect.svg [new file with mode: 0644]
pix/i/grade_partiallycorrect.png [new file with mode: 0644]
pix/i/grade_partiallycorrect.svg [new file with mode: 0644]
pix/i/invalid.png [new file with mode: 0644]
pix/i/invalid.svg [new file with mode: 0644]
pix/i/preview.png [new file with mode: 0644]
pix/i/preview.svg [new file with mode: 0644]
pix/i/valid.png [new file with mode: 0644]
pix/i/valid.svg [new file with mode: 0644]
question/editlib.php
question/engine/renderer.php
question/type/rendererbase.php
theme/base/style/core.css
theme/base/style/question.css
theme/standard/style/core.css
theme/upgrade.txt

index c18d463..c778fb7 100644 (file)
@@ -400,9 +400,9 @@ class backup_setting_ui_checkbox extends backup_setting_ui {
         global $OUTPUT;
         // Checkboxes are always yes or no
         if ($this->get_value()) {
-            return $OUTPUT->pix_icon('i/tick_green_big', get_string('yes'));
+            return $OUTPUT->pix_icon('i/valid', get_string('yes'));
         } else {
-            return $OUTPUT->pix_icon('i/cross_red_big', get_string('no'));
+            return $OUTPUT->pix_icon('i/invalid', get_string('no'));
         }
     }
 
index 2a5f3da..c58f367 100644 (file)
@@ -72,8 +72,8 @@ class core_backup_renderer extends plugin_renderer_base {
      * @return string
      */
     public function backup_details($details, $nextstageurl) {
-        $yestick = $this->output->pix_icon('i/tick_green_big', get_string('yes'));
-        $notick = $this->output->pix_icon('i/cross_red_big', get_string('no'));
+        $yestick = $this->output->pix_icon('i/valid', get_string('yes'));
+        $notick = $this->output->pix_icon('i/valid', get_string('no'));
 
         $html  = html_writer::start_tag('div', array('class'=>'backup-restore'));
 
index bc91d40..57af11a 100644 (file)
@@ -81,9 +81,9 @@ if (!empty($blogs)) {
 
     foreach ($blogs as $blog) {
         if ($blog->failedlastsync) {
-            $validicon = $OUTPUT->pix_icon('i/cross_red_big', get_string('feedisinvalid', 'blog'));
+            $validicon = $OUTPUT->pix_icon('i/invalid', get_string('feedisinvalid', 'blog'));
         } else {
-            $validicon = $OUTPUT->pix_icon('i/tick_green_big', get_string('feedisvalid', 'blog'));
+            $validicon = $OUTPUT->pix_icon('i/valid', get_string('feedisvalid', 'blog'));
         }
 
         $editurl = new moodle_url('/blog/external_blog_edit.php', array('id' => $blog->id));
index 81e86b1..7e55df8 100644 (file)
@@ -101,7 +101,7 @@ class core_cache_renderer extends plugin_renderer_base {
             $row = new html_table_row(array(
                 $storename,
                 get_string('pluginname', 'cachestore_'.$store['plugin']),
-                ($store['isready'] && $store['requirementsmet']) ? $this->output->pix_icon('i/tick_green_small', '1') : '',
+                ($store['isready'] && $store['requirementsmet']) ? $this->output->pix_icon('i/valid', '1') : '',
                 $store['mappings'],
                 join(', ', $modes),
                 join(', ', $supports),
@@ -171,7 +171,7 @@ class core_cache_renderer extends plugin_renderer_base {
 
             $row = new html_table_row(array(
                 $plugin['name'],
-                ($plugin['requirementsmet']) ? $this->output->pix_icon('i/tick_green_small', '1') : '',
+                ($plugin['requirementsmet']) ? $this->output->pix_icon('i/valid', '1') : '',
                 $plugin['instances'],
                 join(', ', $modes),
                 join(', ', $supports),
@@ -321,7 +321,7 @@ class core_cache_renderer extends plugin_renderer_base {
             // Useful later: get_string('actions', 'cache').
         );
         $table->data = array();
-        $tick = $this->output->pix_icon('i/tick_green_big', '');
+        $tick = $this->output->pix_icon('i/valid', '');
         foreach ($locks as $lock) {
             $table->data[] = new html_table_row(array(
                 new html_table_cell($lock['name']),
index ddf9147..3d7f410 100644 (file)
@@ -1660,7 +1660,7 @@ class core_renderer extends renderer_base {
     public function doc_link($path, $text = '', $forcepopup = false) {
         global $CFG;
 
-        $icon = $this->pix_icon('docs', $text, 'moodle', array('class'=>'iconhelp'));
+        $icon = $this->pix_icon('docs', $text, 'moodle', array('class'=>'iconhelp icon-pre'));
 
         $url = new moodle_url(get_docs_url($path));
 
index ec1b5bf..377c07d 100644 (file)
@@ -201,7 +201,7 @@ class mod_lti_mod_form extends moodleform_mod {
                         'edit_icon_url' => (string)$OUTPUT->pix_url('t/edit'),
                         'add_icon_url' => (string)$OUTPUT->pix_url('t/add'),
                         'delete_icon_url' => (string)$OUTPUT->pix_url('t/delete'),
-                        'green_check_icon_url' => (string)$OUTPUT->pix_url('i/tick_green_small'),
+                        'green_check_icon_url' => (string)$OUTPUT->pix_url('i/valid'),
                         'warning_icon_url' => (string)$OUTPUT->pix_url('warning', 'lti'),
                         'instructor_tool_type_edit_url' => $editurl->out(false),
                         'ajax_url' => $ajaxurl->out(true),
index ad918bd..42550fc 100644 (file)
@@ -1648,7 +1648,7 @@ function quiz_extend_settings_navigation($settings, $quiznode) {
                 array('cmid'=>$PAGE->cm->id, 'sesskey'=>sesskey()));
         $node = navigation_node::create(get_string('preview', 'quiz'), $url,
                 navigation_node::TYPE_SETTING, null, 'mod_quiz_preview',
-                new pix_icon('t/preview', ''));
+                new pix_icon('i/preview', ''));
         $quiznode->add_node($node, $beforekey);
     }
 
index 759cd76..66bc79d 100644 (file)
@@ -590,7 +590,7 @@ class mod_quiz_renderer extends plugin_renderer_base {
             $flag = '';
             if ($attemptobj->is_question_flagged($slot)) {
                 $flag = html_writer::empty_tag('img', array('src' => $this->pix_url('i/flagged'),
-                        'alt' => get_string('flagged', 'question'), 'class' => 'questionflag'));
+                        'alt' => get_string('flagged', 'question'), 'class' => 'questionflag icon-post'));
             }
             if ($attemptobj->can_navigate_to($slot)) {
                 $row = array(html_writer::link($attemptobj->attempt_url($slot),
index 4b57900..1f3270e 100644 (file)
@@ -242,18 +242,17 @@ abstract class quiz_attempts_report_table extends table_sql {
 
         $flag = '';
         if ($stepdata->flagged) {
-            $flag = ' ' . $OUTPUT->pix_icon('i/flagged', get_string('flagged', 'question'),
+            $flag = $OUTPUT->pix_icon('i/flagged', get_string('flagged', 'question'),
                     'moodle', array('class' => 'questionflag'));
         }
 
         $feedbackimg = '';
         if ($state->is_finished() && $state != question_state::$needsgrading) {
-            $feedbackimg = ' ' . $this->icon_for_fraction($stepdata->fraction);
+            $feedbackimg = $this->icon_for_fraction($stepdata->fraction);
         }
 
-        $output = html_writer::tag('span', html_writer::tag('span',
-                $data . $feedbackimg . $flag,
-                array('class' => $state->get_state_class(true))), array('class' => 'que'));
+        $output = html_writer::tag('span', $feedbackimg . html_writer::tag('span',
+                $data, array('class' => $state->get_state_class(true))) . $flag, array('class' => 'que'));
 
         $url = new moodle_url('/mod/quiz/reviewquestion.php',
                 array('attempt' => $attempt->attempt, 'slot' => $slot));
@@ -275,11 +274,11 @@ abstract class quiz_attempts_report_table extends table_sql {
 
         $state = question_state::graded_state_for_fraction($fraction);
         if ($state == question_state::$gradedright) {
-            $icon = 'i/tick_green_big';
+            $icon = 'i/grade_correct';
         } else if ($state == question_state::$gradedpartial) {
-            $icon = 'i/tick_amber_big';
+            $icon = 'i/grade_partiallycorrect';
         } else {
-            $icon = 'i/cross_red_big';
+            $icon = 'i/grade_incorrect';
         }
 
         return $OUTPUT->pix_icon($icon, get_string($state->get_feedback_class(), 'question'),
index 021a2ef..6d8d193 100644 (file)
@@ -127,7 +127,7 @@ table.quizattemptsummary .noreviewmessage {color: gray;}
 
 /** Mod quiz summary **/
 #page-mod-quiz-summary #content {text-align: center;}
-#page-mod-quiz-summary .questionflag {width: 16px;height: 16px;vertical-align: middle;}
+#page-mod-quiz-summary .questionflag { vertical-align: text-bottom; }
 #page-mod-quiz-summary #quiz-timer {text-align: center; margin-top: 1em;}
 #page-mod-quiz-summary .submitbtns {margin-top: 1.5em;}
 @media print {
@@ -170,7 +170,8 @@ table.quizreviewsummary td.cell {padding: 1px 1em 1px 0.5em;text-align: left;bac
 #page-mod-quiz-report table#attempts.grades span.que,
 #page-mod-quiz-report table#attempts span.avgcell {white-space: nowrap;}
 #page-mod-quiz-report table#attempts span.que .requiresgrading {white-space: normal;}
-#page-mod-quiz-report table#attempts .questionflag {width: 16px; height: 16px; vertical-align: middle;}
+#page-mod-quiz-report table#attempts .questionflag { vertical-align: text-bottom; padding-left: 6px; }
+.dir-rtl#page-mod-quiz-report table#attempts .questionflag { padding-right: 6px; padding-left: 0; }
 
 #page-mod-quiz-report .graph.flexible-wrap {text-align:center; overflow:auto;}
 
index 65ae201..e102b37 100644 (file)
@@ -249,7 +249,7 @@ function resource_get_coursemodule_info($coursemodule) {
     }
 
     if ($resource->tobemigrated) {
-        $info->icon ='i/cross_red_big';
+        $info->icon ='i/invalid';
         return $info;
     }
     $fs = get_file_storage();
index 172506d..129be65 100644 (file)
@@ -64,23 +64,23 @@ class workshop_scheduled_allocator_form extends workshop_random_allocator_form {
         if ($current === false) {
             $mform->addElement('static', 'infostatus', get_string('currentstatusexecution', 'workshopallocation_scheduled'),
                 get_string('resultdisabled', 'workshopallocation_scheduled').' '.
-                html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('t/block'))));
+                html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('i/invalid'))));
 
         } else {
             if (!empty($current->timeallocated)) {
                 $mform->addElement('static', 'infostatus', get_string('currentstatusexecution', 'workshopallocation_scheduled'),
                     get_string('currentstatusexecution1', 'workshopallocation_scheduled', $strtimeexecuted).' '.
-                    html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('i/tick_green_big'))));
+                    html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('i/valid'))));
 
                 if ($current->resultstatus == workshop_allocation_result::STATUS_EXECUTED) {
                     $strstatus = get_string('resultexecuted', 'workshopallocation_scheduled').' '.
-                        html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('i/tick_green_big')));
+                        html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('i/valid')));
                 } else if ($current->resultstatus == workshop_allocation_result::STATUS_FAILED) {
                     $strstatus = get_string('resultfailed', 'workshopallocation_scheduled').' '.
-                        html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('i/cross_red_big')));
+                        html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('i/invalid')));
                 } else {
                     $strstatus = get_string('resultvoid', 'workshopallocation_scheduled').' '.
-                        html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('i/cross_red_big')));
+                        html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('i/invalid')));
                 }
 
                 if (!empty($current->resultmessage)) {
@@ -91,7 +91,7 @@ class workshop_scheduled_allocator_form extends workshop_random_allocator_form {
                 if ($current->timeallocated < $workshop->submissionend) {
                     $mform->addElement('static', 'infoexpected', get_string('currentstatusnext', 'workshopallocation_scheduled'),
                         get_string('currentstatusexecution2', 'workshopallocation_scheduled', $strtimeexpected).' '.
-                        html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('i/tick_amber_big'))));
+                        html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('i/caution'))));
                     $mform->addHelpButton('infoexpected', 'currentstatusnext', 'workshopallocation_scheduled');
                 } else {
                     $mform->addElement('checkbox', 'reenablescheduled', get_string('currentstatusreset', 'workshopallocation_scheduled'),
@@ -102,19 +102,19 @@ class workshop_scheduled_allocator_form extends workshop_random_allocator_form {
             } else if (empty($current->enabled)) {
                 $mform->addElement('static', 'infostatus', get_string('currentstatusexecution', 'workshopallocation_scheduled'),
                     get_string('resultdisabled', 'workshopallocation_scheduled').' '.
-                    html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('t/block'))));
+                    html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('i/invalid'))));
 
             } else if ($workshop->phase != workshop::PHASE_SUBMISSION) {
                 $mform->addElement('static', 'infostatus', get_string('currentstatusexecution', 'workshopallocation_scheduled'),
                     get_string('resultfailed', 'workshopallocation_scheduled').' '.
-                    html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('t/block'))).
+                    html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('i/invalid'))).
                     html_writer::empty_tag('br').
                     get_string('resultfailedphase', 'workshopallocation_scheduled'));
 
             } else if (empty($workshop->submissionend)) {
                 $mform->addElement('static', 'infostatus', get_string('currentstatusexecution', 'workshopallocation_scheduled'),
                     get_string('resultfailed', 'workshopallocation_scheduled').' '.
-                    html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('t/block'))).
+                    html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('i/invalid'))).
                     html_writer::empty_tag('br').
                     get_string('resultfaileddeadline', 'workshopallocation_scheduled'));
 
@@ -122,12 +122,12 @@ class workshop_scheduled_allocator_form extends workshop_random_allocator_form {
                 // next cron will execute it
                 $mform->addElement('static', 'infostatus', get_string('currentstatusexecution', 'workshopallocation_scheduled'),
                     get_string('currentstatusexecution4', 'workshopallocation_scheduled').' '.
-                    html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('i/tick_amber_big'))));
+                    html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('i/caution'))));
 
             } else {
                 $mform->addElement('static', 'infostatus', get_string('currentstatusexecution', 'workshopallocation_scheduled'),
                     get_string('currentstatusexecution3', 'workshopallocation_scheduled', $strtimeexpected).' '.
-                    html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('i/tick_amber_big'))));
+                    html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('i/caution'))));
             }
         }
 
diff --git a/pix/i/caution.png b/pix/i/caution.png
new file mode 100644 (file)
index 0000000..1733b8a
Binary files /dev/null and b/pix/i/caution.png differ
diff --git a/pix/i/caution.svg b/pix/i/caution.svg
new file mode 100644 (file)
index 0000000..3b7678d
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In  -->\r
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [\r
+       <!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">\r
+]>\r
+<svg version="1.1"\r
+        xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"\r
+        x="0px" y="0px" width="16px" height="16px" viewBox="-0.1 0 16 16" style="overflow:visible;enable-background:new -0.1 0 16 16;"\r
+        xml:space="preserve">\r
+<defs>\r
+</defs>\r
+<path style="fill:#FFB844;" d="M6.4,11.1c-2-2.5-3.7-4-3.7-4S0.3,9.5,0,9.8C5,13.1,8.1,16,8.1,16s0.2-0.7,0.6-1.8\r
+       c0.9-2.7,3.2-8.1,7.1-14.2C11.2,3.7,8.1,8.2,6.4,11.1z"/>\r
+</svg>\r
diff --git a/pix/i/grade_correct.png b/pix/i/grade_correct.png
new file mode 100644 (file)
index 0000000..11ef29b
Binary files /dev/null and b/pix/i/grade_correct.png differ
diff --git a/pix/i/grade_correct.svg b/pix/i/grade_correct.svg
new file mode 100644 (file)
index 0000000..aef9ff6
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In  -->\r
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [\r
+       <!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">\r
+]>\r
+<svg version="1.1"\r
+        xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"\r
+        x="0px" y="0px" width="16px" height="16px" viewBox="-0.1 0 16 16" style="overflow:visible;enable-background:new -0.1 0 16 16;"\r
+        xml:space="preserve">\r
+<defs>\r
+</defs>\r
+<path style="fill:#99CC33;" d="M6.4,11.1c-2-2.5-3.7-4-3.7-4S0.3,9.5,0,9.8C5,13.1,8.1,16,8.1,16s0.2-0.7,0.6-1.8\r
+       c0.9-2.7,3.2-8.1,7.1-14.2C11.2,3.7,8.1,8.2,6.4,11.1z"/>\r
+</svg>\r
diff --git a/pix/i/grade_incorrect.png b/pix/i/grade_incorrect.png
new file mode 100644 (file)
index 0000000..0f5cfe0
Binary files /dev/null and b/pix/i/grade_incorrect.png differ
diff --git a/pix/i/grade_incorrect.svg b/pix/i/grade_incorrect.svg
new file mode 100644 (file)
index 0000000..27d851b
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In  -->\r
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [\r
+       <!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">\r
+]>\r
+<svg version="1.1"\r
+        xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"\r
+        x="0px" y="0px" width="16px" height="16px" viewBox="-1.6 -0.5 16 16"\r
+        style="overflow:visible;enable-background:new -1.6 -0.5 16 16;" xml:space="preserve">\r
+<defs>\r
+</defs>\r
+<path style="fill:#FF403C;" d="M12.8,2.7L10.1,0c0,0-1.6,1.5-3.7,4C4.3,1.5,2.7,0,2.7,0L0,2.7c0,0,1.9,1.3,4.6,3.7\r
+       C3,8.7,1.3,11.6,0,14.9C2.2,12.2,4.4,9.9,6.4,8c2,1.9,4.2,4.2,6.4,6.9c-1.3-3.3-3-6.2-4.6-8.6C10.9,4,12.8,2.7,12.8,2.7z"/>\r
+</svg>\r
diff --git a/pix/i/grade_partiallycorrect.png b/pix/i/grade_partiallycorrect.png
new file mode 100644 (file)
index 0000000..1733b8a
Binary files /dev/null and b/pix/i/grade_partiallycorrect.png differ
diff --git a/pix/i/grade_partiallycorrect.svg b/pix/i/grade_partiallycorrect.svg
new file mode 100644 (file)
index 0000000..3b7678d
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In  -->\r
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [\r
+       <!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">\r
+]>\r
+<svg version="1.1"\r
+        xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"\r
+        x="0px" y="0px" width="16px" height="16px" viewBox="-0.1 0 16 16" style="overflow:visible;enable-background:new -0.1 0 16 16;"\r
+        xml:space="preserve">\r
+<defs>\r
+</defs>\r
+<path style="fill:#FFB844;" d="M6.4,11.1c-2-2.5-3.7-4-3.7-4S0.3,9.5,0,9.8C5,13.1,8.1,16,8.1,16s0.2-0.7,0.6-1.8\r
+       c0.9-2.7,3.2-8.1,7.1-14.2C11.2,3.7,8.1,8.2,6.4,11.1z"/>\r
+</svg>\r
diff --git a/pix/i/invalid.png b/pix/i/invalid.png
new file mode 100644 (file)
index 0000000..0f5cfe0
Binary files /dev/null and b/pix/i/invalid.png differ
diff --git a/pix/i/invalid.svg b/pix/i/invalid.svg
new file mode 100644 (file)
index 0000000..27d851b
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In  -->\r
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [\r
+       <!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">\r
+]>\r
+<svg version="1.1"\r
+        xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"\r
+        x="0px" y="0px" width="16px" height="16px" viewBox="-1.6 -0.5 16 16"\r
+        style="overflow:visible;enable-background:new -1.6 -0.5 16 16;" xml:space="preserve">\r
+<defs>\r
+</defs>\r
+<path style="fill:#FF403C;" d="M12.8,2.7L10.1,0c0,0-1.6,1.5-3.7,4C4.3,1.5,2.7,0,2.7,0L0,2.7c0,0,1.9,1.3,4.6,3.7\r
+       C3,8.7,1.3,11.6,0,14.9C2.2,12.2,4.4,9.9,6.4,8c2,1.9,4.2,4.2,6.4,6.9c-1.3-3.3-3-6.2-4.6-8.6C10.9,4,12.8,2.7,12.8,2.7z"/>\r
+</svg>\r
diff --git a/pix/i/preview.png b/pix/i/preview.png
new file mode 100644 (file)
index 0000000..fc2aa28
Binary files /dev/null and b/pix/i/preview.png differ
diff --git a/pix/i/preview.svg b/pix/i/preview.svg
new file mode 100644 (file)
index 0000000..3271954
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In  -->\r
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [\r
+       <!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">\r
+]>\r
+<svg version="1.1"\r
+        xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"\r
+        x="0px" y="0px" width="16px" height="16px" viewBox="0 0 16 16" style="overflow:visible;enable-background:new 0 0 16 16;"\r
+        xml:space="preserve">\r
+<defs>\r
+</defs>\r
+<path style="fill:#999999;" d="M15.5,13.4l-2.1-2.1c-0.2-0.2-0.4-0.3-0.7-0.4C13.5,9.8,14,8.5,14,7c0-3.9-3.1-7-7-7C3.1,0,0,3.1,0,7\r
+       s3.1,7,7,7c1.5,0,2.8-0.5,4-1.2c0.1,0.3,0.2,0.5,0.4,0.7l2.1,2.1c0.6,0.6,1.5,0.6,2.1,0S16.1,14,15.5,13.4z M7,11c-2.2,0-4-1.8-4-4\r
+       s1.8-4,4-4c2.2,0,4,1.8,4,4S9.2,11,7,11z"/>\r
+</svg>\r
diff --git a/pix/i/valid.png b/pix/i/valid.png
new file mode 100644 (file)
index 0000000..11ef29b
Binary files /dev/null and b/pix/i/valid.png differ
diff --git a/pix/i/valid.svg b/pix/i/valid.svg
new file mode 100644 (file)
index 0000000..aef9ff6
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In  -->\r
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [\r
+       <!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">\r
+]>\r
+<svg version="1.1"\r
+        xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"\r
+        x="0px" y="0px" width="16px" height="16px" viewBox="-0.1 0 16 16" style="overflow:visible;enable-background:new -0.1 0 16 16;"\r
+        xml:space="preserve">\r
+<defs>\r
+</defs>\r
+<path style="fill:#99CC33;" d="M6.4,11.1c-2-2.5-3.7-4-3.7-4S0.3,9.5,0,9.8C5,13.1,8.1,16,8.1,16s0.2-0.7,0.6-1.8\r
+       c0.9-2.7,3.2-8.1,7.1-14.2C11.2,3.7,8.1,8.2,6.4,11.1z"/>\r
+</svg>\r
index db535e3..d1b9c59 100644 (file)
@@ -704,7 +704,7 @@ class question_bank_preview_action_column extends question_bank_action_column_ba
         global $OUTPUT;
         if (question_has_capability_on($question, 'use')) {
             // Build the icon.
-            $image = $OUTPUT->pix_icon('t/preview', $this->strpreview);
+            $image = $OUTPUT->pix_icon('t/preview', $this->strpreview, '', array('class' => 'iconsmall'));
 
             $link = $this->qbank->preview_question_url($question);
             $action = new popup_action('click', $link, 'questionpreview',
index dbb1ddd..d0f44c0 100644 (file)
@@ -300,7 +300,7 @@ class core_question_renderer extends plugin_renderer_base {
         $editurl = new moodle_url('/question/question.php', $params);
 
         return html_writer::tag('div', html_writer::link(
-                $editurl, $this->pix_icon('i/edit', get_string('edit')) .
+                $editurl, $this->pix_icon('t/edit', get_string('edit'), '', array('class' => 'iconsmall')) .
                 get_string('editquestion', 'question')),
                 array('class' => 'editquestion'));
     }
index 14fbdad..25179a7 100644 (file)
@@ -229,16 +229,11 @@ abstract class qtype_renderer extends plugin_renderer_base {
         $state = question_state::graded_state_for_fraction($fraction);
 
         if ($state == question_state::$gradedright) {
-            $icon = 'tick_green';
+            $icon = 'grade_correct';
         } else if ($state == question_state::$gradedpartial) {
-            $icon = 'tick_amber';
+            $icon = 'grade_partiallycorrect';
         } else {
-            $icon = 'cross_red';
-        }
-        if ($selected) {
-            $icon .= '_big';
-        } else {
-            $icon .= '_small';
+            $icon = 'grade_incorrect';
         }
 
         $attributes = array(
index d317e2c..f6f2fdd 100644 (file)
@@ -90,15 +90,21 @@ a.autolink.glossary:hover {cursor: help;}
 img.resize {height: 1em;width: 1em;}
 .block img.resize,
 .breadcrumb img.resize {height: 0.9em;width: 0.8em;}
+
+/* Icon styles */
 img.icon {height:16px;vertical-align:text-bottom;width:16px;padding-right: 6px;}
 .dir-rtl img.icon {padding-left: 6px; padding-right: 0; }
 img.iconsmall {height:12px;margin-right:3px;vertical-align:middle;width:12px;}
 img.iconhelp, .helplink img {height:16px; padding-left:3px;vertical-align:text-bottom;width:16px;}
+.dir-rtl img.iconhelp, .dir-rtl .helplink img {padding-right: 3px; padding-left: 0; }
 img.iconlarge {height: 24px; width: 24px; vertical-align:middle;}
 img.iconsort { vertical-align: text-bottom; padding-left: .3em; margin-bottom: .15em;}
 .dir-rtl img.iconsort { padding-right: .3em; padding-left: 0;}
 img.icontoggle {height:17px;vertical-align:middle;width:50px;}
 img.iconkbhelp {height:17px;width:49px;}
+img.icon-pre, .dir-rtl img.icon-post { padding-right: 3px; padding-left: 0; }
+img.icon-post, .dir-rtl img.icon-pre { padding-left: 3px; padding-right: 0; }
+
 .categorybox .category {font-size:1.2em;font-weight:bold;}
 .generalbox {border:1px solid;}
 .boxaligncenter {margin-left:auto;margin-right:auto;}
@@ -191,8 +197,6 @@ a.skip:active {position: static;display: block;}
 #page-footer .logininfo,
 #page-footer .sitelink,
 #page-footer .helplink {margin:0px 10px;}
-#page-footer .helplink img.iconhelp { margin: 0 .45em 0 0 ; padding: 0;}
-.dir-rtl #page-footer .helplink img.iconhelp { margin: 0 0 0 .45em ;}
 #page-footer .performanceinfo {text-align:center;margin:10px 20%;}
 #page-footer .performanceinfo span {display:block;}
 #page-footer .validators {margin-top:40px;padding-top:5px;border-top: 1px dotted gray;}
index b5156d7..52912bc 100644 (file)
 .que .history table {width: 100%;margin: 0;}
 .que .history .current {font-weight: bold;}
 
+.que .questioncorrectnessicon { vertical-align: text-bottom; }
+.que input.questionflagimage { padding-right: 3px; }
+.dir-rtl .que input.questionflagimage { padding-left: 3px; padding-right: 0; }
+
 .importerror {margin-top: 10px;border-bottom: 1px solid #555;}
 .mform .que.comment .fitemtitle {width: 20%;}
 
index adbae91..42eb9be 100644 (file)
@@ -180,7 +180,6 @@ table.rotateheaders th.header {vertical-align: bottom;}
 #participationreportselector {text-align: center;}
 #participationreportactions {text-align: center;}
 .initialbar {text-align: center;}
-.helplink img {margin: 0 2px;}
 .closewindow,
 .tabledivider {border-width:1px;border-style:solid;border-left:0;border-right:0;border-top:0;}
 .sitetopic {margin-bottom:20px;}
index 8a6daee..0c3cc5f 100644 (file)
@@ -17,6 +17,10 @@ deprecation:
 * c/site: Use i/siteevent instead
 * c/user: Use i/userevent instead
 * t/clear: Use t/check instead
+* i/cross_red_big: Use i/invalid or i/grade_incorrect
+* i/tick_green_big: Use i/valid or i/grade_correct
+* i/tick_amber_big: Use i/caution or i/grade_partiallycorrect
+* No more small versions of i/cross_red_small, i/tick_green_small and i/tick_amber_small, use their big equivalent.
 
 optional changes:
 * new optional boolean parameter $withlinks for public function login_info() in lib/outputrenderers.php (MDL-31365)
@@ -36,6 +40,9 @@ optional changes:
 * new icons i/courseevent, i/groupevent, i/siteevent and i/userevent (16x16) instead of c/* for calendar events.
 * new icon t/markasread (12x12) to replace t/clear used in forums.
 * new icon t/check (12x12) to replace t/clear which name does not reflect the icon meaning.
+* new classes 'icon-pre' and 'icon-post' supposedly to be used when the icon is positioned before or after the text. This is not really used yet, but it's a start towards some standardisation of the icon selectors.
+* new icons i/valid, i/caution and i/invalid for generic statuses.
+* new icons i/grade_correct, i/grade_partiallycorrect and i/grade_incorrect for grades.
 
 === 2.3 ===