X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Flanguagelist.qc;h=6840769d72eb8e63f36cc5a1a440e1a07b8745b6;hb=0d4410adb034af1a9989862211e49e442fa9b9dd;hp=af9d75211b3987809ec4bedb3eff1e85d3813990;hpb=e090603a32c8cba598f2c54e355cdb5b32b0d986;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/xonotic/languagelist.qc b/qcsrc/menu/xonotic/languagelist.qc index af9d75211b..6840769d72 100644 --- a/qcsrc/menu/xonotic/languagelist.qc +++ b/qcsrc/menu/xonotic/languagelist.qc @@ -1,40 +1,7 @@ -#ifndef LANGUAGELIST_H -#define LANGUAGELIST_H -#include "listbox.qc" -CLASS(XonoticLanguageList, XonoticListBox) - METHOD(XonoticLanguageList, configureXonoticLanguageList, void(entity)) - ATTRIB(XonoticLanguageList, rowsPerItem, float, 1) - METHOD(XonoticLanguageList, drawListBoxItem, void(entity, int, vector, bool, bool)) - METHOD(XonoticLanguageList, resizeNotify, void(entity, vector, vector, vector, vector)) - METHOD(XonoticLanguageList, setSelected, void(entity, float)) - METHOD(XonoticLanguageList, loadCvars, void(entity)) - METHOD(XonoticLanguageList, saveCvars, void(entity)) - - ATTRIB(XonoticLanguageList, realFontSize, vector, '0 0 0') - ATTRIB(XonoticLanguageList, realUpperMargin, float, 0) - ATTRIB(XonoticLanguageList, columnNameOrigin, float, 0) - ATTRIB(XonoticLanguageList, columnNameSize, float, 0) - ATTRIB(XonoticLanguageList, columnPercentageOrigin, float, 0) - ATTRIB(XonoticLanguageList, columnPercentageSize, float, 0) - - METHOD(XonoticLanguageList, doubleClickListBoxItem, void(entity, float, vector)) - METHOD(XonoticLanguageList, keyDown, float(entity, float, float, float)) // enter handling - - METHOD(XonoticLanguageList, destroy, void(entity)) - - ATTRIB(XonoticLanguageList, languagelist, float, -1) - METHOD(XonoticLanguageList, getLanguages, void(entity)) - METHOD(XonoticLanguageList, setLanguage, void(entity)) - METHOD(XonoticLanguageList, languageParameter, string(entity, float, float)) - - ATTRIB(XonoticLanguageList, name, string, "languageselector") // change this to make it noninteractive (for first run dialog) -ENDCLASS(XonoticLanguageList) - -entity makeXonoticLanguageList(); -void SetLanguage_Click(entity btn, entity me); -#endif - -#ifdef IMPLEMENTATION +#include "languagelist.qh" + +#include "../item/modalcontroller.qh" +#include "mainwindow.qh" const float LANGPARM_ID = 0; const float LANGPARM_NAME = 1; @@ -121,17 +88,17 @@ void XonoticLanguageList_loadCvars(entity me) { if(me.languageParameter(me, i, LANGPARM_ID) == "en") { - me.selectedItem = i; + SUPER(XonoticLanguageList).setSelected(me, i); break; } } - // otherwise, find the language + // otherwise, find the language for(i = 0; i < n; ++i) { if(me.languageParameter(me, i, LANGPARM_ID) == s) { - me.selectedItem = i; + SUPER(XonoticLanguageList).setSelected(me, i); break; } } @@ -184,15 +151,10 @@ void XonoticLanguageList_getLanguages(entity me) continue; bufstr_set(buf, i * LANGPARM_COUNT + LANGPARM_ID, argv(0)); bufstr_set(buf, i * LANGPARM_COUNT + LANGPARM_NAME, argv(1)); - float k = strstrofs(argv(2), "(", 0); - if(k > 0) - if(substring(argv(2), strlen(argv(2)) - 1, 1) == ")") - { - string percent = substring(argv(2), k + 1, -2); - if(percent != "100%") - bufstr_set(buf, i * LANGPARM_COUNT + LANGPARM_PERCENTAGE, percent); - } - bufstr_set(buf, i * LANGPARM_COUNT + LANGPARM_NAME_LOCALIZED, (k < 0) ? argv(2) : substring(argv(2), 0, k - 1)); + bufstr_set(buf, i * LANGPARM_COUNT + LANGPARM_NAME_LOCALIZED, argv(2)); + string percent = argv(3); + if(percent && percent != "100%") + bufstr_set(buf, i * LANGPARM_COUNT + LANGPARM_PERCENTAGE, percent); ++i; } fclose(fh); @@ -221,5 +183,3 @@ void SetLanguage_Click(entity btn, entity me) { me.setLanguage(me); } - -#endif