Nice question. There are other methods to be realized. Lower example is a method not to change Q2A core. Add function below to your theme, and change HTML form in question editing page. I show three kinds of methods. Method 2 may be good for user interface. Choose it depending on your needs.
Source file : qa-theme/(Your theme)/qa-theme.php
Function :
function form_field_rows($form, $columns, $field) {
if(isset($field['tags']) && $field['tags'] =='name="q_title"') {
if(qa_get_logged_in_level() < QA_USER_LEVEL_MODERATOR) {
// Method1
//$field['tags'] .= ' readonly="readonly"';
// Method2
//$field['label'] = '';
$field['label'] = 'Title:';
$field['type'] = 'static';
// Method3
//$field['label'] = '';
//$field['tags'] .= ' type="hidden"';
}
}
qa_html_theme_base::form_field_rows($form, $columns, $field);
}
P.S.
Because post-record is broken, you must not use method below.
//$field['tags'] .= ' disabled="disabled"';