void SmlAllModel::refresh(int orderColumn, int orderMode) { QString orderString(""); switch (orderColumn) { case 0: { if(orderMode) orderString = "ORDER by sml.smlid DESC"; else orderString = "ORDER by sml.smlid ASC"; } break; case 1: { if(orderMode) orderString = "ORDER by smla.author DESC"; else orderString = "ORDER by smla.author ASC"; } break; case 2: { if(orderMode) orderString = "ORDER by sml.title DESC"; else orderString = "ORDER by sml.title ASC"; } break; case 3: { if(orderMode) orderString = "ORDER by smlp.publisher DESC"; else orderString = "ORDER by smlp.publisher ASC"; } break; } QSqlQuery query("SELECT sml.smlid, smla.author, sml.title, smlp.publisher FROM sheetmusiclibrary sml, smlauthor smla, smlpublisher smlp WHERE smla.smlauthorid=sml.author AND smlp.smlpublisherid=sml.publisher "+orderString, *myW->getMyDb()->getMyPupilDb()); setQuery(query); if (query.lastError().isValid()) qDebug() << "DB Error: 148 - " << query.lastError(); setHeaderData(0, Qt::Horizontal, QObject::tr("Index")); setHeaderData(1, Qt::Horizontal, QObject::tr("Komponist / Author")); setHeaderData(2, Qt::Horizontal, QObject::tr("Titel")); setHeaderData(3, Qt::Horizontal, QObject::tr("Verlag")); }
String D2StatData::format(D2ItemStat const& stat, bool abbrev) { if (!stat.stat) return String::null; if (abbrev) { static char const* ab_cls[] = {"ama", "sorc", "nec", "pala", "barb", "druid", "assa"}; static char const* ab_tab[] = {"bow sk", "p&m", "java sk", "fire sk", "light sk", "cold sk", "curses", "p&b", "nec summ", "pc sk", "off auras", "def auras", "barb combat", "masteries", "warcries", "dru summ", "shape sk", "ele sk", "traps", "shadow sk", "martial arts"}; char const* src = stat.stat->acronym; if (stat.stat->id == 111 && stat.value1 == stat.value2) src = "$1 dmg"; if (!src) return String::null; String dst; for (int i = 0; src[i]; i++) { if (src[i] == '$') { i++; if (src[i] == '0') { switch (stat.stat->id) { case 83: dst += ab_cls[stat.param]; break; case 97: case 107: case 195: case 196: case 197: case 198: case 199: case 201: case 204: dst += String(skillNames[stat.param]).toLower(); break; case 126: dst += "fire sk"; break; case 188: dst += ab_tab[stat.param]; break; } } else if (src[i] == '1') dst.printf("%d", stat.value1); else if (src[i] == '2') dst.printf("%d", stat.value2); } else dst += src[i]; } return dst; } else { char const* desc = stat.stat->descpos; if (stat.value1 < 0) desc = stat.stat->descneg; switch (stat.stat->descfunc) { case 11: // format string, one %d case 19: return String::format(desc, stat.value1); case 14: return String::format(data->getLocalizedString(tabString[stat.param]), stat.value1); case 33: // fake, $d-$d range return String::format(desc, stat.value1, stat.value2); case 34: // fake, $d range over %d return String::format(desc, stat.value1, stat.param / 25); case 15: // %d%% chance to cast level %d %s on ... return String::format(desc, stat.value1, stat.value2, skillNames[stat.param]); case 16: // Level %d %s aura return String::format(desc, stat.value1, skillNames[stat.param]); case 24: // Level $1 $0 (%d/%d Charges) return String::format("%s%d %s %s", str_Level, stat.value2, skillNames[stat.param], String::format(desc, stat.value1, stat.value1)); case 23: return String::format("%d%% %s %s", stat.value1, desc, str_Returned); case 27: return String::format("+%d %s %s %s", stat.value1, str_to, skillNames[stat.param], data->getLocalizedString(10917 + skillClass[stat.param])); case 28: return String::format("+%d %s %s", stat.value1, str_to, skillNames[stat.param]); case 12: return (stat.value1 != 1 ? orderString(stat.stat->descval, desc, String::format("+%d", stat.value1)) : desc); case 13: return orderString(stat.stat->descval, data->getLocalizedString(clsString[stat.param]), String::format("+%d", stat.value1)); case 20: return orderString(stat.stat->descval, desc, String::format("-%d%%", stat.value1)); case 1: return orderString(stat.stat->descval, desc, String::format("+%d", stat.value1)); case 2: return orderString(stat.stat->descval, desc, String::format("%d%%", stat.value1)); case 3: return orderString(stat.stat->descval, desc, String::format("%d", stat.value1)); case 4: return orderString(stat.stat->descval, desc, String::format("+%d%%", stat.value1)); case 6: return String::format("%s %s", orderString(stat.stat->descval, desc, String::format("+%d", stat.value1)), stat.stat->desc2); case 7: return String::format("%s %s", orderString(stat.stat->descval, desc, String::format("%d%%", stat.value1)), stat.stat->desc2); case 8: return String::format("%s %s", orderString(stat.stat->descval, desc, String::format("+%d%%", stat.value1)), stat.stat->desc2); case 9: return String::format("%s %s", orderString(stat.stat->descval, desc, String::format("%d", stat.value1)), stat.stat->desc2); } return "???"; } }