27 lines
675 B
C++
27 lines
675 B
C++
#include "IndentationConfig.h"
|
|
|
|
IndentationConfig::IndentationConfig() = default;
|
|
|
|
IndentationConfig::IndentationConfig(int tab_size, int indentation_size, bool use_tabs)
|
|
: m_tabSize(tab_size)
|
|
, m_indentationSize(indentation_size)
|
|
, m_useTabs(use_tabs)
|
|
{}
|
|
|
|
/** Returns a string with the right amount of tabs and spaces for the
|
|
* requested indentation level.
|
|
*/
|
|
QString IndentationConfig::getIndentString(int level) const
|
|
{
|
|
int spaces = level * m_indentationSize;
|
|
int tabs = 0;
|
|
if (m_useTabs) {
|
|
tabs = spaces / m_tabSize;
|
|
spaces -= tabs * m_tabSize;
|
|
}
|
|
|
|
if (tabs > 0)
|
|
return QString(tabs, '\t') + QString(spaces, ' ');
|
|
else
|
|
return QString(spaces, ' ');
|
|
}
|