From e5d1df9dbcc62d2e789d77846f7e9f4ee5a9a394 Mon Sep 17 00:00:00 2001
From: Robert <robert.trololo@gmail.com>
Date: Tue, 17 Nov 2020 18:56:24 +0100
Subject: [PATCH] Added csv library

---
 .gitmodules        |    3 +
 CMakeLists.txt     |    9 +-
 resources/test.CSV | 1000 ++++++++++++++++++++++++++++++++++++++++++++
 src/main.cpp       |   20 +-
 vendor/csv         |    1 +
 5 files changed, 1025 insertions(+), 8 deletions(-)
 create mode 100644 .gitmodules
 create mode 100644 resources/test.CSV
 create mode 160000 vendor/csv

diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..0b8b119
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "vendor/csv"]
+	path = vendor/csv
+	url = https://github.com/ben-strasser/fast-cpp-csv-parser
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5c7c459..b95c66f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -27,7 +27,8 @@ add_executable(regression
 )
 
 target_include_directories(regression PRIVATE
-	include
+	"include"
+	"vendor/csv"
 	${Qt5_INCLUDE_DIRS}
 )
 
@@ -45,4 +46,8 @@ if(WIN32)
 		COMMAND ${CMAKE_COMMAND} -E copy ${Qt5_DIR}/../../../plugins/platforms/qwindowsd.dll $<TARGET_FILE_DIR:regression>
 		COMMAND ${CMAKE_COMMAND} -E copy ${Qt5_DIR}/../../../plugins/platforms/qwindows.dll $<TARGET_FILE_DIR:regression>
 	)
-endif()
\ No newline at end of file
+endif()
+
+add_custom_command(TARGET regression POST_BUILD
+	COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/resources $<TARGET_FILE_DIR:regression>/resources
+)
\ No newline at end of file
diff --git a/resources/test.CSV b/resources/test.CSV
new file mode 100644
index 0000000..a09beb0
--- /dev/null
+++ b/resources/test.CSV
@@ -0,0 +1,1000 @@
+1,1.424893689
+2,1.714582064
+3,3.098188121
+4,4.01808195
+5,4.773687955
+6,5.766248545
+7,6.847919469
+8,8.107010317
+9,9.072928207
+10,10.25271527
+11,11.1777791
+12,12.06321375
+13,13.49304489
+14,13.65084045
+15,15.05539362
+16,16.29717158
+17,17.41359945
+18,17.94662798
+19,19.00970236
+20,19.59233903
+21,21.39278941
+22,22.43257645
+23,22.51637809
+24,23.74502151
+25,25.49078214
+26,26.35505957
+27,26.74029942
+28,28.37529226
+29,28.55262826
+30,30.41518547
+31,30.63357856
+32,31.81146508
+33,33.26896674
+34,34.17952832
+35,35.04227839
+36,35.58517362
+37,37.43144937
+38,38.31681108
+39,39.0526111
+40,39.69869865
+41,41.43172175
+42,41.8109636
+43,42.80331028
+44,44.42758293
+45,44.74409386
+46,45.68901536
+47,46.5959412
+48,47.84374737
+49,48.98835809
+50,49.91280604
+51,51.19762452
+52,52.41477231
+53,53.45775967
+54,54.41898666
+55,54.96967578
+56,55.77572474
+57,56.50755638
+58,58.23572343
+59,59.46307717
+60,60.43042187
+61,61.37701489
+62,61.5441499
+63,62.91576049
+64,63.74568274
+65,65.05222987
+66,66.45603042
+67,66.57473311
+68,67.7053385
+69,68.86630357
+70,70.36809777
+71,71.17228102
+72,71.51211397
+73,72.81236034
+74,74.06220409
+75,75.08898649
+76,76.14240282
+77,76.66084624
+78,78.4432675
+79,78.94179182
+80,79.53191341
+81,80.84054972
+82,81.9165712
+83,83.35252835
+84,83.56291377
+85,84.63900984
+86,86.42531603
+87,86.73877503
+88,87.95277947
+89,88.78584706
+90,90.05294541
+91,91.03228333
+92,92.47083101
+93,92.73127272
+94,93.9306127
+95,95.11811995
+96,95.59842593
+97,97.30404568
+98,98.02123167
+99,99.26933685
+100,100.3178178
+101,100.9272802
+102,102.3291777
+103,102.9520741
+104,103.6831142
+105,105.3538806
+106,105.6028092
+107,107.0363625
+108,108.1709852
+109,109.1598812
+110,110.2334731
+111,110.6947589
+112,112.3685801
+113,113.0437497
+114,113.6203858
+115,114.6329195
+116,116.4675641
+117,117.0741163
+118,117.6109759
+119,119.2938614
+120,119.7789945
+121,120.6820627
+122,121.9950859
+123,122.7817632
+124,123.9692122
+125,124.6154879
+126,126.0287685
+127,127.4611061
+128,128.3925375
+129,128.5280718
+130,129.6616388
+131,131.096684
+132,132.0029232
+133,133.2306455
+134,134.4398354
+135,135.1222314
+136,135.6266777
+137,136.8200087
+138,138.3510593
+139,139.0608258
+140,140.2948513
+141,140.9055389
+142,142.0197642
+143,143.2003048
+144,144.4063919
+145,144.9902412
+146,145.9742419
+147,146.9817627
+148,147.5768338
+149,148.673969
+150,150.2800277
+151,151.0771806
+152,151.823548
+153,152.956486
+154,154.1772083
+155,154.7298744
+156,156.4344941
+157,157.280606
+158,157.9302515
+159,158.8887139
+160,160.1064555
+161,160.641608
+162,161.7776343
+163,162.5874323
+164,164.217657
+165,165.0642881
+166,165.5609734
+167,166.7133625
+168,167.9097133
+169,169.4915093
+170,169.7417189
+171,171.196302
+172,171.5437157
+173,173.002799
+174,174.339354
+175,175.4803184
+176,175.5072346
+177,176.7954838
+178,177.7791374
+179,178.8626142
+180,180.4826457
+181,181.1985534
+182,182.3728558
+183,183.467201
+184,184.065971
+185,185.1716165
+186,186.1389192
+187,187.4833603
+188,188.4724167
+189,188.506162
+190,189.7959905
+191,190.650434
+192,192.4583706
+193,192.8115037
+194,194.2338745
+195,195.4124478
+196,196.3324059
+197,196.7006558
+198,198.2180694
+199,198.8868792
+200,200.4617611
+201,201.1030476
+202,202.217401
+203,203.3411484
+204,203.818327
+205,204.5828059
+206,205.5850329
+207,206.7264368
+208,208.2744922
+209,208.8732459
+210,209.9756512
+211,211.1769174
+212,212.3450683
+213,213.2018934
+214,213.879063
+215,215.4040901
+216,215.616116
+217,216.5091956
+218,217.6352852
+219,218.9645931
+220,220.0685004
+221,221.3989614
+222,221.855876
+223,222.9117879
+224,224.270139
+225,225.1650154
+226,226.2602583
+227,226.609154
+228,227.8915215
+229,229.1882208
+230,229.6604162
+231,231.3230181
+232,232.3242841
+233,232.6284743
+234,233.8834123
+235,234.6440883
+236,236.463165
+237,236.5074817
+238,237.8904138
+239,238.7170338
+240,240.4368304
+241,241.4915492
+242,242.4089903
+243,243.119535
+244,243.558774
+245,245.3152253
+246,245.7863488
+247,246.9522155
+248,247.8892183
+249,248.9580405
+250,249.95889
+251,251.242027
+252,251.6057859
+253,253.4435213
+254,253.8230671
+255,255.2235162
+256,256.3370504
+257,256.885343
+258,257.8298089
+259,258.6532495
+260,259.5810237
+261,261.1179053
+262,261.6883176
+263,263.0849347
+264,264.0688444
+265,265.0381385
+266,266.2022998
+267,266.5759724
+268,267.6394132
+269,269.1388851
+270,269.9858175
+271,270.9389187
+272,271.8747531
+273,272.7659471
+274,274.1536675
+275,275.2235884
+276,275.8751655
+277,277.2431755
+278,278.4146701
+279,279.4638195
+280,279.5231153
+281,281.1580583
+282,281.5014977
+283,283.4303717
+284,283.7839756
+285,285.3272254
+286,285.5869468
+287,286.563102
+288,287.7963669
+289,288.9858201
+290,290.4146018
+291,290.8742176
+292,291.7371358
+293,292.6759625
+294,294.0967211
+295,295.2083213
+296,295.981046
+297,297.0316901
+298,298.2537605
+299,299.130148
+300,299.5281207
+301,301.3969522
+302,302.2871454
+303,303.2812129
+304,304.302351
+305,305.4650476
+306,306.1350641
+307,306.8362479
+308,308.0725875
+309,309.288948
+310,310.4924584
+311,310.6359514
+312,311.5723263
+313,313.1758092
+314,313.6439734
+315,315.2220458
+316,316.4096823
+317,317.4049827
+318,317.526206
+319,318.9676472
+320,320.3553309
+321,320.5229991
+322,321.9483135
+323,323.0464921
+324,324.2676376
+325,324.8593647
+326,326.0178409
+327,327.4923172
+328,327.9031145
+329,328.897516
+330,329.7217563
+331,331.4425327
+332,332.3636484
+333,332.5243463
+334,333.763877
+335,334.7170664
+336,336.2980191
+337,337.2198254
+338,338.1637975
+339,338.8097195
+340,339.7464439
+341,340.7918469
+342,341.5264036
+343,342.8837587
+344,343.645456
+345,345.3749458
+346,346.3341429
+347,346.8990245
+348,348.4283487
+349,349.368151
+350,349.8962917
+351,351.12865
+352,351.5021517
+353,352.7115284
+354,353.8214857
+355,355.0542341
+356,356.2634692
+357,357.2963856
+358,358.3069961
+359,359.4400851
+360,360.1787247
+361,360.8338625
+362,362.0208086
+363,363.2132953
+364,364.1385104
+365,365.2208823
+366,365.8329133
+367,367.3783696
+368,367.7144447
+369,368.7561958
+370,369.7889618
+371,370.7909086
+372,371.6438049
+373,372.7727777
+374,373.9001672
+375,374.9781059
+376,376.3123302
+377,376.6910061
+378,377.5317971
+379,379.1586665
+380,379.9726456
+381,381.1111026
+382,382.2287146
+383,382.6648176
+384,384.0686799
+385,384.9639458
+386,385.8022654
+387,387.1674435
+388,388.105521
+389,389.4929804
+390,390.0879005
+391,391.3188849
+392,391.6088869
+393,393.0566863
+394,394.4075742
+395,394.854006
+396,395.5048861
+397,396.9436552
+398,397.5014086
+399,398.673047
+400,399.563576
+401,400.9025709
+402,402.2531383
+403,402.9543685
+404,403.6864314
+405,404.7696429
+406,406.3898227
+407,406.5442034
+408,407.5604174
+409,409.4181614
+410,409.6690114
+411,410.6818237
+412,412.3294671
+413,413.306325
+414,413.5005304
+415,414.843705
+416,415.5028704
+417,417.0248944
+418,418.2541543
+419,418.5161735
+420,420.3239955
+421,420.883632
+422,422.199535
+423,422.705539
+424,423.9008917
+425,425.2211759
+426,426.0896226
+427,427.1689184
+428,428.0543779
+429,428.5135657
+430,430.0134216
+431,431.2748783
+432,432.4750396
+433,433.1624567
+434,433.890586
+435,435.0173575
+436,436.0471725
+437,436.863719
+438,438.2224765
+439,438.9869554
+440,439.6380551
+441,440.874295
+442,441.7072787
+443,443.3219204
+444,443.6744911
+445,444.8264814
+446,446.3199787
+447,446.6783911
+448,448.376674
+449,448.8216649
+450,450.1407799
+451,450.8526506
+452,451.7470011
+453,453.3994892
+454,454.3816349
+455,454.8519587
+456,456.078088
+457,457.2846598
+458,458.1421801
+459,459.3223762
+460,460.2292848
+461,461.4564853
+462,461.8960047
+463,463.2812518
+464,464.1608869
+465,465.0328297
+466,466.3497796
+467,466.7370096
+468,468.145572
+469,468.5476505
+470,470.4833173
+471,470.9327499
+472,471.5718449
+473,473.275162
+474,473.739568
+475,474.7832819
+476,476.2219917
+477,476.8465025
+478,478.0448402
+479,478.8778799
+480,479.5122771
+481,480.8216295
+482,482.3597925
+483,483.0787868
+484,483.8019449
+485,484.6213621
+486,486.3362324
+487,487.3366306
+488,487.6351847
+489,488.9904434
+490,490.0187857
+491,491.3110848
+492,492.2112039
+493,492.7212195
+494,493.713288
+495,495.0297769
+496,495.6594249
+497,496.9648433
+498,498.0792066
+499,498.6437318
+500,500.3676342
+501,501.1620882
+502,501.6719757
+503,503.0583693
+504,503.8802698
+505,504.6148347
+506,505.5715358
+507,506.6217499
+508,507.7347413
+509,509.280857
+510,510.3448534
+511,510.6501674
+512,511.5733762
+513,513.2499595
+514,514.0996578
+515,514.8660842
+516,516.4118116
+517,517.2979731
+518,517.5753171
+519,518.6907305
+520,520.3282782
+521,521.12141
+522,522.0639256
+523,522.6883498
+524,524.0707563
+525,524.9932394
+526,526.4353437
+527,526.8595409
+528,527.754392
+529,528.6242671
+530,529.9390728
+531,531.4555507
+532,531.9132265
+533,532.5177217
+534,534.0202713
+535,535.0729055
+536,536.0244536
+537,537.4236911
+538,538.2595641
+539,539.1965277
+540,539.515028
+541,540.8641415
+542,541.6933253
+543,543.2779394
+544,543.6382434
+545,544.9723627
+546,546.1032024
+547,547.0549371
+548,547.7566242
+549,548.9769775
+550,549.5318251
+551,550.9619011
+552,551.9753551
+553,552.684761
+554,554.1636286
+555,555.0736356
+556,555.6346578
+557,556.9588189
+558,557.5604138
+559,559.0264629
+560,560.0790435
+561,560.8216299
+562,561.7556298
+563,562.9617786
+564,563.9226296
+565,565.04116
+566,566.0427252
+567,566.856607
+568,568.4050781
+569,568.6479292
+570,569.6427309
+571,571.1643275
+572,572.0566685
+573,572.6421414
+574,573.5981848
+575,575.0687259
+576,576.2651954
+577,576.6090933
+578,577.9829141
+579,579.1910918
+580,580.1211722
+581,581.2801435
+582,582.3890575
+583,583.0595745
+584,583.8369497
+585,585.2784677
+586,586.0288194
+587,586.985893
+588,587.8132424
+589,589.4677234
+590,589.5134095
+591,590.57693
+592,591.6020266
+593,593.2301269
+594,593.6613073
+595,594.807676
+596,595.5854089
+597,596.8248029
+598,598.4605275
+599,598.935202
+600,599.9708598
+601,600.9024005
+602,601.8763663
+603,602.534477
+604,603.8782848
+605,604.8457631
+606,606.2945892
+607,606.6211559
+608,607.8046579
+609,609.1933506
+610,609.9986798
+611,611.0006515
+612,611.6299812
+613,612.6026179
+614,613.7451996
+615,615.4631645
+616,615.9315592
+617,617.0938266
+618,618.187466
+619,619.1962697
+620,619.6176931
+621,621.2187492
+622,622.230173
+623,622.909579
+624,623.8713854
+625,625.4356512
+626,626.0835286
+627,626.66163
+628,628.3660696
+629,628.9765369
+630,630.3578786
+631,630.7695888
+632,631.7256937
+633,633.1758452
+634,634.1399442
+635,635.250316
+636,635.8976284
+637,637.4726061
+638,637.834158
+639,639.444399
+640,639.6842825
+641,641.4412935
+642,642.2733955
+643,642.5763384
+644,643.911319
+645,644.8172549
+646,646.0664712
+647,646.8195603
+648,647.7429921
+649,648.7897632
+650,650.2835861
+651,651.3978392
+652,652.0023434
+653,653.3405648
+654,654.415381
+655,655.1554493
+656,656.2756858
+657,657.3858447
+658,657.7566334
+659,658.7116241
+660,660.2185233
+661,661.4681483
+662,662.074471
+663,663.3196614
+664,663.7350308
+665,664.9096754
+666,666.2784603
+667,666.9865363
+668,667.5240413
+669,669.2737786
+670,670.1229635
+671,671.2903073
+672,671.6110606
+673,672.9146574
+674,673.8973001
+675,675.1559339
+676,676.4332748
+677,677.4347046
+678,677.6409533
+679,679.407935
+680,679.8365047
+681,680.9654493
+682,682.2820883
+683,682.8825516
+684,683.8662301
+685,685.1833969
+686,685.8170954
+687,687.156485
+688,687.772369
+689,688.5795978
+690,689.8464044
+691,690.9868514
+692,692.4407031
+693,693.1275471
+694,693.6607073
+695,695.2659881
+696,695.9345056
+697,697.3281372
+698,698.042578
+699,698.7650445
+700,700.0598086
+701,701.4912905
+702,701.7151118
+703,702.9763394
+704,703.7624466
+705,705.3643391
+706,705.6920873
+707,706.7437168
+708,707.5927733
+709,708.7471713
+710,710.3155824
+711,710.9472955
+712,712.0120071
+713,712.8888789
+714,713.7076416
+715,715.2050853
+716,715.570917
+717,717.2639152
+718,717.7844991
+719,719.0808029
+720,719.7733352
+721,720.8570609
+722,721.9109917
+723,723.4211953
+724,724.3892992
+725,725.2766171
+726,725.6347741
+727,726.8201304
+728,727.9900639
+729,729.1474061
+730,730.2142868
+731,730.8051761
+732,731.8632974
+733,732.6661873
+734,734.1169748
+735,735.1667156
+736,735.9495547
+737,736.7177217
+738,737.6592682
+739,738.926626
+740,739.5438486
+741,740.5270195
+742,741.8890893
+743,742.9901949
+744,744.0039868
+745,744.9070882
+746,746.178649
+747,747.2897861
+748,747.730132
+749,749.4430549
+750,749.7110596
+751,750.6298325
+752,751.9012168
+753,753.2464301
+754,753.9874582
+755,755.1789048
+756,756.028124
+757,757.4464611
+758,758.3032137
+759,759.012065
+760,760.0704768
+761,760.8661157
+762,761.847611
+763,763.1625561
+764,764.248864
+765,764.6004427
+766,766.0571762
+767,766.9340701
+768,768.0900516
+769,769.4311408
+770,770.2110784
+771,771.1089307
+772,772.0240858
+773,772.6134164
+774,774.0219857
+775,774.9919476
+776,775.7238278
+777,776.6904944
+778,777.8758328
+779,778.573372
+780,779.7487799
+781,780.7953114
+782,781.5327525
+783,782.7731636
+784,784.1921055
+785,785.2585
+786,785.9161074
+787,787.446845
+788,787.6136111
+789,789.2760898
+790,789.8656031
+791,790.9397761
+792,792.257375
+793,792.894946
+794,794.1620914
+795,794.8387701
+796,796.0583326
+797,797.4550353
+798,797.7581301
+799,798.8897846
+800,799.651229
+801,801.420148
+802,802.3294224
+803,802.786945
+804,803.9057583
+805,805.4032517
+806,805.7398374
+807,807.4556527
+808,808.2410956
+809,809.2639452
+810,810.3883663
+811,810.5051715
+812,812.0373317
+813,813.0438237
+814,813.575691
+815,815.2070352
+816,815.6459714
+817,817.2632638
+818,818.1204751
+819,818.7327185
+820,819.5971313
+821,820.9780271
+822,822.4306172
+823,822.693273
+824,824.1924542
+825,824.8995111
+826,825.7987994
+827,827.1171691
+828,828.347446
+829,829.0494294
+830,829.7916159
+831,830.5517385
+832,831.5380098
+833,833.2289735
+834,833.5974106
+835,835.2046649
+836,836.1466026
+837,837.4409527
+838,838.4088608
+839,839.2974042
+840,839.7783306
+841,840.5254426
+842,842.1196248
+843,842.576932
+844,843.7964053
+845,845.4293819
+846,846.4930379
+847,846.5728456
+848,847.833562
+849,849.0561502
+850,850.1284872
+851,851.3396489
+852,852.3101088
+853,853.2460362
+854,853.6716346
+855,854.6828618
+856,855.7738151
+857,857.4454325
+858,858.3547227
+859,858.5694584
+860,860.4487816
+861,860.9755878
+862,861.871898
+863,862.8173757
+864,863.6134025
+865,865.4582026
+866,865.6325231
+867,867.3439881
+868,867.8638338
+869,869.013043
+870,869.5572049
+871,870.7624465
+872,871.5648726
+873,873.0768354
+874,874.1189963
+875,875.3278752
+876,875.8818845
+877,876.501674
+878,877.5314585
+879,879.2660986
+880,880.3483694
+881,881.4821724
+882,882.2643099
+883,883.3207932
+884,884.2511176
+885,884.948581
+886,886.0705234
+887,887.438334
+888,887.8877832
+889,888.808529
+890,889.8511011
+891,890.5016356
+892,891.9248522
+893,892.6325727
+894,893.6940612
+895,894.9386929
+896,896.4460937
+897,896.6332365
+898,898.038244
+899,898.7638199
+900,900.1951687
+901,901.0740633
+902,902.4460532
+903,903.0540259
+904,903.8757026
+905,905.3825425
+906,905.5231256
+907,906.5858398
+908,908.1965337
+909,909.4530367
+910,910.3451124
+911,911.15276
+912,912.4099892
+913,913.2032665
+914,913.844154
+915,914.9076823
+916,915.5876741
+917,916.785217
+918,918.3228441
+919,919.4862593
+920,920.3207455
+921,921.3847388
+922,922.279593
+923,922.7684438
+924,924.235109
+925,925.1976299
+926,926.1608133
+927,927.2895234
+928,927.8362392
+929,929.4536504
+930,929.7237581
+931,931.1806531
+932,931.7793559
+933,932.9326462
+934,933.9148096
+935,935.4230334
+936,935.7212186
+937,936.9152442
+938,937.9855046
+939,938.6561321
+940,940.0839876
+941,940.5309786
+942,941.6024417
+943,943.3769325
+944,943.93704
+945,945.256972
+946,946.21004
+947,947.1607056
+948,948.4707211
+949,948.9735526
+950,949.6727051
+951,951.0014758
+952,951.912087
+953,952.9538524
+954,953.5994809
+955,954.7391695
+956,956.2749789
+957,957.0240396
+958,957.9294835
+959,958.6064946
+960,960.2574349
+961,961.1983073
+962,961.9712537
+963,963.1767946
+964,963.6496008
+965,965.2924466
+966,966.2683977
+967,967.4035863
+968,967.5790818
+969,968.575414
+970,969.9862799
+971,970.5581476
+972,972.132345
+973,973.3793517
+974,974.228483
+975,975.3686221
+976,975.9347181
+977,977.4283334
+978,978.0356768
+979,979.2934278
+980,980.3256824
+981,980.9459264
+982,981.7994838
+983,982.7231704
+984,984.0632084
+985,984.8701985
+986,986.2092547
+987,986.801731
+988,988.052229
+989,989.0216556
+990,990.3525053
+991,990.5529764
+992,991.8892236
+993,992.5966988
+994,993.6300765
+995,995.0538163
+996,995.7853566
+997,997.4963556
+998,997.8979154
+999,999.414723
+1000,999.7024526
diff --git a/src/main.cpp b/src/main.cpp
index 9cead1e..2503239 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1,19 +1,27 @@
+#include <iostream>
+
 #include <qmessagebox.h>
 #include <qapplication.h>
 #include "MainWindow.hpp"
 
+#include <csv.h>
+
+void DisplayQMessageBox(const QString& description)
+{
+	QMessageBox msgBox;
+	msgBox.setWindowTitle("Error");
+	msgBox.setText(description);
+	msgBox.setIcon(QMessageBox::Icon::Critical);
+	msgBox.exec();
+}
+
 int main(int argc, char** argv)
 {
 	QApplication app(argc, argv);
 
 	if (argc < 2)
 	{
-		QMessageBox no_args_error_box;
-		no_args_error_box.setWindowTitle("Error");
-		no_args_error_box.setText("Too few arguments. Need at least one CSV file.");
-		no_args_error_box.setIcon(QMessageBox::Icon::Critical);
-		no_args_error_box.exec();
-
+		DisplayQMessageBox("Too few arguments. Need at least one CSV file.");
 		return 1;
 	}
 
diff --git a/vendor/csv b/vendor/csv
new file mode 160000
index 0000000..1165be5
--- /dev/null
+++ b/vendor/csv
@@ -0,0 +1 @@
+Subproject commit 1165be530d19ed730228dd122f2df0896be8f64e