Здравствуйте!
Вот вопрос такой возник. Делаю простой, встроенный в приложение, текстовый редактор с возможностью всякой разметки текста. Сейчас столкнулся вот с чем. Не могу понять, как сделать возмножным добавлять или переформатировать выделенный текст в виде вложенного списка?
Просто преобразовать абзацы в пронумерованый список или список с точечками я могу. Это у меня делается так - есть область edittextarea класса QTextEdit, и две кнопки - в список 123 editnumericlist и в список с точечками editdotlist.
void DialogImpl::format_to_list(QTextListFormat::Style setformat)
{
// Создание форматирования
QTextListFormat format;
format.setStyle(setformat);
// Если строки выбраны
if(edittextarea->textCursor().hasSelection())
{
// Форматирование
edittextarea->textCursor().createList(format);
}
else
{
// Вставляется первый пустой пункт
edittextarea->textCursor().insertList(format);
}
// Выравнивание прокрутки чтоб курсор был виден если он уехал вниз
edittextarea->ensureCursorVisible();
}
// Форматирование в нумерованный список
void DialogImpl::on_editnumericlist_clicked(void)
{
format_to_list(QTextListFormat::ListDecimal);
}
// Форматирование в список с точечками
void DialogImpl::on_editdotlist_clicked(void)
{
format_to_list(QTextListFormat::ListDisc);
}
Если сделать в тексте два списка, один выделить, и вставить в пункт другого, то пункты вставятся на том же уровне вложенности. А нужно, чтобы образовался подуровень вложенности. Как это сделать?