summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build-win.bat4
-rw-r--r--data/imgs/add.pngbin0 -> 142 bytes
-rw-r--r--data/imgs/flags/AD.pngbin0 -> 263 bytes
-rw-r--r--data/imgs/flags/AE.pngbin0 -> 107 bytes
-rw-r--r--data/imgs/flags/AF.pngbin0 -> 259 bytes
-rw-r--r--data/imgs/flags/AG.pngbin0 -> 302 bytes
-rw-r--r--data/imgs/flags/AI.pngbin0 -> 332 bytes
-rw-r--r--data/imgs/flags/AL.pngbin0 -> 291 bytes
-rw-r--r--data/imgs/flags/AM.pngbin0 -> 105 bytes
-rw-r--r--data/imgs/flags/AN.pngbin0 -> 145 bytes
-rw-r--r--data/imgs/flags/AO.pngbin0 -> 241 bytes
-rw-r--r--data/imgs/flags/AQ.pngbin0 -> 382 bytes
-rw-r--r--data/imgs/flags/AR.pngbin0 -> 209 bytes
-rw-r--r--data/imgs/flags/AS.pngbin0 -> 448 bytes
-rw-r--r--data/imgs/flags/AT.pngbin0 -> 98 bytes
-rw-r--r--data/imgs/flags/AU.pngbin0 -> 228 bytes
-rw-r--r--data/imgs/flags/AW.pngbin0 -> 182 bytes
-rw-r--r--data/imgs/flags/AX.pngbin0 -> 121 bytes
-rw-r--r--data/imgs/flags/AZ.pngbin0 -> 267 bytes
-rw-r--r--data/imgs/flags/BA.pngbin0 -> 355 bytes
-rw-r--r--data/imgs/flags/BB.pngbin0 -> 159 bytes
-rw-r--r--data/imgs/flags/BD.pngbin0 -> 211 bytes
-rw-r--r--data/imgs/flags/BE.pngbin0 -> 102 bytes
-rw-r--r--data/imgs/flags/BF.pngbin0 -> 166 bytes
-rw-r--r--data/imgs/flags/BG.pngbin0 -> 103 bytes
-rw-r--r--data/imgs/flags/BH.pngbin0 -> 129 bytes
-rw-r--r--data/imgs/flags/BI.pngbin0 -> 454 bytes
-rw-r--r--data/imgs/flags/BJ.pngbin0 -> 106 bytes
-rw-r--r--data/imgs/flags/BL.pngbin0 -> 539 bytes
-rw-r--r--data/imgs/flags/BM.pngbin0 -> 321 bytes
-rw-r--r--data/imgs/flags/BN.pngbin0 -> 518 bytes
-rw-r--r--data/imgs/flags/BO.pngbin0 -> 236 bytes
-rw-r--r--data/imgs/flags/BR.pngbin0 -> 432 bytes
-rw-r--r--data/imgs/flags/BS.pngbin0 -> 171 bytes
-rw-r--r--data/imgs/flags/BT.pngbin0 -> 449 bytes
-rw-r--r--data/imgs/flags/BW.pngbin0 -> 108 bytes
-rw-r--r--data/imgs/flags/BY.pngbin0 -> 151 bytes
-rw-r--r--data/imgs/flags/BZ.pngbin0 -> 337 bytes
-rw-r--r--data/imgs/flags/CA.pngbin0 -> 177 bytes
-rw-r--r--data/imgs/flags/CC.pngbin0 -> 259 bytes
-rw-r--r--data/imgs/flags/CD.pngbin0 -> 432 bytes
-rw-r--r--data/imgs/flags/CF.pngbin0 -> 162 bytes
-rw-r--r--data/imgs/flags/CG.pngbin0 -> 152 bytes
-rw-r--r--data/imgs/flags/CH.pngbin0 -> 100 bytes
-rw-r--r--data/imgs/flags/CI.pngbin0 -> 100 bytes
-rw-r--r--data/imgs/flags/CK.pngbin0 -> 331 bytes
-rw-r--r--data/imgs/flags/CL.pngbin0 -> 150 bytes
-rw-r--r--data/imgs/flags/CM.pngbin0 -> 163 bytes
-rw-r--r--data/imgs/flags/CN.pngbin0 -> 310 bytes
-rw-r--r--data/imgs/flags/CO.pngbin0 -> 108 bytes
-rw-r--r--data/imgs/flags/CR.pngbin0 -> 110 bytes
-rw-r--r--data/imgs/flags/CT.pngbin0 -> 1356 bytes
-rw-r--r--data/imgs/flags/CU.pngbin0 -> 215 bytes
-rw-r--r--data/imgs/flags/CV.pngbin0 -> 138 bytes
-rw-r--r--data/imgs/flags/CW.pngbin0 -> 191 bytes
-rw-r--r--data/imgs/flags/CX.pngbin0 -> 390 bytes
-rw-r--r--data/imgs/flags/CY.pngbin0 -> 364 bytes
-rw-r--r--data/imgs/flags/CZ.pngbin0 -> 221 bytes
-rw-r--r--data/imgs/flags/DE.pngbin0 -> 102 bytes
-rw-r--r--data/imgs/flags/DJ.pngbin0 -> 228 bytes
-rw-r--r--data/imgs/flags/DK.pngbin0 -> 106 bytes
-rw-r--r--data/imgs/flags/DM.pngbin0 -> 333 bytes
-rw-r--r--data/imgs/flags/DO.pngbin0 -> 142 bytes
-rw-r--r--data/imgs/flags/DZ.pngbin0 -> 309 bytes
-rw-r--r--data/imgs/flags/EC.pngbin0 -> 264 bytes
-rw-r--r--data/imgs/flags/EE.pngbin0 -> 102 bytes
-rw-r--r--data/imgs/flags/EG.pngbin0 -> 199 bytes
-rw-r--r--data/imgs/flags/EH.pngbin0 -> 248 bytes
-rw-r--r--data/imgs/flags/ER.pngbin0 -> 421 bytes
-rw-r--r--data/imgs/flags/ES.pngbin0 -> 221 bytes
-rw-r--r--data/imgs/flags/ET.pngbin0 -> 420 bytes
-rw-r--r--data/imgs/flags/EU.pngbin0 -> 316 bytes
-rw-r--r--data/imgs/flags/FI.pngbin0 -> 103 bytes
-rw-r--r--data/imgs/flags/FJ.pngbin0 -> 387 bytes
-rw-r--r--data/imgs/flags/FK.pngbin0 -> 344 bytes
-rw-r--r--data/imgs/flags/FM.pngbin0 -> 198 bytes
-rw-r--r--data/imgs/flags/FO.pngbin0 -> 122 bytes
-rw-r--r--data/imgs/flags/FR.pngbin0 -> 100 bytes
-rw-r--r--data/imgs/flags/GA.pngbin0 -> 108 bytes
-rw-r--r--data/imgs/flags/GB.pngbin0 -> 353 bytes
-rw-r--r--data/imgs/flags/GD.pngbin0 -> 313 bytes
-rw-r--r--data/imgs/flags/GE.pngbin0 -> 122 bytes
-rw-r--r--data/imgs/flags/GG.pngbin0 -> 124 bytes
-rw-r--r--data/imgs/flags/GH.pngbin0 -> 162 bytes
-rw-r--r--data/imgs/flags/GI.pngbin0 -> 245 bytes
-rw-r--r--data/imgs/flags/GL.pngbin0 -> 196 bytes
-rw-r--r--data/imgs/flags/GM.pngbin0 -> 115 bytes
-rw-r--r--data/imgs/flags/GN.pngbin0 -> 103 bytes
-rw-r--r--data/imgs/flags/GQ.pngbin0 -> 308 bytes
-rw-r--r--data/imgs/flags/GR.pngbin0 -> 141 bytes
-rw-r--r--data/imgs/flags/GS.pngbin0 -> 455 bytes
-rw-r--r--data/imgs/flags/GT.pngbin0 -> 198 bytes
-rw-r--r--data/imgs/flags/GU.pngbin0 -> 228 bytes
-rw-r--r--data/imgs/flags/GW.pngbin0 -> 149 bytes
-rw-r--r--data/imgs/flags/GY.pngbin0 -> 393 bytes
-rw-r--r--data/imgs/flags/HK.pngbin0 -> 418 bytes
-rw-r--r--data/imgs/flags/HN.pngbin0 -> 154 bytes
-rw-r--r--data/imgs/flags/HR.pngbin0 -> 391 bytes
-rw-r--r--data/imgs/flags/HT.pngbin0 -> 206 bytes
-rw-r--r--data/imgs/flags/HU.pngbin0 -> 104 bytes
-rw-r--r--data/imgs/flags/IC.pngbin0 -> 183 bytes
-rw-r--r--data/imgs/flags/ID.pngbin0 -> 98 bytes
-rw-r--r--data/imgs/flags/IE.pngbin0 -> 99 bytes
-rw-r--r--data/imgs/flags/IL.pngbin0 -> 180 bytes
-rw-r--r--data/imgs/flags/IM.pngbin0 -> 367 bytes
-rw-r--r--data/imgs/flags/IN.pngbin0 -> 194 bytes
-rw-r--r--data/imgs/flags/IQ.pngbin0 -> 269 bytes
-rw-r--r--data/imgs/flags/IR.pngbin0 -> 356 bytes
-rw-r--r--data/imgs/flags/IS.pngbin0 -> 124 bytes
-rw-r--r--data/imgs/flags/IT.pngbin0 -> 100 bytes
-rw-r--r--data/imgs/flags/JE.pngbin0 -> 403 bytes
-rw-r--r--data/imgs/flags/JM.pngbin0 -> 392 bytes
-rw-r--r--data/imgs/flags/JO.pngbin0 -> 236 bytes
-rw-r--r--data/imgs/flags/JP.pngbin0 -> 155 bytes
-rw-r--r--data/imgs/flags/KE.pngbin0 -> 324 bytes
-rw-r--r--data/imgs/flags/KG.pngbin0 -> 380 bytes
-rw-r--r--data/imgs/flags/KH.pngbin0 -> 232 bytes
-rw-r--r--data/imgs/flags/KI.pngbin0 -> 517 bytes
-rw-r--r--data/imgs/flags/KM.pngbin0 -> 272 bytes
-rw-r--r--data/imgs/flags/KN.pngbin0 -> 403 bytes
-rw-r--r--data/imgs/flags/KP.pngbin0 -> 197 bytes
-rw-r--r--data/imgs/flags/KR.pngbin0 -> 413 bytes
-rw-r--r--data/imgs/flags/KW.pngbin0 -> 185 bytes
-rw-r--r--data/imgs/flags/KY.pngbin0 -> 338 bytes
-rw-r--r--data/imgs/flags/KZ.pngbin0 -> 405 bytes
-rw-r--r--data/imgs/flags/LA.pngbin0 -> 175 bytes
-rw-r--r--data/imgs/flags/LB.pngbin0 -> 213 bytes
-rw-r--r--data/imgs/flags/LC.pngbin0 -> 197 bytes
-rw-r--r--data/imgs/flags/LI.pngbin0 -> 216 bytes
-rw-r--r--data/imgs/flags/LK.pngbin0 -> 325 bytes
-rw-r--r--data/imgs/flags/LR.pngbin0 -> 142 bytes
-rw-r--r--data/imgs/flags/LS.pngbin0 -> 200 bytes
-rw-r--r--data/imgs/flags/LT.pngbin0 -> 108 bytes
-rw-r--r--data/imgs/flags/LU.pngbin0 -> 105 bytes
-rw-r--r--data/imgs/flags/LV.pngbin0 -> 99 bytes
-rw-r--r--data/imgs/flags/LY.pngbin0 -> 212 bytes
-rw-r--r--data/imgs/flags/MA.pngbin0 -> 302 bytes
-rw-r--r--data/imgs/flags/MC.pngbin0 -> 98 bytes
-rw-r--r--data/imgs/flags/MD.pngbin0 -> 190 bytes
-rw-r--r--data/imgs/flags/ME.pngbin0 -> 323 bytes
-rw-r--r--data/imgs/flags/MF.pngbin0 -> 161 bytes
-rw-r--r--data/imgs/flags/MG.pngbin0 -> 101 bytes
-rw-r--r--data/imgs/flags/MH.pngbin0 -> 382 bytes
-rw-r--r--data/imgs/flags/MK.pngbin0 -> 378 bytes
-rw-r--r--data/imgs/flags/ML.pngbin0 -> 103 bytes
-rw-r--r--data/imgs/flags/MM.pngbin0 -> 195 bytes
-rw-r--r--data/imgs/flags/MN.pngbin0 -> 225 bytes
-rw-r--r--data/imgs/flags/MO.pngbin0 -> 413 bytes
-rw-r--r--data/imgs/flags/MP.pngbin0 -> 548 bytes
-rw-r--r--data/imgs/flags/MQ.pngbin0 -> 202 bytes
-rw-r--r--data/imgs/flags/MR.pngbin0 -> 250 bytes
-rw-r--r--data/imgs/flags/MS.pngbin0 -> 346 bytes
-rw-r--r--data/imgs/flags/MT.pngbin0 -> 114 bytes
-rw-r--r--data/imgs/flags/MU.pngbin0 -> 116 bytes
-rw-r--r--data/imgs/flags/MV.pngbin0 -> 201 bytes
-rw-r--r--data/imgs/flags/MW.pngbin0 -> 193 bytes
-rw-r--r--data/imgs/flags/MX.pngbin0 -> 207 bytes
-rw-r--r--data/imgs/flags/MY.pngbin0 -> 236 bytes
-rw-r--r--data/imgs/flags/MZ.pngbin0 -> 315 bytes
-rw-r--r--data/imgs/flags/NA.pngbin0 -> 452 bytes
-rw-r--r--data/imgs/flags/NC.pngbin0 -> 325 bytes
-rw-r--r--data/imgs/flags/NE.pngbin0 -> 153 bytes
-rw-r--r--data/imgs/flags/NF.pngbin0 -> 295 bytes
-rw-r--r--data/imgs/flags/NG.pngbin0 -> 98 bytes
-rw-r--r--data/imgs/flags/NI.pngbin0 -> 210 bytes
-rw-r--r--data/imgs/flags/NL.pngbin0 -> 104 bytes
-rw-r--r--data/imgs/flags/NO.pngbin0 -> 124 bytes
-rw-r--r--data/imgs/flags/NP.pngbin0 -> 241 bytes
-rw-r--r--data/imgs/flags/NR.pngbin0 -> 172 bytes
-rw-r--r--data/imgs/flags/NU.pngbin0 -> 252 bytes
-rw-r--r--data/imgs/flags/NZ.pngbin0 -> 200 bytes
-rw-r--r--data/imgs/flags/OM.pngbin0 -> 198 bytes
-rw-r--r--data/imgs/flags/PA.pngbin0 -> 174 bytes
-rw-r--r--data/imgs/flags/PE.pngbin0 -> 98 bytes
-rw-r--r--data/imgs/flags/PF.pngbin0 -> 217 bytes
-rw-r--r--data/imgs/flags/PG.pngbin0 -> 444 bytes
-rw-r--r--data/imgs/flags/PH.pngbin0 -> 342 bytes
-rw-r--r--data/imgs/flags/PK.pngbin0 -> 306 bytes
-rw-r--r--data/imgs/flags/PL.pngbin0 -> 102 bytes
-rw-r--r--data/imgs/flags/PN.pngbin0 -> 423 bytes
-rw-r--r--data/imgs/flags/PR.pngbin0 -> 216 bytes
-rw-r--r--data/imgs/flags/PS.pngbin0 -> 157 bytes
-rw-r--r--data/imgs/flags/PT.pngbin0 -> 303 bytes
-rw-r--r--data/imgs/flags/PW.pngbin0 -> 209 bytes
-rw-r--r--data/imgs/flags/PY.pngbin0 -> 197 bytes
-rw-r--r--data/imgs/flags/QA.pngbin0 -> 190 bytes
-rw-r--r--data/imgs/flags/RE.pngbin0 -> 443 bytes
-rw-r--r--data/imgs/flags/RO.pngbin0 -> 103 bytes
-rw-r--r--data/imgs/flags/RS.pngbin0 -> 331 bytes
-rw-r--r--data/imgs/flags/RU.pngbin0 -> 98 bytes
-rw-r--r--data/imgs/flags/RW.pngbin0 -> 182 bytes
-rw-r--r--data/imgs/flags/SA.pngbin0 -> 426 bytes
-rw-r--r--data/imgs/flags/SB.pngbin0 -> 306 bytes
-rw-r--r--data/imgs/flags/SC.pngbin0 -> 314 bytes
-rw-r--r--data/imgs/flags/SD.pngbin0 -> 156 bytes
-rw-r--r--data/imgs/flags/SE.pngbin0 -> 109 bytes
-rw-r--r--data/imgs/flags/SG.pngbin0 -> 253 bytes
-rw-r--r--data/imgs/flags/SH.pngbin0 -> 333 bytes
-rw-r--r--data/imgs/flags/SI.pngbin0 -> 177 bytes
-rw-r--r--data/imgs/flags/SK.pngbin0 -> 225 bytes
-rw-r--r--data/imgs/flags/SL.pngbin0 -> 104 bytes
-rw-r--r--data/imgs/flags/SM.pngbin0 -> 291 bytes
-rw-r--r--data/imgs/flags/SN.pngbin0 -> 160 bytes
-rw-r--r--data/imgs/flags/SO.pngbin0 -> 192 bytes
-rw-r--r--data/imgs/flags/SR.pngbin0 -> 166 bytes
-rw-r--r--data/imgs/flags/SS.pngbin0 -> 289 bytes
-rw-r--r--data/imgs/flags/ST.pngbin0 -> 243 bytes
-rw-r--r--data/imgs/flags/SV.pngbin0 -> 209 bytes
-rw-r--r--data/imgs/flags/SX.pngbin0 -> 483 bytes
-rw-r--r--data/imgs/flags/SY.pngbin0 -> 161 bytes
-rw-r--r--data/imgs/flags/SZ.pngbin0 -> 366 bytes
-rw-r--r--data/imgs/flags/TC.pngbin0 -> 312 bytes
-rw-r--r--data/imgs/flags/TD.pngbin0 -> 103 bytes
-rw-r--r--data/imgs/flags/TF.pngbin0 -> 224 bytes
-rw-r--r--data/imgs/flags/TG.pngbin0 -> 174 bytes
-rw-r--r--data/imgs/flags/TH.pngbin0 -> 110 bytes
-rw-r--r--data/imgs/flags/TJ.pngbin0 -> 203 bytes
-rw-r--r--data/imgs/flags/TK.pngbin0 -> 260 bytes
-rw-r--r--data/imgs/flags/TL.pngbin0 -> 277 bytes
-rw-r--r--data/imgs/flags/TM.pngbin0 -> 392 bytes
-rw-r--r--data/imgs/flags/TN.pngbin0 -> 271 bytes
-rw-r--r--data/imgs/flags/TO.pngbin0 -> 114 bytes
-rw-r--r--data/imgs/flags/TR.pngbin0 -> 311 bytes
-rw-r--r--data/imgs/flags/TT.pngbin0 -> 358 bytes
-rw-r--r--data/imgs/flags/TV.pngbin0 -> 398 bytes
-rw-r--r--data/imgs/flags/TW.pngbin0 -> 205 bytes
-rw-r--r--data/imgs/flags/TZ.pngbin0 -> 415 bytes
-rw-r--r--data/imgs/flags/UA.pngbin0 -> 102 bytes
-rw-r--r--data/imgs/flags/UG.pngbin0 -> 188 bytes
-rw-r--r--data/imgs/flags/US.pngbin0 -> 120 bytes
-rw-r--r--data/imgs/flags/UY.pngbin0 -> 216 bytes
-rw-r--r--data/imgs/flags/UZ.pngbin0 -> 163 bytes
-rw-r--r--data/imgs/flags/VA.pngbin0 -> 202 bytes
-rw-r--r--data/imgs/flags/VC.pngbin0 -> 217 bytes
-rw-r--r--data/imgs/flags/VE.pngbin0 -> 302 bytes
-rw-r--r--data/imgs/flags/VG.pngbin0 -> 337 bytes
-rw-r--r--data/imgs/flags/VI.pngbin0 -> 500 bytes
-rw-r--r--data/imgs/flags/VN.pngbin0 -> 193 bytes
-rw-r--r--data/imgs/flags/VU.pngbin0 -> 302 bytes
-rw-r--r--data/imgs/flags/WF.pngbin0 -> 182 bytes
-rw-r--r--data/imgs/flags/WS.pngbin0 -> 236 bytes
-rw-r--r--data/imgs/flags/YE.pngbin0 -> 103 bytes
-rw-r--r--data/imgs/flags/YT.pngbin0 -> 482 bytes
-rw-r--r--data/imgs/flags/ZA.pngbin0 -> 348 bytes
-rw-r--r--data/imgs/flags/ZM.pngbin0 -> 189 bytes
-rw-r--r--data/imgs/flags/ZW.pngbin0 -> 300 bytes
-rw-r--r--data/imgs/flags/_abkhazia.pngbin0 -> 276 bytes
-rw-r--r--data/imgs/flags/_basque-country.pngbin0 -> 240 bytes
-rw-r--r--data/imgs/flags/_british-antarctic-territory.pngbin0 -> 361 bytes
-rw-r--r--data/imgs/flags/_commonwealth.pngbin0 -> 443 bytes
-rw-r--r--data/imgs/flags/_england.pngbin0 -> 102 bytes
-rw-r--r--data/imgs/flags/_gosquared.pngbin0 -> 239 bytes
-rw-r--r--data/imgs/flags/_kosovo.pngbin0 -> 434 bytes
-rw-r--r--data/imgs/flags/_mars.pngbin0 -> 103 bytes
-rw-r--r--data/imgs/flags/_nagorno-karabakh.pngbin0 -> 141 bytes
-rw-r--r--data/imgs/flags/_nato.pngbin0 -> 143 bytes
-rw-r--r--data/imgs/flags/_northern-cyprus.pngbin0 -> 220 bytes
-rw-r--r--data/imgs/flags/_olympics.pngbin0 -> 329 bytes
-rw-r--r--data/imgs/flags/_red-cross.pngbin0 -> 109 bytes
-rw-r--r--data/imgs/flags/_scotland.pngbin0 -> 351 bytes
-rw-r--r--data/imgs/flags/_somaliland.pngbin0 -> 315 bytes
-rw-r--r--data/imgs/flags/_south-ossetia.pngbin0 -> 100 bytes
-rw-r--r--data/imgs/flags/_united-nations.pngbin0 -> 366 bytes
-rw-r--r--data/imgs/flags/_unknown.pngbin0 -> 176 bytes
-rw-r--r--data/imgs/flags/_wales.pngbin0 -> 527 bytes
-rw-r--r--data/imgs/set.pngbin0 -> 304 bytes
-rw-r--r--src/assets.h5
-rw-r--r--src/config.h2
-rw-r--r--src/linux/platform.c4
-rw-r--r--src/mo_edit.c231
-rw-r--r--src/test.txt1
-rw-r--r--src/ui.c70
-rw-r--r--src/ui.h7
-rw-r--r--src/windows/platform.c4
274 files changed, 269 insertions, 59 deletions
diff --git a/build-win.bat b/build-win.bat
index 13cbace..d7d5fc6 100644
--- a/build-win.bat
+++ b/build-win.bat
@@ -5,13 +5,13 @@ windres misc/icon.rc -O coff -o misc/icon.res
DEL /S /Q bin
cd src
-ld -r -b binary -o ../bin/data.o ../data/imgs/en.png ../data/imgs/error.png ../data/imgs/folder.png ../data/imgs/nl.png ../data/imgs/search.png ../data/imgs/logo_64.png ../data/fonts/mono.ttf ../data/translations/en-English.mo ../data/translations/nl-Dutch.mo ../data/imgs/list.png ../data/imgs/delete.png ../data/imgs/exclaim.png
+ld -r -b binary -o ../bin/data.o ../data/imgs/en.png ../data/imgs/error.png ../data/imgs/folder.png ../data/imgs/nl.png ../data/imgs/search.png ../data/imgs/logo_64.png ../data/fonts/mono.ttf ../data/translations/en-English.mo ../data/translations/nl-Dutch.mo ../data/imgs/list.png ../data/imgs/delete.png ../data/imgs/exclaim.png ../data/imgs/add.png ../data/imgs/set.png
if "%1"=="-w" (SET defs=-DMODE_DEVELOPER -DMODE_GDBDEBUG) else (SET defs=-DMODE_DEVELOPER)
x86_64-w64-mingw32-gcc -m64 -Wall -g %defs% -Wno-unused-label -Wno-unused-variable mo_edit.c ../bin/data.o -o ../bin/moedit.exe ../misc/icon.res -lopengl32 -lkernel32 -lglu32 -lgdi32 -lcomdlg32 -lgdiplus -lole32 -lshlwapi
-DEL /Q "../bin/data.o"
+REM DEL /Q "../bin/data.o"
FOR %%A IN ("../bin/moedit.exe") DO set size=%%~zA
echo size = %size%
diff --git a/data/imgs/add.png b/data/imgs/add.png
new file mode 100644
index 0000000..5539207
--- /dev/null
+++ b/data/imgs/add.png
Binary files differ
diff --git a/data/imgs/flags/AD.png b/data/imgs/flags/AD.png
new file mode 100644
index 0000000..d965a79
--- /dev/null
+++ b/data/imgs/flags/AD.png
Binary files differ
diff --git a/data/imgs/flags/AE.png b/data/imgs/flags/AE.png
new file mode 100644
index 0000000..f429cc4
--- /dev/null
+++ b/data/imgs/flags/AE.png
Binary files differ
diff --git a/data/imgs/flags/AF.png b/data/imgs/flags/AF.png
new file mode 100644
index 0000000..482779b
--- /dev/null
+++ b/data/imgs/flags/AF.png
Binary files differ
diff --git a/data/imgs/flags/AG.png b/data/imgs/flags/AG.png
new file mode 100644
index 0000000..6470e12
--- /dev/null
+++ b/data/imgs/flags/AG.png
Binary files differ
diff --git a/data/imgs/flags/AI.png b/data/imgs/flags/AI.png
new file mode 100644
index 0000000..6c8ce55
--- /dev/null
+++ b/data/imgs/flags/AI.png
Binary files differ
diff --git a/data/imgs/flags/AL.png b/data/imgs/flags/AL.png
new file mode 100644
index 0000000..69ba464
--- /dev/null
+++ b/data/imgs/flags/AL.png
Binary files differ
diff --git a/data/imgs/flags/AM.png b/data/imgs/flags/AM.png
new file mode 100644
index 0000000..5b222d9
--- /dev/null
+++ b/data/imgs/flags/AM.png
Binary files differ
diff --git a/data/imgs/flags/AN.png b/data/imgs/flags/AN.png
new file mode 100644
index 0000000..2c9e769
--- /dev/null
+++ b/data/imgs/flags/AN.png
Binary files differ
diff --git a/data/imgs/flags/AO.png b/data/imgs/flags/AO.png
new file mode 100644
index 0000000..129a2d9
--- /dev/null
+++ b/data/imgs/flags/AO.png
Binary files differ
diff --git a/data/imgs/flags/AQ.png b/data/imgs/flags/AQ.png
new file mode 100644
index 0000000..565eba0
--- /dev/null
+++ b/data/imgs/flags/AQ.png
Binary files differ
diff --git a/data/imgs/flags/AR.png b/data/imgs/flags/AR.png
new file mode 100644
index 0000000..aa5049b
--- /dev/null
+++ b/data/imgs/flags/AR.png
Binary files differ
diff --git a/data/imgs/flags/AS.png b/data/imgs/flags/AS.png
new file mode 100644
index 0000000..f959e3a
--- /dev/null
+++ b/data/imgs/flags/AS.png
Binary files differ
diff --git a/data/imgs/flags/AT.png b/data/imgs/flags/AT.png
new file mode 100644
index 0000000..aa8d102
--- /dev/null
+++ b/data/imgs/flags/AT.png
Binary files differ
diff --git a/data/imgs/flags/AU.png b/data/imgs/flags/AU.png
new file mode 100644
index 0000000..f2fc59c
--- /dev/null
+++ b/data/imgs/flags/AU.png
Binary files differ
diff --git a/data/imgs/flags/AW.png b/data/imgs/flags/AW.png
new file mode 100644
index 0000000..6ef2467
--- /dev/null
+++ b/data/imgs/flags/AW.png
Binary files differ
diff --git a/data/imgs/flags/AX.png b/data/imgs/flags/AX.png
new file mode 100644
index 0000000..21a5e1c
--- /dev/null
+++ b/data/imgs/flags/AX.png
Binary files differ
diff --git a/data/imgs/flags/AZ.png b/data/imgs/flags/AZ.png
new file mode 100644
index 0000000..b6ea7c7
--- /dev/null
+++ b/data/imgs/flags/AZ.png
Binary files differ
diff --git a/data/imgs/flags/BA.png b/data/imgs/flags/BA.png
new file mode 100644
index 0000000..570594b
--- /dev/null
+++ b/data/imgs/flags/BA.png
Binary files differ
diff --git a/data/imgs/flags/BB.png b/data/imgs/flags/BB.png
new file mode 100644
index 0000000..3e86dbb
--- /dev/null
+++ b/data/imgs/flags/BB.png
Binary files differ
diff --git a/data/imgs/flags/BD.png b/data/imgs/flags/BD.png
new file mode 100644
index 0000000..fc7affb
--- /dev/null
+++ b/data/imgs/flags/BD.png
Binary files differ
diff --git a/data/imgs/flags/BE.png b/data/imgs/flags/BE.png
new file mode 100644
index 0000000..182e9ad
--- /dev/null
+++ b/data/imgs/flags/BE.png
Binary files differ
diff --git a/data/imgs/flags/BF.png b/data/imgs/flags/BF.png
new file mode 100644
index 0000000..2a861b5
--- /dev/null
+++ b/data/imgs/flags/BF.png
Binary files differ
diff --git a/data/imgs/flags/BG.png b/data/imgs/flags/BG.png
new file mode 100644
index 0000000..903ed4f
--- /dev/null
+++ b/data/imgs/flags/BG.png
Binary files differ
diff --git a/data/imgs/flags/BH.png b/data/imgs/flags/BH.png
new file mode 100644
index 0000000..e2514bb
--- /dev/null
+++ b/data/imgs/flags/BH.png
Binary files differ
diff --git a/data/imgs/flags/BI.png b/data/imgs/flags/BI.png
new file mode 100644
index 0000000..82dc6c5
--- /dev/null
+++ b/data/imgs/flags/BI.png
Binary files differ
diff --git a/data/imgs/flags/BJ.png b/data/imgs/flags/BJ.png
new file mode 100644
index 0000000..e9f24b0
--- /dev/null
+++ b/data/imgs/flags/BJ.png
Binary files differ
diff --git a/data/imgs/flags/BL.png b/data/imgs/flags/BL.png
new file mode 100644
index 0000000..533cce9
--- /dev/null
+++ b/data/imgs/flags/BL.png
Binary files differ
diff --git a/data/imgs/flags/BM.png b/data/imgs/flags/BM.png
new file mode 100644
index 0000000..5b66e1f
--- /dev/null
+++ b/data/imgs/flags/BM.png
Binary files differ
diff --git a/data/imgs/flags/BN.png b/data/imgs/flags/BN.png
new file mode 100644
index 0000000..64cfbb9
--- /dev/null
+++ b/data/imgs/flags/BN.png
Binary files differ
diff --git a/data/imgs/flags/BO.png b/data/imgs/flags/BO.png
new file mode 100644
index 0000000..3f0c41f
--- /dev/null
+++ b/data/imgs/flags/BO.png
Binary files differ
diff --git a/data/imgs/flags/BR.png b/data/imgs/flags/BR.png
new file mode 100644
index 0000000..f97b96a
--- /dev/null
+++ b/data/imgs/flags/BR.png
Binary files differ
diff --git a/data/imgs/flags/BS.png b/data/imgs/flags/BS.png
new file mode 100644
index 0000000..10a987f
--- /dev/null
+++ b/data/imgs/flags/BS.png
Binary files differ
diff --git a/data/imgs/flags/BT.png b/data/imgs/flags/BT.png
new file mode 100644
index 0000000..fe52b87
--- /dev/null
+++ b/data/imgs/flags/BT.png
Binary files differ
diff --git a/data/imgs/flags/BW.png b/data/imgs/flags/BW.png
new file mode 100644
index 0000000..8da822f
--- /dev/null
+++ b/data/imgs/flags/BW.png
Binary files differ
diff --git a/data/imgs/flags/BY.png b/data/imgs/flags/BY.png
new file mode 100644
index 0000000..772539f
--- /dev/null
+++ b/data/imgs/flags/BY.png
Binary files differ
diff --git a/data/imgs/flags/BZ.png b/data/imgs/flags/BZ.png
new file mode 100644
index 0000000..9ae6715
--- /dev/null
+++ b/data/imgs/flags/BZ.png
Binary files differ
diff --git a/data/imgs/flags/CA.png b/data/imgs/flags/CA.png
new file mode 100644
index 0000000..3153c20
--- /dev/null
+++ b/data/imgs/flags/CA.png
Binary files differ
diff --git a/data/imgs/flags/CC.png b/data/imgs/flags/CC.png
new file mode 100644
index 0000000..7e5d0df
--- /dev/null
+++ b/data/imgs/flags/CC.png
Binary files differ
diff --git a/data/imgs/flags/CD.png b/data/imgs/flags/CD.png
new file mode 100644
index 0000000..afebbaa
--- /dev/null
+++ b/data/imgs/flags/CD.png
Binary files differ
diff --git a/data/imgs/flags/CF.png b/data/imgs/flags/CF.png
new file mode 100644
index 0000000..60fadb2
--- /dev/null
+++ b/data/imgs/flags/CF.png
Binary files differ
diff --git a/data/imgs/flags/CG.png b/data/imgs/flags/CG.png
new file mode 100644
index 0000000..7a7dc51
--- /dev/null
+++ b/data/imgs/flags/CG.png
Binary files differ
diff --git a/data/imgs/flags/CH.png b/data/imgs/flags/CH.png
new file mode 100644
index 0000000..dcdb068
--- /dev/null
+++ b/data/imgs/flags/CH.png
Binary files differ
diff --git a/data/imgs/flags/CI.png b/data/imgs/flags/CI.png
new file mode 100644
index 0000000..25a99ef
--- /dev/null
+++ b/data/imgs/flags/CI.png
Binary files differ
diff --git a/data/imgs/flags/CK.png b/data/imgs/flags/CK.png
new file mode 100644
index 0000000..c8eba16
--- /dev/null
+++ b/data/imgs/flags/CK.png
Binary files differ
diff --git a/data/imgs/flags/CL.png b/data/imgs/flags/CL.png
new file mode 100644
index 0000000..1a7c983
--- /dev/null
+++ b/data/imgs/flags/CL.png
Binary files differ
diff --git a/data/imgs/flags/CM.png b/data/imgs/flags/CM.png
new file mode 100644
index 0000000..2b4cea9
--- /dev/null
+++ b/data/imgs/flags/CM.png
Binary files differ
diff --git a/data/imgs/flags/CN.png b/data/imgs/flags/CN.png
new file mode 100644
index 0000000..edd5f1d
--- /dev/null
+++ b/data/imgs/flags/CN.png
Binary files differ
diff --git a/data/imgs/flags/CO.png b/data/imgs/flags/CO.png
new file mode 100644
index 0000000..ad276d0
--- /dev/null
+++ b/data/imgs/flags/CO.png
Binary files differ
diff --git a/data/imgs/flags/CR.png b/data/imgs/flags/CR.png
new file mode 100644
index 0000000..a102ffa
--- /dev/null
+++ b/data/imgs/flags/CR.png
Binary files differ
diff --git a/data/imgs/flags/CT.png b/data/imgs/flags/CT.png
new file mode 100644
index 0000000..c9fafe7
--- /dev/null
+++ b/data/imgs/flags/CT.png
Binary files differ
diff --git a/data/imgs/flags/CU.png b/data/imgs/flags/CU.png
new file mode 100644
index 0000000..99f7118
--- /dev/null
+++ b/data/imgs/flags/CU.png
Binary files differ
diff --git a/data/imgs/flags/CV.png b/data/imgs/flags/CV.png
new file mode 100644
index 0000000..7736ea1
--- /dev/null
+++ b/data/imgs/flags/CV.png
Binary files differ
diff --git a/data/imgs/flags/CW.png b/data/imgs/flags/CW.png
new file mode 100644
index 0000000..3f65fa7
--- /dev/null
+++ b/data/imgs/flags/CW.png
Binary files differ
diff --git a/data/imgs/flags/CX.png b/data/imgs/flags/CX.png
new file mode 100644
index 0000000..0f383db
--- /dev/null
+++ b/data/imgs/flags/CX.png
Binary files differ
diff --git a/data/imgs/flags/CY.png b/data/imgs/flags/CY.png
new file mode 100644
index 0000000..a1b08de
--- /dev/null
+++ b/data/imgs/flags/CY.png
Binary files differ
diff --git a/data/imgs/flags/CZ.png b/data/imgs/flags/CZ.png
new file mode 100644
index 0000000..95ffbf6
--- /dev/null
+++ b/data/imgs/flags/CZ.png
Binary files differ
diff --git a/data/imgs/flags/DE.png b/data/imgs/flags/DE.png
new file mode 100644
index 0000000..f2f6175
--- /dev/null
+++ b/data/imgs/flags/DE.png
Binary files differ
diff --git a/data/imgs/flags/DJ.png b/data/imgs/flags/DJ.png
new file mode 100644
index 0000000..a08f8e1
--- /dev/null
+++ b/data/imgs/flags/DJ.png
Binary files differ
diff --git a/data/imgs/flags/DK.png b/data/imgs/flags/DK.png
new file mode 100644
index 0000000..349cb41
--- /dev/null
+++ b/data/imgs/flags/DK.png
Binary files differ
diff --git a/data/imgs/flags/DM.png b/data/imgs/flags/DM.png
new file mode 100644
index 0000000..117e74d
--- /dev/null
+++ b/data/imgs/flags/DM.png
Binary files differ
diff --git a/data/imgs/flags/DO.png b/data/imgs/flags/DO.png
new file mode 100644
index 0000000..892e2e2
--- /dev/null
+++ b/data/imgs/flags/DO.png
Binary files differ
diff --git a/data/imgs/flags/DZ.png b/data/imgs/flags/DZ.png
new file mode 100644
index 0000000..5e97662
--- /dev/null
+++ b/data/imgs/flags/DZ.png
Binary files differ
diff --git a/data/imgs/flags/EC.png b/data/imgs/flags/EC.png
new file mode 100644
index 0000000..5741088
--- /dev/null
+++ b/data/imgs/flags/EC.png
Binary files differ
diff --git a/data/imgs/flags/EE.png b/data/imgs/flags/EE.png
new file mode 100644
index 0000000..1f11899
--- /dev/null
+++ b/data/imgs/flags/EE.png
Binary files differ
diff --git a/data/imgs/flags/EG.png b/data/imgs/flags/EG.png
new file mode 100644
index 0000000..0e873be
--- /dev/null
+++ b/data/imgs/flags/EG.png
Binary files differ
diff --git a/data/imgs/flags/EH.png b/data/imgs/flags/EH.png
new file mode 100644
index 0000000..a5b3b1c
--- /dev/null
+++ b/data/imgs/flags/EH.png
Binary files differ
diff --git a/data/imgs/flags/ER.png b/data/imgs/flags/ER.png
new file mode 100644
index 0000000..50781ce
--- /dev/null
+++ b/data/imgs/flags/ER.png
Binary files differ
diff --git a/data/imgs/flags/ES.png b/data/imgs/flags/ES.png
new file mode 100644
index 0000000..b89db68
--- /dev/null
+++ b/data/imgs/flags/ES.png
Binary files differ
diff --git a/data/imgs/flags/ET.png b/data/imgs/flags/ET.png
new file mode 100644
index 0000000..aa14723
--- /dev/null
+++ b/data/imgs/flags/ET.png
Binary files differ
diff --git a/data/imgs/flags/EU.png b/data/imgs/flags/EU.png
new file mode 100644
index 0000000..2bfaf10
--- /dev/null
+++ b/data/imgs/flags/EU.png
Binary files differ
diff --git a/data/imgs/flags/FI.png b/data/imgs/flags/FI.png
new file mode 100644
index 0000000..b5a380c
--- /dev/null
+++ b/data/imgs/flags/FI.png
Binary files differ
diff --git a/data/imgs/flags/FJ.png b/data/imgs/flags/FJ.png
new file mode 100644
index 0000000..1cb520c
--- /dev/null
+++ b/data/imgs/flags/FJ.png
Binary files differ
diff --git a/data/imgs/flags/FK.png b/data/imgs/flags/FK.png
new file mode 100644
index 0000000..a7cadb7
--- /dev/null
+++ b/data/imgs/flags/FK.png
Binary files differ
diff --git a/data/imgs/flags/FM.png b/data/imgs/flags/FM.png
new file mode 100644
index 0000000..5a9b85c
--- /dev/null
+++ b/data/imgs/flags/FM.png
Binary files differ
diff --git a/data/imgs/flags/FO.png b/data/imgs/flags/FO.png
new file mode 100644
index 0000000..4a49e30
--- /dev/null
+++ b/data/imgs/flags/FO.png
Binary files differ
diff --git a/data/imgs/flags/FR.png b/data/imgs/flags/FR.png
new file mode 100644
index 0000000..0706dcc
--- /dev/null
+++ b/data/imgs/flags/FR.png
Binary files differ
diff --git a/data/imgs/flags/GA.png b/data/imgs/flags/GA.png
new file mode 100644
index 0000000..38899c4
--- /dev/null
+++ b/data/imgs/flags/GA.png
Binary files differ
diff --git a/data/imgs/flags/GB.png b/data/imgs/flags/GB.png
new file mode 100644
index 0000000..43ebed3
--- /dev/null
+++ b/data/imgs/flags/GB.png
Binary files differ
diff --git a/data/imgs/flags/GD.png b/data/imgs/flags/GD.png
new file mode 100644
index 0000000..2d33bbb
--- /dev/null
+++ b/data/imgs/flags/GD.png
Binary files differ
diff --git a/data/imgs/flags/GE.png b/data/imgs/flags/GE.png
new file mode 100644
index 0000000..7aff274
--- /dev/null
+++ b/data/imgs/flags/GE.png
Binary files differ
diff --git a/data/imgs/flags/GG.png b/data/imgs/flags/GG.png
new file mode 100644
index 0000000..c0c3a78
--- /dev/null
+++ b/data/imgs/flags/GG.png
Binary files differ
diff --git a/data/imgs/flags/GH.png b/data/imgs/flags/GH.png
new file mode 100644
index 0000000..e9b79a6
--- /dev/null
+++ b/data/imgs/flags/GH.png
Binary files differ
diff --git a/data/imgs/flags/GI.png b/data/imgs/flags/GI.png
new file mode 100644
index 0000000..e14ebe5
--- /dev/null
+++ b/data/imgs/flags/GI.png
Binary files differ
diff --git a/data/imgs/flags/GL.png b/data/imgs/flags/GL.png
new file mode 100644
index 0000000..6b995ff
--- /dev/null
+++ b/data/imgs/flags/GL.png
Binary files differ
diff --git a/data/imgs/flags/GM.png b/data/imgs/flags/GM.png
new file mode 100644
index 0000000..72c170a
--- /dev/null
+++ b/data/imgs/flags/GM.png
Binary files differ
diff --git a/data/imgs/flags/GN.png b/data/imgs/flags/GN.png
new file mode 100644
index 0000000..9983039
--- /dev/null
+++ b/data/imgs/flags/GN.png
Binary files differ
diff --git a/data/imgs/flags/GQ.png b/data/imgs/flags/GQ.png
new file mode 100644
index 0000000..9b02045
--- /dev/null
+++ b/data/imgs/flags/GQ.png
Binary files differ
diff --git a/data/imgs/flags/GR.png b/data/imgs/flags/GR.png
new file mode 100644
index 0000000..dc34d19
--- /dev/null
+++ b/data/imgs/flags/GR.png
Binary files differ
diff --git a/data/imgs/flags/GS.png b/data/imgs/flags/GS.png
new file mode 100644
index 0000000..55392f9
--- /dev/null
+++ b/data/imgs/flags/GS.png
Binary files differ
diff --git a/data/imgs/flags/GT.png b/data/imgs/flags/GT.png
new file mode 100644
index 0000000..0b4b8b4
--- /dev/null
+++ b/data/imgs/flags/GT.png
Binary files differ
diff --git a/data/imgs/flags/GU.png b/data/imgs/flags/GU.png
new file mode 100644
index 0000000..31e9cc5
--- /dev/null
+++ b/data/imgs/flags/GU.png
Binary files differ
diff --git a/data/imgs/flags/GW.png b/data/imgs/flags/GW.png
new file mode 100644
index 0000000..98c6633
--- /dev/null
+++ b/data/imgs/flags/GW.png
Binary files differ
diff --git a/data/imgs/flags/GY.png b/data/imgs/flags/GY.png
new file mode 100644
index 0000000..8cc6d9c
--- /dev/null
+++ b/data/imgs/flags/GY.png
Binary files differ
diff --git a/data/imgs/flags/HK.png b/data/imgs/flags/HK.png
new file mode 100644
index 0000000..89c38aa
--- /dev/null
+++ b/data/imgs/flags/HK.png
Binary files differ
diff --git a/data/imgs/flags/HN.png b/data/imgs/flags/HN.png
new file mode 100644
index 0000000..e794c43
--- /dev/null
+++ b/data/imgs/flags/HN.png
Binary files differ
diff --git a/data/imgs/flags/HR.png b/data/imgs/flags/HR.png
new file mode 100644
index 0000000..6f845d5
--- /dev/null
+++ b/data/imgs/flags/HR.png
Binary files differ
diff --git a/data/imgs/flags/HT.png b/data/imgs/flags/HT.png
new file mode 100644
index 0000000..da4dc3b
--- /dev/null
+++ b/data/imgs/flags/HT.png
Binary files differ
diff --git a/data/imgs/flags/HU.png b/data/imgs/flags/HU.png
new file mode 100644
index 0000000..98de28a
--- /dev/null
+++ b/data/imgs/flags/HU.png
Binary files differ
diff --git a/data/imgs/flags/IC.png b/data/imgs/flags/IC.png
new file mode 100644
index 0000000..500d9db
--- /dev/null
+++ b/data/imgs/flags/IC.png
Binary files differ
diff --git a/data/imgs/flags/ID.png b/data/imgs/flags/ID.png
new file mode 100644
index 0000000..a14683d
--- /dev/null
+++ b/data/imgs/flags/ID.png
Binary files differ
diff --git a/data/imgs/flags/IE.png b/data/imgs/flags/IE.png
new file mode 100644
index 0000000..105c26b
--- /dev/null
+++ b/data/imgs/flags/IE.png
Binary files differ
diff --git a/data/imgs/flags/IL.png b/data/imgs/flags/IL.png
new file mode 100644
index 0000000..9ad54c5
--- /dev/null
+++ b/data/imgs/flags/IL.png
Binary files differ
diff --git a/data/imgs/flags/IM.png b/data/imgs/flags/IM.png
new file mode 100644
index 0000000..f0ff466
--- /dev/null
+++ b/data/imgs/flags/IM.png
Binary files differ
diff --git a/data/imgs/flags/IN.png b/data/imgs/flags/IN.png
new file mode 100644
index 0000000..f1c32fa
--- /dev/null
+++ b/data/imgs/flags/IN.png
Binary files differ
diff --git a/data/imgs/flags/IQ.png b/data/imgs/flags/IQ.png
new file mode 100644
index 0000000..8d5a323
--- /dev/null
+++ b/data/imgs/flags/IQ.png
Binary files differ
diff --git a/data/imgs/flags/IR.png b/data/imgs/flags/IR.png
new file mode 100644
index 0000000..354a3ac
--- /dev/null
+++ b/data/imgs/flags/IR.png
Binary files differ
diff --git a/data/imgs/flags/IS.png b/data/imgs/flags/IS.png
new file mode 100644
index 0000000..87253cd
--- /dev/null
+++ b/data/imgs/flags/IS.png
Binary files differ
diff --git a/data/imgs/flags/IT.png b/data/imgs/flags/IT.png
new file mode 100644
index 0000000..ce11f1f
--- /dev/null
+++ b/data/imgs/flags/IT.png
Binary files differ
diff --git a/data/imgs/flags/JE.png b/data/imgs/flags/JE.png
new file mode 100644
index 0000000..904b610
--- /dev/null
+++ b/data/imgs/flags/JE.png
Binary files differ
diff --git a/data/imgs/flags/JM.png b/data/imgs/flags/JM.png
new file mode 100644
index 0000000..378f70d
--- /dev/null
+++ b/data/imgs/flags/JM.png
Binary files differ
diff --git a/data/imgs/flags/JO.png b/data/imgs/flags/JO.png
new file mode 100644
index 0000000..270e524
--- /dev/null
+++ b/data/imgs/flags/JO.png
Binary files differ
diff --git a/data/imgs/flags/JP.png b/data/imgs/flags/JP.png
new file mode 100644
index 0000000..78c159a
--- /dev/null
+++ b/data/imgs/flags/JP.png
Binary files differ
diff --git a/data/imgs/flags/KE.png b/data/imgs/flags/KE.png
new file mode 100644
index 0000000..ecbeb5d
--- /dev/null
+++ b/data/imgs/flags/KE.png
Binary files differ
diff --git a/data/imgs/flags/KG.png b/data/imgs/flags/KG.png
new file mode 100644
index 0000000..12b0dad
--- /dev/null
+++ b/data/imgs/flags/KG.png
Binary files differ
diff --git a/data/imgs/flags/KH.png b/data/imgs/flags/KH.png
new file mode 100644
index 0000000..6fb7f57
--- /dev/null
+++ b/data/imgs/flags/KH.png
Binary files differ
diff --git a/data/imgs/flags/KI.png b/data/imgs/flags/KI.png
new file mode 100644
index 0000000..e2762a6
--- /dev/null
+++ b/data/imgs/flags/KI.png
Binary files differ
diff --git a/data/imgs/flags/KM.png b/data/imgs/flags/KM.png
new file mode 100644
index 0000000..43d8a75
--- /dev/null
+++ b/data/imgs/flags/KM.png
Binary files differ
diff --git a/data/imgs/flags/KN.png b/data/imgs/flags/KN.png
new file mode 100644
index 0000000..5decf8d
--- /dev/null
+++ b/data/imgs/flags/KN.png
Binary files differ
diff --git a/data/imgs/flags/KP.png b/data/imgs/flags/KP.png
new file mode 100644
index 0000000..b303f8e
--- /dev/null
+++ b/data/imgs/flags/KP.png
Binary files differ
diff --git a/data/imgs/flags/KR.png b/data/imgs/flags/KR.png
new file mode 100644
index 0000000..d21bef9
--- /dev/null
+++ b/data/imgs/flags/KR.png
Binary files differ
diff --git a/data/imgs/flags/KW.png b/data/imgs/flags/KW.png
new file mode 100644
index 0000000..6f7010b
--- /dev/null
+++ b/data/imgs/flags/KW.png
Binary files differ
diff --git a/data/imgs/flags/KY.png b/data/imgs/flags/KY.png
new file mode 100644
index 0000000..c4bfbd9
--- /dev/null
+++ b/data/imgs/flags/KY.png
Binary files differ
diff --git a/data/imgs/flags/KZ.png b/data/imgs/flags/KZ.png
new file mode 100644
index 0000000..1a0ca4f
--- /dev/null
+++ b/data/imgs/flags/KZ.png
Binary files differ
diff --git a/data/imgs/flags/LA.png b/data/imgs/flags/LA.png
new file mode 100644
index 0000000..f78e67f
--- /dev/null
+++ b/data/imgs/flags/LA.png
Binary files differ
diff --git a/data/imgs/flags/LB.png b/data/imgs/flags/LB.png
new file mode 100644
index 0000000..a9643c3
--- /dev/null
+++ b/data/imgs/flags/LB.png
Binary files differ
diff --git a/data/imgs/flags/LC.png b/data/imgs/flags/LC.png
new file mode 100644
index 0000000..ab5916b
--- /dev/null
+++ b/data/imgs/flags/LC.png
Binary files differ
diff --git a/data/imgs/flags/LI.png b/data/imgs/flags/LI.png
new file mode 100644
index 0000000..cf7bbe4
--- /dev/null
+++ b/data/imgs/flags/LI.png
Binary files differ
diff --git a/data/imgs/flags/LK.png b/data/imgs/flags/LK.png
new file mode 100644
index 0000000..a60c8ed
--- /dev/null
+++ b/data/imgs/flags/LK.png
Binary files differ
diff --git a/data/imgs/flags/LR.png b/data/imgs/flags/LR.png
new file mode 100644
index 0000000..dd3a57f
--- /dev/null
+++ b/data/imgs/flags/LR.png
Binary files differ
diff --git a/data/imgs/flags/LS.png b/data/imgs/flags/LS.png
new file mode 100644
index 0000000..ad2aa4a
--- /dev/null
+++ b/data/imgs/flags/LS.png
Binary files differ
diff --git a/data/imgs/flags/LT.png b/data/imgs/flags/LT.png
new file mode 100644
index 0000000..f40f2e2
--- /dev/null
+++ b/data/imgs/flags/LT.png
Binary files differ
diff --git a/data/imgs/flags/LU.png b/data/imgs/flags/LU.png
new file mode 100644
index 0000000..92e72f9
--- /dev/null
+++ b/data/imgs/flags/LU.png
Binary files differ
diff --git a/data/imgs/flags/LV.png b/data/imgs/flags/LV.png
new file mode 100644
index 0000000..3966acf
--- /dev/null
+++ b/data/imgs/flags/LV.png
Binary files differ
diff --git a/data/imgs/flags/LY.png b/data/imgs/flags/LY.png
new file mode 100644
index 0000000..4db0845
--- /dev/null
+++ b/data/imgs/flags/LY.png
Binary files differ
diff --git a/data/imgs/flags/MA.png b/data/imgs/flags/MA.png
new file mode 100644
index 0000000..69424d5
--- /dev/null
+++ b/data/imgs/flags/MA.png
Binary files differ
diff --git a/data/imgs/flags/MC.png b/data/imgs/flags/MC.png
new file mode 100644
index 0000000..a14683d
--- /dev/null
+++ b/data/imgs/flags/MC.png
Binary files differ
diff --git a/data/imgs/flags/MD.png b/data/imgs/flags/MD.png
new file mode 100644
index 0000000..21fd6ec
--- /dev/null
+++ b/data/imgs/flags/MD.png
Binary files differ
diff --git a/data/imgs/flags/ME.png b/data/imgs/flags/ME.png
new file mode 100644
index 0000000..0ca932d
--- /dev/null
+++ b/data/imgs/flags/ME.png
Binary files differ
diff --git a/data/imgs/flags/MF.png b/data/imgs/flags/MF.png
new file mode 100644
index 0000000..16692f7
--- /dev/null
+++ b/data/imgs/flags/MF.png
Binary files differ
diff --git a/data/imgs/flags/MG.png b/data/imgs/flags/MG.png
new file mode 100644
index 0000000..09f2469
--- /dev/null
+++ b/data/imgs/flags/MG.png
Binary files differ
diff --git a/data/imgs/flags/MH.png b/data/imgs/flags/MH.png
new file mode 100644
index 0000000..3ffcf01
--- /dev/null
+++ b/data/imgs/flags/MH.png
Binary files differ
diff --git a/data/imgs/flags/MK.png b/data/imgs/flags/MK.png
new file mode 100644
index 0000000..a676509
--- /dev/null
+++ b/data/imgs/flags/MK.png
Binary files differ
diff --git a/data/imgs/flags/ML.png b/data/imgs/flags/ML.png
new file mode 100644
index 0000000..bd23841
--- /dev/null
+++ b/data/imgs/flags/ML.png
Binary files differ
diff --git a/data/imgs/flags/MM.png b/data/imgs/flags/MM.png
new file mode 100644
index 0000000..1bf0d5b
--- /dev/null
+++ b/data/imgs/flags/MM.png
Binary files differ
diff --git a/data/imgs/flags/MN.png b/data/imgs/flags/MN.png
new file mode 100644
index 0000000..67a5335
--- /dev/null
+++ b/data/imgs/flags/MN.png
Binary files differ
diff --git a/data/imgs/flags/MO.png b/data/imgs/flags/MO.png
new file mode 100644
index 0000000..2dc29c8
--- /dev/null
+++ b/data/imgs/flags/MO.png
Binary files differ
diff --git a/data/imgs/flags/MP.png b/data/imgs/flags/MP.png
new file mode 100644
index 0000000..b505754
--- /dev/null
+++ b/data/imgs/flags/MP.png
Binary files differ
diff --git a/data/imgs/flags/MQ.png b/data/imgs/flags/MQ.png
new file mode 100644
index 0000000..4e9f76b
--- /dev/null
+++ b/data/imgs/flags/MQ.png
Binary files differ
diff --git a/data/imgs/flags/MR.png b/data/imgs/flags/MR.png
new file mode 100644
index 0000000..6bda861
--- /dev/null
+++ b/data/imgs/flags/MR.png
Binary files differ
diff --git a/data/imgs/flags/MS.png b/data/imgs/flags/MS.png
new file mode 100644
index 0000000..a860c6f
--- /dev/null
+++ b/data/imgs/flags/MS.png
Binary files differ
diff --git a/data/imgs/flags/MT.png b/data/imgs/flags/MT.png
new file mode 100644
index 0000000..93d502b
--- /dev/null
+++ b/data/imgs/flags/MT.png
Binary files differ
diff --git a/data/imgs/flags/MU.png b/data/imgs/flags/MU.png
new file mode 100644
index 0000000..6bf5235
--- /dev/null
+++ b/data/imgs/flags/MU.png
Binary files differ
diff --git a/data/imgs/flags/MV.png b/data/imgs/flags/MV.png
new file mode 100644
index 0000000..b87bb2e
--- /dev/null
+++ b/data/imgs/flags/MV.png
Binary files differ
diff --git a/data/imgs/flags/MW.png b/data/imgs/flags/MW.png
new file mode 100644
index 0000000..d75a8d3
--- /dev/null
+++ b/data/imgs/flags/MW.png
Binary files differ
diff --git a/data/imgs/flags/MX.png b/data/imgs/flags/MX.png
new file mode 100644
index 0000000..8fa7919
--- /dev/null
+++ b/data/imgs/flags/MX.png
Binary files differ
diff --git a/data/imgs/flags/MY.png b/data/imgs/flags/MY.png
new file mode 100644
index 0000000..a8e3996
--- /dev/null
+++ b/data/imgs/flags/MY.png
Binary files differ
diff --git a/data/imgs/flags/MZ.png b/data/imgs/flags/MZ.png
new file mode 100644
index 0000000..0fdc38c
--- /dev/null
+++ b/data/imgs/flags/MZ.png
Binary files differ
diff --git a/data/imgs/flags/NA.png b/data/imgs/flags/NA.png
new file mode 100644
index 0000000..52e2a79
--- /dev/null
+++ b/data/imgs/flags/NA.png
Binary files differ
diff --git a/data/imgs/flags/NC.png b/data/imgs/flags/NC.png
new file mode 100644
index 0000000..e3288ac
--- /dev/null
+++ b/data/imgs/flags/NC.png
Binary files differ
diff --git a/data/imgs/flags/NE.png b/data/imgs/flags/NE.png
new file mode 100644
index 0000000..841e77f
--- /dev/null
+++ b/data/imgs/flags/NE.png
Binary files differ
diff --git a/data/imgs/flags/NF.png b/data/imgs/flags/NF.png
new file mode 100644
index 0000000..7c1af02
--- /dev/null
+++ b/data/imgs/flags/NF.png
Binary files differ
diff --git a/data/imgs/flags/NG.png b/data/imgs/flags/NG.png
new file mode 100644
index 0000000..25fe78f
--- /dev/null
+++ b/data/imgs/flags/NG.png
Binary files differ
diff --git a/data/imgs/flags/NI.png b/data/imgs/flags/NI.png
new file mode 100644
index 0000000..0f66acc
--- /dev/null
+++ b/data/imgs/flags/NI.png
Binary files differ
diff --git a/data/imgs/flags/NL.png b/data/imgs/flags/NL.png
new file mode 100644
index 0000000..036658e
--- /dev/null
+++ b/data/imgs/flags/NL.png
Binary files differ
diff --git a/data/imgs/flags/NO.png b/data/imgs/flags/NO.png
new file mode 100644
index 0000000..38a13c4
--- /dev/null
+++ b/data/imgs/flags/NO.png
Binary files differ
diff --git a/data/imgs/flags/NP.png b/data/imgs/flags/NP.png
new file mode 100644
index 0000000..eed654b
--- /dev/null
+++ b/data/imgs/flags/NP.png
Binary files differ
diff --git a/data/imgs/flags/NR.png b/data/imgs/flags/NR.png
new file mode 100644
index 0000000..4b2d080
--- /dev/null
+++ b/data/imgs/flags/NR.png
Binary files differ
diff --git a/data/imgs/flags/NU.png b/data/imgs/flags/NU.png
new file mode 100644
index 0000000..d791c4a
--- /dev/null
+++ b/data/imgs/flags/NU.png
Binary files differ
diff --git a/data/imgs/flags/NZ.png b/data/imgs/flags/NZ.png
new file mode 100644
index 0000000..913b18a
--- /dev/null
+++ b/data/imgs/flags/NZ.png
Binary files differ
diff --git a/data/imgs/flags/OM.png b/data/imgs/flags/OM.png
new file mode 100644
index 0000000..b2a16c0
--- /dev/null
+++ b/data/imgs/flags/OM.png
Binary files differ
diff --git a/data/imgs/flags/PA.png b/data/imgs/flags/PA.png
new file mode 100644
index 0000000..fc0a34a
--- /dev/null
+++ b/data/imgs/flags/PA.png
Binary files differ
diff --git a/data/imgs/flags/PE.png b/data/imgs/flags/PE.png
new file mode 100644
index 0000000..ce31457
--- /dev/null
+++ b/data/imgs/flags/PE.png
Binary files differ
diff --git a/data/imgs/flags/PF.png b/data/imgs/flags/PF.png
new file mode 100644
index 0000000..c932709
--- /dev/null
+++ b/data/imgs/flags/PF.png
Binary files differ
diff --git a/data/imgs/flags/PG.png b/data/imgs/flags/PG.png
new file mode 100644
index 0000000..68b758d
--- /dev/null
+++ b/data/imgs/flags/PG.png
Binary files differ
diff --git a/data/imgs/flags/PH.png b/data/imgs/flags/PH.png
new file mode 100644
index 0000000..dc75142
--- /dev/null
+++ b/data/imgs/flags/PH.png
Binary files differ
diff --git a/data/imgs/flags/PK.png b/data/imgs/flags/PK.png
new file mode 100644
index 0000000..014af06
--- /dev/null
+++ b/data/imgs/flags/PK.png
Binary files differ
diff --git a/data/imgs/flags/PL.png b/data/imgs/flags/PL.png
new file mode 100644
index 0000000..4d0fc51
--- /dev/null
+++ b/data/imgs/flags/PL.png
Binary files differ
diff --git a/data/imgs/flags/PN.png b/data/imgs/flags/PN.png
new file mode 100644
index 0000000..c046e9b
--- /dev/null
+++ b/data/imgs/flags/PN.png
Binary files differ
diff --git a/data/imgs/flags/PR.png b/data/imgs/flags/PR.png
new file mode 100644
index 0000000..7d54f19
--- /dev/null
+++ b/data/imgs/flags/PR.png
Binary files differ
diff --git a/data/imgs/flags/PS.png b/data/imgs/flags/PS.png
new file mode 100644
index 0000000..d4d85dc
--- /dev/null
+++ b/data/imgs/flags/PS.png
Binary files differ
diff --git a/data/imgs/flags/PT.png b/data/imgs/flags/PT.png
new file mode 100644
index 0000000..18e276e
--- /dev/null
+++ b/data/imgs/flags/PT.png
Binary files differ
diff --git a/data/imgs/flags/PW.png b/data/imgs/flags/PW.png
new file mode 100644
index 0000000..f9bcdc6
--- /dev/null
+++ b/data/imgs/flags/PW.png
Binary files differ
diff --git a/data/imgs/flags/PY.png b/data/imgs/flags/PY.png
new file mode 100644
index 0000000..c289b6c
--- /dev/null
+++ b/data/imgs/flags/PY.png
Binary files differ
diff --git a/data/imgs/flags/QA.png b/data/imgs/flags/QA.png
new file mode 100644
index 0000000..95c7485
--- /dev/null
+++ b/data/imgs/flags/QA.png
Binary files differ
diff --git a/data/imgs/flags/RE.png b/data/imgs/flags/RE.png
new file mode 100644
index 0000000..2ff851c
--- /dev/null
+++ b/data/imgs/flags/RE.png
Binary files differ
diff --git a/data/imgs/flags/RO.png b/data/imgs/flags/RO.png
new file mode 100644
index 0000000..3d9c2a3
--- /dev/null
+++ b/data/imgs/flags/RO.png
Binary files differ
diff --git a/data/imgs/flags/RS.png b/data/imgs/flags/RS.png
new file mode 100644
index 0000000..d95bcdf
--- /dev/null
+++ b/data/imgs/flags/RS.png
Binary files differ
diff --git a/data/imgs/flags/RU.png b/data/imgs/flags/RU.png
new file mode 100644
index 0000000..a4318e7
--- /dev/null
+++ b/data/imgs/flags/RU.png
Binary files differ
diff --git a/data/imgs/flags/RW.png b/data/imgs/flags/RW.png
new file mode 100644
index 0000000..00f5e1e
--- /dev/null
+++ b/data/imgs/flags/RW.png
Binary files differ
diff --git a/data/imgs/flags/SA.png b/data/imgs/flags/SA.png
new file mode 100644
index 0000000..ba3f2de
--- /dev/null
+++ b/data/imgs/flags/SA.png
Binary files differ
diff --git a/data/imgs/flags/SB.png b/data/imgs/flags/SB.png
new file mode 100644
index 0000000..1b6384a
--- /dev/null
+++ b/data/imgs/flags/SB.png
Binary files differ
diff --git a/data/imgs/flags/SC.png b/data/imgs/flags/SC.png
new file mode 100644
index 0000000..2a49518
--- /dev/null
+++ b/data/imgs/flags/SC.png
Binary files differ
diff --git a/data/imgs/flags/SD.png b/data/imgs/flags/SD.png
new file mode 100644
index 0000000..5fc853b
--- /dev/null
+++ b/data/imgs/flags/SD.png
Binary files differ
diff --git a/data/imgs/flags/SE.png b/data/imgs/flags/SE.png
new file mode 100644
index 0000000..ad7854b
--- /dev/null
+++ b/data/imgs/flags/SE.png
Binary files differ
diff --git a/data/imgs/flags/SG.png b/data/imgs/flags/SG.png
new file mode 100644
index 0000000..8b1c5f0
--- /dev/null
+++ b/data/imgs/flags/SG.png
Binary files differ
diff --git a/data/imgs/flags/SH.png b/data/imgs/flags/SH.png
new file mode 100644
index 0000000..4b2961b
--- /dev/null
+++ b/data/imgs/flags/SH.png
Binary files differ
diff --git a/data/imgs/flags/SI.png b/data/imgs/flags/SI.png
new file mode 100644
index 0000000..08cc3f4
--- /dev/null
+++ b/data/imgs/flags/SI.png
Binary files differ
diff --git a/data/imgs/flags/SK.png b/data/imgs/flags/SK.png
new file mode 100644
index 0000000..d622ef0
--- /dev/null
+++ b/data/imgs/flags/SK.png
Binary files differ
diff --git a/data/imgs/flags/SL.png b/data/imgs/flags/SL.png
new file mode 100644
index 0000000..e8a3530
--- /dev/null
+++ b/data/imgs/flags/SL.png
Binary files differ
diff --git a/data/imgs/flags/SM.png b/data/imgs/flags/SM.png
new file mode 100644
index 0000000..f0d6572
--- /dev/null
+++ b/data/imgs/flags/SM.png
Binary files differ
diff --git a/data/imgs/flags/SN.png b/data/imgs/flags/SN.png
new file mode 100644
index 0000000..a4fc08f
--- /dev/null
+++ b/data/imgs/flags/SN.png
Binary files differ
diff --git a/data/imgs/flags/SO.png b/data/imgs/flags/SO.png
new file mode 100644
index 0000000..3f0f416
--- /dev/null
+++ b/data/imgs/flags/SO.png
Binary files differ
diff --git a/data/imgs/flags/SR.png b/data/imgs/flags/SR.png
new file mode 100644
index 0000000..6a8eea2
--- /dev/null
+++ b/data/imgs/flags/SR.png
Binary files differ
diff --git a/data/imgs/flags/SS.png b/data/imgs/flags/SS.png
new file mode 100644
index 0000000..c71cafa
--- /dev/null
+++ b/data/imgs/flags/SS.png
Binary files differ
diff --git a/data/imgs/flags/ST.png b/data/imgs/flags/ST.png
new file mode 100644
index 0000000..480886c
--- /dev/null
+++ b/data/imgs/flags/ST.png
Binary files differ
diff --git a/data/imgs/flags/SV.png b/data/imgs/flags/SV.png
new file mode 100644
index 0000000..b5f69fa
--- /dev/null
+++ b/data/imgs/flags/SV.png
Binary files differ
diff --git a/data/imgs/flags/SX.png b/data/imgs/flags/SX.png
new file mode 100644
index 0000000..25f4f55
--- /dev/null
+++ b/data/imgs/flags/SX.png
Binary files differ
diff --git a/data/imgs/flags/SY.png b/data/imgs/flags/SY.png
new file mode 100644
index 0000000..dd5927a
--- /dev/null
+++ b/data/imgs/flags/SY.png
Binary files differ
diff --git a/data/imgs/flags/SZ.png b/data/imgs/flags/SZ.png
new file mode 100644
index 0000000..b0615c3
--- /dev/null
+++ b/data/imgs/flags/SZ.png
Binary files differ
diff --git a/data/imgs/flags/TC.png b/data/imgs/flags/TC.png
new file mode 100644
index 0000000..b17607b
--- /dev/null
+++ b/data/imgs/flags/TC.png
Binary files differ
diff --git a/data/imgs/flags/TD.png b/data/imgs/flags/TD.png
new file mode 100644
index 0000000..787eebb
--- /dev/null
+++ b/data/imgs/flags/TD.png
Binary files differ
diff --git a/data/imgs/flags/TF.png b/data/imgs/flags/TF.png
new file mode 100644
index 0000000..8292904
--- /dev/null
+++ b/data/imgs/flags/TF.png
Binary files differ
diff --git a/data/imgs/flags/TG.png b/data/imgs/flags/TG.png
new file mode 100644
index 0000000..be814c6
--- /dev/null
+++ b/data/imgs/flags/TG.png
Binary files differ
diff --git a/data/imgs/flags/TH.png b/data/imgs/flags/TH.png
new file mode 100644
index 0000000..5ff77db
--- /dev/null
+++ b/data/imgs/flags/TH.png
Binary files differ
diff --git a/data/imgs/flags/TJ.png b/data/imgs/flags/TJ.png
new file mode 100644
index 0000000..b0b546b
--- /dev/null
+++ b/data/imgs/flags/TJ.png
Binary files differ
diff --git a/data/imgs/flags/TK.png b/data/imgs/flags/TK.png
new file mode 100644
index 0000000..b70e823
--- /dev/null
+++ b/data/imgs/flags/TK.png
Binary files differ
diff --git a/data/imgs/flags/TL.png b/data/imgs/flags/TL.png
new file mode 100644
index 0000000..b7e77dc
--- /dev/null
+++ b/data/imgs/flags/TL.png
Binary files differ
diff --git a/data/imgs/flags/TM.png b/data/imgs/flags/TM.png
new file mode 100644
index 0000000..e6f69d7
--- /dev/null
+++ b/data/imgs/flags/TM.png
Binary files differ
diff --git a/data/imgs/flags/TN.png b/data/imgs/flags/TN.png
new file mode 100644
index 0000000..2548fd9
--- /dev/null
+++ b/data/imgs/flags/TN.png
Binary files differ
diff --git a/data/imgs/flags/TO.png b/data/imgs/flags/TO.png
new file mode 100644
index 0000000..f96d996
--- /dev/null
+++ b/data/imgs/flags/TO.png
Binary files differ
diff --git a/data/imgs/flags/TR.png b/data/imgs/flags/TR.png
new file mode 100644
index 0000000..3af317d
--- /dev/null
+++ b/data/imgs/flags/TR.png
Binary files differ
diff --git a/data/imgs/flags/TT.png b/data/imgs/flags/TT.png
new file mode 100644
index 0000000..890321a
--- /dev/null
+++ b/data/imgs/flags/TT.png
Binary files differ
diff --git a/data/imgs/flags/TV.png b/data/imgs/flags/TV.png
new file mode 100644
index 0000000..2ec3160
--- /dev/null
+++ b/data/imgs/flags/TV.png
Binary files differ
diff --git a/data/imgs/flags/TW.png b/data/imgs/flags/TW.png
new file mode 100644
index 0000000..26425e4
--- /dev/null
+++ b/data/imgs/flags/TW.png
Binary files differ
diff --git a/data/imgs/flags/TZ.png b/data/imgs/flags/TZ.png
new file mode 100644
index 0000000..c1671cf
--- /dev/null
+++ b/data/imgs/flags/TZ.png
Binary files differ
diff --git a/data/imgs/flags/UA.png b/data/imgs/flags/UA.png
new file mode 100644
index 0000000..74c2012
--- /dev/null
+++ b/data/imgs/flags/UA.png
Binary files differ
diff --git a/data/imgs/flags/UG.png b/data/imgs/flags/UG.png
new file mode 100644
index 0000000..c8c2443
--- /dev/null
+++ b/data/imgs/flags/UG.png
Binary files differ
diff --git a/data/imgs/flags/US.png b/data/imgs/flags/US.png
new file mode 100644
index 0000000..31aa3f1
--- /dev/null
+++ b/data/imgs/flags/US.png
Binary files differ
diff --git a/data/imgs/flags/UY.png b/data/imgs/flags/UY.png
new file mode 100644
index 0000000..9397cec
--- /dev/null
+++ b/data/imgs/flags/UY.png
Binary files differ
diff --git a/data/imgs/flags/UZ.png b/data/imgs/flags/UZ.png
new file mode 100644
index 0000000..1df6c88
--- /dev/null
+++ b/data/imgs/flags/UZ.png
Binary files differ
diff --git a/data/imgs/flags/VA.png b/data/imgs/flags/VA.png
new file mode 100644
index 0000000..25a852e
--- /dev/null
+++ b/data/imgs/flags/VA.png
Binary files differ
diff --git a/data/imgs/flags/VC.png b/data/imgs/flags/VC.png
new file mode 100644
index 0000000..e63a9c1
--- /dev/null
+++ b/data/imgs/flags/VC.png
Binary files differ
diff --git a/data/imgs/flags/VE.png b/data/imgs/flags/VE.png
new file mode 100644
index 0000000..875f773
--- /dev/null
+++ b/data/imgs/flags/VE.png
Binary files differ
diff --git a/data/imgs/flags/VG.png b/data/imgs/flags/VG.png
new file mode 100644
index 0000000..0bd002e
--- /dev/null
+++ b/data/imgs/flags/VG.png
Binary files differ
diff --git a/data/imgs/flags/VI.png b/data/imgs/flags/VI.png
new file mode 100644
index 0000000..69d667a
--- /dev/null
+++ b/data/imgs/flags/VI.png
Binary files differ
diff --git a/data/imgs/flags/VN.png b/data/imgs/flags/VN.png
new file mode 100644
index 0000000..69d87f9
--- /dev/null
+++ b/data/imgs/flags/VN.png
Binary files differ
diff --git a/data/imgs/flags/VU.png b/data/imgs/flags/VU.png
new file mode 100644
index 0000000..5401c2a
--- /dev/null
+++ b/data/imgs/flags/VU.png
Binary files differ
diff --git a/data/imgs/flags/WF.png b/data/imgs/flags/WF.png
new file mode 100644
index 0000000..922b74e
--- /dev/null
+++ b/data/imgs/flags/WF.png
Binary files differ
diff --git a/data/imgs/flags/WS.png b/data/imgs/flags/WS.png
new file mode 100644
index 0000000..d1f62df
--- /dev/null
+++ b/data/imgs/flags/WS.png
Binary files differ
diff --git a/data/imgs/flags/YE.png b/data/imgs/flags/YE.png
new file mode 100644
index 0000000..bad5e1f
--- /dev/null
+++ b/data/imgs/flags/YE.png
Binary files differ
diff --git a/data/imgs/flags/YT.png b/data/imgs/flags/YT.png
new file mode 100644
index 0000000..676e06c
--- /dev/null
+++ b/data/imgs/flags/YT.png
Binary files differ
diff --git a/data/imgs/flags/ZA.png b/data/imgs/flags/ZA.png
new file mode 100644
index 0000000..701e010
--- /dev/null
+++ b/data/imgs/flags/ZA.png
Binary files differ
diff --git a/data/imgs/flags/ZM.png b/data/imgs/flags/ZM.png
new file mode 100644
index 0000000..e3d8078
--- /dev/null
+++ b/data/imgs/flags/ZM.png
Binary files differ
diff --git a/data/imgs/flags/ZW.png b/data/imgs/flags/ZW.png
new file mode 100644
index 0000000..79864d4
--- /dev/null
+++ b/data/imgs/flags/ZW.png
Binary files differ
diff --git a/data/imgs/flags/_abkhazia.png b/data/imgs/flags/_abkhazia.png
new file mode 100644
index 0000000..0abf686
--- /dev/null
+++ b/data/imgs/flags/_abkhazia.png
Binary files differ
diff --git a/data/imgs/flags/_basque-country.png b/data/imgs/flags/_basque-country.png
new file mode 100644
index 0000000..bf2494d
--- /dev/null
+++ b/data/imgs/flags/_basque-country.png
Binary files differ
diff --git a/data/imgs/flags/_british-antarctic-territory.png b/data/imgs/flags/_british-antarctic-territory.png
new file mode 100644
index 0000000..b29a7dc
--- /dev/null
+++ b/data/imgs/flags/_british-antarctic-territory.png
Binary files differ
diff --git a/data/imgs/flags/_commonwealth.png b/data/imgs/flags/_commonwealth.png
new file mode 100644
index 0000000..8f08c8a
--- /dev/null
+++ b/data/imgs/flags/_commonwealth.png
Binary files differ
diff --git a/data/imgs/flags/_england.png b/data/imgs/flags/_england.png
new file mode 100644
index 0000000..7acb112
--- /dev/null
+++ b/data/imgs/flags/_england.png
Binary files differ
diff --git a/data/imgs/flags/_gosquared.png b/data/imgs/flags/_gosquared.png
new file mode 100644
index 0000000..74f2eb5
--- /dev/null
+++ b/data/imgs/flags/_gosquared.png
Binary files differ
diff --git a/data/imgs/flags/_kosovo.png b/data/imgs/flags/_kosovo.png
new file mode 100644
index 0000000..dfbb5f0
--- /dev/null
+++ b/data/imgs/flags/_kosovo.png
Binary files differ
diff --git a/data/imgs/flags/_mars.png b/data/imgs/flags/_mars.png
new file mode 100644
index 0000000..4f5980b
--- /dev/null
+++ b/data/imgs/flags/_mars.png
Binary files differ
diff --git a/data/imgs/flags/_nagorno-karabakh.png b/data/imgs/flags/_nagorno-karabakh.png
new file mode 100644
index 0000000..f5a8d27
--- /dev/null
+++ b/data/imgs/flags/_nagorno-karabakh.png
Binary files differ
diff --git a/data/imgs/flags/_nato.png b/data/imgs/flags/_nato.png
new file mode 100644
index 0000000..fdb0541
--- /dev/null
+++ b/data/imgs/flags/_nato.png
Binary files differ
diff --git a/data/imgs/flags/_northern-cyprus.png b/data/imgs/flags/_northern-cyprus.png
new file mode 100644
index 0000000..f9bf8bd
--- /dev/null
+++ b/data/imgs/flags/_northern-cyprus.png
Binary files differ
diff --git a/data/imgs/flags/_olympics.png b/data/imgs/flags/_olympics.png
new file mode 100644
index 0000000..6045223
--- /dev/null
+++ b/data/imgs/flags/_olympics.png
Binary files differ
diff --git a/data/imgs/flags/_red-cross.png b/data/imgs/flags/_red-cross.png
new file mode 100644
index 0000000..28636e9
--- /dev/null
+++ b/data/imgs/flags/_red-cross.png
Binary files differ
diff --git a/data/imgs/flags/_scotland.png b/data/imgs/flags/_scotland.png
new file mode 100644
index 0000000..db58040
--- /dev/null
+++ b/data/imgs/flags/_scotland.png
Binary files differ
diff --git a/data/imgs/flags/_somaliland.png b/data/imgs/flags/_somaliland.png
new file mode 100644
index 0000000..a903a3b
--- /dev/null
+++ b/data/imgs/flags/_somaliland.png
Binary files differ
diff --git a/data/imgs/flags/_south-ossetia.png b/data/imgs/flags/_south-ossetia.png
new file mode 100644
index 0000000..d616841
--- /dev/null
+++ b/data/imgs/flags/_south-ossetia.png
Binary files differ
diff --git a/data/imgs/flags/_united-nations.png b/data/imgs/flags/_united-nations.png
new file mode 100644
index 0000000..8e45e99
--- /dev/null
+++ b/data/imgs/flags/_united-nations.png
Binary files differ
diff --git a/data/imgs/flags/_unknown.png b/data/imgs/flags/_unknown.png
new file mode 100644
index 0000000..9d91c7f
--- /dev/null
+++ b/data/imgs/flags/_unknown.png
Binary files differ
diff --git a/data/imgs/flags/_wales.png b/data/imgs/flags/_wales.png
new file mode 100644
index 0000000..51f13c2
--- /dev/null
+++ b/data/imgs/flags/_wales.png
Binary files differ
diff --git a/data/imgs/set.png b/data/imgs/set.png
new file mode 100644
index 0000000..003a3d7
--- /dev/null
+++ b/data/imgs/set.png
Binary files differ
diff --git a/src/assets.h b/src/assets.h
index 3cfac52..7202997 100644
--- a/src/assets.h
+++ b/src/assets.h
@@ -59,6 +59,11 @@ extern u8 _binary____data_imgs_delete_png_end[];
extern u8 _binary____data_imgs_exclaim_png_start[];
extern u8 _binary____data_imgs_exclaim_png_end[];
+extern u8 _binary____data_imgs_add_png_start[];
+extern u8 _binary____data_imgs_add_png_end[];
+
+extern u8 _binary____data_imgs_set_png_start[];
+extern u8 _binary____data_imgs_set_png_end[];
typedef struct t_image {
u8 *start_addr;
diff --git a/src/config.h b/src/config.h
index a1a7611..3bfb3c3 100644
--- a/src/config.h
+++ b/src/config.h
@@ -15,4 +15,6 @@
#define MAX_ERROR_MESSAGE_LENGTH 120
#define MAX_STATUS_TEXT_LENGTH 120
+#define MAX_TERM_NAME_LENGTH 100
+
#endif \ No newline at end of file
diff --git a/src/linux/platform.c b/src/linux/platform.c
index e650097..a4d85cf 100644
--- a/src/linux/platform.c
+++ b/src/linux/platform.c
@@ -140,7 +140,7 @@ void platform_create_config_directory()
{
char *env = getenv("HOME");
char tmp[PATH_MAX];
- snprintf(tmp, PATH_MAX, "%s%s", env, "/.config/text-search");
+ snprintf(tmp, PATH_MAX, "%s%s", env, "/.config/moedit");
if (!platform_directory_exists(tmp))
{
@@ -151,7 +151,7 @@ void platform_create_config_directory()
char* get_config_save_location(char *buffer)
{
char *env = getenv("HOME");
- snprintf(buffer, PATH_MAX, "%s%s", env, "/.config/text-search/config.txt");
+ snprintf(buffer, PATH_MAX, "%s%s", env, "/.config/moedit/config.txt");
return buffer;
}
diff --git a/src/mo_edit.c b/src/mo_edit.c
index 019dbbe..fe511ac 100644
--- a/src/mo_edit.c
+++ b/src/mo_edit.c
@@ -13,7 +13,7 @@
typedef struct t_translation
{
- s32 country_index;
+ bool valid;
char *value;
} translation;
@@ -34,12 +34,18 @@ translation_project *current_project = 0;
scroll_state term_scroll;
scroll_state lang_scroll;
+scroll_state trans_scroll;
button_state btn_new_project;
button_state btn_new_language;
button_state btn_summary;
+button_state btn_set_term_name;
dropdown_state dd_available_countries;
textbox_state tb_filter;
+textbox_state tb_new_term;
+textbox_state tb_translation_list[COUNTRY_CODE_COUNT];
+image *set_img;
+image *add_img;
image *list_img;
image *exclaim_img;
image *delete_img;
@@ -63,6 +69,10 @@ static void load_assets()
_binary____data_imgs_logo_64_png_end, true);
delete_img = assets_load_image(_binary____data_imgs_delete_png_start,
_binary____data_imgs_delete_png_end, false);
+ add_img = assets_load_image(_binary____data_imgs_add_png_start,
+ _binary____data_imgs_add_png_end, false);
+ set_img = assets_load_image(_binary____data_imgs_set_png_start,
+ _binary____data_imgs_set_png_end, false);
font_medium = assets_load_font(_binary____data_fonts_mono_ttf_start,
_binary____data_fonts_mono_ttf_end, 18);
@@ -109,19 +119,104 @@ s32 get_translated_count_for_language(s32 index)
{
term *t = array_at(&current_project->terms, i);
- for (s32 x = 0; x < COUNTRY_CODE_COUNT; x++)
+ translation *tr = &t->translations[index];
+ if (tr->valid && tr->value)
{
- translation *tr = &t->translations[x];
- if (tr->country_index == i)
- {
- count++;
- }
+ count++;
}
}
return count;
}
+bool term_name_is_available(char *name)
+{
+ for (s32 i = 0; i < current_project->terms.length; i++)
+ {
+ term *tr = array_at(&current_project->terms, i);
+
+ if (string_equals(tr->name, name))
+ {
+ return false;
+ }
+ }
+
+ return true;
+}
+
+void add_country_to_project()
+{
+ array_push(&current_project->languages, &dd_available_countries.selected_index);
+
+ for (s32 x = 0; x < current_project->terms.length; x++)
+ {
+ term *t = array_at(&current_project->terms, x);
+
+ translation *tr = &t->translations[dd_available_countries.selected_index];
+ tr->valid = true;
+ }
+}
+
+void set_term_name(s32 index, char *name)
+{
+ term *t = array_at(&current_project->terms, index);
+ string_copyn(t->name, name, MAX_TERM_NAME_LENGTH);
+}
+
+void select_term(s32 index)
+{
+ current_project->selected_term_index = index;
+ term *t = array_at(&current_project->terms, index);
+ ui_set_textbox_text(&tb_new_term, t->name);
+
+ for (s32 i = 0; i < COUNTRY_CODE_COUNT; i++)
+ {
+ textbox_state tb = tb_translation_list[i];
+
+ if (t->translations[i].value)
+ {
+ string_copyn(tb.buffer, t->translations[i].value, MAX_INPUT_LENGTH);
+ }
+ else
+ {
+ string_copyn(tb.buffer, "", MAX_INPUT_LENGTH);
+ }
+ }
+}
+
+s32 add_term_to_project()
+{
+ term t;
+ t.name = mem_alloc(MAX_TERM_NAME_LENGTH);
+
+ s32 count = 0;
+ do
+ {
+ char buffer[MAX_TERM_NAME_LENGTH];
+ sprintf(buffer, "term_%d", count);
+ string_copyn(t.name, buffer, MAX_TERM_NAME_LENGTH);
+ count++;
+ }
+ while(!term_name_is_available(t.name));
+
+ for (s32 x = 0; x < COUNTRY_CODE_COUNT; x++)
+ {
+ translation tr;
+ tr.value = 0;
+ tr.valid = false;
+ t.translations[x] = tr;
+ }
+
+ for (s32 i = 0; i < current_project->languages.length; i++)
+ {
+ s32 index = *(s32*)array_at(&current_project->languages, i);
+ translation *tr = &t.translations[index];
+ tr->valid = true;
+ }
+
+ return array_push(&current_project->terms, &t);
+}
+
void start_new_project()
{
current_project = mem_alloc(sizeof(translation_project));
@@ -134,23 +229,6 @@ void start_new_project()
array_reserve(&current_project->languages, 100);
current_project->languages.reserve_jump = 100;
- for (s32 i = 0; i < 3; i++)
- {
- term t;
- t.name = mem_alloc(10);
- string_copyn(t.name, "meme_1", 10);
-
- for (s32 x = 0; x < COUNTRY_CODE_COUNT; x++)
- {
- translation tr;
- tr.value = 0;
- tr.country_index = -1;
- t.translations[x] = tr;
- }
-
- array_push(&current_project->terms, &t);
- }
-
current_project->selected_term_index = -1;
}
@@ -213,10 +291,16 @@ int main(int argc, char **argv)
dd_available_countries = ui_create_dropdown();
term_scroll = ui_create_scroll(1);
lang_scroll = ui_create_scroll(1);
+ trans_scroll = ui_create_scroll(1);
btn_summary = ui_create_button();
+ btn_set_term_name = ui_create_button();
btn_new_project = ui_create_button();
btn_new_language = ui_create_button();
tb_filter = ui_create_textbox(MAX_INPUT_LENGTH);
+ tb_new_term = ui_create_textbox(MAX_TERM_NAME_LENGTH);
+
+ for (s32 i = 0; i < COUNTRY_CODE_COUNT; i++)
+ tb_translation_list[i] = ui_create_textbox(MAX_INPUT_LENGTH);
// asset worker
thread asset_queue_worker1 = thread_start(assets_queue_worker, NULL);
@@ -299,12 +383,20 @@ int main(int argc, char **argv)
{
ui_block_begin(LAYOUT_HORIZONTAL);
{
- ui_push_button_image(&btn_summary, "", list_img);
+ if (ui_push_button_image(&btn_summary, "", list_img))
+ {
+ current_project->selected_term_index = -1;
+ }
+
// TODO(Aldrik): translate
ui_push_textf_width(font_medium, "Terms", global_ui_context.layout.width-150);
- ui_push_button_image(&btn_summary, "", delete_img);
- ui_push_button_image(&btn_summary, "", delete_img);
+ if (ui_push_button_image(&btn_summary, "", add_img))
+ {
+ select_term(add_term_to_project());
+ }
+
+ //ui_push_button_image(&btn_summary, "", delete_img);
}
ui_block_end();
@@ -312,6 +404,7 @@ int main(int argc, char **argv)
ui_block_begin(LAYOUT_HORIZONTAL);
{
// TODO(Aldrik): translate
+ TEXTBOX_WIDTH = 280;
ui_push_textbox(&tb_filter, "Filter terms..");
}
ui_block_end();
@@ -327,7 +420,20 @@ int main(int argc, char **argv)
ui_push_button_image(&btn_summary, "", delete_img);
//ui_push_image(exclaim_img, 14, 14, 1, rgb(255,255,255));
- ui_push_text_width(t->name, global_ui_context.layout.width-100);
+
+ if (i == current_project->selected_term_index)
+ {
+ ui_push_rect(10, global_ui_context.style.textbox_active_border);
+ }
+ else
+ {
+ ui_push_rect(10, global_ui_context.style.background);
+ }
+
+ if (ui_push_text_width(t->name, global_ui_context.layout.width-100, true))
+ {
+ select_term(i);
+ }
ui_block_end();
}
@@ -350,7 +456,53 @@ int main(int argc, char **argv)
if (current_project && current_project->selected_term_index >= 0)
{
+ bool set_name = keyboard_is_key_pressed(&keyboard, KEY_ENTER) &&
+ tb_new_term.state;
+ ui_block_begin(LAYOUT_HORIZONTAL);
+ {
+ // editor
+ ui_push_textbox(&tb_new_term, "Term name");
+
+ if (set_name)
+ set_term_name(current_project->selected_term_index, tb_new_term.buffer);
+
+ if (ui_push_button_image(&btn_set_term_name, "", set_img))
+ {
+ set_term_name(current_project->selected_term_index, tb_new_term.buffer);
+ }
+ }
+ ui_block_end();
+
+ global_ui_context.layout.offset_x = 310;
+ ui_push_separator();
+
+ term *t = array_at(&current_project->terms,
+ current_project->selected_term_index);
+
+ trans_scroll.height = main_window->height-global_ui_context.layout.offset_y;
+
+ ui_scroll_begin(&trans_scroll);
+ {
+ for (s32 i = 0; i < COUNTRY_CODE_COUNT; i++)
+ {
+ translation *tr = &t->translations[i];
+
+ if (tr->valid)
+ {
+ TEXTBOX_WIDTH = global_ui_context.layout.width - 100;
+
+ ui_push_textbox(&tb_translation_list[i], "");
+ ui_push_image(list_img, TEXTBOX_HEIGHT,TEXTBOX_HEIGHT,1,rgb(255,255,255));
+ ui_push_text_width(global_langues[i].code, 25, false);
+
+ global_ui_context.layout.offset_y += TEXTBOX_HEIGHT + WIDGET_PADDING;
+ global_ui_context.layout.offset_x = 310;
+ }
+
+ }
+ }
+ ui_scroll_end();
}
else if (current_project)
{
@@ -388,10 +540,7 @@ int main(int argc, char **argv)
{
if (!country_has_been_added_to_project(i))
{
- if (ui_push_dropdown_item(0, global_langues[i].fullname, i))
- {
-
- }
+ ui_push_dropdown_item(0, global_langues[i].fullname, i);
}
}
}
@@ -399,8 +548,7 @@ int main(int argc, char **argv)
// TODO(Aldrik): translate
if (ui_push_button(&btn_new_language, "Add"))
{
- array_push(&current_project->languages,&dd_available_countries.selected_index);
-
+ add_country_to_project();
dd_available_countries.selected_index = -1;
}
}
@@ -425,7 +573,7 @@ int main(int argc, char **argv)
}
s32 index = *(s32*)array_at(&current_project->languages, i);
- ui_push_text_width(global_langues[index].fullname, global_ui_context.layout.width-200);
+ ui_push_text_width(global_langues[index].fullname, global_ui_context.layout.width-200, false);
color c = global_ui_context.style.foreground;
global_ui_context.style.foreground = rgb(110,110,110);
@@ -473,21 +621,12 @@ int main(int argc, char **argv)
settings_page_hide_without_save();
// write config file
-#if 0
- settings_config_set_string(&config, "SEARCH_DIRECTORY", textbox_path.buffer);
- settings_config_set_number(&config, "SEARCH_DIRECTORIES", checkbox_recursive.state);
- settings_config_set_string(&config, "SEARCH_TEXT", textbox_search_text.buffer);
- settings_config_set_string(&config, "FILE_FILTER", textbox_file_filter.buffer);
- settings_config_set_number(&config, "MAX_THEAD_COUNT", global_settings_page.max_thread_count);
- settings_config_set_number(&config, "MAX_FILE_SIZE", global_settings_page.max_file_size);
+ //settings_config_set_string(&config, "ACTIVE_PROJECT", textbox_path.buffer);
vec2 win_size = platform_get_window_size(&window);
settings_config_set_number(&config, "WINDOW_WIDTH", win_size.x);
settings_config_set_number(&config, "WINDOW_HEIGHT", win_size.y);
- settings_config_set_number(&config, "STYLE", global_ui_context.style.id);
- settings_config_set_number(&config, "DOUBLE_CLICK_ACTION", global_settings_page.selected_double_click_selection_option);
-
if (global_localization.active_localization != 0)
{
char *current_locale_id = locale_get_id();
@@ -499,7 +638,6 @@ int main(int argc, char **argv)
settings_config_write_to_file(&config, config_path_buffer);
settings_config_destroy(&config);
-#endif
settings_page_destroy();
@@ -517,6 +655,7 @@ int main(int argc, char **argv)
assets_destroy_image(list_img);
assets_destroy_image(logo_small_img);
assets_destroy_image(delete_img);
+ assets_destroy_image(add_img);
assets_destroy_font(font_small);
assets_destroy_font(font_mini);
diff --git a/src/test.txt b/src/test.txt
new file mode 100644
index 0000000..4d6a3b4
--- /dev/null
+++ b/src/test.txt
@@ -0,0 +1 @@
+ECHO is on.
diff --git a/src/ui.c b/src/ui.c
index e18052f..536eef6 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -86,6 +86,11 @@ inline scroll_state ui_create_scroll(s32 scroll)
return state;
}
+void ui_set_textbox_text(textbox_state *textbox, char *text)
+{
+ string_copyn(textbox->buffer, text, textbox->max_len);
+}
+
inline dropdown_state ui_create_dropdown()
{
dropdown_state state;
@@ -169,11 +174,13 @@ static void ui_pop_scissor()
{
if (global_ui_context.layout.scroll->in_scroll)
{
+ s32 w = global_ui_context.layout.width;
+ s32 h = global_ui_context.layout.height;
+ s32 x = global_ui_context.layout.offset_x + global_ui_context.camera->x;
+ s32 y = global_ui_context.layout.offset_y + global_ui_context.camera->y - WIDGET_PADDING;
+
render_set_scissor(global_ui_context.layout.active_window,
- global_ui_context.layout.offset_x,
- global_ui_context.layout.scroll->scroll_start_offset_y - WIDGET_PADDING + 1,
- global_ui_context.layout.width,
- global_ui_context.layout.scroll->height + WIDGET_PADDING - 3);
+ x,y,w,h);
}
else
{
@@ -1049,25 +1056,76 @@ void ui_push_text(char *text)
global_ui_context.layout.offset_y += CHECKBOX_SIZE + WIDGET_PADDING;
}
-void ui_push_text_width(char *text, s32 maxw)
+void ui_push_rect(s32 w, color c)
{
s32 spacing_y = (BLOCK_HEIGHT - CHECKBOX_SIZE)/2;
s32 x = global_ui_context.layout.offset_x + global_ui_context.camera->x;
+ s32 y = global_ui_context.layout.offset_y + global_ui_context.camera->y + ui_get_scroll();
+ s32 total_w = w +
+ WIDGET_PADDING + WIDGET_PADDING;
+ s32 h = BUTTON_HEIGHT;
+
+ if (global_ui_context.layout.block_height < h)
+ global_ui_context.layout.block_height = h;
+
+ {
+ render_rectangle(x+WIDGET_PADDING,y,w,h,c);
+ }
+
+ if (global_ui_context.layout.layout_direction == LAYOUT_HORIZONTAL)
+ global_ui_context.layout.offset_x += total_w;
+ else
+ global_ui_context.layout.offset_y += BUTTON_HEIGHT + WIDGET_PADDING;
+}
+
+bool ui_push_text_width(char *text, s32 maxw, bool active)
+{
+ bool result = false;
+
+ s32 spacing_y = (BLOCK_HEIGHT - CHECKBOX_SIZE)/2;
+ s32 x = global_ui_context.layout.offset_x + global_ui_context.camera->x;
s32 y = global_ui_context.layout.offset_y + global_ui_context.camera->y + ui_get_scroll() - spacing_y;
s32 text_x = x + WIDGET_PADDING;
+ s32 h = BUTTON_HEIGHT;
s32 text_y = y + (BLOCK_HEIGHT/2) - (global_ui_context.font_small->px_h/2) + spacing_y;
s32 total_w = maxw +
WIDGET_PADDING + WIDGET_PADDING;
+ s32 mouse_x = global_ui_context.mouse->x + global_ui_context.camera->x;
+ s32 mouse_y = global_ui_context.mouse->y + global_ui_context.camera->y;
+ s32 virt_top = y;
+ s32 virt_bottom = y + h;
if (global_ui_context.layout.block_height < global_ui_context.font_small->px_h)
global_ui_context.layout.block_height = global_ui_context.font_small->px_h+5;
+ if (active)
+ {
+ bool hovered = false;
+ if (mouse_x >= x && mouse_x < x + total_w && mouse_y >= virt_top && mouse_y < virt_bottom && !global_ui_context.item_hovered)
+ {
+ hovered = true;
+ platform_set_cursor(global_ui_context.layout.active_window, CURSOR_POINTER);
+ if (is_left_clicked(global_ui_context.mouse))
+ {
+ result = true;
+ }
+ }
+
+ if (hovered)
+ {
+ render_rectangle_outline(x-1,y+spacing_y,total_w, h, 1, global_ui_context.style.textbox_active_border);
+ }
+ }
+
render_text_ellipsed(global_ui_context.font_small, text_x, text_y, maxw, text, global_ui_context.style.foreground);
+
if (global_ui_context.layout.layout_direction == LAYOUT_HORIZONTAL)
global_ui_context.layout.offset_x += total_w;
else
- global_ui_context.layout.offset_y += CHECKBOX_SIZE + WIDGET_PADDING;
+ global_ui_context.layout.offset_y += BUTTON_HEIGHT + WIDGET_PADDING;
+
+ return result;
}
bool ui_push_checkbox(checkbox_state *state, char *title)
diff --git a/src/ui.h b/src/ui.h
index b9a1f0d..396f523 100644
--- a/src/ui.h
+++ b/src/ui.h
@@ -14,7 +14,9 @@
#define BUTTON_HORIZONTAL_TEXT_PADDING 15
#define MENU_ITEM_WIDTH 220
#define CHECKBOX_SIZE BLOCK_HEIGHT - 8
-#define TEXTBOX_WIDTH 280
+
+static s32 TEXTBOX_WIDTH = 280;
+
#define TEXTBOX_HEIGHT BLOCK_HEIGHT
#define BUTTON_HEIGHT BLOCK_HEIGHT
#define BUTTON_IMAGE_PADDING 5
@@ -166,6 +168,7 @@ char* name_of_day(s32 day);
char* name_of_month(s32 month);
void ui_set_style(u16 style);
void set_active_textbox(textbox_state *textbox);
+void ui_set_textbox_text(textbox_state *textbox, char *text);
// widget initialization
checkbox_state ui_create_checkbox(bool selected);
@@ -185,11 +188,13 @@ void ui_push_menu_item_separator();
bool ui_push_dropdown(dropdown_state *state, char *title);
bool ui_push_dropdown_item(image *icon, char *title, s32 index);
void ui_push_separator();
+void ui_push_rect(s32 w, color rec);
void ui_push_vertical_dragbar();
void ui_block_begin(layout_direction direction);
void ui_block_end();
void ui_end_menu_bar();
void ui_push_text(char *text);
+bool ui_push_text_width(char *text, s32 maxw, bool active);
void ui_push_textf(font *f, char *text);
void ui_push_textf_width(font *f, char *text, s32 maxw);
bool ui_push_hypertext_link(char *text);
diff --git a/src/windows/platform.c b/src/windows/platform.c
index 2187806..12c9065 100644
--- a/src/windows/platform.c
+++ b/src/windows/platform.c
@@ -285,7 +285,7 @@ void platform_create_config_directory()
char tmp[PATH_MAX];
if(SUCCEEDED(SHGetFolderPathA(0, CSIDL_LOCAL_APPDATA|CSIDL_FLAG_CREATE, NULL, 0, tmp)))
{
- string_appendn(tmp, "/text-search", PATH_MAX);
+ string_appendn(tmp, "/moedit", PATH_MAX);
}
@@ -299,7 +299,7 @@ char* get_config_save_location(char *buffer)
{
if(SUCCEEDED(SHGetFolderPathA(0, CSIDL_LOCAL_APPDATA|CSIDL_FLAG_CREATE, NULL, 0, buffer)))
{
- string_appendn(buffer, "\\text-search\\config.txt", MAX_INPUT_LENGTH);
+ string_appendn(buffer, "\\moedit\\config.txt", MAX_INPUT_LENGTH);
return buffer;
}