diff --git a/backup/util/ui/backup_ui_setting.class.php b/backup/util/ui/backup_ui_setting.class.php
index c18d46338cf..c778fb7130e 100644
--- a/backup/util/ui/backup_ui_setting.class.php
+++ b/backup/util/ui/backup_ui_setting.class.php
@@ -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'));
}
}
diff --git a/backup/util/ui/renderer.php b/backup/util/ui/renderer.php
index 2a5f3dac3e2..c58f3677787 100644
--- a/backup/util/ui/renderer.php
+++ b/backup/util/ui/renderer.php
@@ -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'));
diff --git a/blog/external_blogs.php b/blog/external_blogs.php
index bc91d4061dd..57af11a057b 100644
--- a/blog/external_blogs.php
+++ b/blog/external_blogs.php
@@ -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));
diff --git a/cache/renderer.php b/cache/renderer.php
index 81e86b14cc7..7e55df8bf04 100644
--- a/cache/renderer.php
+++ b/cache/renderer.php
@@ -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']),
diff --git a/lib/outputrenderers.php b/lib/outputrenderers.php
index ddf914763c9..3d7f41034f6 100644
--- a/lib/outputrenderers.php
+++ b/lib/outputrenderers.php
@@ -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));
diff --git a/mod/lti/mod_form.php b/mod/lti/mod_form.php
index ec1b5bf4c81..377c07da100 100644
--- a/mod/lti/mod_form.php
+++ b/mod/lti/mod_form.php
@@ -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),
diff --git a/mod/quiz/lib.php b/mod/quiz/lib.php
index ad918bdbe67..42550fc80a7 100644
--- a/mod/quiz/lib.php
+++ b/mod/quiz/lib.php
@@ -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);
}
diff --git a/mod/quiz/renderer.php b/mod/quiz/renderer.php
index 759cd7648ab..66bc79d4f6f 100644
--- a/mod/quiz/renderer.php
+++ b/mod/quiz/renderer.php
@@ -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),
diff --git a/mod/quiz/report/attemptsreport_table.php b/mod/quiz/report/attemptsreport_table.php
index 4b579008f5f..1f3270e2119 100644
--- a/mod/quiz/report/attemptsreport_table.php
+++ b/mod/quiz/report/attemptsreport_table.php
@@ -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'),
diff --git a/mod/quiz/styles.css b/mod/quiz/styles.css
index 021a2efb6f2..6d8d1934c24 100644
--- a/mod/quiz/styles.css
+++ b/mod/quiz/styles.css
@@ -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;}
diff --git a/mod/resource/lib.php b/mod/resource/lib.php
index 65ae201c914..e102b37ecf0 100644
--- a/mod/resource/lib.php
+++ b/mod/resource/lib.php
@@ -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();
diff --git a/mod/workshop/allocation/scheduled/settings_form.php b/mod/workshop/allocation/scheduled/settings_form.php
index 172506d2093..129be659758 100644
--- a/mod/workshop/allocation/scheduled/settings_form.php
+++ b/mod/workshop/allocation/scheduled/settings_form.php
@@ -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
index 00000000000..1733b8ab492
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
index 00000000000..3b7678dfe6d
--- /dev/null
+++ b/pix/i/caution.svg
@@ -0,0 +1,14 @@
+
+
+
+]>
+
diff --git a/pix/i/grade_correct.png b/pix/i/grade_correct.png
new file mode 100644
index 00000000000..11ef29bc3ad
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
index 00000000000..aef9ff69edd
--- /dev/null
+++ b/pix/i/grade_correct.svg
@@ -0,0 +1,14 @@
+
+
+
+]>
+
diff --git a/pix/i/grade_incorrect.png b/pix/i/grade_incorrect.png
new file mode 100644
index 00000000000..0f5cfe0748c
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
index 00000000000..27d851bde4f
--- /dev/null
+++ b/pix/i/grade_incorrect.svg
@@ -0,0 +1,14 @@
+
+
+
+]>
+
diff --git a/pix/i/grade_partiallycorrect.png b/pix/i/grade_partiallycorrect.png
new file mode 100644
index 00000000000..1733b8ab492
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
index 00000000000..3b7678dfe6d
--- /dev/null
+++ b/pix/i/grade_partiallycorrect.svg
@@ -0,0 +1,14 @@
+
+
+
+]>
+
diff --git a/pix/i/invalid.png b/pix/i/invalid.png
new file mode 100644
index 00000000000..0f5cfe0748c
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
index 00000000000..27d851bde4f
--- /dev/null
+++ b/pix/i/invalid.svg
@@ -0,0 +1,14 @@
+
+
+
+]>
+
diff --git a/pix/i/preview.png b/pix/i/preview.png
new file mode 100644
index 00000000000..fc2aa28950f
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
index 00000000000..3271954c770
--- /dev/null
+++ b/pix/i/preview.svg
@@ -0,0 +1,15 @@
+
+
+
+]>
+
diff --git a/pix/i/valid.png b/pix/i/valid.png
new file mode 100644
index 00000000000..11ef29bc3ad
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
index 00000000000..aef9ff69edd
--- /dev/null
+++ b/pix/i/valid.svg
@@ -0,0 +1,14 @@
+
+
+
+]>
+
diff --git a/question/editlib.php b/question/editlib.php
index db535e34444..d1b9c592c06 100644
--- a/question/editlib.php
+++ b/question/editlib.php
@@ -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',
diff --git a/question/engine/renderer.php b/question/engine/renderer.php
index dbb1ddd4a00..d0f44c0ad18 100644
--- a/question/engine/renderer.php
+++ b/question/engine/renderer.php
@@ -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'));
}
diff --git a/question/type/rendererbase.php b/question/type/rendererbase.php
index 14fbdad93d5..25179a70546 100644
--- a/question/type/rendererbase.php
+++ b/question/type/rendererbase.php
@@ -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(
diff --git a/theme/base/style/core.css b/theme/base/style/core.css
index d317e2cff81..f6f2fddfb84 100644
--- a/theme/base/style/core.css
+++ b/theme/base/style/core.css
@@ -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;}
diff --git a/theme/base/style/question.css b/theme/base/style/question.css
index b5156d736b0..52912bc84f3 100644
--- a/theme/base/style/question.css
+++ b/theme/base/style/question.css
@@ -87,6 +87,10 @@
.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%;}
diff --git a/theme/standard/style/core.css b/theme/standard/style/core.css
index adbae91e578..42eb9be1cdf 100644
--- a/theme/standard/style/core.css
+++ b/theme/standard/style/core.css
@@ -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;}
diff --git a/theme/upgrade.txt b/theme/upgrade.txt
index 8a6daee760b..0c3cc5fbb2e 100644
--- a/theme/upgrade.txt
+++ b/theme/upgrade.txt
@@ -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 ===