98 lines
3.2 KiB
C++
98 lines
3.2 KiB
C++
#include "settings.h"
|
|
|
|
Settings *Settings::m_instance = new Settings();
|
|
|
|
Settings::Settings() {
|
|
QSettings settings("wingsummer", "WingElfParser");
|
|
elf_header_color =
|
|
settings.value("elf_header_color", QColor(Qt::green)).value<QColor>();
|
|
program_table_color =
|
|
settings.value("program_table_color", QColor(Qt::yellow)).value<QColor>();
|
|
section_header_color =
|
|
settings.value("section_header_color", QColor(Qt::red)).value<QColor>();
|
|
symbol_color =
|
|
settings.value("symbol_color", QColor(Qt::cyan)).value<QColor>();
|
|
dysymbol_color =
|
|
settings.value("dysymbol_color", QColor(Qt::magenta)).value<QColor>();
|
|
addmeta = settings.value("addmeta", true).value<bool>();
|
|
}
|
|
|
|
Settings *Settings::instance() { return m_instance; }
|
|
|
|
QColor Settings::getColor(SettingColor color) {
|
|
switch (color) {
|
|
case SettingColor::elf_header_color:
|
|
return elf_header_color;
|
|
break;
|
|
case SettingColor::program_table_color:
|
|
return program_table_color;
|
|
break;
|
|
case SettingColor::section_header_color:
|
|
return section_header_color;
|
|
break;
|
|
case SettingColor::symbol_color:
|
|
return symbol_color;
|
|
break;
|
|
case SettingColor::dysymbol_color:
|
|
return dysymbol_color;
|
|
break;
|
|
}
|
|
return QColor();
|
|
}
|
|
|
|
void Settings::getAllColor(QColor &elf_header, QColor &program_table,
|
|
QColor §ion_header, QColor &symbol,
|
|
QColor &dysymbol) {
|
|
elf_header = elf_header_color;
|
|
program_table = program_table_color;
|
|
section_header = section_header_color;
|
|
symbol = symbol_color;
|
|
dysymbol = dysymbol_color;
|
|
}
|
|
|
|
void Settings::saveColor(SettingColor color, QColor newcolor) {
|
|
QSettings settings("wingsummer", "WingElfParser");
|
|
switch (color) {
|
|
case SettingColor::elf_header_color: {
|
|
elf_header_color = newcolor;
|
|
settings.setValue("elf_header_color", newcolor);
|
|
} break;
|
|
case SettingColor::program_table_color: {
|
|
program_table_color = newcolor;
|
|
settings.setValue("program_table_color", newcolor);
|
|
} break;
|
|
case SettingColor::section_header_color: {
|
|
section_header_color = newcolor;
|
|
settings.setValue("section_header_color", newcolor);
|
|
} break;
|
|
case SettingColor::symbol_color: {
|
|
symbol_color = newcolor;
|
|
settings.setValue("symbol_color", newcolor);
|
|
} break;
|
|
case SettingColor::dysymbol_color: {
|
|
dysymbol_color = newcolor;
|
|
settings.setValue("dysymbol_color", newcolor);
|
|
} break;
|
|
}
|
|
}
|
|
|
|
void Settings::saveAllColor(QColor elf_header, QColor program_table,
|
|
QColor section_header, QColor symbol,
|
|
QColor dysymbol) {
|
|
QSettings settings("wingsummer", "WingElfParser");
|
|
elf_header_color = elf_header;
|
|
program_table_color = program_table;
|
|
section_header_color = section_header;
|
|
symbol_color = symbol;
|
|
dysymbol_color = dysymbol;
|
|
settings.setValue("elf_header_color", elf_header_color);
|
|
settings.setValue("program_table_color", program_table_color);
|
|
settings.setValue("section_header_color", section_header_color);
|
|
settings.setValue("symbol_color", symbol_color);
|
|
settings.setValue("dysymbol_color", dysymbol_color);
|
|
}
|
|
|
|
bool Settings::addMetadata() { return addmeta; }
|
|
|
|
void Settings::setAddMetadata(bool b) { addmeta = b; }
|